Erreurs, bugs, questions - page 1959

 

Par l'éditeur.

  • Si une classe est définie à l'intérieur d'une méthode, l'éditeur affiche incorrectement les méthodes de cette classe dans la liste des fonctions (ALT+M).
  • Comment l'éditeur peut-il savoir dans quelle fonction/méthode se trouve le curseur ?
  • Si vous tapez la ligne suivante dans le Metaeditor
    DoubleToString(GetMicro
    L'infobulle GetMicrosecondCount (ou comment l'appeler correctement ?) n'apparaît pas.


  • Lorsqu'une infobulle contenant des options apparaît, il n'est pas possible de se déplacer vers le bas de la liste en appuyant sur la touche UP. La liste n'est pas bouclée, ce qui est faux.
 

Lorsque vous fermez manuellement un graphique sur lequel fonctionne un EA, veuillez confirmer cette action. Il est maintenant très facile de fermer accidentellement un graphique avec un EA.

 

Si, il y a longtemps, des transactions ont été effectuées sur un symbole qui n'est maintenant PAS dans le Market Watch (y compris la partie cachée), où le terminal obtient-il les données Digits pour ces symboles lorsqu'il affiche ces transactions ?

 
Est-il possible de rendre StringReplace plus facile/plus logique à utiliser ?
int  StringReplace( 
   string&         str,              // строка, в которой будет осуществляться замена 
   const string    find,             // искомая подстрока 
   const string    replacement,      // подстрока, которая будет вставлена в найденные места 
   const uint Amount = 0             // Максимальное количество замен, 0 - все меняем.
   );

Par exemple, si l'on sait que la chaîne à remplacer n'apparaît qu'une seule fois, pourquoi gaspiller des ressources informatiques en cherchant le premier remplacement ?

 

Lors de l'exécution de l'Optimisation, veuillez mettre en évidence l'onglet Log en cas d'erreur. Vous devez maintenant deviner si une erreur d'optimisation s'est produite ou si l'optimisation prend beaucoup de temps à s'exécuter. Vous ne le saurez pas tant que vous n'aurez pas regardé le journal de bord vous-même. L'utilisateur doit être informé immédiatement en cas d'erreur.

 
Bug du testeur
void OnInit()
{
  ExpertRemove();

  Print((bool)_StopFlag); // Реал - true, тестер - false
}
 
_StopFlag et IsStopped() ne sont pas des bools. Corriger l'aide.
void OnStart()
{
  Print(_StopFlag);   // 0
  Print(IsStopped()); // 0
  
  bool StopFlag = _StopFlag;
  
  Print(StopFlag); // false
}
 

Dans le testeur, lors du retrait d'argent, il n'est pas possible de définir un commentaire. Veuillez ajouter

bool  TesterWithdrawal( 
   double money      // размер снимаемой суммы 
   const string Comment = "withdrawal"
   );
 

Dans le testeur avec des agents locaux uniquement, je reçois ce message

Tester  debug version of "fxsaber\Test.ex5" detected
Tester  debug version of "MQL5\Experts\fxsaber\Test.ex5" can be optimized on local agents only, no Cloud, no Farm
Tester  OnTesterInit works too long...
Tester  OnTesterInit works too long...

C'est clairement un bug.

 
Cas où DEAL_TIME_MSC retourne zéro
// Время в миллисекундах первой балансовой сделки (DEAL_TIME_MSC) в тестере равно нулю
int OnInit()
{
  if (HistorySelect(0, TimeCurrent()) && HistoryDealsTotal())
  {
    Print((datetime)HistoryDealGetInteger(HistoryDealGetTicket(0), DEAL_TIME)); // Время балансовой сделки
    Print(HistoryDealGetInteger(HistoryDealGetTicket(0), DEAL_TIME_MSC));       // Это же время в мс равно нулю
  }

  return(INIT_FAILED);
}