Esta é uma estratégia de negociação de ruptura de opções binárias que utiliza o indicador de impulso RSI combinado com o indicador Bollinger Bands BB. Em termos de pontualidade, o indicador TTM é usado para determinar se o mercado está em um estado de consolidação, melhorando assim a confiabilidade da entrada.
A lógica básica da estratégia é determinar a direção de ruptura com base nas Bandas de Bollinger e no indicador RSI sob a condição de que o conjunto de indicadores TTM forme uma ruptura. Especificamente, a estratégia usa 20 períodos de BB e 30 períodos de RSI. Quando o mercado atravessa o aperto, ela determina a direção de abertura quando o RSI está dentro de um certo intervalo de flutuação (30-70) e o BB tem uma grande ruptura (0,15 vezes o intervalo de flutuação). Além disso, a estratégia também verifica a direção de abertura da linha K anterior antes de abrir uma posição para evitar abertura repetida desnecessária.
As principais vantagens desta estratégia são:
Utilizando o indicador TTM para julgar o estado de negociação do mercado e evitar negociações sem sentido no mercado de consolidação.
A combinação de RSI e BB pode tornar as posições de abertura mais confiáveis. O indicador RSI julga se os preços estão sobrecomprados ou sobrevendidos; enquanto o indicador BB julga se os preços ocorreram um grande avanço. A combinação dos dois faz a estratégia lucrar com fortes tendências direcionais.
A lógica da estratégia considera certas otimizações, como evitar a abertura repetida, o que pode reduzir até certo ponto a mudança desnecessária de lucro e perda.
Os principais riscos desta estratégia são:
Risco de falha de quebra. Quando o indicador TTM não julga com precisão a tendência, o RSI e o BB ainda podem ter falhas. Nesse momento, a estratégia abre posições com base nos indicadores e pode eventualmente ficar presa. Para controlar esse risco, considere reduzir o tamanho da posição.
É fácil perder quando o mercado oscila. Quando o mercado está em um estado oscilante, o desempenho do indicador TTM não é ideal. Os indicadores RSI e BB também podem dar vários sinais falsos. Neste momento é muito fácil formar perdas. Para controlar esse risco, evite usar essa estratégia em mercados oscilantes óbvios.
A estratégia pode ser otimizada nos seguintes aspectos:
Otimizar os parâmetros do indicador TTM para ajustar o comprimento e os fatores do indicador.
Otimizar os parâmetros RSI e BB. A redução apropriada dos números de ciclos pode obter sinais de avanço mais oportunos e precisos. Ao mesmo tempo, a largura de banda do canal BB também pode testar diferentes valores.
Aumentar a lógica de stop loss. Uma vez que a estratégia não define um stop loss, para evitar que uma única perda seja muito grande, considere adicionar um stop loss móvel ou stop loss esperado.
A estratégia atual é executada em gráficos de 1 minuto. Para outras variedades de parâmetros (como 5 minutos), os parâmetros do indicador podem ser re-testados e otimizados para obter melhores combinações de parâmetros.
Esta estratégia utiliza o TTM para determinar a precisão da tendência e usa o RSI e BB para determinar as direções de ruptura. Em comparação com as estratégias de ruptura simples, seu tempo de entrada e otimização de parâmetros de indicadores são mais vantajosos, o que pode aumentar a lucratividade. Mas esta estratégia também apresenta certos riscos de falha e problemas de adaptabilidade em mercados oscilantes. Isso exige que ajustemos o tamanho da posição durante o uso e evitemos usá-la em mercados oscilantes. Com o uso de parâmetros e otimização de stop loss, esta estratégia pode se tornar uma estratégia de negociação de opções confiável.
/*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)