Проблема с переносом заявок с вечерней сессии.
Atom Ответить
13.09.2011


у них как-то странно инициализируется поле Security - там везде null, кроме Security.Id - оно заполнено как обычно. У сделок так же. При этом тип у фьюча (например RIU1) - Equity. Это баг или фича ?
Версия s# 3.2.5

Теги:


Спасибо:




18 Ответов
Mikhail Sukhov

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


Maxim K. Перейти
у них как-то странно инициализируется поле Security - там везде null, кроме Security.Id - оно заполнено как обычно. У сделок так же. При этом тип у фьюча (например RIU1) - Equity. Это баг или фича ?
Версия s# 3.2.5


Какой код у инструментов?
Спасибо:

Maxim K.

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


Поле Code у низ не инициализируется вообще никак - null. При попытке обращения - NullReference. А так проблема была с RIU1, с другими не знаю как.
Автор топика
Спасибо:

Alexander

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


Попробовал у себя - всё ок.
Покажите как вы
1) создаёте стратегию и инициализируете поля Trader, Security
2) создаёте и посылаете заявку.
Спасибо:

Mikhail Sukhov

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


Maxim K. Перейти
Поле Code у низ не инициализируется вообще никак - null. При попытке обращения - NullReference. А так проблема была с RIU1, с другими не знаю как.


Сорри, имел ввиду класс и что отображается в Квике а не в роботе.
Спасибо:

Maxim K.

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


Я не создаю стратегию, я просто запускаю экспорт таблиц "заявки" и "мои сделки". У сделок с вечерней сессии по RIU1 с Security проблемы, которые описал выше. Код класса в QUIK - FUTEVN, Код бумаги - RIU1.
Код наподобие такого:
Код

trader.NewMyTrades+=trades=>
{
if(trades.FirstOrDefault(t=>t.Order.Security.Code==selectedSecurity.Code)!=null)
{
//что-то делается
}
};


Но в этой строчке вылетает нулреференс. Нашел потом в trades сделки по RIU1-FUTENV - у них поле Code - null.
Автор топика
Спасибо:

Maxim K.

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


Извиняюсь, сильно затупил - просто в таблице "инструменты" не были добавлены Фьючерсы доп. сессия (( Сейчас добавил их - всё нормально.
Автор топика
Спасибо:

Alexander

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


Не знаю насчёт затупили или нет...

У меня в таблицу Инструменты добавлен только фьюч ртс из списков FORTS. Код класса - SPBFUT, на вечерке нормально работает, класс - не меняется в таблице.


Как у вас было сделано \ стало сделано?
Спасибо:

Maxim K.

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


Просто в таблице "инструменты" не было такого инструмента - RIU1-FUTEVN, соответственно параметры его взять неоткуда, я так понял. Добавил его в таблицу - все доступные поля стали инициализироваться.
Автор топика
Спасибо:

Alexander

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


Maxim K. Перейти
Просто в таблице "инструменты" не было такого инструмента - RIU1-FUTEVN, соответственно параметры его взять неоткуда, я так понял. Добавил его в таблицу - все доступные поля стали инициализироваться.


Максим, можно чуть подробнее - какой код был, SPBFUT?
По нему сделки приходили, потом, с наступлением вечерки, код изменился на FUTEVN?

Из какого класса (Связь->списки) был добавлен инструмент в таблицу инструментов?

Хочется понять как это можно исправить программно, если вообще стоит.
Спасибо:

Maxim K.

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


Инструмент был добавлен из FORTS:Фьючерсы дополнительная сессия. У всех фьючей и опционов, добавляемых таким образом код - FUTEVN. Как изменился код я не знаю, торговал не я. Но просто пришел с утра и возникла такая проблема. На самом деле, по-моему, с точки зрения s# всё в порядке - если инструмента нет в таблице "инструменты", то вполне логично, что взять информацию по нему неоткуда и он не инициализируется. Исправлять нечего просто-напросто.
UPD: про опционы - у них код OPTEVN.
Автор топика
Спасибо:

Maxim K.

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


Теперь возникла такая проблема: Для опционов с вечерней сессии не работают методы Delta, Gamma, и т.п., так как тип у них выставляется Equity.
Ошибка:

Неправильный тип Equity инструмента.
Имя параметра: option

В методе Delta.
Автор топика
Спасибо:

Mikhail Sukhov

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


Maxim K. Перейти
Теперь возникла такая проблема: Для опционов с вечерней сессии не работают методы Delta, Gamma, и т.п., так как тип у них выставляется Equity.


Правильно. Вечерние инструменты - это фейк. Используйте реальные.
Спасибо:

Maxim K.

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


Бывают ситуации, когда заявка с вечерней сессии должна быть перенесена в дневную. При этом заявка с вечерней сессии снимается, вместо нее выставляется такая же заявка с таким же номером, но уже с другим классом инструмента (например для фьюча было FUTEVN на вечерке, а на дневной стало SPBFUT). В результате в таблице "заявки" получается две заявки с одинаковым номером. Вроде бы ничего страшного, но при экспорте ДДЕ вылетает ошибка - Дублированный ДДЕ пакет, имя параметра - айтем. При этом все заявки, которые находятся выше этих двух с одинаковыми номерами обрабатываются нормально, а дальше экспорт не идет. Сначала лечил это установкой фильтра только на активные и исполненные, но от такого решения пришлось отказаться, так как иногда нужна информация и по снятым заявкам. Сейчас я подписываюсь на PreProcessDDEData и в нем удаляю "лишнюю" заявку.

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

Alexander

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


Тоже наблюдал, буду смотреть как можно пофиксить.
Спасибо:

Alexander

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


Объединил 2 темы.

Исследовал этот вопрос, ситуация в следующем - есть по сути 1 инструмент. К примеру, RIZ1.
По нему возможно выставлять заявки в дневную и в вечернюю сессию. Для данного торгового дня везде заявки \ сделки по этому инструменту будут отображаться с классом SPBFUT.

На следующий торговый день сделки, сделанные на вечерней сессии, меняют свой класс с SPBFUT на FUTEVN - это вспомогательный, информационный класс, чтоб можно было посмотреть свои сделки на вечерней сессии.
Если с вечерней сессии заявки переносились активными, то они:
1) снимаются - с классом вечерней сессии FUTEVN
2) выставляются заново - с классом SPBFUT


В связи с этим считаю логичным игнорировать все сделки\заявки для вечерней сессии предыдущего дня - с классом FUTEVN.
Кому необходимо получать информацию за предыдущие дни - могут скидывать информацию в БД.
Спасибо:

Alexander

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


Класс FUTEVN будет игнорироваться начиная с версии 3.2.12
Спасибо:

vvt

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


Alexander Перейти
Класс FUTEVN будет игнорироваться начиная с версии 3.2.12

По опционам есть класс OPTEVN для вечерней сессии и класс SPBOPT соответственно.
Предлагаю также игнорировать класс OPTEVN.
Спасибо:

Alexander

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


vvt Перейти
Alexander Перейти
Класс FUTEVN будет игнорироваться начиная с версии 3.2.12

По опционам есть класс OPTEVN для вечерней сессии и класс SPBOPT соответственно.
Предлагаю также игнорировать класс OPTEVN.


Уже. Я сразу сделал и для опционов, и для фьючерсов.
Спасибо: vvt


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

loading
clippy