Estratégia quantitativa DPD-RSI-BB


Data de criação: 2023-11-22 16:17:52 última modificação: 2023-11-22 16:18:14
cópia: 0 Cliques: 667
1
focar em
1617
Seguidores

Estratégia quantitativa DPD-RSI-BB

Visão geral

A estratégia de quantificação DPD-RSI-BB é uma estratégia de negociação de ações que combina três indicadores simultaneamente: DPD, RSI e Brinks. A estratégia usa a tendência de DPD para julgar a tendência, o RSI para julgar a sobrevenda e o Brinks para julgar o nível de pressão de suporte.

Princípio da estratégia

A estratégia é composta por:

  1. Tendências de avaliação do DPD

Construir a média DEMA usando a média dupla da EMA e calcular a relação entre o preço e a diferença de preço da DEMA como um indicador para determinar a tendência, como um sinal de otimismo quando a diferença de preço é menor do que o limite estabelecido.

  1. Indicador RSI de sobrecompra e sobrevenda

Calcule o valor do RSI em um determinado período. O RSI é maior do que o limite superior definido como uma zona de compra excessiva e o RSI é menor do que o limite inferior definido como uma zona de venda excessiva.

  1. O julgamento de Brin sustenta a pressão

Calcule o meio, o topo e o fundo de um determinado ciclo, com o preço próximo ao topo como sinal de baixa e o preço próximo ao fundo como sinal de alta.

  1. Julgamento integrado

Quando o rácio de diferença de preço de DPD está abaixo da depressão, o RSI está abaixo do limite inferior da zona de superalimento e o preço está abaixo do traçado da faixa de Bolin, gera um sinal de baixa; Quando o RSI está acima do limite superior da zona de superalimento, o rácio de diferença de preço de DPD está acima da depressão e o preço está acima do traçado da faixa de Bolin, gera um sinal de baixa.

Análise de vantagens

A estratégia tem as seguintes vantagens:

  1. A análise de múltiplos indicadores permite evitar o erro de um único indicador.

  2. O indicador RSI é usado para avaliar sobrecompra e sobrevenda e para definir um ponto de parada antecipado.

  3. O indicador DPD é um bom indicador de tendências de preços, enquanto o Brinco é um bom indicador de pressões de suporte.

  4. A configuração flexível de diferentes parâmetros pode ser otimizada para diferentes ações.

Risco e otimização

A estratégia também apresenta alguns riscos:

  1. A combinação de múltiplos indicadores pode complicar a estratégia e dificultar a definição de parâmetros.

  2. Indicadores como DPD, RSI e outros estão atrasados, podendo perder o melhor momento de entrada.

  3. Os parâmetros precisam ser otimizados para se adaptar a diferentes ciclos e características de ações.

Otimizar a partir do seguinte:

  1. Ajustar os parâmetros do indicador para otimizar a entrada e saída.

  2. Aumentar os mecanismos de suspensão de perdas e controlar rigorosamente as perdas individuais.

  3. Teste diferentes ações e parâmetros de ciclo para avaliar a eficácia da estratégia.

Resumir

A estratégia DPD-RSI-BB integra vários indicadores de julgamento, evitando o falso sinal gerado por um único indicador. Através de otimização de parâmetros, pode ser uma estratégia de negociação de ações mais forte.

Código-fonte da estratégia
/*backtest
start: 2023-11-14 00:00:00
end: 2023-11-21 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version= 2
strategy("DPD+RSI+BB ",overlay=true)
price=close




//############### DPD  #################


buyper =input(-1,step=0.1)
sellper=input(0,step=0.1)
demalen = input(50,title="Dema Length")
e1= ema(close,demalen)
e2=ema(e1,demalen)
demaprice  =   2 * e1 - e2
demadifper =  ((price-demaprice)/price)*100


//############## DPD #####################

//############# RSI ####################


lengthrsi = input(6)
overSold = input( 20 )
overBought = input( 60 )

vrsi = rsi(price, lengthrsi)

//########## RSI #######################

//############### BB #################

lengthbb = input(50, minval=1)
multlow = input(1.5, minval=0.001, maxval=50,step=0.1)
multup = input(1.5,minval=0.001,maxval=50,step=0.1)

basisup = sma(close, lengthbb)
basislow = sma(close, lengthbb)

devup = multup * stdev(close, lengthbb)

devlow = multlow*stdev(close,lengthbb)

upperbb = basisup + devup
lowerbb = basislow - devlow

p1 = plot(upperbb, color=blue)
p2 = plot(lowerbb, color=blue)
fill(p1, p2)



//########### BB ###################




yearfrom = input(2018)
yearuntil =input(2039)
monthfrom =input(6)
monthuntil =input(12)
dayfrom=input(1)
dayuntil=input(31)



if (  (demadifper<buyper) and crossover(vrsi,overSold) and  (price < upperbb) and   year >= yearfrom and year <= yearuntil and month>=monthfrom and month <=monthuntil and dayofmonth>=dayfrom and dayofmonth < dayuntil) 
    strategy.entry("BUY", strategy.long, stop=close, oca_name="TREND",  comment="BUY")
    
else
    strategy.cancel(id="BUY")


if (   price>upperbb and vrsi>overBought and demadifper>sellper   and  year >= yearfrom and year <= yearuntil and month>=monthfrom and month <=monthuntil and dayofmonth>=dayfrom and dayofmonth < dayuntil ) 

    strategy.entry("SELL", strategy.short,stop=close, oca_name="TREND",  comment="SELL")
else
    strategy.cancel(id="SELL")