Estratégia de temporização ADX de média móvel dupla


Data de criação: 2023-12-06 15:48:29 última modificação: 2023-12-06 15:48:29
cópia: 0 Cliques: 783
1
focar em
1619
Seguidores

Estratégia de temporização ADX de média móvel dupla

Visão geral

A estratégia de escolha do ADX de linha dupla identifica a tendência usando a combinação da linha média de 220 e o indicador ADXR para produzir um sinal de negociação no início da tendência. A estratégia usa primeiro a média móvel de 220 para determinar a direção da tendência de preços e, em seguida, combina o indicador ADXR para confirmar ainda mais o sinal de tendência, resultando em um sinal de negociação mais confiável.

Princípio da estratégia

A lógica central da estratégia de escolha do ADX é baseada nas seguintes partes:

  1. 220 média móvel (EMA)

    • EMAs com dois parâmetros diferentes em 2 e 20 dias.
    • Quando o preço passa por uma EMA de 2 dias, é considerado um sinal de otimismo.
    • Quando o preço atravessa a EMA de 20 dias, é considerado um sinal de baixa.
  2. Indicador ADXR

    • O indicador ADXR é uma variante do indicador ADX.
    • Para reduzir a oscilação do indicador ADX, calcule a média simples do ADX.
    • O ADXR abaixo de um determinado limiar indica uma tendência mais fraca.
    • O ADXR é mais forte quando está acima de um determinado limiar.
  3. Sinais de negociação

    • Quando o EMA Golden Cross AND ADXR do dia 2 está acima do limiar, um sinal de bullish é gerado.
    • Quando a EMA Dead Cross AND ADXR do dia 20 está abaixo da depreciação, um sinal de baixa é gerado.
    • Em combinação com o indicador ADXR, pode-se filtrar algumas hipóteses falsas e reforçar os sinais de tendências reais.

A principal inovação da estratégia é a utilização de indicadores ADXR para identificar tendências em estágios iniciais e combiná-los com sinais de estratégias lineares tradicionais, melhorando a qualidade do sinal e aumentando a estabilidade da estratégia.

Vantagens estratégicas

A estratégia de escolha de ADX de linha dupla tem as seguintes principais vantagens:

  1. A combinação de duas linhas de equilíbrio e um indicador ADXR, o sinal é mais preciso e confiável, e pode filtrar os sinais falsos.
  2. O uso do indicador ADXR para identificar tendências na fase inicial permite um acesso mais precoce à identificação de tendências.
  3. A configuração dos parâmetros ADXR é flexível e pode ser ajustada de acordo com o mercado, adaptando-se a mudanças de prática.
  4. A lógica da estratégia é simples, clara e fácil de entender, com ajustes de parâmetros fáceis.
  5. Pode ser usado em vários ambientes de mercado, com um bom desempenho em testes de histórico.

Risco estratégico

Os principais riscos associados a uma estratégia de ADX de linha dupla são:

  1. A configuração incorreta dos parâmetros ADXR pode causar oportunidades de negociação perdidas.

    • A gama de parâmetros do ADXR pode ser expandida de forma apropriada, ou os parâmetros podem ser ajustados de acordo com as diferentes variedades.
  2. Em circunstâncias especiais, pode haver mais sinais falsos.

    • Pode ser considerado o uso em combinação com outros indicadores para filtragem de sinais.
  3. Os parâmetros da EMA são fixos e não se adaptam às mudanças do mercado.

    • Pode-se tentar usar uma versão otimizada adaptada aos parâmetros da EMA.
  4. A incapacidade de identificar os intervalos de flutuação pode gerar muitos negócios inválidos.

    • Pode ser adicionado um julgamento lógico adicional ou um indicador para identificar a situação de tremor.

Direção de otimização da estratégia

A estratégia de escolha do ADX de linha dupla pode ser ainda mais otimizada em vários aspectos:

  1. Os parâmetros da EMA são otimizados para que possam ser alterados automaticamente de acordo com a situação.

  2. A gama de parâmetros do ADXR foi otimizada para conter mais sinais de negociação efetivos.

  3. Adição de indicadores adicionais de avaliação de tendências, combinação de geração de sinais, melhoria da qualidade.

  4. Aumentar a estratégia de stop loss, definir padrões de stop loss e controlar o risco de cada transação.

  5. Optimizar a estratégia de gestão de fundos, permitindo que ele ajuste automaticamente as posições de acordo com o estado da conta.

