Construya Asesores Expertos Auto-Optimizables con MQL5 y Python (Parte II): Ajuste de redes neuronales profundas
Los modelos de aprendizaje automático vienen con varios parámetros ajustables. En esta serie de artículos, exploraremos cómo personalizar sus modelos de IA para que se adapten a su mercado específico utilizando la biblioteca SciPy.
Gráficos en la biblioteca DoEasy (Parte 76): Objeto de formulario y temas de color predeterminados
En este artículo, describiremos la construcción de diferentes temas de diseño de la GUI en la biblioteca. Asimismo, crearemos el objeto "formulario", que es sucesor del objeto de clase del elemento gráfico, y también prepararemos los datos para crear las sombras de los objetos gráficos de la biblioteca y desarrollar posteriormente la funcionalidad.
Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 2): Script de comentarios analíticos
En línea con nuestra visión de simplificar la acción del precio, nos complace presentar otra herramienta que puede mejorar significativamente su análisis de mercado y ayudarle a tomar decisiones bien informadas. Esta herramienta muestra indicadores técnicos clave, como los precios del día anterior, los niveles significativos de soporte y resistencia, y el volumen de operaciones, al tiempo que genera automáticamente señales visuales en el gráfico.
Gráficos en la biblioteca DoEasy (Parte 89): Creación programática de objetos gráficos estándar Funcionalidad básica
Nuestra biblioteca ahora puede monitorear la aparición de objetos gráficos estándar en el gráfico del terminal de cliente, así como la eliminación y modificación de algunos de sus parámetros. Pero para que el "conjunto" quede completo, obviamente necesitamos la capacidad de crear objetos gráficos estándar a partir de nuestros programas.
Desarrollo de un EA comercial desde cero (Parte 26): Rumbo al futuro (I)
Llevaremos nuestro sistema de órdenes al siguiente nivel, pero primero tenemos que resolver algunas cosas. Y es que ahora tenemos cuestiones que dependen de cómo queremos operar y de qué tipo de cosas hacemos durante la jornada de tráding.
Gráficos en la biblioteca DoEasy (Parte 86): Colección de objetos gráficos - controlando la modificación de propiedades
En el presente artículo, analizaremos la modificación de los valores de las propiedades, así como la eliminación y el cambio de nombre de los objetos gráficos en la biblioteca.
Cómo implementar la optimización automática en los asesores expertos de MQL5
Guía paso a paso para la optimización automática en MQL5 para Asesores Expertos. Cubriremos la lógica de optimización robusta, las mejores prácticas para la selección de parámetros y cómo reconstruir estrategias con pruebas retrospectivas. Además, se discutirán métodos de nivel superior, como la optimización del avance, para mejorar su enfoque comercial.
Obtenga una ventaja sobre cualquier mercado
Aprenda cómo puede adelantarse a cualquier mercado en el que desee operar, independientemente de su nivel actual de habilidad.
Gráficos en la biblioteca DoEasy (Parte 94): Objetos gráficos compuestos, desplazamiento y eliminación
En este artículo, comenzaremos a desarrollar varios eventos de los objetos gráficos compuestos. Vamos a analizar parcialmente el desplazamiento y la eliminación de los objetos gráficos compuestos. En general, hoy vamos a mejorar lo que ya creamos en el último artículo.
Algoritmos de optimización de la población: Algoritmo de salto de rana aleatorio (Shuffled Frog-Leaping, SFL)
El artículo presenta una descripción detallada del algoritmo de salto de rana aleatorio (SFL) y sus capacidades para resolver problemas de optimización. El algoritmo SFL se inspira en el comportamiento de las ranas en su entorno natural y ofrece un enfoque innovador para la optimización de características. El algoritmo SFL supone una herramienta eficaz y flexible que puede gestionar una gran variedad de tipos de datos y alcanzar soluciones óptimas.
Indicadores alternativos de riesgo y rentabilidad en MQL5
En este artículo, presentaremos una aplicación de varias medidas de rentabilidad y riesgo consideradas alternativas al ratio de Sharpe e investigaremos diferentes curvas de capital hipotéticas para analizar sus características.
Desarrollo de un sistema de repetición (Parte 32): Sistema de órdenes (I)
De todas las cosas desarrolladas hasta ahora, esta, como seguramente también notarás y con el tiempo estarás de acuerdo, es la más desafiante de todas. Lo que tenemos que hacer es algo simple: hacer que nuestro sistema simule lo que hace un servidor comercial en la práctica. Esto de tener que implementar una forma de simular exactamente lo que haría el servidor comercial parece simple. Al menos en palabras. Pero necesitamos hacer esto de manera que, para el usuario del sistema de repetición/simulación, todo suceda de la manera más invisible o transparente posible.
Algoritmos de optimización de la población
Artículo de introducción a los algoritmos de optimización (AO). Clasificación. En el artículo, intentaremos crear un banco de pruebas (un conjunto de funciones) que servirá en el futuro para comparar los AO entre sí, e incluso, quizás, para identificar el algoritmo más universal de todos los ampliamente conocidos.
El filtro de Kalman para estrategias de reversión a la media en Forex
El filtro de Kalman es un algoritmo recursivo utilizado en el trading algorítmico para estimar el estado real de una serie temporal financiera filtrando el ruido de los movimientos de precios. Actualiza dinámicamente las predicciones basándose en nuevos datos del mercado, lo que lo hace valioso para estrategias adaptativas como la reversión a la media. Este artículo presenta primero el filtro de Kalman, cubriendo su cálculo e implementación. A continuación, aplicamos el filtro a una estrategia clásica de reversión a la media en el mercado de divisas como ejemplo. Por último, realizamos diversos análisis estadísticos comparando el filtro con una media móvil en diferentes pares de divisas.
Gestión de Riesgo (Parte 5): Integrando la Gestión de Riesgo en un Asesor Experto
En este artículo implemento la gestión de riesgo desarrollada en publicaciones anteriores e incorporo el indicador de order blocks presentado en otros artículos. Además, realizaré un backtest para comparar los resultados con la aplicación de la gestión de riesgo y evaluaré el impacto del riesgo dinámico.
Desarrollo de asesores expertos autooptimizables en MQL5 (Parte 2): Estrategia de scalping en el USDJPY
Únase a nosotros hoy mientras nos desafiamos a nosotros mismos a crear una estrategia comercial en torno al par USDJPY. Operaremos con patrones de velas japonesas que se forman en el marco temporal diario, ya que potencialmente tienen más fuerza detrás. Nuestra estrategia inicial resultó rentable, lo que nos animó a seguir perfeccionándola y añadiendo capas adicionales de seguridad para proteger el capital obtenido.
Kit de herramientas de negociación MQL5 (Parte 2): Ampliación e implantación de la biblioteca EX5 de gestión de posiciones
Aprenda a importar y utilizar bibliotecas EX5 en su código o proyectos MQL5. En este artículo de continuación, ampliaremos la biblioteca EX5 agregando más funciones de gestión de posiciones a la biblioteca existente y creando dos Asesores Expertos. El primer ejemplo utilizará el indicador técnico de promedio dinámico de índice variable para desarrollar un asesor experto en estrategia comercial de trailing stop, mientras que el segundo ejemplo utilizará un panel comercial para monitorear, abrir, cerrar y modificar posiciones. Estos dos ejemplos demostrarán cómo utilizar e implementar la biblioteca de gestión de posiciones EX5 actualizada.
Aprendiendo MQL5 de principiante a profesional (Parte III): Tipos de datos complejos y archivos de inclusión
Este artículo es el tercero de una serie de materiales sobre los principales aspectos de la programación en MQL5. Aquí nos encargaremos de tipos de datos complejos que no describimos en el artículo anterior, como estructuras, uniones, clases y el tipo de datos "función". También veremos cómo añadir modularidad a nuestro programa utilizando la directiva #include del preprocesador.
Desarrollando una DLL experimental con soporte multihilo en C++ para MetaTrader 5 en Linux
En este artículo, describiremos el proceso de desarrollo de la plataforma MetaTrader 5 exclusivamente en Linux. El producto final funcionará a la perfección tanto en Windows como en Linux. Asimismo, aprenderemos sobre Wine y Mingw, herramientas importantes para el desarrollo multiplataforma. Mingw ofrece transmisión de flujo (POSIX y Win32), lo que debe tenerse en cuenta a la hora de elegir la herramienta adecuada. A continuación crearemos una DLL para probar el concepto; luego la usaremos en el código MQL5 y compararemos el rendimiento de ambas implementaciones de los hilos. Este artículo pretende ser un punto de partida para experimentos propios. Después de leer este artículo, el lector será capaz de crear herramientas para MetaTrader en Linux.
Construya Asesores Expertos Auto-Optimizables con MQL5 y Python
En este artículo, vamos a discutir cómo podemos construir Asesores Expertos capaces de seleccionar de forma autónoma y cambiar las estrategias de negociación en función de las condiciones imperantes en el mercado. Aprenderemos sobre las cadenas de Markov y cómo pueden sernos útiles como operadores algorítmicos.
Trabajando con las series temporales en la biblioteca DoEasy (Parte 48): Indicadores de periodo y símbolo múltiples en un búfer en una subventana
En el presente artículo, analizaremos la creación de indicadores estándar de periodo y símbolo múltiples que utilizan un búfer de indicador para sus construcciones, y que funcionan en una subventana del gráfico. Asimismo, prepararemos las clases de la biblioteca para trabajar con los indicadores estándar que funcionan en la ventana principal del programa, o que tienen más de un búfer para mostrar sus datos.
Ejemplo de nuevo Indicador y LSTM condicional
Este artículo explora el desarrollo de un Asesor Experto (Expert Advisor, EA) para trading automatizado que combina el análisis técnico con predicciones de aprendizaje profundo.
Trabajando con las series temporales en la biblioteca DoEasy (Parte 49): Indicadores estándar de período, símbolo y búfer múltiples
En el presente artículo, vamos a mejorar las clases de la biblioteca para tener la posibilidad de crear los indicadores estándar de período y símbolo múltiples que requieren varios búferes de indicador para visualizar sus datos.
Filtrado y extracción de características en el dominio de la frecuencia
En este artículo, analizaremos la aplicación de filtros digitales a series temporales representadas en el dominio de la frecuencia con el fin de extraer características únicas que puedan resultar útiles para los modelos de predicción.
Asistente de Connexus (Parte 5): Métodos HTTP y códigos de estado
En este artículo, comprenderemos los métodos HTTP y los códigos de estado, dos piezas muy importantes de la comunicación entre el cliente y el servidor en la web. Comprender lo que hace cada método le brinda el control para realizar solicitudes con mayor precisión, informando al servidor qué acción desea realizar y haciéndolo más eficiente.
Algoritmo de colmena artificial — Artificial Bee Hive Algorithm (ABHA): Teoría y métodos
En este artículo nos familiarizaremos con el algoritmo de colmena artificial (ABHA), desarrollado en 2009. El algoritmo está orientado a la resolución de problemas de optimización continua. Veremos cómo el ABHA se inspira en el comportamiento de una colonia de abejas, donde cada abeja tiene un papel único que les ayuda a encontrar recursos de forma más eficiente.
Recetas MQL5 - Base de datos de eventos macroeconómicos
El presente artículo analiza las posibilidades de trabajar con bases de datos que utilizan el motor SQLite como base. Hemos creado una clase CDatabase para usar de forma cómoda y eficaz los principios de la programación orientada a objetos. Posteriormente se utilizará para crear y gestionar una base de datos de eventos macroeconómicos. Asimismo, ofreceremos ejemplos de muchos métodos de la clase CDatabase.
Pruebas de permutación de Monte Carlo en MetaTrader 5
En este artículo echaremos un vistazo a cómo podemos realizar pruebas de permutación sobre la base de datos de ticks barajados en cualquier asesor experto utilizando solo MetaTrader 5.
Interfaces gráficas X: Actualizaciones para la tabla dibujada y optimización del código (build 10)
Continuamos completar la tabla dibujada (CCanvasTable) con nuevas funcionalidades. Ahora la tabla va a contener las siguientes funciones: resalto de las filas al situar el cursor encima; posibilidad de agregar el array de imágenes para cada celda y el método para su conmutación; posibilidad de establecer y editar el texto de las cceldas durante la ejecución del programa, y muchas cosas más.
Implementación de Breakeven en MQL5 (Parte 2): Breakeven basado en ATR y RRR
En este artículo se finaliza la implementación del breakeven por atr y rr en MQL5, junto con el desarrollo desde cero de una clase que permite cambiar fácilmente el tipo de breakeven sin necesidad de reingresar los parámetros. Se realizan múltiples backtests para evaluar el rendimiento de cada tipo, analizando sus ventajas y desventajas en el contexto del trading algorítmico.
Gráficos en la biblioteca DoEasy (Parte 79): Clase de objeto "Fotograma de animación" y sus objetos herederos
En el presente artículo, desarrollaremos la clase de fotograma de animación y sus clases herederas. La clase permitirá dibujar figuras, con el posterior almacenamiento y restauración del fondo según la figura dibujada.
DoEasy. Elementos de control (Parte 11): Objetos WinForms: grupos, el objeto WinForms CheckedListBox
En este artículo, analizaremos el agrupamiento de objetos WinForms y crearemos una lista de objeto con objetos CheckBox.
Desarrollo de un EA comercial desde cero (Parte 27): Rumbo al futuro (II)
Sigamos avanzando hacia un sistema de órdenes más completo directamente en el gráfico. En este artículo les mostraré una forma de corregir o, más bien, de hacer que el sistema de órdenes sea más intuitivo.
Gráficos en la biblioteca DoEasy (Parte 92): Clase de memoria de objetos gráficos estándar Historia de cambio de propiedades del objeto
En este artículo, crearemos la clase de memoria del objeto gráfico estándar, que permitirá al objeto guardar sus estados al modificarse sus propiedades, lo que a su vez le permitirá volver a los estados anteriores del objeto gráfico en cualquier momento.
DoEasy. Elementos de control (Parte 14): Nuevo algoritmo de denominación de los elementos gráficos. Continuamos trabajando con el objeto WinForms TabControl
En este artículo, crearemos un nuevo algoritmo para nombrar todos los elementos gráficos y construir gráficos personalizados. Asimismo, continuaremos desarrollando el objeto WinForms TabControl.
Trabajando con las series temporales en la biblioteca DoEasy (Parte 52): Concepto multiplataforma de indicadores estándar de período y símbolo múltiples de búfer único
En el presente artículo, vamos a considerar la creación del indicador estándar de período y símbolo múltiples Accumulation/Distribution. Vamos a mejorar un poco las clases de la biblioteca en cuanto a los indicadores para que los programas escritos para la plataforma obsoleta MetaTrader 4 y basados en la biblioteca en cuestión puedan funcionar sin problema cuando los usamos en MetaTrader 5.
DoEasy. Elementos de control (Parte 25): El objeto WinForms «Tooltip»
En este artículo, comenzaremos a desarrollar el control Tooltip ("pista emergente") y comenzaremos a crear nuevas primitivas gráficas para la biblioteca. Obviamente, no todos los elementos tendrán sugerencias emergentes, pero cada objeto gráfico poseerá la capacidad de configurarla.
Otras clases en la biblioteca DoEasy (Parte 71): Eventos de la colección de objetos de gráfico
En el presente artículo, crearemos la funcionalidad necesaria para monitorear algunos eventos de los objetos del gráfico: añadir y eliminar gráficos de símbolos, añadir y eliminar subventanas en el gráfico, y también añadir/eliminar/cambiar indicadores en las ventanas del gráfico.
DoEasy. Elementos de control (Parte 3): Creando controles vinculados
En este artículo veremos la creación de controles subordinados vinculados a un control básico y creados directamente a partir de la funcionalidad del control básico. Además de la tarea mencionada, tocaremos también el objeto de sombra de un elemento gráfico, ya que todavía existen algunos errores lógicos no resueltos a la hora de utilizarlo con cualquiera de los objetos que permiten tener una sombra.
Gráficos en la biblioteca DoEasy (Parte 87): Colección de objetos gráficos - control de la modificación de propiedades en todos los gráficos abiertos
En este artículo, continuaremos trabajando en el monitoreo de los eventos de los objetos gráficos estándar y crearemos una funcionalidad que nos permitirá controlar los cambios en las propiedades de los objetos gráficos colocados en cualquier gráfico abierto en el terminal.