Errori, bug, domande - pagina 2589
![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
Domanda su ArrayResize. Faccio una riserva per diversi gigabyte in una volta sola. Poi aumento gradualmente la dimensione che è inferiore alla riserva iniziale.
Perché TaskManager mostra un aumento del consumo di memoria durante l'aumento delle dimensioni?
Non ci facciamo niente di proposito - è una caratteristica del sistema operativo (e l'utente ha davvero bisogno di gigabyte?
Se volete avere memoria calda in un punto critico di un programma, dovete "correre" attraverso le pagine del chunk allocato prima di quel punto, in modo che le pagine di memoria virtuale del processo diventino fisiche.
Ma, da MQL, non c'è accesso al chunk riservato dell'array.
Non facciamo nulla per questo di proposito - è una caratteristica del sistema operativo (e l'utente ha davvero bisogno di gigabyte?
Se volete avere memoria "calda" in un punto critico di un programma, dovete "correre" attraverso le pagine del chunk allocato prima di quel punto, in modo che le pagine di memoria virtuale del processo ottengano quelle fisiche.
Ma, da MQL, non c'è accesso al chunk riservato dell'array.
Grazie. Mi chiedo come dovrebbero essere influenzate le prestazioni se si fa un ArrayResize completo su gigabyte in una volta sola.
Testato, ha eseguito un overshoot completo mentre ottimizzava il mio EA per 5000 passaggi, contati solo dal log del tester
1. 14:04:28.365 - 14:15:47.481 = 11 m 19 sec
2. 13:49:56.885 - 14:00:30.819 = 10 m 34 sec.
3. 14:28:35.89 - 14:41:11.659 = 12 m 36 sec
in linea di principio, come previsto l'opzione 2 è più veloce, per 5000 corse il guadagno è di circa 30 secondi, anche abbastanza buono
Per favore, aiutatemi a chiamare questo menu attraverso WinAPI.
Posso ottenere la linea con il nome dell'EA selezionato. C'è solo una linea in ComboBox, a differenza di MT4.
Ma non posso chiamare il menu. BM_CLICK non funziona.
Come si usano i messaggi in x64?
Risolto il problema usando WM_LBUTTONDOWN.
int Array0[] = {};
Fondamentalmente come previsto l'opzione 2 è più veloce, per 5000 passaggi il guadagno è di circa 30 secondi, non male.
Sarebbe bello avere un thread dove si raccolgono risultati simili. Per l'ottimizzatore è rilevante.
Sarebbe bene avere un ramo dove si raccolgono risultati simili. È rilevante per l'ottimizzatore.
Lo sostengo, non è la prima volta che faccio dei test e pubblico i risultati in mezzo al nulla
ma non sono pronto ad aprire un ramo.... cattiva educazione, il senso di responsabilità mi travolgerà, e mantenere l'argomento aggiornato... Non sono sicuro di poterlo fare (((
ZS: seguendo l'esempio sopra.... ieri non ha deciso di scrivere di nuovo questo filo nell'esempio #2 SymbolInfoTick() aSymbolInfoInteger(_Symbol, SYMBOL_TIME)
ZZZY: ecco un esempio in cui uso, è più conveniente per me nell'ottimizzatore cercare il tempo con una frequenza di campionamento di 5 minuti - meno passaggi, quindi il tempo nell'ottimizzatore generalmente fatto 2 byte in ushort, se 0 - allora questa opzione non viene utilizzata, ho più - per verificare come lavorare con i byte, ma non ora - nel mio esempio una volta in OnInit() ho diviso i byte - non critico
uso:
vale a dire, il risultato del metodo Disable() - très not working time, falce - working
Sarebbe bene avere un ramo dove si raccolgono risultati simili. È rilevante per l'ottimizzatore.
Posso avere qualche dettaglio: perché SocketTlsReadAvailable () restituisce un errore (5273 ERR_NETSOCKET_IO_ERROR) quando Socket è connesso (SocketIsConnected () restituisce true)?
Forum sul trading, sistemi di trading automatico e test di strategia
Bug, bug, domande
Alain Verleyen, 2019.08.29 01:17
A proposito delle funzioni mql SocketXXX () questo messaggio è destinato principalmente agli sviluppatori di Metaquotes: @Renat Fatkhullin, @Slava, @Ilyas
Sto usando il codice qui sotto per controllare la ricezione dei messaggi su una connessione sicura.
Il più delle volte funziona correttamente. Tuttavia, di tanto in tanto ottengo un messaggio di errore, anche se la presa è collegata, e dopo un po' di tempo (da 1 a 5/6 errori) continua a funzionare.
... dati/messaggi ricevuti correttamente
2019.08.29 00: 45: 43.019 XXXX (EURUSD, H1) ERRORE: 5273, socket (1), leggere: len = 437
2019.08.29 00: 45: 43.237 XXXX (EURUSD, H1) ERRORE: 5273, socket (1), leggere: len = 1242
... dati/messaggi ricevuti correttamente
L'errore 5273 è molto comune e non aiuta molto. È possibile ottenere maggiori informazioni su questi errori?