Handelsstrategien basierend auf EMA- und MAMA-Indikatoren


Erstellungsdatum: 2023-10-31 14:20:56 zuletzt geändert: 2023-10-31 14:20:56
Kopie: 0 Klicks: 817
1
konzentrieren Sie sich auf
1617
Anhänger

Handelsstrategien basierend auf EMA- und MAMA-Indikatoren

Überblick

Die Strategie basiert auf den Indikatoren EMA und MAMA, um Markttrends zu beurteilen und Handelssignale zu erzeugen. Die EMA wird häufig verwendet, um die Richtung der Markttrends zu bestimmen, während die MAMA die Marktwendepunkte genauer erfassen kann. Die Kombination von beiden kann die Leistung der Strategie verbessern.

Strategieprinzip

  1. Berechnung von schnellen und langsamen EMAs, die kurz- und langfristige Markttrends widerspiegeln
  2. Berechnung der MAMA- und FAMA-Linien als adaptive Moving Averages
  3. Wenn ein schneller EMA über einen langsameren EMA geht, erzeugt dies ein Kaufsignal.
  4. Wenn ein schneller EMA durch einen langsameren EMA geht, wird ein Verkaufssignal erzeugt.
  5. Wenn MAMA auf FAMA getragen wird, erzeugt das ein Kaufsignal
  6. Wenn MAMA unter FAMA durchläuft, erzeugt es ein Verkaufssignal
  7. Die Kreuzung von MAMA und FAMA kann verwendet werden, um EMA-Kreuzungssignale zu verifizieren oder eine Trendwende zu erfassen

Insbesondere berechnet die Strategie zunächst die schnellen EMAs (fl) und die langsamen EMAs (sl), die jeweils kurz- und langfristige Trends widerspiegeln.

Dann berechnen wir MAMA und FAMA nach der Formel von John Ehlers:

  1. Berechnen Sie die Hilbert-Transform des Preises und extrahieren Sie die Phasendaten des Signals
  2. Die Momentanzüge des Signals p berechnet anhand der Phaseninformationen
  3. Alpha-Gewicht basierend auf p-Werte
  4. MAMA und FAMA berechnet auf Basis von α-Gewichten

Schließlich erzeugt die Strategie ein Handelssignal basierend auf der Kreuzung von EMA und MAMA/FAMA:

  • EMA Goldfork hat mehr zu tun
  • Die EMA ist leer.
  • MAMA macht mehr, als FAMA zu tragen
  • MAMA unter dem FAMA

Analyse der Stärken

Die Strategie kombiniert die Vorteile der EMA und MAMA-Indikatoren, um die Genauigkeit der Handelssignale zu verbessern.

Die Vorteile der EMA:

  • Das ist eine sehr effiziente Methode, um die Preise zu glätten und den Lärm zu reduzieren.
  • Es gibt eine Art von Rückstand, der den Markttrends folgt.
  • Die Parameter sind flexibel und können auf kurz- und langfristige Trends angepasst werden

Die Vorteile von MAMA:

  • Anpassungsparameter, keine künstlich festgelegte Periode erforderlich
  • Schnell reagieren, um eine Trendwende zu erfassen
  • Genaue Identifizierung von Unterstützungs- und Widerstandsbereichen

Die Vorteile der Kombination:

  • Die EMA beurteilt die wichtigsten Trends
  • MAMA überprüft die Signale und erfasst die Wende vorzeitig
  • Erhöhung der Genauigkeit und Erfolgsrate der Signale

Risikoanalyse

Diese Strategie birgt folgende Risiken:

  • Die EMA und die MAMA sind beide nachträglich bestätigte Indikatoren, die Entry-Punkte sind etwas zurückgeblieben, was zu einem Risiko eines Ausrutsches führen kann.
  • Bei starken Erschütterungen kreuzen sich EMA und MAMA häufig und erzeugen mehrere und leere Schläge.
  • Die EMA- und MAMA-Parameter sind falsch eingestellt, was dazu führen kann, dass Trends verpasst oder falsche Signale erzeugt werden

Gegenmaßnahmen:

  • Stop-Loss-Verfahren zur Verlustkontrolle
  • Die Parameter müssen vernünftig gewählt werden, um keine Überempfindlichkeit zu vermeiden
  • Bestätigungssignale in Kombination mit anderen Indikatoren

Optimierungsrichtung

Die Strategie kann optimiert werden durch:

  • Optimierung der EMA-Zyklusparameter, um sie besser an die Eigenschaften der verschiedenen Sorten anzupassen
  • Anpassung der Empfindlichkeit des MAMA-Parameters α zur Optimierung der Geschwindigkeit der Umdrehung
  • Hinzufügen von Filtern für andere Indikatoren, wie MACD, RSI, etc., um falsche Signale zu vermeiden
  • Erhöhung der Stop-Loss-Strategie zur Risikokontrolle
  • Optimierung der Rückmessung und Auswahl der optimalen Parameterkombination
  • Erhöhung der automatischen Verzögerung und Maximierung der Gewinne

Zusammenfassen

Die Strategie integriert die Vorteile der beiden Indikatoren EMA und MAMA und ist in der Lage, Trendwechsel im Laufe der Zeit zu erfassen. Sie ist eine zuverlässige Trendbeobachtungsstrategie. Durch die Optimierung der Parameter und die Risikokontrolle können die Gewinnrate und die Ertragsfähigkeit der Strategie verbessert werden.

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