Работа с Yobit API как с публичным так и с торговым из Python 3

Здорова пацаны! Если пойти и загуглить готовую функцию, как там работать с торговым API Yobit  из python 3 то особо и не нагуглиш ничего, да возможно это я не нашел сразу рабочий код. Что бы так, взял код, запустил, и все! Запрос на Trade API Yobit  отправился и вернулся ответ в JSON формате. Есть готовый Бот на питоне для Yobit, но там используется **kwargs а мне нужно было как-то без этого обойтись.

Короче пришлось все с нуля мутить. В итоге я получил то, что мне и нужно было. Это лёгкий вызов функции для Trade API и ещё проще для Public API. Сейчас объясню вкратце что это за API такие.

Public API — Это нужно, только для сбора некоторой информации и все. Торговать, выставлять, отменять ордера не получится.  Биржа даёт ссылку, вызываете её с методом, например «ticker» и нужной парой монет и получаете информацию за последние 24 часа о это паре. Пример такой ссылки «yobitex.net/api/3/ticker/ltc_btc»

Trade API — Тут уже все не так просто. Но с этим API можно замутить полноценного торгового Бота, который сможет, покупать, продавать, выставлять, отменять ордера, короче можно все! Но тут не получится просто отправить запрос по какой либо ссылке и все, ордер выставился или что-то подобное произошло на бирже.

Не получится, так как имеется необходимость в «Аутентификации» и подписи секретным ключом с помощью HMAC-SHA512. Именно по этому поводу я гуглил, гуглил и нихрена готового не нагуглил.

Функция для работы с Yobit API из Python 3

Но тебе повезло больше чем мне, сейчас я дам тебе все готовое и рабочие без допиливания и прочих танцев. Хотел по частям выложить и разъяснить что кого тут вообще, но решил кинуть все код сразу, а поясню ниже..

В общем функция «API_YOBIT_PUBLIC» это для работы, как не странно с «Public API» Ты её можешь переписать, как тебе угодно, я оставил так как она есть сейчас, мне так удобнее…

Ну и функция «API_YOBIT_TRADE» нужна для использования «Trade API» и сейчас я покажу как её правильно вызвать.

Допустим нужно получить информацию о активных ордерах, которые в данный момент весят на покупку или продажу. Для этого, исходя из документации биржи, нужно вызвать метод «ActiveOrders» с параметром «pair» которому нужно передать нужную пару монет, например «ltc_rur«. Сделать это можно очень просто.

Соберём информацию.

И вызовем функцию. (Помним что в «COINS» лежит пара монет)

Если есть активные ордера, то биржа вернёт информацию о них в Json формате. Если активных ордеров нет, то функция вернёт «False«.

Ещё пример. Посмотрим историю сделок и выведем только 3 сделки из всей истории. Так же собираем информацию.

И точно так же вызываем функцию, только уже с методом «TradeHistory»

Получаем ответ и информацию о сделках в JSON формате. С которой можно продолжить работать, как тебе нужно и как хочется.

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


Оставить комментарий

?>