Stratégie de négociation de tendance croisée et de pente de l'EMA

Auteur:ChaoZhang est là., Date: 2023-09-20 à 14h32
Les étiquettes:

Résumé

Cette stratégie utilise la direction de la pente et les relations croisées entre plusieurs EMA pour déterminer la direction de la tendance, pour le trading de tendance non-stop.

La logique de la stratégie

  1. Calculer 3 groupes d'EMAs - rapide, moyenne et lente.

  2. Lorsque l'EMA rapide traverse l'EMA moyenne et que la pente de l'EMA moyenne devient positive, un signal long est généré.

  3. Lorsque l'EMA rapide traverse l'EMA moyenne et que la pente de l'EMA moyenne devient négative, un signal court est généré.

  4. Allez long lorsque le prix dépasse la courte EMA et court lorsque le prix dépasse la courte EMA.

  5. Les relations de pente de l'EMA reflètent les changements de tendance. Les croisements de prix confirment l'entrée.

Analyse des avantages

  1. Les EMA multiples améliorent la précision du jugement des tendances.

  2. Les EMA rapides, moyennes et lentes distinguent raisonnablement la tendance et la consolidation.

  3. Les variations de pente de l'EMA donnent des indications précoces sur les changements de tendance.

  4. Les croisements de prix confirment davantage pour éviter de fausses ruptures.

  5. Toujours garder une position pour saisir pleinement les opportunités de tendance.

Analyse des risques

  1. Le fait de s'appuyer uniquement sur les EMA comporte des risques de position importants pendant les périodes de plage.

  2. Des paramètres EMA incorrects peuvent manquer des points tournants.

  3. L'impossibilité de déterminer la force de la tendance risque de provoquer une reprise prématurée.

  4. Aucun contrôle efficace des pertes commerciales uniques.

Directions d'amélioration

  1. Testez différentes combinaisons d'EMA pour trouver les paramètres optimaux.

  2. Ajoutez d'autres indicateurs comme le MACD pour déterminer la force.

  3. Ajouter des mécanismes de stop loss pour contrôler les risques.

  4. Évaluer la force de la tendance afin d'éviter des entrées inversées prématurées.

  5. Optimiser la taille des positions pour la gestion des capitaux.

  6. Arrêtez temporairement de négocier lorsque la tendance devient agitée.

Résumé

La stratégie utilise judicieusement des combinaisons EMA pour déterminer la tendance. Mais la seule dépendance à l'EMA a des limites, laissant une grande marge d'optimisation pour incorporer plus d'indicateurs. Des mécanismes de contrôle des risques sont également nécessaires pour améliorer la stabilité.


/*backtest
start: 2023-08-20 00:00:00
end: 2023-09-19 00:00:00
period: 6h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("EMA Slope + EMA Cross Strategy (by ChartArt)", shorttitle="CA_-_EMA_slope_cross", overlay=true)

// ChartArt's EMA Slope + EMA Cross Strategy
//
// Version 1.0
// Idea by ChartArt on March 10, 2018.
//
// This strategy uses divergences between
// three moving averages and their slope
// directions as well as crosses between
// the price and the moving averages
// to switch between long/short positions.
//
// The strategy is non-stop in the market
// and always either long or short.
// 
// In addition the moving averages are colored
// depending if they are trending up or down.
//
// List of my work: 
// https://www.tradingview.com/u/ChartArt/

// Input
price = input(close)
MA1_Length = input(2,step=1, title="EMA 1 Length")
MA2_Length = input(4,step=1, title="EMA 2 Length")
MA3_Length = input(20,step=1, title="EMA 3 Length")

switch1=input(true, title="Show Bar Color?")
switch2=input(true, title="Show Moving Averages?")

// Calculation
MA1 = ema(price, MA1_Length)
MA2 = ema(price, MA2_Length)
MA3 = ema(price, MA3_Length)

// Strategy
long = crossunder(price, MA3) or ( change(price)<0 and change(MA1)<0 and crossunder(price,MA1) and change(MA2)>0 )
short = crossover(price, MA3) or ( change(price)>0 and change(MA1)>0 and crossover(price,MA1)  and change(MA2)<0 ) 

if long
    strategy.entry("Long", strategy.long, comment="Long")

if short
    strategy.entry("Short", strategy.short, comment="Short")

// Strategy Alert
alertcondition(long, title='EMA Slope + EMA Cross Strategy, Long Alert', message='Go Long!')
alertcondition(short, title='EMA Slope + EMA Cross Strategy, Short Alert', message='Go Short!')

// MA trend bar color
up =  change(MA2)>0 and change(MA3)>0
dn =  change(MA2)<0 and change(MA3)<0
bar_color = up?green:dn?red:blue
barcolor(switch1?bar_color:na)

// MA trend output color
MA2_color = change(MA2)>0?lime:change(MA2)<0?red:blue
MA3_color = change(MA3)>0?lime:change(MA3)<0?red:blue

// MA output
EMA2 = plot(switch2?MA2:na, title="EMA 2", style=linebr, linewidth=2, color=MA2_color)
EMA3 = plot(switch2?MA3:na, title="EMA 3", style=linebr, linewidth=4, color=MA3_color)
fill(EMA2, EMA3, color=silver, transp=50)

//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)

Plus de