Discusión sobre la documentación de MQL4 - página 5

 
Renat:
Dmitrich:
No es suficiente ayuda para mí, y no quiero aprender C++. Nunca me será útil, y no tengo tiempo para semejante afición. ¿Qué debo hacer yo y otros como yo?
Es algo divertido. No quiero aprenderlo, pero estoy dispuesto a culpar a la falta de documentación.

No me he inventado el título del tema y no te estoy acusando de nada, es tu decisión cómo posicionar tu producto. Simplemente apoyo la idea de escribir un libro de texto. Quiero estudiarlo, pero quiero estudiar MQL, no C++. No quiero aprender a montar en bicicleta para entender cómo se maneja un caballo. Sólo expreso una demanda, no una queja. Agradezco a los desarrolladores la creación del producto y de este foro, que es realmente muy útil incluso para mí, que no tengo conocimientos de programación.
 
Dmitrich:
chv:
Sinceramente, cuando tardé un año en aprender MQL4, no me di cuenta de la falta de documentación sobre el lenguaje. En el MetaEditor puedes pulsar F1 en cualquier palabra clave y te dará una descripción de la misma. De nuevo, la documentación en línea también muestra la descripción de cualquier construcción del lenguaje.

Por ejemplo, basta con comparar la descripción de la función MQL4 OrderSend en https://docs.mql4.com/ru/trading/OrderSend y la descripción del método PerformanceCounterCategory.Exists en mi ayuda favorita de Microsoft MSDN en http://msdn2.microsoft.com/en-us/library/tzz6bdx9.aspx#- son casi iguales en estructura, excepto que Microsoft proporciona ayuda en cuatro lenguajes de la plataforma .NET - VB, C#, C++ y J#, pero en MQL4 el lenguaje es uno, no es necesario aquí.
Por otra parte, MQL Code Base ofrece aún más ejemplos de código, por no hablar de la búsqueda de palabras clave.

Tal vez, sugeriría fusionar las construcciones de lenguaje mencionadas abajo y los ejemplos de CodeBase para esta función en el sitio web en las secciones de Ayuda paraPHP, por ejemplo, es decir, hay más ejemplos de esta función de diferentes fuentes en la página de descripción de la función, sólo para el uso de esta función.

Creo que los desarrolladores de MQL a veces confunden la ayuda para las construcciones básicas del lenguaje, y la falta de conocimiento sobre cómo combinar estas construcciones en algo sensato para que funcione como uno quiere. Esto último viene con la experiencia. Tienes que probar, hacer tu propio desarrollo, leer artículos y código de otros, y lo harás bien. Y nadie va a inventar una estrategia de ingresos mensuales de 100 millones de dólares para usted, MQL no le ayudará allí.

No ha tenido problemas porque ha tenido algunos conocimientos de programación. Pero mucha gente (como yo) no sabe qué es PerformanceCounterCategory.Exists y sólo ha programado una calculadora y una lavadora en el mejor de los casos. ¡Tengo estrategias en Exel y no tengo ni idea de cómo traducirlas al código MQL4! No es suficiente ayuda para mí y no quiero aprender C++. Nunca me será útil, y no tengo tiempo para semejante afición. ¿Qué debo hacer yo y otros como yo? Sí, no hay muchos de ellos en este foro, pero hay bastantes comerciantes que entienden la necesidad de la programación independiente en MQL4, pero no pueden dominar el lenguaje como tú. Tal vez sea por nuestra estupidez o pereza, pero hay muchos comerciantes tan tontos y perezosos. El manual no es una panacea, pero nos permitirá al menos comprender los principios y las bases, aprender a establecer objetivos y plantear preguntas. Las estrategias rentables están fuera de lugar, eso es otro oficio.

Ya sabes, sé lo que quieres decir. Cuando estudiaba en la universidad en el departamento de matemáticas, recuerdo cuántos métodos de enseñanza diferentes nos ofrecían para leer los metodólogos más famosos de la escuela todavía soviética (Lerner, Stolyar, Mishin, etc.), y cada uno de ellos escribía en sus trabajos académicos que su método es el mejor y el único correcto. De ello deduje una sencilla conclusión: no existe una única metodología correcta. Hay que probarlo y ver los resultados.

Más tarde, trabajando en empresas industriales, me encontré con el hecho de que no basta con crear un sistema de automatización, para que su implantación tenga éxito es necesario formar periódicamente a los empleados para que trabajen con él, es decir, asignar tiempo en una sala de formación por orden de la empresa, a través de los jefes de departamento para que lleven allí a la gente en el momento adecuado, para preparar un manual de formación y llevar a cabo una formación completa normal para ellos, como en la escuela o el colegio.

De vez en cuando, los informáticos también tienen dificultades para empezar, porque es necesario estudiar constantemente nuevas versiones/entornos de desarrollo/bibliotecas/tecnologías. Seguramente, mucha gente, como yo, resuelve este problema de "entrada en el mundo de la informática" buscando y estudiando muestras con proyectos de formación subidos a las páginas web de los fabricantes. Es decir, si necesito estudiar la biblioteca de .NET Framework 3.0 o algo de AJAX, busco en Internet ejemplos ya hechos, es decir, un proyecto completo con fuentes. Lo compilo, lo ejecuto, veo los resultados, y luego trato de entender su código, cambiando y retocando algo, y vuelvo a mirar los resultados. Estudiar un proyecto ya hecho es más fácil que crearlo desde cero en una plataforma desconocida.

Por eso te recomiendo que te descargues algunos Asesores Expertos ya hechos de Code Base en https://www.mql5.com/ru/code como proyecto de entrenamiento y que intentes retorcer su código y leer los comentarios, si es que están ahí - es una forma muy trillada de estudiar. Por supuesto, no encontrarás ninguna estrategia rentable allí, pero sin duda te ayudará a dominar el lenguaje MQL.
 
También quiero hacer notar "alyverdamente" que aprender C++ en lugar de MQL4 difícilmente te ayudará. Existen varios lenguajes y plataformas, similares en sintaxis: C++, Java, MS .NET C#, MQL4, y su sintaxis es similar en un 90-95%. Pero tienen diferentes librerías, un conjunto de funciones básicas (API) de la propia plataforma, diferentes editores, y diferentes propósitos de los programas finales.
Por lo tanto, estudie exactamente los ejemplos de código MQL4 (Asesores Expertos, indicadores), y no pierda su tiempo en algo más, si no lo necesita.
 
No voy a discutir, sólo voy a decir mi opinión:
- Hay un mínimo de información en el archivo de ayuda.
- No hay un depurador para comprobar las hipótesis sobre las funciones "poco claras de la descripción" para corregir los errores en el código.
 
raw:
No voy a discutir, sólo voy a decir mi opinión:
- Hay un mínimo de información en el archivo de ayuda. <-- No estoy de acuerdo contigo, en general hay suficiente información en el sitio web mql4.com/es, deberías usar la búsqueda por ejemplos, el foro local. Si algo no está claro, pregunte, normalmente se responde. Otra cosa, tal vez valga la pena combinar la ayuda básica y los ejemplos de desarrolladores de terceros, es decir, en las páginas de Ayuda hacer un enlace moderado "Añadir ejemplo", y debajo de la descripción de la función, aparecerán ejemplos de otros desarrolladores (no MetaQuotes) para esta función. Y entonces, para alguien que lee tal descripción, el método de Copiar/Pegar está en la mano.
- no hay ningún depurador que permita comprobar las hipótesis sobre las funciones "poco claras de la descripción" para corregir los errores en el código. <-- Estoy de acuerdo con usted, sin depurador es malo, las impresiones es una forma primitiva y anticuada de depuración, además de que come una gran cantidad de tiempo dedicado a hurgar en los registros de gigabyte - la eficiencia y el placer de ella está por debajo de la media.
 
Renat escribió (a):
Es algo divertido. No está dispuesto a estudiar, pero sí a culpar a la falta de documentación. <br / translate="no">
Lo siento, pero te equivocas. La verdad es que me sorprende escuchar eso de los representantes de MetaQuotes. Es el planteamiento de un programador soviético, en plan: "Nosotros escribimos un sistema supergenial y comprensible, y tú, tonto, no puedes descifrarlo ¡Tú tienes el problema, no nosotros! Lee la documentación por 101ª vez y tendrás una epifanía". Entiende que si a la gente le cuesta entenderlo sin un tutorial, es tu problema, y sólo tuyo, ya que ganas dinero con la popularidad de tu producto. Además, la necesidad de crear un libro de texto se ha insinuado con mucha delicadeza e incluso ha justificado lógicamente sus argumentos.

En general no quiero desarrollar una discusión, me alegro de que se esté preparando un libro de texto, sólo quería indignarme con su enfoque de los usuarios digno de un instituto de investigación de defensa de los años 80.

Dmitrich escribió (a):

No me he inventado el título del tema y no te acuso de nada, es cosa tuya cómo posicionar tu producto. Simplemente apoyo la idea de escribir un tutorial. Y quiero estudiarlo, pero MQL, no C++. No quiero aprender a montar en bicicleta para entender cómo se maneja un caballo. Sólo expreso una demanda, no una queja. Agradezco a los desarrolladores la creación del producto y de este foro, que es realmente muy útil incluso para mí, que no tengo conocimientos de programación.
Totalmente de acuerdo y apoyo. El ejemplo de la bicicleta y el caballo es acertado.
 
Renat escribió (a):
Es algo divertido. No están dispuestos a aprender, pero sí a culpar a la falta de documentación. <br / translate="no">.

También quiero añadir que si hubiéramos tenido al menos una pequeña sección en la Ayuda al principio con el subtítulo "Por dónde empezar y cómo funciona", que explicara los principios generales de MQL y diera ejemplos de programas sencillos, quizás este tema no hubiera surgido en absoluto.

 

El problema de la documentación que se plantea es natural, tenía que surgir tarde o temprano: el producto está ganando adeptos rápidamente, y sigue siendo necesario algún tipo de normalización. Está bien que se prepare un tutorial, aunque personalmente no creo que lo necesite mucho, pues ya tengo algunos conocimientos básicos, y puedo preguntar sobre los matices también aquí en el foro.

Mi situación era mucho más sencilla: empecé estudiando ejemplos de código ya hechos e investigando al mismo tiempo, en lugar de leer el manual. Enseguida quedó claro que el lenguaje C. Por supuesto, la comprensión de los principios generales del trabajo no apareció de inmediato: sigue llevando tiempo, igual que cuando se domina un idioma a partir de un libro de texto.

Estoy de acuerdo en que un tutorial sistemático con ejemplos sencillos claramente expuestos de Asesores Expertos/Inductores/scripts/bibliotecas/archivos de cabecera sería sin duda extremadamente útil para un principiante que no esté cargado de conocimientos de programación en C.

Francamente, las afirmaciones sobre el preaprendizaje de C++ en este hilo me sorprenden: ¿dónde está el "incremento" a C? Sí, sintácticamente el lenguaje es un subconjunto de C, pero es mucho más sencillo que C++...

 
Me parece que inicialmente ninguno de los desarrolladores tenía idea de que la gente empezaría a aprender los fundamentos de la programación con el lenguaje mql. Lo más probable es que se asumiera que los programadores más o menos capacitados programarían EAs, scripts e indicadores. Y los usuarios sólo utilizarán las ya hechas :-)
De ahí que la documentación sea relativamente modesta. Y si te apoyas en completos desconocidos para la programación y escribes un tutorial de programación para ellos se convertirá en una obra muy voluminosa. Para ello, hay que empezar por lo más básico: entender qué significan los bits y los bytes. :-)
 
Sí, la demanda de idiomas supera claramente a la cualificada. Qué se le va a hacer, los novatos son siempre los más duros, y serán los últimos en conseguir el kit completo de caballero, lo suficiente como para adquirir calificaciones en el idioma por su cuenta... Y, por ahora, habrá un foro en el que se podrán plantear las preguntas más básicas, sin temor a que te lancen huevos podridos por incompetente.