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
Sin duda, has dado un gran paso adelante en el tema principal: has dominado y empezado a utilizar las funciones, y ¡felicidades a ti, por supuesto!)
Estoy consolidando el material que he aprendido hasta ahora, así como he empezado a estudiar para y mientras los bucles. El seguimiento, aunque en un futuro lejano, pero es una parte obligatoria de mi plan de autoaprendizaje.
Saludos, Vladimir.
...
En general, el guión está escrito correctamente. No tiene en cuenta el valor nulo de Period_learning, pero por lo demás está bien.
Ok, Peter, voy a pensar cómo complicar el script y aplicar la declaración de condición if-else dentro de la función.
Saludos, Vladimir.
¡Buen día y buen humor a todos!
Sigo estudiando el lenguaje de programación MQL5. Teniendo en cuenta los consejos de Peter Konov, pego el código finalizado del script que es una continuación de una de las tareas de los participantes de este hilo. El script ha sido probado en todos los modos. No se ha detectado ningún problema. Para empezar, he aplicado el número mínimo de parámetros de entrada. El código del script está escrito en inglés, los comentarios al código están en ruso, para facilitar el proceso de aprendizaje. Como he prometido antes, he tratado de describir el guión de forma comprensible para un alumno de la escuela de programación de 1º curso.
Saludos cordiales, Vladimir.
¡Buen día y buen humor a todos!
Sigo estudiando el lenguaje de programación MQL5. Teniendo en cuenta los consejos de Peter Konov, pego el código finalizado del script que es una continuación de una de las tareas de los participantes de este hilo. El script ha sido probado en todos los modos. No se ha detectado ningún problema. Para empezar, he aplicado el número mínimo de parámetros de entrada. El código del script está escrito en inglés, los comentarios al código están en ruso, para facilitar el proceso de aprendizaje. Como he prometido antes, he tratado de describir el guión de forma comprensible para un alumno de la escuela de programación de 1º curso.
Saludos, Vladimir.
Arregla un error y será perfecto.
En cuanto a la función, supongo que el código debería haberse escrito así:
Sinceramente, Vladimir.Sobre la función, supongo que el código debería haberse escrito así:
Sinceramente, Vladimir.Sólo hay que arreglar un error de inmediato y será perfecto.
Los objetos globales, son inicializados por defecto por el constructor. Para los tipos primitivos (en nuestro caso, todos menos la cadena) es 0. Pero para la memoria (leer variables) asignada en la pila, no se inicializan. Por eso las variables globales pueden no ser inicializadas, recuerda que en este caso serán iguales a cero. Pero la ausencia de inicialización (al mismo tiempo, acostúmbrate a evitar las advertencias generadas por el compilador de inmediato, a menos que sepas exactamente lo que estás haciendo) es un problema grave, porque la lectura de una variable no inicializada conduce a un comportamiento indefinido. Por ejemplo, este código se comporta de forma diferente en las versiones de lanzamiento y de depuración y nadie puede garantizar que cuando se cambie la versión del compilador o la configuración de optimización su comportamiento no cambie también:
Peter, sobre el tema de las variables globales, todavía no he encontrado en la literatura que las variables globales tengan que estar predefinidas. ¿Tiene un enlace a la fuente para mejorar sus conocimientos en esta materia? La Referencia MQL5 no contiene una referencia explícita a la inicialización:
El tipo bool está diseñado para almacenar los valores booleanos true o false, cuya representación numérica es 1 o 0 respectivamente .
Ejemplos:
bool a =true;
bool b =false;
bool c =1;
La representación interna es un número entero de 1 byte. Hay que tener en cuenta que en las expresiones booleanas, es aceptable utilizar otros tipos enteros o reales o expresiones de estos tipos en lugar de bool, y el compilador no generará un error. En este caso, el cero se interpretará como falso y todos los demás valores como verdaderos.
Los objetos globales, se inicializan con el constructor por defecto. Para los tipos primitivos (en nuestro caso, todos excepto string), es 0. Pero para la memoria (leer variables) asignada en la pila, no se inicializan. Por eso las variables globales pueden no ser inicializadas, recuerda que en este caso serán iguales a cero. Pero la ausencia de inicialización (al mismo tiempo, acostúmbrate a evitar las advertencias generadas por el compilador de inmediato, a menos que sepas exactamente lo que estás haciendo) es un problema grave, porque la lectura de una variable no inicializada conduce a un comportamiento indefinido. Por ejemplo, este código se comporta de forma diferente en las versiones de lanzamiento y de depuración y nadie puede garantizar que cuando se cambie la versión del compilador o la configuración de optimización su comportamiento no cambie también: