Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 1061

 
fxsaber:

Merci, même si je ne comprends pas tout ici.

En particulier, où se trouve la lecture réelle du fichier ?

Et pourquoi les fonctions décrites dans la documentation comme fonctionnant avec les fichiers csv ne fonctionnent pas réellement avec eux ?

 
MakarFX:

Dans ce cas, la fenêtre d'alerte ne s'ouvre pas.(

Ce n'est pas vrai. J'ai récemment posé une question au batteur... et il a utilisé sa position officielle pour me bannir pendant une semaine pour avoir posé cette question. Voulez-vous que je vous pose la même question ?

Parce que j'ai écrit en noir en russe "ps : j'ai tout vérifié". Et qui vous interdit de vérifier avant de telles déclarations ?

 
Yurixx:

Merci, même si je ne comprends pas tout ici.

En particulier, où se trouve la lecture réelle du fichier ?

Et pourquoi les fonctions décrites dans la documentation comme fonctionnant avec les fichiers csv ne fonctionnent pas réellement avec eux ?

Pour autant que je sache, ils fonctionnent, mais il y a des problèmes avec le déplacement du pointeur dans le fichier.

 

Alexey Viktorov:

Parce que j'ai écrit en noir en russe, "ps : j'ai tout vérifié". Et qui vous interdit de vérifier avant de faire de telles déclarations ?

Vous êtes Dieu ! La décision a été si facile à prendre et tu n'as rien dit.

Merci.

 
Alexey Viktorov:

Pour autant que je sache, cela fonctionne, mais il y a des problèmes lorsque l'on déplace le pointeur dans le fichier.

Il s'avère que MQL5 est beaucoup plus strict que MQL4.

Le paramètre de délimitation dans FileOpen() doit être de type court, et seuls desguillemets simples doivent être utilisés pour spécifier sa valeur.

En outre, les indicateurs de fonction doivent contenir une référence au type de fichier FILE_ANSI ou FILE_UNICODE.

Sinon, comme dans mon cas, la fonction stockera l'ensemble du fichier csv dans une variable scalaire.

 

Qui a plus à dire sur ce sujethttps://www.mql5.com/ru/forum/160683/page1054#comment_14760155 . D'après ce que j'ai compris, vous ne pouvez pas passer les structures locales dans une fonction ; elles sont toujours visibles tout au long de la fonctionhttps://www.mql5.com/ru/forum/160683/page1060#comment_14768305 . Je veux faire ce 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;
  }

Est-il possible de le faire ?

 
Seric29:

Qui a plus à dire sur ce sujethttps://www.mql5.com/ru/forum/160683/page1054#comment_14760155 . D'après ce que j'ai compris, vous ne pouvez pas passer les structures locales dans une fonction ; elles sont toujours visibles dans la fonctionhttps://www.mql5.com/ru/forum/160683/page1060#comment_14768305 . Je veux faire ce que

Est-il possible de le faire ?

Utilisez le stylo de code (Ctrl + <) - il est impossible de savoir où et comment vos crochets sont placés - tout est de travers. Pour cette raison, personnellement, je n'ai pas regardé. J'ai essayé, mais mes yeux m'ont dit de laisser tomber, alors j'ai laissé tomber...

 
MakarFX:

Vous êtes Dieu ! La décision était si facile et tu as gardé le silence.

Merci.

Je ne me suis pas tu, j'ai exprimé ce dont je me suis souvenu pendant dix ans... mais quelque temps plus tard, il y a eu un changement et mes connaissances sont devenues obsolètes. Pour vous apprendre quelque chose, j'ai dû écrire du code et le vérifier avec différentes variantes. Et tout cela aurait pu et dû être vérifié par vous.

C'est pour l'avenir. Bonne chance.

 
Artyom Trishkin:

Utilisez le stylet de code (Ctrl + <) - il est impossible de déterminer à la volée où et comment vos crochets sont placés - tout est de travers. Pour cette raison, personnellement, je n'ai pas cherché. J'ai essayé, mais mes yeux m'ont dit de laisser tomber, et j'ai laissé tomber...

En fait, il n'y a rien à styliser, vous pouvez copier et coller dans MT4, c'est en gros comme ça que je l'écris, mais de manière plus concise. Eh bien, je l'ai corrigé. Ces structures peuvent-elles être adoptées ou non ?

 
Seric29:

En fait, il n'y a rien à styliser, vous pouvez copier et coller dans MT4, c'est en gros comme ça que je l'écris, mais de manière plus concise. Eh bien, je l'ai corrigé. Ces structures peuvent-elles être transférées ou non ?

Mais puis-je le vérifier moi-même ? Est-ce difficile ? Et pourquoi dois-je écrire des choses inutiles ?

//+------------------------------------------------------------------+
//| 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;
  }

Je n'ai pas vérifié. Qu'est-ce qui vous arrête ?

Raison: