Autoaprendizaje del lenguaje MQL5 desde cero - página 31

 
Valeriy Yastremskiy:

Exactamente lógico, no cadena, ya que hay un I.)))) en medio.

Así que no entendí bien su pregunta. Se me escapó el punto cuando preguntaste "... qué tipo de variable es esta...". Estoy aprendiendo. Gracias por el consejo.

Saludos, Vladimir.

 
Igor Makanu:

esta es una condición completamente diferente a la anterior, y no se trata de la diferencia visual

Se trata de la ejecución simultánea de la parte izquierda de la "Y" y la parte derecha de la "Y".

Hola, Igor! Ya entendí cuál era el error. Gracias por el consejo.

Saludos, Vladimir.

 
MrBrooklin:

¡Hola, Igor! Ya me he dado cuenta de cuál era el error. Gracias por el consejo.

Saludos, Vladimir.

Ayer Vasily Sokolov dio recomendaciones sobre cómo estudiar el idioma, y el énfasis principal fue la comprensión de las funciones

esto es correcto y práctico - acelera el desarrollo, permite dividir la tarea en bloques, permite reutilizar el código....

Pero, en mi opinión, es necesario aprender a procesar las condiciones lógicas primero, es sólo una cuestión de tiempo para encontrar una lista de funciones definidas por el usuario o utilizar las funciones estándar de MQL

Pero crear correctamente las condiciones lógicas, así como formalizar el problema, que es una misma cosa, es más importante.


Los errores lógicos son los peores: todo funcionará, pero cuándo y dónde irá mal... no lo encontrará ))))


bueno y sobre el sabotaje, si de condiciones se trata, escribe la condición de intersección de 2 MAs, aunque todos los foros temáticos están llenos de esta pregunta y respuesta, pero suele ocurrir que una pregunta tan sencilla para un hombre, puede no ser tan fácil de formalizar en forma de condiciones lógicas ;)


UPD: ¡Hola!

 

Una vez más me gustaría dar las gracias a Valery e Igor por ayudarme a entender cómo funciona el tipo de datos bool con un ejemplo tan sencillo.

Saludos, Vladimir.

 
Igor Makanu:
... Bueno y sobre el tema, si de condiciones se trata, escribe la condición de intersección de 2 MAs, aunque todos los foros temáticos están llenos de esta pregunta y respuesta, pero suele ocurrir que una pregunta tan sencilla para una persona puede no ser tan fácil de ser formalizada en forma de condiciones lógicas ;)...

Definitivamente le daré una oportunidad, pero un poco más tarde. Estoy en cuarentena por la gripe y siento que mi cabeza no digiere muy bien la información nueva.

Saludos, Vladimir.

 
Aliaksandr Hryshyn:
Pregunta de prueba:
"tiempo suficiente" - ¿qué tipo de variable puede ser para que no haya advertencias del compilador?

Chicos, no os hagáis ilusiones. No te lleves a Brooklyn a un lado. No te centres en los tipos.

//+------------------------------------------------------------------+
//|                                                            1.mq5 |
//|                        Copyright 2020, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2020, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
string a="достаточно времени";
string b="достаточно терпения";
//---
   if(a!=b)
     {
      Print("я выучу язык MQL 5");
     }
  }

El código funciona bien. Porque en el nivel del núcleo, se define una función de comparación de cadenas que devuelve true si las cadenas son iguales, y false en caso contrario. Cuando escribimos a != b, se llama a la función que compara las dos cadenas mediante el literal !=. Por cierto, es el usuario quien debe definir una función de comparación para sus propios tipos de usuario, y entonces funcionarán de forma similar. Por tanto, no se trata de tipos, sino de nuevo de funciones.

Pero a pesar de ejecutarse correctamente, el código es internamente inconsistente. En realidad el autor quería expresar que "si tengo suficiente tiempo" y "suficiente paciencia", el resultado será "aprenderé MQL5". De hecho, el resultado es que un valor no debe ser igual a otro para aprender el idioma.

 
Vasiliy Sokolov:

Chicos, no os hagáis ilusiones. No lleves a Brooklyn a un lado. No te centres en los tipos.

El código funciona muy bien. Porque en el nivel del núcleo, se define una función de comparación de cadenas que devuelve true si las cadenas son iguales y false en caso contrario. Cuando escribimos a != b, se llama a la función que compara dos cadenas mediante el literal !=. Por cierto, es el usuario quien debe definir una función de comparación para sus propios tipos de usuario, y entonces funcionarán de forma similar. Por lo tanto, no se trata de tipos, sino de funciones de nuevo.

Pero a pesar de ejecutarse correctamente, el código es internamente inconsistente. En realidad el autor quería expresar que "si tengo suficiente tiempo" y "suficiente paciencia", el resultado será "aprenderé MQL5". De hecho, el resultado es que un valor no debe ser necesariamente igual a otro para aprender el idioma.

¡Hola Vasily! Gracias por su apoyo y aclaración. De todos modos gracias a todos por compartir sus conocimientos conmigo. Son muy importantes para mí, especialmente en esta etapa.

Sinceramente, Vladimir.

 
MrBrooklin:

¡Hola Vasily! Gracias por su apoyo y por la aclaración. Gracias de todos modos a todos los que han compartido sus conocimientos conmigo. Son muy importantes para mí, especialmente en esta etapa.

Ya me siento mejor. Continuaremos después.

 
Vasiliy Sokolov:

Ponte bien. Continuaremos después.

Gracias.

Sinceramente, Vladimir.

 
Vasiliy Sokolov:
"... Sin embargo, el código, aunque se ejecuta correctamente, es internamente inconsistente. En realidad el autor quería expresar que "si tengo suficiente tiempo" y "suficiente paciencia" el resultado será "aprenderé MQL5". De hecho, el resultado es que un valor no debe ser igual a otro para aprender el idioma".

Primero fue esta versión del guión:

//+------------------------------------------------------------------+
//|                                                            1.mq5 |
//|                        Copyright 2020, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2020, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
string a="достаточно времени";
string b="достаточно терпения";
//---
   if(a!=b && b!=a)
     {
      Print("я выучу язык MQL 5");
     }
  }
//+------------------------------------------------------------------+

en el que utilicé un "Y" lógico. Entonces miré que en la condición sería suficiente para imprimir "Voy a aprender MQL5" expresión a!=b. En resumen, no llegué al meollo de la cuestión, que me sugirieron Valery e Igor.

Saludos, Vladimir.

Razón de la queja: