Here are a few questions that have been asked often as well as answers from the community.
If you have a question that is not answered here, feel free to ask in the Reddit community and suggest it to be placed here.
Thanks!
- Will I make money with Zenbot?
- Why do simulations, paper trading, and live trading all yield different results?
- Why should I use simulations or paper trading if they do not reflect live trading?
- Does Zenbot use Limit (maker) orders or Market (taker) orders?
- Can I install Zenbot on Windows?
- Is Docker necessary when installing Zenbot?
- How do I launch Zenbot?
- How do I update Zenbot?
- Why do I keep getting a "Nonce" error?
- Why do I keep getting a "JavaScript heap out of memory" error
Of course! Check out our Reddit community (subreddit zenbot).
There is also a shared Google Docs spreadsheet containing community sim results and variable descriptions.
That depends… Different configurations and strategies will yield different results.
The current default config and parameters will likely lose you money, so proceed with caution. Try running simulations and paper trading first to see how the bot acts (see warning below).
Simulations and paper trading almost always give overly optimistic results compared to live trading. This is because simulations and paper trading both make assumptions about when/if an order is filled.
Because Zenbot defaults to using Limit orders (which often lessen fees), there tends to be much more slippage (the difference between when the bot decides to buy and when it actually buys) in live trading. Due to this, live trading is almost always worse than sims and paper trading.
Also, remember that past results do not guarantee future returns.
Simulations are more optimistic than paper trading. Paper trading is more optimistic than live trading. Therefore, if a simulation does not yield good results, odds are that neither will paper trading or (by extension) live trading.
Zenbot uses Limit orders by default because on most exchanges, Limit orders result in lower fees than Market orders. For instance, on GDAX there is no fee for a Limit order trade compared to a 0.25% (BTC) or 0.3% (ETH & LTC) trade fee on a Market order.
Check your exchange for fees.
Yes, Zenbot can be installed on Windows, although it is recommended that Linux or macOS is used instead.
Please note that these instructions are for Windows 10.
- Install the "Bash on Windows subsystem" (see https://msdn.microsoft.com/en-us/commandline/wsl/about for more information)
Note: You can then choose between Ubuntu, Fedora and OpenSUSE in the Windows store.
-
Open a terminal window, your disks will now be mounted under
/mnt/*
. So for example navigate to your directory (example:cd /mnt/c/zenbot
) -
Install node (
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -; sudo apt-get install nodejs
) -
Run zenbot as you would otherwise
Note: MongoDB is not working in this subsystem, please use the Windows version!
No, Docker is often not necessary to run Zenbot. It is often simpler to run Zenbot on a Linux machine (Debian, CentOS, etc.) without Docker.
If running Zenbot on Windows, Docker may be needed.
After installation, you lauch Zenbot via command line. Examples:
./zenbot.sh backfill gdax.ETH-BTC
./zenbot.sh sim gdax.ETH-BTC --days=14
zenbot sim --days 14
You can generate a command with this shared Google Docs spreadsheet. Do not hesitate to copy this file to your Google drive or download it as an spreadsheet, as everybody can modify it simultaneously.
Without Docker:
git pull
npm install
./zenbot.sh trade --paper
With Docker:
git pull
docker-compose down
docker rmi zenbot_server
docker-compose build
docker-compose up -d
This error may occur when multiple instances of Zenbot are used with the same API key. To avoid this, use a different API key for each concurrent instance of Zenbot.
This could also occur if the Zenbot server's time is not correct. Using NTP will keep the time current and help avoid this error.
This error may occur when your node environment does not have enough memory.
Solution (Linux & Docker): Change the line
env node zenbot.js $@
in zenbot.sh to
env node --max-old-space-size=<memory> zenbot.js $@
where <memory>
is the amount of memory node is allowed to use (e.g. 4096 for 4GB). For Windows you have to change the file zenbot.bat respectively.