Поиск выгодных курсов стоимости крипты + уведомление в telegram (всё на API)

YozH

Client
Регистрация
22.01.2019
Сообщения
45
Благодарностей
43
Баллы
18
82556


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

1. Структура и логика бота.
Криптовалютные пары (далее пары) для проверки содержится в excel файле pairs.xlsx

82557


Столбец A - хранит “красивое” написание. Остальные столбцы хранят написание этой пары в указанных биржах.
Биржа indx.money имеет своеобразную форму записи, т.к. доступ к ней осуществляется только авторизованным пользователем (аккаунт webmoney).
В п.5 рассмотрено как получать необходимые данные.

82558


После обнуления счётчиков, получаем пару в первой бирже и запрашиваем по ней текущие цены из стакана bids/asks.
В ответе получаем массив с записями о bids и asks, после распаршиваем данный массив в отдельные списки bids и asks.

82559


Далее идёт блок расчета средней стоимости пары для bids. Т.к. в ответе получаем стоимость за единицу и размер лота, рассчитываем итоговую стоимость данного лота. Аккумулируем данные расчёты до достижения порогового значения стоимости лотов. После достижения порога, рассчитываем среднюю стоимость единицы пары, и записываем значения в таблицу.

Такую же операцию проводим и для asks и так же для других бирж.

82560


После проверки всех бирж сравниваем на возможность купить на одной бирже дешевле и продать на другой дороже на заданное кол-во процентов.
Если такой вариант имеется, тогда отправляем сообщение с информацией в телеграм бота по 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 и получить логин и пароль.

82561


После чего по данному адресу можно будет сформировать необходимый запрос
https://api.indx.ru/Api/v2/samples/offerlist.htm
Необходимы полученные логин и пароль для API а так же WMID трейдера (ваш WMID вебмани) полученный запрос нужно вставить в pairs.xlsx для indx

82562


Посмотреть id нужных пар можно по этой ссылке
https://api.indx.ru/Api/v2/samples/tools.htm

6. Создание telegram бота для информирования
Для этого нужно написать @botfather /newbot и задать имя и юзернейм, после чего он пришлёт его токен. Данного бота необходимо добавить к себе для получения сообщений от него.

82563


После нужно получить chat_id написав @RawDataBot

82564


Полученные данные вставить в настройки бота.

82567


7. Отправка сообщения в телеграм
82565


82566


Данное сообщение формируется в кубике «Отправляем уведомление» с требуемыми переменными.

Итог
Проект старый, и каков сейчас шанс получения выгодного расхождения в цене подсказать не могу. Но думаю будет полезен в изучении работы с чужими API и создании проверок с информерами.
 
Категория
Чат-боты \ Автоответчик, Аналитика
Номер конкурса шаблонов
Восьмой конкурс шаблонов
Уровень сложности
Продвинутый

Вложения

Для запуска проектов требуется программа ZennoPoster или ZennoDroid.
Это основное приложение, предназначенное для выполнения автоматизированных шаблонов действий (ботов).
Подробнее...

Для того чтобы запустить шаблон, откройте нужную программу. Нажмите кнопку «Добавить», и выберите файл проекта, который хотите запустить.
Подробнее о том, где и как выполняется проект.

fridayman

Client
Регистрация
25.03.2018
Сообщения
169
Благодарностей
260
Баллы
63
Это интересно! Поизучаю твой шаблон.
 
  • Спасибо
Реакции: qweeeraz

DevOps

Client
Регистрация
30.11.2020
Сообщения
496
Благодарностей
314
Баллы
63
Неплохо. Думаю что справедливости ради надо добавить такие переменные как комиссия бирж (покупка, продажа, на вывод средств и.т.д.). Тогда будут действительно валидные варианты для небольших стартовых сумм
 

malysh

Client
Регистрация
27.07.2017
Сообщения
420
Благодарностей
55
Баллы
28
не понимаю смысла данного действа, если арбитражить, то точно не так
 

YozH

Client
Регистрация
22.01.2019
Сообщения
45
Благодарностей
43
Баллы
18
не понимаю смысла данного действа, если арбитражить, то точно не так
Возможно в то время написания шаблона смысл и был, сейчас сомневаюсь. И как я сказал
Но думаю будет полезен в изучении работы с чужими API и создании проверок с информерами.
 

Serje

Пользователь
Регистрация
16.10.2021
Сообщения
51
Благодарностей
1
Баллы
8
Если кто знает есть такой рабочий бот или нет, готов оплатить бота и его настройку.
 

DevOps

Client
Регистрация
30.11.2020
Сообщения
496
Благодарностей
314
Баллы
63

Oleg-KC

Client
Регистрация
17.02.2020
Сообщения
168
Благодарностей
56
Баллы
28
@YozH а можно вас попросить откатить на версию ниже? на 7.3.2.1. не получается открыть данный шаблон для изучения. Заранее благодарен:df:
 

YozH

Client
Регистрация
22.01.2019
Сообщения
45
Благодарностей
43
Баллы
18
@YozH а можно вас попросить откатить на версию ниже? на 7.3.2.1. не получается открыть данный шаблон для изучения. Заранее благодарен:df:
А как это сделать? Не делал такого раньше и не нашёл где это выбрать =/
У меня проект сохранён в 7.4.0.0
 

Oleg-KC

Client
Регистрация
17.02.2020
Сообщения
168
Благодарностей
56
Баллы
28

Вложения

  • 27,5 КБ Просмотры: 118

YozH

Client
Регистрация
22.01.2019
Сообщения
45
Благодарностей
43
Баллы
18
Блок шифрования
Посмотреть вложение 85009

Далее выбираете в открывшимся окне, с какой версии вы разрешаете открывать проект.
Спасибо, буду знать)

Прикладываю версию для 7.3.2.1 и на всякий случай минимальную 7.1.3.0
В архивах только ZP проекты, сопутствующие файлы можно взять в конкурсном архиве.
 

Вложения

Oleg-KC

Client
Регистрация
17.02.2020
Сообщения
168
Благодарностей
56
Баллы
28

Кто просматривает тему: (Всего: 2, Пользователи: 0, Гости: 2)