

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.


Use los canales y chats grupales de MQL5.community
En el sitio web MQL5.com podrá encontrar tráders de todo el mundo: estos publican artículos, códigos gratuitos y productos en el Mercado, ejecutan trabajos en freelance y codifican señales comerciales. Podrá relacionarse con ellos en el foro, los chats de tráders y los canales de MetaTrader.


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 ser un mejor programador (parte 07): Apuntes para convertirse en un desarrollador freelance exitoso
¿Desea convertirse en un desarrollador freelance de éxito en MQL5? Si la respuesta es sí, este artículo es justo para usted.

Programamos una red neuronal profunda desde cero usando el lenguaje MQL
El objetivo de este artículo es enseñar al lector cómo crear una red neuronal profunda desde cero utilizando el lenguaje MQL4/5.


Gráficos en la biblioteca DoEasy (Parte 85): Colección de objetos gráficos - añadiendo los objetos nuevamente creados
En este artículo, finalizaremos la creación de las clases herederas de la clase de objeto gráfico abstracto y comenzaremos a implementar el almacenamiento de estos objetos en la clase de colección. En concreto, crearemos la funcionalidad necesaria para añadir los objetos gráficos estándar recién creados a la clase de colección.


Cómo ser un mejor programador (parte 06): 9 hábitos que conducen a una codificación eficaz
La escritura de código no siempre redunda en el dominio de una codificación efectiva. Hay ciertos hábitos que he desarrollado gracias a la experiencia, y que nos ayudan a codificar con mayor eficacia. En el presente artículo, analizaremos con detalle algunos de ellos. Este es un artículo de lectura obligada para aquellos programadores que quieran lograr escribir algoritmos complejos con menos molestias.

Gestionando el Horario (Parte 2): Funciones
Determinando la compensación del bróker y la hora GMT de forma automática. En lugar de pedir ayuda a su bróker, de quien probablemente recibirá una respuesta insuficiente (quién estaría dispuesto a explicar dónde se ha metido la hora faltante), simplemente nos fijaremos en cómo estos calculan sus precios en las semanas de cambio horario, pero evitando engorrosos cálculos manuales: un programa se encargará de ello, después de todo, ¿para qué tenemos un PC?


Gráficos en la biblioteca DoEasy (Parte 84): Clases herederas del objeto gráfico abstracto estándar
En este artículo, analizaremos la creación de las clases herederas del objeto gráfico abstracto estándar del terminal. El objeto de esta clase describirá las propiedades comunes para todos los objetos gráficos, es decir, se tratará simplemente de un cierto objeto gráfico. Para aclarar su pertenencia a un objeto gráfico real, necesitaremos heredar de él, y en la clase del objeto heredado, escribir las propiedades inherentes a ese objeto gráfico en particular.

Gestionando el Horario (Parte 1): Fundamentos
Funciones y fragmentos de código que simplifican y aclaran el manejo del tiempo, la diferencia con el bróker y los cambios en el horario de verano o invierno. La sincronización precisa puede ser un elemento crucial en el trading. A la hora actual, ¿la bolsa de valores de Londres o Nueva York está ya abierta o sigue cerrada? ¿Cuándo comienza y finaliza el horario comercial para el trading en Fórex? Para un tráder que comercia de forma manual y en vivo, esto no supone un gran problema.


Cómo ser un mejor programador (parte 05): Aprendiendo a desarrollar más rápido
Sin duda, todo desarrollador querría escribir código más rápido; por eso, le agradará saber que la capacidad de codificar de forma más rápida y eficaz no es algo con lo que solo nazcan unas pocas personas, es una habilidad que se puede adquirir. Eso es lo que intentaremos trabajar en el artículo de hoy.


Gráficos en la biblioteca DoEasy (Parte 83): Clase de objeto gráfico abstracto estándar
En el presente artículo, crearemos la clase de objeto gráfico abstracto. Este objeto constituirá la base para crear las clases de objetos gráficos estándar. Los objetos gráficos tienen muchas propiedades y hoy, antes de crear una clase de objeto gráfico abstracto, necesitaremos hacer mucho trabajo preparatorio: registrar estas propiedades en las enumeraciones de la biblioteca.

Perceptrón Multicapa y Algoritmo de Retropropagación (Parte II): Implementación en Python e integración en MQL5
Se ha puesto a disposición un paquete de Python con el propósito de desarrollar la integración en MQL, lo que abre las puertas a numerosas posibilidades como la exploración de datos, la creación y el uso de modelos de aprendizaje automático. Esta integración nativa de MQL5 en Python abre las puertas a muchas posibilidades de uso que nos permiten construir desde una simple regresión lineal a un modelo de aprendizaje profundo. Entendamos cómo instalar y preparar el entorno de desarrollo y usar algunas de las bibliotecas de aprendizaje automático.

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.

Análisis de spread Bid/Ask en MetaTrader 5
Un indicador para informar de los niveles de spread Bid/Ask de sus brókeres. Ahora podremos usar los datos de ticks de MT5 para analizar cuál ha sido realmente el promedio histórico real del spread Bid/Ask reciente. No deberíamos necesitar mirar el spread actual, porque está disponible si mostramos las líneas de precio Bid/Ask.


Combinatoria y teoría de la probabilidad en el trading (Parte III): Primer modelo matemático
Como continuación lógica del tema, hoy analizaremos la necesidad de desarrollar modelos matemáticos multifuncionales para las tareas comerciales. En este sentido, el presente artículo describirá el proceso completo de desarrollo del primer modelo matemático para describir fractales desde cero. Dicho modelo debería convertirse en un componente importante, además de ser multifuncional y universal, incluso a la hora de sentar las bases teóricas para el futuro desarrollo de la rama.


Gráficos en la biblioteca DoEasy (Parte 82): Refactorización de los objetos de la biblioteca y colección de objetos gráficos
En el presente artículo, mejoraremos todos los objetos de la biblioteca: para ello, asignaremos a cada objeto su tipo único y continuaremos desarrollando la clase de colección de objetos gráficos de la biblioteca.


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.


Cómo ser un mejor programador (parte 04): Aprendiendo a desarrollar más rápido
Todo desarrollador quiere poder escribir código más rápido, y eso no es algo tan difícil de conseguir: debemos saber que codificar de forma más rápida y eficaz no es un tipo de habilidad especial con la que nazcan solo unas pocas personas. Es una habilidad que todos los codificadores pueden aprender, independientemente de la experiencia acumulada con el teclado.


Gráficos en la biblioteca DoEasy (Parte 81): Integrando gráficos en los objetos de la biblioteca
Vamos a comenzar a integrar los objetos gráficos ya creados en el resto de objetos de la biblioteca creados previamente, lo que finalmente dotará a cada objeto de biblioteca de su propio objeto gráfico, permitiendo al usuario interactuar con el programa.


Cómo ser un mejor programador (parte 03): 5 cosas que evitar para convertirse en un programador exitoso de MQL5
Este es un artículo de lectura obligada para todo aquel que quiera mejorar su carrera como programador. Esta serie de artículos tiene como objetivo hacer de usted el mejor programador posible, sin importar la experiencia que tenga. Las ideas debatidas funcionan tanto para principiantes como para profesionales de la programación en MQL5.


Gráficos en la biblioteca DoEasy (Parte 80): Clase de objeto "Fotograma de animación geométrica"
En este artículo, optimizaremos el código de las clases de los artículos anteriores y crearemos una clase de objeto de fotograma de animación geométrica que nos permitará dibujar polígonos regulares con un número determinado de vértices.


Cómo ser un mejor programador (parte 02): 5 cosas que evitar para convertirse en un programador exitoso de MQL5
Este es un artículo de lectura obligada para cualquiera que desee mejorar su carrera como programador. Esta serie de artículos tiene como objetivo convertirlo a usted en el mejor programador posible, sin importar la experiencia que tenga. Las ideas analizadas funcionan tanto para principiantes como para profesionales de la programación en MQL5.


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.


Cómo ser un mejor programador (parte 01): 5 cosas que evitar para convertirse en un programador exitoso de MQL5
Hay muchos malos hábitos que impiden a los programadores principiantes e incluso avanzados sacar el cien por cien de rendimiento a su carrera de codificación. En este artículo, discutiremos y abordaremos dichos hábitos. El presente material es una lectura obligada para todos aquellos que quieran convertirse en desarrolladores exitosos en MQL5.


Gráficos en la biblioteca DoEasy (Parte 78): Fundamentos de animación en la biblioteca. Cortando las imágenes
En el artículo, definiremos los principios de animación que se usarán en algunas partes de la biblioteca, y también desarrollaremos una clase para copiar una parte de una imagen y pegarla en un lugar específico del objeto de formulario, con la posibilidad de guardar y restaurar la parte del fondo del formulario sobre la que se superpondrá la imagen.


Patrones con ejemplos (Parte I): Pico múltiple
El artículo inicia un ciclo de análisis de patrones de reversión en el marco del trading algorítmico. Comenzaremos la idea examinando la primera y más interesante familia entre estos patrones, originada a partir de los patrones Double Top y Double Bottom.


Gráficos en la biblioteca DoEasy (Parte 77): Clase de objeto Sombra
En el presente artículo, vamos a crear la clase para el objeto de sombra, que es heredero del objeto de elemento gráfico. Asimismo, añadiremos la posibilidad de rellenar el fondo del objeto con relleno en gradiente.


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.

Análisis de clústeres (Parte I): Usando la inclinación de las líneas de indicador
El análisis de clústeres es uno de los elementos más importantes de la inteligencia artificial. En este artículo, trataremos de aplicar el análisis de inclinación del clúster del indicador para obtener valores de umbral que nos ayuden a determinar la naturaleza plana o de tendencia del mercado.


Gráficos en la biblioteca DoEasy (Parte 75): Métodos de trabajo con primitivas y texto en el elemento gráfico básico
En el presente artículo, continuaremos el desarrollo de la clase de elemento gráfico de todos los elementos gráficos de la biblioteca creados sobre la base de la Biblioteca Estándar CCanvas. En concreto, crearemos los métodos para dibujar las primitivas gráficas y los métodos para mostrar el texto en un objeto de elemento gráfico.


Gráficos en la biblioteca DoEasy (Parte 74): Elemento gráfico básico sobre la clase CCanvas
En esta ocasión, vamos a revisar el concepto de construcción de objetos gráficos del artículo anterior y a preparar una clase básica para todos los objetos gráficos de la biblioteca creados sobre la base de la clase CCanvas de la Biblioteca Estándar.

Combinatoria y teoría de la probabilidad en el trading (Parte I): Fundamentos
En esta serie de artículos, buscaremos una aplicación práctica de la teoría de probabilidad para describir el proceso del trading y la fijación de los precios. En el primer artículo, nos familiarizaremos con los conceptos básicos de la combinatoria y la teoría de probabilidad, y analizaremos el primer ejemplo de la aplicación de fractales dentro de la teoría de probabilidad.


Gráficos en la biblioteca DoEasy (Parte 73): Objeto de formulario del elemento gráfico
En el presente artículo, iniciaremos un nuevo apartado del trabajo con gráficos. En esta ocasión, vamos a crear el objeto de estado del ratón, el objeto básico de todos los elementos gráficos y la clase de objeto de formulario de los elementos gráficos de la biblioteca.


Otras clases en la biblioteca DoEasy (Parte 72): Seguimiento y registro de parámetros de los objetos de gráfico en la colección
En el presente artículo, finalizaremos el trabajo con las clases de los objetos de gráfico y sus colecciones. Implementaremos el seguimiento automático del cambio de las propiedades de los gráficos y sus ventanas, y también el almacenamiento de los parámetros en las propiedades del objeto. Estas mejoras nos permitirán en el futuro crear una funcionalidad de eventos para la colección de gráficos al completo.


Consejos de un programador profesional (parte II): Organizando el almacenamiento y el intercambio de parámetros entre el experto, los scripts y los programas externos
Consejos de un programador profesional sobre métodos, técnicas y herramientas auxiliares para facilitar la programación. En esta ocasión, hablaremos de los parámetros que podemos restaurar tras reiniciar (cerrar) el terminal. Todos los ejemplos son en realidad trozos del código operativo del proyecto Cayman del propio autor.


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.


Otras clases en la biblioteca DoEasy (Parte 70): Ampliación de la funcionalidad y actualización automática de la colección de objetos de gráfico
En este artículo, ampliaremos la funcionalidad de los objetos de gráfico, organizaremos la navegación por los gráficos, crearemos capturas de pantalla, y también guardaremos plantillas y las aplicaremos a los gráficos. Asimismo, implementaremos la actualización automática de la colección de objetos de gráfico, sus ventanas y los indicadores en ellas.


Swaps (parte I) : Bloqueo de posiciones y posiciones sintéticas
En este artículo intentaremos expandir el concepto clásico de los métodos de swap en el comercio, y también hablaremos sobre por qué hemos llegado a la conclusión de que este concepto merece una atención especial y es absolutamente recomendable para el análisis y el estudio.

Consejos de un programador profesional (parte I): guardado, depuración y compilación de códigos. Trabajando con proyectos y logs
Consejos de un programador profesional sobre métodos, técnicas y herramientas auxiliares para facilitar la programación.