

Cálculo de expresiones matemáticas (Parte 1). Parsers de descenso recursivo
En el presente artículo, estudiaremos los principios esenciales del análisis y el cálculo de las expresiones matemáticas. Asimismo, implementaremos los parsers de descenso recursivo que funcionan en los modos de intérprete y de cálculos rápidos basados en un árbol de sintaxis previamente construido.

Optimización móvil continua (Parte 5): Panorámica del proyecto del optimizador automático, creación de la interfaz gráfica
Continuamos con la descripción de la optimización móvil en el terminal MetaTrader 5. Tras analizar en los artículos anteriores los métodos de formación del informe de optimización y su método de filtrado, hemos procedido a describir la estructura interna de la aplicación encargada del propio proceso de optimización. El optimizador automático, ejecutado como una aplicación en C#, tiene su propia interfaz gráfica. Este artículo está dedicado precisamente a esta interfaz gráfica.


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.


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.


Simulación Rápida de Ideas de Trading en el Gráfico
Este artículo describe el método de simulaciones rápidas virtuales de ideas de trading. El método se basa en la combinación de un gráfico de precio, un indicador de señal y un indicador de cálculo de saldo. Me gustaría compartir mi método de búsqueda de ideas de trading, así como el método que uso para la simulación rápida de estas ideas.

Mejore sus gráficos comerciales con una GUI interactiva basada en MQL5 (Parte II): Interfaz móvil (II)
Descubra el potencial de la presentación dinámica de datos en sus estrategias y utilidades comerciales con nuestra guía detallada para crear GUI móviles en MQL5. Sumérjase en los principios fundamentales de la programación orientada a objetos y aprenda a diseñar y utilizar de manera fácil y eficiente una o más GUI móviles en un solo gráfico.


Utilidad para la selección y navegación en MQL5 y MQL4: añadiendo la búsqueda automática de patrones y visualización de símbolos encontrados
En este artículo, seguiremos ampliando las capacidades de la utilidad para la selección y navegación por los instrumentos. Esta vez vamos a crear nuevas pestañas, con la apertura de las cuales van a abrirse sólo aquellos símbolos que correspondan a unos u otros parámetros nuestros. Asimismo, aprenderemos a incluir fácilmente nuestras propias pestañas con las reglas de filtración necesarias.


MQL5 Wizard: Cómo crear un módulo de Trailing de posiciones abiertas
El generador de estrategias de trading de MQL5 Wizard simplifica enormemente los procesos de pruebas de los conceptos de trading. El artículo aborda la forma de escribir y conectar al generador de estrategias de trading de MQL5 Wizard su propia clase de gestión de posiciones abiertas moviendo el nivel de Stop Loss a una zona sin pérdidas cuando el precio va en la misma dirección que la posición, proporcionando una protección contra la disminución de sus beneficios durante el trading. También informa sobre la estructura y el formato de la descripción de la clase creada para MQL5 Wizard.


Trabajando con las series temporales en la biblioteca DoEasy (Parte 35): El objeto "Barra" y la lista de serie temporal del símbolo
Con este artículo, comenzamos una nueva serie en la descripción de la biblioteca "DoEasy" para la creación rápida y sencilla de programas. Hoy, empezaremos a preparar la funcionalidad de la biblioteca para acceder a los datos de las series temporales de los símbolos y trabajar con los mismos. Asimismo, crearemos el objeto "Barra", encargado de guardar los datos tanto básicos como ampliados de la barra de la serie temporal, y también ubicaremos los objetos de barra en la lista de serie temporal para que resulte más cómodo buscar y clasificar dichos objetos.


Los Asesores Expertos desde el Asistente MQL5 funcionan en MetaTrader 4
En este artículo se ofrece un emulador simple del entorno comercial de MetaTrader 5 para MetaTrader 4. Este emulador permite realizar el traspaso y adaptación de las clases de trading de la librería estándar. Como resultado, los Asesores Expertos generados en el Asistente para MetaTrader 5, pueden ser compilados y ejecutados en MetaTrader 4.

Técnicas útiles y exóticas para el comercio automático
En el presente artículo, mostraremos algunos trucos muy útiles e interesantes para comerciar de forma automatizada. Alguna de estas técnicas podría resultar familiar al lector, o quizá no, pero intentaremos exponer los métodos más interesantes y explicar por qué merece la pena utilizarlos. Y lo que es más importante: mostraremos lo que pueden hacer en la práctica. Vamos a escribir asesores expertos y comprobar todas las técnicas descritas en la historia de cotizaciones.


Aplicando OLAP en el trading (parte 1): Fundamentos del análisis corriente de datos multidimensionales
En este artículo, se describen los principios básicos de la construcción del framework para el procesamiento analítico en línea (OLAP en inglés), su implementación en MQL en el ambiente de MetaTrader, usando el procesamiento del historial de trading de la cuenta como ejemplo.


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.


Recetas de MQL5 - implementamos el array asociativo o el diccionario para el acceso rápido a los datos
En este artículo se describe un algoritmo especial que permite acceder de manera eficaz a los elementos usando su clave única. Como clave se puede utilizar cualquier tipo básico de datos, por ejemplo, las cadenas o variables de números enteros. Este contenedor de datos suelen llamarlo el diccionario o array asociativo. La solución de muchas tareas con su ayuda resulta más simple y eficaz.


Reversión: creando un punto de entrada y escribiendo un algoritmo de comercio manual
Este es el último artículo de la serie dedicada a la estrategia comercial de la reversión. En él intentaremos solucionar un problema que ha provocado inestabilidad en los resultados de la simulación en los anteriores artículos. Asimismo, escribiremos y simularemos nuestro propio algoritmo para el comercio manual en cualquier mercado con la ayuda de la reversión.


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.


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.

Explorando opciones para crear velas multicolores
En este artículo, abordaremos las distintas posibilidades de crear indicadores personalizados con velas, señalando sus correspondientes ventajas y desventajas.


Conjunto de instrumentos para el marcado manual de gráficos y comercio (Parte I). Preparación - descripción de la estructura y clase de funciones auxiliares
En este artículo, comenzaremos a describir el conjunto para el marcado gráfico con la ayuda de atajos de teclado. Es un herramienta muy cómoda: con solo pulsar un botón, aparecerá una línea de tendencia, el abanico de Fibonacci con los parámetros necesarios, etcétera. Asimismo, tendremos la posibilidad de alternar marcos temporales, cambiar el orden de las "capas" de los objetos o eliminar todos los objetos de un gráfico.


Método de las áreas
El sistema comercial "Método de las áreas" funciona basándose en una interpretación poco habitual de los índices del oscilador RSI. En este artículo se muestra un indicador que visualiza el método de las áreas, y un asesor que comercia con este sistema. El artículo se complementa con los resultados de la simulación del asesor en símbolos, marcos temporales y valores de las áreas diferentes.


Indicador NRTR y módulos comerciales en su base para el Asistente de MQL5
En este artículo se describe el indicador NRTR y el sistema comercial creado en su base. Para este propósito, se crea el módulo de las señales comerciales a través de las cuales se crean las estrategias basadas en las combinaciones del NRTR e indicadores comerciales que confirman la tendencia.


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.


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.


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.


Experto comercial universal: Acceso a las propiedades de los instrumentos (parte 8)
La octava parte del artículo está dedicada a la descripción de la clase CSymbol, un objeto especial que proporciona acceso a un instrumento comercial aleatorio. Incluida en el experto comercial, esta clase proporciona un rico conjunto de propiedades de cualquier instrumento, haciendo la programación de expertos aún más sencilla y multifuncional.

Funciones en las aplicaciones MQL5
Las funciones son componentes de importancia crítica en cualquier lenguaje de programación. Entre otras cosas, ayudan a los desarrolladores a aplicar el principio DRY (don't repeat youself, no te repitas). El artículo analiza las funciones y su creación en MQL5 usando aplicaciones sencillas que enriquecen nuestros sistemas comerciales sin complicarlos.

Aprendiendo a diseñar un sistema de trading con la desviación estándar
Le damos la bienvenida a un nuevo artículo de la serie dedicada a la creación de sistemas comerciales basados en los indicadores técnicos más populares y la escritura de los sistemas basados en estos en el lenguaje MQL5 para su posterior uso en MetaTrader 5. En el presente artículo, aprenderemos cómo desarrollar un sistema comercial basado en el indicador de desviación estándar.


Estudiando las clases de estrategias comerciales de la Biblioteca Estándar - Estrategias personalizadas
En este artículo estudiaremos las clases de estrategias comerciales contenidas en la Biblioteca Estándar, también aprenderemos a añadir estrategias personalizadas y filtros/señales, respetando la lógica de los patrones y modelos del Wizard MQL5. Al final, usted será capaz de añadir fácilmente sus propias estrategias, usando los indicadores estándar de MetaTrader 5, y el Wizard MQL5 creará un código puro y un experto totalmente operativo.


Combinatoria y teoría de la probabilidad en el trading (Parte II): Fractal universal
En el presente artículo, continuaremos estudiando los fractales, prestando especial atención a la generalización de todo el material. En concreto, intentaremos hacer el material más compacto y comprensible, para poder usarlo de forma práctica en el trading.

Websockets para MetaTrader 5 — Usando la API de Windows
En este artículo, usaremos WinHttp.dll para crear un cliente de websocket para los programas de MetaTrader 5. El cliente se implementará finalmente como una clase, y también se probará contra la API de websocket de Binary.com.


Widgets de las Señales Comerciales MetaTrader 4 y MetaTrader 5
Desde hace poco, cada usuario MetaTrader 4 y MetaTrader 5 tiene la posibilidad de convertirse en suministrador de señales comerciales y obtener beneficios adicionales. Ahora, con la ayuda de los nuevos widgets puede hablar de sus éxitos en su propia página web, en un blog o en una página de la red social. Las ventajas del uso de los widgets son obvias: el aumento de la popularidad del suministrador, de su reputación como trader exitoso y la captación de nuevos suscriptores. Todo esto pueden obtener los traders que coloquen widgets en otras páginas de internet.


Creando un EA gradador multiplataforma (Parte III): cuadrícula de correcciones con martingale
En este artículo, intentaremos crear el mejor asesor posible de aquellos que funcionan según el principio del gradador. Como siempre, se tratará de un asesor multiplataforma, capaz de funcionar tanto en MetaTrader 4, como en MetaTrader 5. El primer asesor era bueno en todo, excepto en que no podía traer beneficios en un periodo de tiempo prolongado. El segundo asesor podía funcionar en intervalos superiores a varios años. Pero era incapaz de lograr más de un 50% de beneficio anual con una reducción máxima inferior al 50%.


Controles gráficos personalizados. Parte 3. Formularios
Este es el último de los tres artículos dedicados a los controles gráficos. En él vamos a ver la creación del principal componente de la interfaz gráfica, el formulario, y su uso en combinación con otros controles. Además de las clases para formularios, las clases CFrame, CButton y CLabel se han añadido a la librería del control.

Conjunto de instrumentos para el marcado manual de gráficos y comercio (Parte II). Haciendo el marcado
Este artículo continúa el ciclo en el que mostramos la creación de una biblioteca capaz de marcar gráficos manualmente utilizando atajos de teclado. El marcado se realiza con líneas rectas y combinaciones de estas. Esta parte habla directamente sobre el propio dibujado utilizando las funciones descritas en la primera parte. La biblioteca se puede conectar a cualquier asesor experto o indicador, lo cual simplifica sustancialmente las tareas de marcado. Esta solución NO UTILIZA dlls externas: todos los comandos se implementan usando las herramientas integradas de MQL.


Trabajamos con archivos ZIP con los medios de MQL5, sin usar bibliotecas ajenas
El lenguaje MQL5 prosigue su desarrollo, continuamente se le añaden nuevas funciones para trabajar con datos. Desde hace cierto tiempo, gracias a las innovaciones, resulta posible trabajar con archivos ZIP con las herramientas estándar MQL5, sin tener que implicar bibliotecas DLL ajenas. Este artículo describe de forma detallada cómo hacerlo, usando como ejemplo la descripción de la clase CZip, un instruemnto universal de lectura, creación y modificación de archivos ZIP.


Utilización de la función TesterWithdrawal() para modelizar las retiradas de beneficio
En este artículo se describe la utilización de la función TesterWithDrawal() para estimar los riesgos en un sistema de trading que implica la retirada de cierta parte de los activos durante su funcionamiento. Además, describe cómo afecta esta función al algoritmo de cálculo de la reducción del patrimonio en el probador de estrategias. Esta función es muy útil durante la optimización de los parámetros de sus Asesores Expertos.


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.


Guía práctica de MQL5: Supervisar múltiples períodos de tiempo en una sola ventana
MetaTrader 5 ofrece 21 períodos de tiempo para el análisis. Puede aprovechar los objetos gráficos especiales que puede colocar en el gráfico existente y establecer el símbolo, el período de tiempo y otras propiedades. En este artículo se va a proporcionar una información detallada acerca de estos objetos gráficos: crearemos un indicador con controles (botones) que nos permitirán establecer múltiples objetos gráficos en una subventana al mismo tiempo. Además, se encajarán los objetos gráficos con precisión en la subventana y se ajustarán automáticamente al modificar el tamaño del gráfico principal o el de la ventana del terminal.


Libro de Recetas MQL5: El Historial de Transacciones y la Biblioteca de Funciones para Obtener Propiedades de Posición
Es momento de resumir brevemente la información facilitada los artículos anteriores sobre propiedades de posición. En este artículo crearemos unas cuantas funciones adicionales para obtener las propiedades que solo se pueden conseguir tras acceder al historial de transacciones. También nos familiarizaremos con estructuras de datos que nos permitirán acceder a propiedades de posición y del símbolo de una forma más conveniente.


MetaTrader 5: Publicar pronósticos de trading y declaraciones de trading en tiempo real a través del correo electrónico en blogs, redes sociales y páginas web dedicadas
El objetivo de este artículo es presentar soluciones ya preparadas para publicar pronósticos usando MetaTrader 5. Cubre un gran espectro de ideas: desde el uso de páginas web dedicadas para publicar declaraciones de MetaTrader hasta la configuración de una página web propia prácticamente sin experiencia en programación, y finalmente, también, integración con una red social de servicios de microblogging que permitirá a muchos lectores unirse y seguir los pronósticos. Todas las soluciones aquí presentadas son 100% gratuitas y las puede poner en práctica cualquiera con un conocimiento básico de servicios de correo electrónico y FTP (Protocolo de Transferencia de Archivos, por sus siglas en inglés). No hay obstáculos para el uso de las mismas técnicas para servicios de pronóstico de hosting profesional y trading comercial.