Cómo crear y testear personalmente los instrumentos de la Bolsa de Moscú en MetaTrader 5
Cómo crear y testear personalmente los instrumentos de la Bolsa de Moscú en MetaTrader 5
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.
Gestión de la optimización (Parte 2): Creando los objetos clave y la lógica de la aplicación
Gestión de la optimización (Parte 2): Creando los objetos clave y la lógica de la aplicación
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.
Gestión de la optimización (Parte I): Creando una interfaz gráfica
Gestión de la optimización (Parte I): Creando una interfaz gráfica
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.
Estudio de técnicas de análisis de velas (Parte IV): Actualizaciones y adiciones a la aplicación
Estudio de técnicas de análisis de velas (Parte IV): Actualizaciones y adiciones a la aplicación
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.
Estimación del índice de fractalidad, exponente de Hurst y posibilidad de predecir series temporales financieras
Estimación del índice de fractalidad, exponente de Hurst y posibilidad de predecir series temporales financieras
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.
Cómo escribir una biblioteca DLL para MQL5 en 10 minutos (Parte II): Escribiendo en el entorno de Visual Studio 2017
Cómo escribir una biblioteca DLL para MQL5 en 10 minutos (Parte II): Escribiendo en el entorno de Visual Studio 2017
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.
Integración de MetaTrader 5 y Python: recibiendo y enviando datos
Integración de MetaTrader 5 y Python: recibiendo y enviando datos
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.
Extrayendo datos estructurados de las páginas HTML usando los selectores CSS
Extrayendo datos estructurados de las páginas HTML usando los selectores CSS
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.
Usando los recursos computacionales de MATLAB 2018 en MetaTrader 5
Usando los recursos computacionales de MATLAB 2018 en MetaTrader 5
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.
Aplicación de OpenCL para simular patrones de velas
Aplicación de OpenCL para simular patrones de velas
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.
Integración de un experto en MQL y bases de datos (SQL Server, .NET y C#)
Integración de un experto en MQL y bases de datos (SQL Server, .NET y C#)
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.
Neuroredes profundas (Parte VII). Conjunto de neuroredes: stacking
Neuroredes profundas (Parte VII). Conjunto de neuroredes: stacking
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.
950 sitios web transmiten el calendario económico de MetaQuotes
950 sitios web transmiten el calendario económico de MetaQuotes
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.
Neuroredes profundas (Parte VI). Conjunto de clasificadores de redes neuronales: bagging
Neuroredes profundas (Parte VI). Conjunto de clasificadores de redes neuronales: bagging
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.
Cómo crear un panel gráfico de cualquier nivel de complejidad
Cómo crear un panel gráfico de cualquier nivel de complejidad
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.
Creando un feed de noticias personalizado en MetaTrader 5
Creando un feed de noticias personalizado en MetaTrader 5
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.
Optimización controlable: el método del recocido
Optimización controlable: el método del recocido
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.
ZUP - zigzag universal con patrones Pesavento. Búsqueda de patrones
ZUP - zigzag universal con patrones Pesavento. Búsqueda de patrones
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.
LifeHack para tráders: preparando "comida rápida" a partir de indicadores
LifeHack para tráders: preparando "comida rápida" a partir de indicadores
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.
Neuroredes profundas (Parte V). Optimización bayesiana de los hiperparámetros de las DNN
Neuroredes profundas (Parte V). Optimización bayesiana de los hiperparámetros de las DNN
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.
Selección automática de señales prometedoras
Selección automática de señales prometedoras
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.
Asesor Experto multiplataforma: las clases CExpertAdvisor y CExpertAdvisor
Asesor Experto multiplataforma: las clases CExpertAdvisor y CExpertAdvisor
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.
R cuadrado como evaluación de la calidad de la curva del balance de la estrategia
R cuadrado como evaluación de la calidad de la curva del balance de la estrategia
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.
Cómo desarrollar un asesor experto usando las herramientas de UML
Cómo desarrollar un asesor experto usando las herramientas de UML
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.
Proteger el código MQL5 Protección con contraseña, generadores de claves, límites de tiempo, licencias remotas y técnicas de encriptación de claves de licencia de asesores expertos avanzadas
Proteger el código MQL5 Protección con contraseña, generadores de claves, límites de tiempo, licencias remotas y técnicas de encriptación de claves de licencia de asesores expertos avanzadas
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.
Creación de un panel de información mediante las clases de la Librería estándar y Google Chart API
Creación de un panel de información mediante las clases de la Librería estándar y Google Chart API
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.
OpenCL: El puente hacia mundos paralelos
OpenCL: El puente hacia mundos paralelos
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.
Las Tablas Electrónicas en MQL5
Las Tablas Electrónicas en MQL5
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.
OpenCL: De una programación simple a una más intuitiva
OpenCL: De una programación simple a una más intuitiva
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.
Trading bidireccional y cobertura (hedging) de posiciones en MetaTrader 5 usando el panel HedgeTerminal, Parte 1
Trading bidireccional y cobertura (hedging) de posiciones en MetaTrader 5 usando el panel HedgeTerminal, Parte 1
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.
Programación basada en autómatas como nuevo enfoque en la creación de sistemas de trading automatizados
Programación basada en autómatas como nuevo enfoque en la creación de sistemas de trading automatizados
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.
MQL5-RPC. Llamadas a procedimientos remotos desde MQL5: acceso al servicio web y analizador XML-RPC ATC para divertirse y conseguir beneficios
MQL5-RPC. Llamadas a procedimientos remotos desde MQL5: acceso al servicio web y analizador XML-RPC ATC para divertirse y conseguir beneficios
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.
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.