
La stratégie est un système de suivi de tendance combinant plusieurs indicateurs techniques, principalement basé sur la direction de la tendance de l’indicateur Supertrend, et associée à la confirmation de la force de la tendance de l’ADX (indice de tendance moyenne) et à la détermination de la zone de fluctuation du RSI (indice de force relative) pour optimiser le moment d’entrée. La stratégie adopte un mode unidirectionnel et multifonctionnel pour améliorer la précision et la fiabilité des transactions grâce à la vérification croisée de plusieurs indicateurs.
La logique centrale de la stratégie est basée sur les trois composantes clés suivantes:
Les conditions d’entrée doivent être remplies en même temps :
Conditions de mise en équilibre Lorsque la direction de la Supertrend est tournée vers le haut, la supertrendDirection == 1) effectue une position de repli.
La stratégie a été construite en utilisant une combinaison de plusieurs indicateurs techniques pour construire un système de trading de suivi de tendance relativement parfait. Le principal avantage de la stratégie réside dans la fiabilité accrue des signaux de trading grâce à la vérification croisée de différents indicateurs, mais elle est également confrontée aux défis de la latence des signaux et de l’optimisation des paramètres.
/*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")