Tendência na sequência da estratégia de média móvel dupla

Autora:ChaoZhang, Data: 2023-10-25 11:42:23
Tags:

img

Resumo

Esta estratégia usa a classificação do índice de movimento direcional médio (ADXR) para identificar tendências de mercado e combina médias móveis duplas para gerar sinais de negociação. Ele pertence a uma estratégia típica de tendência.

Estratégia lógica

  1. Calcule o valor do indicador ADXR. ADX reflete a força da tendência; ADXR suaviza ADX e exibe melhor a tendência.

  2. Configure dois limiares para o indicador ADXR. Quando o ADXR cruza acima do primeiro limiar, ele indica uma tendência de alta. Quando cruza abaixo do segundo limiar, ele indica uma tendência de queda.

  3. Determine a direção da posição com base nos sinais ADXR. Vá longo quando o ADXR cruza acima do primeiro limiar e vá curto quando cruza abaixo do segundo limiar.

  4. Filtrar sinais com médias móveis duplas. Vá longo apenas quando o preço estiver acima da MA rápida e vá curto apenas quando o preço estiver abaixo da MA lenta. Esta filtragem evita negociações erradas durante inversões de tendência.

  5. As posições longas são em verde, as posições curtas são em vermelho.

Análise das vantagens

  1. O ADXR suaviza as flutuações de preços e identifica de forma eficaz as tendências, evitando os riscos comerciais de diversos mercados.

  2. A filtragem dupla das médias móveis reduz os drawdowns, evitando perdas decorrentes de inversões de tendência.

  3. A combinação de um indicador de tendência e médias móveis garante a negociação ao longo das tendências, controlando os riscos, adequado para mercados em tendência.

  4. A lógica da estratégia é simples e flexível para ajuste de parâmetros para diferentes ambientes de mercado.

Análise de riscos

  1. Os parâmetros ADXR incorretos podem não conseguir captar as alterações de tendência em tempo útil.

  2. Os parâmetros da média móvel incorretos podem filtrar muitos sinais válidos.

  3. Qualquer indicador pode dar sinais errôneos.

  4. Reduzir o tamanho das posições em mercados variados para limitar as perdas.

Orientações de otimização

  1. Outros indicadores como o MACD e as Bandas de Bollinger podem ser adicionados para confirmar os sinais ADXR e melhorar a precisão.

  2. Estratégias de stop loss como trailing stops e time stops podem ser adicionadas para limitar a perda por trade.

  3. Otimizar parâmetros baseados na eficiência do mercado, como períodos de média mais longos para mercados de baixa eficiência.

  4. Incorporar estratégias de gestão de fundos como o dimensionamento de posições fracionárias fixas para melhor controlar os riscos globais.

Conclusão

Esta estratégia é uma estratégia típica de tendência seguinte, usando o ADXR para determinar a direção da tendência e médias móveis duplas para reduzir os drawdowns. As vantagens estão em sua simplicidade e flexibilidade para ser adaptada para diferentes mercados. Mas qualquer indicador técnico pode dar sinais falsos, e os riscos devem ser gerenciados com filtros de tendência e gerenciamento de dinheiro. Com ajuste adequado dos parâmetros, esta estratégia pode alcançar bons retornos ajustados ao risco para mercados de tendência.


/*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")

Mais.