Errori, bug, domande - pagina 3128

 
Nikolai Semko # :

Ah, questo tema nel debug non funziona più?
Triste :((( Era molto utile nel mio lavoro


Segnalato più di 4 mesi fa. Non importa a nessuno.

Новая версия платформы MetaTrader 5 build 2980: Push-уведомления о торговых операциях
Новая версия платформы MetaTrader 5 build 2980: Push-уведомления о торговых операциях
  • 2021.08.18
  • www.mql5.com
В пятницу 18 июня 2021 года будет выпущена обновленная версия платформы MetaTrader 5...
 
Vladimir Pastushak #:
Finanza: Una questione non finanziaria

Aperto,Iniziato: 2021.09.02 10:45,#3182963

Ciao, ho attivato il ticket perché il pulsante "New Application" non funziona.

Motivo della richiesta: La descrizione delle ultime 4 lingue, coreano, italiano, francese, turco non è salvata nei segnali.

Alzandolo come non sta funzionando.

 
Ho bisogno di uno script che esegua lo script/servizio su tutti i terminali MT4/5 in funzione. Potete suggerire i parametri di PostMessage.
 
fxsaber #:
Ho bisogno di uno script che esegua lo script/servizio su tutti i terminali MT4/5 in funzione. Puoi dirmi i parametri di PostMessage.

Farei un servizio che aspetta che il file di comando appaia nella cartella comune. Bene, e uno script per creare tale comando.

 
Andrey Khatimlianskii #:

Farei un servizio che aspetta che il file di comando appaia nella cartella comune. Bene, e uno script per creare tale comando.

Molto stampella, e MT4 è ancora rilevante.

 

Non oso chiamarlo un bug. Quindi dirò solo che ho notato una particolarità dell'istruzione if. Sospetto che questo possa essere vero anche per altre lingue.

if(a && Array[over_index]>val) {...}

Se a risulta essere vero, il controllo salta ad Array[over_index] e qui il terminale inizia a sbattere attraverso la parte'array out of range', il che è assolutamente giusto. Ma se a risulta essere falso, il terminale non controllerà la condizione Array[over_index] e quindi la ridondanza dell'indice, e se salterà ulteriormente e il codificatore non saprà che c'è un array con un indice inesistente nel suo programma... o piuttosto uno esistente ma ridondante.

Forse ci dovrebbe essere una correzione per questo in modo che il controllo per 'array out of range' venga effettuato fino alla fine del ciclo if e venga emesso lo stesso messaggio? O ridurrà significativamente la velocità dell'operatore?


 
x572intraday #:

Non oso chiamarlo un bug. Quindi dirò solo che ho notato una particolarità dell'istruzione if. Sospetto che questo possa valere anche per altre lingue.

Se a risulta essere vero, il controllo salta a Array[over_index] e qui il compilatore inizia a mandare in crash la parte'array out of range', che è abbastanza vera. Ma se a risulta essere falso, il terminale non controllerà la condizione Array[over_index] e quindi la ridondanza dell'indice, e se salterà ulteriormente e il codificatore non saprà che c'è un array con un indice inesistente nel suo programma... o piuttosto uno esistente ma ridondante.

Forse ci dovrebbe essere una correzione per questo in modo che il controllo per 'array out of range' venga effettuato fino alla fine del ciclo if e venga emesso lo stesso messaggio? O ridurrà significativamente la velocità dell'operatore?


Nel vostro caso non è così, perché entrambe le condizioni devono essere soddisfatte. Ma se si imposta

if(a || Array[over_index]>val) {...}
allora, sì. Se la condizione 'a' è soddisfatta, la seconda condizione non sarà controllata. Questo è stato combattuto per anni, e ora voi suggerite di tornare al secolo scorso...
 
x572intraday #:

Non oso chiamarlo un bug. Quindi dirò solo che ho notato una particolarità dell'istruzione if. Sospetto che questo possa valere anche per altre lingue.

Se a risulta essere vero, il controllo salta a Array[over_index] e qui il terminale inizia a sbattere con la parte'array out of range', che è abbastanza vera. Ma se a risulta essere falso, il terminale non controllerà la condizione Array[over_index] e quindi la ridondanza dell'indice, e se salterà ulteriormente e il codificatore non saprà che c'è un array con un indice inesistente nel suo programma... o piuttosto uno esistente ma ridondante.

Forse ci dovrebbe essere una correzione per questo in modo che il controllo per 'array out of range' venga effettuato fino alla fine del ciclo if e venga emesso lo stesso messaggio? O ridurrà significativamente la velocità dell'operatore?

Se cambiate il comportamento, i programmi scritti normalmente andranno semplicemente "in crash", mentre quelli non scritti saranno difficili da scrivere.

Continuate a leggere, c'è qualche descrizione

 
x572intraday #:

Non oso chiamarlo un bug.

Questo è un comportamento normale ovunque. Se volete che l'argomento sia sempre calcolato, calcolatelo prima dell'if-

 
Alexey Viktorov #:

Nel vostro caso non è così, poiché entrambe le condizioni devono essere soddisfatte. Ma se metti questo

allora, sì. Se la condizione 'a' è soddisfatta, la seconda condizione non sarà controllata. Questo è stato combattuto per anni, e ora voi suggerite di tornare al secolo scorso...

Controllare

// +--------
int start()
{
 if(false && Test()) { 
  Print("if Yes"); // Это никогда не напечатает
 }
}

// +--------
bool Test() {
 Print("Test"); // Это тоже, к ней не дошла очередь
 return(true);
}