
Diese Strategie basiert auf dem Index Moving Average (EMA) aus drei verschiedenen Phasen, kurz-, mittelfristig- und langfristig, um Handelssignale zu erzeugen. Die kurzfristige EMA-Phasen umfassen 5 Tage, die mittelfristig-EMA-Phasen umfassen 8 Tage und die langfristige EMA-Phasen umfassen 13 Tage. Wenn die kurzfristige EMA über die mittelfristige und langfristige EMA fällt, wird ein Plus gemacht.
Die Strategie beurteilt die Markttrends durch die Berechnung von EMAs für verschiedene Zeiträume. Die kurzfristige EMA spiegelt den Durchschnittspreis der letzten Tage wider, die mittelfristige EMA spiegelt den Durchschnittspreis über längere Zeiträume wider. Die kurzfristige EMA überschreitet die mittelfristige EMA, was bedeutet, dass der Preis nach oben bricht und daher mehr macht. Die kurzfristige EMA unterschreitet die mittelfristige EMA, was bedeutet, dass der Preis nach unten bricht und daher leer macht.
Konkret berechnet die Strategie gleichzeitig drei EMAs an 5 Tagen, 8 Tagen und 13 Tagen. Wenn ein 5-Tage-EMA 8 Tage und 13 Tage EMA trägt, wird ein Mehrwertsignal erzeugt; wenn ein 5-Tage-EMA 8 Tage und 13 Tage EMA trägt, wird ein Abbruchsignal erzeugt. Nach dem Mehrwert, wenn ein 5-Tage-EMA wieder 13 Tage EMA trägt, ist die Position gleich. Nach dem Abbruch, wenn ein 5-Tage-EMA wieder 13 Tage EMA trägt, ist die Position gleich.
Die Optimierung kann durch folgende Methoden erfolgen:
Diese Strategie, die eine Trendwende des Marktes durch die Berechnung von kurz- und langen drei-Perioden-EMA und die Vergleichung ihrer Kreuzungssituationen beurteilt, gehört zu den typischen Durchbruchssystemen. Der Vorteil ist, dass die Handelssignale einfach und klar sind und leicht zu bedienen sind. Der Nachteil ist, dass der EMA-Indikator selbst zurückliegt und nicht zwischen dem echten Trend und der kurzfristigen Anpassung unterscheiden kann. In der Zukunft kann man in Betracht ziehen, die Strategie in Verbindung mit anderen technischen Indikatoren zu beurteilen oder in Kombination mit einer Anpassung an die eigene Anpassung zu optimieren.
/*backtest
start: 2023-11-16 00:00:00
end: 2023-11-23 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
//
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © gregoirejohnb
// @It is modified by ttsaadet.
// Moving average crossover systems measure drift in the market. They are great strategies for time-limited people.
// So, why don't more people use them?
//
//
strategy(title="EMA Crossover Strategy", shorttitle="EMA-5-8-13 COS by TTS", overlay=true, pyramiding=0, default_qty_type=strategy.percent_of_equity, default_qty_value=100, currency=currency.TRY,commission_type=strategy.commission.percent,commission_value=0.04, process_orders_on_close = true, initial_capital = 100000)
// === GENERAL INPUTS ===
//strategy start date
start_year = input(defval=2020, title="Backtest Start Year")
// === LOGIC ===
short_period = input(type=input.integer,defval=5,minval=1,title="Length")
mid_period = input(type=input.integer,defval=8,minval=1,title="Length")
long_period = input(type=input.integer,defval=13,minval=1,title="Length")
longOnly = input(type=input.bool,defval=false,title="Long Only")
shortEma = ema(hl2,short_period)
midEma = ema(hl2,mid_period)
longEma = ema(hl2,long_period)
plot(shortEma,linewidth=2,color=color.red,title="Fast")
plot(midEma,linewidth=2,color=color.orange,title="Fast")
plot(longEma,linewidth=2,color=color.blue,title="Slow")
longEntry = ((shortEma > midEma) and crossover(shortEma,longEma)) or ((shortEma > longEma) and crossover(shortEma,midEma))
shortEntry =((shortEma < midEma) and crossunder(shortEma,longEma)) or ((shortEma < longEma) and crossunder(shortEma,midEma))
plotshape(longEntry ? close : na,style=shape.triangleup,color=color.green,location=location.belowbar,size=size.small,title="Long Triangle")
plotshape(shortEntry and not longOnly ? close : na,style=shape.triangledown,color=color.red,location=location.abovebar,size=size.small,title="Short Triangle")
plotshape(shortEntry and longOnly ? close : na,style=shape.xcross,color=color.black,location=location.abovebar,size=size.small,title="Exit Sign")
// === STRATEGY - LONG POSITION EXECUTION ===
enterLong() =>
longEntry
exitLong() =>
crossunder(shortEma,longEma)
strategy.entry(id="Long", long=strategy.long, when=enterLong())
strategy.close(id="Long", when=exitLong())
// === STRATEGY - SHORT POSITION EXECUTION ===
enterShort() =>
not longOnly and shortEntry
exitShort() =>
crossover(shortEma,longEma)
strategy.entry(id="Short", long=strategy.short, when=enterShort())
strategy.close(id="Short", when=exitShort())