← Voltar

ReRegisterOrder RealTimeEmulationTrader QuikTrader

В RealTimeEmulationTrader<QuikTrader> Исполнение команды this.ReRegisterOrder(TargetOrder1, TargetOrder111); не приводит к снятию заявок. TargetOrder1 остается активной и добавляется TargetOrder111.

Este tópico foi útil?

Compartilhar tópico

Comentários (15)

Entrar ou Criar conta, Faça login ou cadastre-se para deixar um comentário

lshaton
lshaton Autor

lshaton: В RealTimeEmulationTrader<QuikTrader> Исполнение команды this.ReRegisterOrder(TargetOrder1, TargetOrder111); не приводит к снятию заявок. TargetOrder1 остается активной и добавляется TargetOrder111. И CancelActiveOrders()тоже не работает this.Orders.Select(ord => ord.State == OrderStates.Active).Count()); показывает увеличение количества заявок,игнорируя снятие старых.

Mikhail Sukhov
Mikhail Sukhov

lshaton: В RealTimeEmulationTrader Исполнение команды this.ReRegisterOrder(TargetOrder1, TargetOrder111); не приводит к снятию заявок. TargetOrder1 остается активной и добавляется TargetOrder111.

А как проверяли? Смотрю код, там первой же строчкой:

order.State = OrderStates.Done;
lshaton
lshaton
lshaton Autor

Mikhail Sukhov:

lshaton: В RealTimeEmulationTrader<QuikTrader> Исполнение команды this.ReRegisterOrder(TargetOrder1, TargetOrder111); не приводит к снятию заявок. TargetOrder1 остается активной и добавляется TargetOrder111.

А как проверяли? Смотрю код, там первой же строчкой:

order.State = OrderStates.Done;

Да просто исполнялись заявки,которые были изменены и те на которые были изменены. Кроме того order.Count растет,хотя не должен.
Mikhail Sukhov
Mikhail Sukhov

lshaton: Да просто исполнялись заявки,которые были изменены и те на которые были изменены. Кроме того order.Count растет,хотя не должен.

Можно чуть по подробнее, как именно вы проверяли, что заявки не отменяются?

lshaton
lshaton Autor

Mikhail Sukhov:

lshaton: Да просто исполнялись заявки,которые были изменены и те на которые были изменены. Кроме того order.Count растет,хотя не должен.

Можно чуть по подробнее, как именно вы проверяли, что заявки не отменяются? this.ReRegisterOrder(TargetOrder1, TargetOrder111); потом в окошке выводилась величина this.Orders.Select(ord => ord.State == OrderStates.Active).Count()); (this - стратегия) и это число постоянно увеличивалось с итерациями. Я неделю назад с этим куском работал, потом переделал так, чтобы избежать ReRegisterOrder. Попробую восстановать ситуацию и если повторится, сделаю пост сюда еще раз. Спасибо.

Mikhail Sukhov
Mikhail Sukhov

lshaton: this.ReRegisterOrder(TargetOrder1, TargetOrder111); потом в окошке выводилась величина this.Orders.Select(ord => ord.State == OrderStates.Active).Count()); (this - стратегия) и это число постоянно увеличивалось с итерациями.

Заявка не сразу снимается и не сразу регистрируется. По TargetOrder1 OrdersChanged приходит?

lshaton
lshaton Autor

Mikhail Sukhov:

lshaton: this.ReRegisterOrder(TargetOrder1, TargetOrder111); потом в окошке выводилась величина this.Orders.Select(ord => ord.State == OrderStates.Active).Count()); (this - стратегия) и это число постоянно увеличивалось с итерациями.

Заявка не сразу снимается и не сразу регистрируется. По TargetOrder1 OrdersChanged приходит? Событие _trader.OrdersChanged подымается каждый раз при выставлении новой заявки и при изменении заявки ReRegisterOrder(...). Вопрос- почему исполненные заявки подсчитываются как активные this.Orders.Select(ord => ord.State == OrderStates.Active).Count()); ??? Исполненная заявка должна получить OrderStates.Done

lshaton
lshaton Autor

Mikhail Sukhov:

lshaton: Да просто исполнялись заявки,которые были изменены и те на которые были изменены. Кроме того order.Count растет,хотя не должен.

Можно чуть по подробнее, как именно вы проверяли, что заявки не отменяются? В моем последнем тесте заявки отменялись. Наверное в моей программе как-то дублировалось выставление заявок.

Mikhail Sukhov
Mikhail Sukhov

lshaton: Вопрос- почему исполненные заявки подсчитываются как активные

Мы ходим вокруг да около... Почему вы считаете, что заявки исполнились? Как вы это проверяете?

lshaton
lshaton Autor

Mikhail Sukhov:

lshaton: Вопрос- почему исполненные заявки подсчитываются как активные Мы ходим вокруг да около... Почему вы считаете, что заявки исполнились? Как вы это проверяете? Поднималось событие


            _trader.NewMyTrades += myTrades => this.GuiAsync(() =>
             {
                 foreach (MyTrade myTrade in myTrades)
                 {
                     WriteToTextBox(trade.OrderDirection.ToString() + String.Format(" Сделка {0} по цене {1} тек.позиция= {2} по объему {3}  P&L={4} myP&L={5}", trade.Id, trade.Price, iVolume, trade.Volume, myTrades.GetPnL(), dPL + iVolume * trade.Price));
}});

После выставления каждой заявки поисходил трейд,потому,что все заявки по маркету.

Mikhail Sukhov
Mikhail Sukhov

lshaton: После выставления каждой заявки поисходил трейд,потому,что все заявки по маркету.

Заявка каким была объемом? Весь объем удовлетворялся? Версия последняя из КодеПлекса?

lshaton
lshaton Autor

Mikhail Sukhov:

lshaton: После выставления каждой заявки поисходил трейд,потому,что все заявки по маркету.

Заявка каким была объемом? Весь объем удовлетворялся? Версия последняя из КодеПлекса? Заявки на один лот (один фьючерс) полностью удовлетворены. Версия S# 4.0.1

Mikhail Sukhov
Mikhail Sukhov

lshaton:

Mikhail Sukhov:

lshaton: После выставления каждой заявки поисходил трейд,потому,что все заявки по маркету.

Заявка каким была объемом? Весь объем удовлетворялся? Версия последняя из КодеПлекса? Заявки на один лот (один фьючерс) полностью удовлетворены. Версия S# 4.0.1

Событие ITrader.OrdersChanged вызывается для заявок, по которым идет сделка?

lshaton
lshaton Autor

Mikhail Sukhov:

lshaton:

Mikhail Sukhov:

lshaton: После выставления каждой заявки поисходил трейд,потому,что все заявки по маркету.

Заявка каким была объемом? Весь объем удовлетворялся? Версия последняя из КодеПлекса? Заявки на один лот (один фьючерс) полностью удовлетворены. Версия S# 4.0.1

Событие ITrader.OrdersChanged вызывается для заявок, по которым идет сделка? Да вызывается.

Mikhail Sukhov
Mikhail Sukhov

lshaton:

Mikhail Sukhov: Событие ITrader.OrdersChanged вызывается для заявок, по которым идет сделка? Да вызывается.

Вот в этом событие какие значение Balance + State у заявки? Выведите в лог.