SystemSelf reportedCryptoPythonalgo-tradingauto-tradingbinancebinance-apibinance-bot

binance-futures-trading-bot

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

System Structure

Data Used
BinanceOHLCV/호가/체결 데이터
Rules / Strategy

저장소별 전략/실행 조건 확인 필요

Execution

거래소 API 기반 자동 주문 실행

Editor Summary

저장소 설명과 공개 메타데이터 기준으로 Python 기반 구현, 암호화폐 거래 봇, 거래소 API/프레임워크, 백테스트 성격의 프로젝트로 파악했습니다. 확인 근거는 README, 저장소 토픽, 저장소 설명, GitHub 지표, 파이프라인 필드이며, 주요 데이터는 Binance, OHLCV/호가/체결 데이터입니다. 전략/실행 조건은 저장소별 문서와 코드 확인이 필요하며, 실행 방식은 "거래소 API 기반 자동 주문 실행"라고 보수적으로 기록했습니다. GitHub 지표는 별 401개, 포크 96개입니다.

RepositoryErfaniaa/binance-futures-trading-bot
CreatorErfaniaa
Stars / Forks★ 401 / 96
LicenseGPL-3.0
Last Updated2024-03-13
Snapshot Date2026-07-08 (README below is a copy from this date)

This is third-party open-source code. QuantField does not guarantee its behavior or safety. Review the code before installing or running it.

README

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

  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 to handle error codes.
  • Unify get candles functions.

See Also

  • Crypto Trading Strategy Backtester
  • Binance Spot Trading Bot
  • Finestel: 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.

Credits

Erfan Alimohammadi and Amir Reza Shahmiri