Supply Demand RSJ PRO — Руководство пользователя (MetaTrader 5, версия 1.10)
Доступно в MQL5 Маркете: Supply Demand RSJ PRO
Предупреждение о рисках. Торговля связана с риском убытков. Этот индикатор отмечает ценовые зоны на графике; он не предсказывает рынок, не открывает сделки и не гарантирует никакого результата. Используйте его вместе с собственным анализом и управлением рисками и сначала протестируйте на демо-счете.

Supply Demand RSJ PRO строит зоны предложения (supply) и спроса (demand) по свинг-максимумам и свинг-минимумам, делит каждую зону на пять классов (weak, strong, verified, proven, turncoat), считает, сколько раз цена ее ретестировала, переворачивает зоны, пробитые один раз, и удаляет зоны, пробитые дважды. Перекрывающиеся зоны можно объединять, каждая зона может иметь текстовую метку, а при входе цены в зону может срабатывать алерт. Работает на любом символе, у любого брокера и на любом таймфрейме. Сделки не открывает.
1. Установка и быстрый старт
- Купите или арендуйте индикатор в MQL5 Market и установите его на вкладке Market терминала (Toolbox → Market → Purchased → Install).
- Откройте график и перетащите на него Supply Demand RSJ PRO из Навигатора (Indicators → Market).
- Оставьте параметры по умолчанию или настройте их (раздел 11) и нажмите OK.
Индикатор анализирует последние 3000 баров (параметр NUM CANDLES FOR ANALYSIS) и перестраивает все зоны на первом тике каждого нового бара; если история еще не готова, он повторяет попытку на следующих тиках. При включенном Show Labels? (по умолчанию) включается сдвиг графика (chart shift), чтобы меткам хватало места справа от последнего бара; если до этого он был выключен, то при удалении индикатора он снова выключается (если на графике не осталось другой копии).
Быстрый старт
- Смотрите класс на метке: зоны Proven и Verified уже выдержали ретесты, зоны Strong образованы крупным свингом, который ни разу не ретестировался, зоны Weak образованы малым свингом, зоны Turncoat были пробиты один раз и сменили сторону.
- Цвет меток по умолчанию — черный. На темном графике измените Labels Font Color (например, на белый или серебристый).
- Чтобы разгрузить график, в первую очередь выключите Show Weak Zones?.
- Чтобы получать уведомление о входе цены в зону, настройте Trigger Alert When Enter Zone? (раздел 10).

2. Легенда графика
| На графике | Значение |
|---|---|
| Закрашенный прямоугольник выше цены (малиновый / темно-бордовый / орхидея / сине-фиолетовый) | Зона предложения. Цвет по классу: Verified малиновый, Proven темно-бордовый, Strong орхидея, Weak сине-фиолетовый. |
| Закрашенный прямоугольник ниже цены (зеленый / королевский синий / оливковый / васильковый) | Зона спроса. Цвет по классу: Verified зеленый, Proven королевский синий, Strong оливковый, Weak васильковый. |
| Закрашенный темно-оранжевый прямоугольник | Зона turncoat («пробитая»): пробита один раз и теперь действует с противоположной стороны (бывшее предложение как спрос или наоборот). |
| Текст вида Verified Demand Zone, Retests = 2 | Метка зоны (опционально), рисуется справа от последнего бара, в верхней трети зоны. |
Каждый прямоугольник начинается на баре свинга, который его образовал, и заканчивается на текущем баре. Наведите курсор на прямоугольник, чтобы увидеть всплывающую подсказку, например SDRSJ#123456#S4 Type = Verified, Test Count = 2 (S = спрос, R = предложение). Имена всех объектов индикатора начинаются с SDRSJ# и числа, своего для каждой копии индикатора; объекты рисуются на заднем плане, позади свечей.
3. Как появляются зоны

- Зоны строятся вокруг точек разворота рынка (свинг-максимумов и свинг-минимумов), найденных в последних NUM CANDLES FOR ANALYSIS барах.
- Точка разворота подтверждается только после закрытия нескольких баров справа от нее, поэтому новая зона появляется через несколько баров после разворота и никогда — на формирующемся баре.
- При включенном Extend Zones? зона охватывает немного больше, чем тень бара разворота.
- ATR Factor делает зоны шире или уже; фрактальные коэффициенты задают, насколько крупным должен быть разворот, чтобы создать зону (раздел 11).
4. Классы зон

| Класс (метка) | Значение | Цвет по умолчанию (предложение / спрос) | Параметр-фильтр |
|---|---|---|---|
| Weak (слабая) | Зона малого разворота, ни разу не ретестировалась. | Сине-фиолетовый / Васильковый | Show Weak Zones? |
| Strong (сильная) | Зона крупного разворота, ни разу не ретестировалась и не пробивалась — нетестированная зона. | Орхидея / Оливковый | Show Untested Zones? |
| Verified (подтвержденная) | От 1 до 3 ретестов. | Малиновый / Зеленый | показывается всегда |
| Proven (проверенная) | 4 ретеста и более. | Темно-бордовый / Королевский синий | показывается всегда |
| Turncoat (перевернутая) | Пробита один раз и сменила сторону, после пробоя ретестов не было. | Темно-оранжевый / Темно-оранжевый | Show Broken Zones? |
Зона, которая перевернулась, а затем была ретестирована, снова получает класс Verified или Proven. Новая зона может сначала появиться как Weak и позже стать Strong, когда ее разворот подтвердится как крупный. Классы обновляются на каждом новом баре.
5. Ретесты, пробои и зоны turncoat

Ретест. Ретест засчитывается, когда цена позже снова разворачивается внутри зоны — на той стороне, на которой действует зона.
Пробой. Зона предложения пробита, когда более поздний бар торгуется выше ее верхней границы (максимум выше верха); зона спроса — когда бар торгуется ниже ее нижней границы. Тени учитываются.
- Зона weak удаляется при первом же пробое.
- Зона strong, verified или proven, пробитая один раз, переворачивается: она становится зоной turncoat с противоположной стороны (пробитая зона предложения теперь читается как спрос и наоборот), а ее счетчик ретестов обнуляется.
- Второй пробой без ретеста между ними удаляет зону. Ретест после переворота сбрасывает это условие, поэтому хорошо отрабатываемый уровень может переворачиваться не один раз.
Зоны turncoat рисуются темно-оранжевым цветом (с меткой Turncoat), пока не будут ретестированы на своей новой стороне.
6. Предложение или спрос?
Будет ли зона нарисована как предложение или как спрос, зависит от того, где сейчас находится цена относительно зоны, а не от разворота, который ее образовал: зона ниже цены считается зоной спроса, зона выше цены — зоной предложения. Поэтому, когда цена проходит через зону, ее сторона может смениться несколькими барами позже.
7. Объединение перекрывающихся зон

При включенном Merge Zones? (по умолчанию) перекрывающиеся зоны объединяются в одну более широкую зону; счетчики ретестов суммируются, а метка показывает итоговый класс.
Выключите этот параметр, чтобы видеть каждую зону свинга отдельно.
8. Метки
При включенном Show Labels? каждая видимая зона получает текстовую метку: класс + сторона, плюс число ретестов для зон verified и proven, например:
- Weak Supply Zone
- Strong Demand Zone
- Verified Supply Zone, Retests = 2
- Proven Demand Zone, Retests = 5
- Turncoat Demand Zone
Метки выводятся шрифтом Courier New, размером Labels Font Size (по умолчанию 9) и цветом Labels Font Color (по умолчанию черный). Они располагаются примерно в двух барах справа от текущего бара; для этого индикатор включает сдвиг графика.
9. Цвета

Цвета зон задаются на вкладке Colors свойств индикатора (а не на вкладке Inputs). Каждый элемент соответствует одному классу и одной стороне:
| Элемент вкладки Colors | Используется для | По умолчанию |
|---|---|---|
| Broken Supply Zone | Зона turncoat, показанная как предложение | Темно-оранжевый |
| Proven Supply Zone | Предложение proven | Темно-бордовый |
| Verified Supply Zone | Предложение verified | Малиновый |
| Strong Supply Zone | Предложение strong (нетестированное) | Орхидея |
| Weak Supply Zone | Предложение weak | Сине-фиолетовый |
| Weak Demand Zone | Спрос weak | Васильковый |
| Strong Demand Zone | Спрос strong (нетестированный) | Оливковый |
| Verified Demand Zone | Спрос verified | Зеленый |
| Proven Demand Zone | Спрос proven | Королевский синий |
| Broken Demand Zone | Зона turncoat, показанная как спрос | Темно-оранжевый |
Используется только цвет; стиль и толщина ни на что не влияют. Прямоугольники закрашиваются и рисуются на заднем плане.
10. Алерты

| Параметр | Срабатывает, когда | Сообщение |
|---|---|---|
| Trigger Alert When Enter Zone? | текущий Bid входит в видимую зону (низ ≤ цена < верх) | Entered into Demand Zone. или Entered into Supply Zone. |
Режимы: NONE (по умолчанию, без алерта), POPUP, SOUND, NOTIFICATION (push-уведомление на смартфон), POPUP_SOUND, NOTIFICATION_SOUND, POPUP_NOTIFICATION, POP_SOUND_NOTIFICATION. Trigger Alert Sound Type выбирает один из 13 звуков терминала (по умолчанию alert).
Текст содержит название продукта, символ и таймфрейм, например RSJ Supply Demand PRO: EURUSD | PERIOD_H1 | Entered into Demand Zone.
Как часто срабатывает:
- Проверка выполняется на каждом тике. Алерт срабатывает один раз — когда цена входит в зону; пока цена остается внутри, он не повторяется. После выхода цены из зоны новый вход может снова вызвать алерт.
- После алерта входы игнорируются, пока с момента этого алерта не пройдет Delay between alerts (seconds) (по умолчанию 180) секунд по часам. Вход, произошедший во время задержки, пропускается, а не отправляется позже.
- Один алерт относится к одной зоне (первой найденной зоне, в которую цена только что вошла).
- Проверяются только видимые зоны: классы, скрытые фильтрами Show ... Zones?, алертов не вызывают.
- Алерт не отправляется, если индикатор запущен, когда цена уже находится внутри зоны, а также если зона появилась вокруг цены при пересчете (например, из-за нового свинга или объединения).
Для push-уведомлений нужен MetaQuotes ID в Tools → Options → Notifications. Звуковые режимы воспроизводят звук, не приостанавливая работу индикатора. Тестер стратегий не показывает всплывающие окна, не воспроизводит звуки и не отправляет уведомления.
11. Параметры
Заголовки ниже — это строки-разделители вкладки Inputs (у них нет значения для настройки).
ZONES_VIEW_CONFIG
| Параметр | По умолчанию | Описание |
|---|---|---|
| Show Weak Zones? | true | Показывает зоны Weak. |
| Show Untested Zones? | true | Показывает зоны Strong (нетестированные). |
| Show Broken Zones? | true | Показывает зоны Turncoat. |
| Merge Zones? | true | Объединяет перекрывающиеся зоны (раздел 7). |
| Extend Zones? | true | Зона охватывает немного больше, чем тень бара разворота (раздел 3). |
Зоны Verified и Proven показываются всегда.
ZONES_CALC_CONFIG
| Параметр | По умолчанию | Описание |
|---|---|---|
| NUM CANDLES FOR ANALYSIS | NUM_CANDLES_3000 | Количество баров для поиска зон: от NUM_CANDLES_500 до NUM_CANDLES_5000 с шагом 500. |
| ATR Period | 7 | Подстраивает размер зоны под недавнюю волатильность символа. |
| ATR Factor | 0.75 | Большие значения дают более широкие зоны и больше объединений. |
| Fast Fractal Factor | 3.0 | Размер малых разворотов, создающих зоны: большие значения оставляют только более крупные развороты. |
| Slow Fractal Factor | 8.0 | Размер крупных разворотов (класс Strong): большие значения оставляют только более крупные развороты. |
Фрактальные коэффициенты используются как целые числа (3,5 работает как 3; значения меньше 1 работают как 1).
ZONES_LABEL_CONFIG
| Параметр | По умолчанию | Описание |
|---|---|---|
| Show Labels? | true | Рисует текстовые метки и включает сдвиг графика. |
| Labels Font Color | Black | Цвет меток. |
| Labels Font Size | 9 | Размер шрифта меток. |
ALERT_CONFIG
| Параметр | По умолчанию | Описание |
|---|---|---|
| Trigger Alert When Enter Zone? | NONE | Режим алерта (раздел 10). |
| Trigger Alert Sound Type | alert | alert, alert2, connect, disconnect, email, expert, news, ok, request, stops, tick, timeout, wait. |
| Delay between alerts (seconds) | 180 | Минимальный интервал между двумя алертами в секундах по часам. |
12. Буферы для советников / панелей
Индикатор предоставляет 8 буферов, которые можно читать через iCustom + CopyBuffer . В Окне данных они скрыты. Буферы 0-3 записываются при перестроении зон на новом баре; буферы 4-7 обновляются на каждом тике.
| Буфер | Содержимое | Значения | Пусто |
|---|---|---|---|
| 0 | Медленный свинг-минимум | цена минимума на баре подтвержденного медленного (крупного) свинг-минимума | 0 |
| 1 | Медленный свинг-максимум | цена максимума на баре подтвержденного медленного свинг-максимума | 0 |
| 2 | Быстрый свинг-минимум | цена минимума на баре подтвержденного быстрого (малого) свинг-минимума | 0 |
| 3 | Быстрый свинг-максимум | цена максимума на баре подтвержденного быстрого свинг-максимума | 0 |
| 4 | Ближайшая зона выше - верх | верх ближайшей видимой зоны, расположенной целиком выше Bid (с самым низким низом) | 0 |
| 5 | Ближайшая зона выше - низ | низ той же зоны, что и в буфере 4 | 0 |
| 6 | Ближайшая зона ниже - верх | верх ближайшей видимой зоны, расположенной целиком ниже Bid (с самым высоким верхом) | 0 |
| 7 | Ближайшая зона ниже - низ | низ той же зоны, что и в буфере 6 | 0 |
Примечания к буферам 4-7:
- Они записываются на баре 0 на каждом тике по текущему Bid. Сдвиг 1 хранит последнее значение предыдущего бара; на более старых барах 0 .
- «Выше» и «ниже» определяются по границам зоны, а не по ее стороне: зона выше цены обычно является зоной предложения, но это может быть и зона спроса, которую цена только что покинула вниз (раздел 6). Учитываются только зоны, расположенные целиком выше или целиком ниже цены: зона, содержащая цену, не выводится, и буферы показывают следующую зону за ней.
- Учитываются только видимые зоны (действуют фильтры Show ... Zones?).
- 0 означает «такой зоны нет» во всех четырех буферах.
Буферы свингов 0-3 равны 0 на последних барах: разворот становится известен только после подтверждения.
Загрузка. Версия из Market устанавливается в MQL5\Indicators\Market\ ; точное имя файла проверьте в Навигаторе. Если после имени не указаны параметры, используются значения по умолчанию. Чтобы изменить параметры, передайте их в порядке раздела 11. Каждая строка-разделитель (ZONES_VIEW_CONFIG, ZONES_CALC_CONFIG, ZONES_LABEL_CONFIG, ALERT_CONFIG) тоже является параметром: передавайте на ее месте пустую строку "" , иначе все последующие значения сместятся. NUM CANDLES FOR ANALYSIS передается числом: 0 = 500, 1 = 1000 … 5 = 3000 … 9 = 5000. Параметры, опущенные в конце, сохраняют значения по умолчанию.
```mql5 // "" = ZONES_VIEW_CONFIG, then show weak = false int h = iCustom(_Symbol, PERIOD_H1, "Market\Supply Demand RSJ PRO", "", false);
double up_top[1], up_bot[1], dn_top[1], dn_bot[1]; if (BarsCalculated(h) > 0) { if (CopyBuffer(h, 4, 0, 1, up_top) == 1 && CopyBuffer(h, 5, 0, 1, up_bot) == 1 && up_top[0] != 0.0) Print("nearest zone above ", up_bot[0], " - ", up_top[0]); if (CopyBuffer(h, 6, 0, 1, dn_top) == 1 && CopyBuffer(h, 7, 0, 1, dn_bot) == 1 && dn_top[0] != 0.0) Print("nearest zone below ", dn_bot[0], " - ", dn_top[0]); } ```
Примечания: индикатор, созданный через iCustom , рисует свои зоны и метки на графике вызывающей программы под собственными именами объектов, поэтому он не стирает зоны копии, запущенной вручную; отключить зоны нельзя, только метки (Show Labels? = false). Перед первым чтением дождитесь BarsCalculated(h) > 0 (история может еще загружаться). Класс, сторона и число ретестов зоны в буферах недоступны — только на графике (метки и всплывающие подсказки).
13. Бесплатная версия и PRO
Бесплатный Supply Demand RSJ Zones строит такие же зоны с фиксированными настройками.
| Supply Demand RSJ Zones (бесплатный) | Supply Demand RSJ PRO | |
|---|---|---|
| Классы | 2: strong (полный цвет) и weak (бледный) | 5: weak, strong, verified, proven, turncoat |
| Метки с классом и числом ретестов | — | да |
| Фильтр по классу | — | weak / нетестированные / turncoat |
| Переключатели объединения и расширения | всегда включены | вкл. / выкл. |
| Анализируемые бары | 300-1500 (по умолчанию 1000) | 500-5000 (по умолчанию 3000) |
| Настройки ATR и фракталов | фиксированные | настраиваемые |
| Цвета | цвет предложения и спроса, оттенок weak автоматически | 10 цветов (класс × сторона) |
| Алерты | — | всплывающее окно, звук, push |
| Буферы | 8 (та же структура); ближайшее предложение выше / спрос ниже, 0 если нет | 8; ближайшая зона целиком выше / ниже, 0 если нет (раздел 12) |
14. Советы
- Меньше лишнего на графике: выключите Show Weak Zones?, затем Show Untested Zones?, чтобы оставить только зоны, которые уже выдержали ретест (плюс turncoat).
- Более широкие или узкие зоны: увеличьте или уменьшите ATR Factor. Более широкие зоны также чаще объединяются.
- Только крупные уровни: увеличьте Fast Fractal Factor, чтобы зоны создавались только более крупными свингами.
- Контекст старшего таймфрейма: откройте индикатор на H4 или D1 рядом с рабочим графиком; зоны старшего таймфрейма на младшем не рисуются.
- Темный график: задайте для Labels Font Color светлый цвет.
- Скорость: 5000 баров на многих графиках могут замедлять терминал на каждом новом баре; обычно достаточно 1000-3000 баров.
- Несколько копий на одном графике: каждая копия использует собственные имена объектов, поэтому две и более копии с разными настройками могут работать на одном графике, не стирая зоны друг друга. Включайте алерт только на одной копии, чтобы избежать дублей.
15. Вопросы и устранение неполадок
- Перерисовывается ли индикатор? Свинги подтверждаются на закрытых барах и никогда не сдвигаются. Однако зоны перестраиваются по истории на каждом новом баре: зона появляется только после подтверждения ее разворота, ее класс может меняться (Weak → Strong при подтверждении медленного свинга, новые ретесты, переворот), а при двойном пробое она удаляется. Формирующийся бар не используется для зон до открытия следующего бара; алерт и буферы 4-7 следуют за текущим Bid.
- Я не вижу меток. Проверьте Show Labels? и Labels Font Color: черные метки не видны на черном графике.
- Зона сменилась с предложения на спрос. Цена закрылась за ней, и она стала зоной turncoat, либо цена перешла на другую сторону зоны (раздел 6).
- Зона исчезла. Она была пробита второй раз без ретеста, либо это была зона weak, пробитая один раз, либо она старше NUM CANDLES FOR ANALYSIS, либо ее класс отфильтрован.
- Почему нет зоны strong возле последних баров? Крупному развороту нужно больше закрытых баров для подтверждения; до этого зона имеет класс Weak — и скрыта, если Show Weak Zones? выключен.
- Как часто приходят алерты? Один раз на каждый вход в зону, не пока цена остается внутри, и не чаще, чем раз в Delay between alerts (seconds) (раздел 10). На коротких таймфреймах увеличьте задержку, чтобы получать меньше алертов.
- Цена внутри зоны, но алерта не было. Цена уже была внутри, когда индикатор был запущен; зона появилась вокруг цены при пересчете; вход произошел во время задержки после предыдущего алерта; или зона скрыта фильтром Show ... Zones? (скрытые зоны алертов не вызывают).
- Тестер стратегий. Работает в визуальном и невизуальном режиме; всплывающие окна, звуки и уведомления в тестере не отправляются.
Поддержка: отправьте автору личное сообщение на MQL5.


