Смотри, как бесплатно скачать роботов
Ищи нас в Telegram!
Ставь лайки и следи за новостями
Интересный скрипт?
Поставь на него ссылку - пусть другие тоже оценят
Понравился скрипт?
Оцени его работу в терминале MetaTrader 5
Просмотров:
44
Рейтинг:
(2)
Опубликован:
MQL5 Фриланс Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу

Stormbreaker ADX — это советник для MetaTrader 5, который сочетает в себе определение направления движения по индикатору Supertrend, оценку силы тренда по индикатору ADX и анализ направленности линий +DI и −DI. Он анализирует сигналы на основе закрывшихся свечей, определяет размер позиций исходя из фиксированного соотношения капитала и риска и устанавливает защитный стоп-ордер на основе показателя ATR.

Исходный код, доступный для скачивания, предназначен для изучения, тестирования и модификации. Советник не гарантирует прибыль; перед тем как применять его в реальных условиях, протестируйте его на данных вашего брокера и с учетом спецификаций контракта.

Рисунок_01_Поток_сигналов

Рисунок 1. Фильтры входа оцениваются последовательно в начале новой свечи на таймфрейме сигнала.


1. Обзор стратегии

Темп-фрейм сигнала по умолчанию — H4. На каждом новом баре H4 советник считывает предыдущий завершённый бар (сдвиг 1), вычисляет пользовательский индикатор Supertrend на основе ATR и считывает значения ADX, +DI, −DI и ATR. Сделка рассматривается только в том случае, если направление Supertrend и направление движения рынка совпадают, а ADX достигает порогового значения для входа.

Компоненты По умолчанию Назначение
Таймфрейм сигнала H4 Таймфрейм оценки сигнала; входы проверяются один раз на каждый новый бар.
Supertrend ATR 10, коэффициент 3,0 Определяет направление текущего тренда.
ADX / DMI ADX 14; пороговое значение для входа 23 Фильтрует силу тренда и подтверждает направление с помощью +DI и −DI.
Пороговое значение силы выхода ADX ниже 18 Закрывает управляемую позицию, когда сила тренда ослабевает ниже уровня выхода.
Начальный стоп 2 × ATR(10) Размещает стоп от цены закрытия завершенного сигнального бара, а затем выравнивает его в соответствии с ценовыми правилами брокера.
Бюджет риска 0,5% от текущего капитала Рассчитывает объем на основе предполагаемого убытка между текущей котировкой входа и стопом.
Тейк-профит Нет Фиксированной цели тейк-профита нет; выход из позиции осуществляется на основе сигнала/силы сигнала или по стоп-лоссу.


2. Правила входа и выхода

Действие Условия
Открыть позицию на покупку Вход по сделке «Покупка» разрешен; индикатор Supertrend указывает на бычий тренд; ADX ≥ 23; +DI > −DI.
Открытие позиции на продажу Возможность открытия позиции на продажу; Supertrend указывает на медвежий тренд; ADX ≥ 23; −DI > +DI.
Закрытие открытой позиции ADX < 18, либо направление Supertrend меняется в сторону, противоположную позиции. Появление противоположного сигнала, соответствующего критериям, также приводит к закрытию/смене направления управляемой позиции.

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


3. Расчет объема на основе риска

Перед отправкой ордера Stormbreaker оценивает убыток на один лот от текущей котировки входа (Ask/Bid) до предлагаемого стопа с помощью функции OrderCalcProfit . Он делит 0,5% риск-бюджета собственного капитала на этот расчётный убыток на один лот, затем округляет объём в меньшую сторону до допустимого брокерского шага объёма и применяет ограничение на максимальный объём. Кроме того, он проверяет доступную маржу. Если минимальный допустимый лот превысит бюджет риска или маржи недостаточно, советник пропускает сделку.

double risk_cash = AccountInfoDouble(ACCOUNT_EQUITY) * 0.5 / 100.0; double one_lot_loss = MathAbs(one_lot_profit); double volume = MathFloor((risk_cash / one_lot_loss) / volume_step) * volume_step; volume = MathMin(volume, MaxVolume);

Фрагмент упрощён для наглядности. Полный исходный код включает проверки на недопустимые цены, соответствие тиков и объёмов, расстояния до стоп-ордеров брокера и маржу. Поскольку стоп-ордер рассчитывается на основе цены закрытия предыдущей свечи, а для определения размера позиции используется текущая котировка входа, проскальзывание, гэпы и издержки исполнения могут привести к тому, что фактический убыток будет отличаться от 0,5 %. Это целевой показатель риска, а не гарантированный максимальный убыток.

Рисунок_02_Остановка_и_выход

Рисунок 2. Уровни стопа рассчитываются на основе ATR; у советника нет фиксированной цели по прибыли.


4. Входные параметры и значения по умолчанию

Параметры Значение по умолчанию Значение
SignalTimeframe PERIOD_H4 Таймфрейм, используемый для сигналов.
Коэффициент Supertrend 3,0 Коэффициент ATR, используемый индикатором Supertrend.
SupertrendATRPeriod 10 Период ATR для Supertrend и начального стопа.
ADXPeriod 14 Период расчёта ADX/DMI.
EntryADX 23,0 Минимальное значение ADX для открытия новой позиции.
ExitADX 18,0 Уровень ADX, при достижении которого открытая позиция закрывается.
StopATRMultiple 2,0 Коэффициент ATR, используемый для установки начального стопа.
Максимальный объём 100,0 Верхний предел по лотам; фактические лимиты по символам по-прежнему действуют.
DeviationPoints 20 Максимальное отклонение цены, передаваемое в торговом запросе, в пунктах.
EnableBuy / EnableSell true / true Включить или отключить каждое направление.
MagicNumber 51003 Идентификатор, используемый для определения управляемой позиции советника.

