DeviaVir / zenbot

Zenbot is a command-line cryptocurrency trading bot using Node.js and MongoDB.
MIT License
8.22k stars 2.04k forks source link

Switching to gekko #121

Closed albertolive closed 7 years ago

albertolive commented 7 years ago

Hi,

Today I saw that gekko now supports GDAX under the branch develop. I'm switching to gekko to see how it goes. There's more active community there.

Zenbot is a great project but, it seems that anyone is maintaining it anymore.

Good luck!

nedievas commented 7 years ago

I have made working branch completely supporting Bitfinex.

praeluceo commented 7 years ago

I see your branch, does it still work on GDAX or did you have to remove that logic to get it to run on Bitfinex? I could spin up a second docker instance, but it'd be handy if the same bot could trade on both (maybe perform arbitrage in the future).

nedievas commented 7 years ago

I had to rewrite default_logic. Still, you may have logics separately, just use separate configs for each one.

arruah commented 7 years ago

@albertolive is this profitable than gekko?

arruah commented 7 years ago

@nedievas If I just add the configuration files from your brunch here? Will this work?

nedievas commented 7 years ago

@arruah You may try.

carlos8f commented 7 years ago

@albertolive It might interest you that I'm now working on zenbot 4.x, see #134 , will be a complete rewrite of zenbot.

I tried gekko recently and was a bit let down.

First, I couldn't make a simulated profit using the built-in strategies that came close to buy/hold. I think it's asking a lot for average users to come up with and implement a winning strategy just to make any amount of profit, or else you have the silly scenario where it would be more profitable to NOT use the bot, haha.

Second, it appeared that when it places an order, it uses the exact ask/bid price, increasing chances that it will be filled immediately, and thus subject to taker fees (and indeed, the paper trader assumes every trade will have a 0.25% fee). Ideally a bot tries to avoid fees by marking up/down the price slightly and re-adjusting the bid periodically. I made the mistake of not doing that with zenbot 3.x, and it's a big difference. Consider that on a $1200 trade, 0.25% is $3. With 90 days of trading, 1 trade per day, is $270 of fees, or 22% of your capital! So it's clear that a bot that accumulates fees is going to barely break even, and defeats the "passive profit" goal of bot trading.

Third, the backtester iterates candles, not trades, making it impossible to model a limit order strategy. You have to assume that the trade will go through at the candle's close price, which assumes market-type orders, which assumes fees (see above point for why a bot that assumes fees is bad). Another mistake I made in zenbot 3.x, and fixing in 4.x. In 4.x the simulator iterates trades, enabling real modeling of limit orders and slippage.

I'm curious what you guys might find better in gekko, so I can try to incorporate that into zenbot 4.x.

arruah commented 7 years ago

It's good. In what time frame can we expect a new version? What about implementing the capabilities of a neural network? As I understand it does not work now.

carlos8f commented 7 years ago

@arruah see #134 and #128

arruah commented 7 years ago

Can you offer paid support?

carlos8f commented 7 years ago

No, zenbot is for now a hobby-level project, and I don't offer support

albertolive commented 7 years ago

Hi @carlos8f, it's good to know you are back :) I tried gekko but I quit for things you commented so I'm exited to see the new zenbot. For your info, with RSI and default logic I won 700$ but I lost all after that.

arruah commented 7 years ago

@carlos8f Anyway, I made some donation. :) If you are interested in the future in providing paid support. arruah @ gmail.com

carlos8f commented 7 years ago

@arruah thanks for the donation! Zenbot 4 is out now, please give it a try.