Estratégia de negociação de inversão da direção da média móvel

Autora:ChaoZhang, Data: 28 de setembro de 2023 15:50:01
Tags:

Resumo

A estratégia de reversão da direção da média móvel é uma estratégia que julga a reversão da tendência quando a média móvel mostra contínua para cima ou para baixo por várias velas.

Estratégia lógica

A lógica central da estratégia de reversão da direção da média móvel é:

  1. Calcular a média móvel selecionada, que pode ser média móvel simples (SMA), média móvel exponencial (EMA), média móvel ponderada (WMA) ou média de regressão linear.

  2. Julgar a relação de tamanho entre a média móvel do período atual e a média móvel do período anterior.

  3. Registre o número de períodos ascendentes e descendentes consecutivos. Se a média móvel do período em curso for superior ao período anterior, os períodos ascendentes consecutivos + 1 e os períodos descendentes consecutivos são compensados a zero; se a média móvel do período em curso for inferior ao período anterior, os períodos descendentes consecutivos + 1 e os períodos ascendentes consecutivos são compensados a zero.

  4. Quando o número de períodos ascendentes ou descendentes consecutivos exceder o limiar definido pelo utilizador, realizar as operações longas ou curtas correspondentes.

  5. Ao mesmo tempo, colore as barras do candelabro e as cores de fundo para mostrar visualmente as mudanças de direção da tendência.

  6. Opcionalmente, traçar a curva de mudança da média móvel para marcar o ponto de inflexão.

Esta estratégia julga a tendência contando a direção da média móvel para vários velas consecutivas, e faz transações pela duração da detenção longa ou curta contínua, em vez de olhar para um único velas.

Vantagens

A estratégia de negociação de inversão da direção da média móvel tem as seguintes vantagens:

  1. O uso de médias móveis para determinar a direção da tendência pode filtrar efetivamente o ruído do mercado.

  2. Mudanças estatísticas na direção das médias móveis durante um determinado período de tempo para determinar o momento da inversão da tendência e reduzir o risco de negociação.

  3. Parâmetros de média móvel e parâmetros de períodos estatísticos personalizáveis para se adaptarem a diferentes variedades e condições de mercado.

  4. A coloração do candelabro exibe de forma intuitiva as mudanças de direção da tendência como uma ajuda visual.

  5. Flexibilidade para escolher diferentes tipos de médias móveis.

  6. Desenhar uma curva de mudança da média móvel pode observar claramente se ocorre uma inversão.

  7. Regras simples e claras, fáceis de compreender e implementar, adequadas para iniciantes.

Riscos

A estratégia de negociação de inversão de direção da média móvel também apresenta alguns riscos:

  1. O próprio atraso da média móvel afeta a captura atempada dos pontos de inflexão.

  2. As decisões longas e curtas atrasadas devido ao período estatístico podem perder oportunidades de reversão mais rápidas.

  3. Uma configuração de ciclo contínuo excessivamente longa pode perder a tendência, enquanto uma configuração demasiado curta é propensa a ficar presa.

  4. Um grande número de sinais de negociação a curto prazo pode ocorrer em mercados oscilantes.

  5. Confiar unicamente na direcção da média móvel não pode determinar plenamente a inversão de tendência real, com certo risco de falsos sinais.

  6. Quando o mercado muda drasticamente, o próprio indicador da média móvel também mudará rapidamente, com maior probabilidade de gerar falsos sinais.

  7. A razoabilidade da selecção dos parâmetros da média móvel deve ser considerada, caso contrário, falhará.

Soluções:

  1. Encurtar adequadamente o ciclo da média móvel para melhorar a sensibilidade.

  2. Utilize outros indicadores para filtrar sinais e confirmar a inversão da tendência.

  3. Otimizar os parâmetros do ciclo estatístico para encontrar um equilíbrio entre a velocidade de reação e a estabilidade.

  4. Aumentar o intervalo de stop loss para coberturas para controlar as perdas.

  5. Usar múltiplas combinações de médias móveis para melhorar a precisão.

Orientações de otimização

