Estrategia de reversión del eje

El autor:¿ Qué pasa?, Fecha: 2023-09-26 17:38:56
Las etiquetas:

Resumen general

La estrategia de reversión de pivote es una estrategia de negociación de ruptura que combina el concepto de niveles de soporte y resistencia de pivote.

Estrategia lógica

La estrategia primero calcula los precios más altos y más bajos durante un período especificado (por ejemplo, 4 barras) como los niveles de resistencia y soporte del pivote. Luego monitorea la acción del precio en tiempo real y determina si el precio rompe los niveles del pivote.

  1. Utilice la función pivothigh para calcular el precio más alto para la resistencia de pivot swh
  2. Utilice la función pivotlow para calcular el precio más bajo para el soporte pivot swl
  3. Ir corto (estrategia.corto) cuando los precios rompen por encima de la resistencia de pivote
  4. Ir largo (estrategia.largo) cuando los precios se rompen por debajo del soporte de pivote

La lógica de la estrategia es simple y clara: tomar posiciones inversas cuando los precios rompen los niveles pivotes.

Análisis de ventajas

La estrategia de reversión del eje tiene varias ventajas:

  1. La idea de la estrategia es simple y fácil de entender para los principiantes.
  2. El uso de niveles de pivote para determinar la inversión de tendencia es robusto contra el ruido del mercado a corto plazo.
  3. Sólo la negociación en breakouts pivotal evita frecuencias de negociación excesivas.
  4. El control de las horas de negociación ayuda a evitar los riesgos de la noche a la mañana.
  5. El código conciso es fácil de optimizar.

Análisis de riesgos

También hay algunos riesgos a tener en cuenta:

  1. Los niveles de pivote no garantizan una predicción de tendencia perfecta y son posibles falsas rupturas.
  2. Las señales pivotal por sí solas pueden causar una entrada prematura. Otros indicadores deben confirmar la señal de negociación.
  3. No tiene en cuenta el régimen del mercado ni las características individuales de las existencias, que conducen a riesgos sistémicos.
  4. El soporte y la resistencia borrosos aumentan las posibilidades de fracaso en las rupturas.

Para controlar los riesgos, las optimizaciones recomendadas incluyen el uso de stop loss móviles para seguir la tendencia principal, emparejar acciones con las condiciones del mercado y reducir las tasas de false breakout.

Direcciones de optimización

Considerando los riesgos, las optimizaciones futuras pueden centrarse en:

  1. Optimización de parámetros de pivote como el aumento del período de cálculo para mejorar la tasa de éxito.

  2. Añadir un stop loss móvil para seguir la tendencia principal y reducir los riesgos de reversión.

  3. Incorporar otros indicadores como el MACD para confirmar la tendencia y evitar fallas.

  4. Clasificar las poblaciones por rasgos y establecer parámetros únicos.

  5. Optimizar las horas de negociación para diferentes mercados como las acciones de EE.UU. y Hong Kong.

  6. Considerando la tendencia general del mercado para el comercio selectivo.

Conclusión

En general, la estrategia de inversión pivot es una gran estrategia de ruptura simple para que los principiantes la aprendan. Identifica los niveles de reversión de manera limpia utilizando puntos pivot. Si bien existen riesgos, la optimización de parámetros, stop loss, horas de negociación e incorporación de indicadores pueden convertirla en una estrategia de negociación robusta a corto plazo.


/*backtest
start: 2023-09-18 00:00:00
end: 2023-09-20 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("Pivot Reversal Strategy", overlay=true)

// === BACKTEST RANGE ===
FromMonth = input(defval = 2, title = "From Month", minval = 1)
FromDay   = input(defval = 1, title = "From Day", minval = 1)
FromYear  = input(defval = 2018, title = "From Year", minval = 2014)
ToMonth   = input(defval = 1, title = "To Month", minval = 1)
ToDay     = input(defval = 1, title = "To Day", minval = 1)
ToYear    = input(defval = 9999, title = "To Year", minval = 2014)


leftBars = input(4)
rightBars = input(2)

swh = pivothigh(leftBars, rightBars)
swl = pivotlow(leftBars, rightBars)

swh_cond = not na(swh)

hprice = 0.0
hprice := swh_cond ? swh : hprice[1]

le = false
le := swh_cond ? true : (le[1] and high > hprice ? false : le[1])

if (le)
    strategy.entry("PivRevLE", strategy.long, comment="PivRevLE", stop=hprice + syminfo.mintick)

swl_cond = not na(swl)

lprice = 0.0
lprice := swl_cond ? swl : lprice[1]


se = false
se := swl_cond ? true : (se[1] and low < lprice ? false : se[1])

if (se)
    strategy.entry("PivRevSE", strategy.short, comment="PivRevSE", stop=lprice - syminfo.mintick)

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

Más.