ReRegisterOrder при изменении стакана.


ReRegisterOrder при изменении стакана.
Atom Reply
5/18/2012


к событию изменения стакана добавляю пересоздание активных стоп-заявок.

Код
  Trader.StopOrders.Where(w => w.Security == quote.Security).ToList().ForEach(fixOrder =>
            {
                var changed = false;
                var condition = (QuikStopCondition)fixOrder.StopCondition;
                if (...)
                {
                    condition.StopPrice = quote.BestBid.Price;
                    changed = true;
                }
                else if (...)
                {
                    condition.StopPrice = quote.BestAsk.Price;
                    changed = true;
                }
                var order = fixOrder.Clone();
                order.StopCondition = condition;
                order.Volume = Trader.Positions.FirstOrDefault(w => w.Security == quote.Security).CurrentValue;
                if(changed)TryReRegisterOrderToCurrentTrader(fixOrder, order);
            });

но заявки событие возникает много раз из-за этого добавляется куча дублирующих заявок. Что нужно добавить, чтобы синхронизировать.

Tags:


Thanks:




2 Answers
hobo

Avatar
Date: 5/19/2012
Reply


Andrii Перейти
но заявки событие возникает много раз

Что что возникает?
Thanks:

Andrii

Avatar
Date: 5/20/2012
Reply


добавляю обработчик события изменения стакана и на основе события, при необходимости, снимаю более старую заявку, а выставляю новую, методом перерегистрации заявки... но так как события смены стакана происходит очень часто, операция вызывается пару раз еще до вступления в силу изменений, получаются копии заявки, как такое избежать?
Topic starter
Thanks:


Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy