[Bug] действие на условие исполняется больше одного раза~/topic/1800/bug-deistvie-na-uslovie-ispolnyaetsya-bolshe-odnogo-raza/Copyright @ StockSharp Platform LLC 2010 - 20242024-03-28T16:39:15Zhttps://stocksharp.com/images/logo.pnghttps://stocksharp.com/posts/m/10238/На сколько я понимаю, StrategyRuleConditionHelper.Matched(_order) приводится в исполнение событием S...2011-08-10T06:09:23Z2011-08-10T06:09:23Zvaderhttps://stocksharp.com/users/28223/info@stocksharp.comНа сколько я понимаю, StrategyRuleConditionHelper.Matched(_order) <br />приводится в исполнение событием Strategy.OrderChanged.<br />Получается и это событие инициируется несколько раз от одной и той же сделки?<br />Можно ли это как-то фильтровать?Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/10236/Событийная стратегия В списке правил - одно правило, полное исполнение. Никаких сообщений об ощибках...2011-08-09T14:17:17Z2011-08-09T14:17:17ZMikhail Sukhovhttps://stocksharp.com/users/201/info@stocksharp.com<div class="quote"><span class="quotetitle">vader <a href="https://stocksharp.com/posts/m/10234/"><img src="https://stocksharp.com/images/icon_latest_reply.gif" title="Go to" alt="Go to" /></a></span><div class="innerquote">Событийная стратегия<br />В списке правил - одно правило, полное исполнение.<br />Никаких сообщений об ощибках нет.</div></div><br /><br />Наверное Квик шлет изменения несколько раз по уже измененной заявке. Сделайте правило одноразовым.Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/10234/Событийная стратегия protected override void OnStarting() { _order = new Order { Portfolio = this.Po...2011-08-09T13:01:21Z2011-08-09T13:04:04Zvaderhttps://stocksharp.com/users/28223/info@stocksharp.comСобытийная стратегия<br /><div class="code"><strong>Code</strong><div class="innercode"><pre class="brush:csharp">
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;
</pre>
</div></div><br />Запускаю стратегию, она отправляет первую заявку, когда заявки исполняется, метод Start вызывается 3 или 4 раза. Один раз он был вызван 1 раз.<br />По-моему это баг.<br />В списке правил - одно правило, полное исполнение.<br />Никаких сообщений об ощибках нет.Copyright @ StockSharp Platform LLC 2010 - 2024