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


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


Den

Avatar
Уважаемые разработчики!

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

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==)

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

Tags:


Thanks:


1 2  >
Mikhail Sukhov

Avatar
Date: 8/15/2011
Reply


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


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

Den

Avatar
Date: 8/16/2011
Reply


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


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

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

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

Mikhail Sukhov

Avatar
Date: 8/16/2011
Reply


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


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

Den

Avatar
Date: 8/16/2011
Reply


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


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


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

Mikhail Sukhov

Avatar
Date: 8/16/2011
Reply


Den Go to
у кросс-курса USD: USDRUB.


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

Den

Avatar
Date: 8/16/2011
Reply


Mikhail Sukhov Go to
Den Go to
у кросс-курса USD: USDRUB.


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


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

Den

Avatar
Date: 8/18/2011
Reply


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


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


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


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

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).
Thanks:

Alexander

Avatar
Date: 8/18/2011
Reply


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

Mikhail Sukhov

Avatar
Date: 8/18/2011
Reply


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


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

Alexander

Avatar
Date: 8/18/2011
Reply


Fixed. Ждите 3.2.10
Thanks: Den
1 2  >

Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy