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

Структура рынка на основе колебаний при откате — BOS, CHoCH, IDM - индикатор для MetaTrader 5

Sandro Begashvili
Sandro Begashvili
Сандро Бегашвили - разработчик MQL5, MQL4, Python и Pine Script
Я создаю торговые программы для MetaTrader 4 и MetaTrader 5: советники, пользовательские индикаторы и графические торговые панели. Опишите свою идею, и я превращу её в рабочий код с документацией.
ЧТО Я РАЗРАБАТЫВАЮ
| Russian English 中文 Español Deutsch 日本語 Português 한국어 Français Italiano Türkçe
Просмотров:
49
Рейтинг:
(2)
Опубликован:
MQL5 Фриланс Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу



В моей предыдущей статье в CodeBase, посвящённой индикатору SMC Pullback, был дан ответ на один вопрос: какие максимумы и минимумы действительно имеют значение? На этом я сознательно остановился, и в описании это было четко указано — никаких меток HH/HL, никаких BoS, CHoCH и IDM. Это отдельные этапы, для которых сначала необходим надёжный набор колебаний.

Данный индикатор представляет собой следующий этап. Он выделяет рыночную структуру так, как это описывает концепция «Smart Money» (SMC), и использует тот же детектор откатов — класс включен сюда без изменений, поэтому файл является автономным и не требует установки каких-либо зависимостей — и на его основе выстраивает рыночную структуру: тренд, один актуальный максимум, один актуальный минимум и четыре события, которые их сдвигают. BoS, CHoCH, IDM и «промывка ликвидности», отмеченная буквой «x».


Что вы видите на графике

Элемент Внешний вид Значение
Зигзаг отката тонкая бледная линия Каждый колебательный диапазон, обнаруженный по правилу отката. Это исходный материал, намеренно неярко обозначенный — это контекст, а не сигнал.
Структурный зигзаг толстая золотая линия Только максимумы и минимумы, которые фактически используются в структуре. Небольшое подмножество бледной линии.
Маркеры структуры стрелки сверху / снизу Сами максимумы и минимумы структуры.
BoS пунктирная, зелёная Разрыв структуры — уровень был взят по тренду.
CHoCH пунктирная, красная Смена характера — уровень был пробит против тренда. Здесь происходит разворот тренда.
x сплошная линия, фиолетовая «Ликвидностный разворот» — уровень был пробит лишь фитилем, после чего цена пошла в обратную сторону.
IDM пунктирная, синяя Стимул — уровень отката, пробой которого подтверждает новый экстремум структуры.

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

Первый уровень: колебания отката

Вкратце, поскольку это подробно описано в предыдущей записи: максимум становится колебанием только тогда, когда цена возвращается ниже минимума свечи, которая его сформировала. Форма здесь не имеет значения — колебание является событием, а не геометрической фигурой, и именно это позволяет ему нести временную метку.

Два свойства этого уровня имеют значение для последующего анализа:

  • Результат строго чередует максимум, минимум, максимум, минимум. Никогда не бывает двух максимумов подряд.
  • Свинг подтверждается позже, чем свеча, на которой он находится. Уровень структуры видит откат только после того, как он становится окончательным, поэтому структура никогда не может строиться на основе свинга, который пока является предварительным.

Оба уровня обрабатываются по одному закрытому бару за раз: сначала откаты, затем структура — поэтому, когда структура анализирует бар, она уже знает о любом колебании, подтвержденном на этом же баре.

Второй уровень: структура

Структура содержит ровно три элемента:

Состояние Значение
Тенденция Нет, Вверх или Вниз
Максимум структуры единственный максимум, который сейчас имеет значение — уровень, пробой которого является бычьим сигналом
Структурный минимум единственный минимум, имеющий значение на данный момент — уровень, пробой которого сигнализирует о медвежьем тренде

Он формируется на основе первого максимума отката и первого минимума отката, при этом тренд установлен на «Нет». С этого момента уровень отката больше никогда не записывается в структуру — он лишь предоставляет ориентировочные уровни, описанные ниже.

Правило пробоя: пробои по цене закрытия, пробои по тенью

