у них как-то странно инициализируется поле Security - там везде null, кроме Security.Id - оно заполнено как обычно. У сделок так же. При этом тип у фьюча (например RIU1) - Equity. Это баг или фича ?
Версия s# 3.2.5
Maxim K.:
у них как-то странно инициализируется поле Security - там везде null, кроме Security.Id - оно заполнено как обычно. У сделок так же. При этом тип у фьюча (например RIU1) - Equity. Это баг или фича ?
Версия s# 3.2.5
Maxim K.:
Поле Code у низ не инициализируется вообще никак - null. При попытке обращения - NullReference. А так проблема была с RIU1, с другими не знаю как.
Сорри, имел ввиду класс и что отображается в Квике а не в роботе.
Я не создаю стратегию, я просто запускаю экспорт таблиц "заявки" и "мои сделки". У сделок с вечерней сессии по RIU1 с Security проблемы, которые описал выше. Код класса в QUIK - FUTEVN, Код бумаги - RIU1.
Код наподобие такого:
У меня в таблицу Инструменты добавлен только фьюч ртс из списков FORTS. Код класса - SPBFUT, на вечерке нормально работает, класс - не меняется в таблице.
Просто в таблице "инструменты" не было такого инструмента - RIU1-FUTEVN, соответственно параметры его взять неоткуда, я так понял. Добавил его в таблицу - все доступные поля стали инициализироваться.
Maxim K.:
Просто в таблице "инструменты" не было такого инструмента - RIU1-FUTEVN, соответственно параметры его взять неоткуда, я так понял. Добавил его в таблицу - все доступные поля стали инициализироваться.
Максим, можно чуть подробнее - какой код был, SPBFUT?
По нему сделки приходили, потом, с наступлением вечерки, код изменился на FUTEVN?
Из какого класса (Связь->списки) был добавлен инструмент в таблицу инструментов?
Хочется понять как это можно исправить программно, если вообще стоит.
Инструмент был добавлен из FORTS:Фьючерсы дополнительная сессия. У всех фьючей и опционов, добавляемых таким образом код - FUTEVN. Как изменился код я не знаю, торговал не я. Но просто пришел с утра и возникла такая проблема. На самом деле, по-моему, с точки зрения s# всё в порядке - если инструмента нет в таблице "инструменты", то вполне логично, что взять информацию по нему неоткуда и он не инициализируется. Исправлять нечего просто-напросто.
UPD: про опционы - у них код OPTEVN.
Maxim K.:
Теперь возникла такая проблема: Для опционов с вечерней сессии не работают методы Delta, Gamma, и т.п., так как тип у них выставляется Equity.
Правильно. Вечерние инструменты - это фейк. Используйте реальные.
Бывают ситуации, когда заявка с вечерней сессии должна быть перенесена в дневную. При этом заявка с вечерней сессии снимается, вместо нее выставляется такая же заявка с таким же номером, но уже с другим классом инструмента (например для фьюча было FUTEVN на вечерке, а на дневной стало SPBFUT). В результате в таблице "заявки" получается две заявки с одинаковым номером. Вроде бы ничего страшного, но при экспорте ДДЕ вылетает ошибка - Дублированный ДДЕ пакет, имя параметра - айтем. При этом все заявки, которые находятся выше этих двух с одинаковыми номерами обрабатываются нормально, а дальше экспорт не идет. Сначала лечил это установкой фильтра только на активные и исполненные, но от такого решения пришлось отказаться, так как иногда нужна информация и по снятым заявкам. Сейчас я подписываюсь на PreProcessDDEData и в нем удаляю "лишнюю" заявку.
Пробовал так же гуглить этот вопрос, но однозначного ответа не нашел - кто-то пеняет на биржу, кто-то на брокера. Если еще у кого-нибудь возникает подобная проблема просьба отписаться.
Исследовал этот вопрос, ситуация в следующем - есть по сути 1 инструмент. К примеру, RIZ1.
По нему возможно выставлять заявки в дневную и в вечернюю сессию. Для данного торгового дня везде заявки \ сделки по этому инструменту будут отображаться с классом SPBFUT.
На следующий торговый день сделки, сделанные на вечерней сессии, меняют свой класс с SPBFUT на FUTEVN - это вспомогательный, информационный класс, чтоб можно было посмотреть свои сделки на вечерней сессии.
Если с вечерней сессии заявки переносились активными, то они:
снимаются - с классом вечерней сессии FUTEVN
выставляются заново - с классом SPBFUT
В связи с этим считаю логичным игнорировать все сделки\заявки для вечерней сессии предыдущего дня - с классом FUTEVN.
Кому необходимо получать информацию за предыдущие дни - могут скидывать информацию в БД.
Alexander:
Класс FUTEVN будет игнорироваться начиная с версии 3.2.12
По опционам есть класс OPTEVN для вечерней сессии и класс SPBOPT соответственно.
Предлагаю также игнорировать класс OPTEVN.
Alexander:
Класс FUTEVN будет игнорироваться начиная с версии 3.2.12
По опционам есть класс OPTEVN для вечерней сессии и класс SPBOPT соответственно.
Предлагаю также игнорировать класс OPTEVN.
Уже. Я сразу сделал и для опционов, и для фьючерсов.
コメント (18)
ログイン または アカウントを作成, コメントを残すにはログインまたは新規登録してください
Какой код у инструментов?
Поле Code у низ не инициализируется вообще никак - null. При попытке обращения - NullReference. А так проблема была с RIU1, с другими не знаю как.
Попробовал у себя - всё ок. Покажите как вы
Сорри, имел ввиду класс и что отображается в Квике а не в роботе.
Я не создаю стратегию, я просто запускаю экспорт таблиц "заявки" и "мои сделки". У сделок с вечерней сессии по RIU1 с Security проблемы, которые описал выше. Код класса в QUIK - FUTEVN, Код бумаги - RIU1. Код наподобие такого:
Но в этой строчке вылетает нулреференс. Нашел потом в trades сделки по RIU1-FUTENV - у них поле Code - null.
Извиняюсь, сильно затупил - просто в таблице "инструменты" не были добавлены Фьючерсы доп. сессия (( Сейчас добавил их - всё нормально.
Не знаю насчёт затупили или нет...
У меня в таблицу Инструменты добавлен только фьюч ртс из списков FORTS. Код класса - SPBFUT, на вечерке нормально работает, класс - не меняется в таблице.
Как у вас было сделано \ стало сделано?
Просто в таблице "инструменты" не было такого инструмента - RIU1-FUTEVN, соответственно параметры его взять неоткуда, я так понял. Добавил его в таблицу - все доступные поля стали инициализироваться.
Максим, можно чуть подробнее - какой код был, SPBFUT? По нему сделки приходили, потом, с наступлением вечерки, код изменился на FUTEVN?
Из какого класса (Связь->списки) был добавлен инструмент в таблицу инструментов?
Хочется понять как это можно исправить программно, если вообще стоит.
Инструмент был добавлен из FORTS:Фьючерсы дополнительная сессия. У всех фьючей и опционов, добавляемых таким образом код - FUTEVN. Как изменился код я не знаю, торговал не я. Но просто пришел с утра и возникла такая проблема. На самом деле, по-моему, с точки зрения s# всё в порядке - если инструмента нет в таблице "инструменты", то вполне логично, что взять информацию по нему неоткуда и он не инициализируется. Исправлять нечего просто-напросто. UPD: про опционы - у них код OPTEVN.
Теперь возникла такая проблема: Для опционов с вечерней сессии не работают методы Delta, Gamma, и т.п., так как тип у них выставляется Equity. Ошибка:
Неправильный тип Equity инструмента. Имя параметра: option
В методе Delta.
Правильно. Вечерние инструменты - это фейк. Используйте реальные.
Бывают ситуации, когда заявка с вечерней сессии должна быть перенесена в дневную. При этом заявка с вечерней сессии снимается, вместо нее выставляется такая же заявка с таким же номером, но уже с другим классом инструмента (например для фьюча было FUTEVN на вечерке, а на дневной стало SPBFUT). В результате в таблице "заявки" получается две заявки с одинаковым номером. Вроде бы ничего страшного, но при экспорте ДДЕ вылетает ошибка - Дублированный ДДЕ пакет, имя параметра - айтем. При этом все заявки, которые находятся выше этих двух с одинаковыми номерами обрабатываются нормально, а дальше экспорт не идет. Сначала лечил это установкой фильтра только на активные и исполненные, но от такого решения пришлось отказаться, так как иногда нужна информация и по снятым заявкам. Сейчас я подписываюсь на PreProcessDDEData и в нем удаляю "лишнюю" заявку.
Пробовал так же гуглить этот вопрос, но однозначного ответа не нашел - кто-то пеняет на биржу, кто-то на брокера. Если еще у кого-нибудь возникает подобная проблема просьба отписаться.
Тоже наблюдал, буду смотреть как можно пофиксить.
Объединил 2 темы.
Исследовал этот вопрос, ситуация в следующем - есть по сути 1 инструмент. К примеру, RIZ1. По нему возможно выставлять заявки в дневную и в вечернюю сессию. Для данного торгового дня везде заявки \ сделки по этому инструменту будут отображаться с классом SPBFUT.
На следующий торговый день сделки, сделанные на вечерней сессии, меняют свой класс с SPBFUT на FUTEVN - это вспомогательный, информационный класс, чтоб можно было посмотреть свои сделки на вечерней сессии. Если с вечерней сессии заявки переносились активными, то они:
В связи с этим считаю логичным игнорировать все сделки\заявки для вечерней сессии предыдущего дня - с классом FUTEVN. Кому необходимо получать информацию за предыдущие дни - могут скидывать информацию в БД.
Класс FUTEVN будет игнорироваться начиная с версии 3.2.12
Уже. Я сразу сделал и для опционов, и для фьючерсов.