Notificaciones por SMS sobre el estado del Asesor Experto
El desarrollo de un sistema de notificaciones por SMS que le informa sobre el estado de su Asesor Experto para estar siempre al corriente de cualquier situación crítica dondequiera que esté.
Gestión de Riesgo (Parte 1): Fundamentos para Construir una Clase de Gestión de Riesgo
En este artículo exploraremos los fundamentos de la gestión de riesgo en el trading, y aprenderemos a crear nuestras primeras funciones para obtener el lote adecuado para una operación y el stop loss. Además, profundizaremos en cómo funcionan estas funciones, explicando cada paso detalladamente. Nuestro objetivo es proporcionar una comprensión clara de cómo aplicar estos conceptos en el trading automatizado. Al final, pondremos todo en práctica creando un script simple con el archivo de inclusión que hemos diseñado.
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte III): Colección de órdenes y posiciones de mercado, búsqueda y filtrado
En el primer artículo, comenzamos la creación de una gran biblioteca multiplataforma para construir con facilidad programas en las plataformas MetaTrader 5 y MetaTrader 4. Acto seguido, continuamos el desarrollo de la biblioteca y corregimos las órdenes y transacciones históricas. En esta ocasión, vamos a crear una clase que nos permita elegir y filtrar cómodamente órdenes y posiciones en las listas de colecciones; en concreto, crearemos un objeto básico de la biblioteca, llamado Engine, y añadiremos a la biblioteca una colección de órdenes y posiciones de mercado.
Recetas MQL5 – Calendario económico
El artículo está dedicado a las posibilidades programáticas del trabajo con el Calendario Económico. Para ello, crearemos una clase para acceder de forma simplificada a las propiedades del calendario y recibir eventos. Como ejemplo práctico, proponemos programar un indicador que usa datos sobre el volumen neto de las posiciones especulativas de CFTC.
Kit del trader: Indicadores para el diseño
Este artículo incluye las principales tareas para el diseño de los indicadores, así como soluciones y automatizaciones.
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.
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.
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.
Desarrollo de un EA comercial desde cero (Parte 25): Dotando de robustez al sistema (II)
Aquí terminaremos de dar un empujón en el rendimiento del EA... así que prepárense para una larga lectura. Lo primero que haremos para que nuestro EA sea robusto es eliminar del código todo y absolutamente todo lo que no forme parte del sistema comercial.
Creación de predicciones de series temporales mediante redes neuronales LSTM: Normalización del precio y tokenización del tiempo
Este artículo describe una estrategia simple para normalizar los datos del mercado utilizando el rango diario y entrenar una red neuronal para mejorar las predicciones del mercado. Los modelos desarrollados pueden utilizarse junto con un marco de análisis técnico existente o de forma independiente para ayudar a predecir la dirección general del mercado. Cualquier analista técnico puede perfeccionar aún más el marco descrito en este artículo para desarrollar modelos adecuados tanto para estrategias comerciales manuales como automatizadas.
Algoritmos de optimización de la población: Algoritmo de luciérnagas (Firefly Algorithm - FA)
Hoy analizaremos el método de optimización «Búsqueda con ayuda del algoritmo de luciérnagas» 'Firefly Algorithm Search' (FA). Tras modificar el algoritmo, este ha pasado de ocupar un lugar marginal a convertirse en un verdadero líder en la tabla de calificación.
Usando AutoIt con MQL5
Descripción breve. En este artículo, exploraremos la creación de scripts del terminal MetraTrader 5 integrando MQL5 con AutoIt. En el presente material, abarcaremos cómo automatizar varias tareas manipulando la interfaz de usuario de los terminales, y también presentaremos una clase que utiliza la biblioteca AutoItX.
Cómo crear cualquier tipo de Trailing Stop y conectarlo a un asesor experto
En este artículo, veremos las clases necesarias para crear fácilmente varios trailings. Asimismo, aprenderemos cómo conectar un trailing stop a cualquier EA.
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.
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XVI): Eventos de la colección de símbolos.
En este artículo, vamos a crear la clase básica para todos los objetos de la biblioteca, encargada de añadir la funcionalidad de los eventos a todos sus herederos; asimismo, crearemos una clase para monitorear los eventos de la colección de símbolos basada en la nueva clase básica. Además, modificaremos las clases de la cuenta y los eventos de la cuenta para trabajar con la nueva funcionalidad del objeto básico.
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.).
Estrategia de Bill Williams con y sin otros indicadores y predicciones
En este artículo, analizaremos una de las famosas estrategias de Bill Williams, la analizaremos e intentaremos mejorarla con otros indicadores y predicciones.
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XII): Implementando la clase de objeto "cuenta" y la colección de objetos de cuenta
En el artículo anterior, definimos los eventos de cierre de posiciones para MQL4 en la biblioteca y eliminamos las propiedades de las órdenes que nos resultaban innecesarias. En el presente artículo, analizaremos la creación del objeto "Cuenta", crearemos una colección de objetos de cuenta y prepararemos la funcionalidad de para monitorear los eventos de las cuentas.
El lenguaje MQL como medio de marcado de la interfaz gráfica de programas MQL (Parte 3). Diseñador de formas
En este artículo, finalizaremos la descripción del nuevo concepto para la construcción de la interfaz de ventana de los programas MQL con la ayuda de las construcciones del lenguaje MQL. El editor gráfico especial permitirá ajustar de forma interactiva una disposición formada por las clases básicas de elementos de GUI, y después exportarla a una descripción MQL para usarla en nuestro proyecto MQL. Asimismo, presentamos la construcción interna del editor y las instrucciones para el usuario. Los códigos fuente se adjuntan al final del artículo.
Ampliación de la librería estándar de MQL5 y la reutilización del código
La librería estándar de MQL5 le facilita la vida como desarrollador. No obstante, no abarca todas las necesidades de todos los desarrolladores del mundo, con lo cual querrá tener a su disposición más material personalizado para dar un paso más y ampliarla. En este artículo, se describe la integración del indicador técnico Zig-Zag de MetaQuotes en la librería estándar. Para conseguir nuestro objetivo, nos hemos basado en la filosofía de diseño de MetaQuotes.
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXIV): Clase comercial principal - corrección automática de parámetros erróneos
En el presente artículo, analizaremos el manejador de parámetros erróneos de la orden comercial, mejoraremos la clase comercial básica y también corregiremos el funcionamiento de la clase de eventos comerciales: ahora, todos los eventos comerciales, tanto únicos, como simultáneos en un mismo tick, serán correctamente determinados en los programas.
Una nueva mirada al gráfico Equivolume
El artículo aborda el método de construcción de gráficos en el cual cada barra está compuesta por el mismo número de ticks.
Recetas para "Neuronets"
El objetivo de este artículo es para que los principiantes cocinen tartas "multicapas".
StringFormat(). Panorámica, ejemplos de uso listos para aplicar
El artículo supone una continuación de la revisión de la función PrintFormat(). Hoy veremos brevemente cómo formatear líneas utilizando StringFormat() y su uso posterior en el programa. Asimismo, escribiremos plantillas para mostrar información sobre un símbolo en el registro del terminal. El presente artículo resultará útil tanto a principiantes como a desarrolladores experimentados.
Análisis fractal de los movimientos de la moneda común
¿Cómo de independientes son las cotizaciones de la moneda? ¿Son sus movimientos coordinados o ningún movimiento de una de las monedas sugiere el movimiento de la otra? El artículo describe un intento de abordar esta cuestión mediante la dinámica no lineal y los métodos de geometría fractal.
Interfaces gráficas XI: Integración de la librería gráfica estándar (build 16)
Desde hace poco tiempo, fue presentada la nueva versión de la librería gráfica para el diseño de los gráficos científicos (clase CGraphic). En esta actualización de la librería para la creación de las interfaces gráficas será presentada la versión con nuevo control para crear los gráficos. Ahora, será aún más fácil visualizar los datos de diferentes tipos.
Fundamentos de la codificación de un asesor experto de cobertura
En este artículo se muestra un asesor experto de cobertura. El autor elegirá su propio par de cobertura que es EURJPY y GBPJPY. Siempre se mueve de la misma forma, más fácilmente para establecer el tipo de orden de cobertura.
El lenguaje MQL como medio de marcado de la interfaz gráfica de programas MQL. Parte 2
En este artículo, presentamos un nuevo concepto para la descripción de la interfaz de ventana de los programas MQL con la ayuda de las construcciones del lenguaje MQL. La creación de GUI basadas en el marcado MQL ofrece una funcionalidad adicional para almacenar la caché y generar de manera dinámica elementos, y también para gestionar los estilos y los nuevos esquemas de procesamiento de eventos. Aquí, ofrecemos la versión mejorada de la biblioteca estándar de los elementos de control.
Falacias, Parte 2. La estadística es una pseudociencia o la "crónica de la caída en picado de cada día"
Muchos intentos de aplicar los métodos estadísticos a la realidad objetiva, como las series financieras, fracasan cuando se encuentran con los procesos no estacionarios, "colas gruesas" de las distribuciones probabilísticas que los acompañan y el insuficiente volumen de la información financiera. En este artículo intentaré referirme no a las series financieras como tales, sino a su presentación subjetiva, en este caso a la forma en que un trader intenta dominar las series, como el sistema de trading. La educción de las regularidades estadísticas de los resultados del trading es una tarea muy apasionante. En algunos casos, pueden sacarse verdaderas conclusiones sobre el modelo de este proceso y estas pueden aplicarse al sistema de trading.
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.
Algoritmos de optimización de la población: Algoritmo de recocido simulado (Simulated Annealing, SA). Parte I
El algoritmo de recocido simulado es una metaheurística inspirada en el proceso de recocido de los metales. En nuestro artículo, realizaremos un análisis exhaustivo del algoritmo y mostraremos cómo muchas percepciones comunes y mitos que rodean a este método de optimización (el más popular y conocido) pueden ser incorrectos e incompletos. Anuncio de la segunda parte del artículo: "¡Conozca el algoritmo de recocido Isotrópico Simulado (Simulated Isotropic Annealing, SIA) del propio autor!"
Redes neuronales de propagación inversa del error en matrices MQL5
El artículo describe la teoría y la práctica de la aplicación del algoritmo de propagación inversa del error en MQL5 con la ayuda de matrices. Asimismo, incluye clases y ejemplos preparados del script, el indicador y el asesor.
Aprendiendo MQL5 de principiante a profesional (Parte II): Tipos de datos básicos y uso de variables
Continuamos la serie para principiantes. Hoy veremos cómo crear constantes y variables, además de registrar la fecha, los colores y otros datos útiles. Asimismo, aprenderemos a crear enumeraciones como días de la semana o estilos de cadena (sólido, punteado, etc.). Las variables y las expresiones son la base de la programación: se encuentran necesariamente en el 99% de los programas, por lo que comprenderlas es fundamental. Y así, si es usted nuevo en el mundo de la programación, este es un buen comienzo. Nivel de conocimientos de programación: muy básico, dentro del ámbito de mi artículo anterior (el enlace está al principio).
Redes neuronales: así de sencillo (Parte 9): Documentamos el trabajo realizado
Ya hemos recorrido un largo camino y el código de nuestra biblioteca ha crecido de manera considerable. Resulta difícil monitorear todas las conexiones y dependencias. Y, obviamente, antes de proseguir con el desarrollo del proyecto, necesitaremos documentar el trabajo ya realizado y actualizar la documentación en cada paso posterior. Una documentación debidamente redactada nos ayudará a ver la integridad de nuestro trabajo.
Archivo de registro alternativo con el uso de HTML y CSS
En este artículo describiré el proceso de escritura de una sencilla pero muy potente biblioteca para la creación de archivos html, aprenderemos a ajustar su visualización y veremos cómo pueden implementarse y utilizarse fácilmente en nuestros expertos o en el script.
Secretos del terminal de cliente de MetaTrader 4: Biblioteca de archivos en MetaEditor
Cuando se crean programas personalizados, el editor de código es de gran importancia. Cuantas más funciones hay disponibles en el editor, más rápida y cómoda es la creación del programa. Muchos programas se crean sobre la base de un código ya existente. ¿Utiliza un indicador o un script que no se ajusta completamente a su propósito? Descargue el código de este programa de nuestro sitio web y personalícelo.
Como escribir Zig Zags rápido sin redibujado
Se propone un método bastante universal de escribir indicadores del tipo Zig Zag. El método incluye una parte considerable de los Zig Zags ya descritos y nos permite crear otros nuevos con relativa facilidad.
Trabajamos con matrices y vectores en MQL5
Para resolver problemas matemáticos, se han añadido a MQL5 matrices y vectores. Los nuevos tipos tienen métodos incorporados para escribir un código conciso y fácilmente comprensible que se acerque a una notación matemática. Los arrays son algo bueno, pero las matrices, en muchos casos, resultan mejores.
Interfaces gráficas XI: Campos de edición y combobox en las celdas de la tabla (build 15)
En esta actualización de la librería, el control «Tabla» (clase CTable) será completado con nuevas opciones. Vamos a ampliar la gama de los controles en las celdas de la tabla, completándola esta vez con los campos de edición y los combobox. Como adición, a esta actualización ha sido añadida la posibilidad que permite al usuario de la aplicación MQL controlar los tamaños de la ventana durante su ejecución.
Algoritmos de optimización de la población: Algoritmo genético binario (Binary Genetic Algorithm, BGA). Parte I
En este artículo, analizaremos varios métodos utilizados en algoritmos genéticos binarios y otros algoritmos poblacionales. Asimismo, repasaremos los principales componentes del algoritmo, como la selección, el cruce y la mutación, así como su impacto en el proceso de optimización. Además, estudiaremos las formas de presentar la información y su repercusión en los resultados de la optimización.