В настоящее время процент риска 0,5% является фиксированной константой в исходном коде, а не значением, вводимым пользователем.


5. Пример кода сигнала на MQL5

В следующем фрагменте показаны условия входа по закрытому бару, используемые советником:

bool long_signal = EnableBuy && direction < 0 && adx >= EntryADX && plus_di > minus_di; bool short_signal = EnableSell && direction > 0 && adx >= EntryADX && minus_di > plus_di; if(long_signal) STOpenPosition(true, bar.close - StopATRMultiple * atr, 0.0, MagicNumber, "ST ADX long", MaxVolume, DeviationPoints); else if(short_signal) STOpenPosition(false, bar.close + StopATRMultiple * atr, 0.0, MagicNumber, "ST ADX short", MaxVolume, DeviationPoints); else if(position != 0 && (adx < ExitADX || (position > 0 && direction > 0) || (position < 0 && direction < 0))) STClosePosition(MagicNumber);

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


6. Снимок результатов брокерского бэктеста

Приведённые ниже рисунки взяты из отчётов Тестера стратегий MetaTrader 5 для пары XAGUSD на таймфрейме H4. Начальные депозиты различаются, поэтому наряду с чистой прибылью показана чистая доходность. Качество тиковой истории также варьируется и особенно ограничено для Fusion Markets.

Брокер Конец периода Начальный депозит Чистая прибыль Чистая доходность Максимальное сокращение собственного капитала Коэффициент прибыльности Коэффициент Шарпа Торговые операции Реальные тики
IC Markets 23.09.2026 1 000 000 долларов США 154 482,51 доллара США 15,45 % 19,40 % 1,12 0,50 520 32 %
BlackBull Markets 24.09.2026 1 000 000 долларов США 225 766,54 долларов США 22,58 % 5,00 % 1,45 1,00 196 41 %
Fusion Markets 23.09.2026 100 000 долларов США 26 680,57 долларов США 26,68 % 8,97 % 1,26 2,22 374 4 %

Рисунок_03_Снимок_результатов_бэктеста

Рисунок 3. Исторические результаты по конкретным брокерам из предоставленных отчетов. В отчете Fusion использовались только 4% реальных тиков.


Ограничения тестирования: это исторические результаты Тестера стратегий, а не проверенные результаты реальной торговли. Отчетные периоды заканчиваются в слегка разные даты; начальные депозиты и параметры брокеров различаются. Качество моделирования варьируется от 4% до 41% реальных тиков. Эти цифры не являются напрямую сопоставимыми и не предсказывают будущие результаты. Повторите тесты с учетом выбранного брокера, характеристик символа, спреда, комиссий, свопов и данных о тиках.


7. Совместимость и практическое применение

  • Платформа: MetaTrader 5; язык программирования: MQL5.
  • Прикрепите советник к графику торгуемого инструмента; таймфрейм сигнала выбирается с помощью параметра SignalTimeframe.
  • Внешние файлы пользовательских индикаторов не требуются. Исходный код использует стандартную библиотеку Trade\Trade.mqh и встроенные данные ATR/ADX.
  • Используйте уникальный магический номер для каждого экземпляра советника. Избегайте запуска других стратегий или ручной торговли по тому же инструменту на счетах с неттингом, где позиции суммируются.
  • Сначала проверьте в Тестере стратегий и на демо-счете минимальный объем, размер тика, расстояние до стопа и маржинальные требования конкретного брокера.


Предупреждение о рисках: автоматическая торговля сопряжена со значительным риском. Стоп-лосс не может гарантировать цену выхода при проскальзывании или на быстро меняющихся рынках. Результаты бэктеста, демо-торговли и анализа исторических данных не гарантируют будущих результатов. Вы несете ответственность за оценку советника и его настроек перед использованием.

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

Turtle Breakout Indicator Tested on Gold: Profitable in 2025 and 2026 (70) Turtle Breakout Indicator Tested on Gold: Profitable in 2025 and 2026 (70)

Прорывы по стратегии Дончиана в стиле «Черепаха» на рынке золота, за которыми следовали сразу три варианта выхода: скользящий стоп по ATR, канал выхода «Черепаха» и фиксированная цель. Тестирование на исторических данных по паре XAUUSD на графиках H1 и H4 за 2025 и 2026 годы показало, что все двенадцать комбинаций были прибыльными. Без перерисовки, с буферами для советника.

ATS Confirmed Swings - non-repainting swing highs and lows ATS Confirmed Swings - non-repainting swing highs and lows

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

ImpulseCandle - impulse bar marker with ATR body filter and volume confirmation ImpulseCandle - impulse bar marker with ATR body filter and volume confirmation

Выделяет импульсные свечи: тело не менее ATR × множитель, тело не менее заданной доли диапазона свечи, закрытие вблизи экстремума, опциональное подтверждение объемом тиков. Зеленая стрелка ниже — бычий импульс, красная выше — медвежий. Только закрытые бары, без перерисовки. Сигналы находятся в двух буферах, поэтому советник может считывать их с помощью iCustom.

PropGuard 1.02 - account risk manager for prop firm accounts PropGuard 1.02 - account risk manager for prop firm accounts

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