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

 
Artyom Trishkin:
J'ai du mal à regarder le code sur la tablette, mais la réponse est - écrire la valeur de X dans le tampon.

Enregistré. Ça marche. Comment faire en sorte que l'indicateur affiche cinq décimales dans les calculs, comme dans le terminal du courtier qui affiche les cours acheteur et vendeur à cinq chiffres et dans l'affichage de son indicateur ? Une capture d'écran est jointe.

J'ai obtenu cinq chiffres dans les commentaires à gauche avec des symboles blancs à l'écran : (mais dans l'indicateur lorsque je remplis les tampons, il montre toujours quatre chiffres NormalizeDouble (ExtMapBuffer2[0],Digits) - n'aide pas.

  Comment(
              "tickCounter = ", tickCounter, "\n",
              "secondCounter, time_s  = ",    NormalizeDouble(time_s,2) , "\n",
            
              "ExtMapBuffer1[0] = ", DoubleToStr(ExtMapBuffer1[0],Digits) , "\n",
              "ExtMapBuffer2[0] = ", DoubleToStr(ExtMapBuffer2[0],Digits) , "\n",
              "ExtMapBuffer1[1] = ", DoubleToStr(ExtMapBuffer1[1],Digits) , "\n",
              "ExtMapBuffer2[1] = ", DoubleToStr(ExtMapBuffer2[1],Digits) , "\n",
              "ExtMapBuffer1[2] = ", DoubleToStr(ExtMapBuffer1[2],Digits) , "\n",
              "ExtMapBuffer2[2] = ", DoubleToStr(ExtMapBuffer2[2],Digits) , "\n",


 
Roman Shiredchenko:

Enregistré. Ça marche. Comment faire en sorte que l'indicateur affiche cinq décimales dans les calculs, comme dans le terminal du courtier qui affiche les cours acheteur et vendeur à cinq chiffres et dans l'affichage de son indicateur ? Une capture d'écran est jointe.

J'ai essayé d'afficher des guillemets à cinq chiffres dans le commentaire de gauche avec des symboles blancs à l'écran (mais dans l'indicateur, lorsque je remplis les tampons, il affiche toujours quatre chiffres NormalizeDouble (ExtMapBuffer2[0],Digits) - n'aide pas.


IndicatorSetInteger(INDICATOR_DIGITS,_Digits) ;

ou

IndicatorDigits(_Digits) ;

 

Et ici, pour la vitesse moyenne spécifiquement indiquée en remplissant le tableau d'indicateurs ExtMapBuffer_Ave_Speed[0]= NormalizeDouble(X,1) ;

Mais il dessine toujours des zéros à 4 décimales... Comment faire pour qu'il affiche cinq décimales ?

 
Alexey Viktorov:

IndicatorSetInteger(INDICATOR_DIGITS, _Digits) ;

ou

IndicatorDigits(_Digits) ;

Senc. Tout fonctionne !
 
Roman Shiredchenko:
Cenk. Tout fonctionne !
Désolé j'ai oublié de le mettre dans OnInit()
 
Alexey Viktorov:
Désolé j'ai oublié de le mettre dans OnInit()

Il s'avère que nous avons une file d'attente "réponse" ici ;)

Je n'ai pas eu le temps...

 
Alexey Viktorov. Artyom Trishkin
Désolé, j'ai oublié de l'écrire dans OnInit()

C'est compréhensible. Senc. Vous pouvez peut-être me donner un indice...

La MA a été appliquée à l'indicateur tick depuis le terminal de navigation. Comment puis-je obtenir ses valeurs dans l'EA ?

Si tu peux juste mettre ton nez là où tu peux lire ça.

Je crois me rappeler... par le biais de iMAOnArray?


 
Roman Shiredchenko:

C'est compréhensible. Senc. Il y a peut-être d'autres conseils...

La MA est appliquée du navigateur du terminal à l'indicateur de ticks. Comment obtenir ses valeurs dans l'Expert Advisor ?

Il se peut que vous mettiez votre nez là où il faut pour le lire.

Je crois me rappeler... par le biais de iMAOnArray?


iMAOnArray doit être entré dans l'indicateur tick et sorti dans celui-ci dans le tampon supplémentaire.

Ou, dans un nouvel indicateur, vous devriez d'abord lire le contenu des tampons de l'indicateur tick dans le tampon de calcul, et ensuite mettre iMAOnArray dessus.

 
Artyom Trishkin:

1. iMAOnArray doit être écrit dans l'indicateur de tic-tac et sorti dans un tampon supplémentaire.

Ou, dans un nouvel indicateur, vous devez d'abord lire le contenu des tampons de l'indicateur tick dans le tampon de calcul, puis lui appliquer iMAOnArray.

Merci. Artyom. Donc 1.
 

Je n'arrive pas à obtenir l'égalité des valeurs MA (couleur or) période 1 (sur le graphique) de Bid (vert - il n'est pas visible à cause de la ligne MA) et ses mêmes valeurs MA (1) calculées via iMAonArray() à partir du tampon de l'indicateur de prix Bid.

      double MA_0=iMAOnArray(ExtMapBuffer1,0,MA_Period,0,MODE_EMA,0); 
      double MA_1=iMAOnArray(ExtMapBuffer1,0,MA_Period,0,MODE_EMA,1); 
      double MA_2=iMAOnArray(ExtMapBuffer1,0,MA_Period,0,MODE_EMA,2); 
   
       


     if (time_s!=0) 
       Comment(
              "tickCounter = ", tickCounter, "\n",
              "secondCounter, time_s  = ",    NormalizeDouble(time_s,2) ,   "\n",
            
           ...
              "ExtMapBuffer_MA[0] = ", DoubleToStr(MA_0,Digits),"\n",
              "ExtMapBuffer_MA[1] = ", DoubleToStr(MA_1,Digits),"\n",
              "ExtMapBuffer_MA[2] = ", DoubleToStr(MA_2,Digits),"\n",

flèches vertes - valeurs égales - comme il se doit. Flèches rouges - valeurs différentes. Ça devrait être la même chose que pour les verts.


les trois flèches du haut devraient avoir le numéro UN, mais elles sont différentes... Pouvez-vous me dire la raison de cette divergence...


Raison: