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

 
Vladimir Karputov:

Il est préférable de ne pas être confus et d'utiliser une seule approche : soit la classe commercialeCSymbolInfo, soit les fonctions du système comme SymbolInfoXXXX.

Oui, merci. Puis-je également préciser.

Peut-elle conduire à des erreurs ou s'agit-il simplement d'une recommandation pour la culture du codage ?

 
vladzeit:

Uh-huh, merci. Je peux aussi clarifier.

Cela peut-il conduire à des erreurs ou s'agit-il simplement d'une recommandation pour la culture du codage ?

Personne n'interdit d'utiliser la vinaigrette, MAIS : ne risquez-vous pas de vous embrouiller avec les noms de variables au fil du temps, ne vous souviendrez-vous pas si vous avez mis à jour ou non les données dans la variable ?

 
Vladimir Karputov:

Personne n'interdit l'utilisation d'une vinaigrette, MAIS : ne risquez-vous pas de vous embrouiller avec les noms de variables au fil du temps et de vous souvenir si vous avez mis à jour ou non les données de la variable ?

Merci, je vois)

 
Vladimir Karputov:

Si vous avez besoin de comparer plusieurs timeseries de la même période, travaillez avec un tableau de typeMqlRates-> et utilisezCopyRates pour remplir ce tableau.

Il est pratique de stocker l'heure dans une structureMqlDateTime-> utilisezTimeToStruct pour convertir l'heure d'unedate à une structureMqlDateTime.

Maintenant, votre exemple 1 ressemblera à ceci :

Merci pour ces réponses illustratives. Mais il y a des questions...

1. Que font ? et : Trouvé seulement : : contexte.

int count=(InpBarTime<10)?10:InpBarTime+1;

2. Quel élément d'entrée définit l'entrée [h] dans MT4 ?

//--- example 1
// if(Period()<=PERIOD_H4 && TimeHour(Time[h])==0 && TimeMinute(Time[h])==0)
   MqlDateTime SDateTime;
   TimeToStruct(rates[InpBarTime].time,SDateTime); // Converts a value of datetime type into a structure variable MqlDateTime
   if(Period()<=PERIOD_H4 && SDateTime.hour==0 && SDateTime.min==0)
     {

     }
  
 
kopeyka2:

Merci pour ces réponses illustratives. Mais il y a des questions...

1. Qu'est-ce que cela signifie ? et : Trouvé seulement : : contexte

int count=(InpBarTime<10)?10:InpBarTime+1;

-->

Il s'agit d'une forme abrégée. C'est pareil :

int count=0;
if(InpBarTime<10)
   count=10;
else
   count=InpBarTime+1;



2. Quel élément d'entrée définit l'entrée [h] dans MT4 ?

//--- example 1
// if(Period()<=PERIOD_H4 && TimeHour(Time[h])==0 && TimeMinute(Time[h])==0)
   MqlDateTime SDateTime;
   TimeToStruct(rates[InpBarTime].time,SDateTime); // Converts a value of datetime type into a structure variable MqlDateTime
   if(Period()<=PERIOD_H4 && SDateTime.hour==0 && SDateTime.min==0)
     {

     }

-->

Je pense que InpBarTime. Qu'en pensez-vous ?

 

Que voulez-vous dire ? et : Trouvé seulement : : contexte

int count=(InpBarTime<10)?10:InpBarTime+1;


https://www.mql5.com/ru/docs/basis/operators/ternary

cet opérateur est devenu à la mode ces derniers temps, il est utilisé de plus en plus souvent

Документация по MQL5: Основы языка / Операторы / Условный оператор ?:
Документация по MQL5: Основы языка / Операторы / Условный оператор ?:
  • www.mql5.com
В качестве первого операнда – "выражение1" – может быть использовано любое выражение, результатом которого является значение типа bool. Если результат равен , то выполняется третий операнд – "выражениеЗ". Второй и третий операнды, то есть "выражение2" и "выражениеЗ", должны возвращать значения одного типа и не должны иметь тип void...
 
Vladimir Karputov:
kopeyka2:

Merci pour ces réponses illustratives. Mais il y a des questions...

1. Qu'est-ce que cela signifie ? et : Trouvé seulement : : contexte

-->

Il s'agit d'une forme abrégée. C'est pareil :



2. Quel élément d'entrée définit l'entrée [h] dans MT4 ?

-->

Je pense que InpBarTime. Qu'en pensez-vous ?

Je ne pense pas qu'en ce moment, dans le sens habituel de cet état.... Je suis en train de BLONDIR avec un cric dans la main ;)))

Vous avez déclaré globalementInpBarTime=3; Et dans MT4 [h] est de ici à là généralement dans une boucle (pour la limite ......).

#property script_show_inputs
//--- input parameters
int InpBarTime=3; // Bar where we compare the time
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()

J'ai trouvé l'indicateur Market_Sessions Il y a un design intéressant là..... J'essaie d'y intégrer le reste du dialogue interne dans ma tête... )))).

Dossiers :
 
kopeyka2:

J'ai du mal à réfléchir maintenant, dans le sens habituel du terme..... Je suis blonde avec un valet dans la main))))

Et vous avez écrit globalement comme ceci

J'ai trouvé l'indicateur Market_Sessions Il y a une construction intéressante là..... J'essaie d'y intégrer le reste du dialogue interne dans ma tête... )))).

Ah, désolé, j'aurais dû l'écrire comme ça :

//--- input parameters
input int InpBarTime=3; // Bar where we compare the time
 
Fast528:

Que voulez-vous dire ? et : Trouvé seulement : : contexte


https://www.mql5.com/ru/docs/basis/operators/ternary

cet opérateur est devenu à la mode ces derniers temps, de plus en plus souvent utilisé

OK ! !!


Est-ce que j'ai bien compris ?

//if(Period()<=PERIOD_H4 && TimeHour(Time[h])==0 && TimeMinute(Time[h])==0)
   MqlDateTime SDateTime;
   TimeToStruct(rates[InpBarTime].time,SDateTime); // Converts a value of datetime type into a structure variable MqlDateTime
   if(Period()<=PERIOD_H4 && SDateTime.hour==0 && SDateTime.min==0)
     {

     }
// А ЕСЛИ ПО ЦИКЛУ ?
int InpBarTime=10;
for(int a=0; a<=InpBarTime; a++) 
 {
//if(Period()<=PERIOD_H4 && TimeHour(Time[h])==0 && TimeMinute(Time[h])==0)
   MqlDateTime SDateTime;
   TimeToStruct(rates[InpBarTime].time,SDateTime); // Converts a value of datetime type into a structure variable MqlDateTime
   if(Period()<=PERIOD_H4 && SDateTime.hour==0 && SDateTime.min==0)
     {

     }
Запустив InpBarTime по циклу будем иметь цикл, но в структуре. Правильно?
 
kopeyka2:

OK ! !!


Est-ce que j'ai bien compris ?

Tu n'as pas bien compris. Je vous ai donné un exemple concret. Exécutez-le. Oubliez l'écriture de style MQL4. Commencez à étudier le code et regardez l'aide.