Stratégie améliorée de SuperTrend

Auteur:ChaoZhang est là., Date: 2024-01-17 15h55
Les étiquettes:

img

Résumé

Cet article analyse en profondeur une stratégie de suivi de tendance qui combine l'indicateur SuperTrend avec un filtre RSI stochastique pour une précision améliorée. Il vise à générer des signaux d'achat et de vente tout en tenant compte de la tendance dominante et en réduisant les faux signaux.

La logique de la stratégie

Calcul de la tendance

Tout d'abord, la True Range (TR) et la Average True Range (ATR) sont calculées, puis les bandes supérieure et inférieure sont calculées à l'aide de l'ATR:

La bande supérieure = SMA ((close, période ATR) + ATR Multiplier * ATR La valeur de l'indicateur est la valeur de l'indicateur d'indicateur d'indicateur d'indicateur d'indicateur d'indicateur d'indicateur d'indicateur d'indicateur d'indicateur d'indicateur d'indicateur d'indicateur d'indicateur d'indicateur d'indicateur d'indicateur d'indicateur d'indicateur d'indicateur d'indicateur d'indicateur d'indicateur.

Une tendance à la hausse est identifiée lorsque la tendance à la baisse est proche de la bande inférieure.

Pendant la tendance haussière, la SuperTrend est réglée sur la bande inférieure.

Mécanisme de filtrage

Pour réduire les faux signaux, la SuperTrend est lissée à l'aide d'une moyenne mobile pour obtenir la SuperTrend filtrée.

RSI stochastique

La valeur du RSI est calculée, puis l'indicateur stochastique est appliqué pour générer un RSI stochastique.

Conditions d'entrée et de sortie

Entrée longue: croix de fermeture au-dessus de la SuperTrend filtrée dans la tendance haussière et le RSI stochastique < 80 Entrée courte: Clôture des croisements inférieurs à la SuperTrend filtrée en tendance à la baisse et au RSI stochastique > 20

Sortie longue: Fermeture des croisements en dessous de la SuperTrend filtrée en hausse
Sortie courte: fermeture des croisements au-dessus de la SuperTrend filtrée en baisse

Les avantages de la stratégie

Cette stratégie de suivi des tendances améliorée présente les avantages suivants par rapport aux moyennes mobiles simples:

  1. SuperTrend lui-même possède de bonnes capacités d'identification des tendances et de filtrage des faux signaux.
  2. Le mécanisme de filtrage réduit encore les faux signaux, ce qui se traduit par des signaux plus fiables.
  3. Le RSI stochastique évite les faux signaux autour de niveaux de support/résistance importants lors de conditions de surachat/survente.
  4. La stratégie prend en considération à la fois la direction de la tendance et les conditions de surachat/survente conduisant à un meilleur équilibre entre suivre la tendance et éviter les faux signaux.
  5. L'ajustement flexible des paramètres permet une adaptation aux différents environnements du marché.

Risques et optimisation

Risques potentiels

  1. Le stop loss peut être effectué lors de mouvements à forte volatilité.
  2. Des problèmes de retard avec SuperTrend et de filtrage causant des changements de prix manquants.
  3. Des paramètres RSI stochastiques incorrects affectant les performances de la stratégie.

Gestion des risques

  1. La valeur de l'échange de titres est calculée en fonction de la valeur de l'échange.
  2. Ajustez les paramètres tels que la période ATR et la période de filtrage pour équilibrer l'effet de retard.
  3. Testez et optimisez les paramètres du RSI stochastique.

Des possibilités d'optimisation

  1. Testez différentes combinaisons de paramètres pour trouver les paramètres optimaux.
  2. Essayez différents mécanismes de filtrage comme l'aplatissement EMA, etc.
  3. Appliquer l'apprentissage automatique pour optimiser automatiquement les paramètres.
  4. Inclure d'autres indicateurs pour compléter les conditions d'entrée.

Conclusion

Cette stratégie combine les atouts de SuperTrend et de Stochastique RSI pour une identification efficace des tendances et des signaux commerciaux de qualité, tout en rendant la stratégie robuste au bruit du marché grâce à des mécanismes de filtrage.


/*backtest
start: 2024-01-09 00:00:00
end: 2024-01-16 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Improved SuperTrend Strategy with Stochastic RSI", shorttitle="IST+StochRSI", overlay=true)

// Input parameters
atr_length = input(14, title="ATR Length")
atr_multiplier = input(1.5, title="ATR Multiplier")
filter_length = input(5, title="Filter Length")
stoch_length = input(14, title="Stochastic RSI Length")
smooth_k = input(3, title="Stochastic RSI %K Smoothing")

// Calculate True Range (TR) and Average True Range (ATR)
tr = ta.rma(ta.tr, atr_length)
atr = ta.rma(tr, atr_length)

// Calculate SuperTrend
upper_band = ta.sma(close, atr_length) + atr_multiplier * atr
lower_band = ta.sma(close, atr_length) - atr_multiplier * atr

is_uptrend = close > lower_band
is_downtrend = close < upper_band

super_trend = is_uptrend ? lower_band : na
super_trend := is_downtrend ? upper_band : super_trend

// Filter for reducing false signals
filtered_super_trend = ta.sma(super_trend, filter_length)

// Calculate Stochastic RSI
rsi_value = ta.rsi(close, stoch_length)
stoch_rsi = ta.sma(ta.stoch(rsi_value, rsi_value, rsi_value, stoch_length), smooth_k)

// Entry conditions
long_condition = ta.crossover(close, filtered_super_trend) and is_uptrend and stoch_rsi < 80
short_condition = ta.crossunder(close, filtered_super_trend) and is_downtrend and stoch_rsi > 20

// Exit conditions
exit_long_condition = ta.crossunder(close, filtered_super_trend) and is_uptrend
exit_short_condition = ta.crossover(close, filtered_super_trend) and is_downtrend

// Plot SuperTrend and filtered SuperTrend
plot(super_trend, color=color.orange, title="SuperTrend", linewidth=2)
plot(filtered_super_trend, color=color.blue, title="Filtered SuperTrend", linewidth=2)

// Plot Buy and Sell signals
plotshape(series=long_condition, title="Buy Signal", color=color.green, style=shape.triangleup, location=location.belowbar)
plotshape(series=short_condition, title="Sell Signal", color=color.red, style=shape.triangledown, location=location.abovebar)

// Output signals to the console for analysis
plotchar(long_condition, "Long Signal", "▲", location.belowbar, color=color.green, size=size.small)
plotchar(short_condition, "Short Signal", "▼", location.abovebar, color=color.red, size=size.small)

// Strategy entry and exit
strategy.entry("Long", strategy.long, when=long_condition)
strategy.entry("Short", strategy.short, when=short_condition)
strategy.close("Long", when=exit_long_condition)
strategy.close("Short", when=exit_short_condition)


Plus de