
La estrategia utiliza parafiltrado de la SAR paralela (estopando la inversión de pérdidas) en combinación con la línea media EMA para mejorar la precisión de la señal de negociación. La estrategia es adecuada para los operadores que siguen la tendencia.
Se producen señales de multiplicación cuando el SAR está por debajo del precio y el precio está por encima de la desviación de la media de la EMA lenta; se producen señales de vacío cuando el SAR está por encima del precio y el precio está por debajo de la desviación de la media de la EMA lenta. Al mismo tiempo, se realiza un filtro adicional a través del cruce de la media de la EMA rápida y la media de la EMA lenta. Esto evita la falsa señal que puede aparecer cuando el indicador SAR se usa solo.
Concretamente, las condiciones de activación para hacer múltiples señales son: 1) El SAR está por debajo del precio de cierre de ayer y está por encima del precio de cierre actual; 2) El precio de cierre actual está por encima de la media de la EMA lenta más el desplazamiento de la media de la EMA rápida o cruza la media de la EMA lenta por debajo de la media de la EMA rápida; 3) El precio de cierre actual está por encima del valor del SAR y la media de la EMA lenta más el desplazamiento de la media de la EMA rápida.
La señal de vaciado se activa si: 1) el SAR está por encima del precio de cierre de ayer y por debajo del precio de cierre actual; 2) el precio de cierre actual está por debajo del desvío de desviación de la media de la EMA lenta o cruza la media de la EMA lenta sobre la media de la EMA rápida; 3) el precio de cierre actual está por debajo del SAR y la desviación de desviación de la media de la EMA lenta.
La estrategia, combinada con el SAR y el filtro uniforme de EMA, permite identificar mejor la dirección de la tendencia y reducir las falsas señales.
Las ventajas son las siguientes:
La estrategia también tiene ciertos riesgos, como los siguientes:
La estrategia puede ser optimizada en los siguientes aspectos:
Esta estrategia utiliza las ventajas de los indicadores SAR y la línea media de la EMA para diseñar una estrategia de seguimiento de tendencias más flexible. En general, la estrategia tiene una mayor capacidad para identificar con éxito la dirección de la tendencia y puede obtener mejores resultados en el seguimiento de la tendencia.
/*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()