Versión beta del libro en línea sobre la programación de MQL4 - por Sergey Kovalev (SK.) - página 11

 

a SK

1. El tutorial se publicó como una versión beta, es decir, con una oferta de crítica.
2. Bueno, he subrayado la frase y he encontrado la línea "todos los arrays son estáticos por definición")), es decir, este no es mi problema.
3. Si seguimos arbitrariamente esta criticada línea del libro de texto que supone que todos los arrays por definición son estáticos, podemos obtener un error de dirección "incorrred start position 0 for ArrayMinimum function" en el trazador
(esta única línea no resta méritos al libro de texto, felicidades a SK)
4) Entonces. Un array estático es, en primer lugar, en el sentido de la asignación de memoria,
o no, puede haber una nueva inicialización de cada elemento.
¿Qué vemos en MQL4? En cada llamada, cada elemento se inicializa limpiamente con un cero por defecto, explícitamente desde la definición.
Es decir, los datos de los subprogramas no se almacenan sin una definición previa estática.
Significa que los subprogramas MQL4 se ejecutan con asignación dinámica de memoria variable.
Todas las variables y todas las matrices sin tamaño explícito en los subprogramas MQL4 son dinámicas por defecto. De lo contrario, deberían fijarse con una descripción estática.
5. Por ejemplo, la asignación de memoria dinámica es una oportunidad para declarar doble a[][]...[]; con dimensiones vacías,
pero es necesario mencionar que el programador debe ser responsable del direccionamiento.
(En el ejemplo anterior, la función estándar está dirigida por una referencia antigua y no entra en los límites del array).

 
Korey:

a SK


DE ACUERDO.
 
La pregunta es la siguiente.

El libro está escrito en ruso. Los desarrolladores dicen que la traducción al inglés está en proceso, y luego aparecerá en chino. Estoy seguro de que sólo se traducen las explicaciones; nadie va a tocar el código fuente.

Muchos programadores por naturaleza dan nombres comprensibles a las variables de su idioma, por ejemplo aquí en el sitio me encontré con massiv (masiv), Koef e incluso MuH_IIIuPuHa_KaHaJIa. Así que, mientras hojeaba un libro de texto, me encontré con el siguiente código:




¿Qué tiene que decir un residente de Chinatown mirando la variable Tip? Nosotros sabemos lo que es, pero ¿qué saben los demás?

( Encontrado aquí: https://book.mql4.com/ru/trading/orderclose )
 
Parabellum:
La pregunta es la siguiente.

El libro está escrito en ruso. Los desarrolladores dicen que la traducción al inglés está en proceso, y luego aparecerá en chino. Estoy seguro de que sólo se traducen las explicaciones; nadie va a tocar el código fuente.

Muchos programadores por naturaleza dan nombres comprensibles a las variables de su idioma, por ejemplo aquí en el sitio me encontré con massiv (masiv), Koef e incluso MuH_IIIuPuHa_KaHaJIa. Así que, mientras hojeaba un libro de texto, me encontré con el siguiente código:




¿Qué tiene que decir un residente de Chinatown mirando la variable Tip? Nosotros sabemos lo que es, pero ¿qué saben los demás?

( Encontrado aquí: https://book.mql4.com/ru/trading/orderclose )

Gracias por el comentario.
Los nombres de las variables en los ejemplos, por supuesto, no se tocan - en chino, por ejemplo, el código fuente no utiliza jeroglíficos, tienen que tratar con el alfabeto latino en cualquier caso. Para entender el significado de esta variable, el "habitante de Chinatown" se limitará a mirar el comentario. Además, los habitantes de los países de habla inglesa tampoco percibirán la palabra Tip como "tipo". Porque "type" en inglés sería tipo. Y Tip es "consejo" o incluso "indirecta". Pero eso no les impide entender los códigos de los desarrolladores de habla rusa. ))
 

Pero creo que un hablante nativo debería seguir mirando los nombres de las variables. Para no pisar un rastrillo. Y si la variable Tip - su sonido es el mismo que el de la palabra rusa de tres letras, que tiene en el medio la letra U (.u.) . ¿Y si no lo es? Esto no hará que el libro se vea bien.

Puede ser más sencillo y correcto.

int _OrdetType=Tipo de orden();

si ( _OrdetType > 1 ) ....

 

Se supone que el lector seguirá pensando un poco...

 

Aquí https://book.mql4.com/ru/build/lots faltan marcas de división

hay

Lotes_Nuevos=MathFloor(Libre*Porcentaje100Un_Lote/Paso)*Paso;// Calcular

Necesitamos

Lotes_Nuevos=MathFloor(Libre*Porcent/100/Un_Lote/Paso)*Paso;// Calcular


Es un poco incómodo, creo que puedo ver el código. Quiero tomar una porción, pero no toda. Es decir, copio lo que veo en el buffer y lo pego en el texto de mi programa. Pero no se inserta correctamente. Todo el código va en una línea. Lo más probable es que el código de fin de línea en el libro y en el editor MQL no coincidan

 

Aquí hay otra pequeña edición.

https://book.mql4.com/ru/build/trading

Hay

El control de switch() se pasa a la etiqueta del caso 10 (bloque 2-3).


Necesita

.... (bloque 2).

 
Prival:

Aquí https://book.mql4.com/ru/build/lots faltan marcas de división

hay

Lotes_Nuevos=MathFloor(Libre*Porcentaje100Un_Lote/Paso)*Paso;// Calcular

Necesitamos

Lotes_Nuevos=MathFloor(Libre*Porcent/100/Un_Lote/Paso)*Paso;// Calcular


Es un poco incómodo, creo que puedo ver el código. Quiero tomar una porción, pero no toda. Es decir, copio lo que veo en el buffer y lo pego en el texto de mi programa. Pero no se inserta correctamente. Todo el código va en una línea. Lo más probable es que el código de fin de línea en el libro y en el editor MQL no coincidan


Sí, son los mismos problemas de formato. Lo arreglaremos mañana.

Gracias por encontrar el error.

Hay archivos autentificados para todos los códigos terminados. Se cree que el código de los archivos es correcto. Por cierto, también se puede utilizar como referencia para buscar erratas e inexactitudes.

 
Prival:

Aquí hay otra pequeña edición.

https://book.mql4.com/ru/build/trading

Hay

El control de switch() se pasa a la etiqueta del caso 10 (bloque 2-3).


Necesita

.... (bloque 2).



No hay necesidad de corregir aquí. Todos los bloques tienen un punto de inicio y un punto final. En este caso 2 es el inicio, 3 el final.

Gracias de todos modos:)

Razón de la queja: