Блог им. robostock

Как использовать Telegram для мониторинга работы роботов

У коллег роботописателей существует необходимость постоянного контроля работы торговых роботов.

Существует огромное количество всевозможных вариантов:

— смс-уведомления из торгового терминала QUIK

— подключение к SMS-агрегатору для последующей отправки SMS-сообщений на собственный номер

— отправка e-mail сообщений

— особо изощренные программисты используют уведомления в календаре гугла, для бесплатной отправки сообщений о выставлении заявок роботом (экзотика, но как не упомянуть об этом)

Сколько копий было сломано, чтобы протестировать описанные выше способы.

 

Существует еще один очень интересный и простой в реализации инструмент – Телеграм со множеством полезных функций: telegram api и telegram bot api.

Bot api позволяет отправлять уведомления о состоянии робота, о сделках и множество другой торговой информации прямо в телеграм в чат с вашим ботом.

Скажу, что из всех предыдущих технологий, разобраться с работой bot api и получить рабочее решение оказалось проще всего. На запуск рабочего решения потребовалось 30 мин: с момента как впервые открыл api, зарегистрировал бота, и до внедрения отправки сообщений из бота в чат.

 

Для того что бы запустить собственный чат бот, который будет вас информировать о состоянии вашего робота нужно выполнить следующие действия:

  1. Ознакомиться с bot api (https://tlgrm.ru/docs/bots/api)

  2. Изучать все API для базового функционала нет смысла. Необходимо начать с разделов: Авторизация бота, отправка запросов, метода sendMessage и метода getUpdates (в разделе bot api «Получение обновлений»

  3. Далее переходим к практической части. Необходимо установить Телеграм на телефон. С помощью бота @BotFather (https://tlgrm.ru/docs/bots) прямо в чате Телеграма создать собственного бота и получить токен для вашего бота. Токен в последствии будет использоваться для авторизации запросов на отправку сообщений.

  4. В чате с ботом @BotFather пишите команду /newbot. После чего botfather попросит вас указать имя вашего бота. В случае успешного создания botfather сообщит вам токен вашего личного чат бота. Запомните его.

  5. После создания вашего собственного чат бота, можете сразу начать с ним беседу. Для того что бы в последствии с помощью функции getUpdates можно было получить уникальный идентификатор чата chat_id. Данные идентификатор используется для отправки сообщения конкретному пользователю.

  6. Самое сложное закончилось.

  7. Переходим в проект торгового робота (в данном примере будет использован C#).

  8. Код отправки сообщения для вашего чат бота занимает 8 строчек и выглядит следующим образом:

  9. string uri = «api.telegram.org/bot<chatbottoken>/sendMessage?chat_id=<ваш chat_id>&text=купил RIZ6 по „+price.ToString();

     

                string resultPage = “»;

                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);

                HttpWebResponse response = (HttpWebResponse)request.GetResponse();

                using (StreamReader sr = new StreamReader(response.GetResponseStream(), Encoding.UTF8, true))

                {

                    resultPage = sr.ReadToEnd();

                    sr.Close();

                }

     

    Приведенная на C# логика легко внедряется в lua, phyton и массу других языков.

 

Удачи в торговле роботами.

1.6К | ★57
27 комментариев
Спасибо. Полезная информация.
avatar
Или одна строчка вызова curl
curl -s -X POST https://api.telegram.org/bot$BotID/sendMessage \
         -d text="$Message" -d chat_id=$UserID
avatar
Lev, Это на каком языке?
avatar
Антон Ш, curl — утилита командной строки, есть нативно в Linux и MacOS. Можно установить в Windows и писать простенькие bat-файлы с использованием curl. Есть биндинги ко всем популярным языкам программирования. Так что curl сейчас стандарт «де-факто» и использование его вместо самописных сетевых функций — более правильный подход
avatar
ужасно неудобный способ.
купил/продал + инструмент запрограммировать надо же?

Проще любым способом из любой торгпроги отсылать с разницей в N минут сообщение куда угорно посредством чего угодно.

Если роботостроитель не тупой, он итак знает все позы и изменения во времени, ему достаточно подобных сообщений, чтобы видеть изменение «портфеля» позиций.
Лузер, сам то понял, что написал…
а как сделать так чтоб смс приходила когда цена коснулась уровня? там можно сделать?
avatar
ZDH, конечно. Вы же на форекс. И фортс торгуете, судя по профилю, вероятно, через метатрейдер.
 А на MQL это сделать проще простого.
 через 
ПУШуведомдения
avatar
Спасибо за идею
avatar
еще есть у пацанов на районе популярный способ: писать все в текстовые логи, а потом их грузить в splunk и смотреть через веб интерфейс
avatar
Я пользуюсь пуш уведомлениями в MQL5, Metatrader
avatar
а еще можно пользоваться удаленным рабочим столом и в своем телефончике в любой момент открывать и смотреть, что там происходит, и даже действия совершать, на случай ошибок.
avatar
а я  телеграмм не  видел ни разу
Молодец! Неистово плюсую+++ Хоть мне и не пригодится)
avatar
А чем телеграмм удобней, чем отправка емейл сообщений на телефон? Для работы с емейл сообщениями есть куча программ для телефона, можно подобрать наиболее удобное приложение. А какие преимущества есть у телеграмма?
avatar
Здорово. Спасибо за совет! ЦЕнно
Если интересно, есть подробное описание для mql5. Использую как оповещения при появление сигнала на сделку. 
www.mql5.com/ru/articles/2355?utm_campaign=MetaEditor+5&utm_medium=special&utm_source=mt5editor+article
avatar
Вопрос смежный, но не очень по теме — кто знает телеграм- каналы с новостями, но не всеми подряд, а которые можно считать за значимые, влияющие на рынок?
Любопытный Пай, я читаю @investtalks
avatar
Общение голосом с роботом, через Telegram api https://www.youtube.com/watch?v=4ArYo1NOYzk&feature=youtu.be
avatar
Здесь универсальное решение. А mql5 вещь однобокая…
Спасибо за идею, переключился с смс-ок на telegram
avatar
Плюсанул, идея дельная )
Да, тема нужная, давно хотел реализовать. А бесплатные смски через гугл-календарь уже давно не работают.
avatar
а просто запустить teamviewer? и не парится? открыл форму статистики бота и смотри. а еще модуль риск-менеждмента никто не отменял. Словом за технологии 5, но не понял зачем.
avatar
Класс! Спасибо за идею!
avatar

Читайте на SMART-LAB:
Фото
Снижение ключевой ставки на 50 б.п. может быть разумным компромиссом
Базовый прогноз Банка России по итогам октябрьского заседания предполагает возможность как сохранения ключевой ставки на текущем уровне...
Расширяя технические возможности: нестандартный подход к торговле с БКС Trade API
Торговый терминал — это готовое решение со своим набором функций и возможностей. Но что, если ваша стратегия требует нестандартного подхода или...
Фото
❗️ ПАО «МГКЛ» — выпуск облигаций серии 001PS-01
Финальная ставка купона по выпуску составила 24,00%. Доходность к погашению (YTM) — 26,83% Книга заявок закрыта. Новые заявки не...

теги блога Кирков Алексей

....все тэги



UPDONW
Новый дизайн