Participe de nossa página de fãs
Coloque um link para ele, e permita que outras pessoas também o avaliem
Avalie seu funcionamento no terminal MetaTrader 5
Indicador de tendência com base na análise singular de espectro - indicador para MetaTrader 5
- Visualizações:
- 3218
- Avaliação:
- Publicado:
- 2016.08.17 09:35
- 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:
- SegmentLength — comprimento do fragmento "histórico mais recente" de uma série de preços.
- 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.
- 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.
- 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.
- 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.
Fig.1. Período, 5 min. 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)
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
- Elsner J.B., Tsonis A.A. Singular Spectrum Analysis: A New Tool in Time Series Analysis. Plenum Press. New York, 1996. 164 p.
- 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.
- Golyandina N.E. O método "Caterpillar"-SSA: análise de séries temporais: libro. manual. São Petersburgo:. BBM, 2004. - 76 páginas.
- 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.
- 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.
- 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.
- 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
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_HTFIndicador Volume_Weighted_MA_StDev com possibilidade de alterar o timeframe do indicador nos parâmetros de entrada.
O experto Exp_Fisher_org_v1 baseia-se nas alterações dos sinais do oscilador Fisher_org_v1.
Fisher_org_v1_SignIndicador de sinal marcador de semáforo com uso de saída da zona de sobrevenda/sobrecompra do oscilador Fisher_org_v1.