
Die schnelle EMA Gold-Cross-Breakout-Strategie ist eine einfache und effektive Strategie, um Markttrends zu verfolgen. Sie nutzt die EMA-Gehaltslinien verschiedener Zyklen, um Cross-Breakouts zu erzeugen, um ein Kauf- und Verkaufssignal zu erzeugen. Die Grundidee ist: Wenn eine kurze Periode EMA eine längere Periode EMA durchläuft, erzeugt sie ein Kaufsignal; Wenn eine kurze Periode EMA eine längere Periode EMA durchläuft, erzeugt sie ein Verkaufssignal.
Die Strategie basiert hauptsächlich auf dem Vergleich der EMA-Mittel für die 5-, 8- und 13-Zyklen, um Handelssignale zu erzeugen. Sie umfasst:
Auf diese Weise wird der Effekt der Verfolgung von mittleren und langen Trendlinien erreicht. Wenn die kurze Periodendurchschnittslinie die lange Periodendurchschnittslinie durchbricht, wird der kurzfristige Trend zu einem Mehrkopf umgestellt, der gekauft werden kann. Wenn die kurze Periodendurchschnittslinie die lange Periodendurchschnittslinie durchbricht, wird der kurzfristige Trend zu einem Leerkopf umgestellt, der verkauft werden sollte.
Diese Strategie hat folgende Vorteile:
Die Strategie birgt auch einige Risiken:
Die Strategie kann in folgenden Richtungen optimiert werden:
Zusammenfassend lässt sich sagen, dass die schnelle EMA-Gold-Cross-Break-Strategie insgesamt gut funktioniert, die Signale sind zuverlässig und der Rückzug ist gering. Sie ist geeignet, die mittleren und langen Trends zu verfolgen. Durch die Optimierung der Parameter und die Verbesserung der Regeln können bessere Strategieeffekte erzielt werden.
/*backtest
start: 2023-11-23 00:00:00
end: 2023-11-30 00:00:00
period: 2h
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 by TTS", 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")
rsi_period = input(type=input.integer,defval=14,minval=1,title="Length")
longOnly = input(type=input.bool,defval=false,title="Long Only")
shortEma = ema(close,short_period)
midEma = ema(close,mid_period)
longEma = ema(close,long_period)
rsi = rsi(close, rsi_period)
[diplus, diminus, adx] = dmi(short_period, short_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 = crossover(shortEma,midEma) and crossover(shortEma,longEma) //or ((shortEma > longEma) and crossover(shortEma,midEma)))and (adx > 25)
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 and
time > timestamp(start_year, 1, 1, 01, 01)
exitLong() =>
crossunder(shortEma,longEma) or crossunder(close, 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 and
time > timestamp(start_year, 1, 1, 01, 01)
exitShort() =>
crossover(shortEma,longEma)
strategy.entry(id="Short", long=strategy.short, when=enterShort())
strategy.close(id="Short", when=exitShort())