Assista a como baixar robôs de negociação gratuitos
Encontre-nos em Twitter!
Participe de nossa página de fãs
Script interessante?
Coloque um link para ele, e permita que outras pessoas também o avaliem
Você gostou do script?
Avalie seu funcionamento no terminal MetaTrader 5
Indicadores

Indicador de tendência com base na análise singular de espectro - indicador para MetaTrader 5

Visualizações:
3164
Avaliação:
(30)
Publicado:
2016.08.17 09:35
\MQL5\Include\SSA\ \MQL5\Indicators\
Precisa de um robô ou indicador baseado nesse código? Solicite-o no Freelance Ir para Freelance

Isolação da tendência e filtragem de ruído utilizando o método de análise singular de espectro. O controle de parâmetros do indicador permite gerenciar a suavidade da tendência isolada e o limite da filtragem de ruído.

A decomposição ótima de dados para a tendência, os componentes de baixa e alta freqüência com a última reconstrução do sinal são definidos pelo horizonte temporal da estratégia de negociação. O indicador (tendência suavizada) não tem atrasos de fase, em contraste com os métodos de filtração convencionais e a média suavizada.

O indicador de tendência baseado no método "Caterpillar" envolve a descomposição de uma série de preços nos componentes aditivos. Além disso, você não precisa de uma série estacionária, do conhecimento do modelo de tendência e de informações sobre a presença de componentes periódicos e seus períodos [1-4].

Os recursos do indicador implementado permitem suavizar uma série, isolar a tendência e, selecionando os parâmetros de do modelo segundo a série original dos preços, ter em conta ou suprimir a contribuição dos componentes dos osciladores numa escala de tempo menor, para filtrar as flutuações "ruído".


Parâmetros do indicador

Os principais parâmetros são:

  1. SegmentLength — comprimento do fragmento "histórico mais recente" de uma série de preços.
  2. SegmentLag — comprimento do caterpilar. É selecionado na faixa entre 1/4 e 1/2 do comprimento do fragmento. Ela afeta a separabilidade de componentes e suavização da tendência.
  3. EigMax - o número de componentes principais (modos de descomposição). Define a dimensionalidade do subespaço dos sinais e o registro de flutuações de todos os tamanhos.
  4. EigNoiseFlag sinalizador do cálculo do número de componentes principais para alternar entre os modos número "fixo" de modas e magnitude do ruído permitido. Opções = 0,1,2.
  5. EigNoiseLevel — percentagem admissível de contribuição de ruído para a "energia de flutuações" da série, se EigNoiseFlag != 0. ultrapassar EigMax, durante os cálculos.

Opções de parâmetro inteiro EigNoiseFlag:

  • 0 — a dimensão do espaço do sinal é fixa: [1,EigMax] ( EigNoiseLevel ignora-se. Se EigMax ultrapassar o possível, será limitada pelo possível).
  • 1 — depósito específico do valor próprio da moda separada para a soma total dos valores superior ao erro especificado EigNoiseLevel. O EigMax seleciona o melhor ajuste.
  • 2 — consideram-se os valores mais repetidos, cujo depósito total é diferente da "unidade" (completo) é não mais do que EigNoiseLevel. O EigMax seleciona o melhor ajuste.

Seleção típica e efeito dos parâmetros:

  • SegmentLength — comprimento do fragmento da série de preços no final do histórico de dados. É selecionado com base na estabilidade do histórico e mais ou menos com base na estabilidade do caráter homogêneo das alterações dos dados ou do período da estratégia.
  • SegmentLag — define a dimensão "da largura do filtro" para as modas separadas (inversamente proporcional). Ele afeta a suavidade e o ajuste da tendência durante a instabilidade do gráfico de preços.
  • EigMax — define a dimensão do subespaço do "sinal" com informações úteis. Ele define o limite de "ruido".
  • EigNoiseLevel — define a quantidade de "ruido" na dispersão total da série. Especificar em PERCENTAGEM.


Programação informática

A classe CCaterpillar, implementada no arquivo CCaterpillar.mqh, inclui tudo o necessário para o cálculo da tendência, com exceção de procedimentos de álgebra linear (para a decomposição em valores singulares da matriz de trajetória utilizada para a Biblioteca ALGLIB). O código, apresentado no arquivo, inclui uma descrição para os membros e procedimentos da classe.

Para trabalhar com o indicador, são necessários os arquivos:

  • 1) MQL5\Include\SSA\CCaterpillar.mqh
  • 2) MQL5\Indicators\SingularMA.mq5
  • 3) Biblioteca ALGLIB (agradeço, como muitas outras pessoas, a Sergei Bochkanovu por entregar-nos a maravilhosa biblioteca de métodos numéricos ALGLIB)


Características de uso

Não vale apena definir o fragmento de dados de mais de 300 valores, por causa da pesada carga de processamento. Faixa ótima 150-200. Sempre é possível passar a outro período de contagens de gráfico para mais cobertura do histórico.

É razoável alterar a janela "caterpilar" no intervalo de 1/3-1/2 do comprimento do fragmento. Se a janela superar a metade do fragmento, então, em virtude da simetria da trajetória e da matriz transposta por ela, isto será equivalente à janela com comprimento simétrico em relação à metade do fragmento. Um comprimento pequeno da janela não dá uma média de qualidade e uma divisão das informações em modas separadas.

Se, na interface gráfica da série de preços, não houver um fluxo lento de dados, então, as possíveis soluções serão as seguintes: а) reduzir o comprimento do fragmento; b) aumentar o parâmetro de especificidade do recálculo ReCalcLim na função OnCalculate.

Período, 5 min. Dois tendências SSA(120,50,4), SSA(50,20,7) e média móvel MA(14)

Fig.1. Período, 5 min. Dois tendências SSA(120,50,4), SSA(50,20,7) e média móvel MA(14)


Período, 1 hora. Dois tendências SSA(120,50,4), SSA(50,20,7) e média móvel MA(14)

Fig. 2. Período, 1 hora. Dois tendências SSA(120,50,4), SSA(50,20,7) e média móvel MA(14)


Período, 1 dia. Dois tendências SSA(120,50,4), SSA(50,20,7) e média móvel MA(14)

Fig. 3. Período, 1 dia. Dois tendências SSA(120,50,4), SSA(50,20,7) e média móvel MA(14)

A aplicação da análise singular para realização do indicador de tendência nesta apresentação é uma ilustração básica. O uso generalizado dos métodos SSA no sector financeiro para a análise e previsão de séries temporais é apresentado em [5-7].


Literatura

  1. Elsner J.B., Tsonis A.A. Singular Spectrum Analysis: A New Tool in Time Series Analysis. Plenum Press. New York, 1996. 164 p.
  2. Danilov D.L., Zhigljavsky A.A. Componentes principais das séries temporais: O método do "Caterpillar". São Petersburgo:. Universidade Estatal de São Petersburgo., 1997. -308 páginas.
  3. Golyandina N.E. O método "Caterpillar"-SSA: análise de séries temporais: libro. manual. São Petersburgo:. BBM, 2004. - 76 páginas.
  4. Principais componentes da série temporal: método "Caterpillar", Ed. D. L. Danilov, A. A. Zhigljavsky. São Petersburgo: Presskom de 1997. Página 308.
  5. O método "Caterpillar" — SSA - ARPSS - SPOARUG e modelo ARSPSS - SPOARUG para análise e previsão de séries temporais econômicas e financeiras: Atas da Segunda Conferência Científica Internacional "Métodos matemáticos, modelos e tecnologias da informação na economia", 4-6 de maio de 2011, em Chernivtsi. — Páginas 306—308.
  6. Kozhihova N.A., Shiryaev V.I. Previsão de séries temporais com base em componentes caóticos. Boletim SUSU, № 22, 2010, páginas 22-25.
  7. A.M. Аvdeenko Advisors and indicators based on the SSA models and non-linear generalizations // ver. arXiv:

Traduzido do russo pela MetaQuotes Ltd.
Publicação original: https://www.mql5.com/ru/code/15865

Volume_Weighted_MA_Cloud_Digit Volume_Weighted_MA_Cloud_Digit

Indicador Volume_Weighted_MA com preenchimento do espaço do gráfico usando um fundo colorido, com exibição do valor mais recente sob a forma de etiquetas de preço, com a possibilidade de arredondar os níveis do indicador até um número necessário de dígitos.

Volume_Weighted_MA_StDev_HTF Volume_Weighted_MA_StDev_HTF

Indicador Volume_Weighted_MA_StDev com possibilidade de alterar o timeframe do indicador nos parâmetros de entrada.

Exp_Fisher_org_v1 Exp_Fisher_org_v1

O experto Exp_Fisher_org_v1 baseia-se nas alterações dos sinais do oscilador Fisher_org_v1.

Fisher_org_v1_Sign Fisher_org_v1_Sign

Indicador de sinal marcador de semáforo com uso de saída da zona de sobrevenda/sobrecompra do oscilador Fisher_org_v1.