Смотри, как бесплатно скачать роботов
Ищи нас в Twitter!
Ставь лайки и следи за новостями
Интересный скрипт?
Поставь на него ссылку - пусть другие тоже оценят
Понравился скрипт?
Оцени его работу в терминале MetaTrader 5
Индикаторы

Order Block Detector - индикатор для MetaTrader 5

Просмотров:
22
Рейтинг:
(2)
Опубликован:
MQL5 Фриланс Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу

Детектор блоков заказов

Идея, лежащая в основе

Перед сильным импульсным движением обычно появляется одна последняя свеча, идущая в «неправильном» направлении — последняя свеча продажи перед резким скачком цены вверх или последняя свеча покупки перед обвалом цены. Эта свеча рассматривается как след потока ордеров, который питал движение: зона, которую она занимает, — это место, где, вероятно, формировалась крупная позиция перед прорывом. Этот индикатор формализует процесс обнаружения в три этапа: подтверждает подлинные фрактальные точки колебаний, отслеживает закрытие, решительно пробивающее одну из них с помощью импульсной свечи с реальным телом (а не слабым толчком доджи), а затем ищет назад от этого прорыва последнюю противоположную свечу — диапазон этой свечи становится блоком ордеров.

Как и детекторы гэпов и «ликвидностных промывок» из этой серии, зона здесь действительно «жива»: пока она не сглажена, она продолжает расширяться вперед до текущего бара, и как только цена вновь входит в неё, область застывает точно на этом баре и (по умолчанию) становится серой — так что с первого взгляда можно определить, какие зоны ещё «непроверенные», а какие уже были повторно протестированы.

Как это интерпретировать

  • Бычий блок ордеров (по умолчанию зелёный/белый) — последняя свеча с закрытием вниз перед импульсивным закрытием выше недавнего максимума колебания. Непроверенное предложение, превратившееся в спрос; часто рассматривается как потенциальная поддержка при откате.
  • Медвежий блок ордеров (по умолчанию красный) — последняя свеча с закрытием вверх перед импульсивным закрытием ниже недавнего минимума колебания. Непроверенный спрос, превратившийся в предложение; часто рассматривается как потенциальное сопротивление при отскоке.
  • Расширяющаяся (цветная) зона — пока не смягчена; её правый край продолжает смещаться вперед в режиме реального времени, если включена опция InpExtendUntilMitigated (по умолчанию), или останавливается после фиксированного количества баров, заданного параметром InpExtendBars, если опция отключена.
  • Замороженная, серая зона — цена вернулась в нее — блок нейтрализован, и его рамки остановились точно на этом баре. Установите параметр InpHideMitigatedOBs, чтобы удалять нейтрализованные зоны вместо того, чтобы закрашивать их в серый цвет.
  • «Прорывная» свеча по отношению к самому блоку ордера — блоком ордера является противоположная свеча, а не импульсивная; импульсивная свеча используется только для подтверждения прорыва структуры и никогда не рисуется как зона сама по себе.

Внешние переменные (входные данные)

