![DoEasy. Elementos de control (Parte 26): Mejoramos el objeto WinForms "ToolTip" y comenzamos a desarrollar "ProgressBar"](https://c.mql5.com/2/50/doeasy_026_600x314.jpg)
DoEasy. Elementos de control (Parte 26): Mejoramos el objeto WinForms "ToolTip" y comenzamos a desarrollar "ProgressBar"
En este artículo, completaremos el desarrollo del control ToolTip y comenzaremos a desarrollar el objeto WinForms ProgressBar. A medida que trabajemos en los objetos, desarrollaremos una funcionalidad universal para animar los controles y sus componentes.
![Medimos la informatividad de los indicadores](https://c.mql5.com/2/51/Measuring_Indicator_Information_600x314.jpg)
Medimos la informatividad de los indicadores
El aprendizaje automático se ha convertido en una técnica popular de desarrollo de estrategias. Por lo general, en el trading se presta más atención a la maximización de la rentabilidad y la precisión de los pronósticos. Al mismo tiempo, el procesamiento de los datos utilizados para la construcción de los modelos predictivos permanece en la periferia. En este artículo, analizaremos el uso del concepto de entropía para evaluar la idoneidad de los indicadores en la construcción de modelos predictivos, como se describe en el libro «Testing and Tuning Market Trading Systems» de Timothy Masters.
![Gráficos en la biblioteca DoEasy (Parte 98): Desplazamiento de los puntos de anclaje de los objetos gráficos estándar ampliados](https://c.mql5.com/2/49/doeasy_098_600x314.jpg)
Gráficos en la biblioteca DoEasy (Parte 98): Desplazamiento de los puntos de anclaje de los objetos gráficos estándar ampliados
En el presente artículo, continuaremos el desarrollo de los objetos gráficos estándar extendidos, y crearemos la funcionalidad necesaria para desplazar los puntos de pivote de los objetos gráficos compuestos usando los puntos de control para gestionar las coordenadas de los puntos de pivote del objeto gráfico.
![DoEasy. Elementos de control (Parte 10): Objetos WinForms: dando vida a la interfaz](https://c.mql5.com/2/49/doeasy_010_600x314.jpg)
DoEasy. Elementos de control (Parte 10): Objetos WinForms: dando vida a la interfaz
Ha llegado el momento de revitalizar la interfaz gráfica de usuario, haciendo que los objetos interactúen con el usuario y otros objetos. Y para que los objetos más complejos funcionen correctamente, necesitaremos una funcionalidad que permita a los objetos interactuar entre sí y con el usuario.
![Algoritmos de optimización de la población: Algoritmo electromagnético (ElectroMagnetism-like algorithm, ЕМ)](https://c.mql5.com/2/52/ElectroMagnetism-like_algorithm_mx_600x314.jpg)
Algoritmos de optimización de la población: Algoritmo electromagnético (ElectroMagnetism-like algorithm, ЕМ)
El artículo describe los principios, métodos y posibilidades del uso del algoritmo electromagnético (EM) en diversos problemas de optimización. El algoritmo EM es una herramienta de optimización eficiente capaz de trabajar con grandes cantidades de datos y funciones multidimensionales.
![Desarrollo de un factor de calidad para los EAs](https://c.mql5.com/2/55/Desenvolvendo_um_fator_de_qualidade_para_os_EAs_600x314.jpg)
Desarrollo de un factor de calidad para los EAs
En este artículo, te explicaremos cómo desarrollar un factor de calidad que tu Asesor Experto (EA) pueda mostrar en el simulador de estrategias. Te presentaremos dos formas de cálculo muy conocidas (Van Tharp y Sunny Harris).
![Implementando el factor Janus en MQL5](https://c.mql5.com/2/53/Implementing_the_Janus_factor_in_MQL5_600x314__1.jpg)
Implementando el factor Janus en MQL5
Gary Anderson desarrolló un método de análisis de mercado basado en una teoría que denominó el factor Janus. La teoría describe un conjunto de indicadores que se pueden usar para identificar tendencias y evaluar el riesgo de mercado. En este artículo, implementaremos dichas herramientas en MQL5.
![DoEasy. Elementos de control (Parte 13): Optimizando la interacción de los objetos WinForms con el ratón. Comenzamos el desarrollo del objeto WinForms TabControl](https://c.mql5.com/2/49/doeasy_013_600x314.jpg)
DoEasy. Elementos de control (Parte 13): Optimizando la interacción de los objetos WinForms con el ratón. Comenzamos el desarrollo del objeto WinForms TabControl
En el presente artículo, corregiremos y optimizaremos el procesamiento de la apariencia de los objetos WinForms después de mover el cursor del ratón lejos del objeto y comenzaremos a desarrollar el objeto TabControl WinForms.
![DoEasy. Elementos de control (Parte 6): Control Panel, cambio automático del tamaño del contenedor según el contenido interno](https://c.mql5.com/2/49/doeasy_006_600x314.jpg)
DoEasy. Elementos de control (Parte 6): Control Panel, cambio automático del tamaño del contenedor según el contenido interno
En este artículo, continuaremos trabajando en el control "Panel" del objeto WinForms e implementaremos su cambio automático de tamaño según las dimensiones generales de los objetos Dock colocados dentro del panel. Además, añadiremos nuevas propiedades al objeto de biblioteca "Símbolo".
![DoEasy. Elementos de control (Parte 28): Estilos de barra en el control «ProgressBar»](https://c.mql5.com/2/50/doeasy_028_600x314.jpg)
DoEasy. Elementos de control (Parte 28): Estilos de barra en el control «ProgressBar»
El artículo desarrollará los estilos de visualización y el texto de descripción para la barra de progreso del control ProgressBar.
![Transacciones comerciales. Estructuras de solicitud y respuesta, descripción y registro.](https://c.mql5.com/2/57/printformat_trading_transactions_600x314.jpg)
Transacciones comerciales. Estructuras de solicitud y respuesta, descripción y registro.
En el presente artículo veremos cómo trabajar con las estructuras de las solicitudes comerciales: la creación de una solicitud, su verificación preliminar antes de enviarla al servidor, la respuesta del servidor a una solicitud comercial y la estructura de las transacciones comerciales. Asimismo, crearemos funciones simples y cómodas para enviar órdenes comerciales al servidor y, basándonos en todo lo discutido, y también crearemos un asesor-informante sobre las transacciones comerciales.
![Trabajando con las series temporales en la biblioteca DoEasy (Parte 58): Series temporales de los datos de búferes de indicadores](https://c.mql5.com/2/49/doeasy_058_600x314.jpg)
Trabajando con las series temporales en la biblioteca DoEasy (Parte 58): Series temporales de los datos de búferes de indicadores
En conclusión del tema de trabajo con series temporales, vamos a organizar el almacenamiento, la búsqueda y la ordenación de los datos que se guardan en los búferes de indicadores. En el futuro, eso nos permitirá realizar el análisis a base de los valores de los indicadores que se crean a base de la biblioteca en nuestros programas. El concepto general de todas las clases de colección de la biblioteca permite encontrar fácilmente los datos necesarios en la colección correspondiente, y por tanto, lo mismo también será posible en la clase que vamos a crear hoy.
![Aprendiendo MQL5 de principiante a profesional (Parte I): Comenzamos a programar](https://c.mql5.com/2/60/Introduction_to_programming_using_the_MQL5_language_600x314.jpg)
Aprendiendo MQL5 de principiante a profesional (Parte I): Comenzamos a programar
Este artículo supone la introducción a toda una serie de artículos sobre programación. Partimos del supuesto de que el lector no se ha enfrentado nunca a la programación. Así que empezaremos por lo básico. Nivel de conocimientos de programación: principiante absoluto.
![Gráficos en la biblioteca DoEasy (Parte 99): Desplazando un objeto gráfico extendido con un punto de control](https://c.mql5.com/2/49/doeasy_099_600x314.jpg)
Gráficos en la biblioteca DoEasy (Parte 99): Desplazando un objeto gráfico extendido con un punto de control
En el último artículo, implementamos la posibilidad de desplazar los puntos de control de un objeto gráfico extendido usando formularios de gestión. Ahora vamos a desplazar el objeto gráfico compuesto usando un punto (formulario) para gestionar el objeto gráfico.
![Algoritmos de optimización de la población: Algoritmo de siembra y crecimiento de árboles (Saplings Sowing and Growing up — SSG)](https://c.mql5.com/2/52/growing-trees_600x314.jpg)
Algoritmos de optimización de la población: Algoritmo de siembra y crecimiento de árboles (Saplings Sowing and Growing up — SSG)
El algoritmo de siembra y crecimiento de árboles (SSG) está inspirado en uno de los organismos más resistentes del planeta, que es un ejemplo notable de supervivencia en una amplia variedad de condiciones.
![DoEasy. Elementos de control (Parte 24): El objeto auxiliar WinForms "Pista"](https://c.mql5.com/2/50/doeasy_024_600x314.jpg)
DoEasy. Elementos de control (Parte 24): El objeto auxiliar WinForms "Pista"
En este artículo, elaboraremos nuevamente la lógica de especificación de los objetos principal y básico para todos los objetos de la biblioteca WinForms; asimismo, desarrollaremos el nuevo objeto básico "Pista" y varias de sus clases derivadas para indicar la posible dirección de movimiento de la línea separadora.
![Cómo desarrollar un agente de aprendizaje por refuerzo en MQL5 con integración RestAPI (Parte 4): Organización de funciones en clases en MQL5](https://c.mql5.com/2/64/Desenvolvendo_um_agente_de_Aprendizado_por_Reforso_em_MQL5_com_Integraddo_RestAPI_gParte_4e_Organiza.jpg)
Cómo desarrollar un agente de aprendizaje por refuerzo en MQL5 con integración RestAPI (Parte 4): Organización de funciones en clases en MQL5
Este artículo examina la transición de la codificación procedimental a la programación orientada a objetos (POO) en MQL5, enfocándose en la integración con REST APIs. Discutimos la organización de funciones de solicitudes HTTP (GET y POST) en clases y destacamos ventajas como el encapsulamiento, la modularidad y la facilidad de mantenimiento. La refactorización de código se detalla, y se muestra la sustitución de funciones aisladas por métodos de clases. El artículo incluye ejemplos prácticos y pruebas.
![DoEasy. Elementos de control (Parte 8): Objetos básicos WinForms por categorías, controles "GroupBox" y "CheckBox](https://c.mql5.com/2/49/doeasy_008_600x314.jpg)
DoEasy. Elementos de control (Parte 8): Objetos básicos WinForms por categorías, controles "GroupBox" y "CheckBox
En este artículo, veremos la creación de los objetos WinForms "GroupBox" y "CheckBox", y crearemos los objetos básicos para las categorías de los objetos WinForms. Todos los objetos que hemos creado hasta ahora son estáticos, es decir, no tienen ninguna funcionalidad para interactuar con el ratón.
![DoEasy. Controles (Parte 23): mejorando los objetos WinForms TabControl y SplitContainer](https://c.mql5.com/2/50/Do_Easy_Part_23_600x314.jpg)
DoEasy. Controles (Parte 23): mejorando los objetos WinForms TabControl y SplitContainer
En este artículo, añadiremos los nuevos eventos de ratón respecto a los límites de los espacios de trabajo WinForms, y también corregiremos algunos errores en los controles TabControl y SplitContainer.
![Plantillas listas para conectar indicadores en asesores (Parte 1): Osciladores](https://c.mql5.com/2/57/ready_made_templates_for_connecting_indicators_001_600x314.jpg)
Plantillas listas para conectar indicadores en asesores (Parte 1): Osciladores
En este artículo analizaremos los indicadores estándar de la categoría de osciladores. Asimismo, crearemos plantillas listas para su uso en asesores: declaración y configuración de parámetros, inicialización y desinicialización de indicadores, y también obtención de datos y señales de los búferes de indicador en asesores.
![Teoría de categorías en MQL5 (Parte 4): Intervalos, experimentos y composiciones](https://c.mql5.com/2/52/Category-Theory-p4_600x314.jpg)
Teoría de categorías en MQL5 (Parte 4): Intervalos, experimentos y composiciones
La teoría de categorías es una rama de las matemáticas diversa y en expansión, relativamente inexplorada aún en la comunidad MQL5. Esta serie de artículos tiene como objetivo describir algunos de sus conceptos para crear una biblioteca abierta y seguir utilizando esta maravillosa sección para crear estrategias comerciales.
![Teoría de Categorías en MQL5 (Parte 10): Grupos monoidales](https://c.mql5.com/2/55/Category_Theory_Part_10_600x314.jpg)
Teoría de Categorías en MQL5 (Parte 10): Grupos monoidales
El presente artículo continúa la serie sobre la implementación de la teoría de categorías en MQL5. Hoy analizaremos los grupos monoidales como un medio que normaliza conjuntos de monoides y los hace más comparables entre una gama más amplia de conjuntos de monoides y tipos de datos.
![Desarrollo de un sistema de repetición — Simulación de mercado (Parte 17): Ticks y más ticks (I)](https://c.mql5.com/2/55/replay-p17_600x314.jpg)
Desarrollo de un sistema de repetición — Simulación de mercado (Parte 17): Ticks y más ticks (I)
Aquí vamos a empezar a ver cómo implementar algo realmente interesante y curioso. Pero al mismo tiempo, es extremadamente complicado debido a algunas cuestiones que muchos confunden. Y lo peor que puede pasar es que algunos operadores que se autodenominan profesionales no tienen idea de la importancia de estos conceptos en el mercado de capitales. Sí, a pesar de que el enfoque aquí es la programación, comprender algunas cuestiones relacionadas con las operaciones en los mercados es de suma importancia para lo que vamos a empezar a implementar aquí.
![Desarrollo de un sistema de repetición (Parte 41): Inicio de la segunda fase (II)](https://c.mql5.com/2/65/Desenvolvendo_um_sistema_de_Replay_pParte_417_600x314.jpg)
Desarrollo de un sistema de repetición (Parte 41): Inicio de la segunda fase (II)
Si hasta ahora todo te ha parecido correcto, significa que no estás pensando realmente a largo plazo. Donde empiezas a desarrollar aplicaciones y, con el tiempo, ya no necesitas programar nuevas aplicaciones. Solo tienes que conseguir que trabajen juntos. Veamos cómo terminar de montar el indicador del ratón.
![DoEasy. Elementos de control (Parte 31): Desplazamiento por el contenido del control "ScrollBar"](https://c.mql5.com/2/51/doeasy_031_600x314.jpg)
DoEasy. Elementos de control (Parte 31): Desplazamiento por el contenido del control "ScrollBar"
En este artículo, crearemos la funcionalidad necesaria para desplazar el contenido del contenedor usando los botones de la barra de desplazamiento horizontal.
![Indicadores basados en la clase CCanvas: Rellenando canales con transparencia](https://c.mql5.com/2/52/filling-channels_600x314.jpg)
Indicadores basados en la clase CCanvas: Rellenando canales con transparencia
En este artículo, analizaremos métodos utilizados para crear indicadores personalizados que se dibujan con la ayuda de la clase CCanvas de la Biblioteca estándar, y también consideraremos las propiedades de los gráficos para transformar coordenadas. Prestaremos especial atención a los indicadores que rellenan de transparencia el área entre las dos líneas.
![Desarrollo de un sistema de repetición (Parte 38): Pavimentando el terreno (II)](https://c.mql5.com/2/61/Replay_Parte_38_Pavimentando_o_Terreno_600x314.jpg)
Desarrollo de un sistema de repetición (Parte 38): Pavimentando el terreno (II)
Muchas personas que se hacen llamar programadores de MQL5 no tienen los conocimientos básicos que presentaré en este artículo. Muchos consideran que MQL5 es limitado; sin embargo, todo se debe a la falta de conocimientos. Así que no te avergüences de no saber. Avergüénzate, en cambio, de no preguntar. El simple hecho de obligar a MetaTrader 5 a no permitir que un indicador se duplique, en ningún caso nos da los medios para realizar una comunicación bidireccional entre el indicador y el Expert Advisor. Todavía estamos muy lejos de esto. No obstante, el hecho de que el indicador no se duplique en el gráfico nos da cierta tranquilidad.
![Trabajando con los precios en la biblioteca DoEasy (Parte 61): Colección de series de tick de los símbolos](https://c.mql5.com/2/41/MQL5-avatar-doeasy-library__5.png)
![Trabajando con los precios en la biblioteca DoEasy (Parte 61): Colección de series de tick de los símbolos](https://c.mql5.com/i/articles/overlay.png)
Trabajando con los precios en la biblioteca DoEasy (Parte 61): Colección de series de tick de los símbolos
Dado que el programa puede utilizar varios símbolos, entonces, es necesario crear su propia lista para cada uno de estos símbolos. En este artículo, vamos a combinar estas listas en una colección de datos de tick. En realidad, se trata de una lista común a base de la clase de la matriz dinámica de punteros a las instancias de la clase CObject y sus herederos de la Biblioteca estándar.
![Desarrollo de un sistema de repetición — Simulación de mercado (Parte 05): Vistas previas](https://c.mql5.com/2/53/replay-p5_600x314.jpg)
Desarrollo de un sistema de repetición — Simulación de mercado (Parte 05): Vistas previas
Hemos logrado desarrollar una forma de ejecutar la repetición de mercado de manera bastante realista y aceptable. Ahora, vamos a continuar con nuestro proyecto y agregar datos para mejorar el comportamiento de la repetición.
![Estructuras en MQL5 y métodos para imprimir sus datos](https://c.mql5.com/2/57/formatro_series_mqlformat_600x314.jpg)
Estructuras en MQL5 y métodos para imprimir sus datos
En este artículo veremos las estructuras MqlDateTime, MqlTick, MqlRates, MqlBookInfo y los métodos para imprimir datos desde estas estructuras. Para imprimir todos los campos de una estructura, existe la función estándar ArrayPrint(), que muestra en un cómodo formato tabular los datos contenidos en un array con el tipo de estructura que se está procesando.
![Algoritmos de optimización de la población: Algoritmo Mind Evolutionary Computation (Computación Evolutiva Mental, (MEC)](https://c.mql5.com/2/58/Mind-Evolutionary-Computation_600x314.jpg)
Algoritmos de optimización de la población: Algoritmo Mind Evolutionary Computation (Computación Evolutiva Mental, (MEC)
En este artículo, analizaremos un algoritmo de la familia MEC llamado algoritmo MEC Simple de evolución mental (Simple MEC, SMEC). El algoritmo se caracteriza por la belleza de la idea expuesta y su sencillez de aplicación.
![Algoritmos de optimización de la población: Búsqueda por difusión estocástica (Stochastic Diffusion Search, SDS)](https://c.mql5.com/2/58/Miners_SDS-transformed_600x314.jpg)
Algoritmos de optimización de la población: Búsqueda por difusión estocástica (Stochastic Diffusion Search, SDS)
En este artículo veremos la búsqueda por difusión estocástica, o SDS, que es un algoritmo de optimización muy potente y eficiente basado en los principios del paseo aleatorio. El algoritmo puede encontrar soluciones óptimas en espacios multidimensionales complejos, con una alta tasa de convergencia y la capacidad de evitar extremos locales.
![DoEasy. Elementos de control (Parte 2): Continuamos trabajando con la clase CPanel](https://c.mql5.com/2/49/doeasy_002_600x314.jpg)
DoEasy. Elementos de control (Parte 2): Continuamos trabajando con la clase CPanel
En este artículo, eliminaremos algunos errores que surgen al trabajar con los elementos gráficos y continuaremos desarrollando el control CPanel. Estos métodos servirán para establecer por defecto los parámetros de fuente usados para todos los objetos de texto en el panel, que a su vez podrán ser colocados en él en el futuro.
![Pruebas de permutación de Monte Carlo en MetaTrader 5](https://c.mql5.com/2/57/Monte_Carlo_Permutation-tests_MT5_600x314.jpg)
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.
![DoEasy. Elementos de control (Parte 15): Objeto WinForms TabControl - múltiples filas de encabezados de pestañas, métodos de trabajo con pestañas](https://c.mql5.com/2/49/doeasy_015_600x314.jpg)
DoEasy. Elementos de control (Parte 15): Objeto WinForms TabControl - múltiples filas de encabezados de pestañas, métodos de trabajo con pestañas
En este artículo, continuaremos desarrollando el objeto WinForm TabControl: hoy crearemos la clase de objeto de pestaña, haremos posible la disposición de los encabezados de las pestañas en varias filas y añadiremos los métodos para trabajar con las pestañas del objeto.
![DoEasy. Elementos de control (Parte 21): Elemento de control SplitContainer. Separador de paneles](https://c.mql5.com/2/49/doeasy_021_600x314.jpg)
DoEasy. Elementos de control (Parte 21): Elemento de control SplitContainer. Separador de paneles
En este artículo, crearemos una clase de objeto auxiliar de separador de paneles para el control SplitContainer.
![Plantillas listas para conectar indicadores en asesores (Parte 3): Indicadores de tendencia](https://c.mql5.com/2/58/trend_indicators_600x314.jpg)
Plantillas listas para conectar indicadores en asesores (Parte 3): Indicadores de tendencia
En este artículo de referencia, echaremos un vistazo a los indicadores estándar de la categoría de Indicadores de tendencia. Asimismo, crearemos plantillas listas para usar estos indicadores en asesores expertos: declaración y configuración de parámetros, inicialización y desinicialización de indicadores, y también obtención de datos y señales de los búferes de indicador en asesores.
![Integración de modelos ML con el simulador de estrategias (Conclusión): Implementación de un modelo de regresión para la predicción de precios](https://c.mql5.com/2/58/implementation_regression_model_600x314.jpg)
Integración de modelos ML con el simulador de estrategias (Conclusión): Implementación de un modelo de regresión para la predicción de precios
Este artículo describe la implementación de un modelo de regresión de árboles de decisión para predecir precios de activos financieros. Se realizaron etapas de preparación de datos, entrenamiento y evaluación del modelo, con ajustes y optimizaciones. Sin embargo, es importante destacar que el modelo es solo un estudio y no debe ser usado en operaciones reales.
![Plantillas listas para conectar indicadores en asesores (Parte 2): Indicadores de volumen y Bill Williams](https://c.mql5.com/2/58/Volume_Bill_Williams_indicators_600x314.jpg)
Plantillas listas para conectar indicadores en asesores (Parte 2): Indicadores de volumen y Bill Williams
En este artículo, veremos los indicadores estándar de la categoría de Volúmenes y los Indicadores de Bill Williams. Asimismo, crearemos plantillas listas para su uso en asesores: declaración y configuración de parámetros, inicialización y desinicialización de indicadores, y también obtención de datos y señales de los búferes de indicador en asesores.
![DoEasy. Elementos de control (Parte 30): Animando el elemento de control "ScrollBar"](https://c.mql5.com/2/51/doeasy_030_600x314.jpg)
DoEasy. Elementos de control (Parte 30): Animando el elemento de control "ScrollBar"
En este artículo, continuaremos desarrollando el control ScrollBar y comenzaremos a crear la funcionalidad de interacción con el ratón. Además, ampliaremos las listas de banderas de estado y eventos de ratón.