Bitcoin Forum
April 27, 2024, 05:08:07 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 3 4 5 6 7 8 9 »  All
  Print  
Author Topic: CryptoTrader.org - First Web-based Algorithmic Trading Platform for Bitcoin  (Read 37852 times)
pulsecat (OP)
Full Member
***
Offline Offline

Activity: 220
Merit: 100



View Profile WWW
June 01, 2013, 03:04:16 PM
Last edit: March 13, 2014, 07:59:05 AM by pulsecat
 #1

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.

CryptoTrader.org - Cloud-based Automated Trading on Bitstamp/BTC-E/CEX.IO/Bitfinex/Kraken | Discussion topic at Bitcointalk.org | Automated Trading Contest (Prize 2 BTC)
Even in the event that an attacker gains more than 50% of the network's computational power, only transactions sent by the attacker could be reversed or double-spent. The network would not be destroyed.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
whydifficult
Sr. Member
****
Offline Offline

Activity: 287
Merit: 250



View Profile WWW
June 01, 2013, 08:19:14 PM
 #2

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 Offline

Activity: 38
Merit: 0



View Profile
June 02, 2013, 12:46:39 AM
 #3

Interesting service, I'll be watching this thread.   Wink
pulsecat (OP)
Full Member
***
Offline Offline

Activity: 220
Merit: 100



View Profile WWW
June 02, 2013, 02:30:07 AM
 #4

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.

CryptoTrader.org - Cloud-based Automated Trading on Bitstamp/BTC-E/CEX.IO/Bitfinex/Kraken | Discussion topic at Bitcointalk.org | Automated Trading Contest (Prize 2 BTC)
whydifficult
Sr. Member
****
Offline Offline

Activity: 287
Merit: 250



View Profile WWW
June 02, 2013, 01:56:51 PM
 #5

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 Smiley

Gekko a nodejs bitcoin trading bot!
Realtime Bitcoin Globe - visualizing all transactions and blocks
Tip jar (BTC): 1KyQdQ9ctjCrGjGRCWSBhPKcj5omy4gv5S
pulsecat (OP)
Full Member
***
Offline Offline

Activity: 220
Merit: 100



View Profile WWW
June 07, 2013, 08:36:50 PM
Last edit: June 07, 2013, 08:57:16 PM by pulsecat
 #6

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 Smiley

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.

CryptoTrader.org - Cloud-based Automated Trading on Bitstamp/BTC-E/CEX.IO/Bitfinex/Kraken | Discussion topic at Bitcointalk.org | Automated Trading Contest (Prize 2 BTC)
pulsecat (OP)
Full Member
***
Offline Offline

Activity: 220
Merit: 100



View Profile WWW
June 20, 2013, 09:59:49 PM
 #7

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.



CryptoTrader.org - Cloud-based Automated Trading on Bitstamp/BTC-E/CEX.IO/Bitfinex/Kraken | Discussion topic at Bitcointalk.org | Automated Trading Contest (Prize 2 BTC)
joesmoe2012
Hero Member
*****
Offline Offline

Activity: 882
Merit: 501


Ching-Chang;Ding-Dong


View Profile WWW
June 21, 2013, 12:26:56 AM
 #8

Nice layout, simple and easy to use.

I'll be watching this.

Check out BitcoinATMTalk - https://bitcoinatmtalk.com
Cryptoin
Full Member
***
Offline Offline

Activity: 155
Merit: 100



View Profile
June 21, 2013, 12:41:22 AM
 #9

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
Sr. Member
****
Offline Offline

Activity: 287
Merit: 250



View Profile WWW
June 21, 2013, 09:30:15 AM
 #10

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)
Full Member
***
Offline Offline

Activity: 220
Merit: 100



View Profile WWW
June 21, 2013, 02:08:44 PM
 #11

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!

CryptoTrader.org - Cloud-based Automated Trading on Bitstamp/BTC-E/CEX.IO/Bitfinex/Kraken | Discussion topic at Bitcointalk.org | Automated Trading Contest (Prize 2 BTC)
pulsecat (OP)
Full Member
***
Offline Offline

Activity: 220
Merit: 100



View Profile WWW
June 21, 2013, 02:26:58 PM
Last edit: June 21, 2013, 10:45:21 PM by pulsecat
 #12

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.

CryptoTrader.org - Cloud-based Automated Trading on Bitstamp/BTC-E/CEX.IO/Bitfinex/Kraken | Discussion topic at Bitcointalk.org | Automated Trading Contest (Prize 2 BTC)
pulsecat (OP)
Full Member
***
Offline Offline

Activity: 220
Merit: 100



View Profile WWW
June 22, 2013, 05:56:54 PM
 #13

After a backtest is completed, a click on simulation details button will display trading log of all trades in the separate tab:







CryptoTrader.org - Cloud-based Automated Trading on Bitstamp/BTC-E/CEX.IO/Bitfinex/Kraken | Discussion topic at Bitcointalk.org | Automated Trading Contest (Prize 2 BTC)
ondratra
Sr. Member
****
Offline Offline

Activity: 350
Merit: 250



View Profile
June 23, 2013, 08:56:50 AM
 #14

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 Sad
pulsecat (OP)
Full Member
***
Offline Offline

Activity: 220
Merit: 100



View Profile WWW
June 26, 2013, 07:14:29 PM
 #15

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 Sad


Thanks for feedback. Now i'm developing the next version which will offer another approach to trading and support a lots of indicators.

CryptoTrader.org - Cloud-based Automated Trading on Bitstamp/BTC-E/CEX.IO/Bitfinex/Kraken | Discussion topic at Bitcointalk.org | Automated Trading Contest (Prize 2 BTC)
pulsecat (OP)
Full Member
***
Offline Offline

Activity: 220
Merit: 100



View Profile WWW
July 06, 2013, 05:21:30 PM
Last edit: July 06, 2013, 05:33:29 PM by pulsecat
 #16

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.

CryptoTrader.org - Cloud-based Automated Trading on Bitstamp/BTC-E/CEX.IO/Bitfinex/Kraken | Discussion topic at Bitcointalk.org | Automated Trading Contest (Prize 2 BTC)
marvinrouge
Sr. Member
****
Offline Offline

Activity: 378
Merit: 250



View Profile
July 15, 2013, 10:44:29 AM
 #17

great tool, thanks Smiley


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)
Full Member
***
Offline Offline

Activity: 220
Merit: 100



View Profile WWW
July 15, 2013, 11:30:58 AM
 #18

great tool, thanks Smiley


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:
Code:
    debug data.btc_usd.high[data.btc_usd.high.length-1]

Thanks for reporting this.

CryptoTrader.org - Cloud-based Automated Trading on Bitstamp/BTC-E/CEX.IO/Bitfinex/Kraken | Discussion topic at Bitcointalk.org | Automated Trading Contest (Prize 2 BTC)
marvinrouge
Sr. Member
****
Offline Offline

Activity: 378
Merit: 250



View Profile
July 15, 2013, 12:45:14 PM
 #19

great tool, thanks Smiley


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:
Code:
    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)
Full Member
***
Offline Offline

Activity: 220
Merit: 100



View Profile WWW
July 15, 2013, 12:57:17 PM
 #20

great tool, thanks Smiley


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:
Code:
    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:
Code:
  debug data.btc_usd.high.slice(-5)

To loop over array:
Code:
  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.

CryptoTrader.org - Cloud-based Automated Trading on Bitstamp/BTC-E/CEX.IO/Bitfinex/Kraken | Discussion topic at Bitcointalk.org | Automated Trading Contest (Prize 2 BTC)
Pages: [1] 2 3 4 5 6 7 8 9 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!