Stratégie de négociation de tendance croisée rapide et lente EMA

Auteur:ChaoZhang est là., Date: le 12 septembre 2023 à 18 h 06 h 26
Les étiquettes:

Cette stratégie utilise le croisement des EMA rapides et lents pour déterminer et suivre les tendances des prix.

La logique de la stratégie:

  1. Calculer les EMA rapides et lents, généralement de 13 et 48 périodes.

  2. L'indicateur de longueur est utilisé lorsque l'EMA rapide dépasse l'EMA lente.

  3. Sortez long lorsque le prix dépasse l'EMA rapide.

  4. Option d'ajouter des règles courtes pour les échanges bilatéraux.

Les avantages:

  1. La combinaison EMA rapide/lente identifie efficacement les tendances intermédiaires.

  2. Le trading de rupture permet des entrées de tendance en temps opportun.

  3. Un mécanisme de stop loss simple contrôle les pertes par transaction.

Les risques:

  1. Le décalage de l'EMA provoque des points d'entrée manqués.

  2. Laisser les freins lâches pour éviter les fouets excessifs.

  3. Difficile de déterminer clairement la direction de la tendance pendant les intervalles.

En résumé, cette stratégie utilise des croisements EMA pour l'identification et le suivi des tendances.


/*backtest
start: 2022-09-05 00:00:00
end: 2023-09-11 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3

// strategy("EMA Strategy 13 48", shorttitle = "EMA Strategy 13 48", overlay=true, pyramiding = 3,default_qty_type = strategy.percent_of_equity, default_qty_value = 1000)


// === Inputs ===
// short ma
maFastSource   = input(defval = close, title = "Fast MA Source")
maFastLength   = input(defval = 13, title = "Fast MA Period", minval = 1)

// long ma
maSlowSource   = input(defval = close, title = "Slow MA Source")
maSlowLength   = input(defval = 48, title = "Slow MA Period", minval = 1)


// === Vars and Series ===
fastMA = ema(maFastSource, maFastLength)
slowMA = ema(maSlowSource, maSlowLength)

plot(fastMA, color=blue)
plot(slowMA, color=purple)

goLong() => crossover(fastMA, slowMA)
killLong() => crossunder(close, fastMA)
strategy.entry("Buy", strategy.long, when = goLong())
strategy.close("Buy", when = killLong())

// Shorting if using
goShort() => crossunder (fastMA, slowMA)
killShort() => crossover(fastMA, slowMA)
//strategy.entry("Sell", strategy.short, when = goShort())
//strategy.close("Sell", when = killShort())


 

Plus de