Discusión sobre el artículo "MQL5 - Tú también puedes convertirte en un maestro de este lenguaje" - página 2
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Yo mismo estoy recorriendo el camino ahora mismo, así que a continuación doy unas breves notas sobre el tema del artículo desde el punto de vista de un trader que quiere operar en los mercados financieros con Metatrader usando sus propios algos. Ten en cuenta que el objetivo principal del trader es operar, mientras que el del ingeniero de software es programar.
1. El mayor obstáculo será vadear el fango de la irrelevancia que hoy en día ha convertido el aprendizaje por Internet en un auténtico pantano. Encontrar buenas fuentes consumirá más tiempo y esfuerzo que aprender de las correctas una vez que las encuentres.
2. Los cursos de Udemy no son tan buenos (hablando desde la experiencia), sólo vale la pena comprarlos cuando están muy rebajados (10 euros o menos). Vídeos de Youtube: hay algunos canales que están bastante bien, si buscas cosas específicas. Algunos te dan sólo lo básico. Ninguno publica un curso sistemático que te enseñe todo lo que necesitas saber, no gratis. La mayoría de los buenos vídeos gratuitos suelen ser un embudo de marketing hacia los cursos de pago. No hay nada malo en ello, sólo algo que debes tener en cuenta.No puedo opinar sobre los cursos de pago, nunca he hecho ninguno.
3. En la ingeniería de software en general, MQL simplemente no existe. Hay un libro o dos, los que enseñan el lenguaje en su totalidad. Por lo tanto, el aprendizaje de todo lo que va a consumir muchos meses, si no años de su tiempo, incluso si usted tiene la paciencia y el tiempo. Tiempo que podría dedicar a operar. El subconjunto real de conocimientos que es necesario para hacer sus propios EAs e Indicadores que son lo suficientemente sofisticados como para confiar en sus propias cuentas reales es considerablemente menor. Muchas cosas simplemente no son necesarias para los códigos de uso propio. Una nota al margen:incluso si usted es un comerciante, podría valer la pena gastar tiempo y esfuerzo para aprender ingeniería de software en general (en uno de los grandes lenguajes como C ++ o C #, pero no MQL) en el lado. Si te cargas tu cuenta, ganar dinero como programador puede permitirte evitar morirte de hambre y acumular poco a poco capital para volver a entrar en el juego.
4. MQL conjunto de páginas de referencia en este sitio web es una referencia no un libro de texto. Tiene un valor incalculable para conocer el interior y el exterior de los elementos específicos del lenguaje MQL. Es una pesadilla para estudiar de (lo sé, lo intenté).
5. Lo mejor en mi opinión es aprender lo básico con C++. Hay muchos cursos excelentes sobre C++ a muy bajo coste o gratis. C# o Java (¡NO JavaScript, JS es como Python pero peor!) también son adecuados, aunque un poco más alejados. Además, en mi opinión no es beneficioso aprender C. En 2023, C es una lengua de nicho para la programación de sistemas (SO, controladores, etc). C++ incorpora todo el C clásico que necesitas.
6. La funcionalidad básica de MQL es prácticamente C++. Al lenguaje básico se le añade un montón de enumeraciones, funciones incorporadas y clases específicas para operar en la plataforma MT. Esos elementos específicos del comercio no existen en C++, por supuesto. Una vez que usted sabe cómo las variables, constantes, tipos de datos, funciones y objetos se comportan en general en C ++, es muy fácil conseguir esos elementos específicos adicionales MQL. Usted necesita aprender OOP suficiente para saber lo que es, lo que hace, y cómo utilizar objetos de las clases incorporadas en la biblioteca MT en sus códigos de procedimiento junto con las funciones. Usar las clases disponibles es mucho más fácil que programar tus propias clases, crear librerías, manejar decenas o cientos de archivos de cabecera (.mqh), etc. Programar tu propia POO es como crear una empresa multinacional fabricante de coches sólo para construir un único coche, para que puedas conducir de casa al trabajo todos los días.
7. Olvídate de Python. Puedo escribir páginas sobre esto, pero sólo toma mi palabra. Python simplifica algunas cosas, crea complicaciones en otras. El verdadero problema de Python es que tiene demasiada libertad. La sintaxis rígida de C++, los tipos estáticos y sobre todo Sergeant Compilator al final resultan en códigos que son muy inequívocos y fiables. La libertad de Python es a menudo la libertad de meterse en el agua y ahogarse. Las "dificultades" de aprender C++ son más un mito que una realidad. Considera esto: Los {} y ; de C++ son reemplazados en Python por : y sangría obligatoria, al final el esfuerzo termina siendo casi el mismo. De todas formas no necesitas aprender todo C++ para dominar MQL5. Yo aprendí Python todo el camino hasta OOP, luego me di cuenta después de 16 meses que todavía estaba en el punto 0 de mi viaje como programador de algo, entonces reaprendí C++ (olvidé el 99% del curso de C++ que tomé como estudiante universitario de STEM hace casi 30 años). A partir de entonces pude escribir EAs e indicadores MQL5 utilizables.
6. En muchos aspectos MQL5 está más cerca de C ++ que MQL4. Eso se traduce en muchas cosas que son más difíciles en MQL5 que MQL4. Aún así, en 2023, no es recomendable para las personas que están nnow empezando a aprender MQL4. MQL4 se mantiene vivo por su base instalada de usuarios de los tiempos en que estaba vigente. Incluso si ambos lenguajes fueran iguales, MT5 viene con un backtester superior y la posibilidad de descargar una plataforma MT independiente con una cuenta demo no afiliada a un broker que nunca expira para jugar a tus anchas. Si lo necesita, es fácil de traducir su MQL5 EAs hacia atrás a MQL4 una vez que domine MQL5. Indicadores tomar un poco más de esfuerzo, todavía bastante factible.
7. Así que aquí está el camino de aprendizaje que funcionó para mí:
- Aprender fundamentos de programación con un lenguaje de programación general, más fácil con C ++, ya que es el más cercano a MQL. Todos los cursos de programación enseñan lo básico con programas de consola simples. MetaEditor no tiene una consola. Imprimir "Helllo World!" en el Diario Terminal es mucho inferieor experiencia que directamente en una consola con "cout >>". Usted puede interactuar con un código MQL sólo indirectamente a través de los parámetros de entrada, no en tiempo real a través de "cin >>".
- Una vez que haya dominado los fundamentos de programación, ir a youtube y encontrar videos que van paso a paso en la construcción de un trabajo completo EA o indicador (hay un montón en el momento de escribir). En primer lugar, ver todo el video, de manera más eficiente mediante la desactivación del sonido, en los subtítulos y la aceleración de a 1,5x o 2x para captar el contenido. Después, vuelve a verlo y teclea el código, pausando el vídeo y rebobinando si es necesario, con el sonido activado.
- No tome más cursos de programación - sólo código código código, backtect backtest backtest. Desafortunadamente, MQL no ofrece la facilidad de pruebas unitarias (indispensables para la ingeniería de software adecuada), pero con un poco de creatividad usted puede desarrollar sus propias maneras de utilizar el backtester para eso. Vea más videos en temas específicos cuando lo necesite. Artículos / posts en este sitio web puede ser igualmente útil. Hit F1 en MetaEditor tantas veces como sea necesario. Hit que incluso si no lo hace, sólo para aprender algo nuevo o pulir lo que ya aprendió eveyday.
7. Aquí está la ruta de aprendizaje que me ha funcionado:
- Aprender lo básico de programación con un lenguaje de programación general, más fácil con C++ porque es el más cercano a MQL. Todos los cursos de programación enseñan lo básico con programas de consola sencillos. El MetaEditor no tiene consola. Imprimir "¡Oye, Mundo!" en el Terminal Journal es una experiencia muy inferior a la de usar directamente una consola con "cout >>". Puedes interactuar con un código MQL sólo de forma indirecta mediante los parámetros de entrada, no en tiempo real mediante "cin >>".
- Después de dominar los fundamentos de la programación, accede a youtube y encuentra vídeos que explican paso a paso la construcción de un EA o indicador funcional completo (hay muchos en el momento en que estoy hablando). En primer lugar, asiste al vídeo entero, de forma más eficiente desligando el sonido, en las leyendas y acelerando a 1,5x o 2x para apreciar el contenido. A continuación, asiste de nuevo y graba el código junto, pausando el vídeo y volviendo a reproducirlo si es necesario, con la cámara encendida.
- No hagas más cursos de programación - sólo codifica el código del código, backtest backtest. Infelizmente, el MQL no ofrece facilidad de testeo de unidad (indispensable para una ingeniería de software adecuada), pero con cierta creatividad puedes desarrollar tus propias maneras de usar el backtester para ello. Asista a más vídeos en sobre temas específicos cuando lo necesite. Los artículos/posts de este sitio pueden ser igualmente úteis. Pulsa F4 en el MetaEditor siempre que lo necesites. Acércate o no, sólo para aprender algo nuevo o para mejorar lo que ya has aprendido todos los días.
Gracias por la evidencia. Esto es más o menos lo que quería al escribir este artículo. Porque muchas personas que empiezan no saben qué dirección tomar y acaban abandonando el estudio o el aprendizaje, imaginando que es algo muy difícil o poco práctico.
Se ha publicado el nuevo artículo MQL5 - Usted también puede convertirse en un maestro del lenguaje:
Por Daniel Jose
Yo también quiero ser maestro
Muy buen artículo. Me hizo retroceder en el tiempo hasta la infancia, cuando dibujaba gráficos primitivos con sintaxis DOS en un Apple IIe.
Basado en mi experiencia posterior, MQL4 era fácil de aprender porque era básicamente una versión esquelética de C. Me gustaba pensar en ello como "C-" (C menos). Años más tarde, leí las primeras 50 páginas de una copia impresa MQL5 EA libro de programación (ahora fuera de impresión) y luego se trasladó a la programación MQl5. Años después, ese libro todavía está en un estante con un marcador en la página 50. Todo esto confirma la sugerencia del autor del artículo de aprender haciendo.
Aunque he incursionado con Easylanguage y Python, y más que incursionado con MS Excel, me quedo con MQL5 porque el código nativo es siempre más rápido que una tubería o un puente desde fuera de MT5. Además, los elementos "opcionales" de programación orientada a objetos (POO) de MQL5 son una necesidad para el auto-trading en la bolsa de futuros en la que ahora comercio. Si quieres aprender MQL5, recomiendo leer un manual general sobre lo que es la programación orientada a objetos, en primer lugar.
Peor que el miedo de aprender un nuevo lenguaje de programación es la perspectiva de quedarse atrás.
Un artículo laudatorio sobre mi persona como genio: algo así como, te enseñaré a convertirte en un gurú de la programación desde cero, pero resulta que para ello necesitas saber C++ y experiencia de 23 años usándolo. Y lo sorprendente es que con semejante equipaje (C/C++) tardé 2 años en aprender a programar en MQL5. Al final, bla-bla-bla, soy un genio y podrás hacerlo en 25 años. Es una pena que se publiquen artículos así....
Y qué, un brasileño se pasó 23 años escribiendo "¡Hola Mundo!" en C++, no todo el mundo tiene tanta paciencia. Yo desde luego no la tengo. Tal vez le hagan un monumento de bronce en su tierra natal. Así que le envidiamos en silencio.
Me gustaría especificar que el valor false es realmente cero al convertir implícitamente tipos int en bool, pero true es cualquier valor distinto de cero. Al convertir bool->int, todo se limita a 0 y 1.