Accélération de l'évolution de la stratégie EMA 34

Auteur:ChaoZhang est là., Date: le 26 février 2024
Les étiquettes:

img

Résumé

Cette stratégie est une stratégie de suivi de tendance basée sur le croisement de l'EMA 34 comme signal d'entrée. Elle combine les signaux de percée de la rupture du prix à travers la ligne d'élan de l'EMA 34 et la croix dorée de l'EMA 34 pour générer des signaux de trading.

Principe de stratégie

La stratégie calcule d'abord les lignes EMA de 34 périodes de clôture, de haut, de bas, nommées emaClose, emaHigh, emaLow respectivement.

Plus précisément, lorsque le prix de clôture dépasse emaHigh, un signal d'achat est généré; lorsque le prix de clôture est inférieur à emaLow, un signal de vente est généré.

De cette façon, la stratégie utilise l'indicateur de dynamique de l'EMA 34 pour capturer la tendance du marché et mettre en œuvre la tendance suivante.

Analyse des avantages

Le plus grand avantage de cette stratégie est qu'elle combine à la fois le signal croisé doré de la moyenne mobile et le signal de rupture du prix, ce qui rend le point d'entrée plus précis et peut filtrer efficacement les faux signaux.

Analyse des risques

Le principal risque de cette stratégie est qu'elle est sujette à de longues pertes consécutives. Lorsque le marché subit un choc d'ajustement de courte durée avant de commencer une nouvelle tendance haussière, cette stratégie peut souvent réduire les positions à perte. En outre, en tant que stratégie de suivi de tendance, elle ne peut pas profiter bien sur un marché latéral.

L'optimisation peut être réalisée en ajustant de manière appropriée le point de stop-loss ou en ajoutant d'autres indicateurs pour améliorer le taux de gain de la stratégie.

Directions d'optimisation

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

  1. Ajoutez d'autres indicateurs pour le filtrage, par exemple un indicateur de volume pour éviter d'être pris au piège de fausses éruptions.

  2. Optimiser les paramètres du cycle EMA et les ajuster à des paramètres plus adaptés à la variété.

  3. Utilisez un mécanisme de sortie comme le facteur de profit au lieu de simples points de prise de profit et d'arrêt de perte pour améliorer la stabilité de la stratégie.

  4. Augmenter le filtrage de la liquidité pour éviter les opérations en période de faible liquidité, ce qui peut réduire les pertes par glissement.

Résumé

En tant que stratégie de suivi de tendance basée sur les indicateurs de dynamique EMA, cette stratégie a une grande utilité pratique. En combinant les signaux de percée de prix et les signaux de croix dorée EMA, elle peut effectivement découvrir de nouvelles directions de tendance. Après une certaine optimisation des paramètres et du mécanisme de sortie, la stabilité de la stratégie peut être encore améliorée.


/*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")

Plus de