Правило помечено как Once, но иногда вызывается дважды~/topic/1846/pravilo-pomecheno-kak-once-no-inogda-vyzyvaetsya-dvazhdy/Copyright @ StockSharp Platform LLC 2010 - 20242024-03-28T20:20:54Zhttps://stocksharp.com/images/logo.pnghttps://stocksharp.com/posts/m/10667/Пришлите минимальный проект, где это воспроизводится.2011-08-28T12:08:06Z2011-08-28T12:08:06ZAlexanderhttps://stocksharp.com/users/2826/info@stocksharp.comПришлите минимальный проект, где это воспроизводится.Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/10661/Правило создается каждый раз при регистрации новой заявки. Зачем 2 раза free = false? - забыл удалит...2011-08-28T05:29:04Z2011-08-28T05:29:04Zvaderhttps://stocksharp.com/users/28223/info@stocksharp.comПравило создается каждый раз при регистрации новой заявки.<br />Зачем 2 раза free = false? - забыл удалить нижнию.<br /><br />Не вижу где здесь делается вывод того, что в первом сообщении. - происходит в методе ,вызываемом при исполнении правила - RecalculateVolume.<br />Также неясно что с 3.2.10 - Пока мало тестировал, определённо сказать не могу.Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/10655/ if(_free){ _free = false; _order = new Order { Portfolio = this.Portfolio, Volume = vol, Price = pr...2011-08-27T20:05:49Z2011-08-27T20:05:49ZAlexanderhttps://stocksharp.com/users/2826/info@stocksharp.com<div class="quote"><span class="quotetitle">vader <a href="https://stocksharp.com/posts/m/10610/"><img src="https://stocksharp.com/images/icon_latest_reply.gif" title="Go to" alt="Go to" /></a></span><div class="innerquote"><br /><br /><div class="code"><strong>Code</strong><div class="innercode"><pre class="brush:csharp">
if(_free){
_free = false;
_order = new Order
{
Portfolio = this.Portfolio,
Volume = vol,
Price = price,
Security = this.Security,
Direction = OrderDirections.Sell,
};
WrapRegisterOrder();
}
private void WrapRegisterOrder()
{
_ruleMatched = this
.When(StrategyRuleConditionHelper.Matched(_order))
.Do(RecalculateVolume)
.Once();
_ruleMatched.EnableLog(true);
Register(_order);
_free = false;
}
</pre>
</div></div></div></div><br /><br /><br />Не вижу где здесь делается вывод того, что в первом сообщении.<br />Также неясно что с 3.2.10<br /><br />Зачем 2 раза free = false?<br />И сколько раз правило создаётся?Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/10610/ if(_free){ _free = false; _order = new Order { Portfolio = this.Portfolio, Volume = vol, Price = pr...2011-08-25T08:56:23Z2011-08-25T08:56:23Zvaderhttps://stocksharp.com/users/28223/info@stocksharp.com<br /><br /><div class="code"><strong>Code</strong><div class="innercode"><pre class="brush:csharp">
if(_free){
_free = false;
_order = new Order
{
Portfolio = this.Portfolio,
Volume = vol,
Price = price,
Security = this.Security,
Direction = OrderDirections.Sell,
};
WrapRegisterOrder();
}
private void WrapRegisterOrder()
{
_ruleMatched = this
.When(StrategyRuleConditionHelper.Matched(_order))
.Do(RecalculateVolume)
.Once();
_ruleMatched.EnableLog(true);
Register(_order);
_free = false;
}
</pre>
</div></div>Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/10607/Покажите где и как создаёте правило. Также проверьте данное поведение на 3.2.102011-08-24T21:49:16Z2011-08-24T21:49:16ZAlexanderhttps://stocksharp.com/users/2826/info@stocksharp.comПокажите где и как создаёте правило.<br />Также проверьте данное поведение на 3.2.10Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/10601/При исполнении сделки вызывается метод, где пересчитывается позиция. Правило помечено как Once, но и...2011-08-24T19:28:39Z2011-08-24T19:29:22Zvaderhttps://stocksharp.com/users/28223/info@stocksharp.comПри исполнении сделки вызывается метод, где пересчитывается позиция. <br />Правило помечено как Once, но иногда вызывается дважды. <br />Вот вывод изменения текущей позиции и TransactionId <br />1 61947599 <br />2 61947600 <br />11 61947601 <br />12 61947602 <br />19 61947603 <br />25 61947604 <br />26 61947605 <br />27 61947606 <br />28 61947606 <br />33 61947607 <br />36 61947608 <br /><br />3и 4 с конца списка - дважды посчитано по одной сделке.Copyright @ StockSharp Platform LLC 2010 - 2024