GithubHelp home page GithubHelp logo

jedwafu / eazebot Goto Github PK

View Code? Open in Web Editor NEW

This project forked from marcelbeining/eazebot

0.0 1.0 0.0 1.71 MB

Free python/telegram bot for easy execution and surveillance of crypto trading plans on multiple exchanges.

License: GNU General Public License v3.0

Python 99.71% Batchfile 0.29%

eazebot's Introduction

GitHub PyPi GitHub top language GitHub repo size in bytes GPLv3 license GitHub language count GitHub last commit GitHub issues Beerpay

EazeBot

Introduction

  • 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)

Installing

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.

Windows

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.

Linux/Mac

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()"

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.

For this the following steps are necessary:

  1. 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).
  2. 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!
  3. 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", and apiSecretXYZ : "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", and apiUid : "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.
  4. 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
    
    1. Thereafter you should start a conversation with your bot on Telegram.
    2. 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.

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.

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

Authors

  • Marcel Beining - Ground work - MBeining

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):

  • 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

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 3AP2u8wMwdSFJWCXNhUbfbV1xirqshfqg6
ETH 0xE0451300D96090c1F274708Bc00d791017D7a5F3
Neo AaGRMPuwtGrudXR5s7F5n11cxK595hCWUg
XLM GBJEFEFUAUVTWL5UYK3NTWW7J5J3SMH4XB7SYDZRWWEON5S5YHPI2LAR

New! Also accepting payments via beerpay ๐Ÿป! Beerpay

Want a new feature to be implemented to EazeBot? Beerpay

Thank you very much!

eazebot's People

Contributors

marcelbeining avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.