Estratégia de indicador de momentum ADX, RSI


Data de criação: 2023-12-11 16:06:30 última modificação: 2023-12-11 16:06:30
cópia: 0 Cliques: 886
1
focar em
1621
Seguidores

Estratégia de indicador de momentum ADX, RSI

Visão geral

Esta estratégia usa os indicadores de dinâmica ADX, RSI e Brinks para determinar a tendência do mercado e a estratégia de negociação automática de compra e venda de baixa e alta, para obter lucro e sair.

Princípio da estratégia

  1. O indicador ADX julga a tendência. Quando o ADX é maior que 32, o mercado é considerado em tendência.
  2. O indicador RSI julga a sobrevenda e a sobrevenda. Quando o indicador RSI cruza os 30 graus, considera-se que o mercado está sobrevendido; Quando o indicador RSI cruza os 70 graus, considera-se que o mercado está sobrevendido.
  3. A correção e a ruptura da faixa de Brin são julgadas. Quando o preço de fechamento quebra a faixa de Brin, é considerado que a tendência terminou em alta; Quando o preço de fechamento caiu abaixo da faixa de Brin, é considerado que a tendência terminou em baixa.

De acordo com os indicadores acima, a estratégia de negociação para avaliar o estado do mercado é a seguinte:

Condições de compra:

  1. ADX>32, tendência
  2. O RSI sobe para 30 e está a ser superado.
  3. Preço de fechamento abaixo da faixa de Brin, encerrando a queda

Condições de venda:

  1. ADX>32, tendência
  2. RSI abaixo dos 70 e sobrecompra
  3. Preço de fechamento mais alto do que o de Brin, com a correção de um ponto final

Análise de vantagens

Esta estratégia usa vários indicadores para avaliar o estado do mercado, evitando a probabilidade de erro de avaliação de um único indicador. Ao mesmo tempo, através da tendência, o julgamento do estado de supercompra e supervenda, pode efetivamente bloquear o ponto de viragem do mercado e alcançar o baixo preço de compra e venda.

A estratégia pode capturar oportunidades de curto prazo mais rapidamente do que o uso de indicadores de tendência. A estratégia pode capturar melhor a direção da tendência do que o uso de indicadores de turbulência. Portanto, a estratégia mantém as vantagens de acompanhar a tendência e a flexibilidade de operar de forma contrária, uma estratégia de quantificação potencialmente mais eficiente.

Análise de Riscos

Os principais riscos desta estratégia são:

  1. Risco de que os indicadores emitam sinais errados. O julgamento dos indicadores pode falhar quando ocorrem eventos importantes no mercado.
  2. A posição de stop loss é um risco muito radical. Se a distância de stop loss for muito pequena, pode ser interrompida pela volatilidade do mercado a curto prazo.
  3. Risco de ajuste de parâmetros. Se os parâmetros do indicador forem ajustados apenas com base em dados históricos, a estabilidade dos parâmetros será pior e poderá não se adaptar às mudanças do mercado.

Correspondentes medidas de gestão de riscos:

  1. Intervenção artificial em mercados anormais, suspensão manual de estratégias, evitando perdas com sinais errados.
  2. Estabeleça uma distância de parada razoável e, ao mesmo tempo, use indicadores como a linha de equilíbrio para determinar o preço de parada e evitar a cobrança.
  3. Adição do módulo Parameter Tuning, otimizando dinamicamente os parâmetros usando o método Walk Forward Analysis, garantindo a estabilidade dos parâmetros.

Direção de otimização

A estratégia tem espaço para melhorias nas seguintes áreas:

  1. Parâmetros de indicadores de otimização Algoritmos de otimização inteligentes podem ser introduzidos para otimização independente de diferentes variedades de parâmetros

  2. Engenharia de recursos adicionais. Introdução de mais indicadores técnicos de preços, criação de modelos de suporte para treinamento, como vectores, e melhoria da precisão do sinal.

  3. Combinação de estratégias de ruptura. De acordo com as características de diferentes variedades, aplicar regras de julgamento baseadas em canais, resistência de suporte, etc., para controlar o ponto de ruptura e aumentar a estabilidade da estratégia.

  4. Otimizar o mecanismo de stop loss. Introduzir o rastreamento do stop loss, o stop loss móvel, etc., para realizar o ajuste dinâmico do stop loss, o bloqueio máximo dos lucros e o controle eficaz do risco.

Resumir

Esta estratégia é uma estratégia de negociação quantitativa de curto e médio prazo, que usa vários indicadores técnicos, como ADX, RSI e Brinbelt, para avaliar o estado do mercado. A lógica da estratégia é claramente interpretável e reduz significativamente a probabilidade de erros de julgamento em um único indicador técnico.

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

//@version=4
strategy("DAX Shooter 5M Strategy", overlay=true)

//Creo ADX
adxlen = input(14, title="ADX Smoothing")
dilen = input(14, title="DI Length")
th = input(title="threshold", type=input.integer, defval=20)
dirmov(len) =>
    up = change(high)
    down = -change(low)
    plusDM = na(up) ? na : up > down and up > 0 ? up : 0
    minusDM = na(down) ? na : down > up and down > 0 ? down : 0
    truerange = rma(tr, len)

    plus = fixnan(100 * rma(plusDM, len) / truerange)
    minus = fixnan(100 * rma(minusDM, len) / truerange)

    [plus, minus]

adx(dilen, adxlen) =>
    [plus, minus] = dirmov(dilen)
    sum = plus + minus
    adx = 100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), adxlen)
    adx


[plus, minus] = dirmov(dilen)
sig = adx(dilen, adxlen)

//Creo RSI

src = close
len = input(7, minval=1, title="Periodo RSI")
up = rma(max(change(src), 0), len)
down = rma(-min(change(src), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - 100 / (1 + up / down)
bandainf = input(30, title="Livello Ipervenduto")
bandasup = input(70, title="Livello Ipercomprato")


//Creo Bande di Bollinger

source = close
length = input(50, minval=1, title="Periodo BB")
mult = input(2.0, minval=0.001, maxval=50, title="Dev BB")

basis = sma(source, length)
dev = mult * stdev(source, length)

upper = basis + dev
lower = basis - dev

plot(basis, color=color.white)
p1 = plot(upper, color=color.aqua)
p2 = plot(lower, color=color.aqua)
fill(p1, p2)

//Stabilisco regole di ingresso

if crossover(rsi, bandainf) and adx(dilen, adxlen) > 32 and low < lower
    strategy.entry("COMPRA", strategy.long, limit=upper, oca_name="DaxShooter", comment="COMPRA")
else
    //strategy.exit("exit", "COMPRA", loss = 90) 
    strategy.cancel(id="COMPRA")

if crossunder(rsi, bandasup) and adx(dilen, adxlen) > 32 and high > upper
    strategy.entry("VENDI", strategy.short, limit=lower, oca_name="DaxShooter",comment="VENDI")
else
    //strategy.exit("exit", "VENDI", loss = 90)
    strategy.cancel(id="VENDI")

//Imposto gli alert
buy= crossover(rsi, bandainf) and adx(dilen, adxlen) > 32 and low < lower
sell= crossunder(rsi, bandasup) and adx(dilen, adxlen) > 32 and high > upper
alertcondition(buy, title='Segnale Acquisto', message='Compra DAX')
alertcondition(sell, title='Segnale Vendita', message='Vendi DAX')

//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)