Trois stratégies de suivi de la tendance de l'EMA

Auteur:ChaoZhang est là., Date: 2023-11-10 à 11h45
Les étiquettes:

img

Résumé

La stratégie de suivi des tendances des trois EMA évalue la direction de la tendance des prix en calculant les lignes EMA de différentes périodes et suit la tendance automatiquement.

La logique de la stratégie

Cette stratégie calcule trois lignes EMA avec des périodes différentes, en particulier des lignes EMA à 10 périodes, 20 périodes et 30 périodes.

La logique de base est de juger de la cohérence de direction des trois lignes EMA. Si les trois lignes EMA s'élèvent ensemble, un signal long est généré. Si les trois lignes tombent ensemble, un signal court est généré.

Plus précisément, si ema1, ema2 et ema3 montent tous dans la dernière barre, enter_long devient vrai et un signal long est généré.

En fonction des signaux longs et courts, la stratégie ouvrira des positions longues et courtes correspondantes. La logique de sortie est opposée aux signaux d'entrée. Si ema1, ema2 et ema3 ne montent pas ensemble dans la barre actuelle, exit_long devient vrai et la position longue sera fermée. Si ema1, ema2 et ema3 ne tombent pas ensemble dans la barre actuelle, exit_short devient vrai et la position courte sera fermée.

En jugeant de la cohérence de direction des trois lignes EMA, la tendance globale peut être déterminée et suivie.

Les avantages

  • L'utilisation de trois lignes EMA peut juger la direction de la tendance de manière plus fiable par rapport à une seule ligne.

  • L'EMA est plus sensible aux variations de prix et peut refléter l'inversion de tendance dans le temps.

  • La combinaison des différentes EMA de période prend en considération à la fois la tendance à court terme et à moyen terme.

  • La logique de la stratégie est simple et facile à comprendre, adaptée aux débutants.

  • La stratégie est basée uniquement sur les lignes EMA, nécessitant moins de ressources et adaptées à une forte concurrence.

Les risques

  • La cohérence de la direction de la ligne EMA est nécessaire mais insuffisante pour juger de la tendance. Des signaux erronés peuvent se produire pendant la fausse rupture de la ligne EMA.

  • Les lignes EMA sont en retard dans l'inversion de tendance, incapables de refléter les points tournants dans le temps, ce qui peut entraîner des pertes.

  • L'EMA est sensible aux variations de prix, le retour fréquent de positions longues et courtes peut augmenter les coûts de transaction.

  • La stratégie est inefficace sur les marchés volatiles où les lignes EMA fluctuent fréquemment.

  • Peut optimiser la différence de période EMA pour réduire les faux signaux ou ajouter d'autres indicateurs pour filtrer les fausses ruptures.

  • Ajouter des indicateurs de dynamique pour confirmer la tendance réelle et identifier les points tournants, réduisant les pertes.

  • Augmentez les périodes EMA pour réduire la fréquence de changement de position ou utilisez d'autres indicateurs MA.

  • Suspendre la stratégie lorsque le marché de la gamme est identifié, en évitant les transactions inutiles.

Optimisation

  • Ajustement des périodes: ajustez les périodes de l'EMA pour les adapter aux différents instruments.

  • Ajouter des filtres: ajouter MA, BOLL, etc. pour éviter les fausses ruptures de l'EMA.

  • Arrêt de perte: arrêt de retard pour verrouiller les bénéfices.

  • Gestion des risques: optimiser la taille des positions pour limiter l'impact des pertes uniques.

  • Régime du marché: utiliser la volatilité pour évaluer l'oscillation et contrôler l'engagement de la stratégie.

  • Paramètres d'adaptation: Optimiser automatiquement les périodes EMA en fonction des changements du marché pour améliorer la robustesse.

Conclusion

Les trois EMA suivent la tendance de la stratégie en identifiant la direction de la tendance via les lignes EMA. C'est simple et pratique avec un grand espace d'optimisation. Des risques tels que de fausses ruptures et des oscillations doivent être notés. Avec des optimisations continues, cette stratégie peut devenir une solution robuste de tendance.


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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © QuantCT

//@version=4
strategy("PMA Strategy Idea",
         shorttitle="PMA", 
         overlay=true,
         pyramiding=0,     
         default_qty_type=strategy.percent_of_equity, 
         default_qty_value=100, 
         initial_capital=1000,           
         commission_type=strategy.commission.percent, 
         commission_value=0.075)
         
// ____ Inputs

ema1_period = input(title="EMA1 Period", defval=10)
ema2_period = input(title="EMA2 Period", defval=20)
ema3_period = input(title="EMA3 Period", defval=30)
long_only = input(title="Long Only", defval=false)
slp = input(title="Stop-loss (%)", minval=1.0, maxval=25.0, defval=5.0)
use_sl = input(title="Use Stop-Loss", defval=false)

// ____ Logic

ema1 = ema(hlc3, ema1_period)
ema2 = ema(hlc3, ema2_period)
ema3 = ema(hlc3, ema3_period)
    
enter_long = (rising(ema1, 1) and rising(ema2, 1) and rising(ema3, 1))
exit_long = not enter_long
enter_short = (falling(ema1, 1) and falling(ema2, 1) and falling(ema3, 1))
exit_short = not enter_short

strategy.entry("Long", strategy.long, when=enter_long)
strategy.close("Long", when=exit_long) 
if (not long_only)
    strategy.entry("Short", strategy.short, when=enter_short)
    strategy.close("Short", when=exit_short) 

// ____ SL

sl_long = strategy.position_avg_price * (1- (slp/100))
sl_short = strategy.position_avg_price * (1 + (slp/100))
if (use_sl)
    strategy.exit(id="SL", from_entry="Long", stop=sl_long)
    strategy.exit(id="SL", from_entry="Short", stop=sl_short)

// ____ Plots

colors = 
 enter_long ? #27D600 :
 enter_short ? #E30202 :
 color.orange

ema1_plot = plot(ema1, color=colors)
ema2_plot = plot(ema2, color=colors)
ema3_plot = plot(ema3, color=colors)
fill(ema1_plot, ema3_plot, color=colors, transp=50)


Plus de