Проблемы со сделками, позициями

Проблемы со сделками, позициями
Atom
8/11/2011
Mikhail Sukhov


Судя по всему у некоторых участников на 3.2.xxx появился сабж. Давайте сделаем следующее для поиска причины:

1. Подпишемся на QuikTrader.ProcessDataError, QuikTrader.PreProcessDdeData, QuikTrader.NewOrders, QuikTrader.OrdersChanged, QuikTrader.OrdersFailed, QuikTrader.NewMyTrades, Strategy.NewOrder, Strategy.OrderChanged, Strategy.NewMyTrades.
2. Из этих событий сделайте логирование.
3. У стратегии сделайте логирование. В 3.2.6 стало больше логов, особенно в плане заявок и сделок.

Без логов разобраться сложно. Скажу больше, скорее всего, невозможно. Поэтому, чтобы взаимно упростить работу, ждем от вас логов.

Tags:


Thanks:


1 2 3  > >>
President

Avatar
Date: 8/12/2011
Reply


для удобства логгирования пожелание переопределить ToString у Order, Trade и MyTrade - чтобы они выводили всю полезную для отладки информацию - а то самому приходится методом тыка выбирать что выводить Id, TransactionId, направление, цену, инструмент - и везде это пишеь а потом когда нужное событие возникло оказывается что забыл вывести еще чтото важное ;)
Thanks:

Mikhail Sukhov

Avatar
Date: 8/12/2011
Reply


President
для удобства логгирования пожелание переопределить ToString у Order, Trade и MyTrade - чтобы они выводили всю полезную для отладки информацию - а то самому приходится методом тыка выбирать что выводить Id, TransactionId, направление, цену, инструмент - и везде это пишеь а потом когда нужное событие возникло оказывается что забыл вывести еще чтото важное ;)


ToString сейчас используется для удобного чтения в Debug (например, для портфелей и инструментов). Хотелось бы и для Order + MyTrade это оставить на будущее.
Thanks:

vader

Avatar
Date: 8/12/2011
Reply


Какую именно информацию выводить?
Thanks:

President

Avatar
Date: 8/12/2011
Reply


присоединяюсь к вопросу vader. пока решил выводить id, transactionid, security code, direction, volume, price, time для трейдов и Exception там где он приходит. было бы проще: получил параметр в евент и его и вывожу (он сам умеет выводить через ToString все что нужно для отладки. а если там коллекция то и она както вывелась)

также FYI
QuikTrader.PreProcessDdeData событие отсутствует
Thanks:

Mikhail Sukhov

Avatar
Date: 8/12/2011
Reply


vader
Какую именно информацию выводить?


А вот не знаю. Пришлите, посмотрим, хватает ли.
Thanks:

hobo

Avatar
Date: 8/23/2011
Reply


Отправил Вам, Михаил, в личку.
Thanks:

Mikhail Sukhov

Avatar
Date: 8/23/2011
Reply


hobo
Отправил Вам, Михаил, в личку.


Да, получил, спасибо. Будем разбираться.
Thanks:

Mikhail Sukhov

Avatar
Date: 8/31/2011
Reply


Кое-что удалось накопать. Была одна ошибка. Приводила ли она ко всем проблемам найденным пока сложно сказать. В 3.2.11 будет доступен фикс.
Thanks:

Mikhail Sukhov

Avatar
Date: 9/2/2011
Reply


Mikhail Sukhov
Кое-что удалось накопать. Была одна ошибка. Приводила ли она ко всем проблемам найденным пока сложно сказать. В 3.2.11 будет доступен фикс.


Ложная победа. Фикс не поменял ничего, так как он был ошибочным.

Просьба ко всем протестировать с таким PositionManager-ом (устанавливать его через Strategy.PositionManager):

Code
class TraceStrategyPositionManager : StrategyPositionManager
    {
        public TraceStrategyPositionManager(Strategy strategy, bool byOrders)
            : base(strategy, byOrders)
        {
        }
 
        protected override void OnOrderChanged(Order order)
        {
            Trace.WriteLine("SPM: OrderId {0} Volume {1} Balance {2} Pos {3}".Put(order.Id, order.Volume, order.Balance, order.GetPosition()));
            base.OnOrderChanged(order);
        }
    }
Thanks:

Alexander

Avatar
Date: 9/5/2011
Reply


Уже никому не актуально? Проблема сама собой разрешилась?
Thanks:
1 2 3  > >>

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

loading
clippy