Вопрос к разработчикам: Вы можете предложить надёжный способ убедиться, что getParamEx даёт действительно последнюю цену инструмента, а не её отсутствие?
Надо делать так, как надо. А как не надо - делать не надо.
Вопрос к разработчикам: Вы можете предложить надёжный способ убедиться, что getParamEx даёт действительно последнюю цену инструмента, а не её отсутствие?
Добрый день.
Мы Вас поняли. Можем предложить вариант сравнивать с параметром "время последней сделки". Если цена ноль, а время последней сделки есть, то да цена ноль, если нет, то цена отсутствует.
Egor Zaytsev написал: Можем предложить вариант сравнивать с параметром "время последней сделки". Если цена ноль, а время последней сделки есть, то да цена ноль, если нет, то цена отсутствует.
Я спрашивал о надёжном способе. Вы можете гарантировать, что параметры "цена последней сделки" и "время последней сделки" обновляются синхронно? Т.е., когда вы проверите "время последней сделки", и оно будет присутствовать, то в "цена последней сделки" будет значение котировки?
Надо делать так, как надо. А как не надо - делать не надо.
Добрый день. Можно смотреть на param_image. Если param_value = 0 и param_image ~= "", то это значит что действительно получено значение 0 от соответствующего шлюза.
Это значит, что сервер что-то получил от шлюза, подключенного к соответствующей площадке. Если торговая система изменит этот параметр, то он изменится и на сервере.
Ситуация, которую я описал выше значит что шлюз подключен к серверу и торговой системе. Изменится ли значение параметра и станет отличным от 0 мы не знаем.
Michael Bulychev, я вас услышал. Проверять можно по косвенным признакам, например по "qty". Представители биржи уверяют, что обновление таблицы в биржевом потоке цельное.
А как обстоят дела в QUIK? Гарантированно ли, что если qty не равно 0, то в last точно будет цена? (Возвращаемся к вопросу из #3)
Надо делать так, как надо. А как не надо - делать не надо.
Вопрос к разработчикам: Вы можете предложить надёжный способ убедиться, что getParamEx даёт действительно последнюю цену инструмента, а не её отсутствие?
Вообще-то странный вопрос. это же цена последней сделки !!! Если инструмент торгуется и была хотя бы одна сделка в сессии, то цена последней сделки не может быть равна нулю или nil. следовательно, если цена последней сделки ноль - то информации о сделках в текущей сессии еще не поступало, что равноценно - сделок нет. --------------------------- Умным - горе от ума..
Старатель написал: Michael Bulychev , я вас услышал. Проверять можно по косвенным признакам, например по "qty". Представители биржи уверяют, что обновление таблицы в биржевом потоке цельное.
А как обстоят дела в QUIK? Гарантированно ли, что если qty не равно 0, то в last точно будет цена? (Возвращаемся к вопросу из #3 )
Параметры ТТП приезжают срезами, а значит если изменился qty то и last тоже.
Старатель, решили вопрос с ценой? Ноль это еще ладно, можно обработать. Например, сегодня на Sim7 два случая было у меня. прислали цену минус 100 пунктов к цене, а через три часа прислали плюс 100 пунктов к цене. Оба раза повлияли на торговлю
Вопрос был задан потому, что для некоторых инструментов (календарные спрэды) цена может быть как положительной, так нулевой и отрицательной. Поэтому last = 0 для таких инструментов не является ненормальным.
Цитата
ilushin написал: Например, сегодня на Sim7 два случая было у меня. прислали цену минус 100 пунктов к цене, а через три часа прислали плюс 100 пунктов к цене.
Покажите лог.
Надо делать так, как надо. А как не надо - делать не надо.
Старатель, поясню (прост давно писал код, забыл детали вчера разобрался). От getParamEx я отказался по причине неправильной цены. Стал использовать функцию OnAllTrade именно она присылала неправильные значения сим7. А по рим7 OnAllTrade регулярно присылает вместо цены фьючерса цену индекса ртс(эта та которая четырех значная, по сим тяжело отследить строчки которые на 100 п отличаются). Я писал в файл что она присылает, (количество, время, номер сделки присутствовали в ошибочных записях).
Старатель, к сожалению файл перезаписываемый каждый день, вчерашнего дня не сохранил. Если замечу еще сообщу. Да вы и сами можете последить за работой OnAllTrade, суть понятна. Код могу выслать в личку
ilushin, Вот специально проверил: если исключить первую минуту в 10 ч. и в 19 ч., то разница между соседними тиками по SiM7 составляет 42 пп. (13.04.17 19:05), а по RIM7 220 пп. (06.04.17 19:05) за весь апрель. И то, только потому, что вечерняя сессия в эти дни начиналась в 19:05. Так что, я склонен считать, что скорее имеет место ошибка в коде. Можете выслать. Будет время - я гляну.
Надо делать так, как надо. А как не надо - делать не надо.