Обсуждение статьи "Создание бота для Telegram на языке MQL5"

 

Опубликована статья Создание бота для Telegram на языке MQL5:

Эта статья — пошаговое руководство по созданию бота для Telegram на языке MQL5. Данный материал будет интересен тем, кто хочет связать торгового робота со своим мобильным устройством. В статье приведены примеры ботов, выполняющие рассылку торговых сигналов, поиск информации на сайте, присылающие информацию о состоянии торгового счета, котировки и скриншоты графиков на ваш смартфон.

За регистрацию и настройку ботов отвечает специальный бот @BotFather. Найдем его через поиск. После добавления в список контактов начнем общение с ним командой /start. В ответ он пришлет список всех доступных команд, как показано на рисунке 1.


Список команд @BotFather.

Рис.1. Список команд @BotFather.

Командой /newbot начнем регистрацию нового бота. Необходимо придумать два названия. Первое – имя (name) бота, которое можно задать на вашем родном языке. Второе - имя пользователя бота (username) на латинице, заканчивающееся на приставку “bot”. В результате мы получим токен – ключ доступа для работы с ботом через API.

Автор: Andrey Voytenko

 

Интересная статья!

А коды работают на MT4? 

 
Kodir Amanaliev:

А коды работают на MT4? 

Да, пробуйте.
 
Очень интересная и полезная статья! Спасибо!
 
Andrey Voytenko:
Да, пробуйте.

Пробовал Telegram_bot_EA на МТ4. Установился нормально. ввел в настройках токен. Добавил в список разрешенных адресов URL: https://api.telegram.org. С начало работал норм после запроса 2-3 команд советник автоматически удаляется из графика из-за нехватки памяти...

 скрин из журнала

 
Класс! Изящно и современно )
 

Благодарю читателей за положительные отзывы.

Первые совместные тесты выявили ошибки в коде, поэтому выложу здесь архив с исправлениями. Скоро его обновят в статье.

Файлы:
telegram.zip  31 kb
 
Новая версия кодов.
Файлы:
telegram.zip  31 kb
 
Большое спасибо! Очень полезный материал!
 
Спасибо огромное за материал. Есть только один вопрос: Не могу настроить отсылку сообщений в канал. Ошибка сообщает "Bad Request". Токен и имя канала правильные. Не могу понять в чем проблема.
 
Dmitri Custurov:
Спасибо огромное за материал. Есть только один вопрос: Не могу настроить отсылку сообщений в канал. Ошибка сообщает "Bad Request". Токен и имя канала правильные. Не могу понять в чем проблема.

BadRequest  - это реакция на отправку сообщения приватному каналу. Вообще-то разработчики изначально планировали, чтобы боты работали только с публичными каналами.

Но с приватными можно работать по ID.

Схема получения ID такая:

  • Сделайте канал публичным, установите для него username.
  • Добавьте в канал бота администратором.
  • Перейди по ссылке: https://api.telegram.org/bot[ТОКЕН_БОТА]/sendMessage?chat_id=@[USERNAME_КАНАЛА]&text=тест

После перехода по ссылке будет выведен ID канала, запомните его.

  • Сделайте канал приватным.
  • Отправляйте сообщения через SendMessage() по ID или так https://api.telegram.org/bot[ТОКЕН_БОТА]/sendMessage?chat_id=[ID_КАНАЛА]&text=тест

ID канала не меняется со временем, поэтому такая схема вполне работоспособна.

Причина обращения: