Errori, bug, domande - pagina 3040
![MQL5 - Linguaggio delle strategie di trading integrato nel client terminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Questo è stato il caso per molto tempo. Le stringhe mql non amano molto i caratteri nulli all'interno di una stringa e nei letterali, anche nelle funzioni.
L'unico modo normale è quello di tradurre tre stringhe con un null finale in un array.
Cioè questo comportamento come è ora è stato fatto deliberatamente qualche anno fa. Non conosco le ragioni.E quale funzione oltre a StringToCharArray non funziona correttamente con i nulli interni?
Per esempio StringToShortArray - funziona senza errori.
StringCompare funzionava in modo errato, ma questo è stato risolto molto tempo fa.
Per quanto riguarda StringLen, non funziona correttamente.
Forum sul trading, sistemi di trading automatico e test di strategia
Bug, bug, domande
A100, 2019.05.15 13:45
Solo errori parzialmente corretti .... perché no!? Nella mia memoria StringLen ha sempre funzionato correttamente (almeno in x32)Non ricordo esattamente, a un certo punto una stringa con un null all'interno veniva troncata a zero, forse stringconcatenate, forse con semplici operazioni sulle stringhe.
Grande forum, ho avuto modo di inviare una risposta questo pomeriggio. La risposta stessa si è persa.
Lunedì, metà pomeriggio...
Diversi terminali sono ridotti al minimo. Tuttavia, ogni terminale dà gli avvisi alla propria finestra di avviso - non collassata.
Come faccio a sapere quale finestra di avviso corrisponde a quale terminale?
Diversi terminali sono ridotti al minimo. Tuttavia, ogni terminale dà gli avvisi alla propria finestra di avviso - non collassata.
Come posso capire quale finestra di avviso corrisponde a quale terminale?
Non so nulla dell'ID unico del terminale, ma puoi aggiungere all'avvisoAccountInfoString(ACCOUNT_COMPANY). Non credo che qualcuno avrà diverse istanze MT5 connesse simultaneamente a una stessa società di brokeraggio, anche se ipoteticamente potrebbe essere ancora ragionevole se uno ha bisogno di sedersi su diversi conti dello stesso broker. In questo caso (come minimo)AccountInfoInteger(ACCOUNT_LOGIN) oAccountInfoString(ACCOUNT_SERVER) potrebbero funzionare.
Non so nulla dell'ID unico del terminale, ma puoi aggiungereAccountInfoString(ACCOUNT_COMPANY) all'avviso. Non credo che qualcuno avrà più istanze MT5 connesse alla stessa società di brokeraggio allo stesso tempo, anche se ipoteticamente potrebbe ancora essere utile se avete bisogno di sedersi su diversi conti dello stesso broker. In questo caso (al peggio)AccountInfoInteger(ACCOUNT_LOGIN) oAccountInfoString(ACCOUNT_SERVER) andranno bene.
Sì, puoi mettere qualsiasi dato identificativo nei tuoi avvisi. Ma la domanda riguarda il caso generale.
Quale funzione oltre a StringToCharArray non funziona correttamente con gli zeri interni?
Per esempio, StringToShortArray funziona senza errori.
StringCompare funzionava in modo errato, ma questo è stato risolto molto tempo fa.
Come per StringLen
Hai ragione, ho cambiato il comportamento di StringToCharArray, ora è l'intera lunghezza della stringa, non fino al primo carattere '0'.
Hai ragione, ho cambiato il comportamento di StringToCharArray, ora per l'intera lunghezza della stringa, non fino al primo carattere '0'.
Forum sul trading, sistemi di trading automatico e test di strategia
Errori, bug, problemi
A100
, 2021.05.25 00:16Risultato: 4:0
Atteso: 0:0
Allorarimane solo una differenza traStringToCharArray eStringToShortArray:
Ha reso il comportamento lo stesso.
Inoltre: nel prossimo futuro, gli array e le stringhe saranno integrati con metodi, ad esempio
nel prossimo futuro, gli array e le stringhe saranno integrati da metodi
Sempre meno in comune con MQL4...