QLua — Получить время возобновления торгов

Страницы: 1
RSS
QLua — Получить время возобновления торгов, "Старт торгов ... установлен с хх:хх:00 мск."
 
Здравствуйте,

18.08.2032 торги на срочном рынке FORTS после проведения дневной клиринговой сессии возобновились в 14:27:00.

Известен ли кому-нибудь способ получать информацию о "необычных" временах начала/возобновления торгов? Насколько я понял, доступа к таблице системных сообщений нет.
Здесь предлагают использовать поле TRADINGSTATUS ответа getParamEx, но, судя по обсуждению, не до конца ясно, можно ли на него полагаться.

Есть ли другие варианты, в т.ч. костыльные?

Благодарю за ваши предложения.
 
Цитата
airat написал:
Здравствуйте,

18.08.2032 торги на срочном рынке FORTS после проведения дневной клиринговой сессии возобновились в 14:27:00.

Известен ли кому-нибудь способ получать информацию о "необычных" временах начала/возобновления торгов? Насколько я понял, доступа к таблице системных сообщений нет.
Здесь  предлагают использовать поле TRADINGSTATUS ответа getParamEx, но, судя по обсуждению, не до конца ясно, можно ли на него полагаться.

Есть ли другие варианты, в т.ч. костыльные?

Благодарю за ваши предложения.
Да, именно этот параметр даст состояние сессии. И он вполне корректно отработал в этот день, как в другие дни, когда статус торговой сессии по там или иным причинам по инструменту изменяется.
 
Лично я считаю количество изменений цены тикера в минуту. Если оно в нуле последние 5 минут, значит, торги (по этому тикеру) не ведутся. По любой причине: клиринг там, обрыв связи или ещё что - например, торги формально идут, но просто никто не хочет торговать (так нередко бывает на фьючерсах с далёким временем экспирации. Какая разница? А если народ зашевелился, значит, и нам можно обратить туда внимание. Очень дёшево и сердито: можно торговать месяцами, засыпая по ночам или во время клиринга и просыпаясь лишь тогла, когда нужно.
 
По поводу TRADINGSTATUS: Я когда-то тестировал его и, если не ошибаюсь, он криво работал. Он в 14:05:10 показывал 0, хотя торги уже 10 секунд шли, и лишь на 11-ой секунде он стал 1. Такая же история и с вечерней сессией. Надо в понедельник проверить снова.
 
Цитата
Игорь М написал:
По поводу TRADINGSTATUS: Я когда-то тестировал его и, если не ошибаюсь, он криво работал. Он в 14:05:10 показывал 0, хотя торги уже 10 секунд шли, и лишь на 11-ой секунде он стал 1. Такая же история и с вечерней сессией. Надо в понедельник проверить снова.
Возможно. Но другого способа достоверно узнать, что сессия открыта, нет. Хотя, конечно, можно использовать косвенные способы, например - отправить транзакцию и посмотреть ответ. Но это просто пример экстремального способа.
Что касается изменения цены, то это, конечно, не даст ответ о состоянии сессии по инструменту, а просто покажет активность участников.
 
Nikolay, Если цена меняется, то торговля уж точно идёт, если нет, то торговать нам в данный момент уж точно не нужно. Скажу больше: если торговли не было, а потом  вдруг снова пошла (скажем, после клиринга) каждый тикер у меня сначала "прогревается" примерно с минуту, и только потом начинает торговать (у некоторых тикеров в это время иногда бывают "припадки", и "прогрев" есть великолепное средство их избежать).
 
Цитата
airat написал:
Здравствуйте,

18.08.2032 торги на срочном рынке FORTS после проведения дневной клиринговой сессии возобновились в 14:27:00.

Известен ли кому-нибудь способ получать информацию о "необычных" временах начала/возобновления торгов? Насколько я понял, доступа к таблице системных сообщений нет.
Здесь  предлагают использовать поле TRADINGSTATUS ответа getParamEx, но, судя по обсуждению, не до конца ясно, можно ли на него полагаться.

Есть ли другие варианты, в т.ч. костыльные?

Благодарю за ваши предложения.
Из собственного опыта.
Если используете свечи, то просто сравните High и Low свечи.
Если торги идут, то значения различны.  
 
airat,

На 100% надёжно этого не узнать никак.
В любом случае из-за задержек сети и ещё чего там, любой параметр будет обновляться позже, чем происходит событие на сервере.

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

Если можно с задержкой.

Делайте как советует Владимир, так можно точно определить, что торги идут.
Хотя бывает например фьючерс на Транснефть.
Низколиквидный, сделок по нему за день с десяток набирается, и по ним трудно определить, что торги идут.
Но на долгосроке он может давать приличный доход. Так что для таких инструментов нужен другой подход.

Можно делать и как nikolz советует, но сделки могут какое-то время идти по одной и той же цене, тогда цены Open, High, Low, Close все будут одинаковые.
Если надо сразу, то не годится. Хотя, если торги идут, то на ликвидном инструменте значения быстро поменяются.

Если надо сразу.

Ну, насколько это возможно:)

