getParamEx "last" Возвращает 0 для фьючерсов

Страницы: 1
RSS
getParamEx "last" Возвращает 0 для фьючерсов
 
Здравствуйте
Столкнулся с тем, что getParamEx(..., "last") на некоторое время начинает возвращать 0 для фьючерсов, причем в терминале все нормально. По времени - происходит в районе 19 часов по МСК. Подскажите, почему такое может быть и как это исправить?
 
Бывает что от брокера некорректные данные приходят.
Обычно такое происходит во время вечернего клиринга, что в принципе не критично

Но на всякий случай делаю пару проверок
1) Проверка получаемых данных из ТТТ на корректность
Коррктность LAST проверяю так
Код
local param=getParamEx2(class_code,sec_code,"LAST")
if(param.result=="1")and(param.param_image~="")and(param.param_type=="1")then last=tonumber(param.param_value) end
2) Разрешать роботу торговать только если last~=0
Но надо быть предельно аккуратным, ибо на некоторых фьючерсах цена может быть нулевая, и такую проверку делать будет не желательно.
 
Да, я сейчас делаю так же - просто у меня в консоль много варнингов в этот период сыпется.
Но интересует другое - я ведь в терминале в этот момент могу по-прежнему смотреть стакан и свечи. Я думал, что эта функция возвращает дату последней сделки, как бы давно она не была == последнего измерения для последней свечи. Судя по всему это не совсем так - тогда могу ли я как-то получать именно значение последней сделки, которое учитывается в последней свече?

Поясню: мне это нужно, чтобы посчитать и учесть дивгэп перед открытием сессии очередного дня
 
Ars, добрый день!

При использовании getParamEx "last" Вы получаете параметр "Цена последней сделки" из таблицы текущих торгов.
В некоторых случаях, его значение может отличаться от цены действительно последней (крайней) сделки по инструменту. Это связано с особенностью трансляции параметров.
Уточните, пожалуйста, при наблюдении описанного поведения, какое значение имеет параметр в таблице текущих торгов (ориентироваться нужно именно на него, а не на стакан/график)? Пришлите, пожалуйста, пример.

Цитата
Ars написал:
тогда могу ли я как-то получать именно значение последней сделки, которое учитывается в последней свече
Да. Непосредственно с обезличенной сделки, при помощи функции обратного вызова OnAllTrade().
 
Точно так же c облигациями - пока после открытия не прошла хотя бы одна сделка last возвращает 0 и цена последней сделки в таблице текущих торгов стоит нулевая.
 
Цитата
Roman Azarov написал:
В некоторых случаях, его значение может отличаться от цены действительно последней (крайней) сделки по инструменту. Это связано с особенностью трансляции параметров.
Тут проблема в том, что в этих "некоторых случаях", прилетает LAST=0, что неправильно, т.к. имеются инструменты у которых цена может быть нулевой.
Можно как-то сделать, чтобы в упомянутых вами "некоторых случаях" прилетал бы не 0, а например nil или пустая строка
Чтобы можно было корректно фильтровать входящие данные.

Цитата
Roman Azarov написал:
Уточните, пожалуйста, при наблюдении описанного поведения, какое значение имеет параметр в таблице текущих торгов
В ТТТ так же наблюдается "Цена послед." = 0.
Очень часто такое поведение наблюдается во время вечернего клиринга, и продолжается буквально несколько секунд.
 
Kolossi, BlaZed, добрый день!

Данный параметр транслируется биржей и нами его значение никак не меняется.
Повторимся, для получения "честной" цены последней сделки рекомендуется обращаться к таблице обезличенных сделок.
Страницы: 1
Читают тему (гостей: 1)
Наверх