Estrategia de negociación con impulso del sistema de doble vía


Fecha de creación: 2023-11-22 15:26:28 Última modificación: 2023-11-22 15:26:28
Copiar: 0 Número de Visitas: 623
1
Seguir
1617
Seguidores

Estrategia de negociación con impulso del sistema de doble vía

[trans]

Descripción general

Esta estrategia utiliza MACD y Stoch RSI para combinar dos indicadores, para construir un sistema de comercio de dos vías, para permitir el seguimiento de la tendencia y el juicio de compra y venta. La estrategia construye el indicador a la vez en la línea diaria y en la línea de 4 horas, para permitir el juicio de varios marcos de tiempo, para reducir la probabilidad de error de juicio.

Principio de estrategia

La combinación de estrategias utiliza dos tipos diferentes de indicadores técnicos, el MACD y el RSI de Stoch, para configurar. El MACD es un indicador de desviación, que determina la velocidad de cambio de precios; el RSI de Stoch es un indicador de sobreventa y sobreventa, que determina la fuerza relativa de los precios.

La estrategia comienza construyendo los indicadores MACD y Stoch RSI en la línea diaria y la línea de 4 horas, respectivamente, para tomar decisiones de tendencia y sobrecompra y sobreventa. Cuando los indicadores de los dos períodos de tiempo emiten señales de compra/venta al mismo tiempo, realice la operación de compra/venta correspondiente.

Concretamente, la construcción del indicador MACD, la línea DIF y la línea DEA constituyen un forcado dorado para juzgar; la construcción del indicador Stoch RSI, la línea K y la línea D constituyen un forcado dorado para juzgar. Cuando los dos grupos de indicadores producen una señal de compra cuando se forcan al mismo tiempo y una señal de venta cuando se forcan al mismo tiempo.

De esta manera, la aplicación integral de indicadores de dos vías y el juicio de varios marcos temporales en la estrategia permite un juicio integral de la velocidad de cambio de los precios y la fuerza relativa, lo que ayuda a mejorar la precisión de las decisiones y obtener mejores resultados.

Análisis de las ventajas

Esta estrategia tiene las siguientes ventajas:

  1. Combinación de indicadores de doble vía para un juicio integral y una mayor precisión en la toma de decisiones
  2. El uso de múltiples marcos de tiempo reduce la probabilidad de error
  3. Utilizando el seguimiento de tendencias y el juicio de sobrecompra y sobreventa, se considera la velocidad de cambio de precios y la relativa debilidad
  4. Los parámetros del indicador pueden adaptarse a diferentes variedades y entornos del mercado
  5. La estructura del código es clara, fácil de entender y extender

Análisis de riesgos

La estrategia también tiene sus riesgos:

  1. El riesgo sistémico en el mercado es inevitable
  2. La configuración incorrecta de los parámetros del indicador puede provocar una operación frecuente o una oportunidad perdida
  3. La probabilidad de que los indicadores de dos vías emitan una señal errónea al mismo tiempo existe, pero es menor que la de un solo indicador
  4. No puede hacer frente a los cambios bruscos en el mercado, como el gran evento de Black Swan.

Respuesta:

  1. Optimización de parámetros, ajuste de las condiciones de compra y venta, reducción de errores de juicio
  2. Combinación de más indicadores para una base de juicio más amplia
  3. Incrementar las estrategias de deterioro y controlar el riesgo de pérdidas únicas

Dirección de optimización

La estrategia también puede ser optimizada en los siguientes aspectos:

  1. Aumentar el número de indicadores para combinarlos y construir una estrategia multi-indicador
  2. Aumentar el algoritmo de aprendizaje automático para optimizar los parámetros dinámicos
  3. Más información sobre la situación del mercado junto con indicadores de sentimiento y noticias
  4. Aumentar las estrategias de stop loss y de suspensión de pérdidas y optimizar la gestión de fondos
  5. Expandir las variedades de comercio y buscar mejores oportunidades

Resumir

Esta estrategia utiliza una combinación de indicadores de dos vías y un juicio de varios marcos temporales para juzgar la velocidad de cambio de precios y la fortaleza relativa de manera integral. Puede obtener de manera efectiva las tendencias del mercado y mejorar los errores de juicio de un solo indicador. También tiene la ventaja de ajustar los parámetros de manera flexible, fácil de entender y ampliar.

||

Overview

This strategy combines the MACD and Stoch RSI indicators to build a dual-rail trading system for trend tracking and oversold/overbought judgment. The strategy also builds indicators on the daily and 4-hour timeframes to make multi-timeframe judgments to reduce misjudgment probability.

Strategy Principle

The strategy combines the MACD and Stoch RSI indicators, which are different types of technical indicators, for configuration. MACD is a momentum indicator that judges price change velocity; Stoch RSI is an overbought/oversold indicator that judges relative price strength.

The strategy first constructs the MACD and Stoch RSI indicators on the daily and 4-hour timeframes respectively for trend and overbought/oversold judgments. When signals are triggered on both timeframes, corresponding buy/sell operations are performed.

Specifically, the MACD indicator is constructed with the DIF and DEA lines forming golden/dead crosses for judgment; the Stoch RSI indicator is constructed with the K and D lines forming golden/dead crosses for judgment. When both indicator pairs have golden crosses, buy signals are generated; when both have dead crosses, sell signals are generated.

Thus, by comprehensively applying the dual-indicator system and multi-timeframe judgments, the strategy judges price velocity and relative strength thoroughly, which helps improve decision accuracy and gain better returns.

Advantage Analysis

This strategy has the following advantages:

  1. Combining dual-indicator system for comprehensive judgment and higher decision accuracy
  2. Applying multi-timeframe to reduce misjudgment probability
  3. Adopting trend tracking and overbought/oversold judgment for consideration of both price velocity and relative strength
  4. Flexible indicator parameters adjustable for different products and market environments
  5. Clean code structure easy to understand and expand

Risk Analysis

There are also some risks with this strategy:

  1. There exist systemic market risks that cannot be fully avoided
  2. Inappropriate indicator parameter settings may lead to overtrading or missing opportunities
  3. Dual indicators may still give concurrent wrong signals, but less likely than single ones
  4. Unable to cope with drastic market changes like black swan events

Countermeasures:

  1. Optimize parameters and adjust trading conditions to reduce misjudgments
  2. Incorporate more indicators for combined judgments
  3. Add stop loss mechanisms to control single loss risk

Optimization Directions

This strategy can also be improved in the following aspects:

  1. Incorporate more indicators for multi-indicator strategies
  2. Add machine learning algorithms for dynamic parameter optimization
  3. Combine sentiment indicators, news etc. for more comprehensive market condition judgments
  4. Add stop loss, take profit strategies to optimize money management
  5. Expand to more trading products to discover better opportunities

Conclusion

By combined application of the dual-indicator system and multi-timeframe judgments, this strategy judges price velocity and relative strength thoroughly, which can effectively capture market trends and improve deficiencies of single indicators. It also has advantages like flexible parameter tuning, easy understanding and expansion. Further expansions by multi-indicator combination, dynamic parameter optimization, sentiment indicator incorporation etc. can help boost strategy performance. [trans]

Código Fuente de la Estrategia
/*backtest
start: 2023-11-14 00:00:00
end: 2023-11-15 10:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy(title='[RS]Khizon (UWTI) 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('USOIL', '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('USOIL', '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)