Estratégia de rastreamento de volatilidade baseada em média móvel dupla


Data de criação: 2024-02-29 11:15:08 última modificação: 2024-02-29 11:15:08
cópia: 0 Cliques: 627
1
focar em
1617
Seguidores

Estratégia de rastreamento de volatilidade baseada em média móvel dupla

Visão geral

A estratégia de rastreamento de taxa de flutuação em duas linhas combina a estratégia de rastreamento de indicadores de taxa de flutuação em duas linhas. A determinação de um cruzamento de linha de flutuação em duas linhas é realizada através do cálculo de um cruzamento de linhas de flutuação simples em diferentes períodos, enquanto a combinação de bandas de Bollinger e indicadores de VIDYA determina a tendência e a volatilidade do mercado, permitindo um julgamento claro das tendências e uma captura eficiente dos pontos críticos.

Princípio da estratégia

Os indicadores centrais da estratégia incluem a média móvel simples, as bandas de ondulação de Bollinger e a média do índice de taxa de flutuação de Vidya. A estratégia define um ciclo diferente de SMAs rápidas e LMAs lentas, com a cruz dourada da linha rápida e lenta como um sinal de multiplicação e a cruz morta como um sinal de equilíbrio.

Concretamente, a lógica do sinal de fazer mais é atravessar a linha lenta na linha rápida, e o preço está acima da curva VIDA, indicando a presunção de aumento da tendência e amplificação da oscilação; o sinal de posição de equilíbrio é atravessar a linha lenta abaixo da linha rápida ou o preço está abaixo da curva VIDA, indicando uma reversão de tendência ou uma tendência de contração da oscilação.

Análise de vantagens

A principal vantagem da estratégia de acompanhamento de flutuações em duas linhas é a combinação de dois indicadores para avaliar o estado do mercado, o que aumenta a precisão da tomada de decisão. Em particular, as vantagens são:

  1. A estratégia do “fork-dead-fork” é simples e eficaz, permitindo identificar com clareza o ponto de viragem da tendência.
  2. O indicador de volatilidade Vidya acompanha dinamicamente as mudanças nas flutuações do mercado;
  3. A determinação da banda de Bollinger permite que a estratégia responda às oscilações de preços.

Em suma, a estratégia integra informações de várias dimensões, como tendências, retornos e volatilidade, permitindo uma resposta mais rápida às mudanças no mercado e, portanto, uma maior probabilidade de obter lucros extras.

Análise de Riscos

Embora a estratégia tenha muitos benefícios, há alguns riscos que devem ser alertas:

  1. A configuração inadequada dos parâmetros pode levar a transações excessivamente frequentes, aumentando os custos de transação e a perda de pontos de deslizamento;
  2. A necessidade de priorizar claramente os conflitos de sinais em julgamentos de duplo indicador, o que pode fazer com que se perca o melhor momento de entrada;
  3. A estratégia de retrospectiva apresenta um risco de sobre-ajuste, e o desempenho em campo pode ser muito diferente do resultado da retrospectiva.

Para reduzir os riscos acima, é recomendável otimizar a configuração dos parâmetros, priorizar claramente os sinais dos indicadores, aumentar o controle do ponto de deslizamento e verificar a robustez da estratégia várias vezes em diferentes ambientes de mercado.

Direção de otimização

A principal direção de otimização da estratégia centra-se na definição de parâmetros e condições de filtragem, que podem ser realizadas a partir das seguintes dimensões:

  1. Optimizar os parâmetros de ciclo médio de linhas rápidas e lentas;
  2. Ajustar os parâmetros de largura de banda para as bandas de Bollinger;
  3. Optimizar o parâmetro de lisura α em VIDYA;
  4. Aumento de preços ou filtragem anormal de volume de transações.

A combinação de otimização de parâmetros e otimização de regras pode melhorar ainda mais a estabilidade e a taxa de retorno da estratégia.

Resumir

A estratégia de rastreamento de taxa de flutuação em linha dupla usa vários indicadores para avaliar o estado do mercado e, ao mesmo tempo, observa as flutuações de preços ao capturar a mudança de tendência. Esta estratégia é uma estratégia eficaz para otimizar o risco e a receita.

Código-fonte da estratégia
/*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")