Позиции по деривативам
Atom Ответить
10.10.2011


Здравствуйте!

Тестирую стратегию на Украинской бирже и столкнулся с проблемой получения позиций по деривативам из таблицы "Позиции по деривативам".
Версия S# 4.0.1, Quik 5.23, 5.24.

Verifier говорит что все настроено правильно, но при старте экспорта ProcessDataError отлавливает:

Код
System.InvalidOperationException: Инструмент с кодом UX1100BL1 для деривативной позиции не найден.
   at StockSharp.Quik.QuikTrader.#=q83RC8QjwGE06bYxuClwq92LhVOvhOqg1Ibb6sc3fM$w=
.#=qyv7cgDXipIbE4H64zoSQuQ==(IList`1 #=qnPrMXzejlhZGIiblHaU0yw==, Func`2 #=qoCz5
3tE0sp4RQUb3Ds8GsA==)
   at #=qp_fbLTJnFE2othouXvioeCpaCgoD026MlkJsD2ZqOQGLb6nfpDLyRuo5lZzqRlei.#=qAUA
7Once2I3cbE7dXu$MZg==(DdeTable #=qSWwYAwvcL$D4KIHt_5bG3w==, IList`1 #=q6IUmIWmvv
dbuHixc5eXkyQ==, Action`2 #=qTX0q2c4E$ISj79rZpKw6vA==, Action`1 #=qs7PROwMpZp9zz
gPyrFElhg==, Boolean #=qTJVmId$bLpcrK$siTqKJ3A==).
...
И так для всех позиций из таблицы "Позиции по деривативам".



Все эти инструменты в таблице "Инструменты" есть.

Самое удивительное, что через некоторое время позиции таки появляются, но ошибки продолжают сыпаться в ProcessDataError.
Сейчас приходится просто убирать из StartExport-а DerivativePositionsTable и работать только с позициями стратегий.


verifier DerivativePosition DDE error
positions DerivativePosition error

Теги:


Спасибо:




14 Ответов
Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 10.10.2011
Ответить


aleksej Перейти
Все эти инструменты в таблице "Инструменты" есть.


Вы лучше скрин этой таблицы приведите.
Спасибо:

aleksej

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


Извините, забыл сразу прикрепить.


instruments DerivativePositions error
Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 10.10.2011
Ответить


aleksej Перейти
Извините, забыл сразу прикрепить.


Добавьте соответствующие классы в QuikTrader.SecurityClassInfo
Спасибо: aleksej

aleksej

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


Большое спасибо, заработало :)

Готовое решение для Украинской биржи, если кто-то еще будет с такой проблемой:

Код

QuikTrader.SecurityClassInfo.Add("OPTUX", new RefPair<SecurityTypes, Exchange>(SecurityTypes.Option, Exchange.Ux));
QuikTrader.SecurityClassInfo.Add("FUTUX", new RefPair<SecurityTypes, Exchange>(SecurityTypes.Future, Exchange.Ux));
Автор топика
Спасибо:

Alexander

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


aleksej Перейти
Большое спасибо, заработало :)

Готовое решение для Украинской биржи, если кто-то еще будет с такой проблемой:

Код

QuikTrader.SecurityClassInfo.Add("OPTUX", new RefPair<SecurityTypes, Exchange>(SecurityTypes.Option, Exchange.Ux));
QuikTrader.SecurityClassInfo.Add("FUTUX", new RefPair<SecurityTypes, Exchange>(SecurityTypes.Future, Exchange.Ux));


Совершенно верно. :)

Добавим в S# 4.0.2 которая будет на codelpex. Спасибо за фидбек.
Спасибо:

aleksej

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


Попрошу для полноты добавить сразу так :)

Код

QuikTrader.SecurityClassInfo.Add("OPTUX", new RefPair<SecurityTypes, Exchange>(SecurityTypes.Option, Exchange.Ux));
QuikTrader.SecurityClassInfo.Add("FUTUX", new RefPair<SecurityTypes, Exchange>(SecurityTypes.Future, Exchange.Ux));
QuikTrader.SecurityClassInfo.Add("GTS", new RefPair<SecurityTypes, Exchange>(SecurityTypes.Equity, Exchange.Ux));
QuikTrader.SecurityClassInfo.Add("RTSIND", new RefPair<SecurityTypes, Exchange>(SecurityTypes.Index, Exchange.Ux));
Автор топика
Спасибо:

Alexander

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


aleksej Перейти
Попрошу для полноты добавить сразу так :)

Код

QuikTrader.SecurityClassInfo.Add("OPTUX", new RefPair<SecurityTypes, Exchange>(SecurityTypes.Option, Exchange.Ux));
QuikTrader.SecurityClassInfo.Add("FUTUX", new RefPair<SecurityTypes, Exchange>(SecurityTypes.Future, Exchange.Ux));
QuikTrader.SecurityClassInfo.Add("GTS", new RefPair<SecurityTypes, Exchange>(SecurityTypes.Equity, Exchange.Ux));
QuikTrader.SecurityClassInfo.Add("RTSIND", new RefPair<SecurityTypes, Exchange>(SecurityTypes.Index, Exchange.Ux));


Индекс автоматом проставляется
Про GTS можно поподробнее - что это? В инете пусто.
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 10.10.2011
Ответить


aleksej Перейти
Попрошу для полноты добавить сразу так :)

Код

QuikTrader.SecurityClassInfo.Add("OPTUX", new RefPair<SecurityTypes, Exchange>(SecurityTypes.Option, Exchange.Ux));
QuikTrader.SecurityClassInfo.Add("FUTUX", new RefPair<SecurityTypes, Exchange>(SecurityTypes.Future, Exchange.Ux));
QuikTrader.SecurityClassInfo.Add("GTS", new RefPair<SecurityTypes, Exchange>(SecurityTypes.Equity, Exchange.Ux));
QuikTrader.SecurityClassInfo.Add("RTSIND", new RefPair<SecurityTypes, Exchange>(SecurityTypes.Index, Exchange.Ux));


Последние два кода будет добавить проблематично. Они могут использоваться и для наших бирж.
Спасибо:

aleksej

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


С RTSIND согласен, будут пересекаться, логично только OPTUX и FUTUX использовать.

А GTS - это класс обычных Equity на Украинской Бирже (не знаю, есть ли он на РТС):

Автор топика
Спасибо:

lesser

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


Подскажите , плиз куда нужно дописать :

QuikTrader.SecurityClassInfo.Add("OPTUX", new RefPair<SecurityTypes, Exchange>(SecurityTypes.Option, Exchange.Ux));
QuikTrader.SecurityClassInfo.Add("FUTUX", new RefPair<SecurityTypes, Exchange>(SecurityTypes.Future, Exchange.Ux));

В примере Sample.

Хотя наверно проблемма не в этом , потому что инструменты у меня есть , портфель есть, а вот позиций не видно. :(

Спасибо.
Спасибо:

Alexander

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


lesser Перейти
Подскажите , плиз куда нужно дописать :

QuikTrader.SecurityClassInfo.Add("OPTUX", new RefPair<SecurityTypes, Exchange>(SecurityTypes.Option, Exchange.Ux));
QuikTrader.SecurityClassInfo.Add("FUTUX", new RefPair<SecurityTypes, Exchange>(SecurityTypes.Future, Exchange.Ux));

В примере Sample.

Спасибо.


Возьмите последнюю версию, там уже это есть
Спасибо:

lesser

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


У меня это наверно уже включено.

Инструменты есть , портфель есть, заявки мои видно а вот позиций не видно. :(

в чем может быть проблема ?
Спасибо:

lesser

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


Спасибо , вопрос снимаю , добавил в таблицу инструменты инструмент по которому есть откритая позиция и увидел эту позицию в Sample.
Спасибо:

Alexander

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


lesser Перейти
Должны быть видны все позиции или только позиции по инструментам с таблицы Секюритис ?


Запустите Verifier + посмотрите на событие ProcessDataError
Спасибо:


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

loading
clippy