La stratégie s'appelle
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.
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é.
Cette stratégie comporte certains risques:
Nous pouvons tester différentes valeurs d'ATR et de facteur pour Supertrend, et différentes valeurs de longueur pour MAs.
Il y a beaucoup de marge d'optimisation:
Cela peut améliorer encore les performances et la stabilité.
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')