Sistema de negociação de média móvel adaptável Donchian


Data de criação: 2024-02-21 15:08:27 última modificação: 2024-02-21 15:08:27
cópia: 3 Cliques: 715
1
focar em
1617
Seguidores

Sistema de negociação de média móvel adaptável Donchian

Visão geral

O sistema de negociação de média móvel adaptável ao tangjian é uma estratégia de negociação quantitativa para rastrear tendências de preços. A estratégia usa o indicador de canal de tangjian, combinando a média móvel de linha longa e curta, para julgar e acompanhar a tendência de preços, para capturar a tendência de preços de linha média e longa, para negociar tendências.

Princípio da estratégia

A estratégia começa com o cálculo da amplitude real. A amplitude real é o intervalo de variação de preço entre o preço de fechamento da linha K anterior e o preço mais alto e mais baixo da linha K atual. Em seguida, calcula-se a média móvel simples da linha longa da amplitude real, como a largura de banda do canal de Dongxian.

Quando os preços são percorridos pela média móvel de comprimento mais a largura de banda e pela média móvel de curta distância mais a largura de banda, faça mais; quando os preços são percorridos pela média móvel de comprimento menos a largura de banda e pela média móvel de curta distância menos a largura de banda, faça vazio. Condição de equilíbrio para os preços abaixo da largura de banda aumenta a média móvel de comprimento e curta distância; quando os preços são percorridos pela média móvel de largura de banda aumenta a posição vazia.

Desta forma, a estratégia ajusta a largura de banda do canal de Dongguan através da amplitude real da onda e, combinada com a filtragem de duplas médias móveis, pode efetivamente acompanhar a tendência de preços de linha média e longa, reduzindo os falsos sinais e, assim, obter oportunidades de negociação de linha longa estáveis.

Análise de vantagens

A estratégia tem as seguintes vantagens:

  1. O canal de banda pode ser ajustado de forma dinâmica, evitando parâmetros de morte, utilizando o cálculo da amplitude de onda real, para melhor se adaptar às mudanças do mercado.

  2. A dupla média móvel, combinada com o discernimento, pode filtrar o ruído de forma eficaz e reduzir os falsos sinais.

  3. Seguir as tendências médias e longas pode reduzir a repetição de transações, reduzir a frequência de transações e obter oportunidades de lucro sustentado em longos períodos.

  4. A lógica da estratégia é simples, clara e fácil de implementar, com alta tolerância a erros, adequada para negociações de quantificação automática.

Risco e otimização

A estratégia também traz alguns riscos:

  1. A negociação de linha longa é difícil de entender o momento de entrada do ajuste da linha curta. Pode ser combinado adequadamente com indicadores de flutuação para determinar a situação da linha curta e otimizar a entrada.

  2. Os parâmetros necessitam de otimização, dependendo do setor e do indivíduo.

  3. Quando um evento inesperado causa uma mudança significativa na tendência, o ponto de parada precisa ser adequadamente relaxado.

Resumir

Em geral, o sistema de negociação de médias móveis de Dongguan é uma estratégia de quantificação estável, simples e fácil de implementar. Utilizando canais dinâmicos e filtragem de dupla linha, a estratégia pode efetivamente acompanhar as tendências de longo prazo do mercado, reduzir a frequência de negociação e obter lucros contínuos em longo prazo.

Código-fonte da estratégia
/*backtest
start: 2023-02-14 00:00:00
end: 2024-02-20 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © dongyun

//@version=4
strategy("唐齐安移动平均交易系统", overlay=true)

longperiod = input(20,'长线')
shortperiod = input(5,'短线')
bandfactor = input(1.0,'')

TrueHigh = 0.0
TrueLow = 0.0
TrueRange = 0.0

TrueHigh := close[1] > high ? close[1] : high
TrueLow := close[1] < low ? close[1] : low
TrueRange := TrueHigh - TrueLow
AvgTrueRange = sma(TrueRange,longperiod)

MAlong = sma(close,longperiod)
MAshort = sma(close,shortperiod)
band =  AvgTrueRange * bandfactor

if close > MAlong[1] + band[1] and close >  MAshort[1] + band[1]
	strategy.entry("Long", strategy.long, when=strategy.position_size < 1)
else
	if close < MAlong[1] - band[1] and close < MAshort[1] - band[1]
		strategy.entry("Short", strategy.short, when=strategy.position_size > -1)

if close < MAlong[1] - band[1] or close < MAshort[1] - band[1]
	strategy.close("Long", when=strategy.position_size > 0)
else
	if close > MAlong[1] + band[1] or close > MAshort[1] + band[1]
		strategy.close("Short", when=strategy.position_size < 0)