Post
Topic
Board Trading Discussion
Re: Gekko - a javascript trading bot and backtesting platform
by
kuzetsa
on 27/06/2014, 12:48:55 UTC
>> 1

What's the current status of your fork? You write that only CEX.IO is supported but in the config file there are options for Bitstamp/etc.? Also you say DEMA is supported but you opened a ticket where it says only MACD is working?

>> 2

Maybe it would be best if you opened a new thread for your fork so you can maintain current updates for people to see?

>> 3

Anyway, if I want to give this a testrun all I have to do is disable "Trader" and enable "ProfitSimulator", correct?

1, current status is a code audit, and cleanups for anything which makes sense, and asking questions and discussing the bits which are confused. Example:

WHAT IS that method in the DEMA.js? I do not know what that code even is. It is not using a "double EMA" of any kind, and I can't seem to find any sort of indicator based on that sort of algorithm. This is how it works:

Code:
~pseudocode~

Calculate a fast and slow EMA average

A = subtract one from the other

B = add one to the other, and divide it by 2

C = 100 times A divided B

based on the value of C, assume positive values mean an uptrend, and negative values mean a downtrend

I ... don't even know what that is. It is not called "DEMA" though I don't think, I've never seen any TA indicator which does that particular combination of things to two different EMAs...

I could have updated the ticket with more info after fixing the PPO code, but was tired last night... PPO has been audited and is now consistent with the new codebase, and I added the x2MACD now as well (which worked correctly overnight) -- updated: https://github.com/kuzetsa/gekko/issues/3

(and thanks for reminding me to look at that)



As for the current status, of "support for non-cex.io" mostly I'm just only supporting cex.io exchange because the API works, and I can only test with what I have available.

/// [[ nearly a decade ago --  My ex pulled a "kinda-sorta identity theft" thing on me out of spite during the breakup, and my bank didn't provide any remedy when I was cleaned out due to a spiteful angry situation, which among other things, left me feeling "not safe" for a couple years. ]]///

... and I do not have good enough credit to be allowed a bank account or otherwise do trades with FIAT-type currency (USD, etc. on bitstamp or whatever)

I will probably add support for things like vircurex or cryptsy, or otherwise exchanges which I'm able to fully test all currency pairs, but I will not be personally maintaining or providing code to support exchanges which support bank transfer.



2) I don't know. What to name, and why make such a new thread?. I have some errands to run today, and am open to suggestions but need to go get dressed right this minute. I'm comfortable with the idea of staying on this thread for a while longer though, since I wasn't the only person working on gekko before the project lost momentum several months ago.

3) the "trader" is disabled by default... "Profit simulator" isn't something I've audited, and it doesn't take into account the concept of reinvesting mined income from cex.io GHS. At this time, this particular code in my fork doesn't support the concept of "buy low / sell high" (or selling at all) so I'm not sure what you hope to achieve by enabling the profit simulator.

I'm open to the idea of making the new behavior "optional" and re-adding code which has "selling" logic...

HOWEVER!!! The main reason I removed it (in favor of a simple "buy and hold") was that the logic for how buy/sell would be handled was different for every trading method. There was no consensus from one method to the next how the logic would work for buy / sell / hold / reinvest / etc. and there were a lot of bugs relating to the different methods using different ways of tracking the state.



Edited to add:

I do not have time to proofread, I have to get dressed like 10 minutes ago.

Sorry for a rough draft, hope there wasn't too bad grammatical errors or spelling mistakes in this