Discusión sobre el artículo "Introducción a MQL5 (Parte 7): Guía para principiantes sobre cómo crear asesores expertos y utilizar código generado por IA en MQL5"
Echa un vistazo al nuevo artículo: Introducción a MQL5 (Parte 7): Guía para principiantes para crear asesores expertos y utilizar código generado por IA en MQL5.
Autor: Israel Pelumi Abioye
Esclarecedora información, señor, muchas gracias.
Gracias por su gran trabajo.
OK, veo el Foro MQL5, ¿hay algún otro, algo digno de mención? Gracias.
Hola Oluwatosin, estoy deseando compartir la siguiente parte contigo. Si tienes alguna pregunta sobre el artículo, no dudes en ponerte en contacto conmigo.
¿Y por qué una guía para principiantes les enseñaría inmediatamente a codificar de forma incorrecta?
En primer lugar, hay problemas de eficiencia que se harán notar en cuanto una persona empiece a escribir algo un poco más complejo y realista (pero siga utilizando la misma técnica). En cada tick, se llama tres veces a una conversión StringToTime de las mismas cadenas. Sería posible limpiar para la IA - hacer la conversión una vez en variables globales:
input string Alarm1 = "00:00:00"; // Valor por defecto para la primera alarma input string Alarm2 = "00:00:00"; // Valor por defecto para la segunda alarma input string Alarm3 = "00:00:00"; // Valor por defecto para la tercera alarma input string Sound = "alert.wav"; // Archivo de sonido predeterminado // Definir globales para valores persistentes datetime first_Alarm, second_Alarm, third_Alarm; int OnInit() { // Función de inicialización, ejecutada una vez al lanzar el EA // Realizar las conversiones sólo una vez por entrada first_Alarm = StringToTime(Alarm1); second_Alarm = StringToTime(Alarm2); third_Alarm = StringToTime(Alarm3); return 0; // Devuelve 0 para indicar que la inicialización se ha realizado correctamente } void OnTick() { // Obtener la hora local actual datetime Time = TimeLocal(); // Comprueba si la hora actual coincide con alguna de las horas de alarma if(first_Alarm == Time || second_Alarm == Time || third_Alarm == Time) // otro error lógico aquí (véase más abajo) { // Reproducir sonido si se alcanza alguna hora de alarma PlaySound(Sound); } }
En segundo lugar, no hay garantía de que los tiempos de tick coincidan con los tiempos de alerta dados - lo más probable es que este código los pase por alto en los tiempos if. E incluso si hubiéramos hecho comprobaciones en el manejador OnTimer, no garantizaría que "pilláramos" los momentos necesarios, porque todos los eventos (OnTick, OnTimer, etc.) vienen de la cola, que se vacía lo más rápido posible, pero puede ralentizarse si algún otro programa está haciendo cálculos pesados. Por lo tanto, la condición de comprobar la ocurrencia de alertas debe ser reescrita a fondo, y al menos sin variables adicionales no es posible (en el futuro, se sugiere rehacer las alertas bajo clases, pero por supuesto no en este artículo).
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Usted acepta la política del sitio web y las condiciones de uso
Artículo publicado Introducción a MQL5 (Parte 7): Guía para principiantes sobre cómo crear asesores expertos y utilizar código generado por IA en MQL5:
Descubra la guía definitiva para principiantes sobre cómo crear asesores expertos (Expert Advisors, EAs) con MQL5 en nuestro artículo completo. Aprenda paso a paso cómo construir EA usando pseudocódigo y aprovechar el poder del código generado por IA. Ya sea que sea nuevo en el comercio algorítmico o busque mejorar sus habilidades, esta guía proporciona un camino claro para crear EA efectivos.
Aprender todos los aspectos de MQL5 a la vez puede resultar abrumador. En cambio, centrarse en proyectos puede hacer que el proceso de aprendizaje sea más manejable y agradable. Comience por dominar conceptos fundamentales como variables, bucles, condiciones, funciones y todos los demás conceptos básicos discutidos en artículos anteriores. Una vez que tengas un dominio sólido de estos conceptos básicos, comienza a explorar proyectos que te interesen, como crear Expert Advisors o indicadores personalizados. Cada proyecto en el que trabajes presentará nuevos desafíos y te enseñará lecciones invaluables. A través del aprendizaje basado en proyectos, puedes poner en práctica tus conocimientos teóricos en escenarios del mundo real, lo que te ayudará a comprender mejor las complejidades de MQL5. Adquirirás progresivamente los conocimientos y las habilidades necesarias para manejar la complejidad de la programación MQL5 a medida que trabajes en una variedad de proyectos.
Aceptar este método de aprendizaje te da la capacidad de avanzar como programador de manera constante y segura. En lugar de sentirse intimidado por la inmensidad de MQL5, lo abordará proyecto por proyecto, aumentando gradualmente su competencia. Por lo tanto, acepte el aprendizaje basado en proyectos; es la forma más confiable de dominar MQL5. Decidí utilizar el aprendizaje basado en proyectos a lo largo de esta serie debido a su eficacia. En lugar de lanzarte de cabeza a las complejidades de MQL5, nos centraremos en proyectos prácticos que te permitan aprender a través de la experiencia. Trabajar en proyectos del mundo real le ayudará a comprender mejor el tema y desarrollar habilidades útiles que mejorarán sus estrategias comerciales.
Comenzaremos con proyectos básicos, aptos para principiantes, y avanzaremos hasta otros más complejos. Si sigue este enfoque metódico, podrá asegurarse de tener una comprensión sólida de la programación MQL5 antes de avanzar a temas más complejos. Adquirirás nuevas habilidades e ideas con cada proyecto, lo que te ayudará a mejorar gradualmente. El proyecto en el que trabajaremos en este artículo actuará como un ejemplo práctico del procedimiento secuencial para generar asesores expertos en MQL5. También analizaremos cómo optimizar los beneficios del código generado por IA en el contexto de MQL5.
Autor: Israel Pelumi Abioye