Stratégie de croisement EMA5 et EMA13

EMA SMA
Date de création: 2024-05-17 15:28:17 Dernière modification: 2024-05-17 15:28:17
Copier: 0 Nombre de clics: 487
1
Suivre
1226
Abonnés

Stratégie de croisement EMA5 et EMA13

Aperçu

La stratégie utilise le croisement de la moyenne mobile à 5 jours (EMA5) et de la moyenne mobile à 13 jours (EMA13) pour générer un signal de négociation. Lorsqu’un EMA5 est porté sur EMA13, un signal de multiplication est généré; lorsqu’un EMA5 est porté sur EMA13, un signal de rupture est généré. La stratégie vise à capturer les changements de tendances à court terme et utilise le croisement des deux moyennes mobiles pour déterminer les points d’entrée et de sortie.

Principe de stratégie

Le cœur de cette stratégie est de générer un signal de négociation en utilisant le croisement de deux moyennes mobiles indicielles (EMA) de différentes périodes. L’EMA est un indicateur technique couramment utilisé qui donne plus de poids aux données de prix les plus récentes et reflète donc plus en temps opportun les changements de prix que la simple moyenne mobile (SMA).

Avantages stratégiques

  1. Simple et facile à comprendre: la stratégie utilise seulement deux indicateurs EMA, le principe est simple, facile à comprendre et à mettre en œuvre.
  2. Adaptabilité: en ajustant les paramètres cycliques de l’EMA, il est possible de s’adapter à différents environnements de marché et variétés de transactions.
  3. La rapidité: l’EMA réagit plus rapidement aux changements de prix que les SMA, ce qui permet de saisir rapidement les changements de tendance.
  4. Scalabilité: sur la base de la stratégie, elle peut être combinée avec d’autres indicateurs techniques ou fondamentaux pour optimiser davantage la performance de la stratégie.

Risque stratégique

  1. Faux signaux: les croisements EMA peuvent générer plus de faux signaux, entraînant des transactions plus fréquentes et des pertes de fonds, lorsque le marché est instable ou la tendance est incertaine.
  2. Retraite: Bien que l’EMA soit moins retardée que la SMA, il existe une certaine retardation et il est possible de manquer le meilleur moment d’entrée.
  3. Absence de stop loss: la stratégie n’a pas de conditions de stop loss claires et peut supporter des pertes plus importantes en cas de retournement des cours.
  4. Optimisation des paramètres: le choix des paramètres du cycle EMA nécessite une optimisation en fonction des différents marchés et variétés, sinon cela peut affecter la performance de la stratégie.

Orientation de l’optimisation de la stratégie

  1. Ajout d’un filtre de tendance: sur la base du signal croisé EMA, un filtre de tendance est effectué en combinaison avec un indicateur de tendance à long terme (comme EMA50) afin de réduire les faux signaux.
  2. Stop loss: paramètre un stop loss dynamique en fonction d’indicateurs tels que l’ATR, ou utilise un stop loss à pourcentage fixe pour contrôler la perte maximale d’une transaction.
  3. Paramètres d’optimisation: Optimiser les paramètres du cycle EMA en effectuant un retour sur les données historiques pour trouver la combinaison de paramètres la plus appropriée pour le marché et la variété actuels.
  4. Combination avec d’autres indicateurs: utilisés en combinaison avec d’autres indicateurs techniques (comme le RSI, le MACD, etc.) pour améliorer la confirmation et la fiabilité du signal.

Résumer

La stratégie de croisement entre EMA5 et EMA13 est une stratégie de suivi de tendance simple et facile à utiliser pour capturer les changements de tendance des prix par le croisement de deux EMA de différentes périodes. L’avantage de cette stratégie réside dans sa simplicité, son adaptabilité et sa rapidité, mais il existe également des risques tels que de faux signaux, de retard et de manque de stop-loss.

Code source de la stratégie
/*backtest
start: 2023-05-11 00:00:00
end: 2024-05-16 00:00:00
period: 2d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Milankacha

//@version=5
strategy('5-13 EMA by Naimesh ver04', overlay=true)

qty = input(1, 'Buy quantity')

testStartYear = input(2021, 'Backtest Start Year')
testStartMonth = input(1, 'Backtest Start Month')
testStartDay = input(1, 'Backtest Start Day')
testStartHour = input(0, 'Backtest Start Hour')
testStartMin = input(0, 'Backtest Start Minute')
testPeriodStart = timestamp(testStartYear, testStartMonth, testStartDay, testStartHour, testStartMin)
testStopYear = input(2099, 'Backtest Stop Year')
testStopMonth = input(1, 'Backtest Stop Month')
testStopDay = input(30, 'Backtest Stop Day')
testPeriodStop = timestamp(testStopYear, testStopMonth, testStopDay, 0, 0)
testPeriodBackground = input(title='Color Background?', defval=true)
testPeriodBackgroundColor = testPeriodBackground and time >= testPeriodStart and time <= testPeriodStop ? #00FF00 : na
testPeriod() => true


ema1 = input(5, title='Select EMA 1')
ema2 = input(13, title='Select EMA 2')
//ema3 = input(50, title='Select EMA 3')
//SL = input(70, title='Stoploss')
//TR = input(250, title='Target')

expo = ta.ema(close, ema1)
ma = ta.ema(close, ema2)
//EMA_50 = ta.ema(close, ema3)

//avg_1 = avg (expo, ma)
//s2 = ta.cross(expo, ma) ? avg_1 : na
//plot(s2, style=plot.style_line, linewidth=3, color=color.red, transp=0)

p1 = plot(expo, color=color.rgb(231, 15, 15), linewidth=2)
p2 = plot(ma, color=#0db63a, linewidth=2)
fill(p1, p2, color=color.new(color.white, 80))

longCondition = ta.crossover(expo, ma)

shortCondition = ta.crossunder(expo, ma)


if testPeriod()
    //strategy.entry('Long', strategy.long, when=longCondition)
    strategy.entry('Short', strategy.short, when=expo<ma)

//strategy.close("Long", expo<ma, comment= 'SL hit')
strategy.close("Short", expo>ma, comment= 'SL hit')



//plotshape(longCondition and close>EMA_50, title='Buy Signal', text='B', textcolor=color.new(#FFFFFF, 0), style=shape.labelup, size=size.normal, location=location.belowbar, color=color.new(#1B8112, 0))
//plotshape(shortCondition and close<EMA_50, title='Sell Signal', text='S', textcolor=color.new(#FFFFFF, 0), style=shape.labeldown, size=size.normal, location=location.abovebar, color=color.new(#FF5733, 0))