C'è una differenza tra ZeroMemory(array); e ArrayFree(array); per azzerare l'array? Se dopo questa funzione si assegna una nuova dimensione all'array, ArrayResize(array,100,100);
C'è una differenza tra ZeroMemory(array); e ArrayFree(array); per un array da azzerare? Se dopo questa funzione si assegna una nuova dimensione all'array, ArrayResize(array,100,100);
ZeroMemory non libera la memoria, la azzera soltanto.
C'è una differenza tra ZeroMemory(array); e ArrayFree(array); per un array da azzerare? Se dopo questa funzione si assegna una nuova dimensione all'array, ArrayResize(array,100,100);
Penso che ci siano alcune sottigliezze qui. Se la dimensione dell'array viene aumentata dopo ZeroMemory(array);, potremmo avere "spazzatura" nelle celle dell'array che sono "indietro". Se applicate ArrayFree(array);, la "spazzatura" può trovarsi ovunque nell'array.
Quindi, è possibile scegliere solo facendo alcuni esperimenti sulla velocità di queste funzioni. Ed è il programmatore che decide della "spazzatura". Se un array viene riempito di valori subito dopo la dichiarazione o il ridimensionamento, che senso ha azzerare e poi riempire questo array...
enum LIST
{
L01=111, // ITEM 1
L02=222, // ITEM 2
L03=333, // ITEM 3
L04=444, // ITEM 4
L05=555, // ITEM 5L06=666, // ITEM 6L07=666, // ITEM 7L08=666, // ITEM 8
};
input LIST LISTING_01=L01;
input LIST LISTING_02=L02;
input LIST LISTING_03=L03;
input LIST LISTING_04=L04;
input LIST LISTING_05=L05;
input LIST LISTING_06=L06;
input LIST LISTING_07=L07;
input LIST LISTING_08=L08;
Per quanto ho capito, tutti gli L0X in enum LIST {} sono indipendenti. Tuttavia, non appena assegniamo lo stesso valore (666) ad alcuni elementi di enum, il commento di default smette di essere visualizzato correttamente, prendendo il commento (e apparentemente il valore, anche se è difficile da dire, dato che sono lo stesso e impossibile da capire) dal primo elemento con lo stesso valore (vedi le ultime tre righedi enum LIST {}) per qualche motivo.
Peggio ancora, quando si cerca di cambiare la visualizzazione di default della linea 7 da "ITEM 6" a "ITEM 7" e della linea 8 a "ITEM 8" in Program Settings, chesono originariamente nei commenti al codice, vengono persistentemente riportati a"ITEM 6":
La CPU o la GPU gestisce i buffer degli indicatori? Cosa dovrei aggiornare per renderlo più veloce? Naturalmente, si tratta dell'hardware, dato che OpenCL, sospetto, non aiuterà in questo caso.
Ciao a tutti, potete darmi un suggerimento? MT5 nell'equilibrio è costantemente qualche tipo di calcolo è incomprensibile. Aggiunge e sottrae. L'equilibrio cambia costantemente. Per questo, il risk manager lavora solo ***. Il broker è un apripista. Sezione mercato dei futures. Sui temi non hanno tempo per navigare. Lancia il link se c'è già una domanda del genere. Non ho tempo per questo, grazie!
Consenti l'uso dei cookie per accedere al sito MQL5.com.
Abilita le impostazioni necessarie nel browser, altrimenti non sarà possibile accedere.
Hai effettuato l'accesso. L'autenticazione a due fattori è stata disattivata. Configurala di nuovo e scansiona un nuovo codice QR, oppure continua con l'autenticazione a due fattori disattivata.
Oleg Pavlenko #:
Perché funziona correttamente in MQL4 senza azzeramento, ma non in MQL5?
MQL4 azzera tutto da solo.
Grazie!
Mi ha aiutato.
Non capisco una cosa, perché funziona correttamente in MQL4 senza azzeramento, ma non in MQL5?
MQL4 azzererà tutto da solo.
C'è una differenza tra ZeroMemory(array); e ArrayFree(array); per azzerare l'array? Se dopo questa funzione si assegna una nuova dimensione all'array, ArrayResize(array,100,100);
C'è una differenza tra ZeroMemory(array); e ArrayFree(array); per un array da azzerare? Se dopo questa funzione si assegna una nuova dimensione all'array, ArrayResize(array,100,100);
ZeroMemory non libera la memoria, la azzera soltanto.
ZeroMemory non libera la memoria, la azzera soltanto.
grazie
C'è una differenza tra ZeroMemory(array); e ArrayFree(array); per un array da azzerare? Se dopo questa funzione si assegna una nuova dimensione all'array, ArrayResize(array,100,100);
Penso che ci siano alcune sottigliezze qui. Se la dimensione dell'array viene aumentata dopo ZeroMemory(array);, potremmo avere "spazzatura" nelle celle dell'array che sono "indietro". Se applicate ArrayFree(array);, la "spazzatura" può trovarsi ovunque nell'array.
Quindi, è possibile scegliere solo facendo alcuni esperimenti sulla velocità di queste funzioni. Ed è il programmatore che decide della "spazzatura". Se un array viene riempito di valori subito dopo la dichiarazione o il ridimensionamento, che senso ha azzerare e poi riempire questo array...
Per quanto ho capito, tutti gli L0X in enum LIST {} sono indipendenti. Tuttavia, non appena assegniamo lo stesso valore (666) ad alcuni elementi di enum, il commento di default smette di essere visualizzato correttamente, prendendo il commento (e apparentemente il valore, anche se è difficile da dire, dato che sono lo stesso e impossibile da capire) dal primo elemento con lo stesso valore (vedi le ultime tre righedi enum LIST {}) per qualche motivo.
Peggio ancora, quando si cerca di cambiare la visualizzazione di default della linea 7 da "ITEM 6" a "ITEM 7" e della linea 8 a "ITEM 8" in Program Settings, chesono originariamente nei commenti al codice, vengono persistentemente riportati a"ITEM 6":
C'è un errore di battitura qui