pulsecat (OP)
|
|
June 01, 2013, 03:04:16 PM Last edit: March 13, 2014, 07:59:05 AM by pulsecat |
|
Cryptotrader.org is an algorithmic trading platform that allows traders to backtest and automate their strategies via a flexible built-in scripting language based on Coffeescript( http://coffeescript.org/). In other words, anyone with minimal programming skills can backtest his trading ideas on historical data (only mtgox supported at this moment). The scripting engine API includes integration of TA lib ( http://ta-lib.org/) and Underscore JS. To run your own code: - Implement two methods in coffeescript (for details checkout comments in the sample script at http://cryptotrader.org) - Set up data source. This step assumes selection of a platform, trading frequency and date range that will be used to fetch historical data. - Configure backtest settings such as initial cash amount and trading fee % using the form at bottom right. Once the above steps are completed, click on Backtest button and watch the log. If the code compiled successfully, your algorithm will be executed and logged by the simulation platform. Any backtest session can be shared by posting its unique URL, that also comes handy if you would like to report a problem. Other users won't be able to see your code unless you share it. Even if you don't have programming skills, you still can run any algorithm of your choice to trade for bitcoins at Mtgox or Bitstamp. For example, let's say you want to trade EMA method at MtGox: 1) Register at site and then upgrade your account to enable automated trading. 1) At Home page you will find links to some basic algorithms, one of those is EMA 10/21. 2) Go to the link to open the backtest tool. Configure backtest settings if needed using the form at top. Then click 'Backtest' button. Once the simulation is finished, you will get a log that shows how the strategy performed on historical market data at MtGox. Backtesting is an important procedure to test validity of any trading strategy. 3) Let's say you are satisfied with the backtest results and now you want configure bot to do trading for you MtGox: Click 'Trade' button, you will see the form that allows you to configure trading bot, put you API key & secret into it and then click 'Start'. After connecting to the exchange, you trading bot configuration should appear at this page.That's it.
|
|
|
|
|
|
|
There are several different types of Bitcoin clients. The most secure are full nodes like Bitcoin Core, but full nodes are more resource-heavy, and they must do a lengthy initial syncing process. As a result, lightweight clients with somewhat less security are commonly used.
|
|
|
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
|
|
|
|
whydifficult
|
|
June 01, 2013, 08:19:14 PM |
|
I have registered, always nice to see more and more alternatives. Site looks clean & the UX is pretty good for such a techical tool, nice job.
You are talking about the limits of a free account, does this mean you will offer a paid service as well? If not is it open source?
There was one big thing on the website though: you are logging the password in plain text to console. I was checking it out with someone behind me who now caught a glimpse of my password. This probably also means the password is now stored in plain text in my browser's cache somewhere. You really need to fix this ASAP imo.
|
Gekko a nodejs bitcoin trading bot! Realtime Bitcoin Globe - visualizing all transactions and blocks Tip jar (BTC): 1KyQdQ9ctjCrGjGRCWSBhPKcj5omy4gv5S
|
|
|
theFed
Newbie
Offline
Activity: 38
Merit: 0
|
|
June 02, 2013, 12:46:39 AM |
|
Interesting service, I'll be watching this thread.
|
|
|
|
pulsecat (OP)
|
|
June 02, 2013, 02:30:07 AM |
|
whydifficult: Agreed, this is serious security issue. Fixed it. Thanks for letting me know. As regards paid services, yes, while base functions will always be free, some options will require paid membership, because like any service that offers computational resources, it needs to pay for itself somehow. For example, the backend is running at dedicated server, that is not cheap, providers charge for sms messages and so on.. I've just checked out your Gekko project and it's kind of amazing. I'm also going to release my trading engine code to open source at some point. It is also coded in Javascript/Node JS by the way, however uses slightly different approach.
|
|
|
|
whydifficult
|
|
June 02, 2013, 01:56:51 PM |
|
whydifficult: Agreed, this is serious security issue. Fixed it. Thanks for letting me know. As regards paid services, yes, while base functions will always be free, some options will require paid membership, because like any service that offers computational resources, it needs to pay for itself somehow. For example, the backend is running at dedicated server, that is not cheap, providers charge for sms messages and so on.. I've just checked out your Gekko project and it's kind of amazing. I'm also going to release my trading engine code to open source at some point. It is also coded in Javascript/Node JS by the way, however uses slightly different approach.
Thanks, Gekko is something users have to download themselves so it doesn't have this problem. It also doesn't even have a frontend / GUI. This does make it much harder to use for end users. (It is only two weeks old by the way). I don't know how far you are at implementing different exchanges but I proposed a more universal way to handle different exchanges in JS bots last week. If you are interested check out the Portfolio Manager's expectations and the Trading method's expectations in this document. The advantage of using this system is that all differences between exchange APIs are abstracted away already (I have implementations for Mt. Gox, BTC-e and Bitstamp). Maybe this can be something for your engine? I would ask that if you use this and you add / remove exchanges or features that you give them back to the community. It would be awesome if you open source the trading engine, there are currently multiple competitors who are also trying to make money and keeping the source to themselves. I just think it would benefit the community if more ideas and implementations became open. So it would also be great if you see something in Gekko (or any other open source trading bot for that matter) that could be improved and let us know
|
Gekko a nodejs bitcoin trading bot! Realtime Bitcoin Globe - visualizing all transactions and blocks Tip jar (BTC): 1KyQdQ9ctjCrGjGRCWSBhPKcj5omy4gv5S
|
|
|
pulsecat (OP)
|
|
June 07, 2013, 08:36:50 PM Last edit: June 07, 2013, 08:57:16 PM by pulsecat |
|
Thanks, Gekko is something users have to download themselves so it doesn't have this problem. It also doesn't even have a frontend / GUI. This does make it much harder to use for end users. (It is only two weeks old by the way). I don't know how far you are at implementing different exchanges but I proposed a more universal way to handle different exchanges in JS bots last week. If you are interested check out the Portfolio Manager's expectations and the Trading method's expectations in this document. The advantage of using this system is that all differences between exchange APIs are abstracted away already (I have implementations for Mt. Gox, BTC-e and Bitstamp). Maybe this can be something for your engine? I would ask that if you use this and you add / remove exchanges or features that you give them back to the community. It would be awesome if you open source the trading engine, there are currently multiple competitors who are also trying to make money and keeping the source to themselves. I just think it would benefit the community if more ideas and implementations became open. So it would also be great if you see something in Gekko (or any other open source trading bot for that matter) that could be improved and let us know I've looked through the gekko's source code and found that it is very lightweight and reusable. Also i found that the abstraction model of my engine is very similar. The only major difference is the application architecture: In your Gekko, the code for downloading trading data and calculations are running within the same process, whereas the Cryptotrader, due to its SaaS nature, requires to provide some level of scalability that assumes actively using of database and inter-process communications.
|
|
|
|
pulsecat (OP)
|
|
June 20, 2013, 09:59:49 PM |
|
New version released today includes the following changes: - Bugfix - Trading bot limit increased up to 5 - Simulation Mode that allows to backtest trading strategies on historical mtgox data. For instance, the below simulation compares EMA 10/21 strategies with different trading intervals over the period since 31/03.
|
|
|
|
joesmoe2012
|
|
June 21, 2013, 12:26:56 AM |
|
Nice layout, simple and easy to use.
I'll be watching this.
|
|
|
|
Cryptoin
|
|
June 21, 2013, 12:41:22 AM |
|
Love the idea of the built in simulator. A few suggestions.
1. when creating a simulation it automatically chooses tomorrow as the end date but that is in the future and won;t let you move forward. Have it choose today or yesterday as the end date by default.
2. There doesn't appear to be a way to edit or view the details of you trading simulations or traders. You have to create a new one everytime. Change that.
3. The initial "Balance" doesn't specify the currency. Add something that tells the user it is US dollars.
|
|
|
|
whydifficult
|
|
June 21, 2013, 09:30:15 AM |
|
I am really impressed by the interface / website, it really looks professional. Good job! Love the idea of the built in simulator. A few suggestions.
1. when creating a simulation it automatically chooses tomorrow as the end date but that is in the future and won;t let you move forward. Have it choose today or yesterday as the end date by default.
2. There doesn't appear to be a way to edit or view the details of you trading simulations or traders. You have to create a new one everytime. Change that.
3. The initial "Balance" doesn't specify the currency. Add something that tells the user it is US dollars.
Just tested the simulation and came to the same points. I would also like to add: It took me a while to figure out that simulation is a backtesting tool after trying to setup a simulator for the next couple of months 3 times. It now appears that when reloading the simulations overview page it will load in the simulations after a few seconds, but until that time it will say that you don't have any. edit: someone adviced talib as TA library in my bots thread, maybe that is something you could use to get over 100+ indicators? There is a npm wrapper for it.
|
Gekko a nodejs bitcoin trading bot! Realtime Bitcoin Globe - visualizing all transactions and blocks Tip jar (BTC): 1KyQdQ9ctjCrGjGRCWSBhPKcj5omy4gv5S
|
|
|
pulsecat (OP)
|
|
June 21, 2013, 02:08:44 PM |
|
Nice layout, simple and easy to use.
I'll be watching this.
Thanks. More updates are coming. Love the idea of the built in simulator. A few suggestions.
1. when creating a simulation it automatically chooses tomorrow as the end date but that is in the future and won;t let you move forward. Have it choose today or yesterday as the end date by default.
2. There doesn't appear to be a way to edit or view the details of you trading simulations or traders. You have to create a new one everytime. Change that.
3. The initial "Balance" doesn't specify the currency. Add something that tells the user it is US dollars.
1 & 3 to be fixed by the next release. The view/edit feature are going be added a bit later since it requires more efforts to implement. Thanks for pointing this out!
|
|
|
|
pulsecat (OP)
|
|
June 21, 2013, 02:26:58 PM Last edit: June 21, 2013, 10:45:21 PM by pulsecat |
|
I am really impressed by the interface / website, it really looks professional. Good job! Love the idea of the built in simulator. A few suggestions.
1. when creating a simulation it automatically chooses tomorrow as the end date but that is in the future and won;t let you move forward. Have it choose today or yesterday as the end date by default.
2. There doesn't appear to be a way to edit or view the details of you trading simulations or traders. You have to create a new one everytime. Change that.
3. The initial "Balance" doesn't specify the currency. Add something that tells the user it is US dollars.
Just tested the simulation and came to the same points. I would also like to add: It took me a while to figure out that simulation is a backtesting tool after trying to setup a simulator for the next couple of months 3 times. It now appears that when reloading the simulations overview page it will load in the simulations after a few seconds, but until that time it will say that you don't have any. edit: someone adviced talib as TA library in my bots thread, maybe that is something you could use to get over 100+ indicators? There is a npm wrapper for it. Agreed with you, talib looks very promising. EclipseTrader is an excellent tool that supports embedded scripting is based on ta-lib. Though it is unclear if ta-lib project is still maintained because latest update is dated six years ago.
|
|
|
|
pulsecat (OP)
|
|
June 22, 2013, 05:56:54 PM |
|
After a backtest is completed, a click on simulation details button will display trading log of all trades in the separate tab:
|
|
|
|
ondratra
|
|
June 23, 2013, 08:56:50 AM |
|
Nice service! But please add error messages to forms!!!! Unfortunately when i run simulation with default settings, i lose capital, so this strategy not seems to be good
|
|
|
|
pulsecat (OP)
|
|
June 26, 2013, 07:14:29 PM |
|
Nice service! But please add error messages to forms!!!! Unfortunately when i run simulation with default settings, i lose capital, so this strategy not seems to be good Thanks for feedback. Now i'm developing the next version which will offer another approach to trading and support a lots of indicators.
|
|
|
|
pulsecat (OP)
|
|
July 06, 2013, 05:21:30 PM Last edit: July 06, 2013, 05:33:29 PM by pulsecat |
|
New version of Cryptotrader project offers completely different approach for backtesting your trading strategies. Old UI based on wizard forms has been removed. Instead, the application now allows to run trading algorithms coded in Coffeescript language ( http://coffeescript.org/). In other words, anyone with minimal programming skills can now backtest his trading ideas on historical data (only mtgox supported at this moment). The scripting engine API includes integration of TA lib ( http://ta-lib.org/), but only few functions are available at the moment. Though, this is alpha version very unstable and buggy, you may try to run your own code by following the below three steps: - Implement two methods in coffeescript (for details checkout comments in the sample script at http://cryptotrader.org) - Setup data source. This step assumes selection of platform, trading period and date range that will be used to fetch historical data - Configure backtest settings such as initial cash amount and trading fee % using the form at bottom right. Once the above steps are completed, click on Run button. If the code compiled successfully, your algorithm will be executed and logged by the simulation platform. Any backtest session can be shared by posting its unique URL, that also comes handy if you would like to report a problem.
|
|
|
|
marvinrouge
|
|
July 15, 2013, 10:44:29 AM |
|
great tool, thanks but I don't understand how to make my own scripts In your help, there is an exemple debug data.btc_usd.high[data.btc_usd.length-1] # Displays current High value If I try it and copy-paste the line in the source code, all I have is null null null ... What can I change to have the correct values in the backtest field ?
|
|
|
|
pulsecat (OP)
|
|
July 15, 2013, 11:30:58 AM |
|
great tool, thanks but I don't understand how to make my own scripts In your help, there is an exemple debug data.btc_usd.high[data.btc_usd.length-1] # Displays current High value If I try it and copy-paste the line in the source code, all I have is null null null ... What can I change to have the correct values in the backtest field ? This seems to be a documentation issue. The valid code for accessing current High price is: debug data.btc_usd.high[data.btc_usd.high.length-1]
Thanks for reporting this.
|
|
|
|
marvinrouge
|
|
July 15, 2013, 12:45:14 PM |
|
great tool, thanks but I don't understand how to make my own scripts In your help, there is an exemple debug data.btc_usd.high[data.btc_usd.length-1] # Displays current High value If I try it and copy-paste the line in the source code, all I have is null null null ... What can I change to have the correct values in the backtest field ? This seems to be a documentation issue. The valid code for accessing current High price is: debug data.btc_usd.high[data.btc_usd.high.length-1]
Thanks for reporting this. Thank you ! How do you get the high price of the 5 last hours for example (if we are in hourly mode) ? Is there a function or do you have to make a loop ?
|
|
|
|
pulsecat (OP)
|
|
July 15, 2013, 12:57:17 PM |
|
great tool, thanks but I don't understand how to make my own scripts In your help, there is an exemple debug data.btc_usd.high[data.btc_usd.length-1] # Displays current High value If I try it and copy-paste the line in the source code, all I have is null null null ... What can I change to have the correct values in the backtest field ? This seems to be a documentation issue. The valid code for accessing current High price is: debug data.btc_usd.high[data.btc_usd.high.length-1]
Thanks for reporting this. Thank you ! How do you get the high price of the 5 last hours for example (if we are in hourly mode) ? Is there a function or do you have to make a loop ? Array data can be accessed very easily: debug data.btc_usd.high.slice(-5)
To loop over array: prices = data.btc_usd.high.slice(-5) for val in prices debug val
If you're interested in writing your own scripts at Cryptotrader, i would recommend you to examine Coffeescript Documentation at first. It is a language with very expressive and clean syntax.
|
|
|
|
|