Esta estrategia es un enfoque comercial cuantitativo que combina múltiples promedios móviles con señales cruzadas del oscilador estocástico. Utiliza promedios móviles a corto, mediano y largo plazo, junto con las características de sobrecompra / sobreventa del oscilador estocástico, para capturar las reversiones de tendencia del mercado y las oportunidades comerciales a través de múltiples confirmaciones de señales.
La estrategia emplea cinco promedios móviles (3 días, 5 días, 6 días, 10 días y 80 días) y el Oscilador Estocástico.
Esta estrategia establece un sistema de negociación integral a través de la combinación de múltiples promedios móviles y oscilador estocástico. Sus fortalezas se encuentran en la fiabilidad de la señal y la estabilidad del sistema, aunque se debe prestar atención a los costos de negociación y la adaptabilidad a las condiciones del mercado. A través de la optimización y el refinamiento continuos, esta estrategia muestra promesa para lograr rendimientos estables en condiciones comerciales reales.
/*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(title="Moving Average and Stochastic Crossover Strategy", overlay=true) // Calculate the moving averages ma3 = ta.sma(close, 3) ma5 = ta.sma(close, 5) ma6 = ta.sma(close, 6) ma10 = ta.sma(close, 10) ma80 = ta.sma(close, 80) // Stochastic Oscillator with settings %K(15), %D(9), and slowing 9 k = ta.stoch(close, high, low, 15) d = ta.sma(k, 9) slow_d = ta.sma(d, 9) // Buy signal confirmation: MA10 crosses above MA5, MA6, and K line crosses above D line buySignalConfirmation = ta.crossover(ma10, ma5) and ta.crossover(ma10, ma6) and ta.crossover(k, d) // Sell signal confirmation: MA5 crosses above MA10, MA6, and D line crosses above K line sellSignalConfirmation = ta.crossunder(ma5, ma10) and ta.crossunder(ma5, ma6) and ta.crossunder(d, k) // Strategy logic if (buySignalConfirmation) strategy.entry("Buy", strategy.long) if (sellSignalConfirmation) strategy.entry("Sell", strategy.short) // Plot the moving averages and Stochastic Oscillator for visualization plot(ma3, color=color.orange, title="MA3", linewidth=2) plot(ma5, color=color.blue, title="MA5", linewidth=2) plot(ma6, color=color.purple, title="MA6", linewidth=2) plot(ma10, color=color.green, title="MA10", linewidth=2) plot(ma80, color=color.red, title="MA80", linewidth=2) plot(k, color=color.blue, title="%K", linewidth=2) plot(d, color=color.red, title="%D", linewidth=2) plot(slow_d, color=color.purple, title="Slow %D", linewidth=2)