Stratégies de trading basées sur les indicateurs EMA et MAMA


Date de création: 2023-10-31 14:20:56 Dernière modification: 2023-10-31 14:20:56
Copier: 0 Nombre de clics: 817
1
Suivre
1617
Abonnés

Stratégies de trading basées sur les indicateurs EMA et MAMA

Aperçu

La stratégie est basée sur deux indicateurs, l’EMA (motion moyenne indicielle) et le MAMA (motion moyenne mobile adaptative du MESA), pour juger des tendances de marché et générer des signaux de négociation en fonction de leur intersection. L’EMA est souvent utilisée pour déterminer la direction des tendances du marché, tandis que le MAMA peut capturer plus précisément les points de retournement du marché, et leur utilisation en combinaison peut améliorer la performance de la stratégie.

Principe de stratégie

  1. Calculer les EMA rapides et les EMA lentes, qui reflètent respectivement les tendances à court et à long terme du marché
  2. Calculer les lignes MAMA et FAMA, qui sont respectivement des moyennes mobiles adaptatives
  3. Un signal d’achat est généré lorsque l’EMA rapide traverse l’EMA lente
  4. Lorsque l’EMA rapide est traversée par l’EMA lente, un signal de vente est généré
  5. Quand MAMA porte FAMA, cela génère un signal d’achat
  6. Quand le MAMA passe sous le FAMA, il génère un signal de vente
  7. Les croisements MAMA et FAMA peuvent être utilisés pour vérifier les signaux de croisement EMA ou pour capturer des virages de tendance plus tôt.

Plus précisément, la stratégie commence par calculer une EMA rapide (fl) et une EMA lente (sl), qui reflètent respectivement les tendances à court et à long terme.

Les MAMA et les FAMA sont ensuite calculés selon la formule de John Ehlers:

  1. Calculer la transformation de Hilbert du prix et extraire les informations de phase du signal
  2. Période instantanée du signal calculée à partir de l’information de phase
  3. Le poids α est calculé en fonction de la valeur de p
  4. MAMA et FAMA calculées en fonction des poids α

Enfin, la stratégie génère un signal de transaction basé sur la croisée des EMA et des MAMA/FAMA:

  • L’EMA fait plus avec la fourchette
  • L’EMA est vide à la clôture
  • MAMA fait plus que FAMA
  • MAMA sous FAMA, il est libre

Analyse des avantages

Cette stratégie, combinant les avantages des indicateurs EMA et MAMA, permet d’améliorer la précision des signaux de trading.

Les avantages de l’EMA:

  • Il est possible d’aplanir efficacement les données sur les prix et de réduire le bruit.
  • Il est possible de suivre les tendances du marché avec un certain retard.
  • Les paramètres sont flexibles et peuvent être ajustés en fonction de la sensibilité aux tendances à court et à long terme

Les avantages de MAMA:

  • Paramètres d’adaptation, pas besoin de cycle de désignation manuelle
  • Une réponse rapide et un changement de tendance anticipé
  • Identifier avec précision les zones de support et de résistance

Les avantages d’une combinaison de ces deux produits:

  • L’EMA détermine les principales tendances
  • MAMA vérifie les signaux et capte les virages à l’avance
  • Amélioration de la précision et du taux de réussite des signaux

Analyse des risques

La stratégie présente principalement les risques suivants:

  • Les EMA et les MAMA sont des indicateurs de confirmation tardive, avec un léger retard à l’entrée, ce qui peut entraîner un risque de glissement
  • Les EMA et les MAMA se croisent fréquemment lors de tremblements de terre majeurs, ce qui produit des couches multiples et des couches vides.
  • Les paramètres EMA et MAMA sont mal réglés et peuvent manquer une tendance ou générer de faux signaux

Les mesures prises:

  • La gestion des pertes par le stop loss
  • Sélectionnez des paramètres raisonnables et évitez d’être trop sensible
  • Signal de confirmation utilisé en combinaison avec d’autres indicateurs

Direction d’optimisation

Cette stratégie peut être optimisée dans les domaines suivants:

  • Optimisation des paramètres du cycle EMA pour les rendre plus adaptés aux caractéristiques des différentes variétés
  • Ajustez la sensibilité du paramètre MAMA α pour optimiser la vitesse de capture des virages
  • Ajoutez des filtres sur d’autres indicateurs, tels que le MACD, le RSI, etc., pour éviter les faux signaux
  • Augmenter les stratégies de stop loss pour contrôler les risques
  • Optimiser la rétroanalyse et choisir la meilleure combinaison de paramètres
  • Augmentation de l’arrêt automatique pour maximiser les bénéfices

Résumer

La stratégie intègre les avantages des deux indicateurs EMA et MAMA et permet de capturer les retournements de tendance au fur et à mesure. C’est une stratégie de type tendance fiable. Grâce à l’optimisation des paramètres et au contrôle du risque, la victoire et la rentabilité de la stratégie peuvent être améliorées.

Code source de la stratégie
/*backtest
start: 2023-09-30 00:00:00
end: 2023-10-30 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("EMAMA strategy", overlay=true)
//This entire strategy is courtesy of LazyBear for programming the original EMAMA system, I simply added a strategy element to everything to round things out. 

src=input(hl2, title="Source")
fl=input(.5, title="Fast Limit")
sl=input(.05, title="Slow Limit")
sp = (4*src + 3*src[1] + 2*src[2] + src[3]) / 10.0
dt = (.0962*sp + .5769*nz(sp[2]) - .5769*nz(sp[4])- .0962*nz(sp[6]))*(.075*nz(p[1]) + .54)
q1 = (.0962*dt + .5769*nz(dt[2]) - .5769*nz(dt[4])- .0962*nz(dt[6]))*(.075*nz(p[1]) + .54)
i1 = nz(dt[3])
jI = (.0962*i1 + .5769*nz(i1[2]) - .5769*nz(i1[4])- .0962*nz(i1[6]))*(.075*nz(p[1]) + .54)
jq = (.0962*q1 + .5769*nz(q1[2]) - .5769*nz(q1[4])- .0962*nz(q1[6]))*(.075*nz(p[1]) + .54)
i2_ = i1 - jq
q2_ = q1 + jI
i2 = .2*i2_ + .8*nz(i2[1])
q2 = .2*q2_ + .8*nz(q2[1])
re_ = i2*nz(i2[1]) + q2*nz(q2[1])
im_ = i2*nz(q2[1]) - q2*nz(i2[1])
re = .2*re_ + .8*nz(re[1])
im = .2*im_ + .8*nz(im[1])
p1 = iff(im!=0 and re!=0, 360/atan(im/re), nz(p[1]))
p2 = iff(p1 > 1.5*nz(p1[1]), 1.5*nz(p1[1]), iff(p1 < 0.67*nz(p1[1]), 0.67*nz(p1[1]), p1))
p3 = iff(p2<6, 6, iff (p2 > 50, 50, p2))
p = .2*p3 + .8*nz(p3[1])
spp = .33*p + .67*nz(spp[1])
phase = atan(q1 / i1)
dphase_ = nz(phase[1]) - phase
dphase = iff(dphase_< 1, 1, dphase_)
alpha_ = fl / dphase
alpha = iff(alpha_ < sl, sl, iff(alpha_ > fl, fl, alpha_))
mama = alpha*src + (1 - alpha)*nz(mama[1])
fama = .5*alpha*mama + (1 - .5*alpha)*nz(fama[1])
pa=input(false, title="Mark crossover points")

plotarrow(pa?(cross(mama, fama)?mama<fama?-1:1:na):na, title="Crossover Markers")

fr=input(false, title="Fill MAMA/FAMA Region")

duml=plot(fr?(mama>fama?mama:fama):na, style=circles, color=gray, linewidth=0, title="DummyL")

mamal=plot(mama, title="MAMA", color=red, linewidth=2)

famal=plot(fama, title="FAMA", color=green, linewidth=2)

fill(duml, mamal, red, transp=70, title="NegativeFill")

fill(duml, famal, green, transp=70, title="PositiveFill")

ebc=input(false, title="Enable Bar colors")

bc=mama>fama?lime:red

barcolor(ebc?bc:na)

longCondition = crossover(mama, fama)
if (longCondition)
    strategy.entry("My Long Entry Id", strategy.long)

shortCondition = crossunder(mama, fama)
if (shortCondition)
    strategy.entry("My Short Entry Id", strategy.short)