StrategyEngine

StockSharp.Algo.Strategies.Decomposed

Конечный автомат + обработка сообщений. Обрабатывает переходы ProcessState и маршрутизацию рыночных данных в PnLManager.

Конструкторы

StrategyEngine
public StrategyEngine(IStrategyHost host, IPnLManager pnlManager)
strategyEngine = StrategyEngine(host, pnlManager)

Конечный автомат + обработка сообщений. Обрабатывает переходы ProcessState и маршрутизацию рыночных данных в PnLManager.

host
Ведущий стратегии.
pnlManager
PnL менеджер.

Свойства

ProcessState
public ProcessStates ProcessState { get; private set; }
value = strategyEngine.ProcessState
strategyEngine.ProcessState = value

Текущее состояние процесса.

UnrealizedPnLInterval
public TimeSpan UnrealizedPnLInterval { get; set; }
value = strategyEngine.UnrealizedPnLInterval
strategyEngine.UnrealizedPnLInterval = value

Интервал для нереализованного PnLrescover.

Методы

ForceStop
public void ForceStop()
strategyEngine.ForceStop()

Принудительное состояние «Остановлено» (для сброса).

OnMessage
public void OnMessage(Message message)
strategyEngine.OnMessage(message)

Обработка входящего сообщения — переходы состояний + маршрутизация рыночных данных.

RequestStartAsync
public ValueTask RequestStartAsync(CancellationToken cancellationToken)
result = strategyEngine.RequestStartAsync(cancellationToken)

Запросить запуск стратегии. Отправляет сообщение об изменении состояния через хост.

RequestStopAsync
public ValueTask RequestStopAsync(CancellationToken cancellationToken)
result = strategyEngine.RequestStopAsync(cancellationToken)

Запросить остановку стратегии. Отправляет сообщение об изменении состояния через хост.

События

CurrentPriceUpdated
public event Action<SecurityId, decimal, DateTime, DateTime> CurrentPriceUpdated
strategyEngine.CurrentPriceUpdated += handler

Срабатывает, когда текущая цена обновляется на основе рыночных данных.

PnLRefreshRequired
public event Action<DateTime> PnLRefreshRequired
strategyEngine.PnLRefreshRequired += handler

Срабатывает, когда PnL необходимо пересчитать.

StateChanged
public event Action<ProcessStates> StateChanged
strategyEngine.StateChanged += handler

Срабатывает при изменении ProcessState.