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


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


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

Code
  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:


hobo

Avatar
Date: 5/19/2012
Reply


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

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

Andrii

Avatar
Date: 5/21/2012
Reply


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


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

loading
clippy