Errori, bug, domande - pagina 2202
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
Cosa c'è di così difficile? Tieni d'occhio il file dei risultati + il nativo Sleep risolve il problema.
A proposito, sì. Più facile )))
Sì, c'è un tale problema. Quando si passa un puntatore per riferimento a un operatore sovraccaricato si verifica un errore. Questo è apparso nelle ultime build, prima era tutto OK. Ho inviato una richiesta al service-desk per un paio di mesi, ma è silenzioso come al solito. Nessuna risposta o addio.
Questo è particolarmente critico per gli array di puntatori, dato che non c'è altro modo per inviarli, tranne che per riferimento:
Quindi, sono ancora seduto su 1554 build.
Ho affrontato lo stesso con i puntatori nelle ultime build, prima era possibile passare void senza problemi, ora per riferimento non funziona, ho dovuto correggere il codice in diverse delle mie librerie
Un oggetto di sincronizzazione con un overhead maggiore di quello che il file non potrebbe offrire? Stronzate.
È necessario scrivere su un file durante i test? Cosa c'è di sbagliato nella memoria?
Grazie per la dritta su Sleep() del Kernel!
Perché è così difficile farlo? Tenere d'occhio il file dei risultati + lo Sleep nativo risolve il problema.
MQL Sleep() durante i test salta il tempo virtuale (cioè ticchetta il tempo di 0,6 secondi) mentre il tempo reale salta meno di un millisecondo e il programma esterno esegue il tempo reale.
Ma con Sleep from Kernel ci proverò ).
è necessario scrivere su un file durante i test? cosa c'è di sbagliato nella memoria?
Sì, usare la memoria invece di scrivere su file durante i test farà risparmiare un po' di tempo (non ho stimato esattamente, ma presumo fino a 30 millisecondi al massimo per ciclo), ma è ancora il programma esterno che richiede più tempo.
Quindi per ora la cosa fondamentale è sospendere i test mentre il programma esterno è in esecuzione.
Sì, usando la memoria invece di scrivere su file durante i test si risparmia un po' di tempo (non ho stimato esattamente, ma presumo fino a 30 millisecondi al massimo per ciclo), ma la maggior parte del tempo è ancora spesa nell'esecuzione del programma esterno.
Quindi per ora la cosa fondamentale è sospendere i test mentre il programma esterno è in esecuzione.
In generale, la velocità di scrittura su file e memoria differisce di un fattore due.
E ora (build 1809) viceversa
https://www.mql5.com/ru/forum/1111/page2181#comment_6765277
La 3a linea (in OnStart) compila, ma la 4a linea no.
In altre parole
E se si scambiano le linee (1) e (2), va bene. Qual è la differenza?