Блог им. robostock
У коллег роботописателей существует необходимость постоянного контроля работы торговых роботов.
Существует огромное количество всевозможных вариантов:
— смс-уведомления из торгового терминала QUIK
— подключение к SMS-агрегатору для последующей отправки SMS-сообщений на собственный номер
— отправка e-mail сообщений
— особо изощренные программисты используют уведомления в календаре гугла, для бесплатной отправки сообщений о выставлении заявок роботом (экзотика, но как не упомянуть об этом)
Сколько копий было сломано, чтобы протестировать описанные выше способы.
Существует еще один очень интересный и простой в реализации инструмент – Телеграм со множеством полезных функций: telegram api и telegram bot api.
Bot api позволяет отправлять уведомления о состоянии робота, о сделках и множество другой торговой информации прямо в телеграм в чат с вашим ботом.
Скажу, что из всех предыдущих технологий, разобраться с работой bot api и получить рабочее решение оказалось проще всего. На запуск рабочего решения потребовалось 30 мин: с момента как впервые открыл api, зарегистрировал бота, и до внедрения отправки сообщений из бота в чат.
Для того что бы запустить собственный чат бот, который будет вас информировать о состоянии вашего робота нужно выполнить следующие действия:
Ознакомиться с bot api (https://tlgrm.ru/docs/bots/api)
Изучать все API для базового функционала нет смысла. Необходимо начать с разделов: Авторизация бота, отправка запросов, метода sendMessage и метода getUpdates (в разделе bot api «Получение обновлений»
Далее переходим к практической части. Необходимо установить Телеграм на телефон. С помощью бота @BotFather (https://tlgrm.ru/docs/bots) прямо в чате Телеграма создать собственного бота и получить токен для вашего бота. Токен в последствии будет использоваться для авторизации запросов на отправку сообщений.
В чате с ботом @BotFather пишите команду /newbot. После чего botfather попросит вас указать имя вашего бота. В случае успешного создания botfather сообщит вам токен вашего личного чат бота. Запомните его.
После создания вашего собственного чат бота, можете сразу начать с ним беседу. Для того что бы в последствии с помощью функции getUpdates можно было получить уникальный идентификатор чата chat_id. Данные идентификатор используется для отправки сообщения конкретному пользователю.
Самое сложное закончилось.
Переходим в проект торгового робота (в данном примере будет использован C#).
Код отправки сообщения для вашего чат бота занимает 8 строчек и выглядит следующим образом:
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 и массу других языков.
Удачи в торговле роботами.
купил/продал + инструмент запрограммировать надо же?
Проще любым способом из любой торгпроги отсылать с разницей в N минут сообщение куда угорно посредством чего угодно.
Если роботостроитель не тупой, он итак знает все позы и изменения во времени, ему достаточно подобных сообщений, чтобы видеть изменение «портфеля» позиций.
А на MQL это сделать проще простого.
через
ПУШуведомдения
www.mql5.com/ru/articles/2355?utm_campaign=MetaEditor+5&utm_medium=special&utm_source=mt5editor+article