Fehler, Irrtümer, Fragen - Seite 1959

 
Was ist der Unterschied zwischen den beiden Linien?
void OnStart()
{
  int i1 = (1 / 2) ? 1 : 0; // expression not boolean
  int i2 = (0) ? 1 : 0;     // no problem
}
 

Von der Redaktion.

  • Wenn eine Klasse innerhalb einer Methode definiert ist, zeigt der Editor fälschlicherweise Methoden dieser Klasse in der Funktionsliste an (ALT+M).
  • Wie kann der Editor erkennen, in welcher Funktion/Methode sich der Cursor gerade befindet?
  • Wenn Sie die folgende Zeile in den Metaeditor eingeben
    DoubleToString(GetMicro
    GetMicrosecondCount tooltip (oder wie heißt es richtig?) erscheint nicht.


  • Wenn ein Tooltip mit Optionen erscheint, ist es nicht möglich, die Liste durch Drücken der AUF-Taste nach unten zu verschieben. Die Liste ist nicht in einer Schleife, was falsch ist.
 

Wenn Sie ein Diagramm schließen, auf dem ein EA von Hand läuft, geben Sie bitte eine Bestätigung der Aktion. Es ist jetzt sehr einfach, versehentlich einen Chart mit einem EA zu schließen.

 

Wenn vor langer Zeit Geschäfte mit einem Symbol getätigt wurden, das jetzt NICHT in der Marktbeobachtung enthalten ist (einschließlich des verborgenen Teils), woher erhält das Terminal dann die Zahlenangaben für diese Symbole, wenn diese Geschäfte angezeigt werden?

 
Ist es möglich, die Verwendung von StringReplace einfacher/logischer zu gestalten?
int  StringReplace( 
   string&         str,              // строка, в которой будет осуществляться замена 
   const string    find,             // искомая подстрока 
   const string    replacement,      // подстрока, которая будет вставлена в найденные места 
   const uint Amount = 0             // Максимальное количество замен, 0 - все меняем.
   );

Wenn wir zum Beispiel wissen, dass die zu ersetzende Zeichenfolge nur einmal vorkommt, warum sollten wir dann Rechenressourcen für die Suche nach der ersten Ersetzung verschwenden?

 

Wenn Sie die Optimierung ausführen, markieren Sie bitte die Registerkarte Protokoll, falls ein Fehler auftritt. Jetzt müssen Sie raten, ob ein Optimierungsfehler aufgetreten ist oder ob die Optimierung zu lange dauert, um zu laufen. Das werden Sie erst wissen, wenn Sie sich das Logbuch selbst ansehen. Der Benutzer sollte im Falle eines Fehlers sofort benachrichtigt werden.

 
Tester Fehler
void OnInit()
{
  ExpertRemove();

  Print((bool)_StopFlag); // Реал - true, тестер - false
}
 
_StopFlag und IsStopped() sind keine bools. Korrigieren Sie die Hilfe.
void OnStart()
{
  Print(_StopFlag);   // 0
  Print(IsStopped()); // 0
  
  bool StopFlag = _StopFlag;
  
  Print(StopFlag); // false
}
 

In der Testversion ist es nicht möglich, beim Abheben von Geld einen Kommentar zu setzen. Bitte hinzufügen

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

In der Testversion mit nur lokalen Bearbeitern erhalte ich diese Meldung

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...

Eindeutig ein Fehler.