Заметка

Telegram для мониторинга работы роботов

  • robostock
  • Без рубрики
  • 26 ноября 2016 г.
  0  

Тестирование стратегии, перенос логики в робота и последующая торговля посредством алгоритма, это лишь часть работы. Огромная часть работы – это мониторинг состояния робота и результатов исполнения заявок. Чат боты 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 = "https://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 и массу других языков.

 

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

Комментарии

robostock — 29 ноября 2016 г.

пример отправки в телеграм сообщений из Lua

require 'luanet'
require 'socket'

luanet.load_assembly "System"
local WebClient = luanet.import_type("System.Net.WebClient")
local wc = WebClient()

wc:DownloadString("https://api.telegram.org/bot/sendMessage?chat_id=<ваш chat_id>&text=купил RIZ6 по "+price)

0 +

s3344433 — 13 марта 2017 г.

robostock, что то выдает:

Telegramm\quik-telegram-bot-master\telegram.lua:14: module 'lua-bot-api' not found:

0 +

Surmounter — 1 декабря 2016 г.

Спасибо за статью,
прошу пояснить как именно получить идентификатор чата chat_id?

0 +

robostock — 8 декабря 2016 г.

через функцию getUpdates

0 +

Написать комментарий

Чтобы написать комментарий, необходимо авторизоваться.

Написать администратору