Перейти к содержанию

Сообщения и подписки

Интерфейсы Messages и MessageSubscription предоставляют типы, которые обеспечивают обмен данными между алгоритмами внутри экземпляра cTrader. С помощью этих типов вы можете запрограммировать один алгоритм для отправки сообщения, а другие алгоритмы могут подписаться на него.

Предупреждение

Объекты Messages API работают только в алгоритмах .NET 6.

Алгоритм может быть запрограммирован на выполнение определенного действия при получении определенного сообщения от другого алгоритма. Сообщения и действия могут быть любыми.

Пример

Рассмотрим плагин, который генерирует сигналы и отправляет их сиБоту, который прослушивает сообщения и соответствующим образом открывает позиции.

Отправить сообщение (торговый сигнал)

1
Messages.Send("TradeSignal", "Buy EURUSD at 1.1200");

Выполнить действие (открыть позицию)

1
2
3
4
5
6
7
8
9
private void OnTradeSignalReceived(MessageArgs<string> args)
{
    var signal = args.Message;
    if (signal == "Buy EURUSD at 1.1200")
    {
        ExecuteMarketOrder(TradeType.Buy, "EURUSD", 10000);
        Print("Trade executed based on signal");
    }
}