Проблема при работе с лотом, больше чем одна заявка.
Здравствуйте.
Реализовал стратегию, которая работала с одним лотом и все было хорошо. Как приходило событие NewMyTrades я понимал, что произошла сделка и делал действия необходимые в моей стратегии.
Сейчас попробовал реализовать аналогичное с числом лотов равным 2 и потерпел неудачу.
Мне нужно производить действия когда заявка полностью исчерпана, т.е куплены или проданы ВСЕ 2 лота.
Попробовал очевидное решение - добавил в обработчик проверку
foreach (MyTrade mt in NewMyTrades)
{
if (mt.Order.IsMatched())
{
выполнилось все, сделать действие
}
}
но почему-то такое срабатывает не всегда. иногда заявка оказывалась полностью выполненной (в квике), а робот считал, что еще нет.
Тогда попытался обрабатывать событие QTrader.PositionsChanged, и при появлении этого события сравнивать position.CurrentValue с 0 или 2. если вдруг стало 0, то можно сказать, что сделка закрылась. если 2, то сделка полностью открылось. но столкнулся с аналогичными проблемами - в большинстве случаев работает, но не всегда. проблема как и раньше.
Есть какие либо идеи?
Очень благодарен за ваш труд.