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

 
User_mt5 #:

Veuillez expliquer...

La Bible dit : La variable _Period stocke la valeur de l'horizon temporel du graphique actuel.

Les valeurs réelles de _Période pour le TF sont :

М1 = 1

М5 = 5

М15 = 15

М30 = 30

H1 = 16385

H4 = 16388

H6 = 16390

Expliquez-moi s'il vous plaît, les chiffres 60, 120 etc. ne sont... plus en vogue ?

Si vous le savez, donnez-moi au moins un indice sur l'astuce.

Et maintenant j'ai peur de demander ... où d'autre dans notre mystérieux MQL se trouvent de telles astuces ? :(

voici les périodeshttps://www.mql5.com/ru/docs/constants/chartconstants/enum_timeframes

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

au lieu de chiffres - écrivez les périodes

Документация по MQL5: Константы, перечисления и структуры / Константы графиков / Периоды графиков
Документация по MQL5: Константы, перечисления и структуры / Константы графиков / Периоды графиков
  • www.mql5.com
Периоды графиков - Константы графиков - Константы, перечисления и структуры - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
User_mt5 #:

Veuillez expliquer...

La Bible dit : La variable _Period stocke la valeur de l'horizon temporel du graphique actuel.

Les valeurs réelles de _Période pour le TF :

М1 = 1

М5 = 5

М15 = 15

М30 = 30

H1 = 16385

H4 = 16388

H6 = 16390

Expliquez-moi s'il vous plaît, les chiffres 60, 120 etc. ne sont... plus en vogue ?

Si vous le savez, donnez moi au moins un indice sur ce qu'est l'astuce ici ?

Et maintenant j'ai peur de demander ... où d'autre dans notre mystérieux MQL se trouvent de telles astuces ? :(

Vous devriez lire l'aide en entier :

Contenu de la variable_Period, dans laquelle est stockée la valeur de l'horizon temporel du graphique actuel. La valeur peut être l'une des valeursde l'énumérationENUM_TIMEFRAMES. Le mot clé ici est "... l'énumérationENUM_TIMEFRAMES".

Et vous DEVEZ utiliser les ENUMENTS de l'énumération. Par exemple PERIOD_H1, PERIOD_M15 ... Et vous n'avez pas besoin de connaître la valeur interne d'un élément d'énumération.

Документация по MQL5: Предопределенные переменные / _Period
Документация по MQL5: Предопределенные переменные / _Period
  • www.mql5.com
_Period - Предопределенные переменные - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
User_mt5 #:

Veuillez expliquer...

La Bible dit : La variable _Period stocke la valeur de l'horizon temporel du graphique actuel.

Les valeurs réelles de _Période pour le TF sont :

М1 = 1

М5 = 5

М15 = 15

М30 = 30

H1 = 16385

H4 = 16388

H6 = 16390

Expliquez-moi s'il vous plaît, les chiffres 60, 120 etc. ne sont... plus en vogue ?

Si vous le savez, donnez-moi au moins un indice sur l'astuce.

Et maintenant j'ai peur de demander ... où d'autre dans notre mystérieux MQL se trouvent de telles astuces ? :(

Comment les avez-vous eus ?

 
SanAlex #:

il y a des périodes icihttps://www.mql5.com/ru/docs/constants/chartconstants/enum_timeframes

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

au lieu de chiffres - écrivez les périodes

Merci pour le conseil.

Si la caractéristique est connue, il n'est pas difficile de la prendre en compte. J'utilise PeriodSeconds() ;

Le problème est que vous ne savez pas à l'avance d'où viennent ces... fonctionnalités.

 
Vladimir Karputov #:

L'aide doit être lue dans son intégralité :

Contenu de la variable_Period, qui stocke la valeur de l'horizon temporel du graphique actuel. La valeur peut être une des valeurs de l'énumérationENUM_TIMEFRAMES. La clé ici est "... l'énumérationENUM_TIMEFRAMES".

Et vous DEVEZ utiliser les ENUMENTS de l'énumération. Par exemple PERIOD_H1, PERIOD_M15 ... Et vous n'avez pas besoin de connaître la valeur interne d'un élément d'énumération.

Merci de votre participation.

Mais le problème, c'est que je ne sais même pas lire :(

Et en général, je n'attends pas qu'on me dise ce que je dois faire. J'espérais obtenir une réponse à ma question stupide.

 
Сергей Таболин #:

Comment les avez-vous eus ?

Print("_Period = ", _Period );
 
User_mt5 #:

Et voilà. Vous obtenez la valeur de l'énumération.

Utilisateur_mt5 #:

...

Si la caractéristique est connue, il n'est pas difficile de la prendre en compte. J'utilise PeriodSeconds();

...

Si vous l'utilisiez, la question ne se poserait pas.

 
User_mt5 #:

Veuillez expliquer...

La Bible dit : La variable _Period stocke la valeur de l'horizon temporel du graphique actuel.

Les valeurs réelles de _Période pour le TF :

М1 = 1

М5 = 5

М15 = 15

М30 = 30

H1 = 16385

H4 = 16388

H6 = 16390

Expliquez-moi s'il vous plaît, les chiffres 60, 120 etc. ne sont... plus en vogue ?

Si vous le savez, donnez moi au moins un indice sur ce qu'est l'astuce ici ?

Et maintenant j'ai peur de demander ... où d'autre dans notre mystérieux MQL se trouvent de telles astuces ? :(

Source :

Forum sur le trading, les systèmes de trading automatisés et les tests de stratégies de trading

La signification cachée des délais dans MQL5

Serhii Shevchuk, 2017.02.27 01:53

Oui, mais c'est lent. J'ai esquissé un petit script pour comparaison :

#property script_show_inputs

input long              InpCycles=1000000000;

ENUM_TIMEFRAMES TF_list[32]={
PERIOD_MN1, PERIOD_W1,  PERIOD_D1,  PERIOD_H12,
PERIOD_H8,  PERIOD_H6,  PERIOD_H4,  PERIOD_H3,  
PERIOD_H2,  PERIOD_H1,  PERIOD_M30, PERIOD_M20,
PERIOD_M15, PERIOD_M12, PERIOD_M10, PERIOD_M6,  
PERIOD_M5,  PERIOD_M4,  PERIOD_M3,  PERIOD_M2,  
PERIOD_M1,  PERIOD_MN1, PERIOD_W1,  PERIOD_D1,
PERIOD_M5,  PERIOD_M4,  PERIOD_M3,  PERIOD_M2,
PERIOD_H2,  PERIOD_H1,  PERIOD_M30, PERIOD_M20
};

int PeriodMinutes(ENUM_TIMEFRAMES tf)
{
      uint t = uint(tf);
      uint f = 0xc000&t;
      uint min = 0x00FF&t;
      if(f==0x4000) min*= 60;
      else if(f==0x8000) min*= 10080;
      else if(f==0xc000)  min*= 43200;
      return(int(min));  
}

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   ulong tmp = 0;
   //
   uint idx = 0;
   ulong t0 = GetMicrosecondCount();
   for(long i=0;i<InpCycles;i++)
      tmp+= PeriodMinutes(TF_list[0x1f&(idx++)]);  
   ulong t1 = GetMicrosecondCount();
   Print("1) tmp = ",tmp,"... dT = ",t1-t0);
//---
   tmp = 0;
   idx = 0;
   t0 = GetMicrosecondCount();
   for(long i=0;i<InpCycles;i++)
      tmp+= PeriodSeconds(TF_list[0x1f&(idx++)])/60;
   t1 = GetMicrosecondCount();
   Print("2) tmp = ",tmp,"... dT = ",t1-t0);
//---
  }    
//+------------------------------------------------------------------+
Comme vous pouvez le constater, il est environ deux fois moins lent que if-units:

.


и

 
Сергей Таболин #:

Et voilà. Vous obtenez la valeur de l'énumération.

Si vous l'aviez fait, la question ne se serait pas posée.

Je ne suis pas d'accord.

Je suppose que ce n'est pas une excuse ou même une explication.

La logique générale des variables prédéfinies est qu'on peut y accéder directement et qu'elles donnent leur valeur.

C'est ainsi que vous pouvez vous référer, par exemple, à _Point, _Digits, etc. Et c'est bien.

Intuitivement, on s'attend à ce que toutes les autres variables prédéfinies aient des propriétés similaires.

Mais dans le cas de _Period, ce n'est pas le cas.

--

Merci encore à vous tous. Considérons que la question est réglée.
Passez un bon week-end, tout le monde !)

 
Fast235 #:

à quoi sert le crypteur intégré à mql ? je ne trouve pas d'utilisation raisonnable pour celui-ci

il n'y a aucun sens à crypter à partir de lui-même, et seules les variables globales terminales sont visibles par un deuxième utilisateur

Sauvegarder son état sur le disque, échanger des données sur Internet.