Estratégia de média móvel dupla de acompanhamento de tendências


Data de criação: 2023-10-25 11:42:23 última modificação: 2023-10-25 11:42:23
cópia: 3 Cliques: 875
1
focar em
1617
Seguidores

Estratégia de média móvel dupla de acompanhamento de tendências

Visão geral

Esta estratégia usa o indicador de classificação do índice de direção média ((ADXR) para identificar a tendência do mercado e, em combinação com a formação de sinais de negociação de duas linhas de equilíbrio, é uma estratégia típica de acompanhamento de tendências. O indicador ADXR é capaz de identificar efetivamente as mudanças na tendência, enquanto a linha de equilíbrio pode filtrar ainda mais alguns sinais falsos.

Princípio da estratégia

  1. Calcule o valor do indicador ADXR. O ADX representa o índice de direção médio, refletindo a intensidade da tendência; o ADXR faz um tratamento suave do ADX para mostrar melhor a tendência.

  2. Configurar um duplo limiar para o indicador ADXR, onde o ADXR sobe quando atravessa o primeiro limiar e desce quando atravessa o segundo limiar. Isso indica que está em uma tendência atual.

  3. Se o ADXR atravessar a primeira queda, faça mais; se o ADXR atravessar a segunda queda, faça em branco.

  4. Combinação de dois sinais de filtragem de linha uniforme. Apenas faça mais quando o preço estiver acima da linha rápida e faça vazio quando o preço estiver abaixo da linha lenta. Este filtro evita erros de negociação quando a tendência é invertida.

  5. A linha K é colorida de acordo com a direção da posição.

Análise de vantagens

  1. O indicador ADXR suaviza as mudanças de preços, identificando as tendências e evitando o risco de negociação causado pela correção de mercados voláteis.

  2. A filtragem de dupla linha uniforme reduz as retrações e evita os prejuízos causados pela reversão da tendência.

  3. A combinação de indicadores de tendência e linhas duplas garante que as negociações sejam acompanhadas por tendências e controla o risco, o que é ideal para mercados de tendência.

  4. A estratégia é clara e fácil de entender, os parâmetros são flexíveis e podem ser ajustados conforme necessário para se adequar a diferentes ambientes de mercado.

Análise de Riscos

  1. A configuração inadequada dos parâmetros do indicador ADXR pode levar à incapacidade de capturar a mudança de tendência em tempo hábil. Os parâmetros do ADXR devem ser configurados com cautela de acordo com o mercado específico.

  2. A configuração incorreta dos parâmetros de dupla linha média também pode levar a filtragem de excesso de sinais e perda de oportunidades de negociação. O parâmetro de dupla linha média deve ser ajustado de acordo com o mercado.

  3. Qualquer indicador pode emitir sinais errados e deve ser verificado em combinação com tendências de nível maior para evitar ser colocado.

  4. A tendência de choque deve reduzir o tamanho da posição para evitar a expansão dos prejuízos.

Direção de otimização

  1. O sinal ADXR pode ser verificado em combinação com outros indicadores, como MACD, faixa de Brin, etc., para melhorar a precisão do sinal.

  2. Pode-se adicionar estratégias de stop loss, como stop loss móvel, stop loss de tempo, etc., para controlar perdas individuais.

  3. Os parâmetros de otimização podem ser adaptados às mudanças no mercado, como a utilização de médias de ciclo mais longas para reduzir a eficiência do mercado, a redução do período médio em mercados altamente eficientes, etc.

  4. Pode ser combinado com a gestão de capital e estratégias de gestão de posições, como ações fixas, Martingale, etc., para controlar o risco global.

Resumir

Esta estratégia é uma estratégia típica de acompanhamento de tendências, usando o indicador ADXR para auxiliar na determinação da direção da tendência, com filtro de dupla linha uniforme para reduzir o recuo. Os benefícios da estratégia são simples e claros, fáceis de implementar, e os parâmetros podem ser ajustados de acordo com diferentes condições de mercado.

Código-fonte da estratégia
/*backtest
start: 2023-10-17 00:00:00
end: 2023-10-24 00:00:00
period: 45m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 04/05/2018
// The Average Directional Movement Index Rating (ADXR) measures the strength 
// of the Average Directional Movement Index (ADX). It's calculated by taking 
// the average of the current ADX and the ADX from one time period before 
// (time periods can vary, but the most typical period used is 14 days).
// Like the ADX, the ADXR ranges from values of 0 to 100 and reflects strengthening 
// and weakening trends. However, because it represents an average of ADX, values 
// don't fluctuate as dramatically and some analysts believe the indicator helps 
// better display trends in volatile markets.
//
// You can change long to short in the Input Settings
// WARNING:
//  - For purpose educate only
//  - This script to change bars colors.
////////////////////////////////////////////////////////////
fADX(Len) =>
    up = change(high)
    down = -change(low)
    trur = rma(tr, Len)
    plus = fixnan(100 * rma(up > down and up > 0 ? up : 0, Len) / trur)
    minus = fixnan(100 * rma(down > up and down > 0 ? down : 0, Len) / trur)
    sum = plus + minus 
    100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), Len)

strategy(title="Average Directional Movement Index Rating Backtest", shorttitle="ADXR")
LengthADX = input(title="Length ADX", defval=14)
LengthADXR = input(title="Length ADXR", defval=14)
reverse = input(false, title="Trade reverse")
Signal1 = input(13, step=0.01)
Signal2 = input(45, step=0.01)
hline(Signal1, color=green, linestyle=line)
hline(Signal2, color=red, linestyle=line)
xADX = fADX(LengthADX)
xADXR = (xADX + xADX[LengthADXR]) / 2
pos = iff(xADXR < Signal1, 1,
       iff(xADXR > Signal2, -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(xADXR, color=green, title="ADXR")