- Регистрация
- 22.01.2019
- Сообщения
- 45
- Реакции
- 43
- Баллы
- 18
Предистория.
Хочу поделиться своим старым и первым проектом на заказ, который окупил стоимость зенопостера и помог разобраться как работать с API, т.к. скорость работы бота должна была быть быстрой.
Знакомый увлекался криптовалютами и хотел бота, который мог быстро проверять цены на различных криптобиржах и сравнивать их между собой по нужным криптовалютным парам на предмет выгодных вариантов купить/продать, после чего информировать его.
1. Структура и логика бота.
Криптовалютные пары (далее пары) для проверки содержится в excel файле pairs.xlsx
Столбец A - хранит “красивое” написание. Остальные столбцы хранят написание этой пары в указанных биржах.
Биржа indx.money имеет своеобразную форму записи, т.к. доступ к ней осуществляется только авторизованным пользователем (аккаунт webmoney).
В п.5 рассмотрено как получать необходимые данные.
После обнуления счётчиков, получаем пару в первой бирже и запрашиваем по ней текущие цены из стакана bids/asks.
В ответе получаем массив с записями о bids и asks, после распаршиваем данный массив в отдельные списки bids и asks.
Далее идёт блок расчета средней стоимости пары для bids. Т.к. в ответе получаем стоимость за единицу и размер лота, рассчитываем итоговую стоимость данного лота. Аккумулируем данные расчёты до достижения порогового значения стоимости лотов. После достижения порога, рассчитываем среднюю стоимость единицы пары, и записываем значения в таблицу.
Такую же операцию проводим и для asks и так же для других бирж.
После проверки всех бирж сравниваем на возможность купить на одной бирже дешевле и продать на другой дороже на заданное кол-во процентов.
Если такой вариант имеется, тогда отправляем сообщение с информацией в телеграм бота по API.
2. Добавление криптопар.
Для добавления криптопар необходимо только добавить корректные названия в эксель таблицу pairs.xlsx
3. Добавление криптобирж.
Для добавления биржы, нужно скопировать одну из бирж и добавить в общую цепочку. Необходимо прописать API адрес получения bids/asks для биржи и правильные regex для их парсинга.
4. API бирж используемых в проекте
Kraken - https://docs.kraken.com/rest/#operation/getOrderBook
Exmo - https://documenter.getpostman.com/view/10287440/SzYXWKPi#ba44dd7c-7092-4313-bd97-d1b2c432e712
INDX - http://wiki.web.money/projects/webmoney/wiki/INDX_API_OfferList
5. Формирование API запроса indx
Для формирования запроса нужно авторизоваться через аккаунт webmoney и в настройках профиля активировать доступ для API и получить логин и пароль.
После чего по данному адресу можно будет сформировать необходимый запрос
https://api.indx.ru/Api/v2/samples/offerlist.htm
Необходимы полученные логин и пароль для API а так же WMID трейдера (ваш WMID вебмани) полученный запрос нужно вставить в pairs.xlsx для indx
Посмотреть id нужных пар можно по этой ссылке
https://api.indx.ru/Api/v2/samples/tools.htm
6. Создание telegram бота для информирования
Для этого нужно написать @botfather /newbot и задать имя и юзернейм, после чего он пришлёт его токен. Данного бота необходимо добавить к себе для получения сообщений от него.
После нужно получить chat_id написав @RawDataBot
Полученные данные вставить в настройки бота.
7. Отправка сообщения в телеграм
Данное сообщение формируется в кубике «Отправляем уведомление» с требуемыми переменными.
Итог
Проект старый, и каков сейчас шанс получения выгодного расхождения в цене подсказать не могу. Но думаю будет полезен в изучении работы с чужими API и создании проверок с информерами.
- Номер конкурса шаблонов
- Восьмой конкурс шаблонов
- Уровень сложности
- Продвинутый
- Категория
- Чат-боты \ Автоответчик
- Аналитика




