Не срабатывает OrderCanceled (Quik)~/topic/3519/ne-srabatyvaet-ordercanceled-(quik)/Copyright @ StockSharp Platform LLC 2010 - 20242024-03-29T05:44:24Zhttps://stocksharp.ru/images/logo.pnghttps://stocksharp.ru/posts/m/24942/Все - всем снова спасибо. Очередной мой косяк. Я думал, что событие "заявка снята" генерируется с по...2013-03-28T10:52:38Z2013-03-28T10:52:46ZСамунджян Артемhttps://stocksharp.ru/users/675/info@stocksharp.ru<div class="quote"><span class="quotetitle">FlashPlayer</span><div class="innerquote">Все - всем снова спасибо. Очередной мой косяк. Я думал, что событие "заявка снята" генерируется с помощью библиотеки Trans2Quik.dll. А оказывается, событие возникает просто после появления соответствующей строчки в таблице QUIK "Заявки". Ну а я по привычке снял все фильтры кроме "показывать активные заявки". Вот такой косяк. </div></div>Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.ru/posts/m/24941/Теперь новая проблема. После снятия заявки не происходит события OrderCanceled (как ни подписывайся ...2013-03-28T10:50:04Z2013-03-28T10:50:28ZСамунджян Артемhttps://stocksharp.ru/users/675/info@stocksharp.ru<div class="quote"><span class="quotetitle">FalshPlayer</span><div class="innerquote">Теперь новая проблема. <br /><br />После снятия заявки не происходит события OrderCanceled (как ни подписывайся оно не вызывается), более того все заявки, даже уже снятые, в Trader хранятся в состоянии Active, что по идее является следствием не срабатывания события. Все дело происходит как и с фьючами, так и с акциями в QUIK Junior. Кто-то сталкивался и может ли кто-то проверить, опровергнуть? Приведу простой пример - создаем стратегию и в ней перепишем лишь метод OnStarted таким образом:<br /><br /><div class="code"><strong>Код</strong><div class="innercode"><pre class="brush:csharp">
protected override void OnStarted()
{
var newOrder = this.CreateOrder(OrderDirections.Buy, <<Тут какая-то цена ниже рынка, чтобы заявка зависла>>, 1);
newOrder.WhenCanceled().Do(Smth).Apply(this);
newOrder.WhenRegistered().Do(CancelActiveOrders).Apply(this);
RegisterOrder(newOrder);
base.OnStarted();
}
void Smth()
{
}
</pre>
</div></div><br />По идее при выполнении этого кода мы должны упасть в метод Smth, но этого не происходит, так как отмена заявки не зажигает событие. Проверьте пожалуйста - что не так?<br /></div></div>Copyright @ StockSharp Platform LLC 2010 - 2024