Estratégia de acompanhamento da volatilidade da média móvel dupla

Autora:ChaoZhang, Data: 2024-02-29 11:15:08
Tags:

img

Resumo

A estratégia de rastreamento de volatilidade de média móvel dupla integra as ideias das estratégias de rastreamento de volatilidade de média móvel e média móvel. Ao calcular o cruzamento de médias móveis simples (SMAs) com diferentes períodos, ela realiza a cruz de ouro e a cruz morta para julgar tendências. Enquanto isso, combinando as bandas de Bollinger e o índice VIDYA, ele julga as tendências e a volatilidade do mercado, alcançando a identificação de tendências eficazes e a captura eficiente de pontos de virada importantes.

Estratégia lógica

Os principais indicadores desta estratégia incluem a média móvel simples (SMA), as bandas de Bollinger e a média dinâmica do índice variável (VIDYA). A estratégia define uma SMA rápida e uma LMA lenta com períodos diferentes. A cruz de ouro das linhas rápidas e lentas serve como sinal longo, enquanto a cruz da morte serve como sinal de saída. Enquanto isso, monitora a quebra do preço acima ou abaixo das bandas de Bollinger durante um período de detenção. A VIDYA, que incorpora informações de volatilidade, julga a direção e força da tendência atual.

Especificamente, a lógica de sinal longo é acionada quando a SMA rápida cruza a curva LMA lenta e o preço está acima da curva VIDYA, indicando uma expansão de tendência de alta e volatilidade.

Análise das vantagens

A maior vantagem desta estratégia é a combinação de dois indicadores para avaliar as condições de mercado, melhorando a precisão das decisões.

  1. A estratégia de cruz de ouro e cruz morta é simples e eficaz para identificar pontos de virada da tendência.
  2. O índice VIDYA acompanha dinamicamente as alterações na volatilidade do mercado.
  3. As bandas de Bollinger respondem atempadamente às flutuações de preços.

Em resumo, esta estratégia integra informações de tendências, reversão e dimensões de volatilidade.

Análise de riscos

Embora esta estratégia tenha muitos méritos, ainda existem alguns riscos a tomar em consideração:

  1. A configuração inadequada dos parâmetros pode causar excesso de negociação, aumento dos custos e deslizamento.
  2. Os sinais conflitantes entre indicadores duais podem levar à ausência dos melhores pontos de entrada.
  3. O risco de sobreajuste do backtest existe. O desempenho comercial real pode diferir muito dos resultados do backtest.

Para mitigar os riscos acima referidos, recomenda-se a otimização dos parâmetros, regras de prioridade entre os sinais, controlo do deslizamento e teste de robustez em diferentes ambientes de mercado.

Orientações de otimização

As principais dimensões de otimização encontram-se no ajuste dos parâmetros e na definição da condição do filtro:

  1. Otimizar os parâmetros do período SMA e LMA.
  2. Ajustar o parâmetro de largura de banda para Bandas de Bollinger.
  3. Optimize o parâmetro de suavização alfa no VIDYA.
  4. Adicionar condições de filtro de preço ou volume.

A combinação de otimização de parâmetros e refinamento de regras poderia aumentar ainda mais a estabilidade e a rentabilidade.

Conclusão

A estratégia de rastreamento de volatilidade de média móvel dupla utiliza múltiplos indicadores para determinar as condições do mercado, capturando pontos de virada da tendência enquanto monitora situações de flutuação de preços.


/*backtest
start: 2024-01-29 00:00:00
end: 2024-02-28 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Combined Golden Cross and Progressive Trend Tracker", shorttitle="GCC-PTT", overlay=true)

// Inputs
fastMA_period = input(50, title="Fast MA Period")
slowMA_period = input(200, title="Slow MA Period")
src = input(close, title="Source")
lengthBB = input(20, title="Bollinger Bands Length")
mult = input(2.0, title="Bollinger Bands Multiplier")
mavType = input.string(title="Moving Average Type", defval="VAR", options=['SMA', 'EMA', 'WMA', 'TMA', 'VAR', 'WWMA', 'ZLEMA', 'TSF'])

// Calculate Moving Averages for Golden Cross
fastMA = ta.sma(src, fastMA_period)
slowMA = ta.sma(src, slowMA_period)
bullish_cross = ta.crossover(fastMA, slowMA)
bearish_cross = ta.crossunder(fastMA, slowMA)

// Progressive Trend Tracker Components (Adjusted for NA assignment issue)
Var_Func(src, length) =>
    valpha = 2 / (length + 1)
    vud1 = src > src[1] ? src - src[1] : 0
    vdd1 = src < src[1] ? src[1] - src : 0
    vUD = math.sum(vud1, length)
    vDD = math.sum(vdd1, length)
    vCMO = (vUD - vDD) / (vUD + vDD)
    VAR = 0.0 // Adjusted here, assign an initial value
    VAR := ta.ema(src * math.abs(vCMO), length)
    VAR

VAR = Var_Func(src, 14) // Example VAR calculation, adjust as needed

// Bollinger Bands for dynamic support and resistance
BBandTop = fastMA + mult * ta.stdev(src, lengthBB)
BBandBot = fastMA - mult * ta.stdev(src, lengthBB)

// Plotting
plot(fastMA, color=color.blue, title="Fast MA")
plot(slowMA, color=color.red, title="Slow MA")
plot(BBandTop, color=color.green, title="Bollinger Band Top")
plot(BBandBot, color=color.red, title="Bollinger Band Bottom")
plot(VAR, color=color.purple, title="VAR", linewidth=2)

// Strategy Logic (Adjusted for strategy use)
// Long Entry when bullish cross and close above VAR
// Exit when bearish cross or close below VAR
if (bullish_cross and close > VAR)
    strategy.entry("CGC_PTT_Long", strategy.long)
if (bearish_cross or close < VAR)
    strategy.close("CGC_PTT_Long")


Mais.