MarcelBeining / EazeBot

Free python/telegram bot for easy execution and surveillance of crypto trading plans on multiple exchanges.
GNU General Public License v3.0
117 stars 37 forks source link
crypto cryptocurrencies cryptotrader exchange investment-portfolio portfolio-management python strategy telegram-bot trading trading-bot

GitHub PyPi Docker

Docker Pulls GitHub repo size in bytes GPLv3 license GitHub last commit GitHub top language GitHub issues

EazeBot

Introduction

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)

Installation

There are different ways to install EazeBot. We recommend using Docker as this guarantees system- independent compatibility.

After the next steps, no matter if you are on Windows or Linux/Mac, you should have at least a "user_data" folder in your target folder containing two json files (APIs.json and botConfig.json). Under Windows there are additional bat files for easier execution.

With docker

You require Docker to be installed on your system.

  1. Create a new folder for EazeBot
  2. Download (right click, save link as) this File to that folder.
  3. Open a terminal, cd to your EazeBot directory and run

    docker-compose run --rm eazebot --init

With Pip

You require Python 3.6 or higher to be installed on your system.

Windows

We simplified installation/configuration of the bot on Windows:

  1. Simply download (right click, save link as) this File ) and put the file in a folder, where you wish EazeBot files to be installed.
  2. Then execute it.

Linux/Mac

  1. The simpliest and recommended way of installing EazeBot is using the pip install command:

    sudo python3 -m pip install eazebot
  2. 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
    python3 -m eazebot --init"

Getting Started

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.

Obtain the necessary configuration tokens and keys

For this the following steps are necessary:

  1. Create a Telegram bot token using @botfather

    • This sounds complicated but is rather simple. Start a chat with Botfather on Telegram and follow these instructions. The token you get in the end is needed during EazeBot configuration.
  2. Get your Telegram ID

    • Your Telegram ID is needed during EazeBot configuration, too. It ensures that only you are able to control the bot via Telegram. The Telegram ID is (normally) a 9-digit number.
    • If you do not know it, you can talk to the userinfobot.
  3. Create API keys for each exchange you want to access via EazeBot

    • Please refer on your exchange on how to create an API token.
    • 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.
    • Normally, once you created an API token, you will see an API key and an API secret (sometimes also called private key). This information is needed during EazeBot configuration, so save it temporarily somewhere.
    • Some exchanges also have more security factors, like a API password (not your exchange login password!)or an uid. If existent, please temporarily save this information as you will need it for EazeBot configuration, too.

Interactive configuration

With docker

Run the following command in your EazeBot folder:

docker-compose run --rm eazebot --config

With pip / others

Run the following command in your EazeBot folder:

python3 -m eazebot --config"

Manual configuration

We recommend the interactive configuration, as editing the json files in the wrong way may lead to EazeBot not being functional! However, here is how you can configure EazeBot manually (all json files are located in the _userdata folder within your EazeBot folder, assuming you have installed EazeBot correctly):

Start EazeBot

Now you can run the bot and start a conversation via Telegram.**

Update EazeBot

From time to time you should update EazeBot:

  1. Stop EazeBot with Telegram by clicking on Settings in the main menu, then *Stop bot* and then confirm the stop dialog.
  2. The way of updating depends on your OS and installation:
    • Windows:
      • Double-clicking on updateBot.bat in your EazeBot folder
    • Linux/Mac:
  3. Restart the Bot

Help

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.

Versioning

For the versions available, see the tags on this repository.

Authors

License

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

Features to be added

Depending on my time and/or putative incentives (donations), I plan to add the following features (any suggestions welcome):

Donations

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 bc1q5wfzxdk3xhujs6589gzdeu6fgqpvqrel5jzzt2
ETH 0xE0451300D96090c1F274708Bc00d791017D7a5F3
Neo AaGRMPuwtGrudXR5s7F5n11cxK595hCWUg
XLM GCEAF5KYYUJSYPEDAWTZUBP4TE2LUSAPAFNHFSY54RA4HNLBVYOSFM6K
USDT (ERC20) 0x55b1be96e951bfce21973a233970245f728782f1
USDT (TRC20) TGTh3ts5sdhBnGDm9aacUHLmdryPnCa8HJ

New! Also accepting payments via beerpay :beers:! Beerpay

Want a new feature to be implemented to EazeBot? Beerpay

Thank you very much!