Портировал на MT5 старый-старый индикатор сессий от gip. Штука полезная, кому интересно можете пользоваться.
В коде только минимальные правки, только чтобы заставить код из раннего (!!) MT-4 работать в 5-ке. Многое можно сделать гораздо эффективнее, в частности вычисление времени и пересчёт таймзон.
В оригинале там помесь строковых функций с арифметикой :-)
Корректность оригинальных таймингов сессий и событий не проверял. Кто соберётся пользоваться - обязательно проверьте. Код старый, с тех пор всё могло поменяться.
Внешних существенных изменений не вносил, там только художественные правки :
- вертикальные линии (от событий) теперь не рисуются на весь чарт, на нём и так выводятся значки событий.
- изменил шрифт часов. В оригинале все трое часов одинаковые, сделал что время брокера крупнее.
Внешне выглядит вот так
Сам индикатор в подокне, горизонтальными линиями отображает сессии. Вертикальными линиями отдельные события.
В основном окне выводятся значки событий (в виде часиков, чуть ниже цены) и опционально рамка сессий
В нижнем правом углу - значок "мышь" и две псевдокнопки. Если "мышь" перетащить на кнопки - будут переключаться режимы "отображать/нет рамки сессий", "отображать/нет подписи сессий".
В то время видимо иначе было нельзя :-) Это исторический артефакт
Параметры
- Таймзона сервера
- дата и время переходов на зимнее, летнее время (Daylight Saving Time)
- цвета, шрифты
- кол-во дней за которые отображаются сессии
Собственно всё :-)
Оригинал индикатора и авторское описание : https://www.mql5.com/ru/code/9313
Портированный код прикладываю.
PS/ развивать индикатор точно не буду - код хоть и хороший, но реально старый, в процедурном стиле. Развивать это переписать на 80% :-)
но возможно когда руки дойдут сделаю сам себе нечто близко-внешне-подобное.
Потому-что по наглядности и удобству, это лучшее что я тут на сайте встречал