Solución sin DLL para la comunicación entre terminales MetaTrader 5 mediante canalizaciones con nombre
Solución sin DLL para la comunicación entre terminales MetaTrader 5 mediante canalizaciones con nombre
El artículo describe el modo de implementar la comunicación entre procesos, entre terminales de cliente MetaTrader 5 mediante canalizaciones con nombre. Se desarrolla la clase CNamedPipes para utilizar las canalizaciones con nombre. Con el fin de probar su uso y medir el rendimiento de la conexión, se proporciona el tick del indicador y los scripts del servidor y el cliente. El uso de las canalizaciones con nombre es suficiente para las cotizaciones en tiempo real.
Crear Multi-Expert Advisors basados en los modelos de trading
Crear Multi-Expert Advisors basados en los modelos de trading
El uso del enfoque orientado a objetos de MQL5 simplifica enormemente la creación de Expert Advisors multidivisa, multisistema y con multiperíodo. Imagine su único EA operando con docenas de estrategias de trading, con todos los instrumentos disponibles y todos los períodos de tiempo posibles. Además, se prueba el EA fácilmente en el probador, y dispone de uno o varios sistemas funcionales de gestión de dinero para todas las estrategias que lo componen.
Usar Pseudo-Plantillas como Alternativa a Plantillas C++
Usar Pseudo-Plantillas como Alternativa a Plantillas C++
Este artículo describe una forma de programas sin usar plantillas, pero manteniendo el estilo de programación inherente a ellas. Trata sobre la implementación de plantillas usando métodos personalizados y tiene un archivo adjunto con un script ya hecho para crear un código basado en las plantillas especificadas.
Análisis de regresión múltiple, generador y probador de estrategias en una sola aplicación
Análisis de regresión múltiple, generador y probador de estrategias en una sola aplicación
El artículo ofrece una descripción de las formas de utilización del análisis de regresión múltiple para el desarrollo de sistemas de trading. Muestra el uso del análisis de regresión para la automatización de la búsqueda de estrategias. Se proporciona como ejemplo una ecuación de regresión generada e integrada en un asesor experto sin necesidad de disponer de habilidades de programación.
Cómo intercambiar datos: una DLL para MQL5 en 10 minutos.
Cómo intercambiar datos: una DLL para MQL5 en 10 minutos.
No hay muchos programadores que recuerden cómo escribir una simple DLL y cuáles son las características especiales de los distintos tipos de vinculación del sistema. Usando varios ejemplos intentaré mostrar todo el proceso de creación de la DLL en 10 minutos, así como discutir algunos aspectos técnicos de nuestra implementación de la vinculación. Mostraré el proceso paso a paso de la creación de la DLL en Visual Studio con ejemplos de intercambio de distintos tipos de variables (números, matrices, strings, etc.). Además, explicaré cómo proteger su terminal de cliente de errores fatales con las DLL personalizadas.
Interacción entre MetaTrader 5 y MATLAB
Interacción entre MetaTrader 5 y MATLAB
Este artículo trata sobre la interacción entre MetaTrader 5 y el paquete matemático MatLab. Muestra el mecanismo de conversión de datos y el proceso de desarrollo de una librería universal para interactuar con el escritorio de MatLab. También describe el uso de las DLL generadas por el entorno de MatLab. Este artículo está dirigido a lectores experimentados que tienen conocimientos de C+ y MQL5.
Asesor Experto basado en las "Nuevas Dimensiones de Trading" ("New Trading Dimensions"), de Bill Williams
Asesor Experto basado en las "Nuevas Dimensiones de Trading" ("New Trading Dimensions"), de Bill Williams
En este artículo, trataré el tema del desarrollo del Asesor Experto basándome en el libro "New Trading Dimensions: How to Profit from Chaos in Stocks, Bonds, and Commodities" ("Nuevas dimensiones de trading: como beneficiarse del caos en bolsa, bonos y bienes"), de Bill Williams. La estrategia en sí misma es muy conocida, y su uso todavía causa controversia entre traders. El artículo tiene en cuenta señales de trading del sistema, detalles específicos de implementación, y los resultados de simulaciones en datos históricos.
Gas neuronal creciente: implementación en MQL5
Gas neuronal creciente: implementación en MQL5
Este artículo muestra un ejemplo de cómo desarrollar un programa MQL5 implementando el algoritmo adaptativo de agrupamiento llamado gas neuronal creciente (GNG). El artículo está dirigido a aquellos usuarios que han estudiado la documentación del lenguaje y tienen cierta capacidad para programar y un conocimiento básico en el área de la neuroinformática.
Indicadores William Blau y sistemas de trading en MQL5. Parte 1: indicadores
Indicadores William Blau y sistemas de trading en MQL5. Parte 1: indicadores
Este artículo trata sobre los indicadores descritos en el libro de William Blau "Momentum, Direction, y Divergence". El enfoque de William Blau nos permite, con rapidez y precisión, hacer una aproximación sobre las fluctuaciones de la curva de precios para determinar la tendencia del movimiento de precios y los puntos de cambio, eliminando el ruido de fondo en los precios. Mientras tanto, también podemos detectar los estados de sobrecompra/sobreventa del mercado y las señales, que indican el final de una tendencia y el cambio de dirección en los precios.
Monta tu asesor comercial en la Guía MQL5
Monta tu asesor comercial en la Guía MQL5
Para crear robots comerciales ya no es una condición imprescindible conocer lenguajes de programación. Si antes esto era un obstáculo verdaderamente insalvable para llevar a cabo sus propias estrategias comerciales, ahora la aparición de la Guía MQL5 ha cambiado la situación radicalmente. Los traders novatos ya pueden dejar de preocuparse por su escasa o nula experiencia en el campo de la programación, con el nuevo wizard ya no le hará falta, ahora es posible general el código de un asesor rápidamente.
Analizando los parámetros estadísticos de los indicadores
Analizando los parámetros estadísticos de los indicadores
El análisis técnico implementa ampliamente los indicadores mostrando las cotizaciones básicas "más claramente" y permitiendo a los operadores realizar el análisis y la predicción del movimiento de precios del mercado. Es bastante obvio que no tiene sentido usar los indicadores y mucho menos aplicarlos a la creación de sistemas de trading, a menos que podamos resolver los problemas relativos a la transformación de las cotizaciones iniciales y la credibilidad del resultado obtenido. En este artículo mostramos que hay serias razones para dicha conclusión.
Intercambio de datos entre indicadores. Es fácil
Intercambio de datos entre indicadores. Es fácil
Queremos crear un entorno que proporcione acceso a los datos de los indicadores adjuntos a un gráfico y que tenga las siguientes propiedades: ausencia de copiado de datos; modificación mínima del código de métodos disponibles si necesitamos usarlo; es preferible el código de MQL (por supuesto, tenemos que usar DLL pero usaremos una docena de strings de código de C++). El artículo describe un método sencillo para desarrollar un entorno de programa para el terminal de MetaTrader que proporcione medios para acceder a los buffers del indicador desde otros programas MQL.
Aprendizaje Automático: Cómo usar las Máquinas de Vectores de Soporte en Trading
Aprendizaje Automático: Cómo usar las Máquinas de Vectores de Soporte en Trading
Las máquinas de vectores de soporte se usan desde hace mucho tiempo en campos como la bioinformática y matemáticas aplicadas para estudiar conjuntos de datos complejos y extraer patrones que se pueden usar para clasificar datos. Este artículo examina qué es una máquina de vectores de soporte, cómo funciona y por qué puede resultar muy útil a la hora de extraer patrones complejos. Después investigaremos cómo se puede aplicar al mercado y usar potencialmente para tomar decisiones de trading. Usando la Herramienta de Aprendizaje de Máquina de Vectores de Soporte, el artículo facilitará ejemplos listos que permitirán a los lectores experimentar con sus propias operaciones de trading.
Introducción al método de descomposición de modo empírico
Introducción al método de descomposición de modo empírico
Este artículo sirve para familiarizar al lector con el método de descomposición de modo empírico (EMD, según sus siglas en inglés). Es la parte fundamental de la transformada de Hilbert-Huang y tiene como finalidad analizar los datos de procesos no estacionarios y no lineales. Este artículo también presenta una posible implementación de software de este método junto con una breve consideración de sus peculiaridades y proporciona algunos ejemplos simples de su uso.
Exponer código C# a MQL5 usando exportaciones no gestionadas
Exponer código C# a MQL5 usando exportaciones no gestionadas
En este artículo presento diferentes métodos de interacción entre código MQL5 y código gestionado C#. También facilito varios ejemplos sobre cómo ordenar estructuras MQL5 en contraposición a C#, y cómo invocar funciones DLL exportadas en scripts MQL5. Creo que los ejemplos que proporciono podrán servir como base para estudios futuros sobre escritura de DLLs en código gestionado. Este artículo también abre puertas para MetaTrader para usar varias bibliotecas que ya están implementadas en C#.
¡Impresione sus clientes con un cóctel eficiente de tecnologías!
¡Impresione sus clientes con un cóctel eficiente de tecnologías!
MQL5 proporciona a los programadores un conjunto muy completo de funciones y API orientados a objetos, permitiéndoles hacer todo lo que quieran en el entorno de MetaTrader. Sin embargo, hoy en día, la tecnología web es una herramienta extremadamente versátil y puede resultar útil cuando le surge la necesidad de hacer algo muy específico, quiere sorprender sus clientes con algo diferente o simplemente no dispone del tiempo suficiente para dominar una parte concreta de la librería estándar de MQL5. A través del ejercicio de hoy, vamos a recorrer un ejemplo práctico acerca de cómo puede manejar el tiempo que dedica al desarrollo al mismo tiempo que crea un impresionante cóctel tecnológico.
Ampliación de la librería estándar de MQL5 y la reutilización del código
Ampliación de la librería estándar de MQL5 y la reutilización del código
La librería estándar de MQL5 le facilita la vida como desarrollador. No obstante, no abarca todas las necesidades de todos los desarrolladores del mundo, con lo cual querrá tener a su disposición más material personalizado para dar un paso más y ampliarla. En este artículo, se describe la integración del indicador técnico Zig-Zag de MetaQuotes en la librería estándar. Para conseguir nuestro objetivo, nos hemos basado en la filosofía de diseño de MetaQuotes.
Indicadores técnicos y filtros digitales
Indicadores técnicos y filtros digitales
En este artículo, se tratan los indicadores técnicos como si fueran filtros digitales. Se explican los principios de funcionamiento y las características básicas de los filtros digitales. Además, se van a tratar algunos métodos prácticos para obtener la respuesta al impulso (kernel) del filtro en el terminal de MetaTrader 5 y su integración con un analizador de espectro, que ya existe, descrito en el artículo "Construyendo un analizador de espectro". Como ejemplos, se usan las características del impulso y el espectro de los filtros digitales típicos.
Usar Indicadores de MetaTrader 5 con la Estructura de Aprendizaje Automático ENCOG para Predicción de Series Cronológicas
Usar Indicadores de MetaTrader 5 con la Estructura de Aprendizaje Automático ENCOG para Predicción de Series Cronológicas
Este artículo presenta modos de conectar MetaTrader 5 a ENCOG - Red Neuronal Avanzada y Estructura de Aprendizaje Automático. Contiene la descripción e implementación de un indicador de red neuronal sencillo basado en indicadores técnicos estándar y un Asesor Experto basado en un indicador neuronal. Todos los códigos fuente, binarios combinados, DLLs y un ejemplo de red formada se pueden encontrar como archivos adjuntos a este artículo.
El Papel de las Distribuciones Estadísticas en el Trabajo del Trader
El Papel de las Distribuciones Estadísticas en el Trabajo del Trader
Este artículo es una continuación lógica de mi artículo "Statistical Probability Distributions in MQL5" ("Distribuciones de Probabilidad Estadísticas en MQL5"), que presentó las clases para trabajar con algunas distribuciones estadísticas teóricas. Ahora que ya tenemos una base teórica, sugiero proceder directamente a conjuntos de datos reales para darle un uso a esta base.
Cómo crear documentación usando los códigos fuente MQL5
Cómo crear documentación usando los códigos fuente MQL5
En el artículo se analiza la creación de documentación para el código en MQL5, comenzando por la automatización de la colocación de los tags necesarios. A continuación, se describe el trabajo con el programa Doxygen, su correcta configuración y la obtención de resultados en diferentes formatos: en html, en HtmlHelp y en PDF.
Cálculos Estadísticos
Cálculos Estadísticos
El cálculo de parámetros estadísticos de una secuencia es muy importante, puesto que la mayoría de los modelos y métodos matemáticos se basan en suposiciones simples. Por ejemplo, la normalidad de la ley de distribución o valor de dispersión, u otros parámetros. Por tanto, al analizar y pronosticar series cronológicas necesitamos una herramienta simple y conveniente que nos permita calcular de forma rápida y clara los principales parámetros estadísticos. Este artículo describe brevemente los parámetros estadísticos más sencillos de secuencias aleatorias y varios métodos de su análisis visual. Ofrece además la implementación de estos métodos en MQL5 y los métodos de visualización del resultado de los cálculos usando la aplicación Gnuplot.
Implementar un trader de noticias automático
Implementar un trader de noticias automático
Esta es la continuación de otro artículo acerca de la clase POO de MQL5, en el cual se le mostró el modo de implementar un Asesor Experto orientado a objetos desde cero y se le dieron algunos trucos sobre la programación orientada a objetos. Hoy, le voy a mostrar los fundamentos técnicos necesarios para desarrollar un Asesor Experto capaz de hacer trading con noticias. Mi objetivo es seguir proporcionándole ideas acerca de la POO y también abarcar un nuevo tema en esta serie de artículos, trabajando con el sistema de archivos.
Predicción de series de tiempo usando el ajuste exponencial (continuación)
Predicción de series de tiempo usando el ajuste exponencial (continuación)
Este artículo pretende actualizar el indicador creado anteriormente y trata brevemente sobre un método para estimar intervalos de confianza en las predicciones usando bootstrapping y cuantiles. Como resultado, obtendremos el indicador de predicción y los scripts a usar para la estimación de la precisión de la predicción.
Random Walk y el Indicador de Tendencias
Random Walk y el Indicador de Tendencias
Random Walk (RW) es muy parecido a los datos del mercado real, pero tiene algunos detalles significativos. En este artículo veremos las propiedades de Random Walk, que simularemos usando el juego de cara o cruz. Para estudiar las propiedades de los datos se desarrolló el indicador de tendencias.
Documentación generada automáticamente para el código de MQL5
Documentación generada automáticamente para el código de MQL5
La mayoría de desarrolladores de código Java estarán familiarizados con la documentación generada automáticamente que puede obtenerse con JavaDocs. La idea es añadir comentarios al código de forma semiestructurada para que pueda ser extraída en forma de una archivo de ayuda por el que sea fácil navegar. El mundo de C++ tiene también una serie de autogeneradores de documentación, siendo líderes SandCastle y Doxygen, ambos de Microsoft. El artículo describe el uso de Doxygen para crear archivos de ayuda de html a partir de comentarios estructurados en código MQL5. El experimento funcionó muy bien y creo que la documentación de ayuda que ofrece Doxygen a partir del código MQL5 añadirá una gran cantidad de valor a este.
Trabajo con el SGBD MySQL desde MQL5 (MQL4)
Trabajo con el SGBD MySQL desde MQL5 (MQL4)
Este artículo está dedicado al desarrollo de la interfaz entre MQL y SGBD MySQL. En el artículo se consideran las soluciones prácticas que existen en actualidad y se propone la versión más cómoda de ejecución de la biblioteca para el trabajo con SGBD. El artículo contiene la descripción detallada de las funciones, estructura de la interfaz, se dan los ejemplos y se describen algunas detalles a la hora de trabajar con MySQL. En cuanto a la solución de programa, han sido adjuntados los archivos con bibliotecas dinámicas, documentación y los ejemplos de los scripts para los lenguajes MQL4 y MQL5.
Aplicación del método de coordenadas de Eigen al análisis estructural de distribuciones estadísticas no extensivas
Aplicación del método de coordenadas de Eigen al análisis estructural de distribuciones estadísticas no extensivas
El mayor problema de la estadística aplicada es la aceptación de hipótesis estadísticas. Durante mucho tiempo se consideró un problema imposible de resolver. La situación cambió con la aparición del método de las coordenadas de Eigen. Es una refinada y potente herramienta para el estudio estructural de una señal, permitiendo ver más de lo que es posible utilizando métodos de la estadística moderna aplicada. El artículo se centra en la utilización práctica de este método y plantea distintos programas en MQL5. También trata sobre el problema de la identificación de la función usando como ejemplo la distribución de Hilhorst y Schehr.
Gráficos y diagramas en HTML
Gráficos y diagramas en HTML
Hoy día es difícil encontrar un ordenador que no tenga instalado un navegador de internet. Los navegadores han ido evolucionado y mejorando durante mucho tiempo. Este artículo tratará la forma más sencilla y segura de crear gráficos y diagramas basándonos en la información obtenida del Terminal de Cliente MetaTrader 5 para mostrarlos en el navegador.
Análisis regresivo de la influencia de datos macroeconómicos en el cambio de precio de las divisas
Análisis regresivo de la influencia de datos macroeconómicos en el cambio de precio de las divisas
En el artículo estudiaremos la cuestión del uso del análisis regresivo múltiple de datos de la estadística macroeconómica y el análisis de la influencia de estos datos en el curso de las divisas, sobre el ejemplo de la pareja EURUSD. La utilización de tal tipo de análisis permite automatizar la realización del análisis fundamental, que se convertirá en algo accesible para prácticamente cualquiera, incluso para un trader principiante.
El histograma del precio (perfil del mercado) y su implementación en MQL5
El histograma del precio (perfil del mercado) y su implementación en MQL5
El perfil del mercado fue desarrollado por un autor realmente brillante, Peter Steidlmayer. Este autor sugirió el uso de la representación alternativa de la información sobre los movimientos "horizontales" y "verticales" del mercado que llevan a un conjunto completamente diferente de modelos. Este autor asumió que hay un pulso subyacente o patrón fundamental en el mercado llamado el ciclo de equilibrio y desequilibrio. En este artículo veremos el histograma del precio, un modelo simplificado del perfil del mercado, y describiré su implementación en MQL5.
Filtrar Señales Basadas en Datos Estadísticos de Correlación de Precios
Filtrar Señales Basadas en Datos Estadísticos de Correlación de Precios
¿Hay alguna correlación entre el comportamiento de precios del pasado y sus tendencias futuras? ¿Por qué el precio repite hoy el carácter de su movimiento del día anterior? ¿Se pueden usar estadísticas para predecir la dinámica de los precios? Hay una respuesta, y es afirmativa. Si tiene alguna duda de ello, este artículo es para usted. Le explicaré cómo crear un filtro funcional para un sistema de trading en MQL5, revelando un patrón interesante en cambios de precio.
Expresiones regulares para los traders
Expresiones regulares para los traders
Una expresión regular es un lenguaje especial para el manejo de textos mediante la aplicación de una regla especificada, también llamada un regex o regexp para abreviar. En este artículo, vamos a mostrar cómo manejar un informe sobre el trade con la librería RegularExpressions para MQL5 y también demostrar los resultados de optimización después de usarlo.
Interfaces gráficas X: Control "Campo de edición del texto multilínea" (build 8)
Interfaces gráficas X: Control "Campo de edición del texto multilínea" (build 8)
Se considera el control «Campo de edición multilínea». A diferencia del objeto gráfico OBJ_EDIT, en esta versión no habrá limitación alguna para el número de los caracteres a introducir. Aparte de eso, se hace disponible el modo cuando el campo de edición se convierte en un sencillo editor de texto donde se puede mover el cursor usando el ratón o el teclado.
Cómo instalar y utilizar OpenCL para efectuar cálculos
Cómo instalar y utilizar OpenCL para efectuar cálculos
Ya ha pasado más de un año desde que surgiese en MQL5 la posibilidad de escribir programas para OpenCL. Sin embargo, ni mucho menos todos los usuarios han valorado como merecen las posibilidades que brinda el uso de cálculos paralelos en sus asesores, indicadores y scripts. Este artículo pretende ayudarle a configurar OpenCL en su computadora personal, de manera que usted pueda probar esta tecnología por sí mismo en el terminal comercial MetaTrader 5.
Aplicación Práctica de Bases de Datos para Análisis de Mercados
Aplicación Práctica de Bases de Datos para Análisis de Mercados
Trabajar con datos se ha convertido en la principal tarea para el software moderno, tanto para aplicaciones independientes como para aplicaciones de red. Para resolver este problema se creó un software especializado. Se trata de los Sistemas de Gestión de Bases de Datos (Database Management Systems o DBMS), que pueden estructurar datos para su almacenamiento en el ordenador y su procesamiento. En lo que se refiere a trading, la mayoría de analistas no usan bases de datos en su trabajo. Pero hay tareas donde esta solución resultaría muy práctica. Este artículo facilita un ejemplo de indicadores que puede guardar y cargar datos de bases de datos tanto con arquitecturas de servidor de cliente como de servidor de archivos.
Fundamentos de programación en MQL5 - Listas
Fundamentos de programación en MQL5 - Listas
La nueva versión del lenguaje de programación de estrategias comerciales -MQL [MQL5]- dispone de un conjunto de herramientas más eficaz y potente en comparación con la versión anterior [MQL4]. En primer lugar, esta ventaja se refiere a los medios de programación orientada a objetos. Este artículo se ocupa de la posibilidad del uso del tipo de datos personalizado, correspondiente al tipo complejo, como los nodos y las listas. Se pone el ejemplo del uso de las listas durante la programación de las tareas prácticas en MQL5.
Indicador para el la representación del gráfico de punto y figura
Indicador para el la representación del gráfico de punto y figura
Hay muchos tipos de gráficos que proporcionan informaciones acerca del estado actual del mercado. Muchos de ellos, como el gráfico de punto y figura, se remontan a tiempos remotos. Este artículo describe un ejemplo de un gráfico de punto y figura usando un indicador en tiempo real.
Construir un analizador de espectro
Construir un analizador de espectro
Este artículo pretende que sus lectores se familiaricen con una posible variante del uso de los objetos gráficos en el lenguaje MQL5. Analiza un indicador que implementa un panel para la gestión de un analizador de espectro simple usando objetos gráficos. El artículo va dirigido a los lectores que están familiarizados con los conceptos básicos de MQL5.
El uso de ORDER_MAGIC para el trading con distintos Expert Advisors con un solo instrumento
El uso de ORDER_MAGIC para el trading con distintos Expert Advisors con un solo instrumento
Este artículo aborda cuestiones de codificación de la información, mediante la identificación mágica (magic-identification), así como la división, la agrupación y la sincronización del trading automatizado de distintos Expert Advisors. Este artículo puede resultar interesante para los principiantes, como para los traders más experimentados, ya que aborda la cuestión de las posiciones virtuales, que pueden ser muy útiles en la implementación de sistemas complejos de sincronización de los Expert Advisors y de varias estrategias.