Esta estrategia combina el indicador de Divergencia de Convergencia Media Móvil (MACD) y el indicador de Índice de Fuerza Relativa Estocástica (Stoch RSI) para determinar la dirección de la tendencia del mercado, yendo largo cuando la tendencia es ascendente y corto cuando la tendencia es descendente. Pertenece a la categoría de estrategia de negociación de tendencia.
Esta estrategia utiliza los indicadores MACD y Stoch RSI para determinar la dirección de la tendencia del mercado.
El indicador MACD se compone de la línea EMA rápida, la línea EMA lenta y la diferencia entre ellos, que refleja la convergencia y divergencia de los promedios móviles a corto y largo plazo.
El indicador de Stoch RSI combina las fortalezas de los indicadores tanto del RSI como del Stoch para mostrar los niveles de sobrecompra y sobreventa en el mercado.
Esta estrategia utiliza el MACD y el Stoch RSI en los marcos de tiempo diarios y de 4 horas para determinar la tendencia del mercado. Cuando ambos indicadores generan señales de compra en los gráficos diarios y de 4 horas, vaya largo. Cuando ambos generan señales de venta, vaya corto. Esto puede filtrar eficazmente las señales falsas y mejorar la confiabilidad.
La combinación de dos factores para juzgar los movimientos del mercado puede filtrar las señales falsas de manera efectiva y mejorar la precisión de la señal
La validación de señales en marcos de tiempo altos y bajos (diarios y 4H) evita ser golpeado
Seguir las tendencias evita mercados agitados
Lógica de estrategia simple y clara, fácil de entender y ejecutar
Ajustar los parámetros del MACD y del RSI de Stoch para optimizar los puntos de entrada y salida
Añadir estrategias de trailing stop para bloquear las ganancias
Añadir el tamaño de las posiciones al control por riesgo de negociación
Añadir más factores para juzgar para mejorar la precisión de la señal
Utilice métodos de aprendizaje automático para optimizar dinámicamente los parámetros
Esta estrategia determina la dirección de la tendencia a través de un modelo de doble factor y valida las señales a través de marcos de tiempo. Es una estrategia de tendencia relativamente estable y confiable, con ciertas capacidades de gestión de riesgos y margen de error. Su rendimiento puede mejorarse aún más agregando optimización de parámetros, stop loss, dimensionamiento de posición y otros módulos.
/*backtest start: 2024-01-09 00:00:00 end: 2024-01-16 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy(title='[RS]Khizon (UGAZ) Strategy V0', shorttitle='K', overlay=false, pyramiding=0, initial_capital=100000, currency=currency.USD) // || Inputs: macd_src = input(title='MACD Source:', defval=close) macd_fast = input(title='MACD Fast Length:', defval=12) macd_slow = input(title='MACD Slow Length:', defval=26) macd_signal_smooth = input(title='MACD Signal Smoothing:', defval=9) srsi_src = input(title='SRSI Source:', defval=close) srsi_rsi_length = input(title='SRSI RSI Length:', defval=14) srsi_stoch_length = input(title='SRSI Stoch Length:', defval=14) srsi_smooth = input(title='SRSI Smoothing:', defval=3) srsi_signal_smooth = input(title='SRSI Signal Smoothing:', defval=3) // || Strategy Inputs: trade_size = input(title='Trade Size in USD:', type=float, defval=1) buy_trade = input(title='Perform buy trading?', type=bool, defval=true) sel_trade = input(title='Perform sell trading?', type=bool, defval=true) // || MACD(close, 12, 26, 9): ||---------------------------------------------|| f_macd_trigger(_src, _fast, _slow, _signal_smooth)=> _macd = ema(_src, _fast) - ema(_src, _slow) _signal = sma(_macd, _signal_smooth) _return_trigger = _macd >= _signal ? true : false // || Stoch RSI(close, 14, 14, 3, 3) ||-----------------------------------------|| f_srsi_trigger(_src, _rsi_length, _stoch_length, _smooth, _signal_smooth)=> _rsi = rsi(_src, _rsi_length) _stoch = sma(stoch(_rsi, _rsi, _rsi, _stoch_length), _smooth) _signal = sma(_stoch, _signal_smooth) _return_trigger = _stoch >= _signal ? true : false // ||-----------------------------------------------------------------------------|| // ||-----------------------------------------------------------------------------|| // || Check Directional Bias from daily timeframe: daily_trigger = security('NGAS', 'D', f_macd_trigger(macd_src, macd_fast, macd_slow, macd_signal_smooth) and f_srsi_trigger(srsi_src, srsi_rsi_length, srsi_stoch_length, srsi_smooth, srsi_signal_smooth)) h4_trigger = security('NGAS', '240', f_macd_trigger(macd_src, macd_fast, macd_slow, macd_signal_smooth) and f_srsi_trigger(srsi_src, srsi_rsi_length, srsi_stoch_length, srsi_smooth, srsi_signal_smooth)) plot(title='D1T', series=daily_trigger?0:na, style=circles, color=blue, linewidth=4, transp=65) plot(title='H4T', series=h4_trigger?0:na, style=circles, color=navy, linewidth=2, transp=0) sel_open = sel_trade and not daily_trigger and not h4_trigger buy_open = buy_trade and daily_trigger and h4_trigger sel_close = not buy_trade and daily_trigger and h4_trigger buy_close = not sel_trade and not daily_trigger and not h4_trigger strategy.entry('sel', long=false, qty=trade_size, comment='sel', when=sel_open) strategy.close('sel', when=sel_close) strategy.entry('buy', long=true, qty=trade_size, comment='buy', when=buy_open) strategy.close('buy', when=buy_close)