
Эта стратегия является количественной торговой системой, которая объединяет теорию центральных осей технического анализа и сигналы пересечения движущихся средних. Эта стратегия использует пересекающиеся сигналы в сочетании с краткосрочными и долгосрочными движущимися средними, чтобы выявить ключевые точки поддержки и сопротивления на рынке и поймать торговые возможности при изменении рыночных тенденций.
Центральная логика стратегии основана на двух основных компонентах: анализе опорных точек и сигнале пересечения равновесия. Система использует 5 циклов в качестве циклов вычисления опорных точек, динамически идентифицируя высокие и низкие точки рынка с помощью функций ta.pivothigh и ta.pivotlow. В то же время, используя пересечения 50-дневных и 200-дневных простых движущихся средних, образуются золотые кресты и мертвые кресты.
Стратегия, в сочетании с классическими методами технического анализа, создает количественную торговую систему, строгую по логике и управляемую риском. Основным преимуществом стратегии является повышение надежности торгов посредством подтверждения нескольких сигналов, но в то же время необходимо обратить внимание на вопросы адаптации в различных рыночных условиях.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-10 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Pivot Points & Golden Crossover Strategy", overlay=true)
// Inputs
length_short = input.int(50, title="Short Moving Average (Golden Cross)")
length_long = input.int(200, title="Long Moving Average (Golden Cross)")
pivot_length = input.int(5, title="Pivot Point Length")
lookback_pivots = input.int(20, title="Lookback Period for Pivots")
// Moving Averages
short_ma = ta.sma(close, length_short)
long_ma = ta.sma(close, length_long)
// Pivot Points
pivot_high = ta.valuewhen(ta.pivothigh(high, pivot_length, pivot_length), high, 0)
pivot_low = ta.valuewhen(ta.pivotlow(low, pivot_length, pivot_length), low, 0)
// Calculate golden crossover
golden_crossover = ta.crossover(short_ma, long_ma)
death_cross = ta.crossunder(short_ma, long_ma)
// Entry and Exit Conditions
long_entry = golden_crossover and close > pivot_high
short_entry = death_cross and close < pivot_low
// Exit conditions
long_exit = ta.crossunder(short_ma, long_ma)
short_exit = ta.crossover(short_ma, long_ma)
// Plot Moving Averages
plot(short_ma, color=color.blue, title="Short Moving Average")
plot(long_ma, color=color.orange, title="Long Moving Average")
// Plot Pivot Levels
plot(pivot_high, color=color.red, linewidth=1, style=plot.style_circles, title="Pivot High")
plot(pivot_low, color=color.green, linewidth=1, style=plot.style_circles, title="Pivot Low")
// Strategy Execution
if (long_entry)
strategy.entry("Long", strategy.long)
if (long_exit)
strategy.close("Long")
if (short_entry)
strategy.entry("Short", strategy.short)
if (short_exit)
strategy.close("Short")