Stratégie de croisement de la supertendance et de la moyenne mobile

Auteur:ChaoZhang est là., Date: le 19 février 2024 à 11 h 56 min 52 s
Les étiquettes:

img

Résumé

La stratégie s'appelle Supertrend and Moving Average Crossover Strategy. Elle combine l'indicateur Supertrend et les moyennes mobiles, en allant long lorsque la supertrend indique une tendance haussière et que l'EMA à 10 jours est supérieure à la SMA à 20 jours, et en allant court lorsque la supertrend indique une tendance baissière et que l'EMA à 10 jours est inférieure à la SMA à 20 jours.

La logique de la stratégie

La stratégie utilise l'indicateur de Supertrend pour déterminer la direction de la tendance du marché. La Supertrend est calculée sur la base de la plage moyenne vraie et d'un facteur. Lorsque le prix est au-dessus de la ligne de Supertrend, c'est une tendance haussière; lorsque le prix est en dessous de la ligne de Supertrend, c'est une tendance baissière. Dans cette stratégie, le facteur est défini à 3,0 et la longueur ATR est de 10.

En outre, la stratégie utilise l'EMA à 10 jours et la SMA à 20 jours pour construire des moyennes mobiles. L'EMA (moyenne mobile exponentielle) attribue une plus grande pondération aux prix récents, tandis que l'SMA (moyenne mobile simple) considère toutes les données avec le même poids. Lorsque l'EMA à court terme est au-dessus de la SMA à long terme, il est considéré comme un signal d'achat.

En résumé, la logique de génération des signaux commerciaux est la suivante:

Entrée longue: Supertrend > 0 (trend haussier) ET EMA à 10 jours > SMA à 20 jours Entrée courte: Supertrend < 0 (trend à la baisse) ET EMA à 10 jours < SMA à 20 jours

Ainsi, il détermine la direction de la tendance avec Supertrend et utilise le croisement de la moyenne mobile pour une confirmation supplémentaire, pour construire cette tendance suivant la stratégie.

Analyse des avantages

Le plus grand avantage de cette stratégie est la combinaison de Supertrend et de moyennes mobiles, ce qui améliore à la fois la fiabilité et la sensibilité.

  1. Supertrend identifie clairement la tendance principale, réduisant les faux signaux
  2. Le croisement EMA+SMA améliore la sensibilité aux changements de tendance
  3. L'évaluation de plusieurs facteurs améliore la fiabilité
  4. Indicateurs simples et clairs, faciles à comprendre et à optimiser
  5. Une grande souplesse pour ajuster les paramètres de Supertrend et de MAs

Analyse des risques

Cette stratégie comporte certains risques:

  1. Des paramètres de Supertrend incorrects peuvent manquer des points de virage.
  2. Les paramètres MA incorrects peuvent générer de faux signaux
  3. Une mauvaise sélection de la période de backtest peut surestimer les performances
  4. Aucune prise en considération des coûts de négociation

Nous pouvons tester différentes valeurs d'ATR et de facteur pour Supertrend, et différentes valeurs de longueur pour MAs.

Directions d'optimisation

Il y a beaucoup de marge d'optimisation:

  1. Ajustez la longueur et le facteur de l'ATR dans Supertrend
  2. Ajustez la longueur de la EMA et de la SMA
  3. Ajouter d'autres indicateurs comme le RSI, MACD pour le filtrage du signal
  4. Achetez lorsque la Supertrend apparaît et que l'EMA traverse la SMA après une certaine durée
  5. Ajouter une stratégie de stop loss

Cela peut améliorer encore les performances et la stabilité.

Conclusion

La stratégie combine Supertrend pour la direction de la tendance et les croisements EMA+SMA pour générer des signaux, un système typique de suivi de tendance.


/*backtest
start: 2024-01-19 00:00:00
end: 2024-02-18 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Supertrend and Moving Averages Strategy", overlay=true)

// Supertrend parameters
atrLength = input.int(10, title="ATR Length", minval=1)
factor = input.float(3.0, title="Factor", minval=0.01, step=0.01)
[supertrend, direction] = ta.supertrend(factor, atrLength)

// Moving Averages parameters
length_ema = input(10, title="Length of EMA")
length_sma = input(20, title="Length of SMA")

// Calculate EMAs and SMAs
ema_10 = ta.ema(close, length_ema)
sma_20 = ta.sma(close, length_sma)

// Strategy logic
longCondition = ema_10 > sma_20 and direction > 0
shortCondition = ema_10 < sma_20 and direction < 0

strategy.entry("Long", strategy.long, when=longCondition)
strategy.entry("Short", strategy.short, when=shortCondition)

// Plot Supertrend
plot(direction > 0 ? supertrend : na, color=color.green, style=plot.style_line, linewidth=2, title="Up Trend")
plot(direction < 0 ? supertrend : na, color=color.red, style=plot.style_line, linewidth=2, title="Down Trend")

// Plot Moving Averages
plot(ema_10, color=color.blue, title="10 EMA")
plot(sma_20, color=color.red, title="20 SMA")

// Alerts for Supertrend
alertcondition(direction[1] > direction, title='Downtrend to Uptrend', message='The Supertrend value switched from Downtrend to Uptrend ')
alertcondition(direction[1] < direction, title='Uptrend to Downtrend', message='The Supertrend value switched from Uptrend to Downtrend')
alertcondition(direction[1] != direction, title='Trend Change', message='The Supertrend value switched from Uptrend to Downtrend or vice versa')


Plus de