Stratégie de suivi des tendances basée sur les indicateurs de l'EMA

Auteur:ChaoZhang est là., Date: 2023-11-27 15:30:29 Je vous en prie.
Les étiquettes:

img

Résumé

Cette stratégie utilise principalement des indicateurs EMA et d'écart type pour déterminer la direction de la tendance à travers les signaux croisés EMA et recherche des signaux de rupture avec écart type pour générer des signaux d'achat et de vente.

La logique de la stratégie

La stratégie est composée de trois parties principales:

  1. Différence EMA (s2): Calculer la différence entre EMA rapide (ema_range) et EMA lente (ema_watch) pour déterminer la direction de la tendance des prix.

  2. Canaux de déviation standard (s3): Construire le canal supérieur et inférieur basé sur la différence EMA avec des multiples de déviation standard.

  3. Signaux et drapeaux: Générer des signaux d'achat lorsque les prix franchissent le rail supérieur de bas en haut, et des signaux de vente lorsque les prix franchissent le rail inférieur de haut en bas.

Grâce à cette combinaison d'indicateurs, il peut capturer la direction de tendance des prix et générer des signaux d'achat et de vente à des points clés, ce qui appartient à une stratégie de suivi de tendance typique.

Analyse des avantages

La stratégie présente les avantages suivants:

  1. L'EMA peut suivre efficacement les tendances.
  2. L'écart type construit des canaux pour éviter les faux signaux.
  3. La forme du drapeau rend les signaux clairs.
  4. Réglage des paramètres des moyennes mobiles et des multiples d'écart type.
  5. Le contrôle maximal de l'utilisation contribue à réduire les risques.

Analyse des risques

Il y a aussi des risques:

  1. Plus de faux signaux peuvent se produire sur les marchés à fourchette.
  2. Des multiples d'écart type trop élevés peuvent manquer des opportunités.
  3. Aucun stop loss ne peut entraîner de plus grandes pertes lors des retracements.

Les solutions:

  1. Ajoutez un jugement de marché lié à la fourchette et utilisez d'autres stratégies à la place.
  2. Optimiser les paramètres d'écart type.
  3. Ajoutez un stop loss mobile pour contrôler la perte des transactions individuelles.

Optimisation

La stratégie peut être optimisée dans les directions suivantes:

  1. Ajouter plus d'indicateurs comme les bandes de Bollinger pour améliorer la qualité du signal.
  2. Optimiser les paramètres de la moyenne mobile et de l'écart type.
  3. Ajouter des stratégies de stop loss pour réduire les retraits.
  4. Définir les paramètres optimaux des signaux d'achat/de vente en fonction des différents marchés.
  5. Ajouter des algorithmes d'apprentissage automatique pour déterminer le régime global du marché.

Conclusion

En résumé, il s'agit d'une stratégie de suivi de tendance typique utilisant l'EMA et l'écart type pour construire un système d'indicateurs et générer des signaux de drapeau à des points clés. Les avantages résident dans la capture des tendances et l'évitement de faux signaux avec écart type. Les principaux risques proviennent de signaux erronés sur les marchés à plage et des risques de retrait en raison de l'absence de stop loss. En ajoutant des indicateurs de jugement, en optimisant les paramètres et en ajoutant un stop loss, la stratégie peut être encore améliorée en termes de stabilité et de rentabilité. Dans l'ensemble, le cadre de la stratégie est raisonnable et a un grand potentiel d'optimisation.


/*backtest
start: 2023-09-27 00:00:00
end: 2023-11-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("ROCKET_EWO", overlay=true)
ema_range = input(5)
ema_watch = input(13)
inval_a = input(open)
inval_b = input(open)
ratio = input(0)
max = 5000
s2=ta.ema(inval_a, ema_range) - ta.ema(inval_b, ema_watch)
c_color=s2 <= ratio ? 'red' : 'lime'
s3 = s2 + (ta.stdev(open, 1)) * 5.618
plotshape(s3, color=color.white, style=shape.cross, location=location.abovebar, size=size.auto, show_last=max, transp=30, offset= 0)
cr = s2 > 0
alertcondition(cr, title='[Rocket_EWO]', message='[Rocket_EWO]')
buy = s2 > 1
sell = s2 < -1
txt  = "🚀" + "\n"+ "\n"+ "\n"+ "\n"
plotshape(buy, color=color.lime, style=shape.triangleup, location=location.belowbar ,color=color.white, text=txt, size=size.normal, show_last=max, transp=1, offset= -3)
plotshape(not buy, color=color.red, style=shape.triangledown, location=location.belowbar, size=size.normal, show_last=max, transp=1, offset= 0)
signalperiod = time
s4 = ta.cross(s2, 0) ? time : na
colsig= s2 <= ratio ? color.red : color.lime
plotshape((time==s4)?7000:na,color=color.blue, style=shape.flag, location=location.abovebar, size=size.large, transp=1)

longCondition =  ta.crossover(s2, 1.618)
if (longCondition)
    strategy.entry("LONG Id", strategy.long)

shortCondition = ta.crossunder(s2, 1.618)
if (shortCondition)
    strategy.entry("SHORT Id", strategy.short)

strategy.close("LONG Id", when = s2 < 0.218)
// strategy.risk.max_drawdown(75, strategy.percent_of_equity)


Plus de