Libro de Recetas MQL5: Asesor Experto Multidivisa: un Enfoque Simple, Claro y Rápido
Libro de Recetas MQL5: Asesor Experto Multidivisa: un Enfoque Simple, Claro y Rápido
Este artículo describirá la implementación de un enfoque sencillo y apropiado para un Asesor Experto multidivisa. Esto significa que será posible configurar el Asesor Experto para simular/realizar operaciones de trading bajo condiciones idénticas pero con parámetros diferentes para cada símbolo. Como ejemplo, crearemos un patrón para dos símbolos pero de forma que solo podamos añadir símbolos adicionales, si es necesario, haciendo pequeños cambios en el código.
Libro de Recetas MQL5: Desarrollo de un Marco de Trabajo para un Sistema de Trading Basado en la Estrategia de Triple Pantalla
Libro de Recetas MQL5: Desarrollo de un Marco de Trabajo para un Sistema de Trading Basado en la Estrategia de Triple Pantalla
En este artículo desarrollaremos un marco de trabajo para un sistema de trading basado en la estrategia de Triple Pantalla en MQL5. El Asesor Experto no se desarrollará de cero. En lugar de ello, simplemente modificaremos el programa del artículo anterior "MQL5 Cookbook: Using Indicators to Set Trading Conditions in Expert Advisors" (“Libro de Recetas MQL5: Usar Indicadores Para Configurar Condiciones de Trading en Asesores Expertos”), que sustancialmente ya vale para nuestros propósitos. El artículo también demostrará cómo se pueden modificar fácilmente los patrones de programas ya hechos.
Libro de Recetas MQL5: Cómo Evitar Errores al Configurar/Modificar Niveles de Trading
Libro de Recetas MQL5: Cómo Evitar Errores al Configurar/Modificar Niveles de Trading
Continuando con nuestro trabajo en el Asesor Experto desde el artículo anterior de la serie llamado "MQL5 Cookbook: Analyzing Position Properties in the MetaTrader 5 Strategy Tester" (“Libro de Recetas MQL5: Analizar Propiedades de Posición en el Probador de Estrategias de MetaTrader 5”), seguiremos trabajando en nuestro código, reforzándolo con un buen número de útiles funciones, mejorando y optimizando también las funciones ya existentes. El Asesor Experto tendrá, en esta ocasión, parámetros externos que se podrán optimizar en el Probador de Estrategias de MetaTrader 5, y se parecerán en algunos aspectos a un sistema de trading simple.
Libro de Recetas MQL5: Propiedades de Posición en el Panel de Información Personalizada
Libro de Recetas MQL5: Propiedades de Posición en el Panel de Información Personalizada
En esta ocasión crearemos un Asesor Experto que obtendrá propiedades de posición en el símbolo actual y las mostrará en el panel de información personalizada durante operaciones de trading manual. El panel de información se creará usando objetos gráficos, y la información que muestra se actualizará con cada tick. Esto será mucho más conveniente que tener que ejecutar todo el rato el script descrito en el artículo anterior de la serie llamado "MQL5 Cookbook: Getting Position Properties" (“Libro de Recetas MQL5: Obtener Propiedades de Posición”).
Libro de Recetas MQL5: Usar Diferentes Modos de Impresión
Libro de Recetas MQL5: Usar Diferentes Modos de Impresión
Este es el primer artículo de la serie de Libros de Recetas MQL5. Comenzaré con ejemplos sencillos para permitir a aquellos que están dando sus primeros pasos en programación que se familiaricen poco a poco con el nuevo lenguaje. Recuerdo mis primeros esfuerzos para diseñar y programar sistemas de trading. Debo decir que fue bastante complicado, teniendo en cuenta el hecho de que fue el primer lenguaje de programación en mi vida. No obstante, resultó ser más fácil de lo que pensaba, y solo me costó unos pocos meses desarrollar un programa con una cierta complejidad.
Cálculo de Características Integrales de Emisiones de Indicador
Cálculo de Características Integrales de Emisiones de Indicador
Las emisiones de indicador son un área poco estudiada en investigación de mercado. Principalmente, esto se debe a la dificultad del análisis a causa de procesamiento de arrays muy largos de datos con variaciones cronológicas. El análisis gráfico existente es demasiado intensivo en recursos, y por ello ha provocado el desarrollo de un algoritmo parsimonioso que usa series cronológicas de emisiones. Este artículo demuestra cómo el análisis visual (imagen intuitiva) se puede sustituir con el estudio de características integrales de emisiones. Puede ser de interés tanto para traders como para creadores de sistemas de trading automatizados.
Guía práctica de MQL5: Controles de la subventana del indicador: Botones
Guía práctica de MQL5: Controles de la subventana del indicador: Botones
En este artículo, vamos a ver un ejemplo del desarrollo de una interfaz de usuario con controles mediante botones. Para transmitir la idea de interactividad al usuario, los botones cambiarán de color cuando se pasa el cursor por encima de ellos. Cuando el cursor está encima de un botón, el color de este último será ligeramente oscurecido, haciéndose notablemente más oscuro cuando se pulsa el botón. Además, vamos a añadir tooltips (información sobre herramientas) a cada botón, creando así una interfaz intuitiva.
Fundamentos de programación en MQL5 - Tiempo
Fundamentos de programación en MQL5 - Tiempo
En este artículo vamos a analizar las funciones estándar MQL5 que se utilizan para trabajar con el tiempo, veremos las técnicas de programación y otras funciones muy útiles a la hora de trabajar con el tiempo y las que necesitaremos durante la creación de Asesores Expertos e indicadores. Además, dedicaremos bastante atención a la teoría general del sistema cronológico. En primer lugar, este artículo puede ser interesante para los principiantes que se han puesto a estudiar la programación en MQL5.
Limitaciones y verificaciones en Asesores Expertos
Limitaciones y verificaciones en Asesores Expertos
¿Está permitido hacer operaciones de trading con este símbolo los lunes? ¿Hay suficiente dinero para abrir una posición? ¿Cuál sería el tamaño de la pérdida si se activa el Stop Loss? ¿Cómo se limita el número de órdenes pendientes? ¿Se ejecutó la operación de trading en la barra actual, o en la anterior? Si un robot de trading no puede ejecutar este tipo de verificaciones, cualquier estrategia de trading puede convertirse en una fuente de pérdidas. Este artículo muestra ejemplos de verificaciones que son útiles en cualquier Asesor Experto.
Fundamentos de programación en MQL5 - Arrays
Fundamentos de programación en MQL5 - Arrays
Junto con las variables y las funciones, los arrays forman prácticamente una parte integrante de cualquier lenguaje de programación. Este artículo puede ser interesante en primer lugar para los principiantes que se han puesto a estudiar la programación en MQL5. Mientras que los programadores experimentados tienen una buena oportunidad de generalizar y sistematizar sus conocimientos.
Operaciones de trading en MQL5 - Es fácil
Operaciones de trading en MQL5 - Es fácil
Casi todos los operadores llegan al mercado para ganar dinero, pero algunos también disfrutan de ello. Sin embargo, no solo la operativa manual puede proporcionarle una experiencia apasionante. El desarrollo de sistemas de trading automatizados también puede ser fascinante. Crear un robot de trading puede ser tan interesante como leer una buena novela de misterio.
Controles gráficos personalizados. Parte 2. Librería de control
Controles gráficos personalizados. Parte 2. Librería de control
El segundo artículo de la serie "Controles gráficos personalizados" introduce una librería de control para gestionar los principales problemas que surgen en la interacción del programa (Expert Advisor, script, indicador) con el usuario. La librería contiene un gran número de clases ((CInputBox, CSpinInputBox, CCheckBox, CRadioGroup, CVSсrollBar, CHSсrollBar, CList, CListMS, CComBox, CHMenu, CVMenu, CHProgress, CDialer, CDialerInputBox, CTable) y ejemplos de su uso.
Búsqueda de errores y registros
Búsqueda de errores y registros
MetaEditor 5 dispone de la opción de depuración. Sin embargo, cuando escribe sus programas en MQL5, por lo general quiere mostrar no solo los valores individuales, sino todos los mensajes que van apareciendo durante la prueba y el trabajo en línea. Si el archivo de registro tiene un tamaño muy grande, es evidente que hay que automatizar la recuperación rápida y sencilla del mensaje necesario. En este artículo vamos examinar las formas de búsqueda de errores en programas MQL5 y los métodos de registro. Además, vamos a simplificar el registro en archivos y le haré descubrir un programa sencillo, LogMon, para una visualización cómoda de los registros.
20 señales de trading en MQL5
20 señales de trading en MQL5
En este artículo aprenderás a recibir las señales de trading necesarias para el funcionamiento de un sistema de trading. Los ejemplos de formación de las 20 señales de trading se dan aquí como funciones personalizadas separadas, que se pueden utilizar durante el desarrollo de los Expert Advisors. Para tu comodidad, todas las funciones utilizadas en este artículo están incluidas en un archivo mqh, que se puede conectar fácilmente a un futuro Expert Advisor.
Escribir un Expert Advisor mediante la programación orientada a objetos de MQL5
Escribir un Expert Advisor mediante la programación orientada a objetos de MQL5
Este artículo se centra en enfoque orientado a objetos para hacer lo que hicimos en el artículo "Guía paso a paso para escribir un Expert Advisor en MQL5 para principiantes" -creando un sencillo Expert Advisor. La mayoría de la gente piensa que esto es muy difícil, pero le quiero garantizar que al finalizar la lectura de este artículo, será capaz de escribir su propio Expert Advisor basado en la orientación a objetos.
Creación de un Expert Advisor que opera con varios instrumentos
Creación de un Expert Advisor que opera con varios instrumentos
El concepto de diversificación de activos en los mercados financieros es bastante antiguo, y siempre ha atraído a los operadores principiantes. En este artículo, el autor propone un enfoque muy simplificado para la implementación de un Expert Advisor multidivisa, para una introducción inicial a este tipo de estrategias de trading.
OOP en MQL5 con un Ejemplo: Procesamiento de Códigos de Advertencia y Error
OOP en MQL5 con un Ejemplo: Procesamiento de Códigos de Advertencia y Error
Este artículo describe un ejemplo de creación de una clase para trabajar con los códigos devueltos por el servidor de trading que ocurren durante la ejecución del programa MQL. Si lee el artículo, aprenderá a trabajar con clases y objetos en MQL5. Al mismo tiempo, se trata de una herramienta útil para gestionar errores, y puede configurarla de acuerdo con sus necesidades específicas.
Transferir Indicadores de MQL4 a MQL5
Transferir Indicadores de MQL4 a MQL5
Este artículo está dedicado a las peculiaridades de transferir construcciones de precio escritas en MQL4 a MQL5. Para facilitar el proceso de transferir cálculos de indicador de MQL4 a MQL5, se recomienda la biblioteca de funciones mql4_2_mql5.mqh. Su uso se decribe en la base de transferencia de los indicadores MACD, Stochastic y RSI.
Crear un Indicador con Buffers de Indicador Múltiples para Principiantes
Crear un Indicador con Buffers de Indicador Múltiples para Principiantes
Los códigos complejos consisten en un conjunto de códigos sencillos. Si está familiarizado con ellos, no resulta tan complicado. En este artículo, consideraremos cómo crear un indicador con buffers de indicador múltiples. Como ejemplo se analizará en detalle el indicador Aroon y se presentarán dos versiones diferentes del código.
Cómo llamar a los indicadores en MQL5
Cómo llamar a los indicadores en MQL5
Con la nueva versión del lenguaje de programación MQL no solo ha cambiado la forma de trabajar con los indicadores, sino que también hay nuevas formas de crearlos. Además, dispone de mayor flexibilidad al trabajar con buffers de indicadores, ya que ahora es posible indicar la dirección de indexado y obtener exactamente el número de indicadores que desee. Este artículo explica los métodos básicos para llamar a los indicadores y obtener los datos a partir del buffer de cada indicador.
Crear un indicador con opciones de control gráficas
Crear un indicador con opciones de control gráficas
Aquellos que estén familiarizados con las emociones del mercado conocen el indicador MACD (su nombre completo es Moving Average Convergence/Divergence, Media Móvil Convergencia/Divergencia) - la poderosa herramienta para analizar el movimiento del precio usada por los operadores desde los primeros momentos en que aparecieron los métodos de análisis por computadora. En este artículo vamos a considerar las posibles modificaciones de MACD y a implementarlas en un indicador con la posibilidad de cambiar gráficamente entre las modificaciones.
Procesando los eventos de transacciones en el Expert Advisor por medio de la función OnTrade()
Procesando los eventos de transacciones en el Expert Advisor por medio de la función OnTrade()
MQL5 introdujo infinidad de soluciones innovadoras, incluyendo el trabajo con distintos tipos de eventos (eventos de reloj, eventos sobre transacciones, eventos personalizados, etc.). La capacidad para gestionar eventos permite crear un tipo completamente nuevo de programas para el trading automático o semi-automático. En este artículo vamos a ver los eventos de transacciones y a escribir código para la función OnTrade(), encargada de procesar el evento Trade.
Indicadores personalizados para principiantes en MQL5
Indicadores personalizados para principiantes en MQL5
Cualquier materia parece complicada y difícil de aprender para un principiante. Materias que ahora nos parecen muy simples y claras. Pero no olvidemos que todos tenemos que aprender desde cero, incluso nuestro propio idioma. Lo mismo ocurre con el lenguaje de programación MQL5 que ofrece grandes posibilidades para desarrollar nuestras propias estrategias de trading. Podemos empezar a aprenderlo comenzando con nociones más básicas y los ejemplos más sencillos. En este artículo vamos a considerar la interacción de un indicador técnico con el terminal de cliente con un ejemplo de indicador personalizado SMA.
Usando los punteros de objeto en MQL5
Usando los punteros de objeto en MQL5
Por defecto, todos los objetos en MQL5 se pasan por referencia, pero hay una posibilidad de usar los punteros de objeto. Sin embargo, es necesario realizar una comprobación del puntero ya que el objeto puede no ser inicializado. En este caso, el programa MQL5 terminará con un error crítico y descargado. Los objetos, creados automáticamente, no causan este error, por lo que, en esencia, son muy seguros. En este artículo intentaremos comprender la diferencia entre la referencia del objeto y el puntero del mismo y veremos cómo escribir código seguro con el uso de punteros.
Introducción a MQL5: Cómo escribir un Expert Advisor y un Indicador Personalizado
Introducción a MQL5: Cómo escribir un Expert Advisor y un Indicador Personalizado
MetaQuotes Programming Language 5 (MQL5), incluido en el terminal del cliente de MetaTrader 5, tiene muchas nuevas posibilidades y un mayor rendimiento, en comparación con MQL4. Este artículo le ayudará a familiarizarse con este nuevo lenguaje de programación. En este artículo se encuentran los sencillos ejemplos de cómo escribir un Expert Advisor y un Indicador Personalizado. También tendremos en cuenta algunos detalles del lenguaje MQL5, que son necesarios para entender estos ejemplos.
Como exportar cotizaciones desde MetaTrader 5 a aplicaciones .NET usando los servicios de WCF
Como exportar cotizaciones desde MetaTrader 5 a aplicaciones .NET usando los servicios de WCF
¿Quiere organizar la exportación de cotización desde MetaTrader 5 a su propia aplicación? ¡La compatibilidad entre MQL5 y DLL permite crear este tipo de soluciones! Este artículo le mostrará una de las formas de exportar cotizaciones desde MetaTrader 5 a aplicaciones escritas en .NET. Para mí, la exportación de cotizaciones usando esta plataforma fue más interesante, racional y fácil de implementar. Por desgracia, la versión 5 todavía no soporta .NET, por lo que, como en los viejos tiempos, usaremos win32 dell con .NET como capa intermedia.
La Orden de Creación y Destrucción de Objetos en MQL5
La Orden de Creación y Destrucción de Objetos en MQL5
Cada objeto, ya sea un objeto personalizado, un array dinámico o un array de objetos, se crea y elimina en el programa MQL5 de una forma particular. A menudo, algunos objetos son parte de otros objetos, y el orden de eliminación de objetos durante la desinicialización se vuelve especialmente importante. Este artículo facilita algunos ejemplos que muestran los mecanismos para trabajar con objetos.
Aplicar un Indicador a Otro
Aplicar un Indicador a Otro
Al escribir un indicador que usa la forma corta de la llamada de función OnCalculate(), puede que no se dé cuenta del hecho de que un indicador se puede calcular no solo por datos de precio, sino también por datos de otro indicador (independientemente de si viene incorporado o es personalizado). ¿Desea mejorar un indicador para su correcta aplicación a los datos del otro indicador? En este artículo, revisaremos todos los pasos para realizar tal modificación.
Gestión de Riesgo (Parte 4): Finalizando los Métodos Clave de la Clase
Gestión de Riesgo (Parte 4): Finalizando los Métodos Clave de la Clase
Este artículo constituye la cuarta entrega de nuestra serie sobre gestión de riesgo en MQL5, donde continuamos explorando técnicas avanzadas para proteger y optimizar nuestras estrategias de trading. Luego de haber sentado bases importantes en artículos anteriores, ahora nos centraremos en finalizar todos aquellos métodos pendientes que dejamos en la tercera parte, incluyendo funciones para verificar si se han alcanzado ciertos límites de pérdidas o ganancias. Además, presentaremos nuevos eventos clave que permiten una gestión más precisa y ágil.
Analizamos el código binario de los precios en bolsa (Parte II): Convirtiendo a BIP39 y escribiendo un modelo GPT
Analizamos el código binario de los precios en bolsa (Parte II): Convirtiendo a BIP39 y escribiendo un modelo GPT
Seguimos intentando descifrar los movimientos de los precios.... ¿Qué tal un análisis lingüístico del "diccionario de mercado" que obtendríamos convirtiendo el código binario de precios en BIP39? En el presente artículo, nos adentramos en un enfoque innovador del análisis de los datos bursátiles y exploramos cómo pueden aplicarse las modernas técnicas de procesamiento del lenguaje natural al lenguaje del mercado.
Desarrollo de Sistemas Avanzados de Trading ICT: Implementación de señales en un indicador de Order Blocks
Desarrollo de Sistemas Avanzados de Trading ICT: Implementación de señales en un indicador de Order Blocks
En este artículo, aprenderás a desarrollar un indicador de Order Blocks basado en el volumen de la profundidad de mercado y a optimizarlo mediante buffers para mejorar su precisión. Concluimos esta fase del proyecto y nos preparamos para las siguientes, en las que implementaremos una clase de gestión de riesgos y un bot de trading que aprovechará las señales generadas por el indicador.
Simulación de mercado (Parte 11): Sockets (V)
Simulación de mercado (Parte 11): Sockets (V)
Vamos a empezar a implementar la comunicación entre Excel y MetaTrader 5, pero antes es necesario entender algunas cosas importantes. Así no te quedarás rascándote la cabeza tratando de comprender por qué las cosas funcionan o no. Y antes de que frunzas el ceño ante la integración entre Python y Excel, veamos cómo podemos usar xlwings para controlar, en cierta medida, MetaTrader 5 a través de Excel. Lo que voy a mostrar aquí se centrará principalmente en la didáctica. No pienses que solo podemos hacer lo que mostraré.
Simulación de mercado (Parte 14): Sockets (VIII)
Simulación de mercado (Parte 14): Sockets (VIII)
Muchos podrían sugerir que deberíamos dejar de usar Excel y pasar a Python directamente, haciendo uso de algunos paquetes que permitirían a Python crear un archivo de Excel para poder analizar los resultados después. Pero, como se mencionó en el artículo anterior, aunque esta solución sea la más sencilla para muchos programadores, no será bien recibida por algunos usuarios. Y, en este asunto, el usuario siempre tiene la razón. Tú, como programador, debes encontrar la forma de hacer que las cosas funcionen.
Simulación de mercado (Parte 08): Sockets (II)
Simulación de mercado (Parte 08): Sockets (II)
¿Qué te parece si creamos algo práctico con sockets? Bien, en este artículo empezaremos a crear un minichat. Acompáñanos y descubre cómo se hace, porque será algo bastante interesante. Recuerda que el código que se mostrará aquí tiene un objetivo puramente didáctico. En realidad, no deberías utilizar este código con fines comerciales ni en una aplicación finalizada, ya que no cuenta con ningún tipo de seguridad en la transmisión de datos y es posible ver el contenido que se está transportando a través del socket.
Implementación de breakeven en MQL5 (Parte 1): Clase base y breakeven por puntos fijos
Implementación de breakeven en MQL5 (Parte 1): Clase base y breakeven por puntos fijos
En este artículo se estudia el uso del breakeven aplicado a estrategias automáticas en MQL5. Se parte de una explicación sencilla sobre qué es, cómo se implementa y cuáles son sus posibles variantes. Luego, se integra la funcionalidad dentro de un bot de Order Blocks, creado en el último artículo sobre gestión de riesgo. Para evaluar su comportamiento, se ejecutaron dos backtest bajo condiciones específicas: uno sin breakeven y otro con esta función activa.