Специфическая проблема с экспортом таблицы инструментов Quik


Специфическая проблема с экспортом таблицы инструментов Quik
Atom Ответить
15.08.2011


Den

Фотография
Уважаемые разработчики!

Дело в том, что у меня в таблице инструментов в Quik'e есть индекс волатильности и кросс-курс доллара. У них естетственно пустые поля: статус, лот, минимальный шаг цены.
До версии 3.2.6 включительно все работало нормально.
В версии 3.2.7 полетели эксепшены:
Код

System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values.
at StockSharp.BusinessEntities.Security.set_MinStepPrice(Decimal value)
at StockSharp.Quik.QuikTrader.#=q_l$KnlP0LYZvJ39WG83GyZFP29Nwhq2mV6KHIdxI5EY=.#=qDDN5g_NFs2bqf1Q9WN4RbgdBab9x6XBq2qAX7PPt9rA=.#=qWz6GNCSe6KXCjtRQtxeT9g==(Security #=qNoWXl$HOXHyDaFfS5FMJyA==)
at StockSharp.Algo.BaseTrader.GetSecurity(String id, Func`2 createSecurity, Action`1 changeSecurity, String nativeSecurityId)
at StockSharp.Algo.BaseTrader.GetSecurity(String id, Action`1 changeSecurity, String nativeSecurityId)
at StockSharp.Quik.QuikTrader.#=q_l$KnlP0LYZvJ39WG83GyZFP29Nwhq2mV6KHIdxI5EY=.#=qZCiGxihf3t4IUbOQefzk7Q==(IList`1 #=qN5t88rGANJGSV4G0pVi4lg==, Func`2 #=qCeFnB4loT_0g64z0EuzkTQ==)
at #=qsNo5gBfOjKbXuJhHlST4loDqty655uZbS78AxBIFUh9RDZ4hDHtsPpVEgTmwK$aY.#=q1DcVvcpdVtlEyKz43pjqkw==(DdeTable #=qdaLOixdLYjDruLjrhrLsaQ==, IList`1 #=qJgH$JXnTn06RM00RHbShpA==, Action`2 #=qBmDZyuKkjEfLLPgb2j5qhw==, Action`1 #=q8_5DOEhhTeGxkUvqtPQI9g==)

Нельзя ли поправить проверку чтобы она пропускала пустые поля, но ругалась на нулевые и отрицательные?

Теги:


Спасибо:




11 Ответов
Mikhail Sukhov

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


Den Перейти
Нельзя ли поправить проверку чтобы она пропускала пустые поля, но ругалась на нулевые и отрицательные?


Может их как-то фильтровать по коду или классу?
Спасибо:

Den

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


Mikhail Sukhov Перейти
Den Перейти
Нельзя ли поправить проверку чтобы она пропускала пустые поля, но ругалась на нулевые и отрицательные?


Может их как-то фильтровать по коду или классу?

Я их использую в роботе. В таблицу инструментов добавлены колонки, кот. показывают их значения, я их извлекаю через ExtensionInfo[DdeSecurityColumns.<...>].

Может быть можно в S# перед вызовом StockSharp.BusinessEntities.Security.set_MinStepPrice(Decimal value) сделать проверку вида (value == null) ? 0 : value?
Автор топика
Спасибо:

Mikhail Sukhov

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


Den Перейти
Я их использую в роботе.


Я имел ввиду фильтровать нам, в S#. Чтобы уметь отделять данные по спец инструментам и просто неправильную настройку таблиц.
Спасибо:

Den

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


Mikhail Sukhov Перейти
Den Перейти
Я их использую в роботе.


Я имел ввиду фильтровать нам, в S#. Чтобы уметь отделять данные по спец инструментам и просто неправильную настройку таблиц.


Тогда, думаю, по коду класса лучше всего.
У индексов на РТС код класса: RTSIDX, на мамбе: INDX, у кросс-курса USD: USDRUB.
Автор топика
Спасибо:

Mikhail Sukhov

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


Den Перейти
у кросс-курса USD: USDRUB.


А если другая валюта?
Спасибо:

Den

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


Mikhail Sukhov Перейти
Den Перейти
у кросс-курса USD: USDRUB.


А если другая валюта?


На ФОРТС'е только один кросс-курс - доллар-рубль.
Автор топика
Спасибо:

Den

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


Den Перейти
Mikhail Sukhov Перейти
Den Перейти
Я их использую в роботе.


Я имел ввиду фильтровать нам, в S#. Чтобы уметь отделять данные по спец инструментам и просто неправильную настройку таблиц.


Тогда, думаю, по коду класса лучше всего.
У индексов на РТС код класса: RTSIDX, на мамбе: INDX, у кросс-курса USD: USDRUB.


Видимо проверка в 3.2.9 изменилась, т.к. теперь другое сообщение эксепшена. Но индексы по-прежнему не грузятся...
Код

System.ArgumentOutOfRangeException: Стоимость шага цены не может быть меньше или равна нулю.
Parameter name: value
Actual value was 0.
at StockSharp.BusinessEntities.Security.set_MinStepPrice(Decimal value)
at StockSharp.Quik.QuikTrader.#=qvWLt08KMC7_T$lDfPoYcjkzUlFuUKjKk5105gVIjxW4=.#=qNQNIA8FwBPOz5N52JgSk3EaSnbbF14njhoTCd4OZ4iY=.#=q0dvRT12ZRZfnayIrmctLeQ==(Security #=qLqB$dwnxlEq_C_zeHJ9jug==)
at StockSharp.Algo.BaseTrader.GetSecurity(String id, Func`2 createSecurity, Action`1 changeSecurity, String nativeSecurityId)
at StockSharp.Algo.BaseTrader.GetSecurity(String id, Action`1 changeSecurity, String nativeSecurityId)
at StockSharp.Quik.QuikTrader.#=qvWLt08KMC7_T$lDfPoYcjkzUlFuUKjKk5105gVIjxW4=.#=qPEZ4ubw8zPwxTozqlxfzxQ==(IList`1 #=qj2Qg5TzCfpg18FUsLaCcaQ==, Func`2 #=qT1vn0Gic3ovvXEeiRaZd_w==)
at #=q$mfd75rYBSoN6_rT4z6GKGvCmI0cokZjOHm6RdOge0iVqLxEp_8fAMMLu9n$8Rq7.#=qeQtTl2PjCLQ7g_ilus7QTQ==(DdeTable #=qkHzCky8oXxQK9KdfSRWXIA==, IList`1 #=q_FbkIj6creUiV4zSKfi0BQ==, Action`2 #=qXu_MACRwaNLaEC6ZhDHCNA==, Action`1 #=q6ZiRQ6OfTI4WoYLB2eghQg==)
A first chance exception of type 'System.NullReferenceException' occurred in Robot.exe
The program '[1016] Robot.vshost.exe: Managed (v2.0.50727)' has exited with code -1073741819 (0xc0000005).
Автор топика
Спасибо:

Alexander

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


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

Mikhail Sukhov

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


Alexander Перейти
Подтверждаю, столкнулся сегодня с таким даже с фьючерсом на ртс - видимо не успел все поля подгрузить - возникла ошибка.
Посмотрю


Я сделал доп проверку, так как по идее стоимость шага не может быть меньше 0. Сделал несколько версий назад. Хм, возможно, раз такое дело, надо эту проверку убрать.
Спасибо:

Alexander

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


Fixed. Ждите 3.2.10
Спасибо: Den

Den

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


Alexander Перейти
Fixed. Ждите 3.2.10

Еще раз спасибо, все работает!
Автор топика
Спасибо:


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

loading
clippy