Resumir

A estratégia de escolha do ADX de linha dupla, através de uma combinação inovadora de estratégias tradicionais de linha dupla e indicadores ADXR, aumenta a qualidade do sinal, aumenta a estabilidade da estratégia, é capaz de identificar efetivamente a tendência na fase inicial, o histórico de retrospectiva é melhor. A estratégia tem um grande espaço de otimização e pode ser melhorada em vários aspectos, o que a torna uma forte capacidade de adaptação e espaço para lucrar em mercados mais complexos.

Código-fonte da estratégia
/*backtest
start: 2023-11-05 00:00:00
end: 2023-12-05 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 04/04/2022
// This is combo strategies for get a cumulative signal. 
//
// First strategy
// This indicator plots 2/20 exponential moving average. For the Mov 
// Avg X 2/20 Indicator, the EMA bar will be painted when the Alert criteria is met.
//
// Second strategy
// 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.
//
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
EMA20(Length) =>
    pos = 0.0
    xPrice = close
    xXA = ta.ema(xPrice, Length)
    nHH = math.max(high, high[1])
    nLL = math.min(low, low[1])
    nXS = nLL > xXA or nHH < xXA ? nLL : nHH
    iff_1 = nXS < close[1] ? 1 : nz(pos[1], 0)
    pos := nXS > close[1] ? -1 : iff_1
    pos

fADX(Len) =>
    up = ta.change(high)
    down = -ta.change(low)
    trur = ta.rma(ta.tr, Len)
    plus = fixnan(100 * ta.rma(up > down and up > 0 ? up : 0, Len) / trur)
    minus = fixnan(100 * ta.rma(down > up and down > 0 ? down : 0, Len) / trur)
    sum = plus + minus 
    100 * ta.rma(math.abs(plus - minus) / (sum == 0 ? 1 : sum), Len)

ADXR(LengthADX,LengthADXR,Signal1,Signal2) =>
    pos = 0.0
    xADX = fADX(LengthADX)
    xADXR = (xADX + xADX[LengthADXR]) / 2
    pos := xADXR < Signal1 ? 1 : xADXR > Signal2 ? -1 : nz(pos[1], 0) 
    pos

strategy(title='Combo 2/20 EMA & ADXR', shorttitle='Combo', overlay=true)
var I1 = '●═════ 2/20 EMA ═════●'
Length = input.int(14, minval=1, group=I1)
var I2 = '●═════ ADXR  ═════●'
LengthADX = input(title="Length ADX", defval=14)
LengthADXR = input(title="Length ADXR", defval=14)
Signal1 = input.float(13, step=0.01)
Signal2 = input.float(45, step=0.01)
var misc = '●═════ MISC ═════●'
reverse = input.bool(false, title='Trade reverse', group=misc)
var timePeriodHeader = '●═════ Time Start ═════●'
d = input.int(1, title='From Day', minval=1, maxval=31, group=timePeriodHeader)
m = input.int(1, title='From Month', minval=1, maxval=12, group=timePeriodHeader)
y = input.int(2005, title='From Year', minval=0, group=timePeriodHeader)
StartTrade = time > timestamp(y, m, d, 00, 00) ? true : false
posEMA20 = EMA20(Length)
prePosADXR = ADXR(LengthADX,LengthADXR,Signal1,Signal2)
iff_1 = posEMA20 == -1 and prePosADXR == -1 and StartTrade ? -1 : 0
pos = posEMA20 == 1 and prePosADXR == 1 and StartTrade ? 1 : iff_1
iff_2 = reverse and pos == -1 ? 1 : pos
possig = reverse and pos == 1 ? -1 : iff_2
if possig == 1
    strategy.entry('Long', strategy.long)
if possig == -1
    strategy.entry('Short', strategy.short)
if possig == 0
    strategy.close_all()
barcolor(possig == -1 ? #b50404 : possig == 1 ? #079605 : #0536b3)