Questions des débutants MQL5 MT5 MetaTrader 5 - page 84

 
lobo:

Question : Comment puis-je configurer quoi et où pour que les signaux n'arrivent pas ? Je n'ai souscrit à aucun de ces signaux.


+ et désactiver l'onglet des signaux dans le terminal.

 
sergeev:

+ et désactiver l'onglet des signaux dans le terminal.


Le menu contextuel de l'onglet "alertes" n'est pas actif, vous pouvez seulement y "créer". Dans l'onglet "signaux", vous pouvez uniquement visualiser les signaux entrants, vous ne pouvez pas les désabonner ou les supprimer.
 

Bon après-midi ! !!

J'essaie de comprendre mql5 et de réécrire EA à partir de la version 4, et j'ai rencontré quelques problèmes :

1. Le compilateur écrit 'cH' - identificateur non déclaré dans la ligneif(fcorH==1) countH=cH ; bien que la variable soit assignée. Quel est le piège ?

             if(fdelH==0)                                   // проверить на близость при отсутствии уровня в массиве удаленных
               {
                int cH=countH-1;                            // предыдущее значение счетчика
                ...
                fcorH=1;                                    // перезапись уровня в массиве
               }
             if(f1==0)                                      // если занесение хая в массив разрешено
               {
                if(fcorH==1) countH=cH;                     // если разрешена перезапись уровня, то счетчик отматывается на один назад
                ...
               }

2. la même histoire avec une autre variable TimeRes :

   for(int y2=0;y2<finish;y2++)                          // поиск ближайших уровней
      {
       double Level=SupRes[y2][0];                       // выбор проверяемого уровня
       double rL=Level-Bid;                              // разность цены и уровня
       if((rL<dPlus && rL>0) || (rL>0 && dPlus==0))      // при наличии положительной разницы
         {
          dPlus=rL;                                      // фиксировать ее
          Res=NormalizeDouble(SupRes[y2][0],_Digits);    // уровень сопротивления
          datetime TimeRes=SupRes[y2][1];                // время сопротивления
         }
      }
   ObjectSetInteger(0,oRes,OBJPROP_TIME,TimeRes);        // отрисовка ближайшего сопротивления

Mais en dehors de cela, dans le deuxième exemple, il y a un avertissement"perte possible de données due à la conversion de type" dans la ligne detemps TimeRes=SupRes[y2][1] ;

Un tableau au niveau global est combiné sous cette forme - double SupRes[][2] ;

Veuillez me dire ce que je dois faire pour corriger ces erreurs et avertissements.

 
WindSW:

Bon après-midi ! !!

J'essaie de comprendre mql5 et de réécrire EA à partir de la version 4, et j'ai rencontré quelques problèmes :

1. Le compilateur écrit 'cH' - identificateur non déclaré dans leif(fcorH==1) countH=cH ; bien que la variable soit assignée. Quel est le piège ?

2. même histoire avec l'autre variable TimeRes :

Dans les deux cas, vous déclarez une variable à l'intérieur d'une condition/cycle, c'est-à-dire que si la condition n'est pas remplie, la variable n'est pas définie.

Placez la définition des variables au début de la fonction ou rendez-les globales.

Mais en plus de cela, le deuxième exemple provoque l'avertissement"perte possible de données due à la conversion de type" dans la ligne detemps TimeRes=SupRes[y2][1] ;

Un tableau au niveau global est combiné sous cette forme - double SupRes[][2] ;

Veuillez indiquer ce qu'il faut faire pour corriger ces erreurs et ces avertissements.

Ou le convertir en un seul type

datetime TimeRes=(datetime)SupRes[y2][1];
Ou définissez initialement le tableau et la variable comme le même type.
 
fyords:

Dans les deux cas, vous déclarez une variable à l'intérieur d'une condition/cycle, c'est-à-dire que si la condition n'est pas remplie, la variable n'est pas définie.

Placez la définition de la variable au début de la fonction ou rendez-la globale.

Mettez la définition des variables, et les avertissements "possible use of uninitialized variable" pour les variables cH et TimeRes sont apparus.

Que faire avec et que faire avec l'avertissement"possible loss of data due to type conversion" dans la ligne datetime TimeRes=SupRes[y2][1] ; ? ???

 
WindSW:

Vous avez défini les variables et vous avez reçu un avertissement "possible use of uninitialised variable 'cH'".

C'est bien, mais lui avez-vous donné une valeur d'initialisation ?

int cH=0;
Après tout, il s'agit de lire la valeur par le code et s'il n'y a rien, que peut-il être lu. Il s'agit d'un avertissement.
 
fyords:

Eh bien, soit tu le réduis au même type de

ou définir initialement le tableau et la variable comme le même type.
Et comment pouvez-vous définir un tableau et une variable par un seul type, si le tableau doit contenir des niveaux en tant que double et le temps de ces niveaux en tant que date ?
 
fyords:

datetime TimeRes=(datetime)SupRes[y2][1] ;

Merci, vos conseils m'ont aidé. Où puis-je trouver des définitions comme (datetime)SupRes[y2][1]; ?
 
WindSW:
Et comment pouvez-vous définir un tableau et une variable du même type, si le tableau doit contenir des niveaux en tant que double et l'heure de ces niveaux en tant que date ?

Dans ce cas, vous aurez besoin de deux tableaux : double et datetime.

Et une fois que le niveau est trouvé et écrit dans le premier tableau, nous devons récupérer l'heure et l'écrire dans le deuxième tableau.

 
WindSW:
Merci, vos conseils m'ont aidé. Où puis-je lire les définitions de type (datetime)SupRes[y2][1]; ?

Faire entrer les types