Stratégie de croisement Momentum Breakout EMA 34


Date de création: 2024-02-26 15:05:18 Dernière modification: 2024-02-26 15:05:18
Copier: 0 Nombre de clics: 789
1
Suivre
1617
Abonnés

Stratégie de croisement Momentum Breakout EMA 34

Aperçu

Cette stratégie est basée sur la croisée de momentum de l’EMA 34 comme une stratégie de suivi de la tendance pour les signaux d’entrée. Elle combine simultanément le signal de rupture de la ligne de momentum de l’EMA et le croisement d’or de la ligne de moyenne de l’EMA 34 pour produire un signal de transaction.

Principe de stratégie

La stratégie commence par calculer la moyenne des EMA de 34 cycles de clôture, de hauteur et de basse, appelées respectivement emaClose, emaHigh et emaLow. Elle génère ensuite des signaux d’achat et de vente en fonction de la rupture des prix emaHigh et emaLow.

En particulier, lorsque le prix de clôture est supérieur à l’emaHigh, un signal d’achat est généré; lorsque le prix de clôture est inférieur à l’emaLow, un signal de vente est généré. Une fois le signal généré, entrez avec le prix de clôture actuel et définissez le stop-loss à 100 et le stop-loss à 50.

Ainsi, la stratégie utilise l’indicateur de dynamique EMA 34 pour capturer les tendances du marché et permettre un suivi des tendances.

Analyse des avantages

Le plus grand avantage de cette stratégie réside dans la combinaison simultanée d’un signal de croisement de l’or de la ligne égale et d’un signal de rupture du prix, ce qui rend le point d’entrée plus précis et permet de filtrer efficacement les faux signaux. En outre, l’EMA, en tant qu’outil de suivi des tendances, peut aider la stratégie à capturer les tendances du marché en temps opportun et à réaliser des transactions de suivi des tendances.

Analyse des risques

Le risque principal de cette stratégie est qu’elle est susceptible de générer plusieurs pertes consécutives. La stratégie peut réduire fréquemment les pertes de position lorsqu’une nouvelle tendance haussière est déclenchée après une courte secousse de correction. En outre, en tant que stratégie de suivi de tendance, elle ne peut pas très bien tirer profit de la liquidation.

Il est possible d’optimiser et d’améliorer le taux de victoire de la stratégie en ajustant le point d’arrêt ou en ajoutant d’autres indicateurs.

Direction d’optimisation

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

  1. Ajout de filtres sur d’autres indicateurs, comme l’ajout d’un indicateur de volume de transactions, pour éviter d’être pris dans une fausse percée.

  2. Optimiser le paramètre de cycle EMA pour l’adapter à un paramètre de cycle plus adapté à la variété.

  3. L’adoption d’un mécanisme similaire à celui de l’exit, plutôt qu’un simple point d’arrêt, peut améliorer la stabilité de la stratégie.

  4. L’augmentation du filtrage de la liquidité, afin d’éviter les périodes de faible liquidité des transactions, peut réduire les pertes de points de glissement.

Résumer

Cette stratégie a une grande utilité en tant que stratégie de suivi de tendance basée sur les indicateurs de dynamique EMA. Elle permet de découvrir efficacement de nouvelles directions de tendance en combinant à la fois le signal de rupture des prix et le signal de croix dorée de l’EMA.

Code source de la stratégie
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("EMA 34 Crossover Strategy_4", overlay=true)

length = 34
exitPoints = 50

emaClose = ta.ema(close, length)
emaHigh = ta.ema(high, length)
emaLow = ta.ema(low, length)

var float[] entryPrices = array.new_float()
var float[] exitLevels = array.new_float()

// Long entry condition: Price crosses above EMA 34 high
enterLong = ta.crossover(close, emaHigh)

// Short entry condition: Price crosses below EMA 34 low
enterShort = ta.crossunder(close, emaLow)

// Exit condition for both long and short trades
exitLong = array.size(entryPrices) > 0 ? close >= array.get(entryPrices, array.size(entryPrices) - 1) + exitPoints : false
exitShort = array.size(entryPrices) > 0 ? close <= array.get(entryPrices, array.size(entryPrices) - 1) - exitPoints : false

if (enterLong)
    array.push(entryPrices, close)
    array.push(exitLevels, close + exitPoints)
    strategy.entry("Buy", strategy.long)

if (enterShort)
    array.push(entryPrices, close)
    array.push(exitLevels, close - exitPoints)
    strategy.entry("Sell", strategy.short)

if (exitLong)
    strategy.close("Buy")

if (exitShort)
    strategy.close("Sell")

plot(emaClose, color=color.blue, title="EMA 34 Close")
plot(emaHigh, color=color.red, title="EMA 34 High")
plot(emaLow, color=color.green, title="EMA 34 Low")