• Demo счет NinjaTrader, регистрируется в брокерской компании NinjaTrader Brokerage . NinjaTrader™, LLC
    Ссылка на демо счет NinjaTrader
    Фид на соединении Continuum/CQG.
    Для справки: Continuum - это брэнд CQG, и ни чем они не отличаются друг от друга.
    Обратите внимание, что в настоящее время CQG не высылает логин и пароль на электронные адреса от mail.ru, bk.ru, list.ru, inbox.ru, поэтому необходимо повторить регистрацию с электронного адреса от другого домейна (yahoo, gmail, и тд).
  • NinjaTrader с зарекомендовавшим себя брокерским сервисом предоставляет наилучшие условия для фьючерсной торговли, включая:
    • Низкие комиссии: Экономьте на торгах через низкие и понятные комиссии
    • Низкая маржа: Всего $50 для микро контрактов
    • Низкие минимумы: Откройте счет от $400
    • Бесплатная платформа: Включает весь необходимый функционал для торговли в реале
  • Уважаемые посетители форума!
    При регистрации на форуме отправляется письмо подтверждения на ваш почтовый ящик, если письмо не пришло, просьба проверить папку "спам" вашего почтового ящика, возможно письмо попало туда.
  • Сколько я реально плачу комиссии?
    Подробнее по ссылке

Программирование Сообщение в Telegram канал

thinarthrill

Well-Known Member
NinjaTrader
#1
Всем любителям алертов посвящается.
Существует множество путей оповестить трейдера о произошедшем событии в Ninjatrader. Среди них и Alert, и сообщение на почту SendMail и СМС сообщение через соответствующий шлюз. Каждый вариант имеет свои плюсы (типа простоты кода или настроек) так и минусы (как спам в почте и коммерческая подоплека в рассылке СМС). Как еще один вариант - отправка уведомлений в Telegram канал. В нете рылся долго, искал самый простой вариант разработки скрипта, чтобы не для особо продвинутых прогеров. В основном попадались библиотеки, которые надо было тянуть из Github, компилировать, и дописывать кучу кода для вызова методов. Но недавно нашел таки простецкий метод, который достаточно вызвать в любом месте кода, указав в качестве параметра, пересылаемое сообщение. Но для его вызова предварительно нужно сделать следующие настройки. и в основном они касаются самого Telegram

1. Создать публичный канал (запоминаем имя, его нужно будет указать далее в коде)
2. Создать Telegram бота посредством BotFather (запоминаем Token, который сгенерирует BotFather, его нужно будет указать далее в коде)
3. Созданного бота сделать администратором публичного канала

Настройки завершены. Далее простой код

4. Добавляем библиотеки
C#:
using System.IO;
using System.Net;
5. Добавляем функцию
Код:
public string SendTelegram(string Message) {
            string urlString = "https://api.telegram.org/bot{0}/sendMessage?chat_id={1}&text={2}";
            string apiToken = "TOKEN";
            string chatId = "@ИМЯ_ТВОЕГО_БОТА";
            string text = Message;
            urlString = String.Format(urlString, apiToken, chatId, text);
            WebRequest request = WebRequest.Create(urlString);
            Stream rs = request.GetResponse().GetResponseStream();
            StreamReader reader = new StreamReader(rs);
            string line = "";
            StringBuilder sb = new StringBuilder();
            while ( line !=null ) {
             line = reader.ReadLine();
             if ( line != null )
             sb.Append(line);
            }
            string response = sb.ToString();
            return response;
        }
Вместо TOKEN, подставляем Token, который сгенерировал BotFather в пункте 2
Вместо ИМЯ_ТВОЕГО_БОТА подставляем имя канала, созданного в пункте 1

6. Вызываем функцию при вашем событии, чтобы отправить сообщение в канал
SendTelegram("Выставлен ордер на продажу "+Instrument.MasterInstrument.Name+" по цене "+Close[0]);

В итоге уведомления всегда под рукой


IMG_4686.png attachment (1).png
 
Последнее редактирование:
Вверх Снизу