Errori, bug, domande - pagina 1959

 
Qual è la differenza tra le due linee?
void OnStart()
{
  int i1 = (1 / 2) ? 1 : 0; // expression not boolean
  int i2 = (0) ? 1 : 0;     // no problem
}
 

Per editore.

  • Se una classe è definita all'interno di un metodo, l'editor mostra erroneamente i metodi di quella classe nell'elenco delle funzioni (ALT+M).
  • Come può l'editor dire quale funzione/metodo il cursore è ora dentro?
  • Se si digita la seguente linea nel Metaeditor
    DoubleToString(GetMicro
    Il tooltip GetMicrosecondCount (o come si chiama correttamente?) non appare.


  • Quando appare un tooltip con delle opzioni, non è possibile spostarsi in basso nella lista premendo il tasto UP. La lista non è in loop, il che è sbagliato.
 

Quando si chiude un grafico con un EA in esecuzione a mano, si prega di dare conferma dell'azione. Ora è molto facile chiudere accidentalmente un grafico con un EA.

 

Se molto tempo fa ci sono stati scambi fatti su un simbolo che ora NON è nel Market Watch (compresa la parte nascosta), dove prende il terminale i dati Digits per questi simboli quando visualizza questi scambi?

 
È possibile rendere StringReplace più facile/più logico da usare?
int  StringReplace( 
   string&         str,              // строка, в которой будет осуществляться замена 
   const string    find,             // искомая подстрока 
   const string    replacement,      // подстрока, которая будет вставлена в найденные места 
   const uint Amount = 0             // Максимальное количество замен, 0 - все меняем.
   );

Per esempio, se sappiamo che la stringa da sostituire ricorre solo una volta, perché sprecare risorse computazionali cercando dopo la prima sostituzione?

 

Quando si esegue l'ottimizzazione, si prega di evidenziare la scheda Log in caso di errore. Ora devi indovinare se si è verificato un errore di ottimizzazione o se l'ottimizzazione sta impiegando molto tempo per funzionare. Non lo saprai finché non guarderai tu stesso il diario di bordo. L'utente deve essere avvisato immediatamente se c'è un errore.

 
Bug del tester
void OnInit()
{
  ExpertRemove();

  Print((bool)_StopFlag); // Реал - true, тестер - false
}
 
_StopFlag e IsStopped() non sono boole. Correggere l'aiuto.
void OnStart()
{
  Print(_StopFlag);   // 0
  Print(IsStopped()); // 0
  
  bool StopFlag = _StopFlag;
  
  Print(StopFlag); // false
}
 

Nel tester, quando si preleva denaro, non è possibile impostare un commento. Si prega di aggiungere

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

Nel tester con solo agenti locali, ottengo questo messaggio

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

Chiaramente un bug.