En la carga de los recursos... Cargando...

La estrategia de regresión por ruptura

El autor:¿ Qué pasa?, Fecha: 2024-03-01 11:58:56
Las etiquetas:

img

Resumen general

Este es un enfoque sistemático diseñado para capitalizar la volatilidad de los mercados de futuros de petróleo crudo. Mide el rango promedio de las velas. Si el promedio móvil rápido está por encima del lento, significa que las velas son más grandes. Si el promedio móvil lento está por encima del rápido, significa que las velas son más pequeñas.

De acuerdo con este principio, identifica los puntos de entrada potenciales largos y cortos.

Estrategia lógica

  1. Calcular el precio de cierre más alto de las 9 barras más recientes, como referencia de ruptura
  2. Calcular el precio de cierre más bajo de los 50 bares más recientes, como referencia de ruptura
  3. Comparar la volatilidad media de los últimos 5 y 20 bares para juzgar si el patrón de candlestick se está expandiendo o contrayendo
  4. Identificar señales largas y cortas: cuando el cierre es igual al cierre más alto y las velas se contraen, ir largo; cuando el cierre es igual al cierre más bajo y las velas se contraen, ir corto
  5. Posición de cierre después de un número fijo de barras después de la ruptura: parámetro ajustable

Análisis de ventajas

  1. Estrategia de regresión, juzgar la dirección comparando con los extremos históricos
  2. Combinar con la volatilidad, evitar las falsas rupturas
  3. Número fijo de barras para bloqueos de salida en algunos beneficios y evita la extracción

Análisis de riesgos

  1. Los extremos históricos cambian con los cambios en la estructura del mercado, las señales pueden fallar
  2. Las fugas falsas causan ser atrapados
  3. Intervalo de salida incorrecto puede perder mayor beneficio o aumentar pérdida

Optimización

  1. Los parámetros extremos se pueden optimizar mediante estadísticas de mercado
  2. Añadir métricas de volatilidad para evaluar la verdadera probabilidad de ruptura
  3. Optimizar el número de barras de salida a través del resultado de backtest

Resumen de las actividades

Esta estrategia utiliza la ruptura y la regresión para determinar tendencias a corto plazo, pertenecientes a las estrategias de volatilidad. Al optimizar los parámetros y agregar métricas de volatilidad para determinar la probabilidad de falsa ruptura, puede aumentar la rentabilidad. También el mecanismo de salida rápida bloquea algunos beneficios y controla los riesgos de manera efectiva. Puede servir como una herramienta auxiliar para el comercio a corto plazo, y también puede generar señales comerciales a largo plazo a través de la sintonización de parámetros.


/*backtest
start: 2024-02-01 00:00:00
end: 2024-02-29 23:59:59
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Celestial_Logic

//@version=5
strategy("Crudeoil Breakout strategy", overlay = true, initial_capital = 20000, default_qty_type = strategy.fixed, default_qty_value = 1)


highestCloseLookback = input(9 , title = 'Highest Close lookback')
lowestCloseLookback  = input(50, title = 'Lowest Close lookback'  ) 

exitAfter = input(10, title = 'Exit after bars')

hc = ta.highest(close,highestCloseLookback)
lc = ta.lowest(close,lowestCloseLookback)

rangeFilter = (ta.sma( (high - low), 5 ) > ta.sma((high-low), 20) ) // Candles getting bigger.

longCondition  = (close == hc ) and not rangeFilter
shortCondition = (close == lc ) and not rangeFilter
if  longCondition
    strategy.entry(id = 'long', direction = strategy.long) 
if shortCondition
    strategy.entry(id = 'short', direction = strategy.short)



var int longsince = 0 
var int shortsince = 0 

if strategy.position_size > 0 
    longsince += 1
else
    longsince := 0

if strategy.position_size < 0 
    shortsince += 1 
else 
    shortsince := 0

if longsince >= exitAfter 
    strategy.close(id = 'long', comment = 'long close')
if shortsince >= exitAfter
    strategy.close(id = 'short', comment = 'short close')



Más.