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

Estrategia de prueba posterior del canal STARC

El autor:¿ Qué pasa?, Fecha: 2023-12-05 14:52:20
Las etiquetas:

img

Resumen general

La Estrategia STARC Channel Backtest es una estrategia de trading cuantitativa basada en el indicador STARC. La estrategia construye los canales STARC superior e inferior para generar señales de compra y venta de ruptura. También incorpora mecanismos de cambio de posición larga y corta para adaptarse a diferentes entornos de mercado.

Principio de la estrategia

El núcleo de la Estrategia de prueba de retroceso del canal STARC es el indicador STARC, que incluye:

  • Línea de base: SMA móvil simple de n días
  • Banda superior: SMA + K × rango verdadero medio ATR
  • Bandas inferiores: SMA - K × ATR

Se genera una señal de compra cuando el precio de cierre rompe la banda superior, y una señal de venta cuando el precio de cierre rompe la banda inferior.

La estrategia calcula los rieles superior e inferior del canal STARC diariamente y juzga si el precio de cierre los rompe para generar señales comerciales. También establece un parámetro inverso para cambiar entre posiciones largas y cortas para adaptarse a diferentes condiciones del mercado.

Análisis de ventajas

La Estrategia de prueba posterior de canal STARC tiene las siguientes ventajas:

  1. Construir canales superiores e inferiores con el indicador STARC, buenos resultados de pruebas posteriores;
  2. Mecanismos integrados de cambio de posiciones largas y cortas para adaptarse a diversos entornos de mercado.
  3. Configuración de parámetros flexibles, tanto los valores de K como las longitudes de media móvil pueden ajustarse y optimizarse;
  4. Reglas estratégicas claras y fáciles de entender que sean fáciles de entender y aplicar;
  5. Indicadores visualizados para juzgar intuitivamente las posiciones del mercado.

Análisis de riesgos

La Estrategia STARC de Pruebas de Canal de Retroceso también tiene algunos riesgos:

  1. El indicador STARC se utiliza a menudo para operaciones a medio y largo plazo, y los resultados a corto plazo pueden no ser óptimos;
  2. Las operaciones de ruptura son propensas a quedar atrapadas en los golpes que requieren estrictas pérdidas de parada;
  3. Los parámetros invertidos incorrectos pueden llevar a una negociación excesivamente frecuente.
  4. La optimización incorrecta de parámetros puede conducir al ajuste de curvas.

Para mitigar los riesgos, deben adoptarse las siguientes medidas:

  1. Seleccionar los ciclos de negociación adecuados, como los ciclos diarios y otros a medio y largo plazo;
  2. Establecer posiciones de stop loss razonables para controlar las pérdidas de operaciones únicas;
  3. Se establecerán cuidadosamente los parámetros de marcha atrás para evitar el cambio excesivo de posiciones.
  4. Optimización de varios parámetros para evitar el sobreajuste.

Direcciones de optimización

Las principales direcciones de optimización para la Estrategia de prueba de retroceso del canal STARC incluyen:

  1. Optimización de parámetros: ajustar las longitudes de media móvil, los valores K, los ciclos ATR y otros parámetros para encontrar la combinación óptima de parámetros;
  2. Añadir mecanismos de stop loss: establecer la pérdida de stop de seguimiento, la pérdida de stop de tiempo, el porcentaje de stop loss, etc., para controlar los riesgos;
  3. Incorporar otros indicadores: añadir volumen de operaciones, bandas de Bollinger, etc. para filtrar para mejorar la eficiencia;
  4. Ajuste dinámico de los parámetros: optimiza y ajusta automáticamente los parámetros en función de los cambios del mercado para mejorar la estabilidad.

Estas direcciones de optimización pueden mejorar el rendimiento y la estabilidad de la estrategia al tiempo que controlan los riesgos.

Conclusión

El efecto general de la Estrategia de prueba de retroceso del canal STARC es bueno. Implementa el comercio de ruptura a medio y largo plazo basado en el indicador STARC. La ventaja de la estrategia es usar el canal STARC para generar señales comerciales estables, mientras establecemos mecanismos inversos para adaptarnos a los cambios del mercado. También necesitamos mitigar los riesgos estableciendo stop losses y optimizando parámetros para hacer que la estrategia sea más estable y eficiente. En general, esta estrategia es una herramienta efectiva para el comercio de ruptura a medio y largo plazo.


/*backtest
start: 2023-11-04 00:00:00
end: 2023-12-04 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 23/04/2018
// A type of technical indicator that is created by plotting two bands around 
// a short-term simple moving average (SMA) of an underlying asset's price. 
// The upper band is created by adding a value of the average true range 
// (ATR) - a popular indicator used by technical traders - to the moving average. 
// The lower band is created by subtracting a value of the ATR from the SMA.
// STARC is an acronym for Stoller Average Range Channels. The indicator is 
// named after its creator, Manning Stoller.
//
// You can change long to short in the Input Settings
// WARNING:
//  - For purpose educate only
//  - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="STARC Bands Backtest", overlay = true)
LengthMA = input(5, minval=1)
LengthATR = input(15, minval=1)
K = input(1.33, minval=0.01, step = 0.01)
reverse = input(false, title="Trade reverse")
xMA = sma(close, LengthMA)
xATR = atr(LengthATR)
xSTARCBandUp = xMA + xATR * K
xSTARCBandDn = xMA - xATR * K
pos = iff(close > xSTARCBandUp, 1,
       iff(close < xSTARCBandDn, -1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue ) 
plot(xMA, color=blue, title="MA")
plot(xSTARCBandUp, color = green, title="UpBand")
plot(xSTARCBandDn, color=red, title="DnBand")

Más.