Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 1061

 
fxsaber:

Gracias, aunque no lo entiendo todo aquí.

En particular, ¿dónde está la lectura real del archivo?

¿Y por qué las funciones que se describen en la documentación como que trabajan con archivos csv no funcionan realmente con ellos?

 
MakarFX:

En este caso la ventana de alerta no se abre.(

Eso no es cierto. Hace poco le hice una pregunta al baterista... y él utilizó su posición oficial para prohibirme durante una semana por hacer esa pregunta. ¿Quieres que te haga esa pregunta también?

Porque escribí en negro en ruso "ps: lo he comprobado todo". ¿Y quién le prohíbe comprobarlo antes de hacer tales afirmaciones?

 
Yurixx:

Gracias, aunque no lo entiendo todo aquí.

En particular, ¿dónde está la lectura real del archivo?

¿Y por qué las funciones que se describen en la documentación como que trabajan con archivos csv no funcionan realmente con ellos?

Por lo que sé, funcionan, pero hay problemas con el movimiento del puntero en el archivo.

 

Alexey Viktorov:

Porque escribí en negro en ruso, "ps: he comprobado todo". ¿Y quién le prohíbe comprobarlo antes de hacer tales afirmaciones?

¡Tú eres Dios! La decisión fue muy fácil y no dijiste nada.

Gracias.

 
Alexey Viktorov:

Por lo que sé, funciona, pero hay problemas al mover el puntero en el archivo.

Resulta que MQL5 es mucho más estricto que MQL4.

El parámetro delimitador en FileOpen() debe ser del tipo corto, y sólo deben utilizarsecomillas simples para especificar su valor.

Además, las banderas de la función deben contener una referencia al tipo de archivo FILE_ANSI o FILE_UNICODE.

De lo contrario, como en mi caso, la función almacenará todo el archivo csv en una variable escalar.

 

Quién tiene más que decir sobre este temahttps://www.mql5.com/ru/forum/160683/page1054#comment_14760155 . Por lo que tengo entendido no se pueden pasar estructuras locales a una función siempre son visibles en toda la funciónhttps://www.mql5.com/ru/forum/160683/page1060#comment_14768305 . Quiero hacer lo que

int OnInit()
  {
     {
      struct MyPoint// локально объявил структуру внутри функции
        {
         int         x[5];
         int         y;
        };
      MyPoint qw1;
      EqualPointsP(qw1);// передал структуру в функцию EqualPointsP

     }
   return(INIT_SUCCEEDED);
  }

void OnDeinit(const int reason) {}

bool EqualPointsP(MyPoint & qw)
  {
   Print("EqualPointsP ");
   bool f = true;
   return f;
  }

¿Es posible hacerlo?

 
Seric29:

Quién tiene más que decir sobre este temahttps://www.mql5.com/ru/forum/160683/page1054#comment_14760155 . Por lo que tengo entendido no se pueden pasar estructuras locales a una función siempre son visibles en toda la funciónhttps://www.mql5.com/ru/forum/160683/page1060#comment_14768305 . Quiero hacer lo que

¿Es posible hacerlo?

Utiliza el estilizador de código (Ctrl + <) - es imposible saber dónde y cómo están colocados tus paréntesis - todo está torcido. Por esta razón, personalmente, no miré. Lo intenté, pero mis ojos me dijeron que lo dejara, así que lo dejé...

 
MakarFX:

¡Tú eres Dios! La decisión fue muy fácil y te quedaste callado.

Gracias.

No me callé, expresé lo que recordaba desde hace diez años... pero tiempo después hubo un cambio y mis conocimientos quedaron obsoletos. Para enseñarte algo he tenido que escribir código y comprobarlo con diferentes variantes. Y todo esto podría y debería haber sido comprobado por usted.

Es para el futuro. Buena suerte.

 
Artyom Trishkin:

Utiliza el estilizador de código (Ctrl + <) - es imposible determinar al vuelo dónde y cómo están colocados tus paréntesis - todo está torcido. Por esta razón, personalmente, no he mirado. Lo intenté, pero mis ojos me dijeron que lo dejara, y lo dejé...

Bueno, básicamente no hay nada que estilizar, puedes copiar y pegar en MT4, así es básicamente como lo escribo, sólo que de una manera más concisa. Bueno, lo he corregido. ¿Pueden aprobarse estas estructuras o no?

 
Seric29:

Bueno, básicamente no hay nada que estilizar, puedes copiar y pegar en MT4, así es básicamente como lo escribo, sólo que de una manera más concisa. Bueno, lo he corregido. ¿Pueden transferirse estas estructuras o no?

¿Pero puedo comprobarlo yo mismo? ¿Es difícil? ¿Y por qué tengo que escribir cosas innecesarias?

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
   struct MyPoint// локально объявил структуру внутри функции
     {
      int         x[5];
      int         y;
     } qw1;

   EqualPointsP(qw1);// передал структуру в функцию EqualPointsP
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason) {}

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
bool EqualPointsP(MyPoint &qw)
  {
   Print("EqualPointsP ");
   return true;
  }

No lo he comprobado. ¿Qué te detiene?

Razón de la queja: