Использование неявных методов API CCXT

Ранее я уже писал о бесценной библиотеке CCXT, которую можно использовать для доступа к общим методам API биржи. CCXT поддерживает целый ряд унифицированных методов «из коробки». CCXT делает всю тяжелую работу, предоставляя вам стандартный набор данных от каждой биржи.

Однако, как мы все знаем, у каждой биржи могут быть свои причуды и особенности. Например, Binance, как и некоторые другие биржи, выдает дивиденды, если вы решили заблокировать определенные криптоактивы. Например, если вы храните USDT на Binance, вы можете получить до 10% годовых на первые $2000.

В CCXT нет единого набора методов для получения или работы с дивидендами, что означает, что нам нужно использовать специфические методы биржи или конечные точки API для получения данных. К счастью для нас, у CCXT есть способ сделать это.

Чтобы использовать любую из базовых конечных точек, вы просто соединяете части конечной точки в функцию, не указывая номер версии. Например, конечная точка для дивидендов — /sapi/v1/asset/assetDividend, и это также запрос GET, поэтому имя функции становится .sapiGetAssetAssetDividend(). Обратите внимание на использование CamelCase и добавление ‘Get’ между именем API и конечной точкой.

Может быть полезно посмотреть на функцию describe() класса для каждой биржи, чтобы получить представление о том, как формируются эти функции. Вы можете взглянуть на функцию для Binance здесь.

Когда у вас будет неявная функция API, вам нужно будет просто передать параметры для конечной точки в Dict:

from ccxt import binance

client = binance(
  {
    "apiKey": "the_api_key_from_binance"
    "secret": "the_api_secret_from_binance"
  }
)

response = client.sapiGetAssetAssetDividend({"startTime":
    1656635948000, "endTime": 1658191192000, "limit": 500})

for dividend in response["rows"]:
    print(f"You received {dividend["amount"]} of
    {dividend["asset"] from {dividend["enInfo"]}.")
Войти в полноэкранный режим Выйти из полноэкранного режима

Каждая конечная точка имеет свой набор необходимых и необязательных параметров, которые вы можете ей передать. Вы можете узнать подробности о том, что требуется для конечной точки Dividend, здесь.

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

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

Заключение

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

Эта статья содержит партнерские ссылки; без дополнительной платы для вас я могу получить компенсацию, если вы приобретете товары или услуги по ссылкам, указанным в этой статье. Покупка, продажа и торговля криптоактивами сопряжены с риском. Всегда проводите собственные исследования, прежде чем вкладывать деньги. Эта статья не является финансовой консультацией.

Оцените статью
devanswers.ru
Добавить комментарий