Входные данные По умолчанию Назначение
InpSwingLookback 5 Количество баров, необходимое по обе стороны от бара-кандидата, чтобы он был подтвержден в качестве максимума/минимума колебания.
InpMinBreakPoints 30 Минимальное расстояние в пунктах, на которое цена закрытия должна выйти за пределы уровня колебания, чтобы это считалось подлинным прорывом структуры.
InpMinImpulseBodyPercent 50,0 Минимальное соотношение тела свечи к диапазону, которое должна иметь свеча, пробивающая уровень — отфильтровывает слабые «пробои» с длинными тенью.
InpMaxSearchBarsForOB 10 Количество баров назад от свечи прорыва, на протяжении которых ведётся поиск противоположной свечи блока ордеров.
InpUseBodyOnly false Использует для определения зоны только тело свечи блока ордеров, а не весь диапазон от максимальной до минимальной цены с учетом теней.
InpMinZoneSizePoints 30 Минимальный размер зоны в пунктах, при котором будет отображаться обнаруженный блок ордеров.
InpMaxOBsToTrack 30 Максимальное количество блоков ордеров, одновременно отображаемых на графике; самый старый из отслеживаемых блоков удаляется, когда новый превышает этот предел.
InpExtendUntilMitigated true Если значение true, зона некомпенсированного блока продолжает расширяться в реальном времени до текущего бара; если false, она останавливается после фиксированного количества баров.
InpExtendBars 40 Фиксированная длина расширения (в барах), используется только при значении «false» для параметра InpExtendUntilMitigated.
InpRequireFullCloseForMitigation false Если true, свеча должна закрыться внутри зоны, чтобы смягчить её; если false, достаточно, чтобы любой фитиль касался зоны.
InpHideMitigatedOBs false Если значение true, зона блока удаляется в момент нейтрализации, а не становится серым и сохраняется.
InpBullishOBColor / InpBearishOBColor Лайм / Красный Цвета для несмягченных зон бычьих и медвежьих блоков ордеров.
InpMitigatedColor Темно-серый Цвет, на который изменяется зона после смягчения (если она не скрыта).
InpFillBox true Заполнять ли зоны блокировки заказов или рисовать их только в виде контуров.
InpBoxStyle / InpBoxWidth Solid / 1 Стиль и ширина рамки каждой зоны.
InpShowLabels true Отображает текстовую метку с ценой зоны рядом с каждым блоком заказа.

Рекомендуемое использование

Работает на любом символе и любом таймфрейме; концепции «прорыва структуры» и «блока ордеров» — это чистое ценовое действие без каких-либо допущений, специфичных для конкретного символа, хотя — как и любой метод, основанный на фракталах и пивотах — InpSwingLookback идет на компромисс между значимостью уровня и частотой обнаружения точно так же, как и в «Детекторе промета ликвидности» из этой серии. По замыслу, как прорывы структуры, так и их смягчение оцениваются только на полностью закрытых свечах, поэтому блок не появится и не исчезнет посреди свечи, пока максимум, минимум и цена закрытия текущей свечи ещё меняются.

Индикатор InpMinImpulseBodyPercent существует специально для того, чтобы избежать маркировки едва заметного закрытия как «прорыва» — свеча, которая лишь слегка выходит за уровень колебания с большим фитилем и маленьким телом, исключается, поскольку это ближе к шуму, чем к подлинному смещению. На графиках с очень длинной историей параметр InpMaxOBsToTrack ограничивает количество объектов, не позволяя каждому историческому блоку ордера накапливаться бесконечно. Данный индикатор только считывает ценовые данные и никогда не размещает, не изменяет и не закрывает никаких ордеров, поэтому его можно безопасно запускать на любом типе счёта.

Все объекты графика создаются под единым внутренним префиксом имени и полностью удаляются с помощью ObjectsDeleteAll() в функции OnDeinit() при отключении индикатора, поэтому он не оставляет после себя ничего на графике.



Рис. 1. Бычий блок ордеров, подтверждённый импульсной свечой прорыва, позже сглаженный, на XAUUSD M15. Изображение выполнено в чёрно-белом варианте в соответствии с рекомендациями по изображениям Code Base (750×500 пикселей).

Перевод с английского произведен MetaQuotes Ltd.
Оригинальная публикация: https://www.mql5.com/en/code/76878

Market Structure Swing Map MT5 Market Structure Swing Map MT5

Наглядный индикатор рыночной структуры для MT5, который выделяет подтвержденные максимумы (HH), минимумы (HL), предыдущие максимумы (LH) и предыдущие минимумы (LL) прямо на графике.

Session Liquidity Map MT5 Session Liquidity Map MT5

Карта сессий для платформы MT5, на которой отображаются диапазоны цен в Азии, Лондоне и Нью-Йорке с их подтвержденными максимумами и минимумами.

YURAZ_RSAXEL Скрипт рисует уровни Рудолфа Акселя YURAZ_RSAXEL Скрипт рисует уровни Рудолфа Акселя

Скрипт рисует уровни Рудолфа Акселя

YURAZ_MCCH YURAZ_MCCH

Индикатор рассчитывает % роста или падения относительно CLOSE, написан с применением ООП, и легко интегрируется в любой советник или иной индикатор.