Pages:
Author

Topic: CryptoTrader.org - First Web-based Algorithmic Trading Platform for Bitcoin - page 5. (Read 37918 times)

legendary
Activity: 2413
Merit: 1003
I was wondering the whole time why the EMA made diferent results than I saw on the graph....Now i got it, I guess: EMA crosses trigger on the running candel? Doesn't make sense. How can I make the default EMAs script consider only CLOSED candels?
newbie
Activity: 57
Merit: 0
Love this thing. What's the default Ichimoku strategy? Gets great results on the hourly.
legendary
Activity: 2413
Merit: 1003


As regards support for more exchanges, it is not hard to add support of new one if they provide an API, though i couldn't find out what is Bitfinex market share? Checked here http://bitcoincharts.com/charts/volumepie/




you wont find their market share on Bitcoincharts,
actually it is part (how big?) of Bitstamps market share, as they provide margin trade over Bitstamp
full member
Activity: 220
Merit: 100
Hi I'm having some problems with implementing certain functions on ta-lib

When I try to apply RSI(14), the RSI value does not correspond to my RSI(14) data that I am cross checking with bitcoincharts.

Same goes with the SMA, however I am having a separate problem with that as well, I am trying to calculate SMA(200) and I get 'undefined' as the returned value, however when I run SMA(100) and below, the value calculates fine, somewhere between 100 and 200, the function cannot handle calculating that many periods, I'm not sure if it is an issue with ta-lib or the cryptotrader back-end.

For now, I have found a workaround by recursively calculating the SMA, but the RSI(14) value I'm not sure how to fix, maybe I am inputting the parameters incorrectly?

I looked through the API but I could not find anything explaining in greater depth the relationship that the parameters have with the calculation, do you think maybe we could start a github project in order to create documentation and API guide?

Here is my code for RSI(14)

Code:
   value = talib.RSI
      startIdx: 0
      endIdx: instrument.close.length-1
      inReal: instrument.close
      optInTimePeriod: 14
    context.RSI = _.last(value)

