Esta estratégia gera sinais de negociação baseados no cruzamento entre as Bandas de Bollinger e o indicador de Hull. Ele vai longo quando o indicador de Hull cruza acima da faixa inferior das Bandas de Bollinger e vai curto quando o indicador de Hull cruza abaixo da faixa superior das Bandas de Bollinger. A estratégia combina a estratégia de ruptura das Bandas de Bollinger e a estratégia de tendência do indicador de Hull para utilizar as vantagens de ambos.
A estratégia utiliza principalmente o cruzamento entre as bandas de Bollinger e o indicador Hull para gerar sinais de negociação.
As bandas de Bollinger contêm três linhas: linha média, linha superior e linha inferior. A linha média é a média móvel de N dias, enquanto as linhas superior e inferior são a linha média ± desvio padrão.
O indicador Hull é um indicador de tendência. Ele usa a diferença entre duas médias móveis ponderadas de períodos diferentes para determinar a tendência atual. Se a média móvel de curto período estiver acima da média móvel de longo período, ele indica uma tendência de alta e vice-versa.
A estratégia combina os pontos fortes de ambos os indicadores. Quando o indicador Hull cruza acima da faixa inferior das Bandas de Bollinger, considera-se que o preço das ações pode entrar em uma tendência de alta, então vá longo. Quando o indicador Hull cruza abaixo da faixa superior, considera-se que o preço das ações pode entrar em uma chamada de retorno para baixo, então vá curto.
Combina os pontos fortes das Bandas de Bollinger e do indicador Hull para tornar os sinais de negociação mais confiáveis.
Utiliza o indicador Hull para determinar a direção da tendência e as Bandas de Bollinger para determinar os níveis de suporte/resistência, gerando sinais cruzados para melhorar a rentabilidade.
Os parâmetros de ambos os indicadores podem ser otimizados para existências de ciclos diferentes, para ampliar a aplicabilidade.
A estratégia pode gerar mais sinais falsos durante os movimentos de alcance, causando perdas.
Os preços podem flutuar violentamente, fazendo com que ambos os indicadores emitam sinais simultaneamente.
A estratégia define o tamanho da posição para 100% diretamente.
Teste e otimize os parâmetros de ambos os indicadores para se adaptar a mais ciclos de acções.
Adicione filtros como volume de negociação ou volatilidade para evitar sinais errados durante a consolidação.
Otimizar as estratégias de stop loss definindo ordens de stop loss ou stop limit.
Ajustar as regras de dimensionamento da posição adicionando condições de reentrada para evitar a ampliação da perda.
Esta estratégia combina a estratégia de ruptura das Bandas de Bollinger e a estratégia de tendência do indicador Hull, usando sinais de cruzamento entre eles para alcançar efeitos de tendência e de ruptura. A estratégia tem forte adaptabilidade a ações de médio e curto prazo, sem grandes mudanças fundamentais.
/*backtest start: 2023-11-30 00:00:00 end: 2023-12-07 00:00:00 period: 30m basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy(title="Strategy Hull Bollinger", shorttitle="Hull bollinger",overlay=true, calc_on_order_fills=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, overlay=false) n=input(title="period",defval=3) n2ma=2*wma(close,round(n/2)) nma=wma(close,n) diff=n2ma-nma sqn=round(sqrt(n)) n2ma1=2*wma(close[1],round(n/2)) nma1=wma(close[1],n) diff1=n2ma1-nma1 sqn1=round(sqrt(n)) n1=wma(diff,sqn) n2=wma(diff1,sqn) c=n1>n2?green:red i = input(1) PP = close[i] length1 = input(20, minval=1) src = input(close, title="Source") mult = input(2.0, minval=0.001, maxval=10, step=0.2) basis = sma(src, length1) dev = mult * stdev(src, length1) upper = basis + dev lower = basis - dev TP = input(500) * 10 SL = input(500) * 10 TS = input(20) * 10 TO = input(10) * 10 CQ = 100 TPP = (TP > 0) ? TP : na SLP = (SL > 0) ? SL : na TSP = (TS > 0) ? TS : na TOP = (TO > 0) ? TO : na longCondition = crossover(n1,lower) if (longCondition) strategy.entry("Long", strategy.long) shortCondition = crossunder(n1,upper) if (shortCondition) strategy.entry("Short", strategy.short) strategy.exit("Close Short", "Short", qty_percent=CQ, profit=TPP, loss=SLP, trail_points=TSP, trail_offset=TOP) strategy.exit("Close Long", "Long", qty_percent=CQ, profit=TPP, loss=SLP, trail_points=TSP, trail_offset=TOP)