Desarrollando un EA comercial desde cero (Parte 09): Un salto conceptual (II)
Colocación del Chart Trade en una ventana flotante. En el artículo anterior creamos el sistema base para utilizar templates dentro de una ventana flotante.
Aprendiendo a diseñar un sistema de trading con Bears Power Index
Bienvenidos a un nuevo artículo de la serie dedicada a la creación de sistemas comerciales basados en indicadores técnicos populares. En esta ocasión, hablaremos sobre el Bears Power Index y crearemos un sistema comercial basado en sus indicadores.
Redes neuronales: así de sencillo (Parte 84): Normalización reversible (RevIN)
Hace tiempo que sabemos que el preprocesamiento de los datos de origen desempeña un papel fundamental en la estabilidad del entrenamiento de los modelos. Y para el procesamiento en línea de datos de origen "brutos" solemos utilizar una capa de normalización por lotes. Pero a veces tenemos que invertir el procedimiento. En este artículo analizaremos un posible enfoque para resolver este tipo de problemas.
Creación de un modelo de restricción de tendencia de velas (Parte 8): Desarrollo de un asesor experto (II)
Piense en un asesor experto independiente. Anteriormente, analizamos un Asesor Experto basado en indicadores que también se asoció con un script independiente para dibujar la geometría de riesgo y recompensa. Hoy discutiremos la arquitectura de un Asesor Experto MQL5, que integra todas las características en un solo programa.
Operaciones con grupos de archivos
Algunas veces es necesario realizar las mismas operaciones con un grupo de archivos. Si tenemos una lista de archivos en un grupo, esto no es un problema. Sin embargo, si necesitamos hacer esta lista nosotros mismos, surge la pregunta: "¿Cómo podemos hacerlo?" El artículo propone hacerlo mediante las funciones FindFirstFile() y FindNextFile() incluidas en kernel32.dll.
Sistema de arbitraje de alta frecuencia en Python con MetaTrader 5
Hoy vamos a crear un sistema de arbitraje legal a los ojos de los brókeres, que creará miles de precios sintéticos en el mercado Fórex, los analizará y negociará con éxito para obtener beneficios.
Creación de un Asesor Experto MQL5 basado en la estrategia PIRANHA utilizando las Bandas de Bollinger
En este artículo, creamos un Asesor Experto (Expert Advisor, EA) en MQL5 basado en la estrategia PIRANHA, utilizando Bandas de Bollinger para mejorar la efectividad comercial. Discutimos los principios clave de la estrategia, la implementación de la codificación y los métodos de prueba y optimización. Este conocimiento le permitirá implementar el EA en sus escenarios comerciales de manera efectiva.
Encuesta: Lo que opinan los traders del Terminal móvil
Desafortunadamente, todavía no hay previsiones claras acerca del futuro del trading móvil. Sin embargo, hay muchos rumores entorno a esta cuestión. En nuestro intento de disipar las dudas, hemos decidido realizar una encuesta entre los traders para averiguar sus opiniones acerca de los terminales móviles. Por medio de esta encuesta, hemos conseguido establecer una imagen clara de lo que piensan nuestros traders del producto en este momento, así como sus propuestas y expectativas para los futuros desarrollos de nuestros terminales móviles.
Trabajando con las series temporales en la biblioteca DoEasy (Parte 44): Las clases de colección de los objetos de búferes de indicador
En el artículo, analizaremos la creación de la clase de colección de los objetos de búferes de indicador y pondremos a prueba la posibilidad de crear cualquier número de búferes para los programas-indicadores, así como la posibilidad de trabajar con estos (el número máximo de búferes que se pueden crear en los indicadores MQL es de 512).
Indicador CCI. Tres pasos para la transformación
En este artículo, intentaremos realizar cambios adicionales en el indicador CCI. Estos cambios afectarán a la propia lógica del indicador, hasta el punto de que podremos ver este indicador en la ventana del gráfico principal.
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte VI): Eventos en la cuenta con compensación
En anteriores artículos comenzamos a crear una gran biblioteca multiplataforma cuyo objetivo es simplificar la escritura de programas para las plataformas MetaTrader 5 y MetaTrader 4. En la quinta parte, hemos creado las clases de los eventos comerciales y la colección de eventos desde donde se envían los eventos a la objeto de la biblioteca Engine y al gráfico del programa de control. En esta parte de la descripción, vamos a añadir la posibilidad de trabajar con la biblioteca en las cuentas de tipo compensación.
Gráficos en la biblioteca DoEasy (Parte 88): Colección de objetos gráficos - matriz dinámica bidimensional para almacenar propiedades de objetos que cambian dinámicamente
En este artículo, crearemos una clase de matriz multidimensional dinámica con capacidad de cambiar la cantidad de datos en cualquier dimensión. Basándonos en la clase creada, crearemos una matriz dinámica bidimensional para guardar algunas propiedades de objetos gráficos que cambian dinámicamente.
Tablero de cotizaciones: Versión básica
Aquí te mostraré cómo crear esas pantallas en forma de banda, normalmente usadas para mostrar cotizaciones como en la bolsa, pero pura y simplemente usando MQL5, sin recurrir a programación externa complicada e innecesariamente sofisticada.
DoEasy. Elementos de control (Parte 27): Seguimos trabajando en el objeto WinForms "ProgressBar"
En este artículo, continuaremos desarrollando el control ProgressBar. Vamos a crear la funcionalidad necesaria para gestionar la barra de progreso y los efectos visuales.
Aprendizaje automático y Data Science (Parte 13): Analizamos el mercado financiero usando el análisis de componentes principales (ACP)
Hoy intentaremos mejorar cualitativamente el análisis de los mercados financieros utilizando el Análisis de Componentes Principales (ACP). Asimismo, aprenderemos cómo este método puede ayudarnos a identificar patrones ocultos en los datos, detectar tendencias ocultas del mercado y optimizar las estrategias de inversión. En este artículo veremos cómo el método de ACP aporta una nueva perspectiva al análisis de datos financieros complejos, ayudándonos a ver ideas que hemos pasado por alto con los enfoques tradicionales. ¿La aplicación del método ACP en estos mercados financieros ofrece una ventaja competitiva y ayuda a ir un paso por delante?
Algoritmos de optimización de la población: Algoritmo de gotas de agua inteligentes (Intelligent Water Drops, IWD)
El artículo analiza un interesante algoritmo, las gotas de agua inteligentes, IWD, presente en la naturaleza inanimada, que simula el proceso de formación del cauce de un río. Las ideas de este algoritmo han permitido mejorar significativamente el anterior líder de la clasificación, el SDS, y el nuevo líder (SDSm modificado); como de costumbre, se puede encontrar en el archivo del artículo.
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.
Cómo construir un EA que opere automáticamente (Parte 13): Automatización (V)
¿Sabes lo que es un diagrama de flujo? ¿Sabes cómo utilizarlo? ¿Cree que los diagramas de flujo son sólo cosas de aprendiz de programador? Pues echa un vistazo a este artículo y aprende a trabajar con diagramas de flujo.
Experimentos con redes neuronales (Parte 6): El perceptrón como herramienta autosuficiente de predicción de precios
Ejemplo de utilización de un perceptrón como herramienta autónoma de predicción de precios. En el artículo exploraremos los conceptos generales y veremos un sencillo asesor experto ya preparado, así como los resultados de su optimización.
Introducción a MQL5 (Parte 3): Estudiamos los elementos básicos de MQL5
En este artículo, seguiremos estudiando los fundamentos de la programación MQL5. Hoy veremos los arrays, las funciones definidas por el usuario, los preprocesadores y el procesamiento de eventos. Para una mayor claridad, todos los pasos de cada explicación irán acompañado de un código. Esta serie de artículos sienta las bases para el aprendizaje de MQL5, prestando especial atención a la explicación de cada línea de código.
Cómo conectar MetaTrader 5 a PostgreSQL
Este artículo describiremos cuatro métodos para conectar el código MQL5 a una base de datos de Postgres y ofreceremos una guía paso a paso para configurar un entorno de desarrollo para uno de ellos, la API REST, utilizando el Subsistema de Windows para Linux (WSL). Asimismo, mostraremos una aplicación demostrativa de la API con el código MQL5 correspondiente para insertar datos y consultas a las tablas correspondientes, así como un asesor demo para usar estos datos.
Aprendiendo a diseñar un sistema comercial con Gator Oscillator
Bienvenidos a un nuevo artículo de la serie dedicada a la creación de sistemas comerciales basados en indicadores técnicos populares. En esta ocasión, hablaremos sobre el indicador Gator Oscillator y crearemos un sistema comercial utilizando estrategias simples.
Estudiamos el indicador de perfil de mercado Market Profile: ¿Qué es y cómo se estructura?
Hoy nos familiarizaremos con el "Perfil de mercado". Además, averiguaremos qué hay detrás de este nombre, trataremos de entender los principios de trabajo con el Perfil y analizaremos su versión presentada en el terminal bajo el nombre MarketProfile.
Redes neuronales: así de sencillo (Parte 18): Reglas asociativas
Como continuación de esta serie, hoy presentamos otro tipo de tarea relacionada con los métodos de aprendizaje no supervisado: la búsqueda de reglas asociativas. Este tipo de tarea se usó por primera vez en el comercio minorista para analizar las cestas de la compra. En este artículo, hablaremos de las posibilidades que ofrece el uso de dichos algoritmos en el trading.
Algoritmos de optimización de la población: Algoritmo genético binario (Binary Genetic Algorithm, BGA). Parte II
En este artículo, analizaremos el algoritmo genético binario (BGA), que modela los procesos naturales que ocurren en el material genético de los seres vivos en la naturaleza.
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.
Creación de un Panel de administración de operaciones en MQL5 (Parte I): Creación de una interfaz de mensajería
Este artículo analiza la creación de una interfaz de mensajería para MetaTrader 5, dirigida a los administradores de sistemas, para facilitar la comunicación con otros traders directamente dentro de la plataforma. Las integraciones recientes de plataformas sociales con MQL5 permiten una rápida transmisión de señales a través de diferentes canales. Imagina poder validar las señales enviadas con un solo clic: "SÍ" o "NO". Sigue leyendo para obtener más información.
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.
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.
Creación de un asesor experto MQL5 basado en la estrategia de ruptura del rango diario (Daily Range Breakout)
En este artículo, creamos un Asesor Experto MQL5 basado en la estrategia de ruptura del rango diario (Daily Range Breakout). Cubrimos los conceptos clave de la estrategia, diseñamos el plano del EA e implementamos la lógica de ruptura en MQL5. Al final, exploramos técnicas para realizar pruebas retrospectivas y optimizar el EA con el fin de maximizar su eficacia.
Redes neuronales: así de sencillo (Parte 85): Predicción multidimensional de series temporales
En este artículo presentaremos un nuevo método complejo de previsión de series temporales que combina armoniosamente las ventajas de los modelos lineales y los transformadores.
Python, ONNX y MetaTrader 5: Creamos un modelo RandomForest con preprocesamiento de datos RobustScaler y PolynomialFeatures
En este artículo, crearemos un modelo de bosque aleatorio en Python, entrenaremos el modelo y lo guardaremos como un pipeline ONNX con preprocesamiento de datos. Además, usaremos el modelo en el terminal MetaTrader 5.
Aprendizaje automático y Data Science (Parte 14): Aplicación de los mapas de Kohonen a los mercados
¿Quiere encontrar un nuevo enfoque comercial que lo ayude a orientarse en mercados complejos y en cambio constante? Eche un vistazo a los mapas de Kohonen, una forma innovadora de redes neuronales artificiales que puede ayudarle a descubrir patrones y tendencias ocultos en los datos del mercado. En este artículo, veremos cómo funcionan los mapas de Kohonen y cómo usarlos para desarrollar estrategias comerciales efectivas. Creo que este nuevo enfoque resultará de interés tanto a los tráders experimentados como para los principiantes.
Mejore sus gráficos comerciales con una GUI interactiva basada en MQL5 (Parte III): Interfaz comercial simple y móvil
En esta serie de artículos analizamos la integración de interfaces gráficas interactivas en paneles comerciales móviles en MQL5. En la tercera parte, utilizaremos los desarrollos de las partes anteriores para convertir paneles comerciales estáticos en dinámicos.
Trading bursátil con cuadrícula usando un asesor con órdenes stop pendientes en la Bolsa de Moscú (MOEX)
Hoy utilizaremos un enfoque comercial de cuadrícula con órdenes stop pendientes en un asesor experto en el lenguaje de estrategias comerciales MQL5 para MetaTrader 5 en la Bolsa de Moscú (MOEX). Al comerciar en el mercado, una de las estrategias más simples consiste en colocar una cuadrícula de órdenes diseñada para "atrapar" el precio del mercado.
Vista del Análisis Técnico en el contexto de Sistemas de Control Automáticos (SCA), o "Vista inversa".
El artículo demuestra una vista alternativa del análisis técnico, que se basa en los principios de la teoría del control automático moderno y el análisis técnico en sí. Es un artículo introductorio representando la teoría con algunas aplicaciones prácticas.
Red neuronal en la práctica: Recta secante
Como se explicó en la parte teórica, necesitamos usar regresiones lineales y derivadas cuando trabajamos con redes neuronales. ¿Pero por qué? La razón es que la regresión lineal es una de las fórmulas más simples que existen. Básicamente, una regresión lineal es solo una función afín. Sin embargo, cuando hablamos de redes neuronales, no nos interesan los efectos de la recta de regresión lineal. Lo que nos interesa es la ecuación que genera dicha recta. La recta generada poco importa. ¿Pero sabes cuál es la ecuación principal que hay que comprender? Si no, lee este artículo para empezar a comprenderlo.
Redes neuronales: así de sencillo (Parte 35): Módulo de curiosidad intrínseca (Intrinsic Curiosity Module)
Seguimos analizando los algoritmos de aprendizaje por refuerzo. Todos los algoritmos que hemos estudiado hasta ahora requerían la creación de una política de recompensas tal que el agente pudiera evaluar cada una de sus acciones en cada transición de un estado del sistema a otro, pero este enfoque resulta bastante artificial. En la práctica, existe cierto tiempo de retraso entre la acción y la recompensa. En este artículo, le sugerimos que se familiarice con un algoritmo de entrenamiento de modelos que puede funcionar con varios retrasos de tiempo desde la acción hasta la recompensa.
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.
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.