Errori, bug, domande - pagina 1624
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
Sto scrivendo un Expert Advisor che chiama l'indicatore ex5. L'Expert Advisor funziona correttamente nel tester della strategia, ma se eseguo l'ottimizzazione, gli agenti si bloccano alla fine dell'esecuzione:
Se premo il pulsante di chiusura, dopo un po' di tempo l'agente si riavvia e fa una nuova corsa, poi si blocca di nuovo.
L'analisi dei registri non ha dato nulla:
La firma dell'errore è la seguente:
Ho provato a commentare la creazione di una maniglia dell'indicatore. L'errore è scomparso e l'Expert Advisor ha eseguito tutte le corse normalmente, anche se invano.
Ecco perché sto scrivendo qui prima di inviare messaggi al Service Desk: forse c'è qualcosa di speciale quando si lavora con gli indicatori nello strategy tester? Forse è necessario chiamare IndicatorRelease da qualche parte? Se qualcuno sa come risolvere il problema - per favore scriva.
Sto scrivendo un Expert Advisor che chiama l'indicatore ex5. L'Expert Advisor funziona correttamente nel tester della strategia, ma se eseguo l'ottimizzazione, gli agenti si bloccano alla fine dell'esecuzione:
Se premo il pulsante di chiusura, dopo un po' di tempo l'agente si riavvia e fa una nuova corsa, poi si blocca di nuovo.
L'analisi dei registri non ha dato nulla:
La firma dell'errore è la seguente:
Ho provato a commentare la creazione di un indicatore di maniglia. L'errore è scomparso e l'Expert Advisor ha eseguito tutte le corse normalmente, anche se invano.
Ecco perché sto scrivendo qui prima di inviare messaggi al Service Desk: forse c'è qualcosa di speciale quando si lavora con gli indicatori nello strategy tester? Forse è necessario chiamare IndicatorRelease da qualche parte? Se qualcuno sa come aggiustarlo - per favore scriva.
Quando MT4 avrà la possibilità di copiare una linea dal registro e non ottenere una codifica diversa quando viene incollata:
2016.08.03 00:03:36.699 2013.04.26 10:15 Kamikadze_MA_V_04_42_Fibo_05_Regressor_T_K GBPUSD,M15: Magic=111Îrder 322 SELLSTOP non ìîäèèred. Offerta (1,5448) inferiore al prezzo di apertura (1,5498)Quando MT4 avrà la possibilità di copiare una linea dal registro e non ottenere una codifica diversa quando viene incollata:
2016.08.03 00:03:36.699 2013.04.26 10:15 Kamikadze_MA_V_04_42_Fibo_05_Regressor_T_K GBPUSD,M15: Magic=111Îrder 322 SELLSTOP non ìîäèèred. Offerta (1,5448) inferiore al prezzo di apertura (1,5498)Quando si copia dal diario di bordo, assicurarsi che il layout in win sia russo.
Grazie! Ho sempre un layout inglese di default.
Ma, perché devo usare ogni sorta di trucchi...
Grazie! Ho sempre un layout inglese di default.
Ma, perché devo usare ogni sorta di trucchi...
Usa MT5, dove tutto è in unicode e non ci sono questi problemi.
Non ho soldi per MT5 - faccio trading con conti in centesimi e il DC non ha fretta di aprirli per cinque sterline.
Vorrei sollevare ancora una volta il problema della compilazione lenta di MQL5. Circa tre mesi fa ho cercato di sollevare questo problema, ma non è stato capito, apparentemente i miei argomenti non erano abbastanza convincenti. Pertanto, sono tornato alla vecchia build (1159), che ha compilato tutto quasi istantaneamente (mentre con i nuovi compilatori il mio progetto ha compilato in 20 secondi).
E così una settimana fa ho cercato di passare a una nuova build. Ho pensato "dimentica i 20 secondi, sopporterò per il bene delle cose nuove". Naturalmente ho dovuto modificare un po' il codice per rispettare le nuove condizioni, il che ha rivelato diversi bug del nuovo compilatore (descritto qui).Il risultato è che il mio progetto sta compilando già da 30 secondi! Non so se ha a che fare con la complicazione del progetto o con una "complicazione" in più del compilatore, ma semplicemente non va più bene.
Il progetto contiene circa 700 Kb di codice sorgente, è un Expert Advisor che contiene un paio di dozzine di mqh. Tutto è OOP. La gente mi ha scritto prima che il rallentamento è probabilmente causato da grandi funzioni. Ne ho avuti un po'. Beh, li ho frammentati in parti più piccole e non hanno alcun effetto.
La cosa più sorprendente è che questa compilation superlunga non serve a niente. La velocità del programma è la stessa che con il vecchio compilatore, l'ho misurata appositamente. Questo richiede solo una frase: "Per cosa?
Ho la forte sensazione che ci sia un bug/malfunzionamento nel compilatore a causa del quale sta oziando in uno spazio vuoto. Come altro posso spiegare il fatto che uno script assolutamente vuoto con solo la funzione OpenStart() { } compila oltre 400 ms!È inimmaginabile che ci possa volere così tanto tempo per compilare/ottimizzare uno script vuoto. Bene, aggiungendo piccole funzioni e classi in esso, si può vedere come il tempo di compilazione cresce rapidamente.
Voglio dire subito che il mio hardware è ovviamente tutt'altro che potente - Core i5U. Ma questo non impedisce al mio progetto di compilare in 1-2 secondi su un vecchio compilatore. Rispettivamente, il dummy viene compilato in un attimo.
Noterò anche. Al compilatore manca completamente non solo il caching dei frammenti compilati in precedenza, ma anche un banale controllo per assicurarsi che il codice sorgente fosse identico. Cioè compili il tuo progetto e poi clicchi di nuovo sul pulsante "Compile" senza fare alcuna modifica e aspetti di nuovo gli stessi 30 secondi. Quanto è buono...
Mi piacerebbe sentire i commenti degli sviluppatori di MT e degli utenti del forum che lavorano con grandi progetti (sono solo io che sono preoccupato per questo problema?), quanto tempo ci vuole per compilare e su quale hardware. Vorremmo sottolineare che stiamo parlando della compilazione di un eseguibile.
Codice delprogetto 400 kB
in mt4 compila in 888 msec
lo stesso progetto in mt5 compila 4103 ms
Anche se a volte alcuni progetti con 50Kb di codice sono in qualche modo lenti, ma succede una volta ogni tanto e non mi preoccupa.