Thursday 1 December 2016

Media Móvil Mql5


MetaTrader 4 - Indicadores Promedios móviles, indicador MA para MetaTrader 4 El Indicador técnico de media móvil muestra el valor medio del precio del instrumento durante un cierto período de tiempo. Cuando se calcula el promedio móvil, se calcula la media del precio del instrumento para este período de tiempo. A medida que el precio cambia, su promedio móvil aumenta o disminuye. Hay cuatro tipos diferentes de promedios móviles: Simple (también conocido como aritmética), exponencial, suavizado y lineal ponderado. Los promedios móviles se pueden calcular para cualquier conjunto de datos secuenciales, incluyendo precios de apertura y cierre, precios más altos y más bajos, volumen de operaciones o cualquier otro indicador. A menudo es el caso cuando se usan promedios móviles dobles. Lo único en que los promedios móviles de diferentes tipos divergen considerablemente entre sí, es cuando los coeficientes de peso, que se asignan a los últimos datos, son diferentes. En caso de que se trate de media móvil simple, todos los precios del período de tiempo en cuestión, son iguales en valor. Los promedios móviles exponenciales y lineales ponderan más valor a los últimos precios. La forma más común de interpretar el precio promedio móvil es comparar su dinámica con la acción del precio. Cuando el precio del instrumento sube por encima de su media móvil, aparece una señal de compra, si el precio cae por debajo de su media móvil, lo que tenemos es una señal de venta. Este sistema de comercio, que se basa en la media móvil, no está diseñado para proporcionar la entrada en el mercado justo en su punto más bajo, y su salida a la derecha en el pico. Permite actuar de acuerdo con la siguiente tendencia: comprar poco después de que los precios lleguen al fondo, y vender poco después de que los precios hayan alcanzado su punto máximo. Cálculo Promedio móvil simple (SMA) Simple, en otras palabras, el promedio móvil aritmético se calcula sumando los precios del cierre del instrumento durante un cierto número de períodos individuales (por ejemplo, 12 horas). Este valor se divide entonces por el número de tales períodos. SMA SUM (CLOSE, N) / N Donde: N es el número de períodos de cálculo. Promedio móvil exponencial (EMA) El promedio móvil suavizado exponencialmente se calcula sumando la media móvil de una determinada proporción del precio de cierre actual al valor anterior. Con los promedios móviles suavizados exponencialmente, los últimos precios son de mayor valor. La media móvil exponencial del P por ciento se verá así: Donde: CERRAR (i) el precio del cierre del período actual EMA (i-1) Promedio Movimiento Exponencial del cierre del período anterior P el porcentaje de usar el valor del precio. Promedio móvil suavizado (SMMA) El primer valor de este promedio móvil suavizado se calcula como la media móvil simple (SMA): SUM1 SUM (CLOSE, N) Las segundas y siguientes medias móviles se calculan según esta fórmula: Donde: SUM1 es el Suma total de los precios de cierre para N periodos SMMA1 es el promedio móvil suavizado de la primera barra SMMA (i) es el promedio móvil suavizado de la barra actual (excepto el primero) CLOSE (i) es el precio actual de cierre N es el Período de suavizado. Promedio móvil ponderado lineal (LWMA) En el caso de la media móvil ponderada, los datos más recientes tienen más valor que los datos más antiguos. La media móvil ponderada se calcula multiplicando cada uno de los precios de cierre dentro de la serie considerada, por un cierto coeficiente de ponderación. Suma (i, N) / SUM (i, N) Donde: SUM (i, N) es la suma total de los coeficientes de peso. Los promedios móviles también pueden aplicarse a los indicadores. Es ahí donde la interpretación de las medias móviles de los indicadores es similar a la interpretación de los promedios móviles de los precios: si el indicador sube por encima de su media móvil, es probable que continúe el movimiento del indicador ascendente: si el indicador cae por debajo de su promedio móvil, Significa que es probable que siga bajando. Estos son los tipos de promedios móviles en el gráfico: Promedio móvil simple (SMA) Promedio móvil exponencial (EMA) Promedio móvil suavizado (SMMA) Promedio móvil promedio ponderado lineal (LWMA) El indicador técnico de media móvil muestra el valor medio del precio del instrumento Un cierto período de tiempo. Cuando se calcula el promedio móvil, se calcula la media del precio del instrumento para este período de tiempo. A medida que el precio cambia, su promedio móvil aumenta o disminuye. Hay cuatro tipos diferentes de promedios móviles: Simple (también conocido como Aritmética), Exponencial. Suavizado y ponderado. El Promedio móvil puede calcularse para cualquier conjunto de datos secuenciales, incluyendo precios de apertura y cierre, precios más altos y más bajos, volumen de operaciones o cualquier otro indicador. A menudo es el caso cuando se usan promedios móviles dobles. Lo único en que los promedios móviles de diferentes tipos divergen considerablemente entre sí, es cuando los coeficientes de peso, que se asignan a los últimos datos, son diferentes. En el caso de que estamos hablando de Media móvil simple. Todos los precios del período de tiempo en cuestión son iguales en valor. La media móvil exponencial y la media móvil ponderada lineal atribuyen más valor a los precios más recientes. La forma más común de interpretar el precio promedio móvil es comparar su dinámica con la acción del precio. Cuando el precio del instrumento sube por encima de su promedio móvil, aparece una señal de compra, si el precio cae por debajo de su media móvil, lo que tenemos es una señal de venta. Este sistema de comercio, que se basa en la media móvil, no está diseñado para proporcionar la entrada en el mercado justo en su punto más bajo, y su salida a la derecha en el pico. Permite actuar de acuerdo con la siguiente tendencia: comprar poco después de que los precios lleguen al fondo, y vender poco después de que los precios hayan alcanzado su punto máximo. Los promedios móviles también pueden aplicarse a los indicadores. Es ahí donde la interpretación de las medias móviles de los indicadores es similar a la interpretación de los promedios móviles de los precios: si el indicador sube por encima de su media móvil, es probable que continúe el movimiento del indicador ascendente: si el indicador cae por debajo de su promedio móvil, Significa que es probable que siga bajando. Estos son los tipos de promedios móviles en el gráfico: Promedio móvil simple (SMA) Promedio móvil exponencial (EMA) Promedio móvil suavizado (SMMA) Promedio móvil ponderado lineal (LWMA) Puede probar las señales comerciales de este indicador creando un Asesor experto En MQL5 Asistente. Cálculo Promedio móvil simple (SMA) Simple, en otras palabras, el promedio móvil aritmético se calcula sumando los precios del cierre del instrumento durante un cierto número de períodos individuales (por ejemplo, 12 horas). Este valor se divide entonces por el número de tales períodos. SMA SUM (CERRAR (i), N) / N SUM SUM CERRAR (i) período actual precio de cierre N número de períodos de cálculo. Promedio móvil exponencial (EMA) La media móvil suavizada exponencialmente se calcula sumando una cuota determinada del precio de cierre actual al valor anterior de la media móvil. Con los promedios móviles suavizados exponencialmente, los últimos precios de cierre son de mayor valor. La media móvil exponencial del P por ciento se verá así: EMA (CERRAR (i) P) (EMA (i - 1) (1 - P)) CERRAR (i) De un período anterior P el porcentaje de utilización del valor del precio. Promedio móvil suavizado (SMMA) El primer valor de esta media móvil suavizada se calcula como la media móvil simple (SMA): SUM1 SUM (CLOSE (i), N) La segunda media móvil se calcula de acuerdo con esta fórmula: SMMA (i) (I) (N) () () () () NMA (i - 1) ) / N SUM sum SUM1 suma total de los precios de cierre para N periodos se cuenta desde la barra anterior PREVSUM suma suavizada de la barra anterior SMMA (i-1) media móvil suavizada de la barra anterior SMMA (i) media móvil suavizada de la barra Barra actual (excepto la primera) CERRAR (i) precio de cierre actual N período de suavizado. Después de conversiones aritméticas, la fórmula puede simplificarse: SMMA (i) (SMMA (i - 1) (N - 1) CERRAR (i)) / N Promedio móvil ponderado lineal (LWMA) En el caso de la media móvil ponderada, Tiene más valor que los datos más antiguos. La media móvil ponderada se calcula multiplicando cada uno de los precios de cierre dentro de la serie considerada por un cierto coeficiente de ponderación: LWMA SUM (CLOSE (i) i, N) El cálculo de los promedios móviles en MQL5 Introducción El uso de los promedios móviles es una práctica común en el análisis de las series de tiempo del mercado, en los indicadores y en los asesores expertos programación. Es el método de suavizado de datos de precios más popular. En la nueva versión del lenguaje MQL hay una docena de algoritmos de media móvil disponibles. Esa es la diferencia entre ellos Realmente, la velocidad de cálculo depende de cierto algoritmo de los promedios móviles Qué algoritmo es más rápido La velocidad de cálculo de los promedios móviles se ha incrementado en MetaTrader 5 en comparación con MetaTrader 4 Hay un montón de estas preguntas aparecen. Por lo tanto, vamos a considerar la mayoría de ellos. Por supuesto, la velocidad de una nueva plataforma es impresionante, pero es mejor comprobarlo experimentalmente. 1. Condiciones de prueba La velocidad de cálculo depende de muchos factores. Por lo tanto, los datos que se obtuvieron como resultados de esta investigación, en otras condiciones de prueba serían diferentes. En otras palabras, los valores absolutos de rendimiento serán diferentes, pero los valores relativos deben ser similares (para una plataforma certiain). Debido al hecho de que la función iMA en MQL5 no devuelve los resultados de cálculo en sí (devuelve un identificador indicadores), vamos a probar la velocidad de dos funciones: iMA y CopyBuffer. Condiciones de prueba: CPU: Core i7 965 Símbolo: EURUSD Tamaño de datos de precio: 10000 elementos Terminal de cliente: autónomo, el número máximo de barras en el gráfico se establece en 10000 Modelos de media móvil: MODESMA, MODEEMA, MODESMMA, MODELWMA La precisión de la velocidad de cálculo Se limita a dos dígitos significativos El número posible de llamadas de las funciones de promedios móviles: 7 2. Cómo probamos Para medir el tiempo del cálculo de promedios móviles tenemos la función GetTickCount (), la cual opera en milisegundos. Esta precisión no es suficiente, por lo que tenemos que organizar algunos ciclos para mejorar la calidad de las mediciones. Sin embargo, si repetimos el bucle muchas veces con el mismo cálculo y los mismos datos de entrada, los resultados se distorsionarán. La razón de este hecho es la siguiente: la función iMA crea una copia del indicador técnico correspondiente en el caché global del terminal cliente. Si la copia de un indicador (con los mismos parámetros) ya está presente en la caché global, no se crea la nueva copia, aumenta el contador de referencia de la copia de indicadores. En otras palabras, todo el indicador del búfer se calcula una sola vez en la primera llamada, y en todas las llamadas subsiguientes sólo toma los valores listos, recalcula sólo los nuevos datos. Por lo tanto, el bucle se debe organizar de la manera, cuando los parámetros de entrada del indicador son únicos durante el ciclo. Hemos seleccionado tres parámetros de este tipo: período de tiempo promedio y precio aplicado. Rango de los valores Tabla 2. Resultados El significado de los casos de prueba se considerará más adelante (secciones 4.1-4.7). Permite estimar la imagen completa del rendimiento del cálculo de media móvil. Para la conveniencia, los resultados se presentan en los gráficos (ver figuras 1-5). El tipo de llamada de Promedio Móvil se presenta en los ejes X (ver tabla 2), los valores en los ejes Y se presentan en escala logarítmica multiplicada por -1, por lo que los valores mayores significan un rendimiento más rápido. Cada uno de los modelos de cálculo (SMA, EMA, SMMA, LWMA) corresponde a una columna del gráfico. Figura 1. Resultados de la prueba de rendimiento para diferentes algoritmos de media móvil Se puede ver una diferencia significativa en la velocidad de cálculo para los diferentes casos del cálculo de las medias móviles. Qué significa? Los algoritmos del cálculo de las medias móviles, proporcionados por los desarrolladores de MQL5, tienen diferentes resultados de cálculo: hay un algoritmo rápido (caso 6) y métodos más lentos (casos 3 y 4). Por lo tanto, es necesario elegir los algoritmos correctos al escribir programas en MQL5, que utiliza los promedios móviles. El tiempo de cálculo de cada modelo de promedios móviles (0-6) se presenta en detalle en las siguientes figuras, véase la tabla 2. Figura 2. Rendimiento de cálculo de MA del modo MODESMA Figura 3. Rendimiento de cálculo MA del modo MODEEMA Figura 4 El rendimiento del cálculo de MA del modo MODESMMA Figura 5. El rendimiento del cálculo de MA del modo MODELWMA Es interesante comparar el rendimiento de cálculo de dos plataformas: MetaTrader 4 y MetaTrader 5. Los resultados se presentan en la Tabla 2, caso 0 (MQL4) Y en el caso 2 (MQL5). Para la conveniencia, vamos a combinar los resultados del cálculo del indicador estándar de iMA en un gráfico y una tabla separados (véase la figura 6). El tiempo de cálculo de la prueba se presenta en los ejes Y. La nueva plataforma MetaTrader 5 es 40 veces más rápida que MetaTrader 4 anterior. La mejor perfromance se ha logrado para los modelos SMA, EMA y SMMA (caso 6), para LWMA (casos 2 Y 5). Para casos de prueba, cuando se utiliza el indicador estándar iMA, el rendimiento de cálculo de los diferentes modelos es prácticamente idéntico. No es cierto para las funciones de la biblioteca MovingAverages. mqh. Para diferentes modelos el rendimiento difiere en casi un orden (0,00023 0,0045). Los resultados presentados corresponden al arranque en frío, no hay datos precalculados en el caché global del terminal cliente. 4. Estudios de caso Para probar el rendimiento de cálculo de promedios móviles, su beter para usar el script. Porque es capaz de realizar todos los cálculos sin esperar los eventos (por ejemplo, evento de nueva marca, etc.). No es necesario crear un programa universal independiente para todos los casos de prueba, por lo tanto, crearemos un script separado para cada caso de cálculo de MA. Por lo tanto, vamos a considerar en detalle cada uno de los casos de cálculos de media móvil. 4.1. Caso 0 En este caso se midió el rendimiento de cálculo del indicador técnico iMA de MQL4. Los cálculos se realizan en MetaTrader4 y se realizan en todos los datos. Nota. Hemos planeado utilizar los varios tipos de datos en la matriz, pero por la simplicidad, hemos utilizado sólo una matriz con datos de cierre de precios (no afecta a la ejecución de los cálculos). 5. Salida de los resultados Para la salida de los resultados y la comprobación de las medias móviles, he utilizado la función PrintTest: Se puede llamar, de la siguiente manera (la posición de la barra y la matriz de datos son parámetros de la función): La indexación son diferentes antes y después de los cálculos. IMPORTANTE. El indicador AsSeries se establece en false durante los cálculos y se establece en true cuando se imprimen los resultados. 6. Investigaciones adicionales Para responder a la pregunta sobre el efecto de los parámetros iniciales en el rendimiento del cálculo, algunas mediciones adicionales han hecho. Como recordamos, el caso 6 tiene el mejor rendimiento, por lo que lo utilizaremos. Tabla 3. Investigaciones adicionales Código fuente de las pruebas: Para las pruebas adicionales usaremos el programa autotest, su interfaz gráfica de usuario se presenta en la Fig. 7. Figura 7. El programa autotest para los resultados de la prueba aurtomated. (Los ejes X tiene una escala de tiempo logarítmica) Figura 8. El parámetro Timeframe (Y) y Moving Averages (X) Las conclusiones de los resultados de Investigaciones adicionales: El parámetro timeframe no es importante, no afecta al rendimiento del cálculo (véase la figura 8). El periodo no es un parámetro importante para el cálculo de promedios móviles de los modelos SMA, EMA y SMMA. Pero en contraste, significativamente (de 0,00373 segundos a 0,145 segundos) ralentiza los cálculos para el modelo LWMA (véase la figura 9). Conclusión La elección incorrecta del algoritmo de promedios móviles es capaz de reducir el rendimiento de cálculo de sus programas.

No comments:

Post a Comment