Найти в Дзене
Крипто Бот

Хочешь написать крипто-бота. Читай API-функции на Binance, Биткоин растет, а у тебя ещё нет своего бота.

Ребят, продолжаем разбирать тему написания бота на Binance, основы программирования на Python мы уже изучили, осталось разобраться, как отправлять команды на биржу, чтобы она понимала что делать. Для этого на подобных биржах существуют API-функции, сегодня рассмотрим самые основные, которые нам понадобятся. Официальное описание на англ. тут.

Для начала нам нужно как то подключиться к бирже (далее по теме я выложу листинг в текстовом файле)

from binance_api import Binance

bot = Binance(

API_KEY='B2...rE2',

API_SECRET='dr3...F2H'

)

API_KEY и API_SECRET создаем на своем аккаунте на Binance, они нужны для подключения нашей программы-бота к бирже. Это важные ключи, по этому не оставляем их где попало и ни кому не говорим. На бирже конечно можно поставить ограничение о переводе валюты на другой счет через API, но функции покупать и продавать вам нужны, иначе как бот будет работать.

Далее что нам может понадобиться, например мы хотим узнать цену BTC в долларах, с помощью функции tickerPrice(), передаем два параметра “BTC” и [‘price’], вернется текущая цена BTC:

Сena = float(bot.tickerPrice(symbol='BTCUSDT')['price'])

Например, нам нужно получить список открытых ордеров в валютной паре 'BTCUSDT', для этого нам понадобится команда OpenOrders():

open_orders = bot.OpenOrders(symbol='BTCUSDT')

Orders = str(open_orders)

Теперь список открытых ордеров со всеми параметрами будет в переменной Orders, если нужно, можем перебрать эти ордера через цикл For и сделать то, что нужно, например проверить, есть ли у нас открытый ордер в этом диапазоне цен.

Чтобы посмотреть, сколько у нас на счете осталось денег в USD, нам понадобится функция account() с параметром ['balances'] :

balances = {

balance['asset']: float(balance['free']) for balance in bot.account()['balances']

if balance['asset'] in ["BTC", "USDT"]

}

ObjectBalance = str(balances)

Dengi = float(balances['USDT'])

print("Баланс USDT = ", Dengi)

И самое главное как купить и продать, всё делается через функцию CreateOrder() с параметром side='SELL' или side='BUY', например продадим наши 0.01 BTC по цене 8110, ордер будет создан и останется висеть если цена продажи меньше чем 8110, как только цена достигнет этого уровня, ордер исполнится, так же можно зайти на биржу и отменить этот ордер руками:

New_order_SELL = bot.createOrder(symbol=’BTCUSDT’, recvWindow=10000, side='SELL', type='LIMIT', timeInForce='GTC', quantity= 0.01, price= 8110 , newOrderRespType='RESULT')

В общем, подписывайтесь на канал, кому было интересно или есть вопросы пишите в комментария. Думаю, далее сделаем, какого ни будь простого бота для наглядного примера.

Скачать Python можно тут -> Скачать Python

Создать аккаунт на Binance можно тут -> Создать аккаунт Binance