La stratégie de rupture à double EMA

Auteur:ChaoZhang est là., Date: 2023-11-28 15h39 et 37 min
Les étiquettes:

img

Résumé

La stratégie du double EMA Crossover Breakout génère des signaux d'achat et de vente basés sur le croisement des lignes EMA rapides et lentes, combinés à des signaux de rupture du volume de négociation, à des modèles de bougies et à des filtres de rupture des prix pour améliorer la fiabilité.

Principaux

La logique de base de la stratégie du double EMA Crossover Breakout réside dans la théorie du croisement doré de deux EMA. La théorie croit que lorsque l'EMA à court terme franchit le niveau supérieur de l'EMA à long terme, cela indique une tendance haussière, donc des positions longues devraient être établies. Lorsque l'EMA à court terme franchit le niveau inférieur de l'EMA à long terme, cela indique une tendance à la baisse, donc des positions courtes devraient être établies.

En particulier, la stratégie calcule d'abord les EMA à 9 périodes et à 21 périodes. Lorsque la 9-EMA franchit le 21-EMA, un signal long est généré. Lorsque la 9-EMA franchit le 21-EMA, un signal short est généré. Pour filtrer les faux signaux, les conditions suivantes sont vérifiées:

  1. Condition de volume - Le volume de la bougie récente devrait dépasser 85% du volume moyen des 5 bougies précédentes.

  2. Condition de rupture du prix - Le prix doit franchir le seuil supérieur à 9-EMA pour confirmer son entrée.

  3. Condition de modèle de chandelier - Identifier les modèles de renversement haussiers ou baissiers, en évitant les coups de fouet lors des marchés latéraux.

Pour les positions longues, les sorties sont déclenchées lorsque le prix dépasse 9-EMA.

Analyse des avantages

En combinant des signaux provenant de plusieurs indicateurs techniques, la stratégie du double EMA Crossover Breakout permet d'identifier efficacement les tendances et d'améliorer le taux de gain.

  1. L'utilisation de deux EMA pour déterminer la direction de la tendance principale est très fiable.

  2. L'ajout d'un filtre de volume évite les mauvais signaux lorsque le volume est insuffisant.

  3. L'ajout d'un filtre à motifs de chandeliers élimine le bruit des marchés à plage.

  4. L'entrée après la rupture des prix confirme la tendance.

  5. Le mécanisme de stop loss contrôle activement les risques.

Analyse des risques

Il y a encore des risques avec la stratégie:

  1. L'EMA peut générer de faux signaux pendant les marchés instables, provoquant des pertes.

  2. Les périodes d'EMA fixes peuvent ne pas s'adapter à l'évolution des marchés.

  3. Il y a encore des risques d'identification erronée des modèles de bougies.

  4. La stratégie peut manquer certains mouvements de prix et avoir un suivi de tendance imparfait.

Directions d'optimisation

Les principales orientations d'optimisation sont les suivantes:

  1. Testez plus de combinaisons EMA pour trouver les paramètres optimaux.

  2. Ajouter des EMA adaptatives basées sur l'évolution des conditions du marché.

  3. Optimiser le dimensionnement des positions pour les différentes conditions du marché.

  4. Incorporer plus d'indicateurs comme MACD, KDJ pour former des stratégies d'ensemble.

  5. Introduire des modèles d'apprentissage automatique pour améliorer la robustesse.

Conclusion

La stratégie de rupture croisée double EMA identifie efficacement les tendances en utilisant une analyse directionnelle double EMA et ajoute plusieurs filtres volume / prix / modèle pour améliorer l'efficacité tout en contrôlant les risques.


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

//@version=5
//Author: Andrew Shubitowski
strategy("Buy/Sell Strat", overlay = true)

//Define EMAs & Crossovers (Feature 2)
a = ta.ema(close, 9)
b = ta.ema(close, 21)
crossUp = ta.crossover(a, b)
crossDown = ta.crossunder(a, b)


//Define & calc volume averages (Feature 1)
float volAvg = 0
for i = 1 to 5
    volAvg := volAvg + volume[i]
volAvg := volAvg / 5

//Define candlestick pattern recongition (Feature 4)
bool reversalPatternUp = false
bool reversalPatternDown = false
if (close > close[1] and close[1] > close [2] and close[3] > close[2] and close > close[3])
    reversalPatternUp := true
    
if (close < close[1] and close[1] < close [2] and close[3] < close[2] and close < close[3])
    reversalPatternDown := true

//Execute trade (Feature 3 + 5)
if (crossUp)
    strategy.entry("long", strategy.long, when = ((volume * 0.85) > volAvg and close > a and reversalPatternUp == true))
    
if (crossDown)
    strategy.entry("short", strategy.short, when = ((volume * 0.85) > volAvg and close < a and reversalPatternDown == true))
    
//Exit strategy (New Feature)
close_condition_long = close < a
close_condition_short = close > a
if (close_condition_long)
    strategy.close("long")

if (close_condition_short)
    strategy.close("short")

//plot the EMAs
plot(a, title = "Fast EMA", color = color.green)
plot(b, title = "Slow EMA", color = color.blue)


//Some visual validation parameters
//plotchar(volAvg, "Volume", "", location.top, color.aqua) //*TEST* volume calc check
//plotshape(reversalPatternUp, style = shape.arrowup, color = color.aqua) //*TEST* reversal check
//plotshape(reversalPatternDown, style = shape.arrowup, location = location.belowbar, color = color.red) //*TEST* reversal check

Plus de