При шаге цены .0001 и меньше цены выводятся неправильно (округляются до 0 и 1)


При шаге цены .0001 и меньше цены выводятся неправильно (округляются до 0 и 1)
Atom Ответить
20.12.2012


"Стандартно" (по samples) получаю данные из таблицы Инструменты по 13 акциям (ММВБ), добавив вывод
Код
Trader.SecuritiesTable.Columns.Add(DdeSecurityColumns.MaxPrice);
Trader.SecuritiesTable.Columns.Add(DdeSecurityColumns.MinPrice);

Security[] SecArray = Trader.Securities.ToArray();



По акциям, по которым шаг цены .0001 и .00001 цены выводятся в StockSharp неправильно - округляются до 0 и 1
Например, нулевые свойства MaxPrice и MinPrice по
  • VTBR@EQNL (ВТБ ао [Б-акции ММВБ])
    в S# SecArray[5].MaxPrice=0
    В КВИК Макс цена = 0.05527
  • HYDR@EQBR(РусГидро [А1-акции ММВБ])
    в S# SecArray[9].MaxPrice=1
    В КВИК Макс цена = 0.7535
  • FEES@EQNL (ФСК ЕЭС ао [Б-акции ММВБ])
    в S# SecArray[11].MaxPrice=0
    В КВИК Макс цена = 0.21100, Мин. цена =0.20875

хотя значения соответствующих колонок таблицы Инструменты ("Макс. цена" и "Мин. цена") - значимо содержат дробную часть.

StockSharp VTBR DdeSecurityColumns.MaxPrice = 0

Таблица Инструменты в QUIK
Таблица Инструменты в QUIK


Что делать?
StockSharp, ver. 20629 от 2го ноября 2012 (из транк codePlex)

Update:
Покрупнее кусок в ответ на ответ, что нет дробных частей в ценах ТТП (Таблица Текущих Параметров под кодовым названием Инструменты в StockSharp)КВИК

Покрупнее кусок ТТП (Таблица Текущих Параметров под кодовым названием Инструменты в StockSharp)КВИК

Теги:


Спасибо:




5 Ответов
esper

Фотография
Программист
Дата: 21.12.2012
Ответить


У вас независимо от шага цены нет дробной части.
Спасибо:

Геннадий Ванин (Gennady Vanin)

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


esper Перейти
У вас независимо от шага цены нет дробной части.

Не понял
В КВИКе (таблица Инструменты) есть дробная часть для Макс цена и Мин цена по
  • VTBR@EQNL (ВТБ ао [Б-акции ММВБ])
  • HYDR@EQBR(РусГидро [А1-акции ММВБ])
  • FEES@EQNL (ФСК ЕЭС ао [Б-акции ММВБ])

В экспортиррванных в S# значениях уже нет, соответственно:
  • SecArray[5]
  • SecArray[9]
  • SecArray[11]


См. выше скриншоты и то, что я написал

Геннадий Ванин (Gennady Vanin) Перейти

По акциям, по которым шаг цены .0001 и .00001 цены выводятся в StockSharp неправильно - округляются до 0 и 1
Например, нулевые свойства MaxPrice и MinPrice по
  • VTBR@EQNL (ВТБ ао [Б-акции ММВБ])
    в S# с.MaxPrice=0
    В КВИК Макс цена = 0.05527

  • HYDR@EQBR(РусГидро [А1-акции ММВБ])
    в S# SecArray[9].MaxPrice=1
    В КВИК Макс цена = 0.7535

  • FEES@EQNL (ФСК ЕЭС ао [Б-акции ММВБ])
    в S# SecArray[11].MaxPrice=0
    В КВИК Макс цена = 0.21100, Мин. цена =0.20875


хотя значения соответствующих колонок таблицы Инструменты ("Макс. цена" и "Мин. цена") - значимо содержат дробную часть.
Автор топика
Спасибо:

esper

Фотография
Программист
Дата: 21.12.2012
Ответить


У вас на первом скриншоте в принципе нет дробных чисел, даже для инструментов с шагом цены отличным от .0001 и .00001. Это по меньшей мере странно.
Попробовал выводить цены открытия и закрытия в MinPrice и MaxPrice для тестового сервера, все работает без ошибок и округлений. Видимо что-то у вас на компе настроено неверно.
Спасибо: Геннадий Ванин (Gennady Vanin)

Геннадий Ванин (Gennady Vanin)

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


esper Перейти
У вас на первом скриншоте в принципе нет дробных чисел, даже для инструментов с шагом цены отличным от .0001 и .00001. Это по меньшей мере странно.
Попробовал выводить цены открытия и закрытия в MinPrice и MaxPrice для тестового сервера, все работает без ошибок и округлений. Видимо что-то у вас на компе настроено неверно.

Да, спасибо
Просто при цене меньше 1, такое округление катастрофическое, даже очень foolproof и faultproof bots такое не перенесут

Тока я не пойму, что и где у меня не так
LastTrade.Price - с дробной частью,
а MinPrice и Maxprice - нет

Так уже сразу в объектах инструментов - членах securities - в
Код
Trader.NewSecurities += securities => 
this.GuiAsync(() =>
{

});


Проверил - и у меня и в S# везде decimal по всем ценам
Автор топика
Спасибо:

Геннадий Ванин (Gennady Vanin)

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


Геннадий Ванин (Gennady Vanin) Перейти

Что делать?
StockSharp, ver. 20629 от 2го ноября 2012 (из транк codePlex)

Проклятый склероз. Это собирались фиксить

Профиксили, на версии StockSharp 21650 от 21 декабря 2012 этого бага уже нет.

Но, что самое интересное, и в предыдущем обсуждении, и в этом участвовали члены проекта, имеющие доступ к коду библиотеки и сабмиттящие патчи и исправления на stockSharp.Codeplex, знавшие, что это было профиксено и никто не написал ни здесь, ни в предыдущем обсуждении (на котором у меня уведомления), что это было исправлено

Ещё одно неприязненное очко в адрес проекта, вернее, команды проекта StockSharpб явно заинтересованных в проблемах тех, кто пользуется бесплатно бесплатным продуктом
Автор топика
Спасибо:


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

loading
clippy