Ставь лайки и следи за новостями
Поставь на него ссылку - пусть другие тоже оценят
Оцени его работу в терминале MetaTrader 5
Turtle Breakout Indicator Tested on Gold: Profitable in 2025 and 2026 (70) - индикатор для MetaTrader 5
- Просмотров:
- 40
- Рейтинг:
- Опубликован:
-
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу
Лаборатория выхода при прорыве: прорывы по индикатору Дончиана с тремя вариантами выхода, отображаемыми рядом
Отмечает прорывы канала Дончиана в стиле «Черепахи» и за каждым из них следует сразу три уровня выхода: скользящий стоп ATR, канал выхода «Черепахи» и фиксированная цель. На панели отображается, какой уровень выхода принес наибольшую прибыль по вашему инструменту, в R, включая спред. Без перерисовки, с буферами для советника.
Почему три варианта выхода
Успех или провал систем прорыва зависит от выхода. Вход прост, и все с этим согласны: цена закрывается выше максимального максимума последних 20 баров — покупаете. А вот дальше начинаются споры. Использовать скользящий стоп по ATR? Применить 10-барный канал выхода «Черепах»? Взять фиксированную прибыль 2R и закрыть позицию?
Каждый индикатор прорыва, который я нашел, выбирает один вариант выхода и отображает его. Я хотел увидеть все три варианта для одних и тех же точек входа на моем собственном символе, прежде чем сделать выбор. Поэтому этот индикатор берет каждый прорыв и параллельно пропускает его через три варианта выхода, а затем выводит результаты рядом друг с другом.
Как определяется прорыв
- Канал входа — это максимальный максимум и минимальный минимум предыдущих InpEntryBars баров (по умолчанию 20, система «Черепах» № 1).
- Сигнал на покупку — это закрытый бар, который закрылся выше верхней границы канала, в то время как предыдущий бар этого не сделал. Сигнал на продажу — это зеркальное отражение. Учитывается только первое закрытие за пределами канала, поэтому сильный тренд не генерирует стрелку на каждом баре.
- Торговая операция начинается при открытии следующего бара. Начальный стоп-лосс устанавливается на расстоянии, равном InpStopATR, умноженному на ATR (2,0 × ATR(20), «2N» по системе «Черепах»).
- Дополнительный фильтр тренда отбирает только прорывы в направлении 200-периодовой EMA. По умолчанию он отключен.
Три варианта выхода
- A. Трейлинг по ATR. Стоп-лосс следует за лучшей ценой с момента входа на расстоянии, равном InpTrailATR, умноженному на ATR (по умолчанию 3,0), и никогда не смещается назад.
- B. Канал выхода «Черепах». Стоп-лосс следует за самым низким минимумом из последних InpExitBars баров для длинной позиции (по умолчанию 10, Система 1) и за самым высоким максимумом для короткой позиции.
- C. Фиксированная цель. Тейк-профит на уровне InpTargetR, умноженном на начальный риск (по умолчанию 2R), с использованием начального стопа.
Каждый результат измеряется в R, где 1R — это расстояние от точки входа до начального стопа. Спред сигнала вычитается как затраты. Стоп-приказ, который цена пробивает с разрывом, исполняется по цене открытия бара, а не по цене стопа. Когда и стоп, и цель находятся внутри одного бара, стоп учитывается, поскольку по одному бару невозможно определить, что произошло первым.
Каждый прорыв оценивается отдельно, поэтому сделки могут пересекаться. Панель представляет собой сравнение выходов по одному и тому же набору входов. Это не симуляция счета с расчетом размера позиции.
Что показывает панель
- Количество прорывов, разбитое на длинные и короткие позиции, а также количество тех, которые все еще открыты.
- Для каждого выхода: закрытые сделки, процент выигрышей, коэффициент прибыльности, среднее значение R и сумма по R.
- Для выхода, который вы выбираете для отображения (InpDrawExit): суммы по длинным и коротким позициям отдельно, чтобы вы могли увидеть, не определяет ли одна из сторон результат.
Выбранный выход также отображается на графике. Каждая сделка обозначена линией входа и результатом в R, а стоп-уровень последней сделки отображается пунктирной линией.
Результаты тестирования на золоте
XAUUSD, данные MetaQuotes-Demo, настройки по умолчанию. Тест за 2025 год охватывает 360 дней до 31 декабря 2025 года. Тест за 2026 год охватывает 260 дней до 18 сентября 2026 года.
| XAUUSD | Сделки | Процент выигрышных сделок | PF | Сумма |
|---|---|---|---|---|
| H4 2025, выход A (ATR-трейл) | 129 | 43,4 % | 1,45 | +23,08R |
| H4 2025, выход B (10-барный канал) | 129 | 41,1 % | 2,34 | +66,20R |
| H4 2025, выход C (цель 2R) | 129 | 45,7 % | 1,68 | +47,83R |
| H4 2026, выход A | 76 | 35,5 % | 1,10 | +3,46R |
| H4 2026, выход B | 76 | 35,5 % | 1,70 | +22,35R |
| H4 2026, выход C | 75 | 38,7 % | 1,26 | +11,99R |
| 1-е полугодие 2025 г., выход A | 465 | 37,6 % | 1,32 | +70,32 руб. |
| 1-е полугодие 2025 г., выход B | 465 | 37,8 % | 1,23 | +51,18R |
| 1-е полугодие 2025 г., выход C | 465 | 37,8 % | 1,21 | +60,32R |
| 1-е полугодие 2026 г., выход A | 270 | 39,6 % | 1,21 | +25,14R |
| 1-е полугодие 2026 г., выход B | 270 | 40,4 % | 1,29 | +35,15R |
| 1-е полугодие 2026 г., выход C | 269 | 38,3 % | 1,23 | +39,06R |
Все двенадцать показателей положительны. На H4 канал выхода «Черепаха» был лучшим вариантом выхода в обоих годах, а трейл ATR — самым слабым. На H1 явного победителя не было: в 2025 году лидировал трейл, а в 2026 году — фиксированная цель. Именно в этом и заключается смысл существования панели. «Лучший выход» менялся в зависимости от таймфрейма и года даже для одного и того же инструмента.
А теперь о том, что важно учесть, прежде чем кто-то начнёт воодушевляться. В 2025 году золото значительно выросло в цене, и это отражено в разбивке. При выходе B на H4 99 длинных позиций принесли +79,4R, а 30 коротких позиций принесли убыток -13,2R. В 2026 году золото колебалось в обе стороны, и обе стороны оказались в плюсе: 42 длинных позиции принесли +14,9R, а 34 коротких позиции — +7,5R.
Чтобы понять, насколько это связано с трендом золота, я применил те же настройки по умолчанию к трём валютным парам на графике H4 за тот же период 2026 года:
| H4 2026 | Сумма выхода A (PF) | Сумма по выходу B (PF) | Сумма выхода C (PF) |
|---|---|---|---|
| EURUSD | -11,74R (0,68) | -3,86R (0,89) | -5,97R (0,88) |
| GBPUSD | -9,21R (0,77) | -3,15R (0,91) | +6,90R (1,13) |
| USDJPY | +1,30R (1,03) | +0,73R (1,02) | +3,03R (1,06) |
От нулевого до отрицательного. Для прорывов нужен рынок с трендом, и в этот период у золота он был, а у этих пар — в основном нет. Поэтому я интерпретирую данные по золоту как «прорывы сработали, пока у золота был тренд», а не как доказательство того, что они всегда будут срабатывать.
Рис. 1. XAUUSD, график H4, конец июля —середина сентября 2026 года: стрелки прорыва, канал входа и результат каждой сделки при выходе B
Рис. 2. Панель для XAUUSD H4 в 2025 и 2026 годах с нанесённой точкой выхода B
Входные данные
| Входные данные | По умолчанию | Что делает |
|---|---|---|
| InpEntryBars | 20 | Длина канала входа в барах |
| InpExitBars | 10 | Длина канала выхода для выхода B |
| InpATRPeriod | 20 | Период ATR |
| InpStopATR | 2,0 | Начальный стоп, кратные ATR |
| InpTrailATR | 3,0 | Расстояние следования, кратное ATR |
| InpTargetR | 2,0 | Выход C: тейк-профит, кратные R |
| InpUseTrend | false | Сохранять только прорывы в сторону тренда EMA |
| InpTrendEMA | 200 | Период EMA тренда, таймфрейм графика |
| InpDrawExit | A. Трейлинг по ATR | Точка выхода, нарисованная на графике и отправленная в буферы с 6 по 9 |
| InpDaysBack | 365 | Количество дней истории в отчёте |
| InpDrawDays | 60 | Количество дней, в течение которых были нарисованы торговые линии |
| InpShowPanel | true | Показать панель |
| InpPanelCorner | слева вверху | Угол панели |
| InpAlertPopup | true | Всплывающее предупреждение о новом прорыве |
| InpAlertPush | false | Push-уведомление о новом прорыве |
Для классической системы Turtle System 2 установите InpEntryBars равным 55, а InpExitBars — 20.
Использование в советнике
Прорыв фиксируется на свече, закрывшейся за пределами канала, поэтому советник считывает его со сдвигом 1 после закрытия этой свечи. Стрелки сохраняются по всей загруженной истории, а не только в пределах окна, в котором ведется подсчёт. Я проверил в тестере стратегий, что сигналы, которые советник видел в реальном времени, точно совпадали с сигналами в буферах по итогам теста: 473 из 473 на H1 и 131 из 131 на H4 для золота в 2025 году.
| Буфер | Содержимое |
|---|---|
| 0 | Покупка при прорыве, значение — запланированная точка входа (цена открытия следующего бара), в противном случае — EMPTY_VALUE |
| 1 | Продажа при прорыве, тот же формат |
| 2, 3 | Максимум и минимум канала входа |
| 4 | Стоп-лосс по последней сделке ниже нарисованной линии выхода |
| 5 | Начальный стоп на баре прорыва |
| 6–9 | Таблица результатов нарисованного выхода на последнем закрытом баре: закрытые сделки, выигрыши, сумма в R, сумма убытков в R |
int handle; datetime lastBar = 0; int OnInit() { handle = iCustom(_Symbol, PERIOD_H4, "BreakoutExitLab"); return(handle == INVALID_HANDLE ? INIT_FAILED : INIT_SUCCEEDED); } void OnTick() { //--- Прорывы подтверждаются по закрытым свечам, поэтому проверку следует выполнять один раз при появлении каждой новой свечи datetime bar = iTime(_Symbol, PERIOD_H4, 0); if(bar == lastBar) return; lastBar = bar; double buy[1], sell[1], stop[1]; if(CopyBuffer(handle, 0, 1, 1, buy) < 1 || CopyBuffer(handle, 1, 1, 1, sell) < 1 || CopyBuffer(handle, 5, 1, 1, stop) < 1) return; if(buy[0] != EMPTY_VALUE) Print("Breakout buy, initial stop ", stop[0]); if(sell[0] != EMPTY_VALUE) Print("Breakout sell, initial stop ", stop[0]); }
У индикатора намеренно нет групп входных данных. MQL5 считает каждую «группу входных данных» параметром функции iCustom(), и каждое значение после неё сдвигается на одну позицию.
Ещё один небольшой нюанс, о котором я узнал при создании панели: метка графика может содержать не более 63 символов. Первые строки моей панели были длиннее, и MetaTrader обрезал их посередине числа, поэтому теперь строки делаются короче.
Ограничения
Результаты получены на основе данных по барам, поэтому порядок событий внутри одного бара неизвестен. Взимается только спред, без комиссии и без проскальзывания за пределы ценовых разрывов при срабатывании стопа. Сделки учитываются по одной и могут пересекаться, поэтому суммы не отражают кривую собственного капитала. Все приведённые выше цифры взяты из данных одного брокера за два периода, в течение которых золото демонстрировало сильный тренд.
Али Раджпут
Перевод с английского произведен MetaQuotes Ltd.
Оригинальная публикация: https://www.mql5.com/en/code/77687
ATS Confirmed Swings - non-repainting swing highs and lows
Обозначает максимумы и минимумы колебаний только после того, как они будут подтверждены N закрытыми свечами, поэтому нарисованная линия колебания никогда не смещается и не исчезает.
ATR Trailing Stop (Pine Script Port)
Порт индикатора трейлинг-стопа ATR на языке Pine Script для MQL5: nLoss = коэффициент ATR; стоп-приказ смещается ниже цены в восходящем тренде и выше цены в нисходящем тренде, а также переключается (с появлением стрелки «купить»/«продать»), когда цена закрывается за ним. Включает эталонный порт на Python и тест на соответствие, который проверяет, что оба варианта согласуются с дословной, бар за баром, транскрипцией семантики Pine (история na/nz/series).
YURAZ_RSAXEL Скрипт рисует уровни Рудолфа Акселя
Скрипт рисует уровни Рудолфа Акселя
YURAZ_MCCH
Индикатор рассчитывает % роста или падения относительно CLOSE, написан с применением ООП, и легко интегрируется в любой советник или иной индикатор.
