

Interfaces gráficas II: Controles "Línea separadora" y "Menú contextual" (Capítulo 2)
En este artículo nos ocuparemos de la creación del control llamado “Línea separadora”. Se podrá utilizarlo no sólo como un elemento independiente de la interfaz, sino también como parte de otros controles. Después de eso, tendremos todo lo necesario para desarrollar la clase del menú contextual, que también será considerado al detalle en el presente artículo. Además, vamos a introducir adiciones necesarias en la clase que sirve de base para almacenar los punteros a todos los controles de la interfaz gráfica de la aplicación.


Investigación de recurrencia estadística de direcciones de la vela
¿Es posible predecir el comportamiento del mercado de un próximo corto intervalo de tiempo, basado en las tendencias recurrentes de direcciones de la vela, en momentos específicos durante todo el día? Es decir, si tal suceso se encuentra en primer lugar. Esta pregunta probablemente surgió en la mente de cada trader. El propósito de este artículo es intentar predecir el comportamiento del mercado, basado en las repeticiones estadísticas de las direcciones de la vela durante intervalos específicos de tiempo.


Cómo añadir rápidamente un panel de control a un indicador o asesor
¿Quiere añadir a su indicador o asesor un panel gráfico de control rápido y cómodo, pero no sabe como hacerlo? En este artículo le enseñaré paso a paso cómo "atornillar" un panel de diálogo con parámetros de entrada a su programa MQL4/MQL5.


Interfaces gráficas II: Control "Elemento del menú" (Capítulo 1)
En la segunda parte de la serie demostraremos el proceso del desarrollo de los controles como el menú principal y el menú contextual. Además, trataremos la cuestión del dibujo de los controles, y para ello vamos a crear una clase especial. También aclararemos detalladamente la cuestión de la gestión de los eventos del programa, inclusive los eventos del usuario.


Interfaces gráficas I: Probamos la librería en los programas de diferentes tipos y en el terminal MetaTrader 4 (Capítulo 5)
En el capítulo anterior de la primera parte de la serie sobre las interfaces gráficas, en la clase del formulario han sido añadidos los métodos que permiten manejar el formulario con los clics en los controles. En el presente artículo vamos a testear el trabajo realizado en diferentes tipos de programas MQL, como indicadores y scripts. En vista de que se ha planteado la tarea de diseñar una librería multiplataforma (en marco de las plataformas comerciales MetaTrader), también realizaremos las pruebas en MetaTrader 4.


Experto comercial universal: El comercio en grupo y la gestión de la cartera de estrategias (Parte 4)
En la parte definitiva de esta serie de artículos sobre el motor comercial CStrategy, estudiaremos el funcionamiento simultáneo de múltiples algoritmos comerciales, la descarga de estrategias desde archivos XML, así como la presentación de un sencillo panel para la selección de expertos, que se encuentra dentro de un módulo ejecutable único, y veremos la gestión de los modos comerciales de los mismos.


Experto comercial universal: Las estrategias de usuario y las clases comerciales auxiliares (Parte 3)
En este artículo continuamos con la descripción de los algoritmos del motor comercial CStrategy. En la tercera parte de esta serie de artículos se analizan con detalle ejemplos de escritura de estrategias comerciales específicas que utilizan este enfoque. Además, se presta gran atención a los algoritmos auxiliares: el sistema de registro y el acceso a los datos bursátiles con la ayuda de un indexador convencional (Close[1], Open[0], etc.).


Interfaces gráficas I: Funciones para los botones del formulario y eliminación de los elementos de la interfaz (Capítulo 4)
En el presente artículo vamos a continuar desarrollando la clase CWindow. La clase será ampliada con los métodos que permitirán gestionar el formulario haciendo clics en sus controles. Vamos a implementar la posibilidad de cerrar el programa usando el botón en el formulario, así como minimizar y maximizar el formulario en caso de necesidad.


MQL5 para principiantes, protección antivandálica de los objetos gráficos
¿Qué haría si de repente se borraran los paneles gráficos de control, o alguien los modificara? En este artículo enseñamos a evitar las situaciones donde el gráfico se puede quedar con objectos sin dueño. Las controlaremos cuando, tras eliminar la aplicación, los objetos se renombran o se borran programáticamente.


Interfaces gráficas I: "Animar" la interfaz gráfica (Capítulo 3)
En el artículo anterior de esta serie hemos empezado a desarrollar la clase del formulario para los controles. En este artículo continuaremos el desarrollo de la clase llenándola con los métodos para el desplazamiento del formulario dentro del área del gráfico, así como integraremos este elemento de la interfaz en el núcleo de la librería. Además de eso, configuraremos todo de tal manera que, al situar el cursor sobre los controles del formulario, éstos cambien su color.


Interfaces gráficas I: Formulario para controles (Capítulo 2)
En este artículo vamos a crear el primero y el más importante elemento de las interfaces gráficas: formulario para los controles. A este formulario se le puede adjuntar múltiples controles de diferentes tipos en cualquier orden y secuencia.


