La estrategia de doble indicador es una estrategia de trading cuantitativa que combina los indicadores de promedio móvil simple (SMA) y promedio móvil convergencia divergencia (MACD).
El núcleo de la Estrategia de Indicadores Duales se basa en dos indicadores: SMA y MACD. La estrategia adopta SMA de 7-, 15 y 60 períodos, así como el ajuste estándar del parámetro MACD 12/26/9.
Cuando la SMA de 7 períodos está por encima de las SMA de 15 y 60 períodos, y la SMA de 15 períodos está por encima de la SMA de 60 períodos, se considera una señal alcista del indicador SMA, con una probabilidad de 0,5.
Al mismo tiempo, cuando la línea MACD cruza por encima de la línea de señal, se considera una señal alcista del indicador MACD, también con una probabilidad de 0,5.
Cuando las probabilidades de señal alcista de los dos indicadores suman 1, se abrirá una posición larga.
Por el contrario, cuando la SMA de 7 períodos cae por debajo de la SMA de 15 y 60 períodos, y la SMA de 15 períodos está por debajo de la SMA de 60 períodos, se considera una señal bajista del indicador SMA, con una probabilidad de 0,5.
Mientras tanto, cuando la línea MACD cruza por debajo de la línea de señal, se considera una señal bajista del indicador MACD, con una probabilidad de 0,5.
Cuando las probabilidades de señal bajista de los dos indicadores suman 1, se abrirá una posición corta.
Además, la estrategia adopta dos puntos de toma de ganancias diferentes: cerrar el 50% de la posición cuando el precio sube o baja un 9%, y cerrar la posición restante cuando el precio sube o baja un 21%.
Si se produce una señal opuesta a la posición actual, la posición actual se cerrará primero antes de abrir una nueva posición basada en la nueva señal.
La mayor ventaja de la Estrategia de Indicadores Duales es que utiliza las fortalezas de los indicadores SMA y MACD. SMA puede rastrear eficazmente los cambios de tendencia de precios y filtrar el ruido del mercado, mientras que MACD puede identificar oportunidades de inversión de tendencia a corto plazo. La combinación de los dos puede mejorar la confiabilidad de las señales comerciales.
Además, la adopción de SMA con diferentes ajustes de parámetros ayuda a discernir las tendencias a largo y mediano plazo, mientras que la estrategia de toma de ganancias bloquea las ganancias parciales y controla los riesgos.
Es necesario tener en cuenta algunos riesgos potenciales de la Estrategia de Indicadores Duales. Como se basa únicamente en indicadores técnicos, pueden ocurrir señales incorrectas. Además, la configuración inadecuada de las ganancias podría conducir a una salida prematura, perdiendo tendencias importantes.
La estrategia puede optimizarse ajustando los parámetros del período SMA o incorporando indicadores de filtrado adicionales para garantizar señales más confiables.
Algunos aspectos de la estrategia de doble indicador pueden optimizarse aún más:
Prueba agregando otros indicadores técnicos como RSI, Bandas de Bollinger para filtrar múltiples indicadores.
Prueba algoritmos de aprendizaje automático para construir modelos de juicio de señales usando múltiples variables.
Realizar ajustes de parámetros basados en diferentes productos y plazos.
Incorporar el stop loss para controlar estrictamente la pérdida de una sola operación.
Optimizar la estrategia de tomar ganancias para montar tendencias sostenidas.
A través de pruebas y optimizaciones sistemáticas, la estabilidad y la rentabilidad de la estrategia pueden mejorarse continuamente.
La Estrategia de Indicadores Duales combina las fortalezas de SMA y MACD para mejorar la precisión de la señal mientras controla eficazmente los riesgos. Con un fuerte potencial de optimización y versatilidad, es una estrategia de trading cuantitativa robusta y adaptable.
/*backtest start: 2023-10-02 00:00:00 end: 2023-11-01 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("SMA & MACD Dual Direction Strategy", shorttitle="SMDDS", overlay=true, initial_capital=1000) // SMA settings sma7_length = input.int(7, title="7 Candle SMA Length") sma15_length = input.int(15, title="15 Candle SMA Length") sma60_length = input.int(60, title="60 Candle SMA Length") // MACD settings fast_length = input.int(12, title="Fast Length") slow_length = input.int(26, title="Slow Length") signal_length = input.int(9, title="Signal Length") // Leverage leverage = 10 // Calculate the SMAs sma7 = ta.sma(close, sma7_length) sma15 = ta.sma(close, sma15_length) sma60 = ta.sma(close, sma60_length) // Calculate the MACD line and Signal line [macdLine, signalLine, _] = ta.macd(close, fast_length, slow_length, signal_length) // SMA-based Probabilities smaBullishProb = (sma7 > sma15 and sma7 > sma60 and sma15 > sma60) ? 0.5 : 0.0 smaBearishProb = (sma7 < sma15 and sma7 < sma60 and sma15 < sma60) ? 0.5 : 0.0 // MACD-based Probabilities macdBullishProb = ta.crossover(macdLine, signalLine) ? 0.5 : 0.0 macdBearishProb = ta.crossunder(macdLine, signalLine) ? 0.5 : 0.0 // Combined Probabilities combinedBullishProb = smaBullishProb + macdBullishProb combinedBearishProb = smaBearishProb + macdBearishProb // Trade logic using `if` conditions if combinedBullishProb == 1.0 strategy.close("Short") strategy.entry("Long", strategy.long, qty=leverage) if combinedBearishProb == 1.0 strategy.close("Long") strategy.entry("Short", strategy.short, qty=leverage) // Exit conditions based on profit points longTargetProfit1 = close * 1.09 longTargetProfit2 = close * 1.21 shortTargetProfit1 = close * 0.91 shortTargetProfit2 = close * 0.79 strategy.exit("Long TP1", from_entry="Long", limit=longTargetProfit1, qty_percent=0.5) strategy.exit("Long TP2", from_entry="Long", limit=longTargetProfit2) strategy.exit("Short TP1", from_entry="Short", limit=shortTargetProfit1, qty_percent=0.5) strategy.exit("Short TP2", from_entry="Short", limit=shortTargetProfit2) // Visualization (optional) plot(sma7, color=color.green, title="7 Candle SMA") plot(sma15, color=color.blue, title="15 Candle SMA") plot(sma60, color=color.red, title="60 Candle SMA") hline(0, "Zero Line", color=color.gray) plot(macdLine - signalLine, color=color.blue, title="MACD Histogram")