у них как-то странно инициализируется поле Security - там везде null, кроме Security.Id - оно заполнено как обычно. У сделок так же. При этом тип у фьюча (например RIU1) - Equity. Это баг или фича ?
Версия s# 3.2.5
Комментарии (18)
Вход или Создать аккаунт, Войдите или зарегистрируйтесь, чтобы оставить комментарий
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
Уже. Я сразу сделал и для опционов, и для фьючерсов.