Institutional Framework Trading System MT5
- Индикаторы
- Версия: 1.586
- Обновлено: 19 октября 2026
Версия Range-Bound · v1.58
Торгуйте финансовыми инструментами по той же структуре, которую используют институциональные участники
Большинство розничных инструментов Smart Money Concept делают только одно: отображают на графике ордер-блоки и снятия ликвидности, оставляя вам решать, можно ли им доверять. Institutional Framework Trading System MT5 на этом не останавливается. Каждый генерируемый им сигнал представляет собой структуру ценового действия, которая уже прошла перекрёстную проверку ещё по трём дополнительным слоям институционального контекста — реальному позиционированию на рынке опционов, макроэкономическим фундаментальным факторам и рыночным настроениям. Всё это синтезируется в один понятный сигнал вместо трёх индикаторов, спорящих друг с другом на вашем экране.
Система создана для трейдеров, которые уже понимают ордер-блоки, снятия ликвидности и зоны спроса/предложения и хотят использовать систему, которая проверяет структуру, а не просто рисует её.
Что отличает систему
-
Полноценный SMC-движок структуры — ордер-блоки, снятия ликвидности и зоны спроса/предложения, полностью построенные на подтверждённом ценовом действии закрытых свечей. Сигналы фиксируются в момент закрытия свечи и после этого никогда не перерисовываются.
-
Многослойное подтверждение, а не только структура. Каждый структурный сигнал дополнительно проверяется детекторами дивергенции, истощения и абсорбции ещё до появления на графике — поэтому вы видите согласованность между структурой цены и поведением потока ордеров, а не просто совпадение паттернов.
-
Конфлюэнс с реальным рынком опционов. Данные напрямую берутся из опционов на фьючерсы на золото COMEX — настоящий открытый интерес, Max Pain и уровни ликвидности реального рынка золотых опционов, а не синтетический заменитель. Это позволяет видеть, где фактически сосредоточен крупный объём, ещё до того, как цена туда дойдёт.
-
Встроенная макроэкономическая ориентация. Встроенный конвейер считывает баланс ФРС, CPI/PPI и данные по занятости, благодаря чему сигналы остаются согласованными с общим макрорежимом, а не игнорируют его.
-
Учёт рыночных настроений. Позиционирование CFTC Commitment of Traders и показатель Fear & Greed используются как настоящий контр-трендовый фильтр — экстремальные значения настроений рассматриваются как возможность для движения против толпы, а не как зелёный свет.
-
Два специализированных режима. Conservative Mode на основе системы баллов для трендовых условий и Range-Bound Mode — режим по умолчанию в этой сборке, настроенный посредством тестирования стратегии и ориентированный на консолидации, где структура и возврат к среднему важнее импульса.
-
Работает сразу и масштабируется вместе с вами. Каждый из вышеперечисленных расширенных слоёв является опциональным. Вы можете установить его без какой-либо настройки — и он сразу начнёт работать на чистой проверенной структуре. Позже можно добавить данные по опционам, макроэкономические данные или сентимент — ничего из этого не является обязательным для получения сигналов.
1. Быстрый старт
-
Скопируйте файл .mq5 в папку терминала MQL5\Indicators (File → Open Data Folder внутри MT5), затем скомпилируйте его в MetaEditor.
-
Подключите его к графику золота (он будет работать и с другими символами, однако все значения по умолчанию и комментарии в этом файле рассчитаны на XAU).
-
Оставьте все параметры по умолчанию. Эта версия запускается в Range-Bound Mode — режиме, под который была настроена данная сборка, с активным обнаружением дивергенции, но со скрытыми визуальными маркерами на графике (причина объясняется в разделе 2).
-
После подключения следите за журналом Experts. Он напрямую сообщит, не удалось ли получить автоматически фундаментальные данные или данные по настроениям. Информационная панель на графике показывает текущий режим, состояние рынка и статус оценки сигнала.
-
Если вам нужен конфлюэнс с рынком опционов, выберите один из вариантов в разделе 11 — в противном случае полностью пропустите этот раздел; индикатор нормально работает и без него.
2. Режимы сигналов
enum ENUM_SIGNAL_MODE { MODE_CONSERVATIVE, MODE_RANGEBOUND };
-
Conservative Mode — система на основе баллов. Ордер-блок, снятие ликвидности, дивергенция, истощение, абсорбция, кластерный конфлюэнс и опционный конфлюэнс каждый добавляют баллы; сигнал возникает только после того, как итоговый счёт превышает MinSignalScore (по умолчанию 4). Фильтр рыночного режима (фундаментальные данные/сентимент из раздела 12) активно блокирует сигналы, идущие против преобладающего смещения, в этом режиме.
-
Range-Bound Mode (режим по умолчанию в этой сборке) — требуется одно структурное условие (ордер-блок или активная зона спроса/предложения), одно подтверждение (дивергенция, истощение или абсорбция), а также минимальный балл через RangeBoundMinScore (по умолчанию 2 — значение, которое точно воспроизводит исходный постоянно активный фильтр; повышайте его только в том случае, если вы специально хотите, чтобы кластерный/опционный конфлюэнс сильнее влиял на сигнал). Фильтр рыночного режима не блокирует направление в этом режиме — оба направления остаются активными независимо от фундаментального или сентиментного смещения.
Важно — прочитайте это перед изменением RequireDivergence , RequireOrderBlock или RequireSweep : все три параметра применяются только в Conservative Mode. При работе Range-Bound Mode (режим по умолчанию) эти параметры вообще ничего не делают — не тратьте время на их настройку. RequireDivergence по умолчанию установлен в false именно для того, чтобы поведение оставалось согласованным, если вы когда-либо вернётесь к Conservative Mode.
3. Обнаружение основной структуры
Группа: === SMC / Structure Detection ===
| Параметр | По умолчанию | Что контролирует |
|---|---|---|
| SwingWing | 3 | Количество баров с каждой стороны свечи, необходимое для подтверждения её как swing high/low. Меньше = больше (но более шумных) свингов; больше = меньше, но более значимых свингов. |
| SwingLookback | 100 | Глубина поиска предыдущей swing-точки при проверке дивергенции или структуры снятия ликвидности. |
| ATRPeriod | 14 | Период ATR, используемый для масштабирования почти всех порогов, связанных с расстоянием, в индикаторе (displacement, exhaustion, absorption, divergence-swing filters). |
| OBDisplacementMult | 1.0 | Минимальное отношение размера тела свечи к ATR, при котором свеча может квалифицироваться как свеча импульсного движения ордер-блока. |
| OBMaxWickRatio | 0.3 | Максимальная доля диапазона свечи импульсного движения, которая может приходиться на тень (0–1). Фильтрует свечи с большим диапазоном, но преимущественно состоящие из тени, чтобы они не считались настоящим displacement. |
| SDMoveMultiple | 3.0 | Сколько «базовых» диапазонов свечи должен достигнуть последующий взрывной ход, чтобы квалифицироваться как зона спроса/предложения (раздел 6). |
| EquilibriumBandPct | 0.05 | Ширина зоны equilibrium вокруг уровня 50% обнаруженного диапазона. |
4. Детекторы подтверждения
Группы: === Exhaustion Detection === , === Absorption Detection === , === Delta Divergence === , === Delta (Native Tick) ===
| Параметр | По умолчанию | Что контролирует |
|---|---|---|
| EnableExhaustion | true | Главный переключатель детектора истощения. |
| ExhaustionWickMult | 0.6 | Минимальное отношение размера тени к диапазону свечи для квалификации свечи как истощения. |
| ExhaustionBodyMult | 0.3 | Максимальное отношение размера тела к диапазону, допустимое вместе с такой тенью. |
| EnableAbsorption | true | Главный переключатель детектора абсорбции. |
| AbsorptionVolFactor | 1.5 | Минимальное отношение объёма свечи к среднему объёму для квалификации как абсорбции. |
| AbsorptionRangeFactor | 0.8 | Максимальное отношение диапазона к ATR (абсорбция = высокий объём при небольшом диапазоне). |
| AbsorptionRejectPct | 0.2 | Минимальная доля отклоняющей тени, необходимая для подтверждения. |
| EnableDivergence | true | Главный переключатель детектора дивергенции — оставляйте включённым даже при отключённом DrawDivergenceMarks (раздел 2). |
| DrawDivergenceMarks | false (данная сборка) | Чисто визуальная настройка — показывает/скрывает маркеры DIV_ на графике. Не влияет на генерацию сигналов. |
| DivergenceMinSwingATR | 1.0 | Минимальная разница между swing-точками в ATR, необходимая перед тем, как две swing-точки вообще будут сравниваться на дивергенцию. Отфильтровывает свинги уровня рыночного шума. |
| MaxTickBars | 50 | Сколько последних баров могут использовать реальный buy/sell tick-delta для дивергенции. Для более старых баров автоматически используется raw tick-volume. |
5. Кластерный конфлюэнс
Группа: === Cluster Confluence (both modes) ===
| Параметр | По умолчанию | Что контролирует |
|---|---|---|
| UseClusterScoring | true | Определяет, получают ли несколько одновременных подтверждений на одной свече дополнительный бонус к оценке. |
| MinClusterSignals | 3 | Сколько подтверждений должны одновременно совпасть для активации бонуса. |
| ClusterBonusScore | 2 | Размер бонуса, добавляемого к оценке сигнала. |
Это применяется в обоих режимах — в Range-Bound Mode кластерный бонус участвует в фильтре RangeBoundMinScore , описанном в разделе 2.
6. Зоны спроса и предложения
Группа: === Supply & Demand Zones ===
| Параметр | По умолчанию | Что контролирует |
|---|---|---|
| DrawSupplyDemandZones | true | Главный переключатель механизма отрисовки зон. |
| SDLookback | 100 | Глубина поиска паттернов «база + импульсное движение». |
| SDMaxBaseCandles | 4 | Максимальное количество свечей «базы» (консолидации), разрешённое перед импульсным движением. |
| SDDisplacementMult | 0.5 | Минимальное отношение тела к ATR для импульсного движения от зоны. Это отдельный и более мягкий параметр по сравнению с OBDisplacementMult — зоны и ордер-блоки определяются независимо. |
| SDMaxZonesShown | 3 | Ограничивает количество одновременно отображаемых зон на графике. |
| SupplyZoneColor / DemandZoneColor | Red / Blue | Цвета зон на графике. |
Активная (ещё не отработанная) зона спроса или предложения удовлетворяет структурной половине фильтра Range-Bound Mode (раздел 2) точно так же, как и ордер-блок.
7. Фильтр старшего таймфрейма
Группа: === Higher-Timeframe Confirmation ===
| Параметр | По умолчанию | Что контролирует |
|---|---|---|
| UseHTFFilter | true | Определяет, требуется ли согласование направления старшего таймфрейма перед генерацией сигнала. |
| HTFTimeframe | H4 | Старший таймфрейм для проверки. |
| HTFLookbackBars | 20 | Количество закрытых H4-свечей назад, используемых для определения тренда. |
| HTFNeutralPct | 0.05 | Насколько близким к горизонтальному должен быть HTF-тренд, чтобы считаться нейтральным (не блокировать ни long, ни short). |
Этот фильтр всегда использует последнюю закрытую свечу старшего таймфрейма (никогда текущую формирующуюся), поэтому он не может перерисовываться.
8. Фильтр торговой сессии
Группа: === Session Filter (approximate UTC windows, NOT DST-adjusted) ===
| Параметр | По умолчанию | Что контролирует |
|---|---|---|
| AllowedSession | SESSION_ALL | Ограничивает сигналы определённой сессией: SESSION_ALL , SESSION_LONDON , SESSION_NEWYORK или SESSION_LONDON_NY . |
| UTCOffsetHours | 0 | Корректировка, если серверное время вашего брокера не соответствует UTC. |
Фактически внутри проверяются следующие окна:
London = 08:00–16:00 UTC
New York = 13:00–21:00 UTC
9. Cooldown сигнала и устаревание зоны
| Параметр | По умолчанию | Группа | Что контролирует |
|---|---|---|---|
| SignalCooldownBars | 5 | Signal Cooldown | Минимальное количество баров (или, если цена не прошла достаточное расстояние, минимальное ценовое расстояние) между двумя сигналами в одной зоне, чтобы один и тот же уровень не генерировал сигналы повторно. |
| MaxBarAgeForSignal | 25 | Stale Zone Decay | Максимальный возраст ордер-блока, при котором он ещё считается допустимой структурой для нового сигнала. Именно этот параметр определяет, появится ли стрелка вообще — он отличается от настройки времени оповещения, описанной в разделе 13. |
10. Протокол управления рисками
Группа: === Fibonacci Extension Auto-Targets ===
После обнаружения бычьего или медвежьего ордер-блока график автоматически отображает TP1 / TP2 / TP3 (расширения Fibonacci, по умолчанию 1.618 / 2.618 / 4.236) и эталонную линию BE .
Правило, буквально указанное на графике: переведите Stop-Loss в безубыток (break-even).
| Параметр | По умолчанию |
|---|---|
| EnableFibTargets | true |
| FibTP1 / FibTP2 / FibTP3 | 1.618 / 2.618 / 4.236 |
| FibTP1Color / FibTP2Color / FibTP3Color | Yellow / Orange / Red |
| TrailBEColor | White |
Настройка отображения опционов
| Параметр | По умолчанию | Что делает |
|---|---|---|
| Min_OI_Threshold | 100 | Минимальный open interest, необходимый для учёта страйка в BSL/SSL. |
| Min_Volume_Threshold | 200 | Минимальный объёмный фильтр для уровней на основе опционов. |
| Max_Pain_Buffer | 5 | Допустимый диапазон (в страйках) вокруг рассчитанного уровня Max Pain. |
| Max_Strikes_Processed | 100 | Ограничивает количество обрабатываемых страйков; сначала загружаются ближайшие к цене. |
| Max_Battle_Zones_Shown | 5 | Ограничивает число отображаемых уровней battle zones с высоким OI. |
| Refresh_Hotkey | R | Нажмите эту клавишу на графике для принудительного немедленного обновления опционов. |
| Auto_Refresh_Seconds | 60 | Как часто индикатор проверяет, требуется ли обновление; это не то же самое, что RefreshIntervalHours . |
| UseOptionsConfluence | true | Главный переключатель бонуса опционного конфлюэнса к оценке (в обоих режимах). |
| OptionsConfluenceATRMult | 0.5 | Допуск по близости (в ATR) к ключевому уровню опционов, при котором активируется бонус. |
| OptionsConfluenceBonus | 1 | Размер бонуса. |
12. Автоматические фундаментальные данные и сентимент
Оба показателя оцениваются по шкале 0–100:
-
Fundamental score: 0 = медвежий фактор для золота, 100 = бычий фактор для золота.
-
Sentiment score: 0 = экстремальный страх, 100 = экстремальная жадность.
-
Значение по умолчанию / нейтральное значение = 50 для обоих показателей.
Это гибридные оценки, а не полностью автоматические. Даже при UseAutoFundamentals = true некоторые компоненты не имеют бесплатного публичного источника данных и поэтому всегда должны вводиться вручную:
| Ручной параметр | Что это | Где получать |
|---|---|---|
| ManualFedStance | 0 = очень ястребиная позиция … 100 = очень голубиная | Ваша собственная оценка — точного числового источника нет |
| ManualCmeCutProb | Вероятность снижения ставки на следующем заседании CME FedWatch (0–100) | CME FedWatch Tool на cmegroup.com |
| ManualNFPActual / ManualNFPExpected | Non-Farm Payrolls, фактическое значение против консенсуса (тыс.) | Фактические данные — BLS; консенсус — не государственные данные |
| ManualADPActual / ManualADPExpected | ADP employment, фактическое значение против консенсуса (тыс.) | По той же логике, что и NFP |
| ManualGeoScore | Геополитическая напряжённость, 0–100 | Ваша собственная оценка |
| BPR_USBanksLong / BPR_USBanksShort | CFTC Bank Participation Report, COMEX Gold | Ежемесячные Bank Participation Reports на cftc.gov |
Получение API-ключа FRED
-
Бесплатно зарегистрируйтесь на fred.stlouisfed.org/docs/api/api_key.html .
-
Вставьте ключ в FRED_API_Key . Он требуется только для компонента баланса ФРС.
Добавление необходимых URL в список разрешённых
В MT5: Tools → Options → Expert Advisors → установите флажок "Allow WebRequest for listed URL:" → добавьте каждый используемый домен:
https://publicreporting.cftc.gov https://www.jmbullion.com https://api.stlouisfed.org https://api.bls.gov https://lab.flashalpha.com
