A estratégia identifica a direção da tendência em combinação com o indicador de tendência DMI e a média móvel para emitir sinais de compra e venda. A estratégia gera um sinal de negociação quando a DMI mostra que a oferta entrou em estado de tendência e a média móvel confirma a direção da tendência.
A estratégia baseia-se em dois indicadores:
DMI inclui DMI+ e DMI-, para identificar a presença e a direção de uma tendência. Quando DMI+ é superior a DMI-, indica uma tendência ascendente; quando DMI- é superior a DMI+, indica uma tendência descendente.
A média móvel, geralmente uma média de 15 a 50 dias, é usada para determinar a direção da tendência dos preços. Quando os preços estão acima (ou abaixo) da média móvel, é indicada uma tendência ascendente (ou descendente).
A estratégia primeiro calcula os DMI+, DMI- e as médias móveis. Ao mesmo tempo em que o DMI mostra o estado de tendência ((DMI+ acima do DMI- ou DMI- acima do DMI+), um sinal de negociação é gerado se a média móvel também confirmar a direção da tendência. Concretamente:
A estratégia também adiciona a opção de reversão de entrada. Quando a reversão é ativada, os sinais de excesso e vazio são reversos.
Esta estratégia, que combina indicadores de tendência e indicadores de tendência, pode aumentar a confiabilidade do sinal, aproveitando os benefícios de ambos os indicadores para se complementar.
A vantagem do DMI reside na presença de uma tendência que pode ser rapidamente identificada. A média móvel pode filtrar parte do ruído e confirmar a direção da tendência. Usada em combinação, ela pode entrar no campo mais cedo na formação de uma tendência, evitando, ao mesmo tempo, seguir o fluxo de ondas quando não está em tendência.
Além disso, a estratégia adiciona uma opção de reversão, que permite a escolha de negociação a favor ou contra, de acordo com a necessidade real. Isso aumenta a flexibilidade da estratégia.
A estratégia tem os seguintes riscos:
Quando a tendência se transforma, pode haver um sinal errado, o que pode levar a perdas. Isso requer ajustes nos parâmetros ou a configuração de stop loss para controlar o risco.
A formação de tendências leva um certo tempo, durante o qual a estratégia é suscetível a interferência de oscilações de preços, produzindo sinais errôneos. Para filtrar esse ruído, é possível ajustar adequadamente o DMI e o período de tempo dos parâmetros da média móvel.
A negociação de reversão corre o risco de expansão de perdas adversas. Quando a reversão é ativada, é necessário controlar a proporção de perdas individuais ou usar o stop loss móvel para bloquear parte dos lucros.
Para diferentes raças e diferentes períodos de tempo, os parâmetros precisam ser re-otimizados. A replicação direta dos parâmetros pode não ser eficaz em outras raças ou períodos de tempo.
A estratégia pode ser melhorada em vários aspectos:
Teste diferentes parâmetros de média móvel de período para encontrar a melhor combinação de parâmetros para a transformação de tendência de fusão.
Para testar os parâmetros do ciclo de suavização do DMI, o ruído de inversão de curto prazo que ocorre na tendência de filtragem.
Avaliar a diferença de efeitos entre a opção de reversão ativada e a opção de negociação por defeito no histórico de retrospectiva e selecionar a opção mais favorável.
Adicionar estratégias de parada de perda, como parada móvel, parada de tempo, parada de ruptura, etc., para controlar a perda individual.
Avaliação da eficácia da otimização em diferentes variedades e parâmetros de ciclo, combinação de parâmetros de otimização.
Filtragem em combinação com outros indicadores, como o RSI forte e fraco, para evitar erros de sinalização em pontos de extremos locais.
A estratégia combina os benefícios dos indicadores DMI e Moving Averages, para entrar no jogo mais cedo na formação de tendências e evitar ser preso em situações de turbulência. A opção de negociação de reversão também aumenta a flexibilidade da estratégia. A estabilidade da estratégia pode ser aumentada ainda mais através da otimização de parâmetros, paradas e uso em combinação com outros indicadores.
/*backtest
start: 2023-08-28 00:00:00
end: 2023-09-27 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 03/03/2017
// The related article is copyrighted material from Stocks & Commodities Aug 2009
//
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
strategy(title="Combining DMI And Moving Average For A EUR/USD Trading System")
Length_MA = input(30, minval=1)
Length_DMI = input(14, minval=1)
reverse = input(false, title="Trade reverse")
xMA = sma(close, Length_MA)
up = change(high)
down = -change(low)
trur = rma(tr, Length_DMI)
xPDI = fixnan(100 * rma(up > down and up > 0 ? up : 0, Length_DMI) / trur)
xNDI = fixnan(100 * rma(down > up and down > 0 ? down : 0, Length_DMI) / trur)
nPDI = xPDI
nNDI = xNDI
nMA = xMA
nPDI_1 = xPDI[1]
nNDI_1 = xNDI[1]
nMA_1 = xMA[1]
bMDILong =iff(nPDI > nNDI and nPDI_1 < nNDI_1, true,
iff(nPDI < nNDI and nPDI_1 > nNDI_1, false, false))
bMDIShort = iff(nPDI > nNDI and nPDI_1 < nNDI_1, false,
iff(nPDI < nNDI and nPDI_1 > nNDI_1, true, false))
bMALong = iff(close > nMA and close[1] < nMA_1, true,
iff(close < nMA and close[1] > nMA_1, false, false))
bMAShort = iff(close > nMA and close[1] < nMA_1, false,
iff(close < nMA and close[1] > nMA_1, true, false))
pos = iff(bMDILong and bMALong, 1,
iff(bMDIShort and bMAShort, -1, nz(pos[1], 0)))
possig = iff(reverse and pos == 1, -1,
iff(reverse and pos == -1, 1, pos))
if (possig == 1 )
strategy.entry("Long", strategy.long)
if (possig == -1 )
strategy.entry("Short", strategy.short)
barcolor(possig == -1 ? red: possig == 1 ? green : blue )
plot(nPDI, color=green, title="DMI Plus")
plot(nNDI, color=red, title="DMI Minus")