Awesome
Binance Futures Trading Bot
Easy-to-use multi-strategic automatic trading for Binance Futures with Telegram integration
<center><img src="https://user-images.githubusercontent.com/7780269/183316217-a1e8faba-48cd-4317-abe7-9ceeecd0216a.png" width="50%" align="center"></center>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 to modify and customize.
- 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
- Clone the repository.
- Generate a Binance API key (with Futures access) and put it in
credentials.py
. - Run
pip3 install -r requirements.txt
. - Run
python3 init_indicators_dict.py
. - Run
python3 init_orders_dict.py
. - 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 insideis_it_time_to_open_long_position
andis_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
- Firstly, you need to create a Telegram bot, so talk to @botfather.
- 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.
- Thirdly, you have to
/start
your bot. Open up a private message with your bot by searching its username, then hit the start button. - Finally, set
TELEGRAM_API_KEY
andTELEGRAM_USER_ID
incredentials.py
, andSEND_TELEGRAM_MESSAGE
inconfig.py
.
To-do
- Import modules, not variables.
- Use classes and make
main.py
smaller. - Add more indicators to
indicators.py
. - Find a better way to handle error codes.
- Unify get candles functions.
See Also
- Crypto Trading Strategy Backtester
- Binance Spot Trading Bot
- <a href="https://finestel.com/" target=“_blank”>Finestel</a>: Our automated trading bot can be used on Finestel & Finestel Pro: a crypto copy trading platform where pro traders & asset managers can connect their exchange accounts and manage their clients and communities of investors’ assets by using Finestel/Finestel Pro in conjunction with our Binance futures bot. Investors have the opportunity to profit the same as you while learning from more experienced traders.