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

 
MQL es similar a C, nadie lo discute. Nadie necesita ni ha pedido nunca un tutorial sobre la sintaxis de MQL.

En los lenguajes de programación, en los que Framework-e y sus funciones, como Java y MQL, son el foco principal de la documentación, porque en este tipo de lenguajes no se puede hacer nada sin ellos. Esto no es ensamblador o C, donde si no te gusta algo o no entiendes cómo funciona, eres bienvenido a reescribirlo como quieras. En la documentación de Java, encontrarás que el 90% de ella se refiere a funciones del Framework.

La situación es muy parecida en MQL, porque MQL es un lenguaje en el que las funciones estándar del marco de trabajo juegan un papel importante, mientras que la documentación sobre estas funciones es penosa (y esto es exactamente lo que dijo Tritón, y con lo que estoy absolutamente de acuerdo).

Los ejemplos de la documentación son muy a menudo inútiles. Un buen ejemplo no es una línea: una llamada a una función con parámetros. La documentación y los ejemplos deben explicar de forma muy precisa cuáles son los límites aceptables de los parámetros, dónde y cómo se puede y dónde y cómo no llamar a la función, y qué esperar como resultado de la llamada.
No es necesario ningún tutorial, simplemente revise la documentación y si no se parece a la documentación de OrderSend, sino que se parece a esta, corríjala:

int AccountStopoutLevel()
Возвращает значение урвоня, по которому определяется состояние Stop Out.
Пример:
 
Print("StopOut level = ", AccountStopoutLevel());

Al menos es necesario el enlace de Stop Out, que explica qué se entiende por Stop Out (¿lo mismo que Margin Call? No está claro. ...). Mejor aún, si el ejemplo da el valor específico de la cuenta del consumidor y lo que le sucede antes y después del uso de la función y por qué. En el caso de AccountStopOutLevel el ejemplo podría mostrar la cuenta del consumidor que fue expulsada de la operación en este nivel y explicar la conexión entre este nivel y lo que informa AccountStopOutLevel.

A decir verdad, también hay funciones en las que es un placer leer la documentación, se ve inmediatamente que han sido pensadas y escritas con seriedad, no sólo para ignorarlas (OrderSend, por ejemplo). Pero hay menos funciones de este tipo que aquellas en las que la documentación es buena. Con OrderSend está claro: todo el mundo necesita OrderSend, aquí hay que escribir la documentación o la gente no podrá comerciar en absoluto. Y sobre otras funciones - "bueno, no claman, y bueno, si es necesario, las añadiremos después. Es necesario, señor MQS, es necesario. Por favor, añádelas.
 
Dmitrich:

Pero aquí hay muchos comerciantes, no programadores. A un hombre le gusta jugar a la bolsa, la emoción, los cálculos. ¿Por qué un trader se convertiría en programador aprendiendo C++, y luego estudiando artículos y chelers? Para él no es interesante, y es difícil "ejecutar" la estrategia sin un Asesor Experto. ¿Qué hacer? Toma el camino más corto y busca (pide, exige, extorsiona) un libro de texto. ¿Qué hay de malo en eso? Si no nos gustan las tartas de la panadería más cercana, buscamos otra panadería, y no siempre intentamos hornear nosotros mismos. Que cada uno se dedique a lo suyo y preferentemente a lo que le gusta.

Por alguna razón, usted mete en el mismo saco la reticencia de los comerciantes a convertirse en programadores y la necesidad de un libro de texto.
Son cosas completamente diferentes. No soy programador por formación y nadie me exigió programación, salvo en el instituto durante el proceso de aprendizaje. Sin embargo, simplemente he leído lo que tengo hace 2 (DOS) años en MQL y empecé poco a poco a programar. Ahora tengo 260Kb de EA escrito con mis ideas, que no he visto en ningún sitio en Internet, y que estoy modificando constantemente (es decir, lo estoy buscando).
Si un trader ha estado metiendo dinero en el mercado con éxito durante 1 o 2 meses creyendo que es un verdadero "trader", y pensando que tiene la suerte de tener una estrategia lista para funcionar - sólo necesita un libro de texto inteligente y podrá dormir bien una vez a la semana habiendo programado un Asesor Experto con un libro de texto, ¡es una ilusión por la que todo el mundo ha pasado! Hay que tratarlo como un paso más en el desarrollo del MTS. Puedo asegurar que el algoritmo que ha utilizado para tener éxito en el mercado durante 1-2 meses absolutamente no puede garantizarle nada en el futuro, no importa cómo y por quién se implementará este EA - el propio autor o terceros por dinero.
 
Por alguna razón, has metido en el mismo saco la reticencia de los comerciantes a convertirse en programadores y la necesidad de un libro de texto. <br/ translate="no"> ¡Son cosas completamente diferentes! No soy programador por formación y nadie me exigió programar más que en el instituto durante el proceso de aprendizaje. Sin embargo, acabo de tomar mis lecturas de MQL hace 2 (DOS) años y poco a poco empecé a programar. Ahora tengo un EA de 260Kb que he escrito con mis ideas, que no he visto en ningún sitio de Internet, y que estoy modificando constantemente (es decir, las busco).
Si un trader ha estado metiendo dinero en el mercado con éxito durante 1 o 2 meses creyendo que es un verdadero "trader", y pensando que tiene la suerte de tener una estrategia lista para funcionar - sólo necesita un libro de texto inteligente y podrá dormir bien una vez a la semana habiendo programado un Asesor Experto con un libro de texto, ¡es una ilusión por la que todo el mundo ha pasado! Hay que tratarlo como un paso más en el desarrollo del MTS. Puedo asegurarle que el algoritmo que ha utilizado para tener éxito en el mercado durante 1-2 meses absolutamente no puede garantizarle nada en el futuro, no importa cómo y por quién se implementa este EA - por el autor o por otros por dinero.

No me refiero al éxito de la estrategia, sino al deseo natural de la gente de aprender a escribir Asesores Expertos sin tener que estudiar libros de texto sobre C++ y muchos artículos y manuales.
 
Dmitrich:

No me refiero al éxito de la estrategia, sino al deseo natural de una persona de aprender a escribir EAs sin estudiar libros de texto sobre C++ y muchos artículos y manuales.

En general, a mi entender, un libro de texto normal de escritura MQL debe ser algo similar a lo que hay en las librerías para cualquier lenguaje de programación. Estos gruesos libros tienen medio millar de páginas cada uno. Las características de MQL difícilmente se pueden describir en un folleto de 50-100 páginas, lo que los "traders" están soñando. La lista de ejemplos por sí sola puede alcanzar fácilmente las 100 o incluso más páginas a juzgar por los artículos de este sitio. Y también necesita ilustraciones y explicaciones detalladas. Así que es poco probable que un libro de texto serio de MQL anime fuertemente a los "traders" a la programación de EA si la existencia de este sitio no les ha inspirado hasta ahora. Hablo de la necesidad de que exista un tutorial de MQL, y me refiero a la parte formal de la cuestión: si existe un lenguaje de programación, debe haber un tutorial (aunque sea principalmente en formato electrónico) para quienes deseen aprender a programar en él.
Por cierto, algunos artículos locales son casi capítulos de un libro de texto.
 
solandr:
Dmitrich:

No estoy hablando de una estrategia exitosa, sino de un deseo natural de aprender a escribir Asesores Expertos sin estudiar libros de texto de C++ y montones de artículos y manuales.

En general, a mi entender, un libro de texto normal de escritura MQL debe ser algo similar a lo que hay en las librerías para cualquier lenguaje de programación. Estos gruesos libros tienen medio millar de páginas cada uno. Las peculiaridades de MQL difícilmente pueden ser descritas en un folleto de 50-100 páginas, lo que los "traders" están soñando. La lista de ejemplos por sí sola puede alcanzar fácilmente las 100 o incluso más páginas a juzgar por los artículos de este sitio. Y también necesita ilustraciones y explicaciones detalladas. Por lo tanto, un tutorial serio de MQL difícilmente inspirará a los "comerciantes" para los expertos en programación si la existencia de este sitio no los ha inspirado hasta ahora. Hablo de la necesidad de que exista un tutorial de MQL, y me refiero a la parte formal de la cuestión: si existe un lenguaje de programación, debe haber un tutorial (aunque sea principalmente en formato electrónico) para quienes deseen aprender a programar en él.
Por cierto, algunos artículos locales son casi todos capítulos de un libro de texto listos para usar.
Estoy de acuerdo, pero sería más fácil para los comerciantes y los programadores novatos utilizar un libro de texto donde todo está sistematizado. No es necesario estudiar las 500 páginas. Bastaría con estudiar la parte introductoria, los fundamentos de la programación, y luego utilizarlo como libro de referencia, seleccionando sólo aquellos operadores (o como se llamen) que sean necesarios para implementar y optimizar una estrategia concreta. Y los ejemplos, en consecuencia, con ilustraciones ya no serán todos necesarios. Sé que es imposible escribir un libro de texto completo, pero sólo las sutilezas se pueden aclarar aquí en los artículos y en el foro.
 
Dmitrich:
Basta con aprender la parte introductoria, los fundamentos de la programación, y luego utilizarla como referencia, seleccionando sólo aquellos operadores (o como se llamen) que sean necesarios para implementar y optimizar una estrategia concreta. Y los ejemplos, en consecuencia, con ilustraciones, ya no son tan necesarios.
Para resolver estos problemas, Rosh ha escrito varios artículos básicos en el sitio de Alpari que son bastante útiles para los que empiezan desde cero. Sin embargo, el diseño ha cambiado - no puedo encontrar inmediatamente estos artículos en el sitio. Puedes leerlos durante una semana y estar al tanto de las tendencias básicas de la programación. Y luego, en función de las tareas que debe realizar el escritor experto.
 

¿Por qué meter todo en el mismo saco?
¿Por qué discutir lo obvio: que un buen (y no un buen) libro de texto de MQL es imprescindible?
Llevo 2 años programando en MQL, no necesito ningún libro. Pero, ¿significa esto que no son necesarios en absoluto?

En este hilo se han hecho muchos comentarios correctos en otros lugares. Los repetiré junto con los míos, para reunir todo en un solo lugar:

Debe haber un capítulo obligatorio que describa (como ha escrito alex_ant) el mecanismo de funcionamiento de los programas MQL. Esto es algo que todo comerciante que es nuevo en la programación puede entender incluso antes de aprender el lenguaje. Esta descripción debe estar vinculada al proceso de negociación, y también puede explicar la diferencia entre los indicadores, los scripts y los Asesores Expertos, cómo se comportan en relación con la cola de ticks, con el servidor de operaciones, entre ellos, etc.

Hay que prestar más atención a la estructura del programa MQL, sus componentes principales - las funciones init(), start() y deinit(). Estas funciones son la principal diferencia entre MQL y otros lenguajes, y la documentación les dedica muy poco espacio, apenas unas líneas.

Estaría muy bien revisar todos los artículos del diccionario y no sólo eliminar los errores y las erratas, sino también llevar la terminología a un denominador común. Muy a menudo, las descripciones de los mismos o similares parámetros de las funciones y procedimientos se realizan utilizando términos muy diferentes y no se explica su significado. Como resultado, se dispone de descripciones, pero el significado y el uso de algunos parámetros tienen que ser estudiados en un experimento.

¡Es muy importante (estoy absolutamente de acuerdo con 4x4ever ) dar ejemplos en línea recta! La gran mayoría de los ejemplos de los artículos del diccionario no explican nada ni enseñan nada. En general, un ejemplo de una línea no es un ejemplo. En un libro de texto normal, el ejemplo permite comprender tanto el significado de los parámetros como el orden en que se utiliza el procedimiento/función y el resultado que produce. Y para ello no es necesario escribir su propio programa. IMHO: la debilidad de los ejemplos del Diccionario MQL es uno de los principales inconvenientes de la documentación.

Y por último, debería haber algunos artículos que explicaran a un principiante el procedimiento de escribir un indicador/script/asesor paso a paso. Esta necesidad no está relacionada con el algoritmo, sino con las características de la arquitectura del programa MQL. Este artículo ayudará a un principiante a entender la estructura y el código de la plantilla, y así dar el primer paso más difícil. Posteriormente, esta plantilla puede utilizarse para crear todos los demás programas de este tipo. Y no hay problema, porque Rosh de artículos similares se han escrito en abundancia. Sólo hay que seleccionar los apropiados y simplificarlos significativamente.

Estimados desarrolladores, las mejoras enumeradas en la documentación son mucho menos trabajo que crear un tutorial. Sin embargo, para los usuarios, estas cosas son casi iguales. A menudo expresas tu descontento por el hecho de que en ambos foros la gente suele hacer las mismas preguntas. Las preguntas repetitivas pueden reducirse drásticamente. Para ello, basta con tener en cuenta los pocos deseos expresados en este hilo en la documentación al menos.

 
Yurixx:

¿Por qué meter todo en el mismo saco?
¿Por qué discutir lo obvio - que un libro de texto adecuado (no bueno) de MQL es una necesidad?

Esto puede ser correcto, pero queda una pregunta: ¿quién escribe y publica realmente libros de texto sobre programación en el mundo? ¿Lo hacen los desarrolladores o los autores y editores de terceros? Los desarrolladores hacen el programa y el lenguaje, escribir y publicar un libro de texto es otro negocio.

¿Y qué te hace pensar que es necesario un libro de texto? Si tú personalmente y los otros tres de este hilo lo necesitan, no significa nada. Si hubiera una demanda efectiva, ya habría una oferta: eso es el mercado.

Un libro de texto normal cuesta entre 50 y 100 dólares. Propongo que quienes deseen obtener un libro de texto de calidad contribuyan con cincuenta dólares. Y si esos cincuenta pavos son suficientes, se podrá contratar a un autor decente que por un dinero normal trabaje en el libro de texto como trabajo principal, no entre medias del pan de cada día. Se contratará a un editor normal, se pagará a los revisores normales y luego se publicará el libro con una calidad normal.

Y si no hay suficiente demanda, entonces no hay nada que hablar -charla vacía del foro-, dame todo más y gratis.
 
timbo писал (а):


Esto puede ser correcto, pero queda una pregunta: ¿quién escribe y publica realmente libros de texto de programación en el mundo? ¿Lo hacen los desarrolladores o son autores y editores externos? Los desarrolladores crean el software y el lenguaje, escribir y publicar un libro de texto es un negocio diferente.

Hay que lanzar una idea a los editores. Es un tema muy especializado al que aún no han llegado. Cierto, si se ponen a ello (los editores), lo retorcerán y cometerán tantos errores que un manual incorporado parecerá la Biblia en comparación :-)
 
Yurixx:


Es obligatorio tener capítulos que describan (como ha escrito alex_ant) el mecanismo de funcionamiento de los programas MQL. Esto es algo que todo comerciante que es nuevo en la programación puede entender incluso antes de aprender el lenguaje. Esta descripción debe estar vinculada al proceso de negociación, y también puede explicar la diferencia entre los indicadores, los scripts y los Asesores Expertos, cómo se comportan en relación con la cola de ticks, con el servidor de operaciones, entre ellos, etc.

Hay que prestar más atención a la estructura del programa MQL, sus componentes principales - las funciones init(), start() y deinit(). Estas funciones son la diferencia esencial entre MQL y otros lenguajes...

¡Exactamente!

"- ¿Se han dado cuenta, señores, del tiempo que hace?
- Previsible.
- Previsto con precisión, Sir Oira-Oira, ¡previsto con precisión!"
(Strugatsky, El lunes empieza el sábado)