Cette stratégie utilise le paramètre SAR (stop loss reversal) en parallèle avec le filtrage de l’EMA pour améliorer la précision des signaux de négociation. La stratégie s’adresse aux traders qui suivent la tendance.
Un signal de plus est produit lorsque le SAR est en dessous du prix et que le prix est supérieur à la moyenne de l’EMA lente et au décalage de la moyenne de l’EMA lente. Un signal de plus est produit lorsque le SAR est au-dessus du prix et que le prix est inférieur à la moyenne de l’EMA lente et au décalage de la moyenne.
Plus précisément, les conditions de déclenchement de la multiplication des signaux sont les suivantes: 1) le SAR est situé en dessous du prix de clôture d’hier et au-dessus du prix de clôture actuel; 2) le prix de clôture actuel est supérieur à la moyenne de l’EMA lente plus le décalage ou la moyenne de l’EMA lente passe sous la moyenne de l’EMA rapide; 3) le prix de clôture actuel est supérieur à la valeur du SAR et à la moyenne de l’EMA lente plus le décalage.
Les conditions de déclenchement d’un signal d’ouverture sont les suivantes: 1) le SAR est au-dessus du prix de clôture d’hier et est au-dessous du prix de clôture actuel; 2) le prix de clôture actuel est inférieur au décalage de l’EMA moyenne lente ou traverse la moyenne de l’EMA lente sur la moyenne de l’EMA rapide; 3) le prix de clôture actuel est inférieur au SAR et au décalage de l’EMA moyenne lente.
Cette stratégie, combinée à l’indicateur SAR et au filtrage homogène de l’EMA, permet de mieux identifier la direction de la tendance et de réduire les faux signaux.
Les avantages sont les suivants:
Cette stratégie comporte également des risques, principalement:
Cette stratégie peut être optimisée dans les domaines suivants:
Cette stratégie utilise les avantages de l’indicateur SAR et de la ligne de parité EMA pour concevoir une stratégie de suivi de tendance plus flexible. Dans l’ensemble, la stratégie a une plus grande capacité à identifier avec succès la direction de la tendance et peut obtenir de meilleurs résultats dans le suivi de la tendance.
/*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()