Errori, bug, domande - pagina 2761
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
0xFF è probabilmente trasformato in 4 byte dal compilatore.
no, ma si inizializza correttamente
Buon pomeriggio, per favore consigliate come risolvere il problema:
Durante l'ottimizzazione appare un errore:
2020.05.31 15:05:32.738 Core 7 genetico passaggio (0, 53) testato con errore "errore critico di runtime 503 nella funzione OnTick (zero divide, modulo Experts\e1.ex5, file e1.mq5, linea 826, col 73)" in 0:00:00.153
double Mix1 = NormalizeDouble((MathAbs(ZExtLevel[0] - ZExtLevel[1]), 2)
double Mix2 = NormalizeDouble((MathAbs(ZExtLevel[1] - ZExtLevel[2])), 2);
double Mix = NormalizeDouble((Mix1/Mix2),2);
Cosa ho fatto:
1) Ho moltiplicato Mix1 e Mix2 per ridurre il numero di cifre decimali;
2) ha cambiato la quantità di cifre nella normalizzazione;
3) Controllato tutti gli ZExtLevels per assicurarsi che non contengano 0.
No, ma si inizializza correttamente
Perché sei sicuro che non sia così? Il default in Integer è di presentare. la dimensione di dice così.
Perché sei sicuro che non sia così? Il default in Integer è di presentare. sizeof dice che lo fa.
uint, per essere precisi.
Perché sei sicuro che non sia così? Il default in Integer è di presentare. la dimensione di dice così.
funziona anche senza avvertimenti?
Perché c'è una firma corrispondenteArrayInitialize
e per qualche ragione sconosciuta non hanno creato ArrayInitialize() per unsigned uchar
funziona allo stesso modo senza avvertimenti?
perché c'è una firma corrispondente ArrayInitialize
e per un unsigned uchar non hanno fatto ArrayInitialize() per qualche ragione sconosciuta.
Non si tratta della firma o dell'assenza di essa. Il punto è che 4 byte sono convertiti in 1 e l'informazione può teoricamente essere persa - questo è ciò di cui avverte il compilatore.
ProvaArrayInitialize(c, (char)10000);
ci sarà anche un avvertimento
Non si tratta della firma o della sua mancanza. Il punto è che 4 byte sono convertiti in 1, l'informazione può teoricamente essere persa - questo è ciò di cui avverte il compilatore.
ProvaArrayInitialize(c, (char)10000);
ci sarà anche un avvertimento
Beh, era chiaro fin dall'inizio
La domanda è qui in un modo diverso - dove avete davvero bisogno di carbone?
Uso uchar in StringToCharArray() e CryptEncode() e se guardate nell'aiuto troverete altro
Ecco perché posso inizializzare un array di char usando ArrayInitialize, ma uchar non posso farlo
Ok, questo è un gran baccano, dubito che cambierà ;)
PS: 0xFF = 255 (1 byte)
Sì, è chiaro che era tutto dall'inizio
qui la domanda è diversa, è qui che il carbone è veramente necessario?
Io uso uchar in StringToCharArray () e CryptEncode (), e se andate nell'aiuto ci sono ancora
ecco perché posso inizializzare un array di char usando ArrayInitialize, ma uchar non può
ok, il nobile holivar si è rivelato, dubito che qualcosa cambierà;)
PS: 0xFF = 255 (1 byte)
Sì, è stato così fin dall'inizio.
Ecco un'altra domanda: dove hai davvero bisogno del carbone?
Uso uchar in StringToCharArray() e CryptEncode().
Ecco perché posso inizializzare un array di char usando ArrayInitialize, ma uchar non posso farlo
Ok, questo è un gran baccano, dubito che cambierà ;)
PS: 0xFF = 255 (1 byte)
Non so perché non si può. uchar funziona allo stesso modo di char.
Hai chiesto perché hai ricevuto l'avviso, perché 4 byte in 1. 255 non è importante. 0 e 1 possono essere 1 e 2 e 4 e 8 byte)
Alain Verleyen:
controllato:
OK, funziona senza alcun avvertimento del compilatore
Grazie