MQL5 Свои таймфрэймы - страница 4

 
Roman:

Расчётная торговая сессия на forts  начинается после вечернего клиринга!
В 09:45 продолжение торговой сессии без котирования, только постановка снятие заявок.
В 10:00 продолжение торговой сессии с котированием.

Получается что в этот период с 09:45 до 10:00 и во время клиринга, биржа тупо не останавливает цикл while, а поток котировок останавливает ))
По этому шлёт мусор в тиках, и если идут тики с нулём, то нужно делать доп проверку на ноль.
Я всегда делаю проверку на ноль, не важно какие это данные.

Кстати, обратите внимание, что в клиринг котировки нулевые, а в премарките нет, кроме того там даже поле "объем" не заполнено.

Как изменить индикатор, что б фильтровать эти ошибочные данные?

 
Aleksey Vyazmikin:

Кстати, обратите внимание, что в клиринг котировки нулевые, а в премарките нет, кроме того там даже поле "объем" не заполнено.

Как изменить индикатор, что б фильтровать эти ошибочные данные?

Я не смотрел индикатор, но там где поступают тики, сделайте доп. условие if,
которое будет проверять входящую котировку и бид аск на 0.0 или пустоту.

 
Roman:

Я не смотрел индикатор, но там где поступают тики, сделайте доп. условие if,
которое будет проверять входящую котировку и бид аск на 0.0 или пустоту.

Что сделать - понятно, просто я такой код не понимаю сходу, всякое там ООП...

 
Aleksey Vyazmikin:

Что сделать - понятно, просто я такой код не понимаю сходу, всякое там ООП...

Ну так может Николай и подправит?
Внеся доп проверку на 0.0 и пустоту.

 
Roman:

Ну так может Николай и подправит?
Внеся доп проверку на 0.0 и пустоту.

Может, но вроде он сильно этого и не хочет, да и спит пока :)

 
Nikolai Semko:


Получается, что на данных в прямом эфире индикатор не функционирует?

Ещё индикатор как бы раздвоился на часовках видно - остался старый след...


 
Roman:

Ну так может Николай и подправит?
Внеся доп проверку на 0.0 и пустоту.

наверное так.


Но все равно главная проблема у некоторых брокеров, что бары есть, а тиков к ним нет.

Файлы:
AnyTF.mq5  10 kb
 
Aleksey Vyazmikin:

Получается, что на данных в прямом эфире индикатор не функционирует?

Я писал, что этот индикатор только для демонстрации работы функции CalculateNewTF. 

Индикатор один раз загружает тики в OnInit - е и формирует по ним бары. OnCalculate пустой. Новые тики не отслеживаются. Ну реально нет у меня времени делать из него полноценный индюк с масштабированием по минимуму и максимуму, с формированием правильной шкалы, с управлением на лету и убыстрением на пару порядков ( это все возможно). 

Aleksey Vyazmikin:

Ещё индикатор как бы раздвоился на часовках видно - остался старый след...


Иногда не удаляется объект самого канваса при смене ТФ в OnDeinit по непонятным причинам. Скорей всего из-за все той же асинхронности OnDeinit. Поэтому получается два канваса. Тоже не разбирался, почему так происходит, но побороть это при желании можно. 

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

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