Это единственное различие определяет три из четырёх типов событий:

A level is broken only when a candle closes beyond it. A candle whose wick alone goes beyond it has swept it.


Таким образом, для каждой закрытой свечи при текущем тренде и двух уровнях:

Тенденция Что сделала свеча Событие
Нет закрылась выше максимума / ниже минимума BoS — тренд становится восходящим / нисходящим
Вверх закрытие выше максимума структуры BoS — продолжение, тренд остается восходящим
Вверх закрытие ниже минимума структуры CHoCH — тренд меняется на нисходящий
Вниз закрытие ниже минимума структуры BoS — продолжение, тренд остается нисходящим
Низ закрытие выше максимума структуры CHoCH — тренд меняется на восходящий
любой тень выходит за пределы уровня, закрытие возвращается внутрь потенциальный «свип» — запомнено, пока ничего не нарисовано
любой остался внутри обоих уровней ничего

Таким образом, BoS и CHoCH — это одно и то же событие — прорыв через уровень. Единственное, что определяет обозначение, — это соответствует ли прорыв уже действующему тренду. При отсутствии тренда первый прорыв по определению является BoS, поскольку нет характера, который можно было бы изменить.

Свип: когда фитиль превращается в «х»

Фитиль, пробивающий уровень, сам по себе не является событием. Он фиксируется и остается в статусе «ожидания», поскольку в этот момент ситуация неоднозначна — цена может просто закрыться за уровнем на следующей свече, и в этом случае это был бы обычный прорыв, а не «свип».

Он становится «x» только тогда, когда следующий прорыв происходит в противоположном направлении. Классическая последовательность в восходящем тренде:


  1. Цена поднимается выше максимума структуры с фитилем, но закрывается обратно ниже него. Регистрируется как потенциальный «свип». На графике ничего не отображается.
  2. Цена разворачивается и закрывается ниже минимума структуры.
  3. Это снимает неоднозначность. Движение вверх было захватом ликвидности, поэтому индикатор перемещает максимум структуры на свечу «свипа» — маркер и обе «зигзагообразные» ветви следуют за ним — рисует сплошную линию «x» и только после этого фиксирует CHoCH.

Перемещение максимума и есть суть всего процесса. Колебанием, с которого начался разворот, является свеча «свип», а не более старый максимум, через который она прошла, и каждый уровень, который вы определяете впоследствии, должен измеряться оттуда.

Линия «x» проходит от бара, установившего уровень, до бара, чей фитиль его захватил, и проводится по цене старого уровня — это и есть ликвидность, которая там находилась. Медвежий сценарий — точное зеркальное отражение: фитиль ниже структурного минимума, а затем закрытие выше структурного максимума.

Три правила обеспечивают достоверность анализа:

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

IDM: подтверждение нового экстремума

Прорыв отвечает на один вопрос и открывает другой. Когда цена закрывается выше максимума структуры в восходящем тренде, вы знаете, что произошел BoS — но вы ещё не знаете, где находится новый максимум. Цена всё ещё движется. Называть прорывную свечу новым максимумом было бы неправильно в тот момент, когда следующая свеча поднимется выше.

Ответ кроется в индукции. В момент BoS:


  1. Последний минимум отката становится ориентиром — IDM.
  2. Цена продолжает расти; индикатор отслеживает максимальный максимум, которого она достигает, но ничего не сигнализирует.
  3. Каждый раз, когда новое минимум отката формируется выше текущего IDM, IDM поднимается до него. Ориентиром всегда является самое высокое минимум отката, наблюдавшееся после прорыва.
  4. Когда цена наконец возвращается и пробивает IDM, подтверждается новый структурный максимум: это самый высокий максимум между прорывной свечой и свечой, пробившей IDM.

В этот момент проводится пунктирная линия IDM — от отката, определившего её, до свечи, пробившей её, — и появляется маркер структурного максимума. Эти два элемента всегда совпадают, что делает линию IDM полезным средством проверки логики: каждая структурная вершина должна иметь линию IDM, заканчивающуюся на баре, где появляется её маркер.

