Не выполняется Once() для своих правил стратегий
Вот например правило (дублирует по фукциональности одно из стандартных):
Код
private sealed class NewBarStrategyRule : StrategyRule
{
// СВОЙСТВА
private Security Security { get; set; }
private TimeSpan TimeFrame { get; set; }
// КОНСТРУКТОР
public NewBarStrategyRule(MyStrategy baseStrategy)
{
Security = baseStrategy.Security;
TimeFrame = baseStrategy.Graph.TimeFrame;
Core.CandleManager.CandlesStarted += OnNewCandles;
}
// МЕТОДЫ
private void OnNewCandles(CandleToken token, IEnumerable<Candle> candles)
{
if (token.Security == Security && (TimeSpan)token.Arg == TimeFrame) // Если пришла наша свеча
Activate();
}
// ДЕСТРУКТОР
protected override void DisposeManaged()
{
Core.CandleManager.CandlesFinished -= OnNewCandles;
base.DisposeManaged();
}
}
Проблема: действие .Once() по такому правилу продолжает выполняться бесконечно. Вроде все делал по инструкции [confused]
S# 4.0.10 (пробовал и на 4.0.8, 4.0.6)