Git Product home page Git Product logo

binance-futures-trading-bot's Introduction

Binance Futures Trading Bot

Easy-to-use multi-strategic automatic trading for Binance Futures with Telegram integration

Features

  • You can run it fast and it's easy to use.
  • This project can handle multiple strategies at the same time.
  • There are no complexities and no database usage in this project. Even dependencies are a few.
  • It's easy for modifying and customization.
  • It automatically stores recent candles that can be used for machine learning model input.
  • You can read the code for educational purposes.
  • You can be notified with Telegram messages

Run

  1. Clone the repository.
  2. Generate a Binance API key (with Futures access) and put it in credentials.py.
  3. Run pip3 install -r requirements.txt.
  4. Run python3 init_indicators_dict.py.
  5. Run python3 init_orders_dict.py.
  6. Run python3 main.py.

This will run an example bot on trading Bitcoin with 4 strategies simultaneously.

Config

To write custom bots you can:

  • Set an initial indicators setting in init_indicators_dict.py (because we are handling indicators in the client side with pickle files).
  • Set an initial orders setting in init_orders_dict.py (because we are handling orders in the client side with pickle files).
  • Define new indicators in indicators.py.
  • Define a new strategy in main.py (especially inside is_it_time_to_open_long_position and is_it_time_to_open_short_position functions).
  • Config your bot settings in config.py.

Note: If you define any machine learning model, you can use recent_prices_list as its input.

Warning: Binance has a maximum limit of 10 take-profit and stop-loss open orders, therefore do not use more than 5 strategies at the same time.

Telegram Config

  1. Firstly, you need to create a Telegram bot, so talk to @botfather.
  2. Secondly, need to know your own Telegram user ID, so the bot will know who to send messages to. Talk to @userinfobot to get this information.
  3. Thirdly, you have to /start your bot. Open up a private message with your bot by searching its username, then hit the start button.
  4. Finally, set TELEGRAM_API_KEY and TELEGRAM_USER_ID in credentials.py, and SEND_TELEGRAM_MESSAGE in config.py.

To-do

  • Import modules, not variables.
  • Use classes and make main.py smaller.
  • Add more indicators to indicators.py.
  • Find a better way for handling error codes.

See Also

Credits

Erfan Alimohammadi and Amir Reza Shahmiri

binance-futures-trading-bot's People

Contributors

erfaniaa avatar mo1ein avatar smzerehpoush avatar

Watchers

 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.