← 返回

Округляются значения MinPrice/MaxPrice

Долго боролся с глюком в своей проге пока не накопал вот что в свойствах инструмента MinPrice/MaxPrice без дробной части, причем шаг цены правильный. это баг или фича?

本主题对您有帮助吗?

分享主题

评论 (16)

登录创建账户, 登录或注册以发表评论

Mikhail Sukhov
Mikhail Sukhov

Sample так же выводит, округленные значения?

Alexander
Alexander

Проверил на Sample - всё ок. Не забывайте, что MaxPrice и MinPrice у Security - это немного не то. Это максимально допустимая верхняя \ нижняя цена инструмента.

Вам же нужно добавлять колонку MaxBidPrice \ MinAskPrice и брать их из ExtensionInfo

vfreeman
vfreeman 作者

Alexander Mukhanchikov: Проверил на Sample - всё ок. Не забывайте, что MaxPrice и MinPrice у Security - это немного не то. Это максимально допустимая верхняя \ нижняя цена инструмента.

Вам же нужно добавлять колонку MaxBidPrice \ MinAskPrice и брать их из ExtensionInfo

Именно допустимая верхняя \ нижняя цена мне и нужна! Перед тем как выставить заявку я проверяю допустима ли цена по которой я выставляю заявку, а вы как делаете? Судя по описанию MaxBidPrice и MinAskPrice мне совсем не нужны для меня вопрос открыт

fau
fau

vfreeman: Именно допустимая верхняя \ нижняя цена мне и нужна! Перед тем как выставить заявку я проверяю допустима ли цена по которой я выставляю заявку, а вы как делаете? Судя по описанию MaxBidPrice и MinAskPrice мне совсем не нужны для меня вопрос открыт а цены лучшего бида/аска не подойдут для проверки?

vfreeman
vfreeman 作者

fau:

vfreeman: Именно допустимая верхняя \ нижняя цена мне и нужна! Перед тем как выставить заявку я проверяю допустима ли цена по которой я выставляю заявку, а вы как делаете? Судя по описанию MaxBidPrice и MinAskPrice мне совсем не нужны для меня вопрос открыт а цены лучшего бида/аска не подойдут для проверки?

из описания: "MinAskPrice Лучшая (минимальная) цена среди заявок на продажу за текущую сессию, рублей"

мне же нужно понять - допустима ли цена (которую я сам расчитал) в текущей сессии по которой я хочу выставить заявку?

Alexander
Alexander

Я тогда не понял при чём тут сбербанк из скриншота.

И ещё раз - был задан вопрос - наблюдается ли проблема в SampleQuik?

Судя по тому что я проверил - нет, не наблюдается. Никакого округления нет и в помине.

vfreeman
vfreeman 作者

Alexander Mukhanchikov: Я тогда не понял при чём тут сбербанк из скриншота.

И ещё раз - был задан вопрос - наблюдается ли проблема в SampleQuik?

Судя по тому что я проверил - нет, не наблюдается. Никакого округления нет и в помине.

скриншот для того, чтобы показать что есть некоторое различие между тем, что транслирует квик и что я вижу в свойствах инструмента

            With Trader.SecuritiesTable.Columns
                .Add(DdeSecurityColumns.MinPrice)
                .Add(DdeSecurityColumns.MaxPrice)
            End With
            Trader.StartExport()

по поводу SampleQuik - есть некоторые трудности с проверкой

Alexander
Alexander

Распечатайте эти значения, а не через дебагер. Может это дебагер их так приукрашает.

В чём может быть проблема в SampleQuik? Я на нём как раз вчера и проверял - его модифицировал и сделал печать.

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

У меня та же самая проблема на 4.1.5 ( брал и модифицировал примеры из CodePlex trunл от 2го ноября 2012, stocksharp-20629.zip... ну, и более ранние)

Добавляю колонки Trader.SecuritiesTable.Columns.Add(DdeSecurityColumns.MaxPrice); Trader.SecuritiesTable.Columns.Add(DdeSecurityColumns.MinPrice);

и по моему выбранному инструменту вывожу: MessageBox.Show(_lkoh.MaxPrice.ToString()); MessageBox.Show(_lkoh.MinxPrice.ToString());

Печатается 1949 и 1922, а в КВИКе они 1948.8 и 1921.5

Ну, и в дебаггере смотрел, то же самое округление При этом в КВИКе нет без точки, т.е. даже если цифра целая, то она, всё равно с ".0"

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

Геннадий Ванин (Gennady Vanin): Печатается 1949 и 1922, а в КВИКе они 1948.8 и 1921.5 У меня в ТЗ написано: "при таком-то условии купить по максимально возможной цене, чтобы гарантировать покупку". Если бы я не обратио внимание на это округление, то вместо гарантии покупки я бы получил гарантию снятия (отклонения)!

Alexander
Alexander

Геннадий Ванин (Gennady Vanin): У меня та же самая проблема на 4.1.5 ( брал и модифицировал примеры из CodePlex trunл от 2го ноября 2012, stocksharp-20629.zip... ну, и более ранние)

Добавляю колонки Trader.SecuritiesTable.Columns.Add(DdeSecurityColumns.MaxPrice); Trader.SecuritiesTable.Columns.Add(DdeSecurityColumns.MinPrice);

и по моему выбранному инструменту вывожу: MessageBox.Show(_lkoh.MaxPrice.ToString()); MessageBox.Show(_lkoh.MinxPrice.ToString());

Печатается 1949 и 1922, а в КВИКе они 1948.8 и 1921.5

Ну, и в дебаггере смотрел, то же самое округление При этом в КВИКе нет без точки, т.е. даже если цифра целая, то она, всё равно с ".0"

Будет фикс на codeplex

Maniac
Maniac

Может вам лучше "лупить" по рынку рыночной заявкой, если речь про акции идет? А MaxPrice и MinPrice - это планки для фьючерсов вроде.

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

Maniac: Может вам лучше "лупить" по рынку рыночной заявкой, если речь про акции идет? А MaxPrice и MinPrice - это планки для фьючерсов вроде. Я с фьючерсами работаю

Update: Отлаживаюсь на акциях, когда площадка FORTS не работает

Sergey Masyura
Sergey Masyura

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

Maniac: Может вам лучше "лупить" по рынку рыночной заявкой, если речь про акции идет? А MaxPrice и MinPrice - это планки для фьючерсов вроде. Я с фьючерсами работаю

Текущая цена +- 50 или 100 шагов цены, вот и весь маркет ордер. Учет планок опционально можно потом добавить.

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

Sergey Masyura: Текущая цена +- 50 или 100 шагов цены, вот и весь маркет ордер. Учет планок опционально можно потом добавить. Может быть это и проще Эта вся проблема возникла из-за того, что на выходных не работала площадка FORTS, и я отлаживался на спотовом рынке, где мин./макс. допутимая/возможная цена с дробными частями

А на фьючерсах они, вроде, целые всегда (без дробной части)

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

Sergey Masyura: Текущая цена +- 50 или 100 шагов цены, вот и весь маркет ордер. Учет планок опционально можно потом добавить. Что-то у меня не получается выставлять заявки с вычисляемрй ценой Я пробовал доавлять (вычитать) числа типа int, Int32, decimal и результат - ошибка сервера DDE STOCKSHARP