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

 
Merci beaucoup à tous ceux qui ont répondu !!! Je vais essayer vos options !
 
Alexey Viktorov:

Si vous faites cette énumération

vous pourriez essayer de l'écrire comme ceci

Vous avez, comme toujours, proposé la meilleure façon de résoudre mon problème !

 
Alexey Viktorov:

Pourquoi convertir en int ? Parce que dans mql5, à partir de H1, la valeur de l'énumération n'est pas égale au nombre de minutes. Et à mon avis, au contraire, cela introduira beaucoup de confusion.

Votre méthode semble fonctionner aussi ! Merci !

 
Alexey Viktorov:

Et alors ? Ont-ils quelque chose de différent dans l'énumération ENUM_TIMEFRAMES ? Ou bien la peur de manquer de mémoire? Je ne sais pas comment m'occuper de ça...


ps ; Ah comme je suis lent à taper...)))) Pendant que je tapais une ligne, Kira27 en a tapé autant......... et quelque chose que je soupçonne d'être utilisé dans mql4.

DANS MQL5 ))))

 
Voici un script à essayer, il fonctionne)))
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   enum frame1 // перечисление именованных констант
     {
      m1  = (int)PERIOD_M1,
      m5  = (int)PERIOD_M5,
      m15 = (int)PERIOD_M15,
      m30 = (int)PERIOD_M30,
      h1  = (int)PERIOD_H1,
      h4  = (int)PERIOD_H4,
      d1  = (int)PERIOD_D1,
      W1  = (int)PERIOD_W1,
      MN1 = (int)PERIOD_MN1
     };
   double T = iHigh(NULL,(ENUM_TIMEFRAMES) d1,0);

   Alert("Frame= ", (ENUM_TIMEFRAMES)  d1," iHigh= ",T);

  }

le résultat est le suivant Bien que la valeur int du jour en minutes soit de 1440. Mais cela fonctionne, hih est correct.

 
Alexey Viktorov:

Et alors ? Ont-ils quelque chose de différent dans l'énumération ENUM_TIMEFRAMES ? Ou bien la peur de manquer de mémoire? Je ne sais pas comment m'occuper de ça...


ps ; Ah comme je suis lent à taper...)))) Pendant que je tapais une seule ligne, Kira27 a tapé wow......... et quelque chose que je soupçonne d'être utilisé dans mql4.

Votre méthode donne le même résultat))))

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   enum frame1 // перечисление именованных констант
     {
      m1  = PERIOD_M1,
      m5  = PERIOD_M5,
      m15 = PERIOD_M15,
      m30 = PERIOD_M30,
      h1  = PERIOD_H1,
      h4  = PERIOD_H4,
      d1  = PERIOD_D1,
      W1  = PERIOD_W1,
      MN1 = PERIOD_MN1
     };
 
   double T = iHigh(NULL,(ENUM_TIMEFRAMES) d1,0);
   
   Alert("Frame= ", (ENUM_TIMEFRAMES)  d1," iHigh= ",T);
  }

 
Kira27:

Votre méthode donne le même résultat))))

Je n'en doutais pas :-))))

 
Salut !

Veuillez m'aider à remplacer la fonction écrite dans MQL4 par MQL5.

double iHig(datetime ds, datetime de)
  {
   //Alert(iBarShift(Symbol(),PERIOD_CURRENT,ds),"  ",ds);
   return
      High[
         iHighest(Symbol(),PERIOD_CURRENT,MODE_HIGH,
                  iBarShift(Symbol(),PERIOD_CURRENT,ds)-iBarShift(Symbol(),PERIOD_CURRENT,de)+1,
                  iBarShift(Symbol(),PERIOD_CURRENT,de)
                 )
          ];
  }

Le problème est que dans MQL5 il n'y a pas de variables prédéfinies Haut, et je ne sais pas comment ou avec quoi remplacer cette variable.

 
Sprut 185:
Bonjour à tous !

Veuillez m'aider à remplacer la fonction écrite dans MQL4 par MQL5.

Le problème est que dans MQL5 il n'y a pas de variables prédéfinies Haut, et je ne sais pas comment ou avec quoi remplacer cette variable.

Il existe une série chronologique dans MQL5

iHigh,

iLow,

etc.

Section d'aide : Accès aux séries chronologiques et aux indicateurs de données/
 
Kira27:

Il existe des séries chronologiques dans MQL5

iHigh,

iLow,

etc.

Section d'aide : Accès aux séries chronologiques et aux indicateurs de données/.
Merci pour l'astuce, je ne l'avais pas trouvée au début......... Il s'avère que cette variable est juste sous un nom différent.