Медвежий сценарий является зеркальным отражением: после медвежьего прорыва IDM является самым низким максимумом отката, и его пробитие подтверждает новый структурный минимум как самый низкий минимум данного движения.

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

Сохранение цепочки в виде зигзага

Точки структуры должны чередоваться, точно так же, как и уровень отката. Два максимума подряд — это разорванная цепочка, а не структура.

Бычий прорыв ведет к формированию максимума. Если новейшая точка в цепочке уже является максимумом, между ними отсутствует минимум, поэтому индикатор берет самый низкий минимум между этим максимумом и прорывной свечой и публикует его первым. Если новейшая точка уже является минимумом, цепочка чередуется, и ничего не вставляется.

Это одно правило охватывает все случаи: ваш BoS в устоявшемся тренде, ваш CHoCH и самый первый прорыв после зародыша. Медвежий случай является зеркальным отражением — самый высокий максимум прочесанного диапазона.

Граничные случаи, описанные открыто

Ситуация Как это решается
Одна свеча одновременно достигает уровня IDM и закрывается ниже противоположного уровня Интерпретируйте в указанном порядке: сначала подтверждается экстремальное значение, затем фиксируется прорыв. Это именно тот случай, когда сначала происходит «свеп», а затем CHoCH, и порядок имеет значение.
Ожидаемое экстремальное значение никогда не подтверждается, поскольку цена сначала пробивает уровень в другую сторону Отслеживаемое экстремальное значение публикуется там, где оно находится, а затем обрабатывается прорыв. Ничего не теряется, и цепочка по-прежнему чередуется.
Сама пробивающая свеча возвращается к IDM Подтверждение никогда не может произойти на самой свече прорыва. Самое раннее, когда это может произойти, — на следующем баре.
Отката, который мог бы служить в качестве IDM, пока нет Вместо этого используется текущий уровень структуры на этой стороне. Это происходит только на самых старых свечах графика.

О перерисовке — прочтите это перед использованием

Слой отката не перерисовывается, и в этом плане ничего не изменилось.

Слой структуры перерисовывается, и это не дефект — такова суть метода. Двигаются две вещи:

  • Ожидаемый экстремум смещается по мере расширения ценового движения, вплоть до момента фиксации IDM. Он отображается в режиме реального времени, чтобы вы могли наблюдать за формированием структуры, а не ждать в неведении.
  • Свип по замыслу перемещает точку назад. В этом и заключается весь смысл символа «x».

Как только экстремум подтверждается его IDM и против него нет ожидающего «свипа», он считается зафиксированным. События — BoS, CHoCH, x, IDM — добавляются только в конец списка и никогда не сдвигаются.

Если вы строите на этом, рассматривайте точку структуры как предварительную, пока не появится её линия IDM, а события — как стабильную запись. Оцениваются только закрытые свечи; формирующаяся свеча полностью игнорируется.

Входные данные

Уровень отката

Входные данные По умолчанию Что это делает
Начните с поиска Поиск максимума колебания В какую сторону движется самый первый отрезок. Влияет только на самые старые бары на графике.
Прорыв отката подтверждается «Wick» Регулятор чувствительности для всего индикатора. «Wick» — это буквальное правило Trading Hub. Параметр «Close» даёт меньшее количество более крупных откатов — и, следовательно, меньшее количество более крупных структурных движений. Переключайтесь на него на таймфреймах M1–M15 или на шумных инструментах, таких как CFD на золото и индексы.

Рыночная структура

Входные данные По умолчанию Как работает
Экстремум подтверждается, когда опорная точка находится Фитиль Как следует трактовать IDM. «Wick» означает касание; «Close» требует закрытия цены на этом уровне, что подтверждает экстремумы позже, но отфильтровывает неглубокие пробои при формировании сигнала.
Обнаружение «прочесываний» ликвидности true Отключите для простой структуры: в этом случае уровни фиксируются только по цене закрытия, без x, и точки никогда не перемещаются. Полезно для сравнения двух показаний бок о бок.

Нигде нет настроек периода, глубины или чувствительности — у структуры нет собственных параметров. Если вам нужна более крупная структура, увеличьте таймфрейм или переключите правило отката на «Закрытие».

Отображение

Группа Что регулирует
Зигзаг отката Слабые фоновые колебания — цвет, стиль, ширина или полное отключение.
Зигзаг структуры Золотая линия структуры.
Маркеры структуры Стрелки на максимуме/минимуме структуры: коды Wingdings и расстояние в пикселях от бара. Буферы остаются заполненными, когда стрелки отключены, поэтому iCustom по-прежнему видит всё.
Линии разрыва Отдельный цвет для BoS, CHoCH, x и IDM, а также ширина линии и подписи. Отключайте подписи на плотных графиках и используйте цвета в качестве легенды.

Оповещения

Всплывающие окна и push-уведомления при событиях структуры. Они срабатывают только при обновлении данных в реальном времени, никогда во время загрузки истории и только один раз на каждое событие.

Использование в советнике

Пять буферов. Значение пустого буфера — 0,0.

Буфер Содержимое
0 цена макси мума структуры
1 низкая цена конструкции
2 тенденция на каждом баре: 1 — восходящая, -1 — нисходящая, 0 — отсутствует
3 цена подтверждённого максимума отката
4 цена подтвержденного минимума отката
int h = iCustom(_Symbol, _Period, "SMC_MarketStructure");
double trend[];
CopyBuffer(h, 2, 0, 1, trend);   // 1 = up, -1 = down, 0 = none

Буфер 2 заполняется на каждом баре, включая формирующийся, поэтому считывание его при сдвиге 0 всегда возвращает текущий тренд. Остальные четыре по своей природе являются разреженными.

Оба движка представляют собой автономные классы, не зависящие ни от буферов, ни от графиков — CPullbackDetector принимает массивы цен и сообщает о подтвержденных колебаниях, а CMarketStructure принимает бары и эти колебания и выдает цепочку точек и список событий. Оба можно скопировать прямо в советник, если вы предпочитаете не использовать iCustom, который также предоставляет вам события — они не доступны через буферы.

Чего он сознательно не делает

Он ограничивается определением структуры. Никаких блоков ордеров, никаких разрывов по справедливой стоимости, никаких зон премии/дисконта, никаких точек входа и никакой маркировки HH/HL/LH/LL. Для всего этого сначала нужен надежный тренд и надежная пара уровней — именно это и обеспечивает данный механизм, причем каждое его решение отображается на графике в виде линии, которую можно проверить.

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

VelaMayor MTF - Higher Timeframe Candle Overlay VelaMayor MTF - Higher Timeframe Candle Overlay

Накладывайте свечи с более высокого таймфрейма прямо на графики с более низким таймфреймом с настраиваемым заполнением тела, независимыми границами и точными тенью. Без труда определяйте макроэкономическую тенденцию, открытие сессий и диапазоны ликвидности, не переключаясь между экранами. Сверхлегкий движок с разделенными границами блоков и надежным автоматическим восстановлением графика при сбоях.

Margin Risk Simulator Margin Risk Simulator

Отображает цены текущего символа, при которых на счете наступает уровень маржин-колла и стоп-аута, с режимом моделирования сценариев для дополнительного объема, максимальным объемом, который можно добавить, и отложенными ордерами, срабатывающими по ходу движения.

QCL Heikin Flow MT5 QCL Heikin Flow MT5

Индикатор QCL Heikin Flow применяет двухступенчатое сглаживание к свечам Heikin Ashi, помогая трейдерам отфильтровывать ценовой шум и визуализировать направление тренда. Имеет настраиваемые периоды сглаживания, четыре метода расчета скользящих средних и настраиваемую цветовую схему свечей.

Session High Low - Asian, London and New York Range Boxes Session High Low - Asian, London and New York Range Boxes

Отображает диапазоны азиатской, лондонской и нью-йоркской сессий в виде цветных прямоугольников с указанием максимальных и минимальных значений, а также пунктирных линий расширения для торговли на прорыве. Одинаковые диапазоны отображаются на всех таймфреймах вплоть до H1.