
A estratégia é um sistema de acompanhamento de tendências que combina múltiplos indicadores técnicos para determinar a direção da tendência com base no indicador Supertrend, e combina a confirmação da força da tendência com o ADX (indicador de tendência média) e a determinação do intervalo de flutuação do RSI (indicador de força relativamente fraco) para otimizar o tempo de entrada. A estratégia usa um modelo de multi-ação unidirecional para aumentar a precisão e a confiabilidade das negociações através da verificação cruzada de vários indicadores.
A lógica central da estratégia baseia-se em três componentes-chave:
As condições de entrada devem ser cumpridas ao mesmo tempo:
Condições de equilíbrio Quando a Supertrend se move para cima, a [[supertrendDirection == 1) executa a posição de equilíbrio]].
A estratégia, por meio da combinação de múltiplas técnicas de indicadores, construiu um sistema de negociação de acompanhamento de tendências relativamente perfeito. A principal vantagem da estratégia é aumentar a confiabilidade dos sinais de negociação por meio da verificação cruzada de diferentes indicadores, mas também enfrenta o desafio de atraso de sinais e otimização de parâmetros.
/*backtest
start: 2025-02-13 00:00:00
end: 2025-02-20 00:00:00
period: 5m
basePeriod: 5m
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/
//@version=6
strategy("Supertrend + ADX Strategy", overlay=true)
// Parameter für ADX und Supertrend
diLength = input.int(14, title="DI Length")
adxSmoothing = input.int(14, title="ADX Smoothing")
adxThreshold = input.float(14)
supertrendFactor = input.float(3.0, title="Supertrend Factor")
supertrendPeriod = input.int(14, title="Supertrend Period")
// Berechnung von +DI, -DI und ADX
[diplus, diminus, adx] = ta.dmi(diLength, adxSmoothing)
// RSI-Berechnung
rsiLength = input.int(14, title="RSI Length")
rsi = ta.rsi(close, rsiLength)
// Supertrend-Berechnung
[supertrendValue, supertrendDirection] = ta.supertrend(supertrendFactor, supertrendPeriod)
// Long-Einstiegsbedingung
longCondition = supertrendDirection == -1 and adx > adxThreshold and (rsi < 40 or rsi > 60)
// Long-Ausstiegsbedingung (wenn Supertrend grün wird)
exitCondition = supertrendDirection == 1
// Visualisierung der Einstiegssignale (Pfeile)
plotshape(series=longCondition, location=location.belowbar, color=color.green, style=shape.triangleup, title="Buy Signal")
plotshape(series=exitCondition, location=location.abovebar, color=color.red, style=shape.triangledown, title="Sell Signal")
// Supertrend-Plot im Chart
plot(supertrendValue, color=supertrendDirection == -1 ? color.yellow : color.red, linewidth=2, title="Supertrend Line")
// Alerts für Einstieg/Ausstieg
alertcondition(longCondition, title="Long Signal", message="Supertrend + ADX: Long Entry")
alertcondition(exitCondition, title="Exit Signal", message="Supertrend turned Green: Exit")
// Strategieausführung
if longCondition and supertrendDirection == -1
strategy.entry("Long", strategy.long)
if exitCondition
strategy.close("Long")