Pages:
Author

Topic: Aricie: Announcing a new trading bots platform (Read 18055 times)

jr. member
Activity: 35
Merit: 3
October 24, 2017, 12:40:43 PM
#93
Hi,

You can get the source code, which comes together with a light version of the DotNetNuke module. I suppose the current version works only with an older version of DNN, I'll try to make a new release ASAP.

Also, to be honest, I'd rather change the algorithm if I were you.

The market making strategy wasn't so efficient over the past year, as many of those here who gave a try have realized .
We basically provided a lot of liquidity that went mainly into MtGox fees, though we've probably been a pain for them too ;-)
As I mentioned, I'm no financial expert and I didn't find the sweat spot with my idea. I suppose overall it was still a good thing for the community though, and I'm thrived to see that there are only winners anyway, considering the amazing rally we've had. I think a good strategy of this kind would more carefully match the damped sines of each return, whereas the current bots tend to catch too late on the initial return, and lose their gains on the following moves.   

Anyway, I tried to make it so that you guys can replace the trading code as easily as I could: basically there's just a single c# class with a single contextful method to override, and your custom properties will turn automagically into a collection of control tabs with a couple additional attributes. I had good hope that some of you would join the effort, and I'm still hopeful somehow, though DotNetNuke didn't get much interest here (which I'm sadly used to though, don't mention it in the pirate party ^^).

I recently tried to code ambitious extensions, but I was diverted to other priorities:

  • Simulations: that part is finished and works well, I also got to speed up the whole thing by several orders of magnitude by skipping bot runs when the price does not move according to certain thresholds. You could run parametrized queued series in decent time.
     I did not commit anything yet though
  • Commercial version: I got some parts done for a payment system outside of trading account (essentially to  request no additional API privileges). You enter a instawallet url and a bot with a sequence of simple http requests, quite similar to the trading ones, will harvest the corresponding account when there's no credit left, in order to refill an local counter. Ideally I'd take a tiny part on the volume and another one the benefit. User rankings could be a great tool too and I would hope to see an additional system with inter-user services using other instawallet bots.
  • Open Strategies: that was probably the most ambitious part. I was initially quite happy with the code expression text box which the current configuration provide (4th tab), but that did not catch too much attention either. The dynamic compilation underneath is quite powerful I reckon,and you could think of using many similar textboxes easily , it's just that the current overall strategy is not so convenient. In the next version, you 'd get to compute custom boolean code expressions and then choose amongst a series of distinct independent strategy types for the triggers, with simple buy/sell strategy kinds available, which I suppose everyone would like to see. Most of this is also done.
    That is also where I would love to see community efforts coming, and we'd be happy to host contributer strategies or whole portals. It's just that the right skills are elsewhere in the community right now, and we're quite busy with making ends differently.
Anyway, It's been a long time now, but all of this still holds, and again to be honest, those days, it wouldn't be a luxury if we can get a little push from here.

Regards,

Jesse

Is the source code available anywhere yet? Did you give up on that project?
newbie
Activity: 58
Merit: 0
Hi,

You can get the source code, which comes together with a light version of the DotNetNuke module. I suppose the current version works only with an older version of DNN, I'll try to make a new release ASAP.

Also, to be honest, I'd rather change the algorithm if I were you.

The market making strategy wasn't so efficient over the past year, as many of those here who gave a try have realized .
We basically provided a lot of liquidity that went mainly into MtGox fees, though we've probably been a pain for them too ;-)
As I mentioned, I'm no financial expert and I didn't find the sweat spot with my idea. I suppose overall it was still a good thing for the community though, and I'm thrived to see that there are only winners anyway, considering the amazing rally we've had. I think a good strategy of this kind would more carefully match the damped sines of each return, whereas the current bots tend to catch too late on the initial return, and lose their gains on the following moves.   

Anyway, I tried to make it so that you guys can replace the trading code as easily as I could: basically there's just a single c# class with a single contextful method to override, and your custom properties will turn automagically into a collection of control tabs with a couple additional attributes. I had good hope that some of you would join the effort, and I'm still hopeful somehow, though DotNetNuke didn't get much interest here (which I'm sadly used to though, don't mention it in the pirate party ^^).

I recently tried to code ambitious extensions, but I was diverted to other priorities:

  • Simulations: that part is finished and works well, I also got to speed up the whole thing by several orders of magnitude by skipping bot runs when the price does not move according to certain thresholds. You could run parametrized queued series in decent time.
     I did not commit anything yet though
  • Commercial version: I got some parts done for a payment system outside of trading account (essentially to  request no additional API privileges). You enter a instawallet url and a bot with a sequence of simple http requests, quite similar to the trading ones, will harvest the corresponding account when there's no credit left, in order to refill an local counter. Ideally I'd take a tiny part on the volume and another one the benefit. User rankings could be a great tool too and I would hope to see an additional system with inter-user services using other instawallet bots.
  • Open Strategies: that was probably the most ambitious part. I was initially quite happy with the code expression text box which the current configuration provide (4th tab), but that did not catch too much attention either. The dynamic compilation underneath is quite powerful I reckon,and you could think of using many similar textboxes easily , it's just that the current overall strategy is not so convenient. In the next version, you 'd get to compute custom boolean code expressions and then choose amongst a series of distinct independent strategy types for the triggers, with simple buy/sell strategy kinds available, which I suppose everyone would like to see. Most of this is also done.
    That is also where I would love to see community efforts coming, and we'd be happy to host contributer strategies or whole portals. It's just that the right skills are elsewhere in the community right now, and we're quite busy with making ends differently.
Anyway, It's been a long time now, but all of this still holds, and again to be honest, those days, it wouldn't be a luxury if we can get a little push from here.

Regards,

Jesse
newbie
Activity: 25
Merit: 0
So sorry to hear that Jesse. Is there any way we can get our data and run it ourselves?

scarecrowmagick

newbie
Activity: 58
Merit: 0
Hi all,

I had to stop our bot platform today because of technical issues, and it won't be restarted until I can find some time to work on the next upgrade.
Thank you for your understanding,

Jesse
newbie
Activity: 58
Merit: 0
Welcome back, massive kudos for the PP election, and drop by our office if you start looking for Bitcoin-related professional opportunities Cheesy
Thanks davout, kudos too for the Paymium adventure.
As soon as I get my head above water, I'll jump on my longboard and ride across Paris to give you a visit.
legendary
Activity: 1372
Merit: 1007
1davout
Hi guys,

I'm very sorry I got idle on that project for quite some time now, though I had nearly finished an improved version with on demand simulations based on the bitcoincharts feeds, and multi-purpose strategies.

Things got a bit rough here, not sure if our company is gonna make it, and on top of that I was elected on the board of the French Pirate Party, which is a time killer. I don't forget you though, and I hope I'll be able to finalize that release in a couple of weeks.

As for the small orders, they are directly related to the highest orders on the same side, which in turn are related to your available resources on that side. I tried to explain how you can tweak the parameters earlier in this thread. Hopefully you can make something of it.

Regards,

Jesse
Welcome back, massive kudos for the PP election, and drop by our office if you start looking for Bitcoin-related professional opportunities Cheesy
newbie
Activity: 58
Merit: 0
Hi guys,

I'm very sorry I got idle on that project for quite some time now, though I had nearly finished an improved version with on demand simulations based on the bitcoincharts feeds, and multi-purpose strategies.

Things got a bit rough here, not sure if our company is gonna make it, and on top of that I was elected on the board of the French Pirate Party, which is a time killer. I don't forget you though, and I hope I'll be able to finalize that release in a couple of weeks.

As for the small orders, they are directly related to the highest orders on the same side, which in turn are related to your available resources on that side. I tried to explain how you can tweak the parameters earlier in this thread. Hopefully you can make something of it.

Regards,

Jesse
hero member
Activity: 514
Merit: 500


It can access my account on MtGox and perform transactions, but these are always very small.
how did it do the last day?
member
Activity: 69
Merit: 10
a big question mark
Hi Jesse,

I am using your MtGox bot on https://dnnbitcoin.aricie.com/.

It can access my account on MtGox and perform transactions, but these are always very small.
Here is a typical example:

*******
Ask(s) (Sell)

        Order Filled at: Wed 23 Jan 2013 10:14:49 AM GMT
        Amount: 0.05428000 BTC
        Price: @$17.15474
        Total: $0.93116
**********

I've looked at other users' bot configurations, especially the ones with top earnings and I do not detect the differences vs. my configuration (which is 100% default, by the way).

Thanks in advance for your help!
BR
newbie
Activity: 58
Merit: 0
Hi,

sorry for the late reply.
I'm a bit at lost with your bot.
Apart from yours, all bots enabled seem to work ok.
Maybe you could install the version locally to generate logs and get more information.

In the mean time, I applied a few bug fixes and I have started working on a commercial version of the platform.

The trading strategies will be more flexible with conditions and various strategy types available.
Simulations will be available against historic data.

Cheers,

Jesse
legendary
Activity: 1372
Merit: 1003
In using the bot over the last month for the first time the bot has made -

6.088% earnings per period, $0.27942 total earnings, 6.088% total earnings,  -0.17068% total earnings fixed price, -3.386% total earnings fixed price $.

Also it looks like it hasn't made a trade in nearly four weeks.  I understand the market has been very steady recently but is this normal or is it because I'm using CryptoXchange.  If so would it be better to use MtGox as the exchange or do the settings need changing?

Hi,

your earnings depend quite a bit of your original balance. If you entered with btc mainly and the market moved up mainly, then the bot could be outperformed by just holding, as overall you may have sold more than you bought.
If the price falls again then your bot will start making a earning. Now this is if your balance is properly balanced while the price move across your trading band, which might require manual tweaks to the outer bounds during particular move sequences or narrow bands, and I see quite a bit of variance in the MtGox bots depending on the time when they started and their original conditions. Generally it is quite safe to keep a balanced hand of btcs and $ and outer bounds far apart from the current ticker. The bot will aim naturally for this position equilibrium, but the pace at which the bot fits the trading band could be arguably improved to prevent certain out of bounds oscillations, just as frequency analysis could probably help too. Any help welcome there.

Now, I'm not sure about Crypto X Change.
My bot (JSB) had strange orders executed at some point (see the spike on April 6th) but it seems ok overall and I had orders executed during the last rise. What does your history say ?


Cheers,

Jesse

I just started out to try the bot just over a month ago with 1BTC to test it.  It sold about 0.2BTC and is now also holding a bit of USD.  Just checked on CrytoXchange and there is no open orders but the bot is running?

My bot hasn't made a trade in nearly seven weeks but its being doing regular runs.  I've just been using the default settings although have just changed the bots   Reserve:  Ask Reserve(%) to 30% from to 40% and Profit Margin:  Min Order Margin(%) to 0.3 from 0.6 .  Will this help get the bot trading?
legendary
Activity: 1372
Merit: 1003
In using the bot over the last month for the first time the bot has made -

6.088% earnings per period, $0.27942 total earnings, 6.088% total earnings,  -0.17068% total earnings fixed price, -3.386% total earnings fixed price $.

Also it looks like it hasn't made a trade in nearly four weeks.  I understand the market has been very steady recently but is this normal or is it because I'm using CryptoXchange.  If so would it be better to use MtGox as the exchange or do the settings need changing?

Hi,

your earnings depend quite a bit of your original balance. If you entered with btc mainly and the market moved up mainly, then the bot could be outperformed by just holding, as overall you may have sold more than you bought.
If the price falls again then your bot will start making a earning. Now this is if your balance is properly balanced while the price move across your trading band, which might require manual tweaks to the outer bounds during particular move sequences or narrow bands, and I see quite a bit of variance in the MtGox bots depending on the time when they started and their original conditions. Generally it is quite safe to keep a balanced hand of btcs and $ and outer bounds far apart from the current ticker. The bot will aim naturally for this position equilibrium, but the pace at which the bot fits the trading band could be arguably improved to prevent certain out of bounds oscillations, just as frequency analysis could probably help too. Any help welcome there.

Now, I'm not sure about Crypto X Change.
My bot (JSB) had strange orders executed at some point (see the spike on April 6th) but it seems ok overall and I had orders executed during the last rise. What does your history say ?


Cheers,

Jesse

I just started out to try the bot just over a month ago with 1BTC to test it.  It sold about 0.2BTC and is now also holding a bit of USD.  Just checked on CrytoXchange and there is no open orders but the bot is running?
newbie
Activity: 58
Merit: 0
In using the bot over the last month for the first time the bot has made -

6.088% earnings per period, $0.27942 total earnings, 6.088% total earnings,  -0.17068% total earnings fixed price, -3.386% total earnings fixed price $.

Also it looks like it hasn't made a trade in nearly four weeks.  I understand the market has been very steady recently but is this normal or is it because I'm using CryptoXchange.  If so would it be better to use MtGox as the exchange or do the settings need changing?

Hi,

your earnings depend quite a bit of your original balance. If you entered with btc mainly and the market moved up mainly, then the bot could be outperformed by just holding, as overall you may have sold more than you bought.
If the price falls again then your bot will start making a earning. Now this is if your balance is properly balanced while the price move across your trading band, which might require manual tweaks to the outer bounds during particular move sequences or narrow bands, and I see quite a bit of variance in the MtGox bots depending on the time when they started and their original conditions. Generally it is quite safe to keep a balanced hand of btcs and $ and outer bounds far apart from the current ticker. The bot will aim naturally for this position equilibrium, but the pace at which the bot fits the trading band could be arguably improved to prevent certain out of bounds oscillations, just as frequency analysis could probably help too. Any help welcome there.

Now, I'm not sure about Crypto X Change.
My bot (JSB) had strange orders executed at some point (see the spike on April 6th) but it seems ok overall and I had orders executed during the last rise. What does your history say ?


Cheers,

Jesse
legendary
Activity: 1372
Merit: 1003
In using the bot over the last month for the first time the bot has made -

6.088% earnings per period, $0.27942 total earnings, 6.088% total earnings,  -0.17068% total earnings fixed price, -3.386% total earnings fixed price $.

Also it looks like it hasn't made a trade in nearly four weeks.  I understand the market has been very steady recently but is this normal or is it because I'm using CryptoXchange.  If so would it be better to use MtGox as the exchange or do the settings need changing?
newbie
Activity: 58
Merit: 0
I just decided to go back to the defaults and then change settings by 1 or 2 numbers at a time until I get it how I want it or it breaks. However I noticed now it is making 22 asks and no bids. I've seen it do a bunch of bids and no asks before also yesterday. Is this normal? I've got resources in BTC and USD so I'd think it would be creating both asks and bids...

That has to be the "Account for trends" parameters, which won't issue orders against the current trend if any.
Feel free to uncheck it so that both kinds of orders get issued, and maybe check it again when everything is in place, as it prevents potential duplicates with small oscillations.
full member
Activity: 196
Merit: 100
I just decided to go back to the defaults and then change settings by 1 or 2 numbers at a time until I get it how I want it or it breaks. However I noticed now it is making 22 asks and no bids. I've seen it do a bunch of bids and no asks before also yesterday. Is this normal? I've got resources in BTC and USD so I'd think it would be creating both asks and bids...
newbie
Activity: 58
Merit: 0
Hey thanks for responding. I haven't been able to install my own to test bot since I would need to setup a windows web server.

You don't need a windows web server. Any windows will do, provided you have IIS enabled and sql server express installed.
Using Web Platform Installer or Web Matrix from the DotNetNuke download page will take care of most of those things.
DotNetNuke in turns has got an install wizard that does most of the job, and there's another wizard to install the bot farm extensions, with the bitcoin bots and user bots installed by default.
It's really all about checking boxes and clicking buttons before you can have your own dnnbitcoin locally with admin access to the engine and definitions.

I had tried to reset the changes I made earlier today back to the defaults and then make minor changes to the reserve and band sizes since the changes I made last night seemed to have borked things up. The changes I keep making are conflicting with other settings like you said so I guess I'm not reading the descriptions of the variables correctly to know exactly what the changes I'm making are doing.

It's ok, the variable names are a bit cumbersome and they haven't changed for a while. Just keep in mind that the bot won't issue orders with unprovisioned resources to you have to figure out the right tradeoff, by making progressive changes from a stable config. Don't hesitate to make the 2 changes mentioned in my previous post to get rid of cancels and trends accounting.
 
Currently I just dropped my reserve to 5%, dropped the default band size to 20%, and changed max order to 10% with min order to 30% of that. I also switched it to the exponential instead of linear. I decided to keep the default 0.6 for central margin and order updates.

I tried doing the math for changing the linear to 95 instead of 99 like you suggested but it seemed like the steps would then be way larger than they needed to be to turn a profit. I'll have to keep an eye on the history to see if its still canceling orders and try to make sure I didn't sent my settings too high still.

That looks alright to me. The exponential distribution will change everything. You can progressively increase the boundaries by refering to your history: the balance associated with passed series or orders represents the available resources at the time of the computation (accounting for the reserve and provisioned resources for existing orders). This is the value to compare to your outer bounds and update multipliers.
full member
Activity: 196
Merit: 100
Hey thanks for responding. I haven't been able to install my own to test bot since I would need to setup a windows web server.

I had tried to reset the changes I made earlier today back to the defaults and then make minor changes to the reserve and band sizes since the changes I made last night seemed to have borked things up. The changes I keep making are conflicting with other settings like you said so I guess I'm not reading the descriptions of the variables correctly to know exactly what the changes I'm making are doing.

Currently I just dropped my reserve to 5%, dropped the default band size to 20%, and changed max order to 10% with min order to 30% of that. I also switched it to the exponential instead of linear. I decided to keep the default 0.6 for central margin and order updates.

I tried doing the math for changing the linear to 95 instead of 99 like you suggested but it seemed like the steps would then be way larger than they needed to be to turn a profit. I'll have to keep an eye on the history to see if its still canceling orders and try to make sure I didn't sent my settings too high still.

I think it might be more profitable to try to make more trades at the inner band with higher min orders than to wait for large shifts in bitcoin price and trading at the outer band. It seems more common for bitcoin to fluctuate 10-15 cents higher or lower than the market price than 50 cents to $1.
newbie
Activity: 58
Merit: 0
I've been reading the information section on the site about the different customization parameters for the bot but I seem to be having a pickle of a time trying to get the bot to make larger value trades. By default it's setup to buy and sell fractions of a bitcoin and then increase throughout the trading band. I'm trying to get it to make larger initial trades say 20-30 bitcoins and then increasing from there throughout the trading band. Maybe you can provide some help to see what I'm doing wrong; my username is the same.

The key is to reduce the number of orders if you want them of higher value, to account for your limited resources. This is explained in those earlier posts.   

I just checked your account; you chose to reduce the band width to 8% of the price, with 20% of your resources allocated to outer orders, 30% of those 20% to central orders and a linear variation in value in between. You also kept the 99% linear step progression, while reducing the central margin to 0.3%.
From your history, it seems that your asks have been getting cancelled every other run, probably because of the "Low resource reset factor" parameter, which I just set from 2 to 0 to prevent further cancels for now (about 8 orders from 20% to 7% of your resources ==> there was less than 2 * the outer ask value =40% of resources after everything issued, thus the reset)

That also means your current settings are still a little too high. Also, I reckon that only reducing the band width is a bit risky to account for larger price changes. I would suggest looking at the orders distribution steps: either go for an exponential distribution to have close steps near the ticker and larger steps going outwards, or set a larger near constant linear step (e.g 95% instead of 99%), which implies increasing the central margin, because you won't want a central margin narrower than the central distribution steps.

I also unchecked the "Account for trends" parameter to make sure asks and bids always get issued while you're updating your configuration.
You may want to check that parameter again when you're satisfied and everything is set.

Edit: Apparently you're doing some changes yourself at the moment, so I'd rather post this now.
BTW, did you try installing the platform locally to do your tests in real time?

Regards,

Jesse
full member
Activity: 196
Merit: 100
I've been reading the information section on the site about the different customization parameters for the bot but I seem to be having a pickle of a time trying to get the bot to make larger value trades. By default it's setup to buy and sell fractions of a bitcoin and then increase throughout the trading band. I'm trying to get it to make larger initial trades say 20-30 bitcoins and then increasing from there throughout the trading band. Maybe you can provide some help to see what I'm doing wrong; my username is the same.

Pages:
Jump to: