Confirmación de la estrategia de divergencia

El autor:¿ Qué pasa?, Fecha: 2024-01-15 15:19:56
Las etiquetas:

img

Resumen general

La estrategia de divergencia confirmada utiliza las señales de doble divergencia del indicador RSI y el Awesome Oscillator para determinar puntos de entrada más confiables. Cuando los precios forman nuevos máximos o mínimos mientras que los indicadores RSI y AO forman inversiones de máximos o mínimos, es una señal de divergencia. Esta estrategia requiere divergencia de ambos indicadores al mismo tiempo para filtrar algunas señales falsas y mejorar la efectividad de la entrada.

Principio de la estrategia

Esta estrategia evalúa los puntos de compra y venta en función de la divergencia entre la magnitud de las subidas y bajadas de precios y los valores de los indicadores RSI y AO.

Divergencia alcista: los precios forman un mínimo más reciente mientras que el RSI y el AO forman máximos más recientes, es decir, los precios caen mientras que el RSI y el AO aumentan, lo que constituye una señal de divergencia alcista.

Divergencia bajista: los precios forman un máximo más reciente mientras que RSI y AO forman mínimos más recientes, es decir, los precios aumentan mientras que RSI y AO caen, lo que constituye una señal de divergencia bajista.

La estrategia requiere que ambos indicadores cumplan simultáneamente con los criterios de divergencia para evitar señales erróneas de divergencia falsa de un solo indicador.

Análisis de ventajas

Esta estrategia tiene las siguientes ventajas:

  1. El doble filtrado de indicadores aumenta la fiabilidad de las señales y evita señales de divergencia falsa de un solo indicador.

  2. El uso de las características de divergencia de los indicadores para determinar los puntos de compra y venta tiene una posibilidad relativamente pequeña de retroceso.

  3. Las señales de divergencia tienen una buena sostenibilidad y un mayor potencial de ganancia.

  4. Establecer el stop loss cerca del soporte o resistencia clave reduce la posibilidad de grandes pérdidas individuales.

Análisis de riesgos

Esta estrategia también tiene algunos riesgos:

  1. Las condiciones para el doble filtrado se cumplen con menos frecuencia, lo que puede suponer la pérdida de algunas oportunidades comerciales.

  2. La divergencia no es una señal confiable al 100% y pueden producirse pérdidas en algunas situaciones individuales.

  3. La regulación de los parámetros incorrectos para las bandas de Bollinger puede dar lugar a un stop loss demasiado flojo o demasiado ajustado.

Direcciones de optimización

Esta estrategia se puede optimizar de varias maneras:

  1. Ajustar los parámetros del ciclo para juzgar la divergencia para optimizar los parámetros de las señales de divergencia.

  2. Prueba diferentes métodos de stop loss, como el stop trailing o el stop loss dinámico.

  3. Aumentar el filtrado por otros indicadores como el volumen de operaciones para mejorar aún más la fiabilidad de la señal.

  4. Considerar de forma exhaustiva las tendencias, el soporte/resistencia y otros factores para identificar la calidad de las señales de divergencia.

Resumen de las actividades

La estrategia de divergencia confirmada determina los puntos de entrada a través de las señales de doble divergencia de RSI y AO. El mecanismo de doble filtrado reduce efectivamente las señales falsas y aumenta la rentabilidad. La estrategia también establece stop loss en niveles clave para controlar los riesgos, con buenas características de riesgo-recompensa. Mediante la optimización de parámetros, el aumento del filtrado de señales, etc., la estabilidad y el efecto comercial de la estrategia pueden mejorarse aún más.


/*backtest
start: 2023-12-15 00:00:00
end: 2024-01-14 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("Confirmed Divergence Strategy", overlay=true)
source = close
length = input(30, minval=1)
mult = input(2.0, minval=0.001, maxval=50)
// SETTING UP VARIABLES //

src = close

// RSI //
rsiprd = input(title="RSI period",defval=14)
rv = rsi(src,rsiprd)
ob = input(title="Overbought Level",  defval=70)
os = input(title="Oversold Level",  defval=30)
lengthAO1=input(title="Awesome Short MA", defval=5, minval=1) //5 periods
lengthAO2=input(title="Awesome Long MA", defval=34, minval=1) //34 periods


//Awesome//

AO = sma((high+low)/2, lengthAO1) - sma((high+low)/2, lengthAO2)

// look back periods //
x = input(title = "short lookback period",defval=5)
z = input(title = "long lookback period",defval=25)


// END SETUP //

////////////////////////
// BULLISH DIVERGENCE //
////////////////////////

// define lower low in price //

srcLL = src > lowest(src,x) and  lowest(src,x)<lowest(src,z)[x]

// define higher low in rsi //

rsiHL = rv>lowest(rv,x) and lowest(rv,x) > lowest(rv,z)[x] and lowest(rv,z)<os

// define higher low in AO //


aoHL = AO > lowest(AO,x) and lowest(AO,x) > lowest(AO,z)[x] and lowest(AO, x) < 0



BullishDiv = srcLL and rsiHL and aoHL


////////////////////////
// BEARISH DIVERGENCE //
////////////////////////

// define higher high in price //

srcHH = src < highest(src,x) and  highest(src,x)>highest(src,z)[x]

// define lower high in RSI //

rsiLH = rv<highest(rv,x) and highest(rv,x) < highest(rv,z)[x] and highest(rv,z)>ob

// define lower high in AO //
aoLH = AO<highest(AO,x) and highest(AO,x) < highest(AO,z)[x] and highest(AO, x) > 0

BearishDiv = srcHH and rsiLH and aoLH


basis = sma(source, length)
dev = mult * stdev(source, length)

upper = basis + dev
lower = basis - dev



if (BullishDiv)
    strategy.entry("DivLE", strategy.long, stop=lower, oca_name="BullishDiv",comment="DivLE")
else
    strategy.cancel(id="DivLE")
    
if (crossover(close, lower))
    strategy.close("DivSE")
    
if (crossunder(close, upper))
    strategy.close("DivLE")

if (BearishDiv)
    strategy.entry("DivSE", strategy.short, stop=upper, oca_name="BearishDiv",comment="DivSE")
else
    strategy.cancel(id="DivSE")

//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)


Más.