En este artículo, se describe cómo se puede crear su propio símbolo de un instrumento de la bolsa de valores usando el lenguaje MQL5. En particular, se puede utilizar las cotizaciones bursátiles del sitio web popular «Finam.ru». Otra opción considerada es la posibilidad de trabajar con un formato aleatorio de los archivos de texto usados para crear un símbolo personalizado. Por esa razón, podemos trabajar con cualquier instrumento financiero y fuente de datos. Después de crear un símbolo personalizado, podemos usar todas las posibilidades del Simulador de Estrategias de MetaTrader 5 para testear los algoritmos comerciales para los instrumentos bursátiles.
Es la continuación del artículo anterior que describe la creación de la interfaz gráfica para gestionar la optimización. Aquí, vamos a considerar la lógica del funcionamiento de la extensión creada. Vamos a crear un envoltorio para el terminal MetaTrader 5 con el fin de iniciarlo como un proceso controlado usando C#. Además, vamos a analizar el trabajo con los archivos de configuración y archivos de los ajustes. La lógica del programa será dividida en dos partes: en la primera estarán descritos los métodos que se invocan después de pulsar algún botón, la segunda parte se encargará del inicio y de la gestión de la optimización.
Este artículo describe el proceso de la creación de una extensión para el terminal MetaTrader. La solución propuesta ayuda a automatizar el proceso de de la optimización iniciando la optimización en otros terminales. Basándose en el presente artículo, serán escritos algunos artículos más, que conciernen a este tema. La extensión está escrita usando el lenguaje C# y las plantillas de programación, lo que demuestra adicionalmente la capacidad del terminal para expandir las posibilidades diseñadas inicialmente en él a través del desarrollo de sus propios módulos, así como, demuestra la facilidad de crear las interfaces gráficas personalizadas usando el lenguaje con una funcionalidad más conveniente para eso.
En el presente artículo, vamos a presentar la siguiente versión de la aplicación Pattern Analyzer. En esta versión se han corregido algunas imperfecciones y se han añadido nuevas capacidades; además, se ha dado un nuevo enfoque a la comodidad y la actualidad de la interfaz actual. En este caso, además, se han tenido en cuenta las sugerencias reflejadas en los comentarios de los artículos anteriores. Podrá familiarizarse con el resultado leyendo el presente artículo.
La búsqueda y el estudio del comportamiento fractal de los datos financieros supone que, tras un comportamiento aparentemente caótico de la series temporales económicas, se ocultan y operan unos mecanismos estables del comportamiento colectivo de los participantes. En la bolsa, estos mecanismos pueden llevar a la aparición de una dinámica de precios que determina y describe las propiedades específica de las series de precios. En el trading, sería interesante tener indicadores que pudieran estimar los parámetros de la fractilidad de manera estable y eficaz, en una escala y un intervalo de tiempo que fuesen útiles en la práctica.
Este artículo es una continuación lógica de la publicación anterior «Desarrollando las interfaces gráficas para los Asesores Expertos e indicadores a base de .Net Framework y C#» y familiariza a los lectores con nuevos elementos gráficos para crear las interfaces gráficas.
El artículo original «básico» de ningún modo perdió su actualidad, y todos los interesados en este asunto deben leerlo sí o sí. Pero ya pasó bastante tiempo desde aquel entonces, y ahora la versión Visual Studio 2017 es de la actualidad, disponiendo de una interfaz ligeramente modificada, mientras que la propia plataforma MetaTrader 5 tampoco estaba sin desarrollo. El presente artículo describe las etapas de la creación del proyecto DLL, sus configuraciones y el trabajo común con las herramientas del terminal MetaTrader 5.
En nuestra época, el procesamiento de datos requiere un extenso instrumental y muchas veces no se limita al entorno protegido (sandbox) de alguna determinada aplicación. Existen los lenguajes de programación especializados y universalmente reconocidos para procesar y analizar los datos, para la estadística y el aprendizaje automático. Python es el líder en este campo. En este artículo, se describe un ejemplo de la integración de MetaTrader 5 y Python a través de los sockets, así como, la obtención de las cotizaciones por medio de la API del terminal.
En este artículo, se describe un método universal para analizar y convertir los datos de documentos HTML basados en los selectores CSS. Ahora, en MQL tenemos disponibles los informes comerciales y del Simulador de Estrategias, los calendarios económicos preferibles, señales públicas y monitoreo de cuentas, fuentes adicionales de las cotizaciones en línea.
Tras la modernización del paquete MATLAB en 2015, es necesario analizar el método moderno de creación de bibliotecas DLL. Usando como ejemplo un indicador de pronóstico, en el artículo se ilustran las peculiaridades de la vinculación de MetaTrader 5 y MATLAB al utilizar las versiones modernas de 64 bits de la plataforma. El análisis de todas las posibilidades de conexión de MATLAB permitirá al desarrollador de MQL5 crear más rápido aplicaciones con recursos computacionales ampliados, evitando tropezones indeseables.
Presentamos una manera simple y rápida de crear las ventanas gráficas usando el editor Visual Studio, con la integración posterior en el código MQL del Asesor Experto. Este artículo está destinado para un vasto círculo de lectores y no requiere ningunos conocimientos de C# y tecnología .Net.
En este artículo analizaremos el algoritmo de implementación de un simulador de patrones de velas en el lenguaje OpenCL en el modo "OHLC en M1". Asimismo, compararemos su rapidez con el simulador de estrategias incorporado en el modo de optimización rápida y lenta.
En el artículo se analiza el algoritmo de construcción de indcadores sobre volúmenes reales usando las funciones CopyTicks() y CopyTicksRange(). Asimismo, se muestran las peculiaridades de la construcción de estos indicadores y se describe su funcionamiento en tiempo real y en el simulador de estrategias.
El artículo describe cómo añadir a los expertos en MQL5 la posibilidad de trabajar con el servidor de bases de datos Microsoft SQL Server. Usaremos la importación de funciones de DLL. Para crear la DLL, se utilizará la plataforma Microsoft .NET y el lenguaje C#. Los métodos utilizados en el artículo, aunque con algunos cambios poco significativos, funcionan también para los expertos escritos en MQL4.
En el artículo se analizan tres métodos con cuya ayuda podemos aumentar la calidad de clasificación de los conjuntos bagging y valorar su efectividad. Se ha evaluado cómo influye la optimización de los hiperparámetros de las redes neuronales ELM y los parámetros de post-procesado en la calidad de clasificación del conjunto.
Continuamos construyendo conjuntos. Ahora vamos a añadir al conjunto bagging creado anteriormente un combinador entrenable: una red neuronal profunda. Una red neuronal combina las mejores 7 salidas del conjunto después de la poda. La segunda recibe en la entrada las 500 salidas del conjunto, las poda y las combina. Construiremos las redes neuronales con la ayuda del paquete keras/TensorFlow de Python. Veremos brevemente las posibilidades del paquete. Y finalmente, realizaremos la simulación y compararemos la calidad de la clasificación de los conjuntos bagging y stacking.
La adición del widget proporciona a los sitios web un horario de publicación detallado de 500 índices e indicadores de las mayores economías mundiales. De esta forma, los tráders, aparte del contenido principal del sitio web, reciben de manera operativa información actual sobre todos los eventos importantes, complementada con explicaciones y gráficos.
Vamos a ver los métodos de construcción y entrenamiento de conjuntos de redes neuronales con la estructura bagging. También vamos a definir las peculiaridades de la optimización de los hiperparámetros de los clasificadores de redes neuronales individuales que componen el conjunto. Asimismo, compararemos la calidad de la red neuronal optimizada obtenida en el artículo anterior de la serie, y el conjunto creado de redes neuronales. Para finalizar, analizaremos las diferentes opciones para mejorar aún más la calidad de clasificación del conjunto.
En el artículo se analiza con detalle cómo crear un panel basado en la clase CAppDialog y cómo añadir al mismo los elementos de control. Asimismo, se describe la estructura del panel y el esquema de herencia de los objetos en este. Se muestra qué es necesario para procesar eventos y cómo estos se distribuyen a los elementos de control subordinados. Se dan ejemplos de cambio de los siguientes parámetros del panel: el tamaño y el color del fondo.
En el artículo se compara el acceso MQL5 clásico a los indicadores con los métodos alternativos del estilo MQL4. Se analizan diversas variantes de estilo MQL4 para el acceso a los indicadores: con almacenamiento de manejadores en la caché y sin él. Se analiza el registro de los manejadores de los indicadores dentro del núcleo MQL5.
En el artículo se analiza la posibilidad de crear un feed de noticias flexible, que ofrecezca multitud de opciones para elegir el tipo de noticias y su fuente. El artículo muestra cómo se pueden integrar web API con el terminal MetaTrader 5.
En el simulador de estrategias de la plataforma comercial MetaTrader 5 solo existen dos variantes de optimización: la iteración completa de parámetros y el algoritmo genético. En este artículo se propone una nueva variante de optimización de estrategias comerciales: el método del recocido. Se muestra el algoritmo del método, su implementación y su método de inclusión en cualquier asesor. El algoritmo desarrollado se ha puesto a prueba con el asesor Moving Average.
La plataforma de indicador ZUP permite buscar multitud de patrones conocidos, cuyos parámetros ya se han indicado. Pero también podemos ajustar estos parámetros de acuerdo con nuestras exigencias. Asimismo, existe la posibilidad de crear nuevos patrones con la ayuda de la interfaz gráfica ZUP y guardar sus parámetros en un archivo. Después de ello, podremos comprobar rápidamente si se encuentran nuevos patrones en los gráficos.
Si usted se ha decidido a dar el salto a MQL5 solo ahora, entonces este artículo le resultará muy útil: por una parte, el acceso a los datos de los indicadores y a las series se ha ejecutado en el estilo MQL4, al que usted ya está acostumbrado, y por otro, toda la implementación se ha escrito en MQL5 con la misma sencillez. Todas las funciones son totalmente comprensibles y se adecuan perfectamente a la depuración paso a paso.
En el artículo se analizan las posibilidades de la optimización bayesiana de los hiperparámetros de las neuroredes profundas obtenidas con diferentes formas de entrenamiento. Se compara la calidad de la clasificación de las DNN con los hiperparámetros óptimos en diferentes variedades de entrenamiento. Se ha comprobado mediante forward tests la profundidad de la efectividad de los hiperparámetros óptimos de la DNN. Se han definido los posibles campos de mejora de la calidad de la clasificación.
Este artículo está dedicado al estudio de las señales comerciales para MetaTrader 5 con la ejecución automática en las cuentas de los suscriptores. Además, se considera el desarrollo de las herramientas para buscar las señales comerciales prometedoras directamente en el terminal.
En el artículo final de la serie sobre el asesor comercial multiplataforma, hablaremos sobre las clases CExpertAdvisor y CExpertAdvisors, que sirven de contendores para los componentes del experto anteriormente descritos. Asimismo, analizaremos la implementación del monitoreo de las nuevas barras y el guardado de datos.
En este artículo se describe cómo construir el criterio personalizado de la optimización de R². Usando este criterio se puede evaluar la calidad de la curva del balance de la estrategia y eligir las estrategias más estables y crecientes regularmente. Se describen los principios de su construcción, así como los métodos estadísticos que se usan para evaluar las propiedades y la calidad de esta métrica.
Este artículo trata sobre la creación de asesores expertos utilizando el lenguaje gráfico UML, usado para el modelado visual de sistemas de software orientados a objetos. La principal ventaja de este enfoque es la visualización del proceso de modelado. El artículo contiene un ejemplo que muestra el modelado de la estructura y propiedades de un asesor experto usando el modelador de ideas de software.
La mayoría de desarrolladores necesitan tener su código protegido. Este artículo presenta diferentes formas de proteger el software MQL5 mediante métodos que permiten disponer de licencias para scripts de MQL5, Expert Advisors e indicadores. Se incluye la protección mediante contraseñas, los generadores de claves, las licencias de cuentas, las pruebas de evaluación y la protección remota mediante llamadas MQL5-RPC.
El primer objetivo del lenguaje de programación MQL5 es la creación de sistemas de trading automatizados e instrumentos complejos para el análisis técnico. Pero por otro lado, nos permite crear sistemas de información interesantes para el seguimiento del estado de los mercados, y nos proporciona una conexión de retorno con el trader. El artículo describe los componentes de la Librería estándar de MQL5 y muestra ejemplos sobre su utilización en la práctica para alcanzar estos objetivos. Además, se muestra un ejemplo de uso de Google Chart API para la creación de gráficos.
A finales de enero de 2012 la empresa de desarrollo de software que está detrás de Meta Trader 5 anunció el soporte nativo de OpenCL en MQL5. Utilizando un ejemplo ilustrativo, el artículo plantea los fundamentos de programación en OpenCL en el entorno MQL5 y proporciona algunos ejemplos de la optimización simple del programa para incrementar la velocidad de operación.
El artículo describe una clase de matrices dinámicas bidimensionales que contienen los diferentes tipos de datos en su primera dimensión. Es conveniente almacenar los datos en forma de tablas para poder resolver una gran variedad de problemas de disposición, almacenamiento y funcionamiento con información de diferentes clases. El código fuente de la clase que implementa la funcionalidad de trabajar con tablas está adjunto al artículo.
Este artículo se centra en algunas capacidades de optimización que surgen cuando se tiene en cuenta el hardware subyacente en el que se ejecuta el kernel de OpenCL. Las cifras obtenidas están lejos de ser un límite pero aún así sugieren que al tener disponibles los recursos existentes aquí y ahora (la API de OpenCL como se implementó por los desarrolladores del terminal no permite el control de algunos parámetros importantes para la optimización, particularmente el tamaño del grupo) la ganancia de rendimiento sobre la ejecución del programa anfitrión es muy sustancial.
En este artículo se describe el nuevo enfoque en las cuestiones de la cobertura (hedging) de posiciones y se pone punto en las discusiones entre los usuarios de MetaTrader 4 y MetaTrader 5 sobre esta materia. Se explican los algoritmos que hacen esta cobertura bastante segura tomando de ejemplo los esquemas y diagramas sencillos y usando los términos comprensible. El articulo está dedicado a la descripción del nuevo panel HedgeTerminal que en realidad representa un terminal de trading totalmente funcional dentro del terminal MetaTrader 5. Con su ayuda y gracias a la virtualización del comercio Usted puede controlar sus posiciones comerciales tal como está acostumbrado a hacerlo en MetaTrader 4.
Este artículo nos lleva en una nueva dirección a la hora de desarrollar Asesores Expertos, indicadores y scripts en MQL4 y MQL5. En el futuro, este modelo de programación se convertirá en un estándar para todos los operadores en la implementación de Asesores Expertos. Utilizando el modelo de programación basado en autómatas, los desarrolladores de MQL5 y Meta Trader 5 estarán cerca de poder crear un nuevo lenguaje, MQL6, y una nueva plataforma, Meta Trader 6.
Este artículo describe el esquema conceptual de MQL5-RPC que permite las llamadas a procedimientos remotos desde MQL5. Comienza con los fundamentos de XML-RPC, la implementación de MQL5 y continúa con dos ejemplos de uso real. El primer ejemplo es el uso de un servicio web externo y el segundo es un cliente del servicio del analizador XML-RPC ATC 2011 simple. Si está interesado en conocer cómo se implementan y analizan las distintas estadísticas de ATC 2011 en tiempo real, este es su artículo.
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.
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.
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.