
La estrategia es un sistema de seguimiento de tendencias que combina el MACD (indicador de tendencias de medias móviles) y el SAR (indicador de reversión de parálisis) mediante la combinación orgánica del indicador de dinámica con el indicador de tendencias para identificar la dirección de la tendencia del mercado y realizar un análisis cuantitativo de la intensidad de la tendencia para capturar mejores oportunidades de negociación. La estrategia utiliza cruces de líneas rápidas y lentas del MACD para confirmar el movimiento de la tendencia, mientras que el SAR utiliza puntos para confirmar la dirección de la tendencia y establecer paros móviles.
La lógica central de la estrategia tiene dos partes:
Reglas de acceso:
Reglas de juego:
Añadir filtro de entorno de mercado: Se pueden introducir indicadores de volatilidad (como el ATR) para juzgar el estado del mercado, reducir la frecuencia de negociación o suspender la negociación durante períodos de baja volatilidad.
Mejorar el mecanismo de stop loss: Además de la parada SAR, se puede aumentar el uso de la combinación de parada de proporción fija y parada móvil para mejorar la estabilidad del control de riesgo.
Selección de parámetros de optimización: La combinación de parámetros de MACD y SAR se puede optimizar automáticamente para diferentes ciclos de mercado mediante métodos de aprendizaje automático.
Aumentar el análisis de volumen: La combinación de indicadores de la masa de cambio para confirmar la intensidad de la tendencia y mejorar la fiabilidad de la señal.
La combinación de MACD y SAR de la línea de parálisis, la estrategia de construcción de un sistema de seguimiento de la tendencia más completo de comercio. La estrategia tiene ventajas tales como la claridad de la señal, el riesgo de control, la adaptabilidad, pero también existe dependencia de la tendencia, la señal de retraso, etc. limitaciones.
/*backtest
start: 2024-02-21 00:00:00
end: 2024-11-25 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("MACD + Parabolic SAR Strategy", shorttitle="MACD+SAR", overlay=true)
//========== User Inputs ==========//
// MACD parameters
fastLength = input.int(12, "MACD Fast Length")
slowLength = input.int(26, "MACD Slow Length")
signalLength = input.int(9, "MACD Signal Length")
// SAR parameters (start, step, maximum)
afStart = input.float(0.02, "SAR Start")
afIncrement = input.float(0.02, "SAR Increment")
afMax = input.float(0.2, "SAR Max")
//========== MACD Calculation ==========//
[macdLine, signalLine, histLine] = ta.macd(close, fastLength, slowLength, signalLength)
//========== Parabolic SAR Calculation ==========//
sarValue = ta.sar(afStart, afIncrement, afMax)
//========== Entry Conditions ==========//
// Long: MACD > Signal + close > SAR
longCondition = (macdLine > signalLine) and (close > sarValue)
// Short: MACD < Signal + close < SAR
shortCondition = (macdLine < signalLine) and (close < sarValue)
//========== Enter Positions ==========//
if longCondition
strategy.entry("Long", strategy.long)
if shortCondition
strategy.entry("Short", strategy.short)
//========== Exit Positions on Opposite Signal ==========//
if strategy.position_size > 0 and shortCondition
strategy.close("Long", comment="Exit Long")
if strategy.position_size < 0 and longCondition
strategy.close("Short", comment="Exit Short")