Estratégia de acompanhamento de tendências com base em DMI e RSI


Data de criação: 2024-01-25 15:56:41 última modificação: 2024-01-25 15:56:41
cópia: 0 Cliques: 1037
1
focar em
1617
Seguidores

Estratégia de acompanhamento de tendências com base em DMI e RSI

Descrição

Esta estratégia combina o indicador DMI para determinar a direção da tendência e o indicador RSI para determinar a sobrevenda e a sobrevenda, permitindo uma estratégia de negociação mais completa. Quando o indicador DMI determina uma tendência e o indicador RSI mostra uma sobrevenda ou uma sobrevenda, deve-se fazer um sobrevenda ou uma sobrevenda.

Princípios da estratégia

  1. Utilizando o DMI para determinar a direção da tendência
    • O DMI é composto por três curvas: +DI indica uma tendência ascendente, -DI indica uma tendência descendente, e o ADX determina a força da tendência
    • Quando +DI>-DI é uma tendência ascendente, faça mais; quando -DI>+DI é uma tendência decrescente, faça um curto
  2. O indicador RSI é usado para avaliar o excesso de compra e venda.
    • O RSI julga se está a ser sobrecomprado ou sobrevendido ao comparar a média de alta e baixa de fechamento de um período
    • RSI abaixo de 30 é um excesso de venda, acima de 70 é um excesso de compra
  3. A combinação de DMI para determinar a direção da tendência e RSI para determinar a sobrecompra e a sobrevenda permite uma melhor compreensão do ritmo do mercado
    • Quando o DMI julga que há uma tendência de alta e o RSI supera a venda, é melhor fazer mais tempo
    • O DMI julga que há uma tendência de queda e o RSI está sobrecomprando, o que é um bom momento para fazer um curto prazo
  4. Configuração de stop loss móvel para bloquear lucros

Análise de vantagens

É uma estratégia de acompanhamento de tendências mais estável, com as seguintes vantagens:

  1. Combinando o julgamento de tendências com o julgamento de supercompra e supervenda, evite a negociação frequente em mercados turbulentos
  2. Usando os indicadores populares DMI e RSI, a escolha de parâmetros é fácil e a prática é bem comprovada
  3. A configuração de stop loss móvel para bloquear o lucro pode evitar o stop loss até certo ponto
  4. As regras são claras e fáceis de entender, os procedimentos são simples e fáceis de praticar.

Análise de Riscos

A estratégia também apresenta alguns riscos que devem ser lembrados:

  1. Tanto o DMI quanto o RSI são propensos a falsos sinais que podem levar a perdas desnecessárias
  2. A configuração inadequada do stop loss móvel pode parar prematuramente ou parar muito
  3. A falta de filtros de vibração é um problema que pode ser resolvido.
  4. Seguir uma estratégia de tendência e não parar a perder quando a tendência se inverte

direção de otimização

A estratégia também pode ser melhorada nos seguintes aspectos:

  1. Indicadores de volatilidade combinados com filtros de oscilação
  2. Combinação de candle com a forma de julgamento para evitar falsas brechas
  3. Configurar um limite de perda apropriado perto de posições de resistência de suporte crítico
  4. Aumentar o modelo de aprendizado de máquina para julgar tendências em ython
  5. Parâmetros de otimização dinâmica de DMI e RSI

Resumo

Esta estratégia é uma estratégia de seguimento de tendências mais estável e prática, com DMI para determinar a direção da tendência e RSI para determinar o excesso de compra e venda, para capturar oportunidades de negociação na linha média. Ao mesmo tempo, configure um stop loss móvel para bloquear o lucro. A escolha dos parâmetros da estratégia é simples, as regras de negociação são claras e fáceis de praticar.

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

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © YingYangJPN

//@version=5
strategy("DMI and RSI Strategy", overlay=true, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=10)

// DMI indikatörünü tanımlayalım
lensig = input.int(14, title="ADX Smoothing", minval=1, maxval=50)
len = input.int(14, minval=1, title="DI Length")
up = ta.change(high)
down = -ta.change(low)
plusDM = na(up) ? na : (up > down and up > 0 ? up : 0)
minusDM = na(down) ? na : (down > up and down > 0 ? down : 0)
trur = ta.rma(ta.tr, len)
plus = fixnan(100 * ta.rma(plusDM, len) / trur)
minus = fixnan(100 * ta.rma(minusDM, len) / trur)
sum = plus + minus
adx = 100 * ta.rma(math.abs(plus - minus) / (sum == 0 ? 1 : sum), lensig)
trailing_stop_loss_factor = input.float(0.50, "Trailing Stop Loss Factor", step = 0.01)

// RSI indikatörünü tanımlayalım
rsiLength = input.int(14, minval=1, title="RSI Length")
rsiSource = input(close, title="RSI Source")
rsiOverbought = input.int(70, title="RSI Overbought Level")
rsiOversold = input.int(30, title="RSI Oversold Level")
rsiValue = ta.rsi(rsiSource, rsiLength)

// Uzun pozisyon açma koşullarını tanımlayalım
longCondition1 = rsiValue < rsiOversold // RSI oversold seviyesinin altındaysa
longCondition2 = adx > 20 // ADX 20'den büyükse
longCondition3 = minus > plus

// Kısa pozisyon açma koşullarını tanımlayalım
shortCondition1 = rsiValue > rsiOverbought // RSI overbought seviyesinin üstündeyse
shortCondition2 = adx > 20 // ADX 20'den büyükse
shortCondition3 = plus > minus

// Uzun pozisyon açalım
if longCondition1 and longCondition2 and longCondition3
    strategy.entry("Long", strategy.long)
    

// Kısa pozisyon açalım
if shortCondition1 and shortCondition2 and shortCondition3
    strategy.entry("Short", strategy.short)
    
// Trailing Stop Loss
longTrailingStopLoss = strategy.position_avg_price * (1 - trailing_stop_loss_factor / 100)
shortTrailingStopLoss = strategy.position_avg_price * (1 + trailing_stop_loss_factor / 100)
if strategy.position_size > 0 
    strategy.exit("Exit Long", "Long", stop  = longTrailingStopLoss)
if strategy.position_size < 0 
    strategy.exit("Exit Short", "Short", stop = shortTrailingStopLoss)

// DMI ve RSI indikatörlerini grafiğe çizelim
plot(adx, color=#F50057, title="ADX")
plot(plus, color=#2962FF, title="+DI")
plot(minus, color=#FF6D00, title="-DI")
plot(rsiValue, color=#9C27B0, title="RSI")
hline(rsiOverbought, title="RSI Overbought Level", color=#E91E63, linestyle=hline.style_dashed)
hline(rsiOversold, title="RSI Oversold Level", color=#4CAF50, linestyle=hline.style_dashed)