- Have you ever traded cryptocurrencies and lost overview of your planned buys/sells?
- Have you encountered the experience that your buy order was executed while you slept, and before you could place any stop-loss, the price rushed so deep that you made huge loss?
- Have you ever complained about that there is no exchange where you can set for one and the same coin a sell order and a stop-loss at the same time?
- Have you ever had a really good trading plan but then you got greedy or anxious and messed it up?
Then EazeBot is your man!
EazeBot is a free Python-based Telegram bot that helps you defining an unlimited number of trade sets that will then be carried out for you via exchange APIs. Such a trade set is consisting of buy/sell levels and amounts and an optional stop-loss level. EazeBot lets you check the progress of your tradings, tells you about filled orders and triggered stop losses, and can tell your balances. Breakout trading (set buy order if daily candle closes over price X) are supported, too.
Most importantly: All popular exchanges are supported! (for supported exchanges see here)
You require Python 3 to be installed on your system.
After the next steps, no matter if you are on Windows or Linux/Mac, you should have two json files (APIs.json and botConfig.json) and some scripts in your target folder.
We simplified installation of the bot on Windows: Simply download (right click, save link as) this File and put the file in a folder, where you wish EazeBot files to be installed, and execute it.
The simpliest and recommended way of installing EazeBot is using the pip install command:
sudo python3 -m pip install eazebot
You then need to copy the configuration files to some folder. Here is an example to make a folder in your home directory and copy the files there:
sudo mkdir ~/eazebot
cd ~/eazebot
sudo python3 -c "from eazebot.auxiliaries import copyJSON; copyJSON()"
After installation of EazeBot you have to set up the bot so that you can control him via Telegram and that he can access your exchanges.
For this the following steps are necessary:
- Create a Telegram bot token using @botfather and add it to botConfig.json
- This sounds complicated but is rather simple. Start a chat with Botfather on Telegram and follow these instructions. Once you have the token, replace the YOURBOTTOKEN text in the botConfig.json file that comes with the EazeBot package (see above).
- Add your Telegram ID to botConfig.json
- This ensures that only you are able to control the bot via Telegram.
- Simply replace the 000000000 text in botConfig.json with your telegram ID. This is (normally) a 9-digit number. If you do not know it, simply start EazeBot bot (see step 4) and start a conversation with him (e.g. if you named your telegram bot @mysuperbot, search for him in Telegram and click the Start button). The bot will tell you your Telegram ID (now you can add it to the json file) and that you are not authorized (yet). Stop the bot (e.g. ctrl+c in Python) again for now!
- Create API keys for each exchange you want to access via EazeBot and add them to APIs.json
- Please refer on your exchange on how to create an API token.
- Normally, once you created an API token, you will see an API key and an API secret (sometimes also called private key).
These two keys need to be copy-pasted into the APIs.json file from the EazeBot package. The json file already contains
two examples on how this has to be done. Of course, if your exchange is not binance or coinbase, simply add your exchange keys analogously
(i.e. your exchange's name is XYZ, then it should be:
apiKeyXYZ : "YOURAPIKEY",
andapiSecretXYZ : "YOURAPISECRET",
(no comma in the last line before the } ) - Some exchanges also have more security factors, like a password or a uid. These are added analogously to the keys/secrets
(i.e. your exchange's name is XYZ, then it should be:
apiPasswordXYZ : "YOURAPIPASSWORD",
andapiUid : "YOURAPIUID",
(no comma in the last line before the } ) - Some exchanges allow you to determine what you can do with the created API token (e.g. read-only or no withdrawing etc.). Of course, EazeBot bot needs the permission to set and cancel orders for you and to fetch your balance in order to work properly. Also, if you want to use the built-in donation feature, it needs the right to withdraw.
- Run the bot and start a conversation via Telegram.
- On Windows, simply go to the folder where the JSONs were copied to and double-click startBotScript.py
- On Linux/Mac use the terminal, go to the folder, where the JSONs were copied to (see Installing_ step and run this command:
python startBotScript.py // on AWS Ubuntu it is python3 startBotScript.py
- Thereafter you should start a conversation with your bot on Telegram.
- The bot will welcome you and show you a menu of things you can do. Everything should be rather self-explanatory as the bot will have a dialog with you on everything you click.
We have added a Wiki with more details on installing and handling the bot. You may also open an issue if you encounter bugs or want to suggest improvements.
For the versions available, see the tags on this repository.
From time to time you should update EazeBot by
- Executing
python -m pip install eazebot --upgrade
on Linux/Mac - Double-clicking on updateBot.bat on Windows
- Marcel Beining - Ground work - MBeining
You may copy, distribute and modify the software provided that modifications are described and licensed for free under LGPL-3. Derivatives works (including modifications or anything statically linked to the library) can only be redistributed under LGPL-3, but applications that use the library don't have to be. See the LICENSE and LICENSE.LESSER file for details
Depending on my time and/or putative incentives (donations), I plan to add the following features (any suggestions welcome):
- add instant buy / sell
- move profit into fiat after trade set finished
- option to avoid flash crash SL triggering by checking e.g. after 5 min if SL is still reached.
- add info to the trade set what the current gain/loss would be when price reaches SL
- update the Wiki
If you want to support our project or simply want to say thank you for the profit you made with this bot, you can either use send your donation to one of the crypto addresses below, or use the built-in donation feature (Bot Info -> Donate button).
Currency | Address |
---|---|
Bitcoin | 3AP2u8wMwdSFJWCXNhUbfbV1xirqshfqg6 |
ETH | 0xE0451300D96090c1F274708Bc00d791017D7a5F3 |
Neo | AaGRMPuwtGrudXR5s7F5n11cxK595hCWUg |
XLM | GBJEFEFUAUVTWL5UYK3NTWW7J5J3SMH4XB7SYDZRWWEON5S5YHPI2LAR |
New! Also accepting payments via beerpay ๐ป!
Want a new feature to be implemented to EazeBot?
Thank you very much!