Эта стратегия представляет собой торговую систему, основанную на дивергентных отношениях между индикатором Parabolic SAR и движением цены. Мониторингом дивергентных явлений между индикатором SAR и ценовыми тенденциями, она определяет потенциальные точки обратного тренда для захвата поворотных возможностей рынка. Стратегия использует классический индикатор Parabolic 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")