Problema dei terminali globali - pagina 2

 

Grazie, Pensiero Profondo. Darò un'occhiata. Non ho provato da un po' di tempo. Ho iniziato a programmare alla fine degli anni '70, quando non esistevano IDES o debugger. I PC non esistevano nemmeno. Usavamo editor di testo per creare i nostri programmi e inserivamo dichiarazioni di stampa per "debuggare". Ho usato Alerts perché posso vederli quando accadono e ottengo automaticamente un log che posso tornare indietro e guardare. Ehi, è meglio di quello che avevamo "ai vecchi tempi" :-)

Hai ragione riguardo alle informazioni disponibili. È decisamente carente. Ottengo la maggior parte delle mie informazioni venendo sul forum e facendo domande. Cerco di fornire informazioni utili in cambio se trovo una soluzione ad un problema di programmazione. Siamo tutti Devs. Dobbiamo lavorare insieme qui. È un piacere fare la tua conoscenza :-)

 
Eh, anni settanta? Ho la TI-57 con (credo) 100 passi. Conta per la carriera dev?
 
Nel mio libro è così. Programmare su una calcolatrice programmabile richiede una certa potenza di fuoco mentale. Non è sicuramente la cosa più facile del mondo da fare :-)
 
ProfessorMetal:

Grazie, Pensiero Profondo. Darò un'occhiata. Non ho provato da un po' di tempo. Ho iniziato a programmare alla fine degli anni '70, quando non esistevano IDES o debugger. I PC non esistevano nemmeno. Usavamo editor di testo per creare i nostri programmi e inserivamo dichiarazioni di stampa per "debuggare". Ho usato Alerts perché posso vederli quando accadono e ottengo automaticamente un log che posso tornare indietro e guardare. Ehi, è meglio di quello che avevamo "ai vecchi tempi" :-)

Hai ragione riguardo alle informazioni disponibili. È decisamente carente. Ottengo la maggior parte delle mie informazioni venendo sul forum e facendo domande. Cerco di fornire informazioni utili in cambio se trovo una soluzione ad un problema di programmazione. Siamo tutti Devs. Dobbiamo lavorare insieme qui. Piacere di fare la tua conoscenza :-)

Ciao,

Quali informazioni ti mancano sul debugger? Hai controllato il file di aiuto di MetaEditor?

C'è un bug noto con la build 646, con una correzione disponibile.

 

Sì, ho controllato il file di aiuto. Alcune di queste informazioni apparentemente non erano disponibili quando l'ho fatto io (era nella build 600 o giù di lì, se ricordo bene). Non ricordo di aver visto una scheda di debug nella finestra di dialogo delle opzioni a quel punto. Né ho visto alcuna menzione di essa nella documentazione. Ovviamente, la correzione 646 non era disponibile allora. Se vuoi, chiariscimi un paio di cose. Io scrivo e tengo il codice del mio progetto (e una copia del MetaEditor attuale) in una cartella dedicata a questo scopo e copio gli eseguibili nella cartella di installazione di MT4 per i test (solo in avanti, non faccio back test). Ha senso per me che il progetto che si sta cercando di eseguire il debug deve essere nella cartella corretta nella vostra installazione MT4 e che è necessario utilizzare l'applicazione MetaEditor dalla vostra applicazione MT4 in esecuzione e aprire i file mq4, ecc che risiedono nella cartella di installazione o il debugger non saprà cosa si sta cercando di eseguire il debug. L'indicatore su cui sto lavorando ha solo un singolo file mq4, quindi presumo che sia quello che deve essere aperto in MetaEditor. Giusto? Questo è l'approccio che ho preso fin dall'inizio assumendo che il debugger e l'esecuzione di MT4 non potevano sapere nulla di ciò che avevo nella mia directory di sviluppo separata.

Probabilmente non arriverò a questo fino all'inizio della prossima settimana. Sono negli Stati Uniti e sono stato sveglio tutta la notte a lavorare. È tempo per me di "andare a dormire", come diciamo qui negli Stati Uniti. Grazie per la tua risposta e sicuramente posterò e ti farò sapere cosa incontrerò quando proverò l'attuale incarnazione del debugger. Come ho detto in precedenza, so che quello che MQ sta facendo qui non è banale. Sarò felice di aiutare in ogni modo possibile.

Buon fine settimana, angevoyageur.

 
ProfessorMetal:

Sì, ho controllato il file di aiuto. Alcune di queste informazioni apparentemente non erano disponibili quando l'ho fatto io (era nella build 600 o giù di lì, se ricordo bene). Non ricordo di aver visto una scheda di debug nella finestra di dialogo delle opzioni a quel punto. Né ho visto alcuna menzione di essa nella documentazione. Ovviamente, la correzione 646 non era disponibile allora. Se vuoi, chiariscimi un paio di cose. Io scrivo e tengo il codice del mio progetto (e una copia del MetaEditor attuale) in una cartella dedicata a questo scopo e copio gli eseguibili nella cartella di installazione di MT4 per i test (solo in avanti, non faccio back test). Ha senso per me che il progetto che si sta cercando di eseguire il debug deve essere nella cartella corretta nella vostra installazione MT4 e che è necessario utilizzare l'applicazione MetaEditor dalla vostra applicazione MT4 in esecuzione e aprire i file mq4, ecc che risiedono nella cartella di installazione o il debugger non saprà cosa si sta cercando di eseguire il debug. L'indicatore su cui sto lavorando ha solo un singolo file mq4, quindi presumo che sia quello che deve essere aperto in MetaEditor. Giusto? Questo è l'approccio che ho preso fin dall'inizio assumendo che il debugger e l'esecuzione di MT4 non potevano sapere nulla di ciò che avevo nella mia directory di sviluppo separata.

Probabilmente non arriverò a questo fino all'inizio della prossima settimana. Sono negli Stati Uniti e sono stato sveglio tutta la notte a lavorare. È tempo per me di "andare a dormire", come diciamo qui negli Stati Uniti. Grazie per la tua risposta e sicuramente posterò e ti farò sapere cosa incontrerò quando proverò l'attuale incarnazione del debugger. Come ho detto in precedenza, so che quello che MQ sta facendo qui non è banale. Sarò felice di aiutare in ogni modo possibile.

Buon fine settimana, angevoyageur.

Non c'è di che. Fammi sapere qualsiasi problema che puoi incontrare mentre usi il debugger. Ti aiuterò se posso, dato che funziona molto bene per me.

Se stai tenendo il tuo file fuori dalla cartella dei dati di MT4 è effettivamente meglio tenere tutto in un file e poi copiarlo nella cartella giusta quando si fa il debug.

 

Ehi, angevoyageur

Questo potrebbe meritare un thread tutto suo, ma qui va - quando avvio il debugger ho davvero bisogno di avere il grafico che porta su impostato secondo le mie specifiche. Ho un indicatore che ho già finito così come un paio di altre cose che voglio sul grafico. Inoltre, ho bisogno che il grafico sia impostato su certe specifiche, come la visualizzazione di candele, lo zoom su un certo punto, ecc. Ho bisogno di questo per potermi concentrare sull'inizio dell'indicatore che sto sviluppando e guardare cosa fa. Allo stato attuale delle cose, o l'esecuzione mi è sfuggita e ha fatto cose che mi sono sfuggite, invalidando così la mia prova, o se cerco di impostare le cose, tutto si blocca e finisco per dover usare il Task Manager per chiudere e riprovare.

Il grafico dei prezzi che la finestra di debug fa apparire corre completamente fuori dal lato destro del grafico, il che comporta la visualizzazione di indicatori di trading che non posso vedere. Di conseguenza, non so cosa sia successo o perché. La documentazione di MQL5 dice che c'è un file debug.tpl nella cartella profile/templates che, presumo, permetterebbe di impostare questo tipo di cose in modo che la finestra di debug sia configurata nel modo in cui serve. La mia installazione di MT4 non ha una tale cartella e crearne una e salvarci un file template non ha funzionato. Non pensavo che avrebbe funzionato, ma ho provato lo stesso.

C'è una soluzione per questo che semplicemente non sto trovando o l'attuale versione di MQL4 semplicemente non ha questa funzionalità? Un'altra cosa che sarebbe davvero bella sarebbe avere un popup tooltip che dia il valore di una variabile al passaggio del mouse.

Non voglio essere una spina nel fianco, ma hai detto che se avessi trovato qualcosa ... :-)

 
ProfessorMetal:

Ehi, angevoyageur

Questo potrebbe meritare un thread tutto suo, ma qui va - quando avvio il debugger ho davvero bisogno di avere il grafico che porta su impostato secondo le mie specifiche. Ho un indicatore che ho già finito così come un paio di altre cose che voglio sul grafico. Inoltre, ho bisogno che il grafico sia impostato su certe specifiche, come la visualizzazione di candele, lo zoom su un certo punto, ecc. Ho bisogno di questo per potermi concentrare sull'inizio dell'indicatore che sto sviluppando e guardare cosa fa. Allo stato attuale delle cose, o l'esecuzione mi è sfuggita e ha fatto cose che mi sono sfuggite, invalidando così la mia prova, o se cerco di impostare le cose, tutto si blocca e finisco per dover usare il Task Manager per chiudere e riprovare.

Il grafico dei prezzi che la finestra di debug fa apparire corre completamente fuori dal lato destro del grafico, il che comporta la visualizzazione di indicatori di trading che non posso vedere. Di conseguenza, non so cosa sia successo o perché. La documentazione di MQL5 dice che c'è un file debug.tpl nella cartella profile/templates che, presumo, permetterebbe di impostare questo tipo di cose in modo che la finestra di debug sia configurata nel modo in cui serve. La mia installazione di MT4 non ha una tale cartella e crearne una e salvarci un file template non ha funzionato. Non pensavo che avrebbe funzionato, ma ho provato lo stesso.

C'è una soluzione per questo che semplicemente non sto trovando o l'attuale versione di MQL4 semplicemente non ha questa funzionalità? Un'altra cosa che sarebbe davvero bella sarebbe avere un popup tooltip che dia il valore di una variabile al passaggio del mouse.

Non voglio essere una spina nel fianco, ma hai detto che se avessi trovato qualcosa... :-)

Ah ah. Non leggi il file di aiuto, è tutto lì. In MetaEditor, menu Aiuto, Argomenti di aiuto, cerca "Debugging".

Devi impostare le opzioni del debugger per Symbol/Timeframe che devi eseguire. Puoi usare un modello debug.tpl per impostare il grafico come vuoi.

 

Ho letto il file di aiuto. È da lì che ho preso le informazioni che ho citato. Inoltre, le opzioni del debugger per il Symbol e il tempo sono impostate dove voglio io. Questo è ciò che dice la documentazione e, per quanto posso trovare, tutto ciò che dice sull'argomento.

Presetting

Before you start the program debugging, it's necessary to check its parameters in the "Debugging" tab of the MetaEditor options window. In this window you can specify a symbol and a chart period, in which the debugging of applications will be performed. Such a chart will be temporarily created each time when debugging is started, and it will be deleted after the debugging completion.

The "debug.tpl" template located in the /profiles/templates folder of the client terminal is applied to a chart created for debugging.
 

Come ho detto, l'installazione di MT4 non ha questa directory, così l'ho creata, ho impostato un grafico come volevo e l'ho salvato lì come debug.tpl. Ecco come dovrebbe apparire:

Impostazione del grafico A

Come potete vedere, ho un EA e due indicatori sul grafico. Tutta la media mobile nella finestra principale è l'indicatore su cui sto lavorando. Quello in fondo al grafico è uno che ho già creato. Questo è quello che ho salvato come debug.tpl. Il debugger non lo usa. Fa apparire una finestra del grafico e la finestra delle proprietà per il mio indicatore MA e visualizza l'indicatore sulla finestra principale. La finestra è ingrandita molto e il prezzo viene visualizzato come barre. Posso impostare tutto manualmente, ma questo significa dover impostare tutto ogni volta che faccio un'esecuzione di debug e inoltre è molto probabile che mi perda qualcosa perché l'esecuzione del codice è scattata mentre sto impostando il grafico.

Come ho detto, sembra che questa funzionalità non sia implementata in MQL4

 

Ciao Jeff,

mentre sei seduto su un breakpoint in un debugger, l'IDE sembra essere fermato (non sono sicuro degli EA e degli script, ma credo che gli indicatori lo siano). Quindi gli indicatori nel template non dovrebbero interferire.

Non preoccupatevi della posizione fisica del file del template. Usa il tasto destro del mouse sul grafico che vuoi usare come modello per il debug:

Come puoi vedere, ho diversi modelli per il debug già salvati, quindi di solito scelgo di caricare ad esempio Debug-1, poi Salva modello e sovrascrivo il Debug.tpl

Ho visto che prima hai gridato aiuto, ma hai chiesto esplicitamente al moderatore, quindi ho aspettato la sua risposta qualificata.