Estratégia de Rastreamento Inteligente de Média Móvel Dupla


Data de criação: 2023-12-20 13:50:47 última modificação: 2023-12-20 13:50:47
cópia: 22 Cliques: 620
1
focar em
1621
Seguidores

Estratégia de Rastreamento Inteligente de Média Móvel Dupla

Visão geral

A estratégia de rastreamento inteligente de dupla linha de equilíbrio usa indicadores de dupla linha de equilíbrio para rastrear tendências de preços de curto e médio prazo, formando auxiliares visuais através de mudanças de cor e largura de linha ao rastrear, ajudando os comerciantes a intuir a tendência do mercado e, com isso, abrir uma posição. A estratégia usa parâmetros personalizados que permitem uma alta flexibilidade e é adequada para fundos de capital privado e fundos de cobertura com uma certa base tecnológica para negociações automatizadas.

Princípio da estratégia

O núcleo da estratégia de rastreamento inteligente de dupla equilíbrio é gerar sinais de negociação usando médias móveis rápidas e médias móveis lentas. Em particular, as médias móveis rápidas rastreiam mudanças de preços de curto prazo, enquanto as médias móveis lentas refletem tendências de médio e longo prazo. Ao mesmo tempo, a estratégia usa três esquemas de cores (cruzamento, direção e integração) para fazer com que as médias móveis de referência apresentem cores diferentes, ajudando a determinar a tendência do mercado.

Análise de vantagens

A maior vantagem da estratégia de rastreamento inteligente de dupla linha de equilíbrio é a combinação de indicadores de dupla linha de equilíbrio e auxiliar visual de cor para julgar a tendência do mercado, a operação é simples e clara. Em segundo lugar, os parâmetros da estratégia podem ser personalizados e os usuários podem ajustá-los de acordo com suas próprias preferências de negociação e ambiente de mercado, permitindo um retorno eficiente e negociação em tempo real.

Análise de Riscos

Embora os benefícios da estratégia de rastreamento inteligente de binários sejam óbvios, há também alguns riscos potenciais. A binária é altamente sensível às mudanças de preço e é propensa a produzir falsos sinais que levam à negociação excessiva. Além disso, os parâmetros personalizados, embora flexíveis, aumentam a dificuldade de modelagem.

Direção de otimização

A estratégia de rastreamento inteligente de dupla linha tem várias direções que podem ser otimizadas: primeiro, pode-se introduzir sinais de erro de filtragem de indicadores adicionais, como o indicador KDJ para julgar sobrecompra e venda excessiva e o MACD para julgar retorno de lucro. Segundo, criar modelos de otimização de parâmetros para auxiliar o usuário a escolher a combinação de parâmetros mais adequada. Terceiro, usar modelos de aprendizado de máquina para prever mudanças de preço e auxiliar a dupla linha para julgar a direção do movimento.

Resumir

A estratégia de rastreamento inteligente de dupla linha é uma estratégia de negociação de programação de alta frequência, visível e flexível. Ela combina habilmente os indicadores de dupla linha e o julgamento visual de cores do mercado, que pode capturar os benefícios das flutuações de preços a curto prazo. A estratégia também é altamente personalizável e adequada para investidores e fundos com uma base de negociação quantitativa para otimização de estratégia e ajuste de parâmetros.

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

// © Julien_Eche

//@version=5
strategy("Smart MA Strategy", shorttitle="Smart MA Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=20)

// Input parameters
base_ma_length = input.int(50, title="Base MA Length")
ma_type = input.string("SMA", title="MA Type", options=["SMA", "WMA", "EMA"])
color_choice = input.string("Composite", title="Color Option", options=["Crossover", "Direction", "Composite"])
fast_length = input.int(10, title="Fast MA Length", group="For Crossover Color Option")
slow_length = input.int(30, title="Slow MA Length", group="For Crossover Color Option")

// Start and end date inputs
start_year = input.int(1975, title="Start Year", group="Date Range")
start_month = input.int(1, title="Start Month", group="Date Range")
start_day = input.int(1, title="Start Day", group="Date Range")
end_year = input.int(2099, title="End Year", group="Date Range")
end_month = input.int(12, title="End Month", group="Date Range")
end_day = input.int(31, title="End Day", group="Date Range")

// Calculate the selected MAs
fast_ma = ta.sma(close, fast_length)
slow_ma = ta.sma(close, slow_length)

// Calculate the base MA with the specified length
base_ma = ta.sma(close, base_ma_length)

// Determine if the base MA is increasing or decreasing
base_ma_increasing = base_ma > base_ma[1]

// Define the color for the base MA based on the selected option
base_ma_color =    color_choice == "Direction" ? (base_ma_increasing ? color.teal : color.red) :    color_choice == "Crossover" ? (fast_ma > slow_ma ? color.teal : color.red) :    color_choice == "Composite" ? (base_ma_increasing and fast_ma > slow_ma ? color.teal : not base_ma_increasing and fast_ma < slow_ma ? color.red : color.gray) :    color.gray

// Plot the base MA with the specified color and linewidth
plot(base_ma, title="Base MA", color=base_ma_color, style=plot.style_line, linewidth=2)

// Define the start and end timestamps
start_date = timestamp(start_year, start_month, start_day, 0, 0)
end_date = timestamp(end_year, end_month, end_day, 23, 59)

// Filter strategy signals based on date
in_date_range = time >= start_date and time <= end_date

// Strategy conditions for each option
if (color_choice == "Composite" and in_date_range)
    if (base_ma_increasing and fast_ma > slow_ma)
        strategy.entry("Buy", strategy.long)
    if (not base_ma_increasing and fast_ma < slow_ma)
        strategy.close("Buy")

if (color_choice == "Crossover" and in_date_range)
    if (fast_ma > slow_ma)
        strategy.entry("Buy", strategy.long)
    if (fast_ma < slow_ma)
        strategy.close("Buy")

if (color_choice == "Direction" and in_date_range)
    if (base_ma_increasing)
        strategy.entry("Buy", strategy.long)
    if (not base_ma_increasing)
        strategy.close("Buy")