Бывает, нужно получать от торгующего робота какие-то уведомления. Это могут быть уведомления об открытии позиций, закрытии, каком-то сбое и тд.
Так вот, рассмотрим способ отправки сообщений в один из популярных мессенджеров Телеграм.
Инструкция состоит из 3-х пунктов:
1. Создание бота в Telegram для приема сообщений
2. Отправка сообщений на примере бесплатного робота OsEngine.
3. Обзор кода робота.
1. Создание бота в Telegram для приема сообщений.
Нам будет нужен бот в самом мессенджере Телеграм. Для его создания используем BotFather – это официальный бот мессенджера, который позволяет создавать ботов и управлять ими. Открываем его и начинаем с ним чат (команда “/start” или Запустить):

BotFather отвечает списком команд, нам нужна команда – “/newbot” – вводим ее. В ответ предлагается выбрать имя нашему новому боту. Придумываем и вводим, например, “newOSAbot”.
Далее предлагается выбрать имя пользователя, оканчивающееся на “bot”. Делаем его, просто приписав в конец то, что нужно - “newOSAbot_bot”.
Вот так в итоге выглядит диалог создания бота:

BotFather сообщил нам об успешном создании бота и выдал Токен, который нужно куда-то сохранить. Он нам будет нужен для работы.
При необходимости созданных в BotFather ботов можно настраивать – добавлять описание, команды, устанавливать аватар и прочее.
Далее нам нужно узнать свой Telegram ID. Для этого можно использовать вот этого бота: https://t.me/userinfobot
Запускаем бота, и он выдает нам в ответ ID, сохраняем его рядом с Токеном.
Вот как это выглядит:

Давайте теперь проверим нашего вновь созданного бота. Вводим в поиске Телеграм имя бота (newOSAbot_bot) и запускаем его. Проверить отправку ему сообщений можно в браузере. Для этого в адрес ("https://api.telegram.org/bot + Token + /sendMessage?chat_id= + ID + &text=Hello!") надо вставить наши Токен и ID:

Если все правильно, то в чат с ботом придет приветственное сообщение:

Впоследствии все уведомления от робота OsEngine будут приходить сюда же.
2. Отправка сообщений на примере бесплатного робота OsEngine.
Нам нужен робот-пример отправки сообщений в Телеграм, называется он TelegramSample.cs

Запускаем OsEngine, добавляем данного робота. Настройки уведомлений находятся во вкладке Параметров Telegram settings – там вводим ранее полученные Токен и ID в соответствующие поля:

Не забываем включить режим “On”. Также на вкладке Trade settings надо тоже включить и настроить индикатор. Там еще можно и рабочий объем.
Робот не для боевой торговли, а для демонстрации работы с уведомлениями в Телеграм. Его торговая стратегия простейшая - индикатор Price Channel, вход в лонг при пробое верхней границы канала, выход при пробое нижней…
Уведомления в роботе сделаны на:
а) открытие позиции;
б) закрытие позиции;
в) потерю соединения с сервером.
Уведомление о потере соединения работает только в OsTrader (в боевом режиме). Поэтому в Тестере мы сейчас проверим уведомления о сделках.
В уведомлениях текст события, в скобках название робота, цена входа/выхода.
Настроили все, запустили тест (без ускорения, а то спамить уведомлениями будет) - уведомления есть:

3. Обзор кода робота.
За отправку уведомлений в Телеграм отвечает асинхронный метод SendTelegramMessageAsync(string message), принимает, соответственно, сообщение, которое нужно отправить:

В методе некоторые проверки, что введены ID и Токен и правильности ввода.
Метод для открытия и закрытия позиций вызывается в обработчиках успешного открытия и закрытия позиции. В обработчиках собираем нужную нам строку и передаем в метод:

Проверка соединения с сервером реализована в методе CheckConnect():

В методе крутится бесконечный цикл while с периодичностью 10 секунд, проверяется статус сервера. Когда соединение обрывается, приходит уведомление об этом.
Метод запускается в отдельном потоке из Конструктора в том случае, если робот запущен в боевом соединении (OsTrader):

Ссылка на робота на GitHub: https://github.com/AlexWan/OsEngine
Поддержка OsEngine: https://t.me/osengine_official_support
Общество с ограниченной ответственностью "ВАН ТЕХНОЛОГИИ"
специализируется на разработке программного обеспечения для алгоритмической торговли на биржах.
ИНН 2373023082 ОГРН 1232300013593 т. +7 953 769 56 45 почта: alexey@o-s-a.net
353225, Россия, Краснодарский край, Динской м.р-н,
Васюринское с.п., Васюринская ст-ца, Луначарского ул., д. 142
Основной ОКВЭД: 62.01 - разработка компьютерного программного обеспечения.
Дополнительный ОКВЭД: - 46.66 - 47.41 - 47.99 - 62.02 - 62.09 - 63.11 - 63.11.1 - 82.99 - 95.11
Open Source Algo Trading Platform
Программа предназначена для автоматизации процесса торговли на бирже. Программа обеспечивает реализацию следующих функций: создание автоматизированных торговых систем для торговли на бирже; тестирование автоматизированных торговых систем; скачивание и сохранение исторических данных по торгам на биржах; оптимизация механических торговых систем; подключение к биржам и торговля на них. ОС: Windows 10/11, Windows Server 2012/2016/2019/2022. Язык программирования: C# Внесена в единый реестр российского программного обеспечения (Реестровая запись №30086 от 06.10.2025): https://reestr.digital.gov.ru/reestr/4075388/
Комментарии