Estrategia de TTM de impulso para el avance

El autor:¿ Qué pasa?, Fecha: 2023-11-21 15:07:38
Las etiquetas:

img

Resumen general

Esta es una estrategia de negociación de ruptura de opciones binarias que utiliza el indicador de impulso RSI combinado con el indicador de Bollinger Bands BB. En términos de puntualidad, el indicador TTM se utiliza para determinar si el mercado está en un estado de consolidación, mejorando así la fiabilidad de la entrada.

Principio

La lógica básica de la estrategia es determinar la dirección de ruptura basada en las bandas de Bollinger y el indicador RSI bajo la condición de que el conjunto de indicadores TTM forme un avance. Específicamente, la estrategia utiliza 20 períodos de BB y 30 períodos de RSI. Cuando el mercado rompe la presión, determina la dirección de apertura cuando el RSI está dentro de un cierto rango de fluctuación (30-70) y el BB tiene un gran avance (0,15 veces el rango de fluctuación). Además, la estrategia también verifica la dirección de apertura de la línea K anterior antes de abrir una posición para evitar la apertura repetida innecesaria.

Ventajas

Las principales ventajas de esta estrategia son las siguientes:

  1. Utilizando el indicador TTM para juzgar el estado de las operaciones del mercado y evitar operaciones sin sentido en el mercado de consolidación.

  2. La combinación de RSI y BB puede hacer que las posiciones de apertura sean más confiables. El indicador RSI juzga si los precios están sobrecomprados o sobrevendidos; mientras que el indicador BB juzga si los precios han producido un gran avance. La combinación de los dos hace que la estrategia obtenga ganancias de fuertes tendencias direccionales.

  3. La lógica de la estrategia considera ciertas optimizaciones, como evitar la apertura repetida, lo que puede reducir en cierta medida el cambio innecesario de ganancias y pérdidas.

Análisis de riesgos

Los principales riesgos de esta estrategia son:

  1. El riesgo de fracaso de la ruptura. Cuando el indicador TTM no juzga con precisión la tendencia, el RSI y BB aún pueden tener falsas rupturas. En este momento, la estrategia abre posiciones basadas en los indicadores, y eventualmente puede quedar atrapada. Para controlar este riesgo, considere reducir el tamaño de la posición.

  2. Es fácil perder cuando el mercado oscila. Cuando el mercado está en un estado oscilante, el rendimiento del indicador TTM no es ideal. Los indicadores RSI y BB también pueden dar múltiples señales falsas. En este momento es muy fácil formar pérdidas. Para controlar este riesgo, evite usar esta estrategia en mercados obvios oscilantes.

Optimización

La estrategia se puede optimizar en los siguientes aspectos:

  1. Optimizar los parámetros del indicador TTM para ajustar la longitud y los factores del indicador.

  2. Optimizar los parámetros de RSI y BB. Acortar adecuadamente los números de ciclo puede obtener señales de avance más oportunas y precisas. Al mismo tiempo, el ancho de banda del canal BB también puede probar diferentes valores.

  3. Aumentar la lógica de stop loss. Dado que la estrategia no establece un stop loss, para evitar que una sola pérdida sea demasiado grande, considere agregar un stop loss móvil o un stop loss esperado.

  4. Se pueden probar diferentes variedades de parámetros. La estrategia actual se ejecuta en gráficos de 1 minuto. Para otras variedades de parámetros (como 5 minutos), los parámetros del indicador se pueden volver a probar y optimizar para obtener mejores combinaciones de parámetros.

Conclusión

Esta estrategia utiliza TTM para determinar la precisión de la tendencia y utiliza RSI y BB para determinar las direcciones de avance. En comparación con las estrategias de avance simples, su tiempo de entrada y optimización de parámetros de indicadores son más ventajosos, lo que puede aumentar la rentabilidad. Pero esta estrategia también plantea ciertos riesgos de fallo y problemas de adaptabilidad en los mercados oscilantes. Esto requiere que ajustemos el tamaño de la posición durante el uso y evitemos su uso en los mercados oscilantes. Con un mayor parámetro y optimización de stop loss, esta estrategia puede convertirse en una estrategia de trading de opciones confiable.


/*backtest
start: 2022-11-14 00:00:00
end: 2023-11-20 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy (title="EA_Binary Option Spfrat Strategy", shorttitle="Spyfrate_Binary Option 5min", overlay=false, pyramiding=1999, initial_capital=60000, currency=currency.USD)

// TTM Squeeze code
lengthttm = input(title="Length",  defval=20, minval=0) 
bband(lengthttm, mult) =>
	sma(close, lengthttm) + mult * stdev(close, lengthttm)
keltner(length, mult) =>
	ema(close, lengthttm) + mult * ema(tr, lengthttm)

e1 = (highest(high, lengthttm) + lowest(low, lengthttm)) / 2 + sma(close, lengthttm)
osc = linreg(close - e1 / 2, lengthttm, 0)
diff = bband(lengthttm, 2) - keltner(lengthttm, 1)
osc_color = osc[1] < osc[0] ? osc[0] >= 0 ? #00ffff : #cc00cc : osc[0] >= 0 ? #009b9b : #ff9bff
mid_color = diff >= 0 ? green : red
conso = diff >= 0?1:0

//plot(osc, color=osc_color, style=histogram, linewidth=2)
//plot(0, color=mid_color, style=circles, linewidth=3)

// BB Init
source = close
length = input(50, minval=1)
mult = input(0.2, title="Mult Factor", minval=0.001, maxval=50)
alertLevel=input(0.1)
impulseLevel=input(0.75)
showRange = input(false, type=bool)

//RSI CODE
src = close, 
up = rma(max(change(src), 0), 30)
down = rma(-min(change(src), 0), 30)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))

//BB CODE
basis = sma(source, length)
dev = mult * stdev(source, length)
upper = basis + dev
lower = basis - dev
bbr = source>upper?(((source-upper)/(upper-lower))/10): source<lower?(((source-lower)/(upper-lower))/10) : 0.05
bbi = bbr - nz(bbr[1]) 
//Rule
long1 = rsi>50.5 and rsi<70 and  bbi>0.15  and osc>0.00100 and conso>0
short1 = rsi<49.5 and rsi>30 and  bbi<-0.15 and osc<-0.00100 and conso>0
//
long = long1[1] == 0 and long1 == 1
short = short1[1] == 0 and short1 == 1
longclose = long[5] == 1
shortclose = short[5] == 1

//Alert

strategy.entry("short", strategy.short, when=short)
strategy.entry("long", strategy.long, when=long)
plot(long,"long",color=green,linewidth=1)
plot(short,"short",color=red,linewidth=1)
strategy.close("long",when=longclose)
strategy.close("short",when=shortclose)

//strategy.exit(id="long",qty = 100000,when=longclose)
//strategy.exit(id="short",qty = 100000,when=shortclose)
plot(longclose,"close",color=blue,linewidth=1)
plot(shortclose,"close",color=orange,linewidth=1)
//strategy.exit(id="Stop", profit = 20, loss = 100)

Más.