
A estratégia de confirmação de DMI é um sistema de negociação integrado que combina uma média móvel simples de múltiplos períodos (SMA), um indicador de movimento direcional (DMI) e a identificação de padrões de reversão de preços para capturar pontos de entrada de baixo risco em mercados de tendência. A ideia central da estratégia é entrar em uma tendência estabelecida, aguardando o rebote do preço após a reversão para a linha de equilíbrio crítica, enquanto usa o indicador de DMI para confirmar a direção da tendência e, ao mover os pontos, estabelece uma posição de parada para formar um mecanismo completo de controle de risco.
A estratégia baseia-se na sinergia de vários componentes-chave:
Sistemas de equilíbrio múltiploA estratégia usa uma média móvel simples de 5 períodos diferentes ((9/20/50/100/200) para julgar a estrutura do mercado. Dentre eles, a média de 20 dias e a média de 200 dias são as principais ferramentas de julgamento de tendências.
Análise de inclinação média: Confirmar a força e a direção da tendência através do cálculo da inclinação das linhas médias de 20 e 200 dias nos últimos 5 ciclos ((slope20 e slope200)). A inclinação positiva indica uma tendência ascendente, a inclinação negativa indica uma tendência descendente.
Relação entre preço e linha médiaA estratégia requer que a relação de posição do preço com a linha média-chave ((20 e 200 dias) esteja de acordo com a direção da tendência ((o preço está acima da linha média quando o preço está acima da linha média e o preço está abaixo da linha média quando o preço está vazio)).
Linha média: Em condições de múltiplos cabeçalhos, é necessário que a linha média de 20 dias esteja acima da linha média de 200 dias; em condições de cabeçalho vazio, o contrário.
Mecanismo de convocação:
Confirmação de direção DMI: Utilize o indicador DMI ((período de 14) para confirmar a direção da tendência:
Ponto de parada de oscilação:
Mecanismo de filtragem múltiplaA combinação de condições múltiplas, tais como sistema de linhas médias, inclinação de linhas médias, localização de preços e confirmação de DMI, reduz efetivamente os falsos sinais e aumenta a precisão das transações.
ReincidênciaA estratégia de esperar que o preço volte para a linha média crítica para entrar em ação, oferece uma melhor relação de risco-retorno do que a de seguir diretamente para a queda.
Confirmação da tendênciaA verificação tripla de posições de linha média, alinhamento de linha média e inclinação de linha média garante que a negociação ocorra apenas em tendências fortes e evita a negociação frequente em mercados de turbulência.
Uma estratégia de stop loss claraO uso de pontos de oscilação como posição de parada, baseado na estrutura do mercado, em vez de percentagens arbitrariamente definidas, é mais adequado à lógica de funcionamento do mercado.
Confirmação do indicador DMIA inclusão do indicador DMI como ferramenta adicional de confirmação de tendências, filtrando ainda mais os sinais de maior incerteza.
Sinais de negociação visuaisA estratégia consiste em mostrar os sinais de compra e venda através de sinais visuais claros, que permitem aos traders identificar rapidamente as oportunidades de negociação.
Identificação de atraso na reversão da tendênciaComo a estratégia depende de um sistema de linha uniforme, pode haver uma reação de atraso nos pontos de mudança de tendência, resultando em entrada inadequada ou entrada no final da tendência.
Risco de Falso BreakoutOs preços podem ultrapassar a linha média por um período de tempo e depois voltar a cair, criando uma falsa ruptura e desencadeando um sinal de erro.
Desafios de optimização de parâmetrosA estratégia inclui vários parâmetros (como o período de linha média, o período de retrocesso de inclinação, o período de DMI, etc.), e configurações de parâmetros diferentes podem ser necessárias para diferentes mercados e prazos de tempo.
Limites do cenário de mercadoA estratégia funciona melhor em mercados com tendência clara, mas pode gerar mais perdas em mercados com oscilação horizontal.
Risco de um stop loss excessivoA estratégia de stop loss baseada em pontos de oscilação pode levar a um stop loss excessivo em mercados com forte volatilidade, o que é prejudicial para a gestão de fundos.
Insuficiência de controlo de riscosA falta de um mecanismo de suspensão dinâmico pode levar a que os lucros já obtidos sejam devolvidos.
Adição de parâmetros de adaptaçãoA introdução de mecanismos de auto-adaptação pode ajustar o período médio e o período de retrocesso de inclinação de acordo com a dinâmica de volatilidade do mercado, para que a estratégia se adapte melhor a diferentes circunstâncias do mercado.
Adicionar filtro de taxa de flutuaçãoIntrodução de indicadores ATR ou de volatilidade, ajuste de estratégia de execução ou suspensão de negociação em ambientes de mercado com grande ou pequena volatilidade.
Melhorar o mecanismo de bloqueioAumentar os mecanismos de suspensão baseados na estrutura do mercado ou na taxa de retorno do risco alvo, como o stop loss móvel, a suspensão parcial, etc., para proteger melhor os lucros obtidos.
Identificação do cenário de mercado: Adicionar um indicador de intensidade de tendência ou um algoritmo de classificação de estado de mercado para reduzir automaticamente as posições ou suspender a negociação em mercados de volatilidade horizontal.
Confirmação de entrada em campoPode-se considerar a possibilidade de aumentar a confirmação do volume de transação ou a confirmação da forma do gráfico, aumentando a confiabilidade do sinal de entrada.
Optimizar a gestão de fundos: Ajustar dinamicamente o tamanho da posição de acordo com o ATR ou outro indicador de volatilidade, para controlar o risco de abertura em diferentes ambientes de volatilidade.
Análise de Multi-Framas de TempoIntrodução de um quadro de tempo mais elevado para a confirmação de tendências e para garantir que a direção das negociações esteja de acordo com as tendências de nível mais elevado.
A estratégia de confirmação de DMI é um sistema de rastreamento de tendências estruturado e logicamente claro. Busca pontos de entrada de baixa probabilidade de alto risco em tendências estabelecidas por meio de informações multidimensionais como linha de média múltipla, análise de inclinação, correção de preço e confirmação de DMI.
No entanto, a estratégia também possui limitações, como a identificação de tendências atrasadas, o risco de falsas rupturas e o fraco desempenho dos mercados de choque. As medidas de otimização, como a introdução de parâmetros de adaptação, filtragem de volatilidade, melhoria do mecanismo de suspensão e identificação do ambiente de mercado, podem aumentar ainda mais a robustez e a adaptabilidade da estratégia.
/*backtest
start: 2025-06-30 00:00:00
end: 2025-07-04 08:00:00
period: 10m
basePeriod: 10m
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("Full SMA Pullback Strategy with DMI", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// === SMA Definitions ===
sma9 = ta.sma(close, 9)
sma20 = ta.sma(close, 20)
sma50 = ta.sma(close, 50)
sma100 = ta.sma(close, 100)
sma200 = ta.sma(close, 200)
// === Inputs ===
slopeLookback = input.int(5, title="Slope Lookback Period")
swingLookback = input.int(10, title="Swing High/Low Period")
dmiLength = input.int(14, title="DMI Period")
// === Slope Calculation ===
slope20 = sma20 - sma20[slopeLookback]
slope200 = sma200 - sma200[slopeLookback]
// === DMI Calculation ===
[plusDI, minusDI, _] = ta.dmi(dmiLength, dmiLength)
dmiLongConfirm = plusDI > minusDI
dmiShortConfirm = minusDI > plusDI
// === Long Conditions ===
trendUp = close > sma20 and close > sma200
smaOrderUp = sma20 > sma200
slopeUp = slope20 > 0 and slope200 > 0
pullbackUp = close[1] < sma20[1] and close > sma20
longCond = trendUp and smaOrderUp and slopeUp and pullbackUp and dmiLongConfirm
swingLow = ta.lowest(low, swingLookback)
// === Short Conditions ===
trendDown = close < sma20 and close < sma200
smaOrderDown = sma20 < sma200
slopeDown = slope20 < 0 and slope200 < 0
pullbackDown = close[1] > sma20[1] and close < sma20
shortCond = trendDown and smaOrderDown and slopeDown and pullbackDown and dmiShortConfirm
swingHigh = ta.highest(high, swingLookback)
// === Strategy Entry & Exit ===
if (longCond)
strategy.entry("Long", strategy.long)
strategy.exit("Exit Long", from_entry="Long", stop=swingLow)
if (shortCond)
strategy.entry("Short", strategy.short)
strategy.exit("Exit Short", from_entry="Short", stop=swingHigh)
// === Plotting SMAs ===
plot(sma9, title="SMA 9", color=color.gray)
plot(sma20, title="SMA 20", color=color.orange)
plot(sma50, title="SMA 50", color=color.purple)
plot(sma100, title="SMA 100", color=color.green)
plot(sma200, title="SMA 200", color=color.blue)
// === Signal Markers ===
plotshape(longCond, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(shortCond, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)