Специфическая проблема с экспортом таблицы инструментов 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==)

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


Теги:


Спасибо:


1 2  >
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
1 2  >

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

loading
clippy