Вопрос к разработчикам: Вы можете предложить надёжный способ убедиться, что getParamEx даёт действительно последнюю цену инструмента, а не её отсутствие?
Надо делать так, как надо. А как не надо - делать не надо.
Вопрос к разработчикам: Вы можете предложить надёжный способ убедиться, что getParamEx даёт действительно последнюю цену инструмента, а не её отсутствие?
Добрый день.
Мы Вас поняли. Можем предложить вариант сравнивать с параметром "время последней сделки". Если цена ноль, а время последней сделки есть, то да цена ноль, если нет, то цена отсутствует.
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
03.03.2017 08:52:47
Цитата
Egor Zaytsev написал: Можем предложить вариант сравнивать с параметром "время последней сделки". Если цена ноль, а время последней сделки есть, то да цена ноль, если нет, то цена отсутствует.
Я спрашивал о надёжном способе. Вы можете гарантировать, что параметры "цена последней сделки" и "время последней сделки" обновляются синхронно? Т.е., когда вы проверите "время последней сделки", и оно будет присутствовать, то в "цена последней сделки" будет значение котировки?
Надо делать так, как надо. А как не надо - делать не надо.
Michael Bulychev
Гость
03.03.2017 09:01:40
Добрый день. Можно смотреть на param_image. Если param_value = 0 и param_image ~= "", то это значит что действительно получено значение 0 от соответствующего шлюза.
В каком случае цена последней сделки равна 0, а в каком отсутствует?
Надо делать так, как надо. А как не надо - делать не надо.
Michael Bulychev
Гость
03.03.2017 09:41:01
Это значит, что сервер что-то получил от шлюза, подключенного к соответствующей площадке. Если торговая система изменит этот параметр, то он изменится и на сервере.
Старатель написал: В каком случае цена последней сделки равна 0, а в каком отсутствует?
Надо делать так, как надо. А как не надо - делать не надо.
Michael Bulychev
Гость
03.03.2017 10:00:03
Ситуация, которую я описал выше значит что шлюз подключен к серверу и торговой системе. Изменится ли значение параметра и станет отличным от 0 мы не знаем.
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
03.03.2017 10:09:17
Тема не о том, что будет в будущем. Вопрос стоит так: сейчас действительно цена последней сделки равна нулю?
Надо делать так, как надо. А как не надо - делать не надо.
Michael Bulychev
Гость
03.03.2017 10:33:36
Это последнее значение присланное шлюзом на сервер.
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
03.03.2017 16:59:46
Michael Bulychev, я вас услышал. Проверять можно по косвенным признакам, например по "qty". Представители биржи уверяют, что обновление таблицы в биржевом потоке цельное.
А как обстоят дела в QUIK? Гарантированно ли, что если qty не равно 0, то в last точно будет цена? (Возвращаемся к вопросу из )
Надо делать так, как надо. А как не надо - делать не надо.
Вопрос к разработчикам: Вы можете предложить надёжный способ убедиться, что getParamEx даёт действительно последнюю цену инструмента, а не её отсутствие?
Вообще-то странный вопрос. это же цена последней сделки !!! Если инструмент торгуется и была хотя бы одна сделка в сессии, то цена последней сделки не может быть равна нулю или nil. следовательно, если цена последней сделки ноль - то информации о сделках в текущей сессии еще не поступало, что равноценно - сделок нет. --------------------------- Умным - горе от ума..
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
03.03.2017 19:55:36
RIM7RIU7 Николай, подумайте ещё.
Надо делать так, как надо. А как не надо - делать не надо.
Пользователь
Сообщений: Регистрация: 23.01.2015
06.03.2017 05:25:43
Цитата
Старатель написал: Michael Bulychev , я вас услышал. Проверять можно по косвенным признакам, например по "qty". Представители биржи уверяют, что обновление таблицы в биржевом потоке цельное.
А как обстоят дела в QUIK? Гарантированно ли, что если qty не равно 0, то в last точно будет цена? (Возвращаемся к вопросу из )
Параметры ТТП приезжают срезами, а значит если изменился qty то и last тоже.
Пользователь
Сообщений: Регистрация: 19.03.2015
26.04.2017 18:33:22
Старатель, решили вопрос с ценой? Ноль это еще ладно, можно обработать. Например, сегодня на Sim7 два случая было у меня. прислали цену минус 100 пунктов к цене, а через три часа прислали плюс 100 пунктов к цене. Оба раза повлияли на торговлю
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
26.04.2017 19:17:06
Вопрос был задан потому, что для некоторых инструментов (календарные спрэды) цена может быть как положительной, так нулевой и отрицательной. Поэтому last = 0 для таких инструментов не является ненормальным.
Цитата
ilushin написал: Например, сегодня на Sim7 два случая было у меня. прислали цену минус 100 пунктов к цене, а через три часа прислали плюс 100 пунктов к цене.
Покажите лог.
Надо делать так, как надо. А как не надо - делать не надо.
Пользователь
Сообщений: Регистрация: 19.03.2015
27.04.2017 10:52:45
Старатель, поясню (прост давно писал код, забыл детали вчера разобрался). От getParamEx я отказался по причине неправильной цены. Стал использовать функцию OnAllTrade именно она присылала неправильные значения сим7. А по рим7 OnAllTrade регулярно присылает вместо цены фьючерса цену индекса ртс(эта та которая четырех значная, по сим тяжело отследить строчки которые на 100 п отличаются). Я писал в файл что она присылает, (количество, время, номер сделки присутствовали в ошибочных записях).
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
27.04.2017 11:04:23
Цитата
ilushin написал: А по рим7 OnAllTrade регулярно присылает вместо цены фьючерса цену индекса ртс
Может в код вкралась ошибка?
Цитата
ilushin написал: Я писал в файл что она присылает, (количество, время, номер сделки присутствовали в ошибочных записях).
Покажите файл.
Цитата
ilushin написал: по сим тяжело отследить строчки которые на 100 п отличаются
Если вы знаете, что эти цены повлияли на торговлю то по времени сделки можно найти.
Надо делать так, как надо. А как не надо - делать не надо.
Пользователь
Сообщений: Регистрация: 19.03.2015
27.04.2017 21:30:27
Старатель, к сожалению файл перезаписываемый каждый день, вчерашнего дня не сохранил. Если замечу еще сообщу. Да вы и сами можете последить за работой OnAllTrade, суть понятна. Код могу выслать в личку
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
27.04.2017 23:44:31
ilushin, Вот специально проверил: если исключить первую минуту в 10 ч. и в 19 ч., то разница между соседними тиками по SiM7 составляет 42 пп. (13.04.17 19:05), а по RIM7 220 пп. (06.04.17 19:05) за весь апрель. И то, только потому, что вечерняя сессия в эти дни начиналась в 19:05. Так что, я склонен считать, что скорее имеет место ошибка в коде. Можете выслать. Будет время - я гляну.
Надо делать так, как надо. А как не надо - делать не надо.