Эта стратегия использует индикатор SuperTrend для определения текущего направления тренда и генерирует торговые сигналы на основе паттернов ловушки свечей. Она относится к следующей стратегии тренда.
Стратегия сначала рассчитывает индикатор SuperTrend для определения текущего тренда, с зеленым для восходящего и красным для нисходящего тренда. Затем она проверяет, образует ли свеча ловушку, которая требует: 1) свеча противоположна направлению SuperTrend, 2) свеча сильна (большой бычий или близкий не расходятся), 3) свеча имеет увеличивающийся объем. Когда все три условия выполняются, это сигнализирует о вероятном изменении тренда. Стратегия длится в верхней части ловушки свечи и идет коротко внизу. Стоп-лосс размещается на противоположной стороне ловушки свечи или недавнего высокого / низкого качания.
В частности, СуперТренд рассчитывается на основе 10-периодного ATR. Затем он проверяет, является ли текущая свеча противоположной направлению СуперТренда, и ее ВОЛУМ больше, чем предыдущая свеча, или три последовательных свечи с тем же КЛОСОЙ направлением, но уменьшающейся ВОЛУМ. Если критерии выполнены, он сигнализирует об обратном и входит в длинный на высоком свече и входит в короткий на низком свече. Стоп-лосс размещается в направлении открытия цены ловушки свечи.
Стратегия определяет общую тенденцию с помощью SuperTrend и входит в потенциальные точки переворота, отмеченные ловушными свечами, причем цель прибыли исходит из последующего движения тренда.
Сочетание тренда и паттерна повышает точность.
Сильный импульс и увеличивающийся объем ловушки свечи предотвращает ложные сигналы от шума.
С помощью SuperTrend и ловушки свечи в качестве ядра, стратегия очень минималистична, с несколькими параметрами и легко внедряется.
Стоп-лосс при цене ловушки позволяет быстро выйти и также подходит для позиции после реверсии.
СуперТренд имеет некоторое отставание в обнаружении обратного тренда, поэтому может пропустить лучшее время входа.
Сигналы не стопроцентно надежны, а если не удастся, то убытки увеличатся.
Оптимальная схема ловушки может варьироваться в зависимости от продуктов и временных рамок. Требуется тестирование лучших параметров в каждой ситуации.
Характеристики торговли различаются между дневными и ночными сессиями. Необходима отдельная оптимизация параметров.
Например, оптимизировать уровень увеличения объема задержки свечи отдельно для дня и ночи.
Проверьте различные периоды ATR, чтобы найти оптимальные параметры и сигналы SuperTrend для каждого продукта.
Включить дополнительные показатели, такие как MACD, KDJ, чтобы улучшить точность отмены суждения.
Например, перезагрузка стоп-лосса после обращения, процент стоп-лосса и т.д. для контроля риска.
Эта стратегия сочетает в себе SuperTrend и ловушку моделей свечей, чтобы войти на воспринимаемые обратные тенденции. Основная идея проста и ясна. Но есть место для дальнейшего улучшения точности сигнала путем всеобъемлющей оптимизации таких аспектов, как общий тренд, различия сеансов, стоп-лосс и т. Д., Чтобы повысить стабильность. С итеративной оптимизацией она может стать мощным инструментом для активных трейдеров.
/*backtest start: 2023-09-17 00:00:00 end: 2023-09-24 00:00:00 period: 5m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("SuperTrend Trapping Candle Strategy", shorttitle="ST", margin_long=1, margin_short=1, overlay=true) // Inputs atrPeriod = input.int(10, "ATR Length") factor = input.int(2, "Factor") candleDivider = input.float(0.003, "Candle Height", step=0.0001) // Supertrend [supertrend, direction] = ta.supertrend(factor, atrPeriod) plot(direction < 0 ? supertrend : na, "Up Trend", color = color.green, style=plot.style_linebr) plot(direction < 0? na : supertrend, "Down Trend", color = color.red, style=plot.style_linebr) //Trapping canlde isUptrend = direction < 0 isDowntrend = direction > 0 isBullsStrengthDecreasing = volume < volume[1] and volume[1] < volume[2] and close > close[1] and close[1] > close[2] and open > open[1] and open[1] > open[2] isBearsStrengthDecreasing = volume < volume[1] and volume[1] < volume[2] and close < close[1] and close[1] < close[2] and open < open[1] and open[1] < open[2] isStrongVolume = (volume > volume[1]) or isBullsStrengthDecreasing or isBearsStrengthDecreasing isSmallCandle = (high - low) < close * candleDivider isUptrendTrapping = isUptrend and close < open and isStrongVolume and isSmallCandle isDowntrendTrapping = isDowntrend and close > open and isStrongVolume and isSmallCandle plotshape(isUptrendTrapping, style=shape.triangleup, location=location.belowbar, color=color.green) plotshape(isDowntrendTrapping, style=shape.triangledown, location=location.abovebar, color=color.orange) // Signals longCondition = isUptrendTrapping if (longCondition) strategy.entry("Long", strategy.long) shortCondition = isDowntrendTrapping if (shortCondition) strategy.entry("Short", strategy.short) if open < close alert("Seller Trapped.", alert.freq_all) if close > open alert("Buyer Trapped.", alert.freq_all)