Domande dai principianti MQL4 MT4 MetaTrader 4 - pagina 199
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
F11
Ciao, puoi dare qualche consiglio. sto scrivendo il mio EA. probabilmente lo sto facendo tutto il tempo, lo sto testando e guardando cosa funziona e cosa no. il problema è questo. ho finito di scrivere il codice, l'ho testato, tutto funziona come dovrebbe, poi qualche tempo dopo, inizio a testarlo di nuovo, inizia a fare glitch (nessuna apertura di posizione o non esegue alcune funzioni), perché è questo?
Avete mai inviato informazioni di debug al diario? No? Non si dovrebbe. Avresti già visto il motivo.
Emette qualche informazione di debug nel log? No? Non avresti dovuto. Ormai dovresti averne capito la causa da solo.
Non so ancora come visualizzare queste informazioni, dove posso trovare come farlo?
Non so ancora come stampare queste informazioni, dove posso vedere come fare?
Stampa()
Stampa()
Conosco questa funzione, cosa dovrei scrivere lì?)
Conosco questa funzione, cosa dovrei scrivere lì?)
Il problema è che ho finito di scrivere il codice e l'ho testato, funziona tutto e poi inizia a fare il glitch (dopo un po' di tempo, inizio a testarlo di nuovo e poi fallisce). Ho già copiato il codice, l'ho testato e funziona come dovrei. Qualche tempo dopo, inizio a testarlo di nuovo e inizia a funzionare in modo errato (nessuna apertura di posizione o nessuna esecuzione di funzione), perché?
Beh, ovviamente, per capire il motivo per cui qualcosa non funziona è necessario controllare le condizioni di questo "qualcosa" prima di eseguirlo.
Nel debugger ci si può muovere scrupolosamente tra le linee di codice controllando i valori di tutte le variabili nella speranza che in qualche momento appaia la ragione della mancata esecuzione.
Oppure potete, prima di chiamare una funzione che, secondo voi, non viene eseguita in qualche oscuro momento in cui dovrebbe esserlo, scrivere i valori di tutte le variabili che causano la chiamata della funzione. E aspetta in silenzio che queste voci appaiano nel diario. Usando questi record possiamo capire perché la funzione non è stata chiamata. Allo stesso modo quando si aprono le posizioni - prima assicuratevi che il terminale scriva gli errori, e se non ci sono errori, allora cercate gli errori logici nel programma. Come - vedi sopra.
Ovviamente, per capire il motivo per cui qualcosa non viene eseguito, bisogna controllare le condizioni di esecuzione di questo "qualcosa" prima di eseguire questo "qualcosa".
Si può passare scrupolosamente attraverso le linee di codice nel debugger, controllando i valori di tutte le variabili nella speranza che ad un certo punto appaia una causa di non esecuzione.
E prima di chiamare una funzione, che in qualche oscuro momento secondo voi non viene eseguita quando dovrebbe, potete scrivere nel log tutti i valori di tutte le variabili che causano la chiamata della funzione. E aspetta in silenzio che queste voci appaiano nel diario. Usando questi record possiamo capire perché la funzione non è stata chiamata. Allo stesso modo quando si aprono le posizioni - prima assicuratevi che il terminale scriva gli errori, e se non ci sono errori, allora cercate gli errori logici nel programma. Come - vedi sopra.
Grazie per l'idea)))