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

 
prostotrader:

НЕ нужен.

OnBookEvent срабатывает не только, если произошла сделка.

и ОБЯЗАТЕЛЬНО нужно в этой фунеции фильтровать символ

Так как в эту функцию "валится" все, что есть в обзоре рынка

Давно уже нет. Подписка "MarketBookAdd" действует в пределах одного графика.
читайте справку внимательней: https://www.mql5.com/ru/docs/event_handlers/onbookevent

если сомневаетесь, проверить просто. откройте 2 графика и на каждый поставьте это:

//+------------------------------------------------------------------+
int OnInit()
  {
   MarketBookAdd(_Symbol);
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
void OnBookEvent(const string &symbol)
  {
   Print(symbol);
  }
//+------------------------------------------------------------------+
void OnDeinit(const int reason) 
  {
   MarketBookRelease(_Symbol);
  }
//+------------------------------------------------------------------+

получите так:
Документация по MQL5: Обработка событий / OnBookEvent
Документация по MQL5: Обработка событий / OnBookEvent
  • www.mql5.com
OnBookEvent - Обработка событий - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
prostotrader:

Таймер НЕ нужен.

как лень заново читать тему на 2 строчки, да?
Поясняю. OI в терминале меняется сам по себе, без тиков и без событий в ленте/стакане.
По этому и нужен таймер что бы отследить изменение OI

 
Alena Lysenkova:

Давно уже нет. Подписка "MarketBookAdd" действует в пределах одного графика.
читайте справку внимательней: https://www.mql5.com/ru/docs/event_handlers/onbookevent

если сомневаетесь, проверить просто. откройте 2 графика и на каждый поставьте это:


получите так:

Самой-то не смешно?

Событие BookEvent является широковещательным в пределах графика. Это означает, что достаточно одному приложению на графике подписаться
на получение события BookEvent с помощью функции MarketBookAdd, как все остальные индикаторы и эксперты, запущенные на этом графике
и имеющие обработчик OnBookEvent(), будут получать это событие.
Поэтому необходимо анализировать имя символа, которое передается в обработчик OnBookEvent() в качестве параметра symbol.
 
Alena Lysenkova:

как лень заново читать тему на 2 строчки, да?
Поясняю. OI в терминале меняется сам по себе, без тиков и без событий в ленте/стакане.
По этому и нужен таймер что бы отследить изменение OI

Полный бред!

Если Вы отслеживаете тики по сделкам, то на каждой итерации тика сделки, нужно просто брать OI

double oi_value = SymbolInfoDouble(Symbol(),SYMBOL_SESSION_INTEREST);
 
prostotrader:

Самой-то не смешно?

а до следующего абзаца та и не дошел? ) попробуй еще раз, я в тебя верю!
prostotrader:

Полный бред!

Если Вы отслеживаете тики по сделкам, то на каждой итерации тика сделки, нужно просто брать OI

Может хоть раз проверишь сам себя прежде чем нести эту чушь? )

OI в терминале меняется отдельным потоком не связанным ни с тиками, ни с событиями в стакане, ни в ленте.
 

вот пример работы первого кода.
таймер уловил изменение OI, а тика нет.

И такая ситуация регулярная. И ладно бы тик вообще был, хоть и с запозданием, так бывает что 2-3 раза OI меняется без тиков.

 
Alena Lysenkova:
а до следующего абзаца та и не дошел? ) попробуй еще раз, я в тебя верю!

Может хоть раз проверишь сам себя прежде чем нести эту чушь? )

OI в терминале меняется отдельным потоком не связанным ни с тиками, ни с событиями в стакане, ни в ленте.

Ты хоть внимательно прочти, то что пишет заказчик!

Нужен софт для отслеживания ленты сделок по каждому тику с указанием изменения ОИ (аналог Time&Sales в платформе Volfix)
 
prostotrader:

Ты хоть внимательно прочти, то что пишет заказчик!

Тебя никто не спрашивал про мои заказы, твое мнение не интересно. Если не можешь дочитать название заказа до конца, не читал задания и не общался с заказчиком, куда лезешь? Не позорься.

 
Alena Lysenkova:

Тебя никто не спрашивал про мои заказы, твое мнение не интересно. Если не можешь дочитать название заказа до конца, не читал задания и не общался с заказчиком, куда лезешь? Не позорься.

Свободна

 
prostotrader:

@Andrey Khatimlianskii @Dmitriy Skub

Возможно в терминале и нет синхронизации, но с тем кодом, что

представлен, разве можно вообще о чем-то говорить?

Да, его достаточно для демонстрации проблемы. Зачем доколупываться, если по сути сказать нечего?


Alena Lysenkova:

Попробуйте еще SYMBOL_TIME_MSC логгировать.