Taker buy base asset volume что это

Как создать API ключ для фьючерсов на бирже Binance?

Цель этого руководства — мягко познакомить вас с Binance API без написания ни единой строчки кода

Taker buy base asset volume что это. lazy placeholder. Taker buy base asset volume что это фото. Taker buy base asset volume что это-lazy placeholder. картинка Taker buy base asset volume что это. картинка lazy placeholder

Binance API — Спотовая торговля с помощью Postman.

Понимание и использование API для торговли криптовалютой может открыть целый мир возможностей, когда дело доходит до входа и выхода из позиций. Обладая некоторыми простыми знаниями в области написания кода, вы можете подключиться к серверной части биржи, чтобы автоматизировать свои торговые стратегии.

Обойдя через API веб-сайт, вы можете гораздо быстрее найти соответствующий движок для высокопроизводительных приложений.

Цель этой серии руководств — познакомить вас с REST API Binance и научить, как с ним взаимодействовать.

К концу ознакомления с руководством вы должны быть уверены в своей способности запрашивать через API информацию о рынках и вашей позиции и размещать ряд различных типов ордеров.

В этой статье мы будем использовать Postman для связи с биржей. Не волнуйтесь — мы не будем рисковать реальными деньгами.

Вводная информация

В отличии от многих других бирж, Binance лимитирует не только количество запросов к API, но и «вес» запросов. Причем, это не какие-то фиксированные единицы, но целый комплекс (как они заявляют, англ). Например, если вы постоянно запрашиваете свечи но не торгуете, то ваш вес накапливается и вас могут забанить. И вообще они суровые — если вы постоянно перебиваете лучшую цену на минимальную ставку, или создаете/отменяете ордера но не покупаете и продаете и т.п. то вас настигнут санкции. Так что будьте аккуратны при тестировании ботов. Впрочем, пока я тестировал, ничего плохого не случилось, хотя я порой и жестил.

Если биржа захочет вам намекнуть, что пора бы снизить пыл, она вернет 429 ответ сервера. Если вы будете игнорировать этот ответ и ломиться в закрытую дверь, то вас забанят по IP на срок от 2 минут до 3 дней.

Подключение к API биржи идет через https://api.binance.com, для авторизованных запросов нужно отправлять ключ в заголовке X-MBX-APIKEY, и подписывать тело запроса SHA256.

Что бы вы не заморачивались с этим, я написал код, который позволяет все указанные запросы выполнять. Для его работы нужно установить Python версии 3.6+ с официального сайта, потом в командной строке выполнить pip install requests. Создайте папку (для удобства), создайте новый файл binance_api.py, и вставьте туда этот код:

Для тестирования методов, создайте в этой же папке второй файл, например, binance_test.py, туда вставьте вот такой код (подставьте свои API ключи):

from binance_api import Binance bot = Binance( API_KEY=’D7…Ejj’, API_SECRET=’gwQ…u3A’ ) print(‘account’, bot.account())

(Или возьмите с гитхаба)

Еще немного общей информации: практически во всех подписанных запросах необходимо указывать параметр timestamp — это текущее unix-время в милиосекундах. Но, так как некоторые сети бывают перегружены, то ваш запрос может заблудиться и придти позже. Поэтому биржа предоставляет вам временное окно (по умолчанию 5000 милисекунд). Если у вас запросы не успевают придти в это окно, вы можете его расширить с помощью параметра recvWindow. Но, думаю, это мало кому понадобится.

Taker buy base asset volume что это. lazy placeholder. Taker buy base asset volume что это фото. Taker buy base asset volume что это-lazy placeholder. картинка Taker buy base asset volume что это. картинка lazy placeholder Taker buy base asset volume что это. lazy placeholder. Taker buy base asset volume что это фото. Taker buy base asset volume что это-lazy placeholder. картинка Taker buy base asset volume что это. картинка lazy placeholder Taker buy base asset volume что это. lazy placeholder. Taker buy base asset volume что это фото. Taker buy base asset volume что это-lazy placeholder. картинка Taker buy base asset volume что это. картинка lazy placeholder Taker buy base asset volume что это. lazy placeholder. Taker buy base asset volume что это фото. Taker buy base asset volume что это-lazy placeholder. картинка Taker buy base asset volume что это. картинка lazy placeholder Taker buy base asset volume что это. lazy placeholder. Taker buy base asset volume что это фото. Taker buy base asset volume что это-lazy placeholder. картинка Taker buy base asset volume что это. картинка lazy placeholder Taker buy base asset volume что это. lazy placeholder. Taker buy base asset volume что это фото. Taker buy base asset volume что это-lazy placeholder. картинка Taker buy base asset volume что это. картинка lazy placeholder Taker buy base asset volume что это. lazy placeholder. Taker buy base asset volume что это фото. Taker buy base asset volume что это-lazy placeholder. картинка Taker buy base asset volume что это. картинка lazy placeholder Taker buy base asset volume что это. lazy placeholder. Taker buy base asset volume что это фото. Taker buy base asset volume что это-lazy placeholder. картинка Taker buy base asset volume что это. картинка lazy placeholder

Binance Futures — что это? Общее описание

Платформа представляет собой раздел официального сайта биржи Binance. Чтобы работать с ней, необходимо сначала создать основной спот аккаунт, а затем — под той же учетной записью активировать фьючерсный счет.

Taker buy base asset volume что это. lazy placeholder. Taker buy base asset volume что это фото. Taker buy base asset volume что это-lazy placeholder. картинка Taker buy base asset volume что это. картинка lazy placeholder
Символично

Согласно данным CoinGecko, Binance Futures — самая крупная биржа криптовалютных деривативов по объему торгов: 24-часовой торговый объем превышает 26 миллиардов долларов, за сутки открывается позиций почти на 2 миллиарда. Высокий спрос объясняется главным образом покровительством основной площадки Бинанс, которая также лидер индустрии, и высоким кредитным плечом 125х, открывающим широкие торговые возможности.

Taker buy base asset volume что это. lazy placeholder. Taker buy base asset volume что это фото. Taker buy base asset volume что это-lazy placeholder. картинка Taker buy base asset volume что это. картинка lazy placeholder
Рекорд биржи по ежедневным торгам

Работа с платформой доступна во всех странах, где доступна биржа Binance — то есть там, где это не запрещено законодательно. Поддерживаемые языки интерфейса: русский, украинский, английский, испанский, немецкий; португальский, итальянский, китайский и т.д. (суммарно 20 языков).

Основатель и генеральный директор: Чанпен Чжао.

Taker buy base asset volume что это. lazy placeholder. Taker buy base asset volume что это фото. Taker buy base asset volume что это-lazy placeholder. картинка Taker buy base asset volume что это. картинка lazy placeholder
Основатель одной из крупнейших бирж

Публичные запросы

Проверка связи — /api/v1/ping

Метод для проверки работы API. Возвращает пустой словарь

Ссылка для просмотра в браузере https://api.binance.com/api/v1/ping. Вес — 1 Код для проверки:

from binance_api import Binance bot = Binance( API_KEY=’D7…Ejj’, API_SECRET=’gwQ…u3A’ ) print(bot.ping())

Получение времени биржи — /api/v1/time

Ссылка для просмотра в браузере https://api.binance.com/api/v1/time Вес — 1 Возвращает словарь с текущим временем:

from binance_api import Binance bot = Binance( API_KEY=’D7…Ejj’, API_SECRET=’gwQ…u3A’ ) print(bot.time())

Настройки и лимиты биржи — /api/v1/exchangeInfo

Ссылка для просмотра в браузере https://api.binance.com/api/v1/exchangeInfo Вес — 1 Возвращает структуру данных:

Ключ rateLimits ведет на массив с лимитами — сколько запросов в секунду/минуту/день можно делать. Ключ symbols содержит настройки для каждой пары — рассмотрим одну, ETHBTC

from binance_api import Binance bot = Binance( API_KEY=’D7…Ejj’, API_SECRET=’gwQ…u3A’ ) print(bot.exchangeInfo())

Открытые ордера на бирже — /api/v1/depth

Метод позволяет получить книгу ордеров. Принимает параметры: Обязательные: symbol — пара Необязательные: limit — кол-во возвращаемых записей от 5 до 1000 (по умолчанию 100). Допустимые значения: 5, 10, 20, 50, 100, 500, 1000. Еще можно указать 0, но он может вернуть большое кол-во данных. Вес зависит от параметра limit. При лимите от 5 до 100 вес будет равен 1. Для параметра 500 вес составит 5. Для параметра 1000 вес будет 10. Ссылка для просмотра в браузере: https://api.binance.com/api/v1/depth?symbol=ETHBTC Возвращает значения:

bids — это списки цен/объемов на покупку, asks — на продажу. Пример кода:

from binance_api import Binance bot = Binance( API_KEY=’D7…Ejj’, API_SECRET=’gwQ…u3A’ ) print(‘depth’, bot.depth( symbol=’BNBBTC’, limit=5 ))

Последние (чужие) сделки — /api/v1/trades

Принимает параметры: Обязательные: symbol — пара Необязательные: limit — кол-во возвращаемых записей (максимум 500, по умолчанию 500). Вес — 1 Ссылка для просмотра в браузере: https://api.binance.com/api/v1/trades?symbol=ETHBTC Пример ответа:

id — id сделки price — цена qty — количество time — время сделки isBuyerMaker — была ли покупка по указанной покупателем цене, isBestMatch — была ли встречная сделка Пример кода:

from binance_api import Binance bot = Binance( API_KEY=’D7…Ejj’, API_SECRET=’gwQ…u3A’ ) print(‘trades’, bot.trades( symbol=’BNBBTC’, limit=1 ))

Сжатая история сделок — /api/v1/aggTrades

Метод позволяет получить суммарную историю сделок. Сделки, выполненные в одно время по одному ордеру и по одной цене будут представлены одной строкой с объединенным количеством. Вес — 1 Ссылка для просмотра в браузере: https://api.binance.com/api/v1/aggTrades?symbol=ETHBTC Принимает параметры: Обязательные: symbol — пара Необязательные: fromID — показывать начиная со сделки № (включительно) startTime — начиная с какого времени (включительно) endTime — заканчивая каким временем (включительно) limit — Кол-во записей (максимум 500, по умолчанию 500) Возвращает данные:

from binance_api import Binance bot = Binance( API_KEY=’D7…Ejj’, API_SECRET=’gwQ…u3A’ ) print(‘aggTrades’, bot.aggTrades( symbol=’BNBBTC’, limit=1 ))

Данные по свечам – /api/v1/klines

Вес – 1 Ссылка для просмотра в браузере https://api.binance.com/api/v1/klines?symbol=LTCBTC&interval=5m Параметры: Обязательные: symbol – пара interval – период свечи Допустимые интервалы: • 1m // 1 минута • 3m // 3 минуты • 5m // 5 минут • 15m // 15 минут • 30m // 30 минут • 1h // 1 час • 2h // 2 часа • 4h // 4 часа • 6h // 6 часов • 8h // 8 часов • 12h // 12 часов • 1d // 1 день • 3d // 3 дня • 1w // 1 неделя • 1M // 1 месяц

Необязательные: limit – кол-во свечей (максимум 500, по умолчанию 500) startTime – время начала построения endTime – окончание периода Если не указаны параметры startTime и endTime, то возвращаются самые последние свечи. Пример ответа:

[ [ 1499040000000, // Время открытия «0.01634790», // Цена открытия (Open) «0.80000000», // Максимальная цена (High) «0.01575800», // Минимальная цена (Low) «0.01577100», // Цена закрытия (Close) «148976.11427815», // Объем 1499644799999, // Время закрытия «2434.19055334», // Объем квотируемой валюты 308, // Кол-во сделок «1756.87402397», // Taker buy base asset volume «28.46694368», // Taker buy quote asset volume «17928899.62484339» // Ignore ] ]

from binance_api import Binance bot = Binance( API_KEY=’D7…Ejj’, API_SECRET=’gwQ…u3A’ ) print(‘klines’, bot.klines( symbol=’BNBBTC’, interval=’5m’, limit=1 ))

Статистика за 24 часа — /api/v1/ticker/24hr

Вес – 1, если указана пара, иначе вес равен (количеству всех торгуемых пар)/2. Ссылка для просмотра в браузере: https://api.binance.com/api/v1/ticker/24hr?symbol=BNBBTC Параметры: Необязательные: symbol – пара Если symbol не указан, возвращаются данные по всем парам. В этом случае, считается, что вы сделали столько запросов к бирже, сколько вернулось пар. Пример ответа:

Если пар несколько, то такие словари вкладываются в массив, вот так:

from binance_api import Binance bot = Binance( API_KEY=’D7…Ejj’, API_SECRET=’gwQ…u3A’ ) print(‘ticker/24hr’, bot.ticker24hr( symbol=’BNBBTC’ ))

Последняя цена по паре (или парам) — /api/v3/ticker/price

Вес — 1 Параметры: Необязательные: symbol – пара Если параметр symbol не указан, то возвращаются цены по всем парам. Ссылка для просмотра в браузере: https://api.binance.com/api/v3/ticker/price?symbol=BNBBTC Пример ответа:

Или (если не указан параметр)

from binance_api import Binance bot = Binance( API_KEY=’D7…Ejj’, API_SECRET=’gwQ…u3A’ ) print(‘ticker/price’, bot.tickerPrice( symbol=’BNBBTC’ ))

Лучшие цены покупки/продажи — /api/v3/ticker/bookTicker

Вес 1 Параметры: Необязательные: symbol – пара Если параметр symbol не указан, возвращаются данные по всем парам. Ссылка для просмотра в браузере: https://api.binance.com/api/v3/ticker/bookTicker?symbol=BNBBTC Пример ответа:

Или (если не указан параметр):

from binance_api import Binance bot = Binance( API_KEY=’D7…Ejj’, API_SECRET=’gwQ…u3A’ ) print(‘ticker/bookTicker’, bot.tickerBookTicker( symbol=’BNBBTC’ ))

Преимущества и недостатки использования ботов

Основные плюсы работы с торговыми ботами для Бинанс:

К недостаткам можно отнести следующие моменты:

Теперь рассмотрим несколько торговых ботов, которые могут работать в связке с криптовалютной биржей Binance.

Авторизованные запросы:

Создание ордера — /api/v3/order

Для тех, кто будет писать свою библиотеку – обратите внимание, что адрес один и тот же /api/v3/order, но отличается метод – если отправлять данные через POST, это будет создание ордера, через GET – получение информации об ордере, DELETE – отмена ордера. Параметры, соответственно, разные.

Вес – 1 Метод: POST Параметры: Обязательные: symbol – пара side – тип ордера (BUY либо SELL) type – тип ордера (LIMIT, MARKET, STOP_LOSS, STOP_LOSS_LIMIT, TAKE_PROFIT, TAKE_PROFIT_LIMIT, LIMIT_MAKER) quantity – количество к покупке timestamp – текущее время в миллисекундах (в коде, выложенном здесь, проставляется автоматически, указывать не надо. Необязательные: timeInForce – (GTC, IOC, FOK). По умолчанию GTC. Расшифрую. GTC (Good Till Cancelled) – ордер будет висеть до тех пор, пока его не отменят. IOC (Immediate Or Cancel) – Будет куплено то количество, которое можно купить немедленно. Все, что не удалось купить, будет отменено. FOK (Fill-Or-Kill) – Либо будет куплено все указанное количество немедленно, либо не будет куплено вообще ничего, ордер отменится.

price – цена newClientOrderId – Идентификатор ордера, который вы сами придумаете (строка). Если не указан, генерится автоматически. stopPrice – стоп-цена, можно указывать если тип ордера STOP_LOSS, STOP_LOSS_LIMIT, TAKE_PROFIT, или TAKE_PROFIT_LIMIT. icebergQty – кол-во для ордера-айсберга, можно указывать, если тип ордера LIMIT, STOP_LOSS_LIMIT, and TAKE_PROFIT_LIMIT recvWindow – кол-во миллисекунд, которое прибавляется к timestamp и формирует окно действия запроса (см. выше). По умолчанию 5000. newOrderRespType –какую информацию возвращать, если удалось создать ордер. Допустимые значения ACK, RESULT, или FULL, по умолчанию RESULT. Подробности ниже.

В зависимости от типа ордера, некоторые поля становятся обязательными:

Тип ордера Обязательные поля LIMIT timeInForce, quantity, price MARKET quantity STOP_LOSS quantity, stopPrice STOP_LOSS_LIMIT timeInForce, quantity, price, stopPrice TAKE_PROFIT quantity, stopPrice TAKE_PROFIT_LIMIT timeInForce, quantity, price, stopPrice LIMIT_MAKER quantity, price

Ордера типа LIMIT_MAKER – это ордера типа обычного LIMIT, но они отклонятся, если ордер при выставлении может выполниться по рынку. Другими словами, вы никогда не будете тейкером, ордер либо выставится выше/ниже рынка, либо не выставится вовсе. Ордера типа STOP_LOSS и TAKE_PROFIT исполнятся по рынку (ордер типа MARKET), как только будет достигнута цена stopPrice. Любые ордера LIMIT или LIMIT_MAKER могут формировать ордер-айсберг, установив параметр icebergQty. Если установлен параметр icebergQty, то параметр timeInForce ОБЯЗАТЕЛЬНО должен иметь значение GTC.

Для того, что бы выставлять цены, противоположные текущим для ордеров типов MARKET и LIMIT: Цена выше рыночной: STOP_LOSS BUY, TAKE_PROFIT SELL Цена ниже рыночной: STOP_LOSS SELL, TAKE_PROFIT BUY

При создании ордера вернется ответ, в зависимости от параметра newOrderRespType:

Источник

rest-api

Table of Contents generated with DocToc

Public Rest API for Binance (2021-08-12)

General API Information#

HTTP Return Codes#

Error Codes#

Sample Payload below:

General Information on Endpoints#

LIMITS

General Info on Limits#

IP Limits#

Order Rate Limits#

Data Sources

These are the three sources, ordered by which is has the most up-to-date response to the one with potential delays in updates.

Some endpoints can have more than 1 data source. (e.g. Memory => Database) This means that the endpoint will check the first Data Source, and if it cannot find the value it’s looking for it will check the next one.

Endpoint security type

SIGNED (TRADE and USER_DATA) Endpoint security

Timing security#

It is recommended to use a small recvWindow of 5000 or less! The max cannot go beyond 60,000!

SIGNED Endpoint Examples for POST /api/v3/order#

KeyValue
apiKeyvmPUZE6mv9SD5VNHk4HlWFsOr6aKE2zvsw0MuIgwCIPy6utIco14y7Ju91duEh8A
secretKeyNhqPtmdSJYdKjVHjA7PZj4Mge3R5YNiP1e3UZjInClVN65XAbvqqM6A7H5fATj0j
ParameterValue
symbolLTCBTC
sideBUY
typeLIMIT
timeInForceGTC
quantity1
price0.1
recvWindow5000
timestamp1499827319559

Example 1: As a request body#

requestBody: symbol=LTCBTC&side=BUY&type=LIMIT&timeInForce=GTC&quantity=1&price=0.1&recvWindow=5000×tamp=1499827319559

HMAC SHA256 signature:

curl command:

Example 2: As a query string#

queryString: symbol=LTCBTC&side=BUY&type=LIMIT&timeInForce=GTC&quantity=1&price=0.1&recvWindow=5000×tamp=1499827319559

HMAC SHA256 signature:

curl command:

Example 3: Mixed query string and request body#

queryString: symbol=LTCBTC&side=BUY&type=LIMIT&timeInForce=GTC

requestBody: quantity=1&price=0.1&recvWindow=5000×tamp=1499827319559

HMAC SHA256 signature:

curl command:

Note that the signature is different in example 3. There is no & between «GTC» and «quantity=1».

Public API Endpoints

Terminology#

These terms will be used throughout the documentation, so it is recommended especially for new users to read to help their understanding of the API.

ENUM definitions#

Symbol status (status):

Symbol type:

Order status (status):

StatusDescription
NEWThe order has been accepted by the engine.
PARTIALLY_FILLEDA part of the order has been filled.
FILLEDThe order has been completed.
CANCELEDThe order has been canceled by the user.
PENDING_CANCELCurrently unused
REJECTEDThe order was not accepted by the engine and not processed.
EXPIREDThe order was canceled according to the order type’s rules (e.g. LIMIT FOK orders with no fill, LIMIT IOC or MARKET orders that partially fill)
or by the exchange, (e.g. orders canceled during liquidation, orders canceled during maintenance)

OCO Status (listStatusType):

StatusDescription
RESPONSEThis is used when the ListStatus is responding to a failed action. (E.g. Orderlist placement or cancellation)
EXEC_STARTEDThe order list has been placed or there is an update to the order list status.
ALL_DONEThe order list has finished executing and thus no longer active.

OCO Order Status (listOrderStatus):

StatusDescription
EXECUTINGEither an order list has been placed or there is an update to the status of the list.
ALL_DONEAn order list has completed execution and thus no longer active.
REJECTThe List Status is responding to a failed action either during order placement or order canceled

ContingencyType

Order types (orderTypes, type):

More information on how the order types definitions can be found here: Types of Orders

Order Response Type (newOrderRespType):

Order side (side):

Time in force (timeInForce):

This sets how long an order will be active before expiration.

StatusDescription
GTCGood Til Canceled
An order will be on the book unless the order is canceled.
IOCImmediate Or Cancel
An order will try to fill the order as much as it can before the order expires.
FOKFill or Kill
An order will expire if the full order cannot be filled upon execution.

Kline/Candlestick chart intervals:

Rate limiters (rateLimitType)

Rate limit intervals (interval)

General endpoints#

Test connectivity#

Test connectivity to the Rest API.

Weight: 1

Parameters: NONE

Data Source: Memory

Response:

Check server time#

Test connectivity to the Rest API and get the current server time.

Weight: 1

Parameters: NONE

Data Source: Memory

Response:

Exchange information#

Current exchange trading rules and symbol information

Weight: 10

Parameters:

There are 3 possible options:

If any symbol provided in either symbol or symbols do not exist, the endpoint will throw an error.

Data Source: Memory

Response:

Market Data endpoints#

Order book#

Weight: Adjusted based on the limit:

LimitWeight
5, 10, 20, 50, 1001
5005
100010
500050

Parameters:

NameTypeMandatoryDescription
symbolSTRINGYES
limitINTNODefault 100; max 5000. Valid limits:[5, 10, 20, 50, 100, 500, 1000, 5000]

Data Source: Memory

Response:

Recent trades list#

Weight: 1

Parameters:

NameTypeMandatoryDescription
symbolSTRINGYES
limitINTNODefault 500; max 1000.

Data Source: Memory

Response:

Old trade lookup (MARKET_DATA)#

Weight: 5

Parameters:

NameTypeMandatoryDescription
symbolSTRINGYES
limitINTNODefault 500; max 1000.
fromIdLONGNOTradeId to fetch from. Default gets most recent trades.

Data Source: Database

Response:

Compressed/Aggregate trades list#

Get compressed, aggregate trades. Trades that fill at the time, from the same taker order, with the same price will have the quantity aggregated.

Weight: 1

Parameters:

Data Source: Database

Response:

Kline/Candlestick data#

Kline/candlestick bars for a symbol. Klines are uniquely identified by their open time.

Weight: 1

Parameters:

Data Source: Database

Response:

Current average price#

Current average price for a symbol.

Weight: 1

Parameters:

NameTypeMandatoryDescription
symbolSTRINGYES

Data Source: Memory

Response:

24hr ticker price change statistics#

24 hour rolling window price change statistics. Careful when accessing this with no symbol.

Weight: 1 for a single symbol; 40 when the symbol parameter is omitted

Parameters:

Data Source: Memory

Response:

Symbol price ticker#

Latest price for a symbol or symbols.

Weight: 1 for a single symbol; 2 when the symbol parameter is omitted

Parameters:

Data Source: Memory

Response:

Symbol order book ticker#

Best price/qty on the order book for a symbol or symbols.

Weight: 1 for a single symbol; 2 when the symbol parameter is omitted

Parameters:

Data Source: Memory

Response:

Account endpoints#

New order (TRADE)#

Send in a new order.

Weight: 1

Parameters:

Some additional mandatory parameters based on order type :

Data Source: Matching Engine

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *