Order.DerivedOrder = null для стоп заявки
Atom
19.01.2011
xaxa


Столкнулся со странной ситуацией, что после выполнения условия стоп лосса DerivedOrder = null. то есть он не видит порожденную заявку. с чем это может быть связано?


Теги:


Спасибо:


1 2  >
Mikhail Sukhov

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


xaxa: Столкнулся со странной ситуацией, что после выполнения условия стоп лосса DerivedOrder = null. то есть он не видит порожденную заявку. с чем это может быть связано?

Таблица стоп заявок скорее всего неправильно оформлена. Verifier запускали?

Спасибо:

xaxa

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


Да, Verifier выдает, что никаких ошибок нет. Пробовал и под РТС(файл настроек ртс) и под ММВБ(файл настроек ммвб). Режим работы синхронный. (На демо-серверах Цериха***)

Спасибо:

Mikhail Sukhov

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


xaxa: Да, Verifier выдает, что никаких ошибок нет. Пробовал и под РТС(файл настроек ртс) и под ММВБ(файл настроек ммвб). Режим работы синхронный. (На демо-серверах Цериха***)

ProcessDataError что-нибудь выводит? Состояние стоп заявки в роботе изменяется?

Спасибо:

xaxa

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


После выполнения стоп-заявки ее состояние меняется на OrderStates.Done. ProcessDataError сейчас посмотрю...

Спасибо:

xaxa

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


ProcessDataError - ничего не выводит

Спасибо:

Mikhail Sukhov

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


xaxa: ProcessDataError - ничего не выводит

Можете привести параметры инициализации стоп заявки? В этими условиями Sample работает?

Спасибо:

xaxa

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



        ....

        stopLoss = CreateStopLimit(base.Security.ShrinkPrice(getCandleMiddle(secondCandle)), performReverseCount < reverseCount ? order.GetRealizedVolume() * 2 : order.GetRealizedVolume(), stopDirection);

        .....
        private Order CreateStopLimit(double stopPrice, int volume, OrderDirections direction)
        {
          double price = (direction == OrderDirections.Buy ? (stopPrice + podushka) : (stopPrice - podushka));

          Order stopLossOrder = base.CreateOrder(direction, stopPrice);
            stopLossOrder.Type = OrderTypes.Conditional;
            stopLossOrder.Volume = volume;
            stopLossOrder.StopCondition = new QuikStopCondition
            {
                Type = QuikStopConditionTypes.StopLimit,
                StopPrice = stopPrice
            };
            return stopLossOrder;
        }

Спасибо:

Mikhail Sukhov

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


Sample c такими параметрами так же не работает?

Спасибо:

xaxa

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


Попробовал Sample там все ок. Удивительно то, что на некоторых кругах DerivedOrder = null а на некоторых кругах он ловит порожденную заявку(например когда я в дебаге медленно прохожу круг). Такое ощущение что происходит это дело в асинхронном режиме. Хотя в дебаггере смотрю свойство base.Trader.isAsyncMode -оно установлено в false. Возможно ли такое в синхронном режиме что после проверки условия стоп лосса на OrderStates.Done DerivedOrder будет равен null?

Спасибо:

Mikhail Sukhov

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


xaxa: Попробовал Sample там все ок. Удивительно то, что на некоторых кругах DerivedOrder = null а на некоторых кругах он ловит порожденную заявку(например когда я в дебаге медленно прохожу круг). Такое ощущение что происходит это дело в асинхронном режиме. Хотя в дебаггере смотрю свойство base.Trader.isAsyncMode -оно установлено в false. Возможно ли такое в синхронном режиме что после проверки условия стоп лосса на OrderStates.Done DerivedOrder будет равен null?

IsAsyncMode - это в каком режиме будет использоваться Trans2Quik.dll. Эта DLL не предоставляет возможность получать данные. Поэтому данные получаются через ДДЕ, которые работает асинхронно независимо от IsAsyncMode.

Спасибо:
1 2  >

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

loading
clippy