- Регистрация
- 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 и создании проверок с информерами.
- Категория
- Чат-боты \ Автоответчик, Аналитика
- Номер конкурса шаблонов
- Восьмой конкурс шаблонов
- Уровень сложности
- Продвинутый
Вложения
-
45 КБ Просмотры: 216
Для запуска проектов требуется программа ZennoPoster или ZennoDroid.
Это основное приложение, предназначенное для выполнения автоматизированных шаблонов действий (ботов).
Подробнее...
Для того чтобы запустить шаблон, откройте нужную программу. Нажмите кнопку «Добавить», и выберите файл проекта, который хотите запустить.
Подробнее о том, где и как выполняется проект.