Это можно определять по параметрам ТТТ.
Одного TRADINGSTATUS - состояние сессии недостаточно. Он может показывать 1, когда торги не идут.
Как пример, в прошом году была приостановка торгов на валютном рынке из-за сбоя биржи.
В итоге по валюте этот параметр транслировался со значением 1, но статус торгов был приостановлено.
Поэтому можно проверять ещё параметры STATUS - статус торговли инструментом и TRADINGPHASE - статус биржевой сессии.

По значениям могу сказать только для срочного рынка: STATUS = 1, TRADINGSTATUS = 1, TRADINGPHASE = 2.
На остальных рынках могут быть другие значения, или может их вовсе не быть, например на акциях нет TRADINGPHASE.

Так что решайте сами, что вам конкретно нужно.
 
Некоторые брокеры TRADINGPHASE вообще в терминал не транслируют.
 
Забыл сказать.
Способ High~=Low надо использовать не для торгуемого Вами инструмента, а для ликвидного, например , используйте это правило для сбербанка как индикатор, что торги идут.  
 
Цитата
Kolossi написал:
Некоторые брокеры TRADINGPHASE вообще в терминал не транслируют.
Как и STATUS
 
Цитата
nikolz написал:
Забыл сказать.
Способ High~=Low надо использовать не для торгуемого Вами инструмента, а для ликвидного, например , используйте это правило для сбербанка как индикатор, что торги идут.  

Такой способ подойдёт, чтобы определить, что торги в принципе начались, например после клиринга.

Но не подойдёт, чтобы определить, что торги идут по конкретному инструменту.

Kolossi, Nikolay,

Безусловно. К тому же, скорее всего, значения этих параметров могут быть разные у разных брокеров.
И нет никаких гарантий, что они когда-нибудь не поменяются.
 
Цитата
Вадим Никитин написал:
Цитата
nikolz написал:
Забыл сказать.
Способ High~=Low надо использовать не для торгуемого Вами инструмента, а для ликвидного, например , используйте это правило для сбербанка как индикатор, что торги идут.  

Такой способ подойдёт, чтобы определить, что торги в принципе начались, например после клиринга.

Но не подойдёт, чтобы определить, что торги идут по конкретному инструменту.

Kolossi, Nikolay,

Безусловно. К тому же, скорее всего, значения этих параметров могут быть разные у разных брокеров.
И нет никаких гарантий, что они когда-нибудь не поменяются.
Все просто Карл!
Определяете, что торги идут в принципе (был такой магазин )
Потом проверяете объем торгов по данному инструменту. Если ноль, то не торгуется.
Можете еще проверять наличие предложений. Если инструмент не торгуется то и предложений нет
 
Цитата
nikolz написал:
Определяете, что торги идут в принципе (был такой магазин )
Потом проверяете объем торгов по данному инструменту. Если ноль, то не торгуется.
Можете еще проверять наличие предложений. Если инструмент не торгуется то и предложений нет
Все косвенные методы не отвечают на вопрос о статусе торгов конкретного инструмента. То что торгуется Сбербанк, не значит что торгуется фьючерс.
То что торгуется один инструмент, не значит, что по другому нет стоп торгов. А по третьему планка и остановка торгов.
Так что если вопрос: узнать состояние торговой сессии по конкретному инструменту, то этот статус транслируется.
Все остальные методы косвенные, и не факт, что задержка будет не больше.
 
Вадим Никитин, Ошибаетесь! Данный подход вполне прилично работает и на тикерах с низкой ликвидностью. Торги-то вроде как "не идут", но цена-то всё равно изменяется! И в те (действительно довольно редкие) моменты, когда скрипт поймёт-таки, что торги всё же идут, он смотрит в портфель: "БА! Так у меня на этом тикере прибыль сумасшедшая, пора фиксировать" и кидает заявку. Вероятность её исполнения намного ниже, чем на высоколиквидном, но, поскольку курс почти стоит, заявка может быть активной долгое время (на ликвидном тикере курс почти наверняка куда-нибудь убежит и заявка снимется), и в итоге такие заявки исполняются почти с той же вероятностью, что и ликвидные. Я это дело начал использовать на фьючерсах, мне понравилось, и сейчас провожу большой "августовский" тест (в конце июля я его запустил, в начале сентября посмотрю результаты). Там 20 фьючерсов, но каждый по трём доступным периодам U3, Z3 и H4 (всего 60). Так вот: фьючи U3 уже потихоньку приближаются к экспирации, Z3 уже вовсю торгуются, а серия H4 полуживая: часть тикеров вообще недоступна для торговли (на данный момент их 11 из 20 возможных), часть доступна, но ещё практически не торгуется (сейчас один такой), а третья часть (8 штук) уже начала торговать. Да, у них количество сделок на порядок меньше, но прибыль на сделку (пока на глаз, анализировать буду в сентябре) в полтора-два раза выше. В боевом режиме у меня один такой, успешно торгуется на всех трёх периодах, и у меня уже практически нет сомнений перевести на эту технологию все фьючи: приближающиеся к экспирации потихоньку выводятся в 0, а вместо них (даже чуть раньше) запускается следующая партия, т.е. торгуем при ЛЮБОЙ ликвидности.
 
Владимир,

Я имел ввиду случай, когда торги по инструменту уже открылись, а сделок ещё нету.
И цены спроса и предложения стоят на месте. Тогда ваш способ не подойдёт, потому что ничего не изменяется, хотя торговать уже можно.

А вы какие цены анализируете для определения торгуемости инструмента?
Цену последней сделки или цены спроса и предложения?
 
Вадим Никитин, А я говорил, что мой способ подойдёт даже если тикер ещё не включён в торговлю. КАЖДЫЙ ДЕНЬ такое происходит, "когда торги по инструменту уже открылись, а сделок ещё нету". Точнее, несколько раз в день. И я вообще не смотрю на возню в стакане, на все эти "цены спроса и предложения". Если цены стоят на месте, торговать-то, может быть, и можно, НО НЕ НУЖНО - именно потому, что они СТОЯТ. Сделки я контролирую, естественно, по LAST, а BID и OFFER анализирую тогда, когда сделку я уж точно хочу совершить, но ещё не вполне определился, по какой именно цене.
 
Для информации: проверил снова за эти два дня, как были раньше неадекватные задержки, так и остались. Значения писались в лог при их изменении (SiU3):
134806.371: status: 1
134806.372: phase: 2
134806.372: session: 0
140008.938: status: 0
140008.938: phase: 1
140511.145: phase: 2
140514.690: status: 1

Вчера статус на 11-ой секунде после возобновления торгов поменялся, а сегодня на 15-й.
 
Цитата
Игорь М написал:
Для информации: проверил снова за эти два дня, как были раньше неадекватные задержки, так и остались. Значения писались в лог при их изменении (SiU3):
140514.690: status: 1

Вчера статус на 11-ой секунде после возобновления торгов поменялся, а сегодня на 15-й.
Если Ваш алгоритм требует мгновенной реакции, то, видимо, стоит задуматься, что система торговли Квик - это не тот инструмент, что стоит использовать. Хотя, конечно, можно дополнить получение статуса косвенными методами. Получите статус по тому, какой сработает быстрее.
 
Цитата
Nikolay написал:
Цитата
Игорь М написал:
Для информации: проверил снова за эти два дня, как были раньше неадекватные задержки, так и остались. Значения писались в лог при их изменении (SiU3):
140514.690: status: 1

Вчера статус на 11-ой секунде после возобновления торгов поменялся, а сегодня на 15-й.
Если Ваш алгоритм требует мгновенной реакции, то, видимо, стоит задуматься, что система торговли Квик - это не тот инструмент, что стоит использовать. Хотя, конечно, можно дополнить получение статуса косвенными методами. Получите статус по тому, какой сработает быстрее.
Причем здесь какой-то мой алгоритм? Подняли тему и я написал,что TRADINGSTATUS криво работал раньше, написал что проверю снова. Вот проверил, ничего не поменялось. Написал сюда, чтобы люди, которые будут потом читать, не тестировали заново. Резюмируя: TRADINGSTATUS - бесполезная мура, 10-15 секунд это перебор для любых систем. За эксклюзивную информацию о том, что "система торговли Квик - это не тот инструмент, что стоит использовать" для "мгновенной реакции", низкий поклон, конечно.  :smile:  
 
Цитата
Игорь М написал:
Причем здесь какой-то мой алгоритм? Подняли тему и я написал,что TRADINGSTATUS криво работал раньше, написал что проверю снова. Вот проверил, ничего не поменялось. Написал сюда, чтобы люди, которые будут потом читать, не тестировали заново. Резюмируя: TRADINGSTATUS - бесполезная мура, 10-15 секунд это перебор для любых систем. За эксклюзивную информацию о том, что "система торговли Квик - это не тот инструмент, что стоит использовать" для "мгновенной реакции", низкий поклон, конечно.  ::  

Вы же говорите, что задержка в 15 секунд для Вас критическая. Я пока не видел с этим проблем, для любых торговых систем. Совершенно разные мнения.
 
Цитата
Nikolay написал:
Цитата
Игорь М написал:
Причем здесь какой-то мой алгоритм? Подняли тему и я написал,что TRADINGSTATUS криво работал раньше, написал что проверю снова. Вот проверил, ничего не поменялось. Написал сюда, чтобы люди, которые будут потом читать, не тестировали заново. Резюмируя: TRADINGSTATUS - бесполезная мура, 10-15 секунд это перебор для любых систем. За эксклюзивную информацию о том, что "система торговли Квик - это не тот инструмент, что стоит использовать" для "мгновенной реакции", низкий поклон, конечно.  ::  

Вы же говорите, что задержка в 15 секунд для Вас критическая. Я пока не видел с этим проблем, для любых торговых систем. Совершенно разные мнения.
Я такого не писал. Она для меня не критическая, я TRADINGSTATUS не использую. Я имел в виду, что если такая простая опция, как определение статуса сессии, имеет задержку в 10-15 секунд, то этим не следует пользоваться в любых системах. Она просто тупо неправильно работает. Не может быть в современных реалиях такой задержки. Возможно, когда-то она работала правильно, но потом что-то поменялось, а её не исправили. Она стабильно выдает нереальную задержку - это баг.
 
Цитата
Игорь М написал:
Цитата
Nikolay написал:
 
Цитата
Игорь М  написал:
Причем здесь какой-то мой алгоритм? Подняли тему и я написал,что TRADINGSTATUS криво работал раньше, написал что проверю снова. Вот проверил, ничего не поменялось. Написал сюда, чтобы люди, которые будут потом читать, не тестировали заново. Резюмируя: TRADINGSTATUS - бесполезная мура, 10-15 секунд это перебор для любых систем. За эксклюзивную информацию о том, что "система торговли Квик - это не тот инструмент, что стоит использовать" для "мгновенной реакции", низкий поклон, конечно.  ::  
 
Вы же говорите, что задержка в 15 секунд для Вас критическая. Я пока не видел с этим проблем, для любых торговых систем. Совершенно разные мнения.
Я такого не писал. Она для меня не критическая, я TRADINGSTATUS не использую. Я имел в виду, что если такая простая опция, как определение статуса сессии, имеет задержку в 10-15 секунд, то этим не следует пользоваться в любых системах. Она просто тупо неправильно работает. Не может быть в современных реалиях такой задержки. Возможно, когда-то она работала правильно, но потом что-то поменялось, а её не исправили. Она стабильно выдает нереальную задержку - это баг.
Поделюсь своим опытом.
Правда я не торгую неликвидом.
Все плановые начала и концы торгов я определяю так.
------------------
Компьютер у меня синхронизируется по серверу точного времени.  Я об этом уже рассказывал на форуме.
Поэтому я знаю время работы биржи очень точно, а не по серверу брокера, которое может гулять как угодно.
Ошибка синхронизации не более 0.02 сек.
Начало предторгового периода определяется по часам,
а начало торгов по часам и правилу High~=Low для Сбербанка.
--------------
Аналогично можно построить правила для определения  любых другим моментов на бирже.


 
 
Какой фигнёй вы здесь занимаетесь, господа! Во-первых, я точно знаю, что задержки обычно составляют секунды, но могут быть гораздо больше - пойманный когда-то моим скриптом "рекорд" составил более 15 минут! Во-вторых, всё это вообще не нужно - вам торговать нужно или подобным онанизмом заниматься? Вот только что у меня произошла "нештатная ситуация": один тикер подал заявку и тут же выскочило сообщение: "Сейчас торговая сессия не идёт" (клиринг начался). Мой скрипт об этом, ессно, ни сном ни духом: думает, что заявка подана. Клиринг прошёл, торги возобновились, подошло время снимать несработавшую заявку, скрипт посмотрел, а этой заявки в списке активных нет, даже снимать не надо. Поскольку курс был по-прежнему близок к цене, по которой была подана предыдущая заявка (то есть цена его устраивала), он снова её подал (даже по чуть более выгодноц цене), и на этот раз она сработала. Вывод: ДА ПЛЕВАТЬ на это дурацкое "время возобновления торгов"!
 
Владимир, вопрос к вам по оценке ликвидности тикера. В целом, я сейчас поступаю так же, как вы многократно описывали - считаю число изменений цены за последнюю минуту и ранжирую значения на несколько диапазонов. Из вашего опыта, при каком значении этого параметра на тикер можно не обращать внимания, считая "мертвым"? Сейчас считаю тикер дохлым, если цена изменилась 3 или меньше раз в последнюю минуту. Только вот сдается мне, надо или интервал для оценки увеличивать, либо уменьшать это значение: один из тикеров дважды сползал вверх на 3 с лишним процента и обратно, находясь при этом в "мертвом" состоянии. Следовало бы забрать прибыль, а скрипт не обращал на него внимания ))
 
Glukator, Так это же индивидуально. Лично я считаю "дохлым" тикер, который делает менее 10 сделок в сутки. А который больше сотни - уже "припадочный". Но это только потому, что это Я так считаю - для Борьки, например, и тысяча сделок в минуту не такая уж и страшная величина. Правда, он торгует напрямую с биржей, Квик тут рядом не стоял. А вообще я считаю тики не только в минуту, но и за сеанс. Ранжирование примерно такое: если с начала сеанса не поймано и трёх сделок - это "говно", заявки не подаются. Если это условие выполнено, но за последнюю (закрытую) минуту сделок не было - это "мусор" - заявки можно подавать, но только если очень хочется. Менее 5 сделок за последнюю минуту - "норма", менее 10 - ликвидность "хорошая", иначе "отличная". Но, повторяю, это всё дело вкуса. Ах, да - ещё один нюанс: если тикер мёртвый 5 минут и более, я его обнуляю и считаю как с начала сеанса. Это хорошо видно перед началом торгов, после их окончания и во времена клирингов: тикеры у меня дружно "синеют" (так я подсвечиваю состояние "инструмент не торгуется"), а потом постепенно снова включаются в работу.
 
Владимир, про дело вкуса согласен. Только чтоб этот вкус сформировать, надо некоторое время поковыряться. А если хочется ускорить процесс, то хорошо спросить у людей более опытных - на то мы здесь все и собрались :) За разъяснения спасибо.
 
есть еще такой способ.
использовать колбек onParam.
В него приходят все изменения TTT
Можно поставить фильтр на нужный инструмент и обнаруживать начало торгов по появлению заявок и сделок.
Страницы: 1
Читают тему
Наверх