I have a proposal for everyone working on (a fork of) the chrome browser extension. In an effort to improve the quality of our bots / projects and to speed up development I am creating a new way (sort of mini standard) at how our different projects could handle different exchanges efficiently:
(Born out of the requests by a lot of users to enable different exchanges, I figured this is about the right time since AFAIK out of all JS projects only Gekko supports exchanges besides Mt. Gox right now)Gekko is going to use a 'portfolio manager' to handle all advices from the bot (like "buy now" or "sell now") and route them to the exchange the user prefers. I am proposing a way at which different exchanges could be implemented the same way by using this 'portfolio manager'. I am talking about the `portfolio managers expectations` and the `trading method expectations` as described in
docs/Exchanges.md. I think standards like this would really speed up the development of different projects. If anybody has any ideas of things that need to be different / added to the document please let me know (or submit a pull request if you are a developer).
Note that the document is in early draft.
This would mean some rewriting of how the current chrome bot works BUT if you implement this system
you will basically get all differences between all exchanges that I add to Gekko with minimal effort* (you would only need to write your own API wrapper because of the difference between Node and Chrome) but all the differences how each API returns stuff are abstracted out by me. Once Gekko's portfolio manager is there you could also port all that code into the chrome bot.
*Once the portfolio manager is added to Gekko this will be Mt. Gox, BTC-e and Bitstamp right away (the three biggest exchanges at
this moment).