Mira cómo descargar robots gratis
¡Búscanos en Twitter!
Pon "Me gusta" y sigue las noticias
¿Es interesante este script?
Deje un enlace a él, ¡qué los demás también lo valoren!
¿Le ha gustado el script?
Evalúe su trabajo en el terminal MetaTrader 5
Indicadores

Indicador basado en el Análisis Singular del Espectro - indicador para MetaTrader 5

Visualizaciones:
1200
Ranking:
(30)
Publicado:
2016.08.17 16:29
\MQL5\Include\SSA\
CCaterpillar.mqh (14.36 KB) ver
\MQL5\Indicators\
singularma.mq5 (7.59 KB) ver
¿Necesita un robot o indicador basado en este código? Solicítelo en la bolsa freelance Pasar a la bolsa

Destaca la tendencia y filtra los ruidos con la ayuda del método de Análisis Singular del Espectro El control de los parámetros del indicador permite gestionar la suavidad de la tendencia aislada y el umbral de filtrado del ruido.

La descomposición óptima de los datos para la composición de la tendencia, los componentes de baja y alta frecuencia con la consecuente reconstrucción de la señal son definidos por el horizonte temporal de la estrategia comercial. El indicador (tendencia suavizada) no tiene retrasos de fase a diferencia de los métodos de filtrado habituales y de la media suavizada.

El indicador de tendencia basado en el método "Oruga" presupone la descomposición de una serie de precios con componentes aditivos. Además, no se necesita ninguna serie estacionaria, conocimientos del modelo de tendencia, información sobre la presencia de componentes periódicos y sus periodos [1-4].

Las capacidades del indicador implementado permiten suavizar la serie, destacar la tendencia y, elegiendo los parámetros de construcción del modelo conforme a la serie original de precios, considerar o anular la contribución de los componentes de los osciladores en una menor escala de tiempo para filtrar las fluctuaciones de "ruido".


Parámetros del indicador

Los parámetros principales son:

  1. SegmentLength — longitud del fragmento de la "historia más reciente" de la serie de precios.
  2. SegmentLag — longitud de la oruga. Se elige un intervalo de 1/4 a 1/2 de la longitud del fragmento. Influyen en la división de los compoenentes y la suavidad de la tendencia.
  3. EigMax — número de componentes principales (modo de descomposición). Determina el tamaño del subespacio de las señales y el registro de las fluctuaciones a diferente escala.
  4. EigNoiseFlag bandera de cálculo de los componentes principales para alternar entre los modos número "fijo" de modas y la magnitud del ruido permisible. Variantes = 0,1,2.
  5. EigNoiseLevel — tanto por ciento permisible de contribución del ruido en la "energía de fluctuación" sumaria de la serie, si EigNoiseFlag != 0. Redefine EigMax durante los cálculos.

Variantes del parámetro entero EigNoiseFlag:

  • 0 — el tamaño del espacio de la señal es fijo: [1,EigMax] ( EigNoiseLevel se ignora. Si EigMax es más de lo posible, entonces se limita a lo posible).
  • 1 — el depósito específico del valor propio de una moda aparte en la suma total de los valores no es inferior al error establecido EigNoiseLevel. EigMax se elige de forma automática.
  • 2 — se tienen en cuenta los modos cuyo depósito sumario específico se distingue de la "unidad" (completo) en no más de EigNoiseLevel. EigMax se elige de forma automática.

Elección típica e influencia de los formatos:

  • SegmentLength — longitud del fragmento de la serie de precios al final de la historia de datos. Se elige partiendo de la estabilidad de la historia y del carácter más o menos homogéneo del cambio de los datos, o bien del periodo de la estrategia.
  • SegmentLag — establece la dimensión de la "anchura del filtro" para modas separadas (inversamente proporcional). Influye en la suavidad y el ajuste de la tendencia cuando el gráfico de precios es inestable.
  • EigMax — establece la dimensión del subespacio de la "señal" con información útil. Establece el umbral de "ruido".
  • EigNoiseLevel — establece la magnitud del "ruido" en la dispersión sumaria de la serie. Indicar en TANTO POR CIENTO.


Realización programática

La clase CCaterpillar, implementada en el archivo CCaterpillar.mqh, incluye todo lo necesario para los cálculos de la tendencia, excepto los procedimentos de álgebra lineal (para descomponer en valores singulares de la matriz de trayectoria utiliza la Biblioteca ALGLIB). El código que presentamos en el archivo incluye la descripción de los miembros y los procedimientos de clase.

