
Die Strategie nutzt die Filterung der Parabola SAR (Stop Loss Reversal) in Verbindung mit der EMA-Gleichgewicht, um die Genauigkeit der Handelssignale zu verbessern. Die Strategie ist für Trader geeignet, die Trends verfolgen.
Es wird ein Mehrsignal erzeugt, wenn der SAR unter dem Preis liegt und der Preis über der langsamen EMA-Durchschnittsbewegung liegt. Es wird ein Abbruchsignal erzeugt, wenn der SAR über dem Preis liegt und der Preis unter der langsamen EMA-Durchschnittsbewegung liegt. Gleichzeitig wird eine zusätzliche Filterung durch die Kreuzung des schnellen EMA-Durchschnitts und des langsamen EMA-Durchschnitts durchgeführt.
Die Triggerbedingungen für mehrere Signale sind: 1) Der SAR liegt unter dem Schlusskurs von gestern und liegt über dem aktuellen Schlusskurs; 2) Der aktuelle Schlusskurs liegt oberhalb des langsamen EMA-Durchschnitts plus Verlagerung oder unter dem schnellen EMA-Durchschnitts durch den langsamen EMA-Durchschnitts; 3) Der aktuelle Schlusskurs liegt oberhalb des SAR-Wertes und des langsamen EMA-Durchschnitts plus Verlagerung.
Die Triggerbedingungen für das Auslösezeichen sind: 1) Der SAR liegt über dem Gesternschlusskurs und unter dem aktuellen Schlusskurs; 2) Der aktuelle Schlusskurs liegt unter der Abweichung der langsamen EMA-Durchschnittsbewegung oder überschreitet die langsame EMA-Durchschnittsbewegung über der schnellen EMA-Durchschnittsbewegung; 3) Der aktuelle Schlusskurs liegt unter dem SAR-Wert und der Abweichung der langsamen EMA-Durchschnittsbewegung.
Die Strategie kombiniert SAR-Indikatoren mit EMA-Einheitsfilter, um Trends besser zu erkennen und Falschsignale zu reduzieren.
Die Vorteile sind:
Die Strategie birgt auch einige Risiken, wie z.B.:
Diese Strategie kann in folgenden Bereichen optimiert werden:
Die Strategie nutzt die Vorteile der SAR-Indikatoren und der EMA-Gleichgewichtung und entwirft eine flexiblere Trendverfolgungsstrategie. Insgesamt ist die Strategie in der Lage, die Richtung der Tendenz zu erkennen, und kann die Trends erfolgreich verfolgen.
/*backtest
start: 2023-01-11 00:00:00
end: 2024-01-17 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("SAR Trend Trader Strategy By: jhanson107", shorttitle="SAR Trend Trader Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
SlowEMALength = input(100, "Slow EMA Length")
FastEMALength = input(10, "Fast EMA Length")
emaoffset = input(1.00, "EMA Offset %")
start = input(0.01)
increment = input(0.005)
maximum = input(0.08)
////////////////////////////////////////////////////////////////////////////////
// BACKTESTING RANGE
// From Date Inputs
fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
fromYear = input(defval = 2019, title = "From Year", minval = 1970)
// To Date Inputs
toDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2020, title = "To Year", minval = 1970)
// Calculate start/end date and time condition
startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true
////////////////////////////////////////////////////////////////////////////////
psar = sar(start, increment, maximum)
ema = ema(close, SlowEMALength)
fastema = ema(close, FastEMALength)
offset = (emaoffset / 100) * ema
// Signals
long = high[1] < psar[2] and high >= psar[1] and close > ema + offset or crossunder(ema, fastema) and close > psar and close > ema + offset
short = low[1] > psar[2] and low <= psar[1] and close < ema - offset or crossover(ema, fastema) and close < psar and close < ema - offset
// Plot PSAR
plot(psar, title="PSAR", color = low < psar and not long ? green : red, trackprice=true)
//Barcolor
barcolor(close > psar and close > ema + offset and fastema > ema ? green : na)
barcolor(close > psar and close < ema + offset or close > psar and fastema < ema ? white : na)
barcolor(close < psar and close < ema - offset and fastema < ema and close? red : na)
barcolor(close < psar and close > ema - offset or close < psar and fastema > ema ? white : na)
//Plot EMA
plot(ema, color=blue, linewidth=1, transp=0, title="Slow EMA")
plot(fastema, color=purple, linewidth=1, transp=0, title="Fast EMA")
if(high > psar)
strategy.close("Short")
if(low < psar)
strategy.close("Long")
if(long and time_cond)
strategy.entry("Long", strategy.long, comment="Long")
if(short and time_cond)
strategy.entry("Short", strategy.short, comment="Short")
if (not time_cond)
strategy.close_all()