O recurso está a ser carregado... Carregamento...

Tendência ponderada adaptativa na sequência de uma estratégia (sistema de indicadores múltiplos Vidya)

Autora:ChaoZhang, Data: 2024-12-05 15:07:47
Tags:EMAOrganização comum de mercadoMA

img

Resumo

Esta estratégia é um sistema de negociação baseado no indicador VIDYA (Variable Index Dynamic Average). A estratégia se adapta à volatilidade do mercado ajustando dinamicamente os pesos, combinando os métodos de cálculo do Momentum Oscillator (CMO) e Standard Deviation (StDev) de Chande para obter uma identificação de tendência mais precisa e geração de sinal de negociação.

Princípios de estratégia

O núcleo da estratégia é o indicador VIDYA, cujo processo de cálculo inclui as seguintes etapas-chave:

  1. Definição do período de base (por defeito 21) e coeficiente de suavização alfa
  2. Incorporação da OMC ou do StDev como métodos de cálculo da volatilidade
  3. Utilizando o peso dinâmico k para ajustar a sensibilidade da VIDYA às variações de preços
  4. Gerar sinais longos quando o VIDYA cruza para cima e sinais curtos quando cruza para baixo

A estratégia permite que os usuários escolham entre CMO ou desvio padrão para o cálculo do coeficiente de volatilidade, aumentando a flexibilidade.

Vantagens da estratégia

  1. Forte adaptabilidade: mantém um bom desempenho em diferentes ambientes de mercado através de um ajuste dinâmico do peso
  2. Sinais estáveis: melhor filtração de falsos sinais em comparação com as médias móveis tradicionais
  3. Parâmetros ajustáveis: fornece vários parâmetros ajustáveis para otimização com base em diferentes características do mercado
  4. Métodos de cálculo duplos: Suporta cálculos de volatilidade tanto do CMO como do StDev, aumentando a adaptabilidade da estratégia
  5. Amigável ao utilizador: lógica estratégica clara e sinais definitivos, convenientes para a operação prática

Riscos estratégicos

  1. Dependência da tendência: pode gerar sinais falsos frequentes em mercados oscilantes
  2. Sensibilidade dos parâmetros: diferentes combinações de parâmetros afetam significativamente o desempenho da estratégia
  3. Lag: Existe um atraso inerente como indicador do tipo de média móvel
  4. Adaptabilidade ao mercado: pode ter um desempenho inferior em determinados ambientes de mercado específicos
  5. Gestão do dinheiro: a falta de um mecanismo de stop-loss pode levar a importantes retrações

Orientações para a otimização da estratégia

  1. Introduzir um filtro de volatilidade: ajustar as regras de geração de sinal em ambientes de alta volatilidade
  2. Adicionar indicadores de confirmação de tendência: combinar com outros indicadores técnicos para melhorar a confiabilidade do sinal
  3. Melhorar a gestão do dinheiro: conceber mecanismos dinâmicos de gestão de perdas e de posições
  4. Optimizar a selecção de parâmetros: desenvolver métodos de otimização automática de parâmetros para diferentes ciclos de mercado
  5. Melhorar a avaliação do ambiente de mercado: ajustar dinamicamente os parâmetros da estratégia com base nas condições do mercado

Resumo

A estratégia VIDYA fornece uma tendência relativamente confiável após a solução através de mecanismos de peso adaptativos inovadores. Ao mesmo tempo em que mantém simplicidade e facilidade de uso, a estratégia melhora a adaptabilidade às mudanças do mercado através de ajustes dinâmicos. Embora existam algumas limitações inerentes, as direções de otimização fornecidas podem melhorar ainda mais a estabilidade e a confiabilidade da estratégia. Os métodos de cálculo duplo oferecem maior flexibilidade para aplicação em diferentes ambientes de mercado.


/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-04 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © GriffinJames


//@version=5
strategy("VIDYA Strategy", overlay=true, initial_capital=25000)

// Inputs
src = input(close, title="Source")
pds = input.int(21, title="Length")
fixCMO = input.bool(true, title="Fixed CMO Length (9)?")
select = input.bool(true, title="Calculation Method: CMO/StDev?")
alpha = 2 / (pds + 1)
momm = ta.change(src)

// Functions to calculate MOM
f1(m) => m >= 0.0 ? m : 0.0
f2(m) => m >= 0.0 ? 0.0 : -m

m1 = f1(momm)
m2 = f2(momm)
sm1 = fixCMO ? math.sum(m1, 9) : math.sum(m1, pds)
sm2 = fixCMO ? math.sum(m2, 9) : math.sum(m2, pds)

percent(nom, div) => 100 * nom / div
chandeMO = na(percent(sm1 - sm2, sm1 + sm2)) ? 0 : percent(sm1 - sm2, sm1 + sm2)

// Select calculation method
k = select ? math.abs(chandeMO) / 100 : ta.stdev(src, pds)

// Calculate VIDYA
var float VIDYA = na
VIDYA := na(VIDYA[1]) ? src : alpha * k * src + (1 - alpha * k) * VIDYA[1]

// Conditions for long and short
col12 = VIDYA > VIDYA[1]
col32 = VIDYA < VIDYA[1]

// Plot VIDYA with dynamic colors
color2 = col12 ? color.new(color.blue, 0) : col32 ? color.new(color.maroon, 0) : color.new(color.blue, 0)
plot(VIDYA, "VAR", color=color2, linewidth=2)

// Long and Short Strategy
if (col12)
    strategy.entry("Go Long", strategy.long)
if (col32)
    strategy.entry("Go Short", strategy.short)

// Alert for VIDYA color change
alertcondition(ta.cross(VIDYA, VIDYA[1]), title="Color ALARM!", message="VIDYA has changed color!")


Relacionados

Mais.