Para trabajar con el indicador se necesitan los archivos:

  • 1) MQL5\Include\SSA\CCaterpillar.mqh
  • 2) MQL5\Indicators\SingularMA.mq5
  • 3) La biblioteca ALGLIB (me siento muy agradecido, como tantas otras personas, con Sergei Bochkanov por la estupenda biblioteca de métodos numéricos ALGLIB)


Peculiaridades de uso

No merece la pena establecer un fragmento de datos superior a los 300 valores, debido a la gran carga de procesamiento. Lo óptimo serían 150-200. Siempre se puede pasar a otro periodo de cálculo del gráfico para abarcar más historia.

Lo lógico es cambiar la ventana de la "oruga" en un intervalo de 1/3-1/2 de la longitud del fragmento. Si la ventana supera la mitad del fragmento, entonces, en razón de la simetría de la trayectoria y de la matriz transpuesta por ella, esto equivaldrá a una ventana con una longitud simétrica con respecto a la mitad del fragmento. La longitud menor de la ventana no da una media de calidad y una división de la información en modas separadas.

Si se percibe una llegada lenta de datos en la interfaz gráfica de la serie de precios, entonces las posibles soluciones serán: а) reducir la longitud del fragmento; b) aumentar el parámetro de especificidad del recálculo ReCalcLim en la función OnCalculate.

Periodo de 5 min. Dos tendencias SSA(120,50,4), SSA(50,20,7) y la media móvil MA(14)

Fig. 1. Periodo de 5 min. Dos tendencias SSA(120,50,4), SSA(50,20,7) y la media móvil MA(14)


Periodo de 1 hora. Dos tendencias SSA(120,50,4), SSA(50,20,7) y la media móvil MA(14)

Fig. 2. Periodo de 1 hora. Dos tendencias SSA(120,50,4), SSA(50,20,7) y la media móvil MA(14)


Periodo de 1 día Dos tendencias SSA(120,50,4), SSA(50,20,7) y la media móvil MA(14)

Fig. 3. Periodo de 1 día Dos tendencias SSA(120,50,4), SSA(50,20,7) y la media móvil MA(14)

La aplicación del análisis singular para la implementación del indicador de tendencia en esta presentación es una ilustración básica. La utilización generalizada de los métodos de SSA en la esfera financiera para el análisis y pronóstico de series temporales se muestra en [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 principales de las series temporales: El método de la «Oruga». San Petersburgo.: Universidad Estatal de San Petersburgo, 1997. -308 páginas.
  3. Golyandina N.E. El método de la «Oruga»-SSA: análisis de series temporales: Manual. San Petersburgo.: ВВМ, 2004. - 76 páginas.
  4. Componentes principales de las series temporales: El método de la «Oruga», Ed. D. L. Danilov, А. А. Zhigljavsky. San Petersburgo.: Presskom, 1997. Página. 308.
  5. El método de la "Oruga" — SSA - ARPSS - SPOARUG y el modelo ARSPSS - SPOARUG para el análisis y pronóstico de series temporales económicas y financieras: Antología de la Segunda Conferencia Científica Internacional "Métodos matemáticos, modelos y tecnologías de la información en la economía", 4-6 de mayo de 2011, en Chernivtsi. — Páginas 306—308.
  6. Kozhihova N.A., Shiryaev V.I. Pronóstico de series temporales en base a componentes caóticos. Boletín SUSU, № 22, 2010, páginas 22-25.
  7. А.М. Аvdeenko Advisors and indicators based on the SSA models and non-linear generalizations // см. arXiv:

Traducción del ruso realizada por MetaQuotes Ltd
Artículo original: https://www.mql5.com/ru/code/15865

Volume_Weighted_MA_Cloud_Digit Volume_Weighted_MA_Cloud_Digit

El indicador Volume_Weighted_MA rellena el espacio del gráfico con un fondo de color. También representa el último valor en forma de etiqueta de precio y tiene la posibilidad de redondear los niveles del indicador en la cantidad indicada de grados.

Volume_Weighted_MA_StDev_HTF Volume_Weighted_MA_StDev_HTF

Indicador Volume_Weighted_MA_StDev con posibilidad de cambiar el marco temporal del indicador en los parámetros de entrada.

Exp_Fisher_org_v1 Exp_Fisher_org_v1

El experto Exp_Fisher_org_v1 está construido en base a las señales del indicador Fisher_org_v1.

Fisher_org_v1_Sign Fisher_org_v1_Sign

Indicador de señal de semáforo de flechas con salida de las zonas de sobrecompra y sobreventa del oscilador Fisher_org_v1.