Lafert Сделал простейший опыт.
несколько раз вцикле выставляю заявку и тут же снимаю. Через некоторое время проверяю статус у тех заявок, которые остались висеть в таблице заявок.
State=Done, Status=NotValidated, isMatches()=false, isCanceled()=true;
Заявки в таблице видны с состоянием "Активна". Как определить, что эта заявка не удалилась?
Сделал тест (демо Квик 5.18.0.239):
Codevar qt = new QuikTrader { IsAsyncMode = true };
qt.Connect();
var sec = new Security
{
Code = "RIH1",
Class = "SPBFUT",
};
var pf = new Portfolio
{
Name = "SPBFUT00538",
};
for (var i = 0; i < count; i++)
{
var order = new Order
{
Volume = 1,
Portfolio = pf,
Security = sec,
Price = 185000,
};
qt.RegisterOrder(order);
qt.CancelOrder(order);
orderList.Add(order);
}
Console.ReadLine();
Если count равен 10, то после ожидания в Console.ReadLine все заявки в orderList имеют State == Active. Тоесть, все заявки на снятие не прошли, что является стандартным поведением в асинхронном режиме.
Если count == 100, то первые 12 заявок Active, остальные Failed.
Оба варианта соответствуют данным в Квик. Прогоните такой же тест у себя. Заодно, проверьте, может у нас версии Квик чем-то отличаются.