ReRegisterOrder при изменении стакана.
Atom
18.05.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);
            });

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

Теги:


Спасибо:


hobo

Фотография
Дата: 19.05.2012
Ответить


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

Что что возникает?
Спасибо:

Andrii

Фотография
Дата: 21.05.2012
Ответить


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


Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy