Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 159

 
Victor Nikolaev:


si c'est par année, cela peut donner quelque chose comme ceci

Original - merci ! Par trimestre, il faudrait contrôler le nombre de jours de chaque trimestre, ajusté pour l'année bissextile, apparemment...


Victor Nikolaev:


Cela fonctionne

2017.03.20 21:39:02.802 StringReplace EURUSD,M15 : 999.99 = 999.99

Hmm..., où est la logique ou la description dans l'aide du fait qu'une autre variable de chaîne doit être créée - je suppose que je dois le découvrir moi-même...

Merci pour l'exemple.

 
-Aleks-:

Original - merci ! Par trimestre, je devrai contrôler le nombre de jours de chaque trimestre, corrigé pour l'année bissextile, apparemment...


Hmm..., où est la logique ou la description dans l'aide du fait qu'une autre variable de chaîne doit être créée - eh bien, je suppose que je vais devoir le découvrir moi-même....

Merci pour l'exemple.

Vous n'avez pas besoin d'une autre variable. Le résultat est écrit dans celui qui existe déjà. Victor a simplement enregistré sa valeur initiale, rien de plus.
 
Artyom Trishkin:
Vous n'avez pas besoin d'une autre variable. Le résultat est écrit dans l'existant. Victor a simplement enregistré sa valeur initiale, rien de plus.

Alors je ne comprends pas pourquoi je n'ai pas de virgule dans mon cas...
 
-Aleks-:

Alors je ne comprends pas pourquoi je n'ai pas de virgule dans mon cas...

Regardez ce que StringReplace() renvoie.

Et ensuite, réfléchissez à la valeur que vous attribuez à str_avrMassSell

 
Artyom Trishkin:

Regardez ce que StringReplace() renvoie.

Et ensuite, réfléchissez à la valeur que vous attribuez à str_avrMassSell

Je convertis un nombre en une chaîne de caractères, puis je recherche un point et le remplace par une virgule - qu'est-ce que je fais de travers ?


//+------------------------------------------------------------------+
//|                                                StringReplace.mq4 |
//|                                            Copyright 2017, Vinin |
//|                                             http://vinin.ucoz.ru |
//+------------------------------------------------------------------+
#property copyright "Copyright 2017, Vinin"
#property link      "http://vinin.ucoz.ru"
#property version   "1.00"
#property strict
#property script_show_inputs
//--- input parameters
input double   Temp=999.99;
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   string stemp1=DoubleToString(Temp,2);
   string stemp2=stemp1;
   StringReplace(stemp2,".",",");
   Print(stemp1," = ", stemp2);
   double avrMassSell=Temp;
   string str_avrMassSell=DoubleToString(avrMassSell,2);
   str_avrMassSell=StringReplace(str_avrMassSell,".",",");
   Print ("str_avrMassSell=",str_avrMassSell);
   
  }
//+------------------------------------------------------------------+
 
-Aleks-:

Je convertis un nombre en une chaîne de caractères, puis je recherche un point et le remplace par une virgule - qu'est-ce que je fais de travers ?


Regardez dans l'aide pour voir ce que StringReplace() retourne ?
 
Artyom Trishkin:
Et jetez un coup d'œil à l'aide pour voir ce que StringReplace() renvoie ?

Ici... Existe-t-il d'autres fonctions de ce type ? Je suis devenu une victime de la pensée stéréotypée...
 
-Aleks-:

Ici... Y a-t-il d'autres fonctions de ce type ? Je suis victime d'une pensée stéréotypée...
Peut-être qu'il y en a - je ne peux pas me souvenir de tout. Je m'en suis souvenu parce qu'il y a longtemps, à l'aube de ma carrière, j'ai moi-même été confronté à la même chose. Maintenant, si je ne me souviens pas de quelque chose, je regarde toujours l'aide, grâce au fait qu'il n'est pas difficile de placer le curseur sur une fonction et d'appuyer sur F1.
 
Artyom Trishkin:
Il y en a peut-être quelques-uns - je ne peux pas me souvenir de tout. Je m'en souviens parce qu'il y a longtemps, à l'aube de la formation, je me suis heurté à la même chose. Si je ne me souviens pas de quelque chose, je consulte toujours l'aide. Heureusement, il n'est pas difficile de placer le curseur sur une fonction et d'appuyer sur F1.

Oui, vous devriez faire plus attention - j'ai utilisé le service d'assistance téléphonique pour trouver la fonction, mais je n'ai pas tout lu, c'est pourquoi j'en ai payé le prix...

Merci pour le conseil.

 
Chers utilisateurs du forum !
J'ai téléchargé sur Internet un conseiller expert dont l'idée m'a intéressé. Après avoir corrigé quelques bogues dans le code, il l'a traduit sans erreurs ni avertissements. Cependant, en essayant de le tester, je me suis heurté à l'absence de l'onglet "Paramètres d'entrée" dans la fenêtre des propriétés du conseiller expert. Lorsque l'on teste d'autres Expert Advisors, il n'y a pas de problème de ce type. Le conseiller expert n'utilise pas de fichiers inclus ou de bibliothèques. Il n'y a pas de directives #include et #import dans le code. Je n'ai pas trouvé dans la documentation et les forums disponibles d'informations sur ce qui pourrait expliquer l'absence de cet onglet (à part l'utilisation des directives mentionnées ci-dessus).
La situation est dans une impasse. Je joins la capture d'écran du "chapeau" du conseiller expert avec les directives et les paramètres d'entrée, juste au cas où.
SOS !
Raison: