
A estratégia de confirmação de dispersação usa o sinal de dispersação dupla do indicador RSI e do indicador Awesome Oscillator para determinar o momento de entrada mais confiável. Quando o preço forma uma nova alta ou baixa, e o RSI e o indicador AO formam um alto ou baixo invertido, é um sinal de dispersação.
A estratégia baseia-se na variação entre os valores do RSI e do indicador AO para determinar o ponto de venda e venda. Os critérios de avaliação são os seguintes:
Multi-hair spread: o preço forma novos baixos mais recentes, enquanto o RSI e o AO formam novos altos mais recentes, ou seja, o preço cai e o RSI e o AO sobem, formando um sinal de multi-hair spread.
Descolamento de cabeça vazia: o preço forma novos altos mais recentes, enquanto o RSI e o AO formam novos baixos mais recentes, ou seja, o preço sobe e o RSI e o AO caem, formando um sinal de descolamento de cabeça vazia.
A estratégia requer que os dois indicadores atendam às condições de dispersação ao mesmo tempo, evitando assim os sinais errôneos causados pela dispersação falsa de um único indicador. Quando o sinal de dispersação for estabelecido, configure um stop loss em um ponto de perda próximo ao sub-carril ou ao sub-carril com o Brin, especificamente acima do subcarril ou abaixo do subcarril.
A estratégia tem as seguintes vantagens:
A filtragem de duplo indicador aumenta a confiabilidade do sinal, evitando a falha de um único indicador.
O indicador é usado para determinar os pontos de venda e venda, com menor probabilidade de retirada.
O sinal de difusão tem uma boa continuidade e uma grande margem de lucro.
Estabeleça um stop loss perto de um suporte ou resistência chave para minimizar a possibilidade de grandes perdas individuais.
A estratégia também apresenta alguns riscos:
As condições de dupla filtragem têm menos tempo de vigência, podendo perder algumas oportunidades de negociação.
A difusão não é um sinal 100% confiável, podendo ocasionar perdas em situações individuais.
A configuração inadequada dos parâmetros da faixa de brinquedos pode levar a que o impedimento fique muito leve ou muito estreito.
A estratégia pode ser melhorada em vários aspectos:
Ajustar os parâmetros do ciclo de julgamento de difusão e otimizar os parâmetros do sinal de difusão.
Teste diferentes formas de parar, como trailing stop ou stop dinâmico.
Adicionar filtros de outros indicadores, como volume de transações, para aumentar ainda mais a confiabilidade do sinal.
Considerando fatores como tendências, resistência de suporte e outros, identifique a qualidade do sinal de dispersação.
A estratégia de verificação de dispersação através do duplo sinal de dispersação de RSI e AO julgar a hora de entrar no mercado, o mecanismo de dupla filtragem efetivamente reduz os falsos sinais, aumentar a probabilidade de lucro. A estratégia também está em um ponto crítico para definir o stop loss para controlar o risco, com melhores características de ganho de risco. Os meios de otimização de parâmetros, aumento de filtragem de sinais, etc., podem melhorar ainda mais a estabilidade da estratégia e a eficácia da negociação.
/*backtest
start: 2023-12-15 00:00:00
end: 2024-01-14 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("Confirmed Divergence Strategy", overlay=true)
source = close
length = input(30, minval=1)
mult = input(2.0, minval=0.001, maxval=50)
// SETTING UP VARIABLES //
src = close
// RSI //
rsiprd = input(title="RSI period",defval=14)
rv = rsi(src,rsiprd)
ob = input(title="Overbought Level", defval=70)
os = input(title="Oversold Level", defval=30)
lengthAO1=input(title="Awesome Short MA", defval=5, minval=1) //5 periods
lengthAO2=input(title="Awesome Long MA", defval=34, minval=1) //34 periods
//Awesome//
AO = sma((high+low)/2, lengthAO1) - sma((high+low)/2, lengthAO2)
// look back periods //
x = input(title = "short lookback period",defval=5)
z = input(title = "long lookback period",defval=25)
// END SETUP //
////////////////////////
// BULLISH DIVERGENCE //
////////////////////////
// define lower low in price //
srcLL = src > lowest(src,x) and lowest(src,x)<lowest(src,z)[x]
// define higher low in rsi //
rsiHL = rv>lowest(rv,x) and lowest(rv,x) > lowest(rv,z)[x] and lowest(rv,z)<os
// define higher low in AO //
aoHL = AO > lowest(AO,x) and lowest(AO,x) > lowest(AO,z)[x] and lowest(AO, x) < 0
BullishDiv = srcLL and rsiHL and aoHL
////////////////////////
// BEARISH DIVERGENCE //
////////////////////////
// define higher high in price //
srcHH = src < highest(src,x) and highest(src,x)>highest(src,z)[x]
// define lower high in RSI //
rsiLH = rv<highest(rv,x) and highest(rv,x) < highest(rv,z)[x] and highest(rv,z)>ob
// define lower high in AO //
aoLH = AO<highest(AO,x) and highest(AO,x) < highest(AO,z)[x] and highest(AO, x) > 0
BearishDiv = srcHH and rsiLH and aoLH
basis = sma(source, length)
dev = mult * stdev(source, length)
upper = basis + dev
lower = basis - dev
if (BullishDiv)
strategy.entry("DivLE", strategy.long, stop=lower, oca_name="BullishDiv",comment="DivLE")
else
strategy.cancel(id="DivLE")
if (crossover(close, lower))
strategy.close("DivSE")
if (crossunder(close, upper))
strategy.close("DivLE")
if (BearishDiv)
strategy.entry("DivSE", strategy.short, stop=upper, oca_name="BearishDiv",comment="DivSE")
else
strategy.cancel(id="DivSE")
//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)