Experto comercial universal: Modelo de eventos y prototipo de estrategia comercial (Parte 2)
Este artículo continúa con la serie de comentarios dedicados al modelo universal de expertos. En esta parte se describe un modelo original de eventos basado en el procesamiento centralizado de datos, y también se estudia la estructura de la clase básica del motor CStrategy.


Interfaces gráficas I: Preparación de la estructura de la biblioteca (Capítulo 1)
Con este artículo yo empiezo otra serie más que concierne al desarrollo de las interfaces gráficas. Actualmente, no hay ninguna librería del código que permita crear fácil y rápidamente las interfaces gráficas en las aplicaciones MQL. Me refiero a las interfaces gráficas a las que estamos acostumbrados en los sistemas operativos comunes.


Experto comercial universal: Los modos comerciales de las estrategias (Parte 1)
Cada escritor de expertos, independientemente de su nivel de preparación, se encuentra todos los días con las mismas tareas comerciales y problemas algorítmicos, que debe resolver de una forma u otra para organizar un proceso comercial fiable. Este artículo describe las capacidades del motor comercial CStrategy, capaz de ocuparse de la resolución de estas tareas y de proporcionar al usuario mecanismos cómodos para describir sus ideas sobre trading.


El sistema experto 'Comentador'. Aplicación práctica de indicadores embebidos en programas MQL4
El presente artículo describe el uso de los indicadores técnicos en el lenguaje de programación MQL4.


Gestionar las órdenes es sencillo
Este artículo explica cómo controlar las posiciones abiertas y las órdenes pendientes de varias maneras diferentes. El objetivo es simplificar la escritura de los asesores expertos.


Eventos en MetaTrader 4
En este artículo vamos a tratar el seguimiento programado de eventos en el Terminal Cliente MetaTrader 4, tales como la apertura, el cierre y la modificación de órdenes. Se dirige a los usuarios que tienen unos conocimientos básicos en programación MQL 4 y ya saben manejar el terminal.


Cómo funcionan las órdenes en los programas complejos
En este artículo vamos a explicar los principios generales que rigen el funcionamiento de las órdenes en programas extensos y complejos.


Trabajando con archivos. Un ejemplo de visualización de eventos importantes del mercado
Este artículo explica cómo se puede trabajar de forma más productiva con MQL4 en los mercados FOREX.


AutoGraf, un Asesor Experto Gráfico
Este artículo explica cómo funcionan los gráficos en la creación de una interfaz para gestionar el trading de manera adecuada.


Ejemplo de Asesor Experto
Este artículo expone los principios de desarrollo de programas MQL4 mediante la creación de un Asesor Experto que implementa un sistema basado en el indicador estándar MACD.


Cómo manejar el Error 146, "Trade context busy"
Este artículo expone el problema que plantea el uso de varios asesores expertos que trabajan de forma simultánea en un mismo Terminal Cliente MT 4. Se dirige a todos aquellos que cuentan con experiencia básica en el manejo del terminal y tienen conocimientos básicos de programación en MQL4.


Indicador para construir el gráfico de "ejes" (husos)
El artículo estudia la construcción del gráfico de "ejes" (spindles) o, como también lo llaman, de "husos", y su utilización en las estrategias y asesores comerciales. Para empezar, vamos a discutir la aparición del gráfico, su construcción y su relación con el gráfico de velas japonesas. Después analizaremos la implementación del indicador en un código de programa en el lenguaje MQL5. Vamos a poner a prueba el experto basado en el indicador y a formular una estrategia comercial.


Módulo de señales comerciales según el sistema de Bill Williams
En el artículo se describen las reglas del sistema comercial de Bill Williams, el orden de uso del módulo MQL5 desarrollado para la búsqueda y marcado de patrones de este sistema en el gráfico, el comercio automático según los patrones hallados, y también se presentan los resultados de la simulación con diferentes instrumentos comerciales.


Probando las características y los límites de MetaTrader 4
Este artículo expone algunos detalles sobre las características y los límites del Probador de Estrategias de MetaTrader 4.


Características de los Asesores Expertos
La creación de Asesores Expertos con la plataforma MetaTrader tiene una serie de particularidades.


Aplicación de los contenedores para componer la interfaz gráfica: clase CBox
En este artículo se describe el método alternativo de creación de la interfaz gráfica a base de los esquemas de composición y contenedores usando el gestor de composición, a saber, la clase CBox. La clase Cbox representa un medio auxiliar de control que actúa como contenedor de los elementos principales de control de la interfaz gráfica. Facilita el diseño de paneles gráficos, y a veces reduce el tiempo de la escritura del código.


Errores comunes en los programas MQL4 y cómo evitarlos
Para evitar la conclusión crítica de programas, la versión anterior del compilador maneja muchos errores en el entorno de ejecución. Por ejemplo, división por cero o array fuera de rango son errores críticos y generalmente conducen al desplome del programa. El nuevo compilador puede detectar fuentes reales o potenciales de errores y mejorar la calidad del código. En este artículo, discutimos los posibles errores que pueden ser detectados durante la compilación de programas viejos y ver como solucionarlos.


Programamos los modos de funcionamiento del Asesor Experto usando la programación orientada a objetos
En este artículo se considera la idea de la programación multi-modo de los robots comerciales usando el lenguaje MQL5. Se utiliza el enfoque orientado a objetos para la implementación de cada uno de los modos. Se muestra el ejemplo de la jerarquía de las clases de régimen y el ejemplo de las clases para el testeo (prueba). Se supone que la programación multi-modo de los robots comerciales toma en consideración las particularidades de cada modo de trabajo del Asesor Experto MQL5. Para la identificación de los modos se crean las funciones y enumeraciones.


Recetas MQL5 - órdenes ОСО
En el comercio, el trader usa diferentes mecanismos e interacciones, también entre órdenes. En este artículo se propone una solución para procesar las órdenes OCO. Además, implica las clases de la Biblioteca Estándar, y también se crean los nuevos tipos de datos.


Crear aplicación interactiva para visualizar los canales RSS en MetaTrader 5
En este artículo se describe cómo crear la aplicación que visualiza los canales RSS. Además, hablaremos sobre los aspectos del uso de la Biblioteca estándar durante la creación de los programas interactivos en MetaTrader 5.


Líneas de tendencia basadas en los fractales usando MQL4 y MQL5
En este artículo se describe la solución de automatización del proceso de la construcción de las líneas de tendencia a base del indicador Fractals usando MQL4 y MQL5. La estructura del artículo está representada como la comparación en el marco de la solución del problema planteado desde las posiciones de dos lenguajes. La construcción de las líneas de tendencia se realiza usando dos últimos fractales conocidos.


Gráfico líquido
¿Qué aspecto tiene un gráfico H1 cuyas barras se abren desde el segundo o el quinto minuto de la hora? ¿Qué aspecto tiene un gráfico redibujable cuyas horas de apertura de las barras se cambian cada minuto? ¿Qué ventajas ofrece el trading en este tipo de gráficos? En este artículo puede encontrar las respuestas a estas preguntas.


Recetas MQL5 - procesamiento de eventos personalizados del gráfico
En este artículo vamos a estudiar varios aspectos sobre la confección de proyectos y el procesamiento de los eventos personalizados del gráfico en el entorno MQL5. Se propondrá un ejemplo de aproximación para la clasificación de eventos. Asimismo, se muestra el código de programa de la clase de evento y la clase de procesador de eventos personalizados.


Optimizando la optimización: algunas sencillas ideas
El proceso de optimización consume muchos recursos del ordenador o del crédito que tengamos en nuestra cuenta de MQL5.community. Este artículo apunta algunas ideas sencillas que pongo en práctica para simplificar o completar el fabuloso sistema optimizador que ofrece MT5, extraídas de mil lecturas en la documentación, en el foro y en artículos.


Desarrollo de una Startup social tecnológica, Parte I: Publicamos las Señales de MetaTrader 5 en el Twitter
Hoy vamos a hablar sobre cómo podemos vincular el terminal MetaTrader 5 con una cuenta del Twitter para publicar las señales de su Asesor Experto. Estamos desarrollando el Sistema social del soporte para la toma de decisiones (SDSS por sus siglas en inglés Social Decision Support System, denominado en adelante como SDSS) con PHP a base del servicio web RESTful. Esta idea se basa en la concepción del trading automático, o así denominado el trading mediante los ordenadores. Queremos que las señales comerciales automáticas del Asesor Experto (EA) pasen por los filtros de las facultades cognitivas de la mente humana.


Asistente MQL5: Ampliación de la biblioteca estándar para el establecimiento de órdenes, stops y objetivos según precios calculados
En el artículo se describe la ampliación de la biblioteca estándar MQL5, que permite, con ayuda del Asistente, crear asesores que pongan órdenes, stop loss y take profit según los precios obtenidos de los módulos conectados. Esta aproximación no supone limitaciones adicionales en la cantidad de módulos y no provoca conflictos en su trabajo conjunto.


Libro de Recetas MQL5: Escribir el Historial de Transacciones y Crear Gráficos de Saldo para cada Símbolo en Excel
Al explicar mis ideas en varios foros, a menudo utilizo ejemplos de mis resultados de simulación en forma de capturas de pantalla de gráficos de Microsoft Excel. Muchas veces me ha llegado la pregunta de cómo se pueden crear estos gráficos. Ahora por fin tengo algo de tiempo para explicarlo todo en este artículo.


Libro de Recetas MQL5: Desarrollar un Asesor Experto Multidivisa con un Número Ilimitado de Parámetros
En este artículo crearemos un patrón que usa un solo conjunto de parámetros para la optimización del sistema de trading, a la vez que permite un número ilimitado de parámetros. La lista de símbolo se creará en un archivo de texto estándar (*.txt). Los parámetros de entrada para cada símbolo también se almacenarán en archivos. De esta forma podremos evitar la restricción del terminal del número de parámetros centrada de un Asesor Experto.


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.