StrategyEngine
Máquina de estado + processamento de mensagens. Lida com ProcessState transitions and market data roteing to PnLManager.
Construtores
public StrategyEngine(IStrategyHost host, IPnLManager pnlManager)
strategyEngine = StrategyEngine(host, pnlManager)
Máquina de estado + processamento de mensagens. Lida com ProcessState transitions and market data roteing to PnLManager.
- host
- - Hospedeira de estratégia.
- pnlManager
- PnL manager.
Propriedades
public ProcessStates ProcessState { get; private set; }
value = strategyEngine.ProcessState
strategyEngine.ProcessState = value
Estado atual do processo.
public TimeSpan UnrealizedPnLInterval { get; set; }
value = strategyEngine.UnrealizedPnLInterval
strategyEngine.UnrealizedPnLInterval = value
Intervalo para não realizado PnL resh.
Métodos
public void ForceStop()
strategyEngine.ForceStop()
Forçar o estado a parar (para reiniciar).
public void OnMessage(Message message)
strategyEngine.OnMessage(message)
Processo de entrada de mensagem — transições de estado + roteamento de dados de mercado.
public ValueTask RequestStartAsync(CancellationToken cancellationToken)
result = strategyEngine.RequestStartAsync(cancellationToken)
Solicitar início da estratégia. Envia mensagem de mudança de estado através da máquina.
public ValueTask RequestStopAsync(CancellationToken cancellationToken)
result = strategyEngine.RequestStopAsync(cancellationToken)
Solicitar parada de estratégia. Envia mensagem de mudança de estado através da máquina.
Eventos
public event Action<SecurityId, decimal, DateTime, DateTime> CurrentPriceUpdated
strategyEngine.CurrentPriceUpdated += handler
Incêndios quando atual atualização de preços a partir de dados do mercado.
public event Action<DateTime> PnLRefreshRequired
strategyEngine.PnLRefreshRequired += handler
Dispara quando PnL deve ser recalculado.
public event Action<ProcessStates> StateChanged
strategyEngine.StateChanged += handler
Dispara quando ProcessState muda.