Not entirely sure what role the parameters play, like what would happen if I changed startIdx, endIdx (I have tried changing around the values and can't understand how it impacts calculations)? I'm not sure what inReal is/does either. Sorry, but I am strictly from an engineering background so not too familiar with terminology.

At first glance, the code is valid. In my understanding, the difference with bitcoincharts data can be caused by
 using insufficient initialization data in our implementation. At this time, each "instrument" object is pre-initialized with an array of 100 market data values. While this is enough for most indicators such as EMA and probably for SMA(?), it may be not enough for some indicators. Thanks for reporting this, I'll look deeper into the issue and see what needs to be fixed.
full member
Activity: 220
Merit: 100
Great platform !

Congratulation on your work.

Could you add Bitfinex ?
Great website !

Thanks for feedback! We are going to add more interesting features soon.

As regards support for more exchanges, it is not hard to add support of new one if they provide an API, though i couldn't find out what is Bitfinex market share? Checked here http://bitcoincharts.com/charts/volumepie/

member
Activity: 111
Merit: 10
Possibilities are limitless
Hi I'm having some problems with implementing certain functions on ta-lib

When I try to apply RSI(14), the RSI value does not correspond to my RSI(14) data that I am cross checking with bitcoincharts.

Same goes with the SMA, however I am having a separate problem with that as well, I am trying to calculate SMA(200) and I get 'undefined' as the returned value, however when I run SMA(100) and below, the value calculates fine, somewhere between 100 and 200, the function cannot handle calculating that many periods, I'm not sure if it is an issue with ta-lib or the cryptotrader back-end.

For now, I have found a workaround by recursively calculating the SMA, but the RSI(14) value I'm not sure how to fix, maybe I am inputting the parameters incorrectly?

I looked through the API but I could not find anything explaining in greater depth the relationship that the parameters have with the calculation, do you think maybe we could start a github project in order to create documentation and API guide?

Here is my code for RSI(14)

Code:
    value = talib.RSI
      startIdx: 0
      endIdx: instrument.close.length-1
      inReal: instrument.close
      optInTimePeriod: 14
    context.RSI = _.last(value)

Not entirely sure what role the parameters play, like what would happen if I changed startIdx, endIdx (I have tried changing around the values and can't understand how it impacts calculations)? I'm not sure what inReal is/does either. Sorry, but I am strictly from an engineering background so not too familiar with terminology.
sr. member
Activity: 476
Merit: 250
Great platform !

Congratulation on your work.

Could you add Bitfinex ?
legendary
Activity: 2478
Merit: 1362
member
Activity: 111
Merit: 10
Possibilities are limitless
Having trouble getting the RSI to calculate:

The following code:
Code:
   value = talib.RSI
    startIdx: 0
    endIdx: instrument.close.length-1
    inReal: instrument.close
    optInTimePeriod: 14
    result = _.last(value)
    
    debug result

debug value returns null like so:

Quote
2013-09-07 15:00 null
2013-09-07 15:15 null
2013-09-07 15:30 null
2013-09-07 15:45 null
2013-09-07 16:00 null

Any idea what's going on? Thanks.

EDIT:

Nevermind, looks like the double space matters quite a bit hahaha. Got it to work.
full member
Activity: 220
Merit: 100
Support for Bitstamp has been added
full member
Activity: 220
Merit: 100
OK, i see what happened. The problem is caused by careless merging of the code related to real trading mode,where orders are processed asynchronously. Should be fixed by now. Sorry for confusion.
member
Activity: 90
Merit: 10
       
Code:
       ...
        buy instrument # Spend all amount of cash for BTC
        if buy instrument #<< how do I check if  a buy was executed this tick?
        ...

As the 'buy' is a function, the above code make it called twice, so that the second call returns undefined value. The right way to do it:
Code:
       ...
        orderId = buy instrument # Spend all amount of cash for BTC
        if orderId
           # a buy was executed
           context.buy_price = instrument.price
           ...

I am not sure what exactly you changed to the platform, but the "if orderId" part doesn't seem to work no more?! Without it I cannot determine if a buy or sell order was executed and thus cannot store variables such as buy or sell prices in the context object for later reference anymore. Please change it back?
I just realized that this is also what probably screwed up my entry for the contest, round 3.
full member
Activity: 220
Merit: 100
ReferenceError: amount is not defined

I get this error on every Backtest I attempted.

Thanks for reporting this. Fixed.
jr. member
Activity: 54
Merit: 10
ReferenceError: amount is not defined

I get this error on every Backtest I attempted.
legendary
Activity: 1974
Merit: 1077
^ Will code for Bitcoins
We've added new "Real Trading" feature that allows any algorithm to trade at MtGox via their API. To start real trading:
- register at http://cryptotrader.org & verify your email
- upgrade account (costs $10/month)
- backtest your algorithm
- click "Trade" button, then go to "Real Trading" tab and fill the account form with your MtGox API secret & key.
- start trading bot by clicking 'Create'

Great news! I'm sad for not having enough time to prepare for your competition, maybe there will be round #3  Grin This certainly is additional motivation.
full member
Activity: 220
Merit: 100
newbie here  Grin
visited the site and read threads but still don't get it  Roll Eyes
so can you actually use it to do real trades or is it just a tool to simulate strategies? (I'm looking for a program to do trades for me while I'm away  Roll Eyes )

We've added new "Real Trading" feature that allows any algorithm to trade at MtGox via their API. To start real trading:
- register at http://cryptotrader.org & verify your email
- upgrade account (costs $10/month)
- backtest your algorithm
- click "Trade" button, then go to "Real Trading" tab and fill the account form with your MtGox API secret & key.
- start trading bot by clicking 'Create'
full member
Activity: 286
Merit: 100
newbie here  Grin
visited the site and read threads but still don't get it  Roll Eyes
so can you actually use it to do real trades or is it just a tool to simulate strategies? (I'm looking for a program to do trades for me while I'm away  Roll Eyes )

The latter. If you want the former, Gekko would be useful.

Matthew:out
hero member
Activity: 623
Merit: 500
newbie here  Grin
visited the site and read threads but still don't get it  Roll Eyes
so can you actually use it to do real trades or is it just a tool to simulate strategies? (I'm looking for a program to do trades for me while I'm away  Roll Eyes )
full member
Activity: 220
Merit: 100
Very cool, thanks!

There is one minor annoyance that could be easily fixed:
The chart frame is always too small and cannot be maximized, you always have to scroll to see the dates. At the same time, the code and log frames leave an empty space unused at the bottom of the screen. Could you move those two down and show the whole chart again?

Some more ideas:
1) copy to clipboard buttons for source code and log would be great (especially for the log, since scrolling increments get too large with very long logs so you cannot read them properly anymore without copying to an external text editor)
2) Is the fee value from the settings tab somehow accesible from within the code? (context.fee for example?)
3) Right now, you always have to start with fiat. Could you add an "initial balance (BTC)" option to the settings tab?
4) as already mentioned by someone else, graphical display of buys and sells (green/red dot) in the chart would be extremely helpful.

New update should fix the annoyance, as the application now remembers the layout across browser sessions. Also adds 'Copy' feature to the Log tab.
#2 #3 added to the roadmap and #4 is there already

Thanks for pointing these out!

Hi there,

I registered on the site as was very impressed but I couldn't find any way to create an actual trader and backtest it. I could only backtest the 'featured' traders. Am I missing something ?

I'm assuming that this is only a simulator as the transaction fees seem unrealistically low at 0.55% ?

Is there some way of downloading the historical data so I can do some training offline and then just implement the trader in your coffeescript later ?

Thanks, and it's a great looking site.

Andrew

Thanks for feedback. To create new trader configuration, all you need is to start backtest and then click 'Live' button when it is completed. I will get this documented somewhere on the site. As it is browser based, Cryptotrader does not allow to download market data.
member
Activity: 73
Merit: 10
Hi there,

I registered on the site as was very impressed but I couldn't find any way to create an actual trader and backtest it. I could only backtest the 'featured' traders. Am I missing something ?

I'm assuming that this is only a simulator as the transaction fees seem unrealistically low at 0.55% ?

Is there some way of downloading the historical data so I can do some training offline and then just implement the trader in your coffeescript later ?

Thanks, and it's a great looking site.

Andrew
Pages:
Jump to: