123 Estrategia combinada de inversiones y bandas STARC

El autor:¿ Qué pasa?, Fecha: 2023-12-04 13:38:30
Las etiquetas:

img

Resumen general

Esta estrategia genera señales comerciales más precisas al combinar la estrategia de reversión 123 y la estrategia de bandas STARC. La estrategia de reversión 123 juzga las oportunidades de rebote inferior a través de patrones de reversión de la línea K. La estrategia de bandas STARC utiliza las rupturas de precios de las bandas para determinar la dirección de la tendencia.

Estrategia lógica

123 Estrategia de reversión

Esta estrategia se originó en la página 183 del libro Cómo triplicé mi dinero en el mercado de futuros de Ulf Jensen. La idea de negociación es tomar posiciones largas cuando los precios muestran reversiones a la baja como oportunidades para rebotes inferiores, y tomar posiciones cortas cuando los precios muestran reversiones al alza como oportunidades para reversiones de tendencia.

Signales largos: Cuando el precio de cierre es superior al precio de cierre del día anterior durante dos días consecutivos, y la media móvil de 9 días de la línea lenta K está por debajo de 50, vaya largo.

Cuando el precio de cierre es inferior al precio de cierre del día anterior durante dos días consecutivos, y la media móvil de 9 días de la línea rápida K está por encima de 50, vaya corto.

Estrategia de las bandas STARC

Esta estrategia juzga la dirección de la tendencia trazando bandas alrededor de un promedio móvil simple a corto plazo del precio. La banda superior se construye agregando el rango verdadero promedio (ATR) por encima del promedio móvil. La banda inferior se construye restando ATR del promedio móvil.

STARC es la abreviatura de Stoller Average Range Channels. El indicador lleva el nombre de su creador, Manning Stoller.

Análisis de ventajas

El uso de ambas estrategias mejora la precisión de las señales comerciales. La estrategia 123 Reversal captura oportunidades de reversión. La estrategia STARC Bands juzga la dirección de la tendencia. Las dos estrategias se complementan para reducir las señales falsas y mejorar la tasa de ganancia.

Además, la estrategia 123 Reversal ayuda a evitar perseguir nuevos máximos o mínimos después de las rupturas del mercado.

Análisis de riesgos

El mayor riesgo de esta estrategia es la incapacidad de evitar completamente las pérdidas de operaciones y las pérdidas consecutivas. Aunque la combinación de las dos estrategias puede reducir las señales falsas, aún pueden ocurrir juicios incorrectos bajo ciertas condiciones de mercado.

Otro riesgo radica en la configuración inadecuada de parámetros que pueden conducir a un mal rendimiento de la estrategia.

Direcciones de optimización

Hay margen para una mayor optimización de esta estrategia:

  1. Añadir estrategias de stop loss, tales como paradas de precios o paradas de indicadores para evitar grandes pérdidas en las operaciones;

  2. Añadir condiciones de entrada como la confirmación de precios para evitar precios de entrada desfavorables;

  3. Realizar una optimización de parámetros para encontrar las combinaciones de parámetros más adecuadas para el producto y el período de tiempo;

  4. Añadir ideas dinámicas de salida para ajustar posiciones basadas en los cambios del mercado.

Resumen de las actividades

Esta estrategia combina las estrategias 123 Reversal y STARC Bands, utilizando las ventajas de ambas estrategias para juzgar las inversiones de tendencia y la dirección. Puede reducir eficazmente las señales falsas y mejorar la eficiencia comercial. También optimiza los problemas existentes al usar solo cualquiera de las estrategias. A través de la optimización continua, esta estrategia puede convertirse en una estrategia comercial cuantitativa estable y confiable.


/*backtest
start: 2023-11-26 00:00:00
end: 2023-12-03 00:00:00
period: 45m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 28/07/2021
// This is combo strategies for get a cumulative signal. 
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The 
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close 
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. 
// The strategy sells at market, if close price is lower than the previous close price 
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
// 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.
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
    vFast = sma(stoch(close, high, low, Length), KSmoothing) 
    vSlow = sma(vFast, DLength)
    pos = 0.0
    pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
	         iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) 
	pos


STARC(LengthMA,LengthATR,K) =>
    pos = 0.0
    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))) 
    pos

strategy(title="Combo Backtest 123 Reversal & STARC Bands", shorttitle="Combo", overlay = true)
line1 = input(true, "---- 123 Reversal ----")
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
line2 = input(true, "---- STARC Bands ----")
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")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posSTARC = STARC(LengthMA,LengthATR,K)
pos = iff(posReversal123 == 1 and posSTARC == 1 , 1,
	   iff(posReversal123 == -1 and posSTARC == -1, -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)	 
if (possig == 0) 
    strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )

Más.