KDJ RSI Crossover Compra y venta de señales de estrategia

El autor:¿ Qué pasa?, Fecha: 2023-11-27 10:57:16
Las etiquetas:

img

Resumen general

Esta estrategia combina el indicador KDJ y el indicador RSI para determinar el momento de las compras y ventas.

Principio de la estrategia

La estrategia utiliza el cruce del indicador KDJ y el indicador RSI para juzgar el momento de las compras y ventas.

Específicamente, cuando la línea J del KDJ cruza por encima de la línea K desde abajo hacia arriba, se considera una señal de compra. Y cuando la línea J cruza por debajo de la línea K desde arriba hacia abajo, es una señal de venta. Esto significa comprar cuando la acción pasa de sobreventa a sobrecompra y vender cuando pasa de sobrecompra a sobreventa.

Al mismo tiempo, la estrategia incorpora el indicador RSI para juzgar la fuerza de las señales. RSI por debajo de 30 es sobreventa y RSI por encima de 70 es sobrecompra. Cuando el KDJ emite una señal de compra, si el indicador RSI también muestra sobreventa, mejora la confiabilidad de la señal de compra. Por el contrario, cuando el KDJ emite una señal de venta, si el RSI también muestra sobrecompra, mejora la confiabilidad de la señal de venta.

En resumen, esta estrategia genera señales comerciales en las siguientes situaciones:

Las señales de compra:

  1. La línea J de KDJ cruza la línea K Y el RSI ((6) < RSI ((12)
  2. KDJs J línea cruza encima de la línea K Y RSI(6) cruza encima de RSI(24)
  3. El RSI ((6) se cruza por encima del RSI ((24) Y el RSI ((6) < 40

Las señales de venta:

  1. La línea J de KDJ cruza por debajo de la línea K Y RSI(6) > RSI(12)
  2. KDJs J línea cruza debajo de la línea K Y RSI(6) cruza debajo de RSI(24)
  3. El RSI ((6) se cruza por debajo del RSI ((24) Y el RSI ((6) > 60

Ventajas

  1. La combinación del indicador KDJ y el indicador RSI hace que las señales de negociación sean más confiables.

  2. El indicador KDJ juzga el estado de sobrecompra/sobreventa, mientras que el indicador RSI juzga la fortaleza.

  3. Las condiciones de compra/venta múltiples evitan oportunidades perdidas debido a razones de un solo indicador.

  4. Los parámetros del RSI se establecen en períodos de 6, 12 y 24, que son adecuados para diferentes niveles del ciclo, lo que hace que la estrategia sea más versátil.

Análisis de riesgos

  1. Tanto el indicador KDJ como el RSI pueden dar señales falsas, lo que conduce a operaciones innecesarias.

  2. Las múltiples condiciones comerciales aumentan la complejidad de las operaciones estratégicas y requieren una verificación cuidadosa.

  3. La estrategia debe ser probada y optimizada en diferentes mercados, y los parámetros deben ajustarse.

Direcciones de mejora

  1. Prueba añadiendo otros indicadores como las bandas de Bollinger para fortalecer las señales comerciales.

  2. Optimizar los parámetros de KDJ y RSI para que se adapten a diferentes niveles del ciclo.

  3. Aumentar las normas de stop loss para controlar los riesgos.

  4. Añadir mecanismos automáticos de stop loss para detener la pérdida cuando los precios se invierten.

Conclusión

Esta estrategia combina las ventajas del indicador KDJ y el indicador RSI mediante el uso del cruce de los dos indicadores para determinar el momento de las compras y ventas, lo que mejora la precisión de las señales comerciales. El uso de indicadores RSI con diferentes parámetros también hace que la estrategia sea más versátil. Esta estrategia evita efectivamente el riesgo de señales falsas que pueden ocurrir con un solo indicador. Al mejorar los parámetros, agregar indicadores auxiliares, mecanismos de stop loss, etc., el rendimiento de esta estrategia puede mejorarse aún más.


/*backtest
start: 2022-11-20 00:00:00
end: 2023-11-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © innocentChart76064

//@version=5
strategy(title = "buy/sell KDJ RSI", overlay=true)

//Define KDJ parameter
kdj_length = input(9, title = "KDJ length")
signal = input(3,title="signal")

// Calculate KDJ values
bcwsma(s,l,m) => 
    _bcwsma = float(na)
    _s = s
    _l = l
    _m = m
    _bcwsma := (_m*_s+(_l-_m)*nz(_bcwsma[1]))/_l
    _bcwsma

c = close
h = ta.highest(high, kdj_length)
l = ta.lowest(low,kdj_length)
RSV = 100*((c-l)/(h-l))
kdj_k = bcwsma(RSV, signal, 1)
kdj_d = bcwsma(kdj_k, signal, 1)
kdj_j = 3 * kdj_k-2 * kdj_d

//Define RSI parameter 
rsi_length_1 = input(6)
rsi_length_2 = input(12)
rsi_length_3 = input(24)
price = close 

//Calculate RSI values
rsi_1 = ta.rsi(price, rsi_length_1)
rsi_2 = ta.rsi(price, rsi_length_2)
rsi_3 = ta.rsi(price, rsi_length_3)

// Trading conditions
longCondition = ta.crossover(kdj_j,kdj_k) and rsi_1 > rsi_2 or ta.crossover(kdj_j,kdj_k) and ta.crossover(rsi_1,rsi_3) or ta.crossover(rsi_1,rsi_3) and rsi_1<40
shortCondition = ta.crossunder(kdj_j,kdj_k) and rsi_1 < rsi_2 or ta.crossunder(kdj_j,kdj_k) and ta.crossunder(rsi_1,rsi_3) or ta.crossunder(rsi_1,rsi_3) and rsi_1>60
// Enter long trade
strategy.entry("Long", strategy.long, when=longCondition)

// Enter short trade
strategy.entry("Short", strategy.short, when=shortCondition)


Más.