[Bug] действие на условие исполняется больше одного раза
Событийная стратегия
Код
protected override void OnStarting()
{
_order = new Order
{
Portfolio = this.Portfolio,
Volume = _partOfLot,
Price = _priceOfOrder,
Security = this.Security,
Direction = this._direction,
Trader = this.Trader,
};
this.RegisterOrder(_order);
this
.When(StrategyRuleConditionHelper.Matched(_order))
.Do(Start);
foreach(StrategyRule s in this.Rules){
MessageBox.Show(s.Name);
}
}
private void Start()
{
MessageBox.Show(_order.Id.ToString());
_curLotBuySellNow += _order.Volume;
if (_curLotBuySellNow >= this.Volume){
this.Stop();
return;
}
}
private Order _order;
Запускаю стратегию, она отправляет первую заявку, когда заявки исполняется, метод Start вызывается 3 или 4 раза. Один раз он был вызван 1 раз.
По-моему это баг.
В списке правил - одно правило, полное исполнение.
Никаких сообщений об ощибках нет.