A estratégia de negociação de inversão da direção da média móvel pode ser otimizada nos seguintes aspectos:

  1. Otimize os parâmetros da média móvel, teste as médias móveis de diferentes períodos de comprimento e encontre os melhores parâmetros.

  2. Incorporar outros indicadores auxiliares, tais como RSI e KD, para melhorar a fiabilidade do sinal.

  3. Otimizar o parâmetro do período estatístico consecutivo para garantir a reflexo da inversão da tendência, filtrando o máximo possível os falsos sinais.

  4. Adicionar um mecanismo de stop loss para controlar as perdas de transações individuais.

  5. Teste os resultados da otimização dos parâmetros em diferentes variedades e ajuste os parâmetros de acordo com as diferentes variedades comerciais.

  6. Considerar a possibilidade de alterar o período estatístico fixo para um período estatístico adaptativo para tornar a estratégia mais flexível.

  7. Tente abrir posições de ruptura quando a média móvel realmente romper.

  8. Adicionar julgamento da direção geral da tendência para evitar a negociação contra a tendência.

  9. Melhorar a forma como a curva da média móvel é traçada, como aumentar a suavidade da curva.

Resumo

A estratégia de reversão da direção da média móvel determina o momento do rastreamento contínuo da tendência contando os períodos consecutivos de alta ou queda da média móvel. Pode efetivamente filtrar o ruído do mercado e aproveitar as oportunidades quando ocorre uma reversão da tendência. Esta estratégia pode se adaptar flexivelmente a diferentes variedades de negociação e ambientes de mercado através de parâmetros de média móvel personalizáveis e contagens de ciclos estatísticos. No entanto, o atraso da própria média móvel facilmente causa atrasos de identificação para reversões rápidas. Portanto, os parâmetros precisam ser otimizados e ajustados e outros indicadores técnicos ajudados a melhorar a precisão do sinal.


/*backtest
start: 2022-09-21 00:00:00
end: 2023-09-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("Moving Average Consecutive Up/Down Strategy (by ChartArt)", overlay=true)

// ChartArt's Moving Average Consecutive Up/Down Strategy
//
// Version 1.0
// Idea by ChartArt on December 30, 2015.
//
// This strategy goes long (or short) if there are several
// consecutive increasing (or decreasing) moving average
// values in a row in the same direction.
//
// The bars can be colored using the raw moving average trend.
// And the background can be colored using the consecutive
// moving average trend setting. In addition a experimental
// line of the moving average change can be drawn.
//
// The strategy is based upon the "Consecutive Up/Down Strategy"
// created by Tradingview.


// Input
Switch1 = input(true, title="Enable Bar Color?")
Switch2 = input(true, title="Enable Background Color?")
Switch3 = input(false, title="Enable Moving Average Trend Line?")

ConsecutiveBars = input(4,title="Consecutive Trend in Bars",minval=1)

// MA Calculation
MAlen = input(1,title="Moving Average Length: (1 = off)",minval=1)
SelectMA = input(2, minval=1, maxval=4, title='Moving Average: (1 = SMA), (2 = EMA), (3 = WMA), (4 = Linear)')
Price = input(close, title="Price Source")
Current =
 SelectMA == 1 ? sma(Price, MAlen) :
 SelectMA == 2 ? ema(Price, MAlen) :
 SelectMA == 3 ? wma(Price, MAlen) :
 SelectMA == 4 ? linreg(Price, MAlen,0) :
 na
Last =
 SelectMA == 1 ? sma(Price[1], MAlen) :
 SelectMA == 2 ? ema(Price[1], MAlen) :
 SelectMA == 3 ? wma(Price[1], MAlen) :
 SelectMA == 4 ? linreg(Price[1], MAlen,0) :
 na

// Calculation
MovingAverageTrend = if Current > Last
    1
else
    0

ConsecutiveBarsUp = MovingAverageTrend > 0.5 ? nz(ConsecutiveBarsUp[1]) + 1 : 0
ConsecutiveBarsDown = MovingAverageTrend < 0.5 ? nz(ConsecutiveBarsDown[1]) + 1 : 0
BarColor = MovingAverageTrend > 0.5 ? green : MovingAverageTrend < 0.5 ? red : blue
BackgroundColor = ConsecutiveBarsUp >= ConsecutiveBars ? green : ConsecutiveBarsDown >= ConsecutiveBars ? red : gray
MovingAverageLine = change(MovingAverageTrend) != 0 ? close : na

// Strategy
if (ConsecutiveBarsUp >= ConsecutiveBars)
    strategy.entry("ConsUpLE", strategy.long, comment="Bullish")
    
if (ConsecutiveBarsDown >= ConsecutiveBars)
    strategy.entry("ConsDnSE", strategy.short, comment="Bearish")

// output
barcolor(Switch1?BarColor:na)
bgcolor(Switch2?BackgroundColor:na)
plot(Switch3?MovingAverageLine:na, color=change(MovingAverageTrend)<0?green:red, linewidth=4)
//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)

Mais.