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

 
Alexey Viktorov:

Encore une fois.

Je ne vous parle pas des actions du trader, mais de ces logs (lignes) que vous exposez au public.

Disons que je me moque qu'il n'y ait pas de ligne d'ouverture de commande et de sa première modification dans les logs du terminal...

Pourquoi n'y a-t-il pas d'autre historique de cette commande dans les journaux du courtier? Où est la preuve que l'ordre a fonctionné ? Et a-t-il été modifié avant d'être activé ?

Je ne peux pas les joindre à mon message pour une raison quelconque.

----------------------------

une autre question aux experts

s'il y a une possibilité technique dans le mt4 du courtier pour renvoyer les rapports quotidiens pour les dates passées ?

Par exemple, si nous n'avons pas reçu les rapports depuis deux semaines, pouvons-nous les générer à nouveau et les envoyer à l'adresse électronique du négociant ?

 
valeriy odintsov:

J'ai les journaux - je ne peux pas les joindre à mon message pour une raison quelconque.

Il n'est pas nécessaire de joindre les journaux au message.

Je n'ai prêté attention qu'à une seule ligne du journal du courtier. Celui qui a corrigé l'activation de l'ordre en attente.

 

Veuillez me dire comment faire - j'ai besoin d'obtenir la valeur du TF supérieur sur le TF inférieur au moment du TF inférieur - dans MQL4.

int start()
  {
   
     int    i,counted_bars=IndicatorCounted();
//---- check for possible errors
   if(ExtCountedBars<0) return(-1);
//---- last counted bar will be recounted
   if(ExtCountedBars>0) ExtCountedBars--;
   int pos;
   if(nBars==0) pos=Bars-ExtCountedBars-1;
   else  pos=nBars-ExtCountedBars-1;
   while(pos>=0)
     {
      double iDeltaPeiceMA_= 0;
      if (Variant>0) iDeltaPeiceMA_=iHigh(Symbol(),TF,pos) - iOpen(Symbol(),TF,pos);

     pos--;

     }

   return(0);
  
  }

 
-Aleks-:

Veuillez me dire comment faire - j'ai besoin d'obtenir la valeur du TF supérieur sur le TF inférieur au moment du TF inférieur - dans MQL4.

int start()
  {
   
     int    i,counted_bars=IndicatorCounted();
//---- check for possible errors
   if(ExtCountedBars<0) return(-1);
//---- last counted bar will be recounted
   if(ExtCountedBars>0) ExtCountedBars--;
   int pos;
   if(nBars==0) pos=Bars-ExtCountedBars-1;
   else  pos=nBars-ExtCountedBars-1;
   while(pos>=0)
     {
      double iDeltaPeiceMA_= 0;
      if (Variant>0) iDeltaPeiceMA_=iHigh(Symbol(),TF,pos) - iOpen(Symbol(),TF,pos);

     pos--;

     }

   return(0);
  
  }

Lire l'aide pour la fonction iBarShift()
 
Vitalii Ananev:
Lire l'aide iBarShift()
Il s'avère que je dois obtenir datetime , la valeur de la variable pos, mais comment faire ?
 
-Aleks-:
Il s'avère que j'ai besoin de récupérer la date, la valeur de la variable pos, mais comment le faire ?
Si vous avez un numéro de barre dans la variable pos, vous pouvez obtenir la valeur temporelle de cette barre en utilisant la fonction Time[pos] ou la fonction iTime(Symbol(),Period(),pos).
 
Vitalii Ananev:
Si vous avez un numéro de barre dans la variable pos, vous pouvez obtenir la valeur du temps de cette barre en utilisant la fonction Time[pos] ou la fonction iTime(Symbol(),Period() ,pos).

Oui, mais je n'arrive pas à comprendre comment je me retrouve avec une valeur de barre au milieu de la journée ?

      if (Variant>0) iDeltaPeiceMA_=iHigh(Symbol(),TF,iBarShift(Symbol(),TF, Time[pos]))-iOpen(Symbol(),TF,iBarShift(Symbol(),TF, Time[pos]));

J'obtiens les valeurs maximales des barres...

Et j'ai besoin d'attraper le changement de barre toutes les 15 minutes, par exemple.

 
-Aleks-:

Oui, mais je n'arrive pas à comprendre comment je me retrouve avec une valeur de barre au milieu de la journée ?

      if (Variant>0) iDeltaPeiceMA_=iHigh(Symbol(),TF,iBarShift(Symbol(),TF, Time[pos]))-iOpen(Symbol(),TF,iBarShift(Symbol(),TF, Time[pos]));

J'obtiens les valeurs maximales des barres...

Et je dois capter un changement dans la barre quotidienne toutes les 15 minutes, par exemple.

Je ne suis pas tout à fait sûr de ce que vous voulez faire. Corrigez-moi si je me trompe. Voulez-vous obtenir les valeurs maximales du jour toutes les N minutes ?
 
Vitalii Ananev:
Je ne suis pas tout à fait sûr de ce que vous voulez faire. Corrigez-moi si je me trompe. Voulez-vous obtenir les valeurs maximales du jour toutes les N minutes ?
Correct.
 
-Aleks-:
Bien.
Il suffit alors de prendre la valeur de iHigh(Symbol(),PERIOD_D1,0) après une certaine période de temps. Mais si vous prenez les valeurs des jours passés, elles seront les mêmes à tout moment.