Запаздывание OI (открытый интерес) - страница 8

 
Alena Lysenkova:
тогда зачем вы здесь пишите?

как угодно

ушел

 

Alena Lysenkova

Зря Вы время теряете, заказчики ждут...

Alena Lysenkova
Alena Lysenkova
  • 2021.01.04
  • www.mql5.com
Профиль трейдера
 
prostotrader:

Вот я и говорю "писаки" и их защитники.

Зачем копировать все тики, когда интересуют сделки?

В коде

Должно быть

Renat Akhtyamov:

чо там у неё нормально?

даже не понимает что на выходе должно быть и что для этого нужно сделать

даже опытные мне не ответили на коварный вопрос, потому что про такое на каждом углу нельзя рассказывать

однако я знаю как добиться верного результата, ибо посвятил изучению этой темы около 5 лет.

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

Т.е. с остальными мелочами очевидно она разберётся, в отличии от многих "писак", которые спрашивают вопросы 1-го класса.

А докапываться к мелочам, выпячивая свои якобы вселенские знания, да ещё и ошибаясь на ходу в мелких вопросах, это не то что не профессионально, а как то даже не по мужски, и похоже на ворчливых злых бабушек на скамейке.

 
Aleksey Mavrin:

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

Т.е. с остальными мелочами очевидно она разберётся, в отличии от многих "писак", которые спрашивают вопросы 1-го класса.

А докапываться к мелочам, выпячивая свои якобы вселенские знания, да ещё и ошибаясь на ходу в мелких вопросах, это не то что не профессионально, а как то даже не по мужски, и похоже на ворчливых злых бабушек на скамейке.

то то и оно

ОИ не такая уж и простейшая вещь, как может показаться с первого взгляда, которую с радостью готовы написать за копейки каждому желающему.

а то что здесь обсуждается с 2-ой страницы, даже не рядом.
 
Renat Akhtyamov:

то то и оно

ОИ не такая уж и простейшая вещь, как может показаться с первого взгляда, которую с радостью готовы написать за копейки каждому желающему.

а то что здесь обсуждается с 2-ой страницы, даже не рядом.

С возвращением)

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

Непрофессионально и некрасиво. Нормальные мужики по существу ответили, думаю вопрос решен)

 
Dmi3:

Могу прямо: мне нужен асинхронный движок, но механизм с кривыми мэджиками, который использует prostotrader, меня категорически не устраивает.

Как написать этот движок правильно, я пока не понимаю. А вы? ;)

А зачем Вам асинхронный движок? Если ведете две ноги, то первую котируете лимитником, вторую бьете маркетом при срабатывании первой. Здесь без асинха можно и полезно обходится. Композитные синтетики из нескольких символов - таки да, асинх будет полезен. Но все равно упретесь в проверку ликвидности каждого инструмента. Его одного мало будет для создания позиции с консистентными входами. И кстати, асинх работает также медленно как и несинхронное выставление ордеров. Так что если Вам нужна скорость для выставления единичного ордера то это точно не к асинху.

 
Alena Lysenkova:

Почему в терминале изменение открытого интереса:
SymbolInfoDouble(Symbol(),SYMBOL_SESSION_INTEREST)
живет своей жизнью относительно ленты?
void OnBookEvent(const string& symbol)

Насколько я понимаю срочный рынок, сделки в ленте могут не приводить к изменению OI. Но почему OI меняется сам по себе без сделок?
Это уже было замечено ранее:
https://www.mql5.com/ru/forum/165157/page2#comment_3989978

С какой периодичностью обновляется OI в терминале, от чего зависит?
Как синхронизировать изменение OI со сделками в ленте? Хочу получить полноценную ленту с OI.

ОИ меняется тогда и только тогда, когда происходит сделка (Last). Если совсем строго, то один участник может войти в рынок заключив сделку, а другой участник, этой же сделкой выйти из рынка. В этом случае даже при заключении сделки ОИ не поменяется. Таким образом событие OnTick() должно быть синхронизировано с изменением ОИ. Если в случае МТ это не так, то это значит, что торговые каналы для получения ОИ и тиков у него различаются. Это разные источники, которые будут слегка рассинхронизированы по времени. Однако это максимум того что можно добиться. Анализ ленты сделок, таймеры - это все бессмысленные алго. У программиста в этом случае есть только одна возможность: получить ближайшее известное значение ОИ, в момент прихода нового тика. Два значения будут максимально синхронизированы друг с другом. Но идеальной синхронности не будет.

Однако замечу, что предоставляемый биржей доступ к ОИ, в режиме реального времени является скорее исключением чем правилом. На других площадках ОИ является лишь справочным значением, публикуемым в конце дня. Поэтому надо быть презнательным MOEX за такую потрясающую возможность, наблюдать ОИ в режиме [почти] реального времени.

 
Vasiliy Sokolov:

У программиста в этом случае есть только одна возможность: получить ближайшее известное значение ОИ, в момент прихода нового тика. Два значения будут максимально синхронизированы друг с другом. Но идеальной синхронности не будет.

так и сделала, и уже по факту обнаружила что данные не синхронизированы.

Vasiliy Sokolov:

Анализ ленты сделок, таймеры - это все бессмысленные алго.

Это больше для эксперимента с целью понять хоть какую то зависимость.

Vasiliy Sokolov:

Однако замечу, что предоставляемый биржей доступ к ОИ, в режиме реального времени является скорее исключением чем правилом. На других площадках ОИ является лишь справочным значением, публикуемым в конце дня. Поэтому надо быть презнательным MOEX за такую потрясающую возможность, наблюдать ОИ в режиме [почти] реального времени.

Волфикс на тех же инструментах дает изменение OI сразу в ленте. Стало быть MOEX дает такие данные. Но в Мт5 почему то рассинхрон.


Было бы неплохо просто понять как в целом это устроено в терминале. Обновление OI происходит с какой то периодичностью, или просто запаздывает.
Так как это хоть как то позволило бы привязать изменение OI к ленте, с тем же запозданием.

 
Vasiliy Sokolov:

А зачем Вам асинхронный движок? Если ведете две ноги, то первую котируете лимитником, вторую бьете маркетом при срабатывании первой. Здесь без асинха можно и полезно обходится. Композитные синтетики из нескольких символов - таки да, асинх будет полезен. Но все равно упретесь в проверку ликвидности каждого инструмента. Его одного мало будет для создания позиции с консистентными входами. И кстати, асинх работает также медленно как и несинхронное выставление ордеров. Так что если Вам нужна скорость для выставления единичного ордера то это точно не к асинху.

По факту это необходимо только для трех и четырехногих арбитражников. Их у меня не так много, всего несколько десятков, пока обхожусь в них синхронным движком.

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

Я с этого и начал, что разбираться самому с асинхронным мне не хочется, я лучше что-нибудь более полезное для трейдинга буду делать. А заказать не у кого, потому что нет специалистов, понимающих все косяки, которые происходят в реальной, а не тестерной торговле.

А про скорость здесь на форуме есть только один нелепый мечтатель, планирующий когда-нибудь выиграть ЛЧИ с HFT:) на MT5 и это уж точно не я.
 
Alena Lysenkova:

так и сделала, и уже по факту обнаружила что данные не синхронизированы.

Это больше для эксперимента с целью понять хоть какую то зависимость.

Волфикс на тех же инструментах дает изменение OI сразу в ленте. Стало быть MOEX дает такие данные. Но в Мт5 почему то рассинхрон.


Было бы неплохо просто понять как в целом это устроено в терминале. Обновление OI происходит с какой то периодичностью, или просто запаздывает.
Так как это хоть как то позволило бы привязать изменение OI к ленте, с тем же запозданием.

Ну а как Вы привяжите? Допустим поступление ОИ отстает от тиков. Тогда нужно в OnTick, получить самый последний, старый ОИ (нового в МТ5 ведь еще нет) и довольствоваться этим. Если тики наоборот отстают, то вообще говоря это алес полный, потому что тогда тики в МТ5 отстают от всего потока данных, которые видят другие участники рынка. Но допустим. Тогда врубаем таймер, что бы получать новое значение ОИ как можно быстрее, а старый тик сохраняем и объединяем с этим ОИ. Все равно плохо - будет актуальный ОИ и старый, неактуальный последний тик ассоциированный с ним. К тому же нормальный таймер меньше 16 мсек. Вы не сделаете - вытесняющая многопоточность. Будет кривой таймер с нехилой разбежкой в несколько мсек, который вообще не понятно когда будет вызываться. Залупить эксперт с Sleep() у Вас по-нормальному тоже не получится. Слишком высокая разрещающая способность требуется. В любом случае у Вас будет либо ОИ опаздывать, либо тик.

Причина обращения: