
Стратегия представляет собой торговую систему, основанную на отклонении от отношений между параллельной SAR и ценой. Стратегия использует классическую параллельную SAR в качестве ключевого технического показателя, в сочетании с методом отклонения, чтобы создать полную торговую систему, отслеживающую тенденции.
Основная логика стратегии включает в себя следующие ключевые элементы:
Это стратегия отслеживания тенденций, основанная на классических технических показателях, для захвата рыночных поворотных точек путем отклонения от аналитического метода. Идея стратегии ясна, метод реализации прост и имеет хорошую работоспособность. Однако в практическом применении все еще требуется оптимизация в соответствии с конкретными рыночными характеристиками, особенно в области контроля риска.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-11 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("SAR Divergence Strategy", overlay=true)
// --- Inputs ---
length = input.int(14, title="SAR Length", minval=1)
accelerationFactor = input.float(0.02, title="Acceleration Factor", minval=0.01)
maximumFactor = input.float(0.2, title="Maximum Factor", minval=0.01)
// --- SAR Calculation ---
sar = ta.sar(length, accelerationFactor, maximumFactor)
// --- Divergence Detection ---
lookback = 5
// Bullish Divergence
bullCond = close[lookback] < close[lookback + 1] and sar[lookback] > sar[lookback + 1]
// Bearish Divergence
bearCond = close[lookback] > close[lookback + 1] and sar[lookback] < sar[lookback + 1]
// --- Strategy Logic ---
if (bullCond)
strategy.entry("Long", strategy.long)
if (bearCond)
strategy.entry("Short", strategy.short)
// --- Plotting ---
plot(sar, color=color.blue, linewidth=2, title="Parabolic SAR")
plotshape(bullCond, style=shape.triangleup, color=color.green, size=size.small, title="Bullish Divergence")
plotshape(bearCond, style=shape.triangledown, color=color.red, size=size.small, title="Bearish Divergence")
// --- Alerts ---
alertcondition(bullCond, title="Bullish SAR Divergence", message="Bullish Divergence detected")
alertcondition(bearCond, title="Bearish SAR Divergence", message="Bearish Divergence detected")