Stratégie de négociation à long terme uniquement à triple EMA Golden Cross

Auteur:ChaoZhang est là., Date: le 26 septembre 2023 à 16h23:53
Les étiquettes:

Résumé

Cette stratégie génère des signaux de négociation basés sur la croix d'or et la croix de la mort de trois lignes EMA avec des périodes différentes afin de tirer parti des forces de chacune d'elles et d'obtenir de meilleures performances de négociation.

La logique de la stratégie

La stratégie calcule trois lignes EMA avec des périodes de 8, 50 et 200 et génère des signaux lorsque l'EMA plus rapide traverse au-dessus ou au-dessous de l'EMA plus lente.

  1. Calculer les lignes EMA à 8 périodes, 50 périodes et 200 périodes.

  2. Passez long lorsque l'EMA à 8 périodes dépasse l'EMA à 50 périodes (croix d'or), fermez position lorsque l'EMA à 50 périodes dépasse l'EMA à 8 périodes (croix de mort).

  3. Optionnellement, n'allez long que lorsque le prix est supérieur à l'EMA à 200 périodes pour éviter les coups de fouet.

  4. Une ligne EMA optionnelle de prise de bénéfices peut être définie pour fermer les positions lorsque le prix dépasse cette ligne.

L'EMA rapide identifie les fonds, l'EMA moyenne détermine la tendance et l'EMA lente filtre le bruit.

Les avantages

  1. L'EMA à 8 périodes capte les bas courts, l'EMA à 50 périodes détermine la tendance à moyen terme et l'EMA à 200 périodes filtre le bruit.

  2. Il suffit d'aller bien au-dessus de l'EMA de 200 périodes pour éviter les coups de fouet.

  3. L'EMA à prise de bénéfices personnalisable fixe des objectifs de bénéfices raisonnables.

  4. Les personnalisations visuelles comme les couleurs de barres et la trace EMA améliorent la flexibilité.

  5. La logique simple de la croix dorée/mort est facile à comprendre.

Risques et atténuations

  1. Réduire les périodes EMA ou les combiner avec des indicateurs comme le MACD.

  2. Utilisez des EMA plus longues pour filtrer ou ajouter des conditions.

  3. L'objectif de profit fixe n'est pas adaptatif. Utilisez des sorties dynamiques basées sur l'ATR, etc.

  4. Aucun arrêt signifie un risque illimité.

Des possibilités d'amélioration

  1. Optimiser les périodes EMA pour les meilleurs paramètres.

  2. Ajoutez des indicateurs comme le MACD pour le timing.

  3. Mettre en œuvre une prise de profit dynamique basée sur la volatilité.

  4. Ajouter une logique de stop-loss, de suivi ou de valeur fixe.

  5. Améliorer les conditions d'entrée, par exemple les filtres à volume.

Conclusion

Cette stratégie capitalise sur le filtrage de tendance de l'EMA pour identifier les mouvements à forte probabilité.


/*backtest
start: 2023-09-18 00:00:00
end: 2023-09-20 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("Long only EMA CROSS 8/50/200 Backtest", shorttitle="Golden Cross Tri EMA", overlay=true)

// EMA 8/50/200 Cross TEST



// Input
switch1=input(true, title="Enable Bar Color?")
switch2=input(true, title="Show 8 EMA")
switch3=input(true, title="Show 50 EMA")
switch4=input(true, title="Show 200 EMA")
switch5=input(false, title="Show profit level EMA")
bool_Long_EMA200=input(false, title="Long only above EMA200")
movingaverage_8 = ema(close, input(8))
movingaverage_50 = ema(close, input(50))
movingaverage_market_signal = ema(close, input(200))
movingaverage_profitlvl = ema(close, input(50))


// Calculation
bullish_cross = if bool_Long_EMA200 == true
    crossover(movingaverage_8, movingaverage_50) and movingaverage_8 > movingaverage_market_signal
else 
    bullish_cross = crossover(movingaverage_8, movingaverage_50)
bearish_cross = crossunder(close, movingaverage_profitlvl)

// Strategy
if bullish_cross
    strategy.entry("long", strategy.long)

strategy.close("long", when = bearish_cross )

// Colors
bartrendcolor = close > movingaverage_8 and close > movingaverage_50 and change(movingaverage_50) > 0 ? green : close < movingaverage_8 and close < movingaverage_50 and change(movingaverage_50) < 0 ? red : blue
barcolor(switch1?bartrendcolor:na)

// Output
plot(switch2?movingaverage_8:na,color = change(movingaverage_8) > 0 ? green : red,linewidth=2, title="EMA8")
plot(switch3?movingaverage_50:na,color = change(movingaverage_50) > 0 ? green : red,linewidth=2,title="EMA50")
plot(switch4?movingaverage_market_signal:na,color = change(movingaverage_market_signal) > 0 ? green : red,linewidth=3,title="EMA200")
plot(switch5?movingaverage_profitlvl:na,color = change(movingaverage_profitlvl) > 0 ? green : red,linewidth=3, title="EMA Profit LVL")

//
alertcondition(bullish_cross, title='Golden Cross (bullish)', message='Bullish')
alertcondition(bearish_cross, title='Death Cross (bearish)', message='Bearish')

Plus de