Добавить в корзинуПозвонить
Найти в Дзене

Как самостоятельно написать торгового бота для Binance: пошаговое руководство

В эпоху криптовалют автоматизированная торговля стала мощным инструментом для трейдеров. Binance — одна из крупнейших бирж, предоставляющая API для интеграции. В этой статье мы разберём, как с нуля написать простого торгового бота на Python, используя официальный Binance API. Бот будет отслеживать цену Bitcoin (BTC/USDT) и совершать сделки по стратегии "покупай на спаде, продавай на пике". Важно: Торговля криптовалютами несёт высокие риски. Это руководство — образовательное. Тестируйте на тестовом режиме (Testnet) и не используйте реальные деньги без глубокого понимания. Заказать бота для крипто трейдинга https://bitcoin-private-keys.store/bot-trader/ Скачайте с python.org (рекомендуется 3.9+). bash python -m venv binance_bot
source binance_bot/bin/activate # Linux/Mac
binance_bot\Scripts\activate # Windows bash pip install python-binance pandas numpy python-dotenv Для тестов: Используйте Binance Testnet — там нет риска потерять деньги. text binance_bot/
├── .env
├── config.py
├─
Оглавление

В эпоху криптовалют автоматизированная торговля стала мощным инструментом для трейдеров. Binance — одна из крупнейших бирж, предоставляющая API для интеграции. В этой статье мы разберём, как с нуля написать простого торгового бота на Python, используя официальный Binance API. Бот будет отслеживать цену Bitcoin (BTC/USDT) и совершать сделки по стратегии "покупай на спаде, продавай на пике".

Важно: Торговля криптовалютами несёт высокие риски. Это руководство — образовательное. Тестируйте на тестовом режиме (Testnet) и не используйте реальные деньги без глубокого понимания.

Заказать бота для крипто трейдинга https://bitcoin-private-keys.store/bot-trader/

Шаг 1: Подготовка окружения

1.1. Установите Python

Скачайте с python.org (рекомендуется 3.9+).

1.2. Создайте виртуальное окружение

bash

python -m venv binance_bot
source binance_bot/bin/activate
# Linux/Mac
binance_bot\Scripts\activate
# Windows

1.3. Установите библиотеки

bash

pip install python-binance pandas numpy python-dotenv

Шаг 2: Регистрация и настройка API на Binance

  1. Зарегистрируйтесь на binance.com
  2. Перейдите в Профиль → Управление API
  3. Создайте новый API-ключ
  4. Включите торговлю и чтение данных
  5. Сохраните API Key и Secret Key
Для тестов: Используйте Binance Testnet — там нет риска потерять деньги.

Шаг 3: Структура проекта

text

binance_bot/
├── .env
├── config.py
├── bot.py
└── strategy.py

Шаг 4: Настройка конфигурации (.env)

env

BINANCE_API_KEY=your_api_key_here
BINANCE_API_SECRET=your_secret_key_here
SYMBOL=BTCUSDT
QUANTITY=0.001

Шаг 5: config.py — загрузка ключей

python

import os
from dotenv import load_dotenv

load_dotenv()

API_KEY = os.getenv('BINANCE_API_KEY')
API_SECRET = os.getenv('BINANCE_API_SECRET')
SYMBOL = os.getenv('SYMBOL', 'BTCUSDT')
QUANTITY = float(os.getenv('QUANTITY', 0.001))

Шаг 6: strategy.py — простая стратегия

python

import pandas as pd

def moving_average_strategy(client, symbol, short_window=5, long_window=20):
"""Простая стратегия: пересечение скользящих средних"""
klines = client.get_historical_klines(
symbol, client.KLINE_INTERVAL_1MINUTE, "1 hour ago UTC"
)
df = pd.DataFrame(klines, columns=[
'timestamp', 'open', 'high', 'low', 'close', 'volume',
'close_time', 'quote_asset_volume', 'number_of_trades',
'taker_buy_base', 'taker_buy_quote', 'ignore'
])
df['close'] = pd.to_numeric(df['close'])

df['short_ma'] = df['close'].rolling(window=short_window).mean()
df['long_ma'] = df['close'].rolling(window=long_window).mean()

last_row = df.iloc[-1]
prev_row = df.iloc[-2]

# Сигнал на покупку: короткая MA пересекает длинную снизу вверх
if prev_row['short_ma'] < prev_row['long_ma'] and last_row['short_ma'] > last_row['long_ma']:
return 'BUY'
# Сигнал на продажу: короткая MA пересекает длинную сверху вниз
elif prev_row['short_ma'] > prev_row['long_ma'] and last_row['short_ma'] < last_row['long_ma']:
return 'SELL'

return 'HOLD'

Шаг 7: bot.py — основной бот

python

from binance.client import Client
from binance import ThreadedWebsocketManager
import time
from config import API_KEY, API_SECRET, SYMBOL, QUANTITY
from strategy import moving_average_strategy

# Подключение к Binance (для тестов — используйте testnet=True)
client = Client(API_KEY, API_SECRET, testnet=True)
# testnet=True для тестов

def handle_socket_message(msg):
if msg['e'] == 'error':
print(f"Ошибка: {msg['m']}")
return

price = float(msg['k']['c'])
# текущая цена закрытия свечи
print(f"Текущая цена {SYMBOL}: {price}")

# Проверяем стратегию каждую минуту
signal = moving_average_strategy(client, SYMBOL)

if signal == 'BUY':
try:
order = client.create_order(
symbol=SYMBOL,
side='BUY',
type='MARKET',
quantity=QUANTITY
)
print(f"Куплено {QUANTITY} {SYMBOL} по рынку")
except Exception as e:
print(f"Ошибка покупки: {e}")

elif signal == 'SELL':
try:
order = client.create_order(
symbol=SYMBOL,
side='SELL',
type='MARKET',
quantity=QUANTITY
)
print(f"Продано {QUANTITY} {SYMBOL} по рынку")
except Exception as e:
print(f"Ошибка продажи: {e}")

def main():
twm = ThreadedWebsocketManager(api_key=API_KEY, api_secret=API_SECRET, testnet=True)
twm.start()

twm.start_kline_socket(
callback=handle_socket_message,
symbol=SYMBOL,
interval=Client.KLINE_INTERVAL_1MINUTE
)

print(f"Бот запущен. Отслеживание {SYMBOL}...")
while True:
time.sleep(1)
# держим поток живым

if __name__ == '__main__':
main()

Шаг 8: Запуск бота

bash

python bot.py

Вы увидите поток цен и сообщения о сделках (на Testnet).

Дополнительные улучшения

ФункцияКак добавитьЛогированиеimport logging + запись в файлУправление рискамиStop-loss, Take-profit, % от депозитаБэктестингbacktrader или vectorbtУведомленияTelegram, emailРазвёртываниеVPS (DigitalOcean, AWS), Docker

Безопасность

  • Никогда не коммитьте API-ключи в Git
  • Используйте .env + .gitignore
  • Ограничьте IP в настройках API
  • Отключите вывод средств

Полезные ссылки

Заключение

Вы только что создали полноценного торгового бота за 7 шагов! Это база — дальше вы можете:

  • Добавить ИИ (ML-модели)
  • Использовать арбитраж
  • Торговать фьючерсами
  • Создать веб-интерфейс
Помните: 90% ботов теряют деньги. Главное — тестирование, дисциплина и управление рисками.

Готов к запуску?
Склонируйте этот шаблон, настройте Testnet и начните экспериментировать!

bash

git clone https://github.com/yourname/binance-trading-bot

Удачи в трейдинге! 🚀