Errori, bug, domande - pagina 1593
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
Lo script magico inverte il tempo ;-)
Lo smartphone riceve un messaggio su una recensione di un prodotto, ma non sulla LC o sulla parte superiore del sito mcl.
Non è un bug, ma non posso fare a meno di condividere
Scrivere
Il compilatore dà un avvertimento
data non valida *****.mq4 115 46
Controlla anche le date delle stringhe valide, sono scioccato ) (30 giorni di giugno)
Apparentemente non interessa a nessuno, ma scriverò di nuovo.
Il vero compito è quello di creare array con una dimensione totale di circa il 100% della memoria libera, riempirli rapidamente di numeri, eseguire i calcoli e rilasciarli.
Cerco di ottenere la dimensione della memoria libera con
risultato: 23987 MB, la mia memoria fisica è 12141 MB, cioè la metà.
Capisco che questa cifra è per i marziani, ma ci credo ancora e scrivo uno script per testarla:
Ottengo un risultato logico - è impossibile allocare l'array3 perché la memoria si è esaurita.
Poi decommento la linea, dove specifico quanta memoria è disponibile ora:
Dopo di che lo script viene eseguito con successo.
Non voglio essere un fastidio per gli sviluppatori, ma è importante sapere quanta memoria è disponibile.
Per favore, rendete possibile conoscerlo attraverso TerminalInfoInteger.
Siete consapevoli che nella maggior parte dei casi non sarete in grado di recuperare tutta la memoria disponibile?
Esiste una cosa come la frammentazione della memoria. Avete deciso di dividere tutta la memoria in 5 frammenti - e il sistema non ha un singolo frammento ininterrotto di memoria della dimensione che vi serve.
Siete consapevoli che nella maggior parte dei casi non sarete in grado di recuperare tutta la memoria disponibile?
Esiste una tale nozione - la frammentazione della memoria. Avete deciso di dividere tutta la memoria in 5 frammenti - ma il sistema non ha un singolo pezzo continuo di memoria della dimensione che vi serve.
1. Puoi prima scoprire cosa significa fisicamente il parametro TERMINAL_MEMORY_AVAILABLE?
2. Per quanto riguarda i frammenti, penso che questo dovrebbe essere gestito dal gestore della memoria di Windows, non dal programmatore.
Ho bisogno di sapere quanto posso usare in un dato momento, per esempio, voglio usare il 50% della memoria disponibile.
Un altro compito reale è la richiesta di CopyTicks. Se si richiedono più zecche della memoria disponibile si ottiene 'out of memory'.
Un'altra vera sfida è la richiesta di CopyTicks. Se si richiedono più zecche della memoria disponibile si ottiene 'out of memory'.
In alternativa, caricare i dati in un file e prendere i segmenti richiesti da lì
Questo è lento per me. Voglio fare tutto attraverso la memoria. In realtà viene fatto ora, ma devo chiamare GlobalMemoryStatusEx per scoprire la dimensione della memoria disponibile.
Questo problema è particolarmente acuto quando si ottimizza su agenti cloud, le cui capacità non si conoscono dall'inizio: è impossibile determinare la quantità reale di memoria disponibile, né attraverso MQL, né attraverso WinApi (perché le chiamate dll sono vietate).
Non si capisce bene che senso pratico abbia allora TERMINAL_MEMORY_AVAILABLE: perché introdurlo se non ci rende né felici né infelici?