Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «marketcache.mqh» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
Краткий обзор
О программе
Данная библиотека представляет собой заголовочный модуль MQL для кэширования общих рыночных данных и вспомогательных функций торговых сессий. Она предназначена для использования в среде MT4 и поддерживает автономную компиляцию в виде .mqh-файла.
Библиотека кэширует ключевые данные по текущей и предыдущей свечам (цена закрытия, открытия, максимум и минимум за 10 баров), что позволяет избежать повторных вызовов индикаторных функций. Также предоставляются функции проверки принадлежности текущего времени к разрешённым торговым сессиям (Лондон, Нью-Йорк, Азия) и определения периодов ролловера.
Настройки позволяют гибко управлять включением сессий и смещением часового пояса брокера, а также отключать проверку ролловера. Все временные расчёты выполняются с использованием арифметических операций над метками времени для минимизации зависимостей от стандартной библиотеки.
Настройки программы
Настройка
Описание
UseSessions
Переключатель, включающий или выключающий фильтрацию торговли по торговым сессиям. При значении false торговля разрешена в любое время.
BrokerGMTOffset
Целое число, задающее смещение часового пояса брокера относительно GMT в часах. Используется для корректного определения времени торговых сессий.
TradeLondon
Переключатель, разрешающий или запрещающий торговлю во время лондонской торговой сессии (с 08:00 до 17:00 по GMT брокера).
TradeNewYork
Переключатель, разрешающий или запрещающий торговлю во время нью-йоркской торговой сессии (с 13:00 до 22:00 по GMT брокера).
TradeAsian
Переключатель, разрешающий или запрещающий торговлю во время азиатской торговой сессии (с 23:00 до 08:00 по GMT брокера).
AvoidRollover
Переключатель, определяющий, следует ли избегать торговли в периоды ролловера (с 23:55 до 00:10). При значении false проверка ролловера отключена.
Формирует кэш общих рыночных данных для указанной свечи: кэширует цены закрытия и открытия, а также максимум и минимум за последние 10 баров, избегая повторных пересчётов в рамках одного бара.
Функцияbool IsTradeTimeGlobal(datetime t)
Проверяет, попадает ли указанное время в разрешённые торговые сессии (Лондон, Нью-Йорк, Азия) с учётом настроек и смещения часового пояса брокера. Если фильтрация сессий отключена, всегда возвращает true.
Функцияbool IsRolloverGlobal(datetime t)
Определяет, находится ли указанное время в периоде ролловера (с 23:55 до 00:10). Если проверка ролловера отключена, всегда возвращает false.
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.