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
Ho letto da qualche parte su un forum che i commenti durante i test non vengono scritti nel log (per risparmiare spazio su disco). Quindi, la mia domanda è: come posso fare il debug del programma nel tester? Ho provato printf e PrintFormat - niente funziona nel tester, ho anche provato Alert.
Controllato. Il mio agente è locale (almeno è elencato in Local). Dopo aver eseguito Expert Advisor in modalità"Every tick", il contenuto della scheda "Log" corrisponde al contenuto del file di log dell'agente (Expert Advisor e file di log allegati).
Sì, ho dimenticato. Il periodo di prova è "Ultimo mese".
Il tuo log dice "versione di debug di 'test.ex5', per favore ricompilalo".
Significa che EX5 destinato al debug (premendo F5 nell'editor produce EX5 con informazioni di debug) non può essere eseguito nel tester.
Faremo una ricompilazione automatica di tali EA. Nel frattempo, ricompila manualmente il tuo EA.
E puoi portare il codice completo?
E probabilmente ho tirato fuori tutta questa storia, non riesco a pensare a nessun altro motivo...
Cercherò di descrivere la situazione in modo più dettagliato.
C'è una semplice classe "CMqlTimer", il compito di questa classe è di tracciare il momento di cambiamento di diversi intervalli di tempo: ora, giorno, settimana, mese, anno.
Tutto è realizzato con primitive molto semplici, per esempio, se i minuti sono uguali a 0 allora è arrivata "una nuova ora"; se il numero del giorno della settimana non corrisponde a quello memorizzato nella variabile allora è arrivata l'alternanza del giorno ("00:00:00" secondo l'ora del server). E così via.
L'analisi viene eseguita quando il timer viene attivato, con un intervallo di 1 secondo, il lavoro viene fatto in CMqlTimer::OnTimer(). Se l'intervallo di tempo cambia, la funzione deve essere eseguita. Per esempio se è un "nuovo" giorno dovrebbe essere eseguita la funzione CMqlTimer::OnRolloverDay().
Se rimuoviamo il resto del codice e scriviamo solo OnRolloverDay(), il risultato sarà il seguente:
Tutti gli eventi utente sono tracciati e passati per la gestione alla classe principale
Sembra qualcosa del genere
Quindi, gli eventi non raggiungono OnChartEvent in modalità test, cioè l'Expert Advisor non può gestire un evento inviato usando EventChartCustom in modalità test. Controllato visualizzando tutti gli eventi nel registro.
PS
La cosa più interessante è che la demo tutti gli eventi raggiungono, ma nel tester sta lavorando rifiuti.
Prima del 319 tutto funzionava e nel tester gli eventi venivano gestiti con successo. Vero l'ultima versione in cui ha funzionato non posso dire...
Il tuo log dice "versione di debug di 'test.ex5', per favore ricompilalo".
Significa che EX5 destinato al debug (premendo F5 nell'editor produce EX5 con informazioni di debug) non può essere eseguito nel tester.
Faremo una ricompilazione automatica di tali EA. Nel frattempo, ricompila manualmente il tuo EA.
E probabilmente ho tirato fuori tutta questa storia, non riesco a pensare a nessun altro motivo...
Cercherò di descrivere la situazione in modo più dettagliato.
...Non capisco cosa c'è di sbagliato, EA funziona nel tester senza errori e anche nella macchina di prova dell'organizzatore passa senza errori.
Quando lo eseguo su un conto demo, ottengo un errore quando cerco di aprire un ordine:
2010.09.06 13:26:50 Trades '101894' : fallito acquisto istantaneo 0,10 USDJPY a 84,179 [Modalità di riempimento non supportata]
2010.09.06 13:26:45 Trades '101894' : fallito acquisto istantaneo 0,10 USDCAD a 1,03689 [modalità di riempimento non supportata]
2010.09.06 13:26:39 Trades '101894' : fallito acquisto istantaneo 0,10 USDJPY a 84,174 [modalità di riempimento non supportata]
2010.09.06 13:26:34 Trades '101894' : fallito acquisto istantaneo 0,10 USDCAD a 1,03685 [modalità di riempimento non supportata]
2010.09.06 13:26:28 Trades '101894' : fallito acquisto istantaneo 0,10 USDJPY a 84,174 [modalità di riempimento non supportata]
2010.09.06 13:26:23 Trades '101894' : fallito acquisto istantaneo 0,10 USDCAD a 1,03688 [modalità di riempimento non supportata]
2010.09.06 13:26:18 Trades '101894' : fallito acquisto istantaneo 0,10 USDJPY a 84,181 [modalità di riempimento non supportata]
Richiesta di vendita:
Richiesta di acquisto:
OrderCheck non trova alcun errore.
Sostituita la query ORDER_FILLING_CANCEL con la query ORDER_FILLING_AON, l'esperto funziona.
Ma il problema rimane, perché c'è una tale differenza nel funzionamento del tester e del server.
Che scherzo se il server del campionato diventa il contrario.