I have just finished to update the bot platform, trading algorithm and hosting web site, time for a global announcement. First about the updates
Our product: Portal Keeper
- 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
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
- 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.
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.
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?