Author

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

jr. member
Activity: 35
Merit: 3
October 24, 2017, 11:40:43 AM
#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: 1008
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.

newbie
Activity: 58
Merit: 0
Is there a way to adjust the ask/bid ratio? for example all the bitcoin value asks are set significantly higher than the bids. I keep finding that the majority of my bitcoins get sold off into USD and barely get converted back to bitcoins to be reinvested. I'd rather have it set more equal to where it's buying and selling equal or simular amounts bitcoins.

Hi,

there are several parameters to adjust the ask/bid ratio:

The easiest are the reserve percentages: if you have significantly more btcs than $ and wish to keep the unbalance, then define a higher ask reserve percentage than the bid reserve percentage. Otherwise, the bot will naturally tend  to balance both resources on the long run thus issue higher asks than bids.

Now this is because the inner order values are computed from the outer order boundaries, which in turn are issued automatically as the "Default Max Order" percentage of your available resources (accounting for your reserve percentages), and then dynamically increased by the "Volume increase factor" parameter or reset by the "Low resource reset factor" parameter while your available resources change.
You can also choose to manually define your outer orders as you see fit and control the whole distribution that way; just make sure that those last 2 parameters won't cancel your manual setup (for instance you may increase "volume increase factor" to prevent a small outer order being automatically increased, and decrease "low resource reset factor" to prevent a high outer order relative to the corresponding resource triggering a cancel)

Finally, you can also start playing with the inner orders distributions and pricer expressions, which can be defined independently for asks and for bids. i'm pretty sure there is some room for improvements in that section, and that the default asymmetrical expressions to account for linear order values are largely sub-optimal.

In any case, feel free to install the platform locally to do your tests as suggested earlier, since having to wait for each run is not very practical.

Cheers,

Jesse
full member
Activity: 196
Merit: 100
Is there a way to adjust the ask/bid ratio? for example all the bitcoin value asks are set significantly higher than the bids. I keep finding that the majority of my bitcoins get sold off into USD and barely get converted back to bitcoins to be reinvested. I'd rather have it set more equal to where it's buying and selling equal or simular amounts bitcoins.
sr. member
Activity: 327
Merit: 250
we are legion
...
In the mean time, if you want to experiment with the available parameters, I highly encourage you to install the platform locally from the source repository.
You'll be able to run your bot on demand with no delay, and you can report your settings online when you're happy with your local custom strategy.
...
I tried that with Version 12044. Didnt work for me. IIS config was broken.
Then I downloaded 12594. This one works.  Grin
newbie
Activity: 58
Merit: 0
Hi,
thanks for you valuable feedback.
I'll try to address some of your concerns

- The User Interface is horrible. I have to click back and forth through the (slow) Menu,
while all the Parameters of 1 Bot would fit on the Screen just fine.

I have to agree the user interface is far from perfect. This is mainly due to the fact that it is automatically generated by Reflection on the DOM classes properties (there is no Bitcoin specific UI).
Although that default behavior won't be changed soon, I reckon I can improve the usability by reducing the number of postbacks needed to navigate the various sections.
I'll look into this before applying the next upgrade

- It takes 10-20 Minutes to see the Result of the Trading Strategy.
a Preview would make it much faster and easier to tweak the Parameters.

That was asked already, and I'll consider introducing previews and charts although that probably won't be for the next release.
In the mean time, if you want to experiment with the available parameters, I highly encourage you to install the platform locally from the source repository.
You'll be able to run your bot on demand with no delay, and you can report your settings online when you're happy with your local custom strategy.

- I get logged out without a Warning or Notification and have to enter Username and Password again (using Firefox "Nightly").

It is quite unusual but we've add a couple of issues with our web farming environment recently, which required application restarts.
This is getting sorted and it might have been the cause for your account getting logged out.

- Why the "Master Bot" ? AFAIK, i can only make one MtGox Account without breaking the Rules there.
so a single Bot for each User should be enough. Keep it simple.

Master and User bots are website administrators concerns: admins can create master bot definitions online, and optionally turn them into "user bots" available individually to the regular website users with a subset of editable parameters.
The read-only Master bot definition, which you can browse below your configuration, simply displays the inner workings of your bot.

Regards,

Jesse
sr. member
Activity: 327
Merit: 250
we are legion
After many hours of tweaking the Bots Parameters, i finally got it trading like i want.
Some Criticism:
- The User Interface is horrible. I have to click back and forth through the (slow) Menu,
while all the Parameters of 1 Bot would fit on the Screen just fine.
- It takes 10-20 Minutes to see the Result of the Trading Strategy.
a Preview would make it much faster and easier to tweak the Parameters.
- I get logged out without a Warning or Notification and have to enter Username and Password again (using Firefox "Nightly").
- Why the "Master Bot" ? AFAIK, i can only make one MtGox Account without breaking the Rules there.
so a single Bot for each User should be enough. Keep it simple.

I'm sure with some Improvements of Userfriendlyness, Dnn Bitcoin would attract a lot more People.
Also, thank you for providing this free Service.
newbie
Activity: 58
Merit: 0
Hi can this bot be used on BTC-E USD/BTC or Intersango GBP/BTC which both have a bigger volume than Cypto X change also Mt.Gox EUR/BTC would be good too.  Also will the standard definitions for the bot ever be updated in future.

Hi,

We are currently concentrating our efforts on releasing a documented version of the underlying general purpose bot platform.
When this is done, I will update the source repository with a clean package, and I will make another call for contributions.
Supporting new APIs or implementing distinct Strategies is quite straight forward if you know C# or any other .Net language.
Hopefully we can get a couple of coders to adopt the hosting environment and contribute to the trading material or simply push their own flavor of the dnnbitcoin demo website.

Cheers,

Jesse
full member
Activity: 168
Merit: 100
You have to scrape BTC-e as it doesn't currently have a working trading api.

marked
legendary
Activity: 1372
Merit: 1003
Hi can this bot be used on BTC-E USD/BTC or Intersango GBP/BTC which both have a bigger volume than Cypto X change also Mt.Gox EUR/BTC would be good too.  Also will the standard definitions for the bot ever be updated in future.
legendary
Activity: 1372
Merit: 1003
Trying this out with 1BTC  Grin
newbie
Activity: 58
Merit: 0
Thanks for fixing this!  I really like the platform and it keeps getting better, so thank you for your hard work.

Thanks for your support.
As you may know, we're looking for active contributors now.
If you have .Net skills or if you can think of improvements, please let us know.

Cheers
full member
Activity: 180
Merit: 100
Things should be alright now.

I had to restore many bots, which got disabled for some reason.
I'm sorry if you got notification emails related to that issues.
In case something similar happen again, further notification email will include the Json Response that triggered the ban, and I'll keep a log of that event too.

Cheers

Thanks for fixing this!  I really like the platform and it keeps getting better, so thank you for your hard work.
newbie
Activity: 58
Merit: 0
Things should be alright now.

I had to restore many bots, which got disabled for some reason.
I'm sorry if you got notification emails related to that issues.
In case something similar happen again, further notification email will include the Json Response that triggered the ban, and I'll keep a log of that event too.

Cheers
newbie
Activity: 58
Merit: 0
Hi,

I did a couple of updates today, and apparently something went wrong with the invalid credentials detection mechanism.
I'm investigating that right now.

Sorry for the inconvenience,

Jesse
full member
Activity: 180
Merit: 100
I've gotten a couple emails today saying the following:

Quote
The Exchange site responds to your bot with an "invalid credentials" message.

You bot was disabled. Please check your Bot Settings.

I've done that and my credentials are correct and have been working now for several weeks.  I was just curious if there is a problem on your end somewhere.

Thanks!
hero member
Activity: 700
Merit: 500
daytrader/superhero
Thanks for the quick fix!  Smiley
newbie
Activity: 58
Merit: 0
I have a quick question...I started my v2 mtgox bot and deleted the legacy bot (or tried to), but I think the legacy bot is still trading..could you check my bots (evolve) and confirm that I have the legacy bot disabled/deleted properly?

Thanks again, the new update is great!
 

Just checked and indeed the legacy bot was still running. I disabled your original bot, which should make it.
There must be something wrong with the delete feature again. I suspect something broken in the DNN personalization API on that specific version, since I'm pretty sure I tested that feature recently.
Well, moving on to upgrading to last DNN 6 version.

Cheers
hero member
Activity: 700
Merit: 500
daytrader/superhero
I have a quick question...I started my v2 mtgox bot and deleted the legacy bot (or tried to), but I think the legacy bot is still trading..could you check my bots (evolve) and confirm that I have the legacy bot disabled/deleted properly?

Thanks again, the new update is great!
 
member
Activity: 90
Merit: 10
newbie
Activity: 58
Merit: 0
What's the minimum amount of btc/usd I can deposit to try it out, would you say? This looks interesting Smiley
Hi,
As I suggested above, it depends on your strategy.
The default strategy issues more than 20 ask/bid orders from about 5% of your resources for the highest to about 10% of those 5% for the lowest (closer to the current price).
Accordingly, if you have less than a couple of BTCs to get started, the default strategy will prevent central orders to be issued because of the 0.01 btc MtGox limit.

Now if you want to start with fewer resources (say X btcs), you can set your own strategy (check the "prevent overwrites" checkbox first):

  • In the "trading band" tab, update the "Default Max Order" (a) and "Min Order Value" (b) such as X *80% * a% * b% > 0.01 (there is a 20% reserve by default)
  • Now the problem is the corresponding band would require more resources because of the many orders, so you have to change the distribution in the expression tab in order to get fewer orders issued (you can also reduce the trading band width). If you go for an exponential distribution, that might be it.
  • If you want to keep a near constant larger step say for instance "Min Ask Order Price" = LowestAsk.price * 95 / 100 and "Max Bid Order Price" = HighestBid.price * 100/95, you should take my above advice concerning central margin into consideration and increase the "Min Order Margin" parameter
  • Finally, you should account for the parameters in the "order updates" tab (mainly "Low Resource Reset Factor" and "Volume Increase Factor") so that your default band doesn't get cancelled once every 2 run nor slightly increased for a while. You don't have to get it right straight away, and you can monitor your history to figure out what's going on regarding those updates (your history will tell you what your available resources are, once the bands are defined).

Cheers

Edit: fixed an error in the expressions
sr. member
Activity: 266
Merit: 250
What's the minimum amount of btc/usd I can deposit to try it out, would you say? This looks interesting Smiley
newbie
Activity: 58
Merit: 0
Just realized one post remained unanswered.

Very nice update and very user friendly - I haven't seen a lot of action yet but BTC prices have been pretty stagnant lately.  Will keep monitoring.  The major change that I have seen is that, unlike the previous MtGox, it has become impossible to make a manual trade at a price that is different than the current one - if it doesn't get executed by the time the new round of API calls are made, the manual trade gets erased.


First about manual trades getting erased. There's no feature doing that on purpose, but there are conditions triggering order cancels, regardless of their origin.
A whole "half band" (all asks or all bids) may be cancelled if:
  • its span (defined by the percentage between the outer order and the central margin limit), is found smaller than the minimum configured width or higher than the maximum configured width
  • the outer order value, multiplied by the "Low resource reset factor" parameter, is found higher than the corresponding available resources (btcs for asks, and usds for bids), which are computed from the total resources from removing the defined reserve and the existing open orders. You can acknowledge those quantities in your history: the last wallet balance gives your total resource, whereas the last issued orders "balance" shows the available resources at the time of the computation. Also, you can remove that "low resource reset" feature by setting that parameter to 0


Additionally, a single order may be cancelled because of the "cancel order limit" percentage parameter. That parameter was meant for exponential price distributions: it makes sure the density keeps decreasing going outwards from the ticker when the price moves: if the variation between 2 consecutive orders spans (Ask(i)-Ask(i-1)/Ask(i-1)-Ask(i-2)) is found lower than this parameter (wrongly increasing density), the outer order is cancelled. Up until recently, I had kept the 90% value, which was meant for the original exponential distribution. Now that the default distribution features a near constant linear span, I switched to 50%, but you may feel free to set that parameter to 0 to completely remove that feature if you don't need it.


Also, based on a previous post, is it fair to assume that the only way to make the bot trade bigger amounts is to increase the balances?

There are several parameters responsible for defining the order amounts:

  • The outer orders are defined as a percentage of the available resources (btcs for highest ask, usds for lowest bid): the corresponding parameter is "Default Max Order(%)". "Default" means that at any point you can update such an outer order manually, making sure you don't trigger an "half band cancel" as explained above
  • Then the inner orders amounts are computed from the corresponding arithmetic expression. The default expression plots a linear variation in value between the outer order value and the central margin boundaries limit, the value of which is also defined as a percentage of the outer order with the "Min Order Value (%)" parameter
  • You may update the dynamic amount expression to your needs, but if you choose to stick with the default value, the constraint mainly resides in the price distribution.
  • If you choose to define a large trading band with many inner orders (as with the current default strategy), you'll have to keep everything pretty low: the bot won't let you issue orders that aren't provisioned, and will fit everything accordingly; also, there is a minimum order on each exchange platform (0.01 btcs on MtGox), which could result in central orders not being issued if you're low on resources. Accordingly, if you want higher amounts, you'll need to issue less orders, by narrowing the band or by changing the order distribution (by choosing a larger or a varying step e.g exponential).
  • One thing to consider though if you change the distribution, is the density near the central margin: As far as I can tell, you can't have both a large order step near the ticker and a narrow central margin, while reliably earning on small oscillations (which honestly I'm starting to consider as negligible considering the all-or-nothing kind of volatility we have). Anyway, in order to get the appropriate behavior with low volatility, you have to make sure the central step is smaller than the configured margin. 
     

I hope all of this makes sense. I understand it may look over-complicated, but it is just the result of identifying the various possibilities over the last months, given a simple algorithm, and making them available to the users.

Now I'm all open to trying something completely different. As a matter of fact, I have added a c# project to the source code, with a simple alternate strategy that shows how to get started. If you think you can come out with something better, please let me know, and I'll be happy to add it to the hosted platform.

The only thing is I'd like to keep the free platform hosting market making bots: I reckon there are quite a few tools that amplify the trends out there, and that providing liquidity should be beneficial to the whole community.
I realize it can be frustrating when given the current strategy, the price variation exceeds the trading band configured for many, resulting in a loss, but I'm sure we can find a compromise where those situations are properly accounted for (for now, I have increased the default band width), and the profit fairly shared among all.

If you're up for a predictive strategy that works with the trend, feel free to go for it and to get your bot a private hosting (which we can provide, and I'll update the source package with a version fully compatible with DNN 6.X shortly). There are good chances you'll want to keep it personal anyway.
Now if you are concerned with price stability, you're more than welcome helping us improving the public platform. As a matter of fact, I don't think there is much "secret" involved with such strategies, which is the reason I made the results public. The gains will reduce only if we're so successful to reduce the volatility substantially, which for many reasons I don't see happening any time soon. 

Finally I should say I won't be able to invest much more in here for free. One possibility is that we propose a commercial version with a faster pace and other enhancements. We're thinking about it.
Also, if you're thinking of an opportunity for a collaboration, please let us know.

Regards,

Jesse
CTO Aricie
full member
Activity: 228
Merit: 100
Now the edit-mode is checked and I have the save-bot button

Thank you very much Smiley

kind regards, talpan
newbie
Activity: 58
Merit: 0
Thx for the fast reply but as it seems I don't have a "save-bot" button.

And thx again for the good support and this opportunity Smiley

kind regards, talpan


I just checked your account, and as you had previously noted, the "view" option was checked in the top control panel. I just switched your account to "Edit" mode.
I'm sorry you guys get annoyed with that stupid "feature". Edit/View/Design mode are meant for site admins to figure out various renderings while editing the content.
I made the module such that only authorized module editor roles can save a bot instance while simple viewers such as anonymous clients can only browse the configuration. For some reason, module editors get offered that control panel by default, but there's an option to remove that.
Please let me know if you get the Edit mode properly configured now, and I'll remove the control panel for good.

Cheers
full member
Activity: 228
Merit: 100
Thx for the fast reply but as it seems I don't have a "save-bot" button.

And thx again for the good support and this opportunity Smiley

kind regards, talpan
newbie
Activity: 58
Merit: 0
Hey again,

now it's for sure: I can't edit my bot and there is now view/edit selection in the upper left corner.

Hi Talpan, I tried to hide the control panel in the site settings to remove the confusion, but apparently your user account might have some problem with that thing.
I just reset the default settings, so your should see the control panel again.
Anyway, I will upgrade to the latest DNN version. Hopefully it should fix those kind of bugs.

Regards,

Jesse
full member
Activity: 228
Merit: 100
Hey again,

now it's for sure: I can't edit my bot and there is now view/edit selection in the upper left corner.
full member
Activity: 228
Merit: 100
Hey,

I can't change my bot settings anymore, the "save bot" button isn't there anymore.
thx for keeping this up and running Smiley

sorry, it's my fault: had checked that "view" options in the upper left corner
member
Activity: 90
Merit: 10
Very nice update and very user friendly - I haven't seen a lot of action yet but BTC prices have been pretty stagnant lately.  Will keep monitoring.  The major change that I have seen is that, unlike the previous MtGox, it has become impossible to make a manual trade at a price that is different than the current one - if it doesn't get executed by the time the new round of API calls are made, the manual trade gets erased.

Also, based on a previous post, is it fair to assume that the only way to make the bot trade bigger amounts is to increase the balances?

So far, so good, though - some of the new features are very nice Smiley


Thanks!!!!
newbie
Activity: 58
Merit: 0
Hi Ken,

the minimum order amount is part of the Exchange parameters: it is the minimum order amount accepted by the exchange (i.e .01 btcs on MtGox and $1 on Tradehill).
Apart from the custom commission, which I made part of your new credentials settings, the exchange parameters are the same for all users.
Accordingly, I chose to remove the corresponding parameter from the set available for customization (but you can still browse a read-only version of it in the bot definition).

As for the number of orders issued, the default strategy was changed, and more specifically the price distribution expressions. This is because the old strategy quickly proved unfitted to the new trading dynamics.
You can have a look at the info page for more details on the recent changes.

Cheers
kdf
newbie
Activity: 35
Merit: 0
Hello,

I have switched to the new platform and it seems more user friendly and secure.  But I do have a few questions.  On the old platform you could set the minimum order amount.  So for example it currently has the smallest order at .08 btc.  On the old system I could control what the smallest amount ordered would be.  How do I do that on the new system?

Another question is that with the new system I have about 44 - 51 orders set up on the old system I would have had about 12 - 18 orders at any one time.  I am assuming it is a larger number of orders because the minimum order is so small and that is the starting point.

Thanks for any help someone may be able to give.

Thanks,
member
Activity: 110
Merit: 10
Hi,

Thanks for getting back to me.

I think I can see what you are getting at and on reflection, I don't think you can solve the problem using the max(last_price, highest_bid + margin) approach, so that option is probably not worth keeping.

I have also spotted kind of a related problem with the existing version.

During the big bitcoinica spike last week all my close in buy orders were triggered and the price continued to go down, so you start to get bigger and bigger gaps between orders. For example, say I had bids at $6.10 and $5.50 the buy at $6.10 was triggered, and the price went down to $5.60 and stayed at a similar level.

Based on the last price, the bot would generate sell orders down to $5.60 plus margin, so you could end up buying at $6.10 then selling at $5.65.

I think looking at previous executed orders is going to be the best long-term solution, so its good to hear that it is in the pipeline. You guys are doing great work!
newbie
Activity: 58
Merit: 0

To get the profit margin that you have set in the parameters, the bot could use something like

MAX(last_price, highest_bid * 1 + (2 * profit_margin + 2 * trading_fee)) for asks and

MIN(last_price, lowest_ask * 1 - (2 * profit_margin + 2 * trading_fee)) for bids

As it is I have had to set the trading fees and profit margin much higher to compensate.

Hi again,

I am about to upgrade the platform, and while I have tested your suggestion, it seems to make it worse: If you set a full margin on the existing highest_bid for the new lowest_ask, that margin  is "removed" when the bid gets executed, and depending on the other parameters, you find yourself at best with the previous half margin formula, and at worse with a new ask lower than the previously highest bid.

Anyway, I'm making it an optional parameter so that you can do you own tests with your bot.

In any case, I couldn't think of a satisfactory solution, without looking up the previously executed orders, which is not planned for this release, preventing the bot from placing orders out of phase with small oscillations as those occurring right now (placing asks on lows and bids on highs). Given the way the new orders fill the left "holes" in the distribution, it's currently a matter of chance that those holes correspond to the highs or lows of the oscillations.

In the mean time, I believe that securing a comfortable margin fixes that issue, and that the other fixes should bring an improvement (like the one preventing several series of orders of the same kind to be issued)

Let me know if you can think of a possible improvement.

Cheers
newbie
Activity: 58
Merit: 0
Hi,

I've been using your bot for a couple of months and I have a question. Is it possible to change the code so that the gap between bids and asks is always at least 2 * (profit_margin + trading_fee).

For example, at the moment you might have a highest bid of 6.399 and the last price is 6.40. At this point, (if I understand correctly) the bot will generate asks down to 6.40 + profit_margin + trading_fee.

If we assume the trading fees are 0.5% and the profit margin is also 0.5%, the lowest ask could be at 6.464.

This means that the gap between bids and asks is too small. If the bot then executes a buy at 6.399 it could sell at 6.464 which after fees is 0.015% profit instead of the 0.5% specified. If your profit margin is set to less than the trading fees, you would be trading at a loss.

To get the profit margin that you have set in the parameters, the bot could use something like

MAX(last_price, highest_bid * 1 + (2 * profit_margin + 2 * trading_fee)) for asks and

MIN(last_price, lowest_ask * 1 - (2 * profit_margin + 2 * trading_fee)) for bids

As it is I have had to set the trading fees and profit margin much higher to compensate.

Hi Pteppic,

I think your remark is valid, and so is the fact that we should avoid the same kind of orders being issued and executed several times in a row when the price spikes before returning to the previous value between successive bot runs.

I'll take both issues in account in the updated version to come, but in the mean time I highly suggest that indeed you take a comfortable margin, and you adjust your outer orders manually when needed.

Regards
newbie
Activity: 58
Merit: 0
Got this email from mt gox:

 You are currently making use of a system which will be deprecated on Thu 01 Mar 2012 12:00:00 AM GMT:

Access of the MtGox API while being authenticated with a login and a password


So does this mean the bot wont work anymore after march?


Hi evolve,

The legacy API is indeed scheduled to be deprecated on the  01st March, which means the current bot will be stopped by that date.
In the mean time, I have a new version of the platform nearly ready for updates, which takes an API key and secret as generated from your MtGox account for additional parameters and accordingly supports the new API.
The update is a bit tricky since a lot of things have changed in the underlying bot engine, and as all your parameters are stored compressed and encrypted I must make sure I won't loose anything. I might have to reset user strategies though, because of a few fixes in the trading algorithm. 
I'll send a bulk email to let all users know about the update when it's ready, and then you should have plenty of time to generate API keys from your account, stop your legacy bot and register a new bot with the additional parameters.

Regards,

Jesse
member
Activity: 110
Merit: 10
Hi,

I've been using your bot for a couple of months and I have a question. Is it possible to change the code so that the gap between bids and asks is always at least 2 * (profit_margin + trading_fee).

For example, at the moment you might have a highest bid of 6.399 and the last price is 6.40. At this point, (if I understand correctly) the bot will generate asks down to 6.40 + profit_margin + trading_fee.

If we assume the trading fees are 0.5% and the profit margin is also 0.5%, the lowest ask could be at 6.464.

This means that the gap between bids and asks is too small. If the bot then executes a buy at 6.399 it could sell at 6.464 which after fees is 0.015% profit instead of the 0.5% specified. If your profit margin is set to less than the trading fees, you would be trading at a loss.

To get the profit margin that you have set in the parameters, the bot could use something like

MAX(last_price, highest_bid * 1 + (2 * profit_margin + 2 * trading_fee)) for asks and

MIN(last_price, lowest_ask * 1 - (2 * profit_margin + 2 * trading_fee)) for bids

As it is I have had to set the trading fees and profit margin much higher to compensate.
hero member
Activity: 700
Merit: 500
daytrader/superhero
Got this email from mt gox:

 You are currently making use of a system which will be deprecated on Thu 01 Mar 2012 12:00:00 AM GMT:

Access of the MtGox API while being authenticated with a login and a password


So does this mean the bot wont work anymore after march?
legendary
Activity: 2126
Merit: 1001
Thank you for your reply, Jesse!

Sounds like serious changes and steps forward, am curious how it will turn out!
Thank you for the pointer about the expressions, will wrap my head around them.

A general question: It seems like the bots can only analyze "now", and not use data from the future past? Something like "average price of the last 6 hours"?

Thank you again,

Ente
newbie
Activity: 58
Merit: 0
Hi Ente,

thanks for your interest.

First, I'm planning an update of the platform soon, to support the new Mt.Gox API, and fixing a few things in the engine and in the strategy.
Now about the parameters available in the code expressions, they're all simple properties from .Net types, which you can browse together with the trading source code.
As for providing something simpler, I'll see what I can do when the next upgrade is done.

Cheers,

Jesse
legendary
Activity: 2126
Merit: 1001
Hi Jesse,

I just found your platform today.
I am a lot interested in it, thank you for making it public and free to use!

Now I am a bit confused about the bot parameters themselves..
In no way I am an experienced trader. But I would think there are several different trading strategies, which base on totally different triggers.
Looking around in my account, I find a lot of parameters, which are spread over many (sub-) pages and which impose one trading strategy on me. Granted, I dont understand that strategy in full detail yet.

I would love the option to start from scratch. Like two empty textboxes, one for "buy" and one for "sell". I would have to script everything by myself, like "add 0.65% on top of it" and the like. With that I could do silly things like "buy every day at noon, sell at 3pm" as well as more complex things.
I would not even be sure if such an option would be "basic" or "advanced" ;-)

Is there a referencelist? What exactly do the keywords mean, how are they calculated, which do exist? Like "LimitOrderValueRate", "CurrentOrders.HighestAsk.Value" etc?

I just had a quick look around, but for now I am a bit shorttaken by the dozens of subwindows, options, keywords and the like.


Thank you for that project, I am astonished its not the biggest topic since the reappearing of Satoshi!

Ente
newbie
Activity: 58
Merit: 0
Thank you for all your improvements.  Can you check to see if the platform is down?  Everything was working perfectly but now I have no orders in MtGox.

Yep, the server was messing again. Should be working now.
A migration to our new web farm is planned for next week.
Hopefully the site will get faster and more stable, such that I can increase the schedule frequency again.
Cheers
full member
Activity: 180
Merit: 100
Thank you for all your improvements.  Can you check to see if the platform is down?  Everything was working perfectly but now I have no orders in MtGox.
newbie
Activity: 58
Merit: 0
Hi all,

I have just finished to update the bot platform, trading algorithm and hosting web site, time for a global announcement.

 First about the updates

  • The farm now runs smoothly. About 40 user bots are currently scheduled to trade every 5 minutes.

  • The MtGox IP ban problem was fixed with automatically disabling invalid credentials. The bot disables the credentials upon saving and sends an email to the user requiring a password update

  • The previous mentioned bug was found and fixed, trading now performs as expected

  • The algorithm was also updated with improvements and new features, such that the resulting bots now trade smoothly with a self adjusting trading band.

  • The site was updated with a new skin and there is now an illustrated page, which details how the trading works and the various parameters

  • It is still hosted on a quite unreliable server though, with occasional crashes. Hopefully our new web farm will be available soon.

  • A Codeplex project was created and now hosts source code and related downloads

 Our product: Portal Keeper

As I previously stated, my main objective is to evangelize and keep developing our bot platform, so here is a little more about it:


The bot farm is part of a DotNetNuke module, which mainly consists of an IDE in the form of property editors mapped to large xml configuration files, and a rule engine run by an application firewall and the scheduled farm.

Our property editor still has UI issues to fix, yet it is a powerful tool, which allows fine grained configuration.
As an illustration, on the MtGox bot dedicated page, the bot definition editor maps to an entity: Here is what an XML export of that bot looks like. By comparison, the set of editable user parameters on the same page maps to the bot variables, i.e l15-l215 of the bot's export.


If you download and install Portal Keeper on your own DNN instance, you'll have edit access to all of those parameter and will be able to customize your bot in many ways.


For instance, you could add intermediate steps to your trading algorithm, where you parse various web content for additional indicators/entities. As a matter of fact, I've added a new disabled rule in the MtGox bot, which illustrates that kind of scenario. The bot requests http://hidemyass.com/proxy-list/, parses the list of open proxies through XPath queries, and feeds a proxy pool to be used at will on subsequent requests. Of course it wouldn't be a good idea to trade directly over open proxies, but I foresee many other uses for that kind of feature.


Now if you have .Net skills, you should see from browsing the trading material source code that there is virtually no prerequisites to integrating your own class library right into custom bots and the corresponding online editors sections, while staying focused on your own value added features, e.g your custom trading code.  Also, it should be pretty straight forward to add a step to retain a fee out of the user bot profits, using the existing sendbtc apis. If you feel like applying that principle to host an improved commercial version of dnnbitcoin, please do so.


My last reasons for you to try the bot farm on premises rather than relying on our hosted version: additional safety and lower schedule period. I did my best to secure the accounts (user data is compressed and encrypted between each run), but if you’ve got a lot of btcs to trade, please don’t put them into our hands. Setting your own schedule to a higher frequency will also definitely make a difference, though you have to take into account that the exchange sites themselves prove quite unreliable on large ticker moves when most bots activity is concentrated (slow requests, timeouts, unprocessed queues).  

What's next?

In the next weeks, I will:

  • Compile a proper documentation for the bot platform. As a reference, here's the current resx file for most existing labels and inline helps. Again, the trading material represent a fraction of it, so there's a lot of writing ahead.

  • Keep fixing bugs and making sure the platform is ready for publication.
     
  • Commercialize the final version of PKP for general use within the DNN community.

  • Develop a front-end of Rest-full web services within the firewall engine, fully customizable for custom actions and objects as any other engine rule.


That means I won't have much time to concentrate on the btc part of the project, and as I believe most technical hurdles for building those trading bots are behind now, I'm looking for contributors here:

  • I'm quite happy with the way the bots now generally behave technically, but I'm pretty sure there is plenty room for improvements in reviewing the available parameters and formulas from an financial perspective.
  • If you're a .Net developer, the trading source code is simple yet concise with a working mapping from the JSon API objects and an extensible strategy model. Also, the Xml bots themselves could be easily improved with additional features e.g notification emails.

Bounties

I understand everyone here has got to meet ends as we do, so I'm setting up 2 bounties, which I will detail in distinct threads.

  • Trading competition. The goal is to come out with the best set of parameters for the current market making bots. Competitors will register their username and bot parameters. By November 1st their balance will be monitored from our website logs, and their parameters frozen for a month. By December 1st their balance will be checked again: the account with the proportionally best profit will be rewarded 50 btcs, and the corresponding parameters will likely become the default configuration.

  • Codeplex bounty. Those willing to contribute will be granted commit access to the Codeplex project. By the end of November, each contributor will be asked to evaluate others contributions to the overall improvements. 50 btcs will be shared between contributors accordingly to the evaluation.


Public address

Last but not least, we now have a public address and we are accepting donations. I will look into integrating btc payments directly into our DNN store, but the legal situation in France is a bit fuzzy right now, so that won’t be before it gets clarified.
In the mean time, I did earn a couple of btcs on a personal account running our bot (lost a couple of $ though). 10 btcs went to the #operationbitcoin bounty, and  130btcs to our public address. 100 btcs are the reserved prize for the bounties. As an extra incentive and to prove that the 100btcs are not there to stay, where should I send the extra 30 btcs?

Regards,

Jesse
CTO Aricie
newbie
Activity: 58
Merit: 0
Hi,

The platform should be running now.
Sorry for being quiet those days, but my Internet reach is very limited ATM.
Also, the platform was upgraded last week but it still needs a few tweaks, so I did not want to be too voicy before I can finalize that recent work.

That should be next week, and I'll make a proper statement here.

Finally, for all those who registered recently, I'm sorry the recent default strategy parameters don't seem to be so successfull. A fix in the algorithm is already planned, and I'll investigate properly. In the mean time, I suggest you increase the "min order margin" parameter to stop "burning" so much in those numerous orders, which results in transaction fees eating potential gains.


Cheers
sr. member
Activity: 279
Merit: 250
When will the platform be back again?
full member
Activity: 168
Merit: 100
Registration is open again...

WOOT !!!
sr. member
Activity: 279
Merit: 250
Registration is open again...
member
Activity: 66
Merit: 10
Is it possible do download the DNN Module anywhere while the registration is closed?
Would realy like to try this out.

Useer

+1 Smiley
newbie
Activity: 18
Merit: 0
Is it possible do download the DNN Module anywhere while the registration is closed?
Would realy like to try this out.

Useer
full member
Activity: 168
Merit: 100
This looks very promising. I'll try it out just as soon as new registrations are allowed Smiley
full member
Activity: 180
Merit: 100
Hi,

I just restarted the platform, which may have been idle for a while (that happened quite a few times, independently of the IP ban issue).
Try re-enabling your bot and let me know if you see orders coming.

In the mean time, I'm nearly finished with releasing a new version. I'll keep you informed here.

Cheers

It looks like everything is working now...I see orders in MtGox.  I'm looking forward to the new version!  

Thanks!
newbie
Activity: 58
Merit: 0
Hi,

I just restarted the platform, which may have been idle for a while (that happened quite a few times, independently of the IP ban issue).
Try re-enabling your bot and let me know if you see orders coming.

In the mean time, I'm nearly finished with releasing a new version. I'll keep you informed here.

Cheers
full member
Activity: 180
Merit: 100
Has the bot been disabled on the MtGox side again?  I've just entered my information, enabled the bot and saved it but I don't see any action on the MtGox side.  Once I save the enabled bot, do I have to do anything else to get it to trade?
newbie
Activity: 58
Merit: 0
Hi,

I'm back to support the platform, and I could restart the MtGox Bot after a couple of user bots with wrong passwords were disabled again.
I'll be working on dealing with wrong credentials detection, adding support for socks proxies and supporting DotNetNuke 6.0 in the next few days.

In the mean time, you can download the DotNetNuke module from the site and run it in your own instance (DNN 4.8.1+/5.X currently supported).
Just make sure to install the shared module first (also available from the website), as it contains required assemblies.

Cheers,

Jesse
hero member
Activity: 700
Merit: 500
daytrader/superhero
any idea on when this is going to be back up? my bot hasnt traded in a week, and now the sites down...any update would be appreciated....

is there a way to run the bot from my own computer so im not relient on your servers?
newbie
Activity: 58
Merit: 0
I think the more important question is what happens to your old orders if the bot can't communicate all of a sudden?  What if you had risky orders placed that are now set to lose a lot of money because the market is constantly changing?  I guess you could just log in the MtGox and cancel, but we are relying on millisecond response times here, right?

Well that's a reason why you shouldn't use a Strategy, which leaves your orders uncovered in case of service interruption (There's already a warning about that on our home page).
The default Strategy is fine with that: small orders around market price are covered by bigger orders further away. That kind of non predictive, passive market making strategy is only "breaking" on market moves and does not require any special attention if the trading band orders are slowely cleared with increasingly bigger moves, without being replaced. This Happened to me several times already while testing without any harm.
 Of course it's very different if you get the bot to issue big orders and you want it to pull out at some point.

As for milliseconds, each call to the MtGox API is no shorter than a regular HttpRequest (50 ms at the very minimum) and the fact that the bot itself doesn't need more than a couple of milliseconds for itself doesn't help much.
The access time is very variable, typically slower during market rushs, ExchangeBitcoins was very slow lately, and Mt Gox times several times a day.
You need at the very least 2 calls (Orders+balance and Ticker), and I added a 100ms wait time between 2 calls as TradeHill may consider faster calls as DOS.

Accordingly you should expect a couple of seconds for your bot to run especially if it's issuing several orders (1 API call per new order).

Our bots are programmed to run every minute by default and considering their Strategy, this is fine: most significant market moves span over several minutes, and your're always one trend ahead, replacing currently executed order for the next trend change.
Hope that makes sense.

In the mean time, I did not get any answer from Mt Gox yet (I guess we can resume the Mt Gox connection on Monday), but the site is now full Https.

Well this is probably my last post before Ozora, don't expect from our team too much information on financial matters, rather on the platform itself.

Cheers guys

Jesse
hero member
Activity: 630
Merit: 500
I think the more important question is what happens to your old orders if the bot can't communicate all of a sudden?  What if you had risky orders placed that are now set to lose a lot of money because the market is constantly changing?  I guess you could just log in the MtGox and cancel, but we are relying on millisecond response times here, right?
hero member
Activity: 700
Merit: 500
daytrader/superhero
OK I've got a problem now.
The server's IP was banned by Mt Gox because someone's entered a wrong password.
I should have foreseen this coming.

I'll check with MtGox to get the IP unbanned.
I'll re-enable verbose logging so that we can investigate ourself on which account has a problem; til now, I haven't logged the bot dumps, only in each users recent history.
I should precise that the password is dumped with another run of encryption, so we won't see it going through.
That will probably slow the site a bit though by generating heavy Data access.

Now here's a few remarks to get started again:

- The bot uses the legacy API, what's needed as credentials is your regular Mt Gox account username and password. Hopefully the API is here to stay for a while, I'll switch to recent API when I'm back.
- Please check your credentials for those who enabled their bots and did not see any new open order on their Mt Gox account.
Edit: the bots won't not issue unavailable orders. If your account is empty, don't expect to see any order coming.

-Sorry for the others, your account is probably left with orders, no need to worry as those positions should be fine, yet you may still want to clean your account until the IP address is removed from ban list.

Cheers




does this mean no new orders will be made by my bot until the servers IP is unbanned?









newbie
Activity: 58
Merit: 0
Just one last thing before I leave and our support team takes over, about strategies and profit since they might be lost in that area.

The default Strategy isn't too risky, and the main entry points to increase profit/risk are the following:

  • Min Order Value (increase for more risks) / Min Order Margin (decrease for more risks): they deal with orders close to the ticker; the first determines the value of min orders relative to max orders, and the second how close you get to the ticker thus the density of low orders considering the exponential pricing distribution 
  • The extreme orders (Lowest Bid / Highest Ask). All orders in between are computed relatively to those value (linear in value). For more risks, you can increase their value or reduce the band width, just make sure it does not dry out your reserve.

Hope our team will be ok with handling that current pb.
They don't know much about Btc, but they're good DNN programmers, and they should be able to sort out most issues.
They'll contact me for detailed answers if needed.

See ya,

Jesse
newbie
Activity: 58
Merit: 0
Just registered an support ticket with Mt Gox.
I asked if the server's IP can be white-listed, but we'll probably have to implement a ban list of our own to isolate faulty credentials, and to rely in the long term on a private pool of proxies. That was expected anyway.
I'll make sure to implement that before the final release.

In the mean time, I have restarted the service for TradeHill and ExchangeBitcoins bots.
newbie
Activity: 58
Merit: 0
OK I've got a problem now.
The server's IP was banned by Mt Gox because someone's entered a wrong password.
I should have foreseen this coming.

I'll check with MtGox to get the IP unbanned.
I'll re-enable verbose logging so that we can investigate ourself on which account has a problem; til now, I haven't logged the bot dumps, only in each users recent history.
I should precise that the password is dumped with another run of encryption, so we won't see it going through.
That will probably slow the site a bit though by generating heavy Data access.

Now here's a few remarks to get started again:

- The bot uses the legacy API, what's needed as credentials is your regular Mt Gox account username and password. Hopefully the API is here to stay for a while, I'll switch to recent API when I'm back.
- Please check your credentials for those who enabled their bots and did not see any new open order on their Mt Gox account.
Edit: the bots won't not issue unavailable orders. If your account is empty, don't expect to see any order coming.

-Sorry for the others, your account is probably left with orders, no need to worry as those positions should be fine, yet you may still want to clean your account until the IP address is removed from ban list.

Cheers
newbie
Activity: 58
Merit: 0
We're currently insrtalling a new certificate.
The site should be full Https soon.

Also, while talking security: your bot settings are encrypted using RijndaelManaged, with a salt from your account email and a unique init vector. The encryption key itself is stored encrypted against the web.config machine key.
There might be a glitch with the password textbox though, as just reported. Enter it twice if it gets deleted on the first try.
Once properly saved, if you disable the chars display, your password isn't included anymore in the html while you edit other strategy parameters.

Finally, if you download the DNN module, you should see that the bot engine also powers an application firewall.
newbie
Activity: 54
Merit: 0
It looks nifty, but there is no HTTPS.

Of course this is on our plans but as we don't have a wildcard certificate on our domain name, I just skipped it for now.
I'll look for it.
hero member
Activity: 700
Merit: 500
daytrader/superhero
i set it up and left all the default values alone....looks like it has trades set up....ill let you guys know how it goes Smiley
hero member
Activity: 566
Merit: 500
complex? eh...

im going to take a break from my bot and see how yours works.

i have a few coins to play with, so dont let me down!
hero member
Activity: 700
Merit: 500
daytrader/superhero
it looks complex, but if i can figure out how to use it, ill be the guinea pig...
newbie
Activity: 58
Merit: 0
I'm excited about this, I just want to see someone turn even a 1-2% profit and prove it first.
To be honest, the default Strategy is very conservative, but at least you can change it to your tastes.
Of course it would be nice if people communicate about their winning strategies.
hero member
Activity: 742
Merit: 500
Interesting... I don't have huge sums of cash myself to try this out so I'll await external confirmation with phorensic Smiley
hero member
Activity: 630
Merit: 500
I'm excited about this, I just want to see someone turn even a 1-2% profit and prove it first.
newbie
Activity: 58
Merit: 0
Haven't tried it, but I met Jesse in person in Paris.

Thanks Dav, I understand reputation is important here.

We are quite new to the Bitcoin community, but we have been around for a while in the DotNetNuke ecosystem. Hopefully that's a starting point.

This is still an early stage for this project, there's a bunch of information missing, but I made sure everything is transparent so far:
  • On the bot architecture:You can browse a detailed read only version of each bot online, you get recent dumps of your hosted bot, you can download a Beta version of the DNN module and run your own trading bot platform.
  • On the trading Strategy: You can edit many control rates and the formulas that compute order prices and amounts for each of your bots, you can download the source code for everything Bitcoin related and implement your own strategy.

If you're interested but you don't feel like trusting the hosted version, then go for the DNN module and do the testing on premises.
legendary
Activity: 1372
Merit: 1008
1davout
Somebody be the guinea pig, use this, and report back.  kthxbai
Haven't tried it, but I met Jesse in person in Paris.
newbie
Activity: 58
Merit: 0
Somebody be the guinea pig, use this, and report back.  kthxbai

Yeah well this is about free bots as in in free speech AND free beer you know.
But you were expecting free BTCs, right?
hero member
Activity: 630
Merit: 500
Somebody be the guinea pig, use this, and report back.  kthxbai
newbie
Activity: 58
Merit: 0
Hi,

Our company develops DotNetNuke extensions, and the next version of our Firewall module will introduce a scheduled bots platform.

The free version will come with trading bots for various btc exchange, and we'll provide hosted bots services.
I have set up an demonstration website where you can register your own bots online or download an unrestricted beta version of the DNN module.

All Bitcoin specific code was isolated into an dedicated project, available for download, and will be soon open sourced on Codeplex.

As a Software architect with a background in Telecom, I learnt a lot in those last two months of full immersion in the Btc world.
Now I feel it is time to let Finance experts get their hands on the actual trading bit, while focusing on delivering a robust platform.
Definitely looking for open collaboration here.

Please give our system a try, and feel free to ask for more information.
The final release is expected to End-August and will feature a detailed documentation.

I'll be away next week, but our team of DNN experts will be there to help if needed.

Cheers,

Jesse, CTO Aricie
Jump to: