Как определить время вечерней сессии, Как определить время начала вечерней сессии на срочном рынке используя средства луа
Пользователь
Сообщений: Регистрация: 04.09.2016
10.06.2017 00:26:59
Сабж. Как известно иногда она начинается в 19.00, иногда - в 19.05 Пробовал разные средства - поля STATUS и TRAIDSTATUS всегда имеют значения 0. Данные о последней сделке и стакане заявок в период клиринга прекрасно выдаются, по ним судить о времени начала и окончания этого периода нельзя :-(
Пользователь
Сообщений: Регистрация: 31.01.2015
10.06.2017 06:23:08
Один вариант реал-тайм проверки состоит в том, чтобы считать, что вечерняя сессия начинается в 19:00, но отслеживать, идут ли обезличенные сделки по классу SPBFUT. Признак того, что вечерняя сессия открыта -- время >= 19:00 и были сделки после этого времени.
У себя в коде, если по классу SPBFUT нет сделок в последние N секунд нет сделок, считаю, что сессия закрыта и торгов нет. Хорошо помогает, когда биржа глючит, торги остановлены, но статус, по-прежнему, пишет "торгуется".
Если хочется 100% надёжности, то, похоже, только задание расписания торгов поможет.
Пользователь
Сообщений: Регистрация: 04.09.2016
10.06.2017 14:13:00
Спасибо, этот вариант приходил в голову, хотя хотелось "прямой" индикатор. Не понимаю почему столь ценная информация не транслируется биржей и брокером???
Пользователь
Сообщений: Регистрация: 30.01.2015
12.06.2017 15:54:43
Цитата
Иван Ру написал: Сабж. Как известно иногда она начинается в 19.00, иногда - в 19.05 Пробовал разные средства - поля STATUS и TRAIDSTATUS всегда имеют значения 0. Данные о последней сделке и стакане заявок в период клиринга прекрасно выдаются, по ним судить о времени начала и окончания этого периода нельзя :-(
getParamEx ---------------------------------- Параметр Начало вечерней сессии
ЦитатаИван Ру написал: Сабж. Как известно иногда она начинается в 19.00, иногда - в 19.05 Пробовал разные средства - поля STATUS и TRAIDSTATUS всегда имеют значения 0. Данные о последней сделке и стакане заявок в период клиринга прекрасно выдаются, по ним судить о времени начала и окончания этого периода нельзя :-(getParamEx ---------------------------------- Параметр Начало вечерней сессии
Спасибо Николай, что напомнили. Этот параметр я опробовал еще раньше, с тем же результатом - одни нули. Там куча аналогичных параметров (время начала и конца дневной сессии и т.п.) которые также возвращают всегда нулевые значения.
ЦитатаИван Ру написал: Сабж. Как известно иногда она начинается в 19.00, иногда - в 19.05 Пробовал разные средства - поля STATUS и TRAIDSTATUS всегда имеют значения 0. Данные о последней сделке и стакане заявок в период клиринга прекрасно выдаются, по ним судить о времени начала и окончания этого периода нельзя :-(getParamEx ---------------------------------- Параметр Начало вечерней сессии
Спасибо Николай, что напомнили. Этот параметр я опробовал еще раньше, с тем же результатом - одни нули. Там куча аналогичных параметров (время начала и конца дневной сессии и т.п.) которые также возвращают всегда нулевые значения.
Очевидно у Вас не выбран этот параметр Посмотрите его в ТТП. Картинка выше. Если есть то должно читаться в луа.
Пользователь
Сообщений: Регистрация: 04.09.2016
13.06.2017 16:28:49
Любопытно... Я так понимаю картинка именно со срочного рынка?
Увы, у себя в меню "Доступные параметры" для инструментов срочного рынка я не вижу такого параметра "Начало вечерней сессии" и ничего аналогичного. Скажите какую версию терминала и какого брокера используете? (У меня 7911 финам)
В луа я (безуспешно) использовал такие параметры:
local STARTTIME = getParamEx('SPBFUT',value.sec, 'STARTTIME').param_value -- STRING Начало основной сессии local ENDTIME = getParamEx('SPBFUT',value.sec, 'ENDTIME').param_value -- STRING Окончание основной сессии local EVNSTARTTIME = getParamEx('SPBFUT',value.sec, 'EVNSTARTTIME').param_value -- STRING Начало вечерней сессии local EVNENDTIME = getParamEx('SPBFUT',value.sec, 'EVNENDTIME').param_value -- STRING Окончание вечерней сессии local MONSTARTTIME = getParamEx('SPBFUT',value.sec, 'MONSTARTTIME').param_value -- STRING Начало утренней сессии local MONENDTIME = getParamEx('SPBFUT',value.sec, 'MONENDTIME').param_value -- STRING Окончание утренней сессии
Пользователь
Сообщений: Регистрация: 30.01.2015
14.06.2017 14:01:29
Цитата
Иван Ру написал: Любопытно... Я так понимаю картинка именно со срочного рынка?
Увы, у себя в меню "Доступные параметры" для инструментов срочного рынка я не вижу такого параметра "Начало вечерней сессии" и ничего аналогичного. Скажите какую версию терминала и какого брокера используете? (У меня 7911 финам)
В луа я (безуспешно) использовал такие параметры:
local STARTTIME = getParamEx('SPBFUT',value.sec, 'STARTTIME').param_value -- STRING Начало основной сессии local ENDTIME = getParamEx('SPBFUT',value.sec, 'ENDTIME').param_value -- STRING Окончание основной сессии local EVNSTARTTIME = getParamEx('SPBFUT',value.sec, 'EVNSTARTTIME').param_value -- STRING Начало вечерней сессии local EVNENDTIME = getParamEx('SPBFUT',value.sec, 'EVNENDTIME').param_value -- STRING Окончание вечерней сессии local MONSTARTTIME = getParamEx('SPBFUT',value.sec, 'MONSTARTTIME').param_value -- STRING Начало утренней сессии local MONENDTIME = getParamEx('SPBFUT',value.sec, 'MONENDTIME').param_value -- STRING Окончание утренней сессии
имена параметров надо задавать по англицки. Для этого делаете DDE вывод таблицы параметров с именами столбцов в excel и смотрите имя.
Не найду у себя такого раздела меню "Выбор принимаемых параметров и инструментов" - подскажите где он?
QUIK clients support
Сообщений: Регистрация: 27.01.2015
14.06.2017 19:41:37
Цитата
Иван Ру написал: Выбор принимаемых параметров и инструментов
Добрый день.
Пункт меню Система - Заказ данных - Поток котировок.
Пользователь
Сообщений: Регистрация: 04.09.2016
21.07.2017 11:01:46
Проблема решена по совету Николая Камынина. После того как включил параметр "Время начала вечерней сессии" в таблице "Текущие торги" строка local EVNSTARTTIME = getParamEx('SPBFUT',value.sec, 'EVNSTARTTIME').param_value -- STRING Начало вечерней сессии начала возвращать нужное значение в строковом формате
Пользователь
Сообщений: Регистрация: 04.09.2016
21.07.2017 21:57:22
Цитата
Иван Ру написал: Проблема решена по совету Николая Камынина. После того как включил параметр "Время начала вечерней сессии" в таблице "Текущие торги" строка local EVNSTARTTIME = getParamEx('SPBFUT',value.sec, 'EVNSTARTTIME').param_value -- STRING Начало вечерней сессии начала возвращать нужное значение в строковом формате
пардон - формат NUMBER вида 190500, можно отнять 190000 и получить время в минутах, помножить его на 60 и скорректировать время в формате posix