Доброго времени суток, уважаемые коллеги!
Столкнулся с проблемой кросс-заявок. Это ситуация, когда выставляемая заявка встречается со своей же уже выставленной противоположной заявкой. Такое происходит на не особо ликвидных бумагах и/или в вечернюю сессию, когда своя заявка стоит лучшей в стакане. Кто как борется?
Update. Я пока ничего лучше этого не придумал:
double price = 100;
Order order;
String msg = "";
while (true)
{
order = new Order
{
Portfolio = _portfolio,
Price = price,
Direction = OrderDirections.Buy,
Security = _lkoh,
Volume = 1,
};
try
{
trader.RegisterOrder(order);
}
catch (Exception ex)
{
msg = ex.Message;
}
if (msg.IndexOf("Обработка кросс-заявок блокирована") >= 0)
{
price = price + 0.01;
Console.WriteLine(msg);
msg = "";
}
else
{
break;
}
}