
La estrategia es un sistema de comercio cuantitativo que combina la teoría de los puntos centrales del análisis técnico y las señales de cruce de la media móvil. La estrategia capta las oportunidades de negociación al identificar los puntos clave de soporte y resistencia del mercado, combinados con las señales de cruce de las medias móviles a corto y largo plazo, al cambiar la tendencia del mercado. El sistema utiliza las medias móviles de 50 y 200 días como indicadores principales para optimizar el tiempo de entrada y salida mediante el seguimiento dinámico de los puntos centrales.
La lógica central de la estrategia se basa en dos componentes principales: el análisis de los puntos centrales y la señal de cruce de la línea media. El sistema utiliza 5 ciclos como ciclos de cálculo de los puntos centrales para identificar dinámicamente los puntos altos y bajos del mercado a través de las funciones ta.pivothigh y ta.pivotlow. Al mismo tiempo, se utilizan cruces de medias móviles simples de 50 y 200 días para formar cruces de oro y cruces de muerte.
La estrategia combina métodos clásicos de análisis técnico para construir un sistema de comercio cuantitativo, riguroso lógicamente y controlado por el riesgo. La principal ventaja de la estrategia es la mejora de la fiabilidad de las operaciones mediante la confirmación de múltiples señales, pero al mismo tiempo se debe tener en cuenta la adaptabilidad en diferentes entornos de mercado.
/*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")