Trading-Bots - Part 1 - Overview and introduction

I am not responsible for anything done with this bot(s). You use it at your own risk.
There are no warranties or guarantees expressed or implied. You assume all responsibility and liability.


This is the first part of my new series about the trading-bots "Gekko" and "ZenBot" which are both NodeJS high-frequency trading-bots written in Javascript. There are plenty more of these bots out there and I tried many of them ... but these two above gave me the most satisfying feeling while installing, simulating or trading with them.

For the sake of this first part, I will give you a brief overview of the chosen trading-bots and show you their capabilities. So let´s start with "ZenBot".



Description from Github

Fully-automated technical-analysis-based trading approach

Full support for Binance, Bitfinex, Bitstamp, Bittrex, CEX.IO, GDAX, Gemini, HitBTC, Kraken, Poloniex, QuadrigaCX and TheRockTrading, work on further exchange support is ongoing.

Plugin architecture for implementing exchange support, or writing new strategies

Simulator for backtesting strategies against historical data

"Paper" trading mode, operates on a simulated balance while watching the live market

Configurable sell stops, buy stops, and (trailing) profit stops

Flexible sampling period and trade frequency - averages 1-2 trades/day with 1h period, 15-50/day with 5m period

"ZenBot" was the first bot I found out there in the wilderness of the internet. Since I´m a web developer and big Javascript fan, I thought I could give it a try. I was very impressed by all the capabilities it had and still has. Over time many improvements where made and I started to play a little bit around with the simulation part.

"You should ALWAYS simulate your strategy before starting to trade with real assets/money"

I found out, after spending some hours simulating, that it isn´t easy to come up with a working strategy for my own. So I started to search for some tutorials and wondered why there are not so many out there... Maybe no one is willing to give you his strategy, because if everyone is using the same strategy, it wouldn't work well and couldn´t generate that much money as it could.

But enough from my side and let´s have a look at all the exchanges and strategies "ZenBot" has to offer.




bollinger - Buy when (Signal ≤ Lower Bollinger Band) and sell when (Signal ≥ Upper Bollinger Band).
cci_srsi - Stochastic CCI Strategy
crossover_vwap - Estimate trends by comparing "Volume Weighted Average Price" to the "Exponential Moving Average".
dema - Buy when (short ema > long ema) and sell when (short ema < long ema).
forex_analytics - Apply the trained forex analytics model.
macd - Buy when (MACD - Signal > 0) and sell when (MACD - Signal < 0).
momentum - MOM = Close(Period) - Close(Length)
neural - Use neural learning to predict future price. Buy = mean(last 3 real prices) < mean(current & last prediction)
noop - Just do nothing. Can be used to e.g. generate candlesticks for training the genetic forex strategy.
rsi - Attempts to buy low and sell high by tracking RSI high-water readings.
sar - Parabolic SAR
speed - Trade when % change from last two 1m periods is higher than average.
srsi_macd - Stochastic MACD Strategy
stddev - Buy when standard deviation and mean increase, sell on mean decrease.
ta_ema - Buy when (EMA - last(EMA) > 0) and sell when (EMA - last(EMA) < 0). Optional buy on low RSI.
ta_macd - Buy when (MACD - Signal > 0) and sell when (MACD - Signal < 0).
ta_macd_ext - Buy when (MACD - Signal > 0) and sell when (MACD - Signal < 0) with controllable talib TA types
ta_trix - TRIX - 1-day Rate-Of-Change (ROC) of a Triple Smooth EMA with rsi oversold
trend_ema (default) - Buy when (EMA - last(EMA) > 0) and sell when (EMA - last(EMA) < 0). Optional buy on low RSI.
ta_ppo - PPO - Percentage Price Oscillator with rsi oversold
ta_ultosc - ULTOSC - Ultimate Oscillator with rsi oversold
ti_hma - HMA - Hull Moving Average
trendline - Calculate a trendline and trade when trend is positive vs negative.
trust_distrust - Sell when price higher than $sell_min% and highest point - $sell_threshold% is reached. Buy when lowest price point + $buy_threshold% reached.
wavetrend - Buy when (Signal < Oversold) and sell when (Signal > Overbought).


Ok, I hope this gives you an overview of "ZenBot" and its capabilities. Now let´s move on to "Gekko" the second bot in our list.



I found "Gekko" sometime after "ZenBot" and I was very impressed by its frontend. With "Gekko" you get a fully working website in your browser, where you can see your current trades or even simulating results in a table with candlesticks. This makes it more readable than the results from our first bot "ZenBot". In "ZenBot" you can only see the results in your command shell because all of these bots are used by inserting a specific line of code to start the bot with some parameter that we specified before to overwrite the default values used by "ZenBot" or "Gekko".


I think you can now see what I meant. The one from "Gekko" is in lot more readable state as the one from "ZenBot". But don´t worry, I will tell you all the things you should know about the simulating results in a later tutorial. Next, I show you the exchanges and strategies "Gekko" has to offer. 


"ZenBot" has changed much over time and I just realized that the simulating function can now also produce an HTML file which shows you the results like "Gekko". I haven´t mentioned it because in older versions this has not bee working so great... So yeah here is a screenshot for you.



The Rock Trading
BTC Markets
Luno previously BitX
Quadriga CX



As you can see, "ZenBot" has slightly more strategies than "Gekko" but "Gekko" can use more exchanges than "ZenBot". After this little overview, my next post/tutorial will cover "ZenBot" and the third tutorial will cover "Gekko". So you can learn how to install the bots on windows or ubuntu and how to start your first simulation. After the installation and the first test simulation of our two bots, we will start another tutorial, to show you about how to find the right strategy for you and your coin of choice. Also, we are going to make a dive into the deep water of coins and how to find the right coin for you to trade.



Next week I also want to start a little experiment. I want to start a trading bot with a strategy chosen by YOU the reader. I will make a start with a strategy and you can write every week at my "Bot-Update" post in the comments, what I should alter at my parameters to make the bot even more efficient. After 8 weeks I want to draw a winner from all readers who have made an acceptable submit to alter the parameter. This reader can then win all the profit made by the bot in the 8 week period.

A submitted parameter leading to guaranteed loss does not count at all


I hope you enjoyed this little introduction to "ZenBot" and "Gekko".


Best Regards



How do you rate this article?




Web & App Developer

Trading-Bots - All about ZenBot and Gekko
Trading-Bots - All about ZenBot and Gekko

Here you can learn how to use the trading-bots "Gekko" and "ZenBot". Both are NodeJS high-frequency trading bots written in JavaScript. I will cover all aspects like setting up your own bot up to real trading. I will also publish my results every week.

Send a $0.01 microtip in crypto to the author, and earn yourself as you read!

20% to author / 80% to me.
We pay the tips from our rewards pool.