Errori, bug, domande - pagina 200

 
Ashes:

No. Il solito inseguimento di prova di uno dei partecipanti al campionato (multi-valuta), un lungo scambio di storia sulle coppie coinvolte e questo è tutto.

A proposito, sono curioso, come fa il tester a determinare quali coppie devono essere scambiate? In generale, è impossibile saperlo in anticipo senza aver iniziato i test...

Per quanto ne so, la prima coppia da scambiare è quella che viene testata (viene specificata nei parametri del tester e aggiunta automaticamente al suo "Market Watch").

Altre coppie sono scambiate in base a condizioni diverse. Personalmente penso che il modo più corretto sia quello di selezionarli (compilando la "revisione del mercato" del tester) nel blocco di inizializzazione, e poi controllare la sincronizzazione dei dati (è utile non solo nel tester).

Vale anche la pena notare che il tester si sincronizza con il terminale, che a sua volta si sincronizza con il server...

PS

Se ho capito bene, il tester può ancora caricare i dati da solo, ma in condizioni reali dovrà fare tutto da solo.

sergeev:

Confermato.

L'exp più facile da MA. Dopo l'inizializzazione direttamente nella disconnessione. Ma è instabile e di tanto in tanto.

Devo vedere, ma non mi sembra di aver avuto questi inconvenienti. Anche se c'era un problema con il timer (penso che sarà risolto nella prossima build)...
 
Dopo l'inizializzazione direttamente alla disconnessione. Ma è instabile e accade in tempi diversiQuesto è
esattamente
ciò che
accade nell'ultima build (355) se OnTimer invece di OnTick è usato nel tester.
 
Erm955:
Questo è esattamente quello che succede nell'ultima build (355) se OnTimer è usato nel tester invece di OnTick.
Fortunatamente ho entrambi questi gestori. Anche se, soffro davvero di bug del timer (come EA è un mulo)... :(
 
Rosh:
Forse apparirà la funzione di rimozione dell'indicatore dal grafico per mezzo di MQL5.
Oh, sarebbe bello.
 

Tentativo di salvare il rapporto del tester in formato Open XML. Minuti di attesa (Pentium 4, 3.0GHz), l'applicazione non risponde, il task manager mostra il processo terminal.exe (circa il 50% della CPU) che consuma la memoria operativa (circa 250Mb), Risultato - niente. MT5 risponde solo, nessuna quotazione in arrivo (indicatore di stato della connessione con cerchio grigio che gira). Un secondo tentativo, è lo stesso. La finestra "Strumenti" ha 2 voci di giornale "MemoryException 107878464 bytes not available", il tempo corrispondente al tentativo di ricevere un rapporto in OpenXML.
Il file HTML è stato generato quasi istantaneamente (circa 12 Mb). Ci vuole molto tempo per aprire, ma non è colpa di MT5...

 

Il compilatore dà un avvertimento se una variabile non è usata da nessuna parte, e questo va bene.

Ma non vede questa spazzatura (variabili inutilizzate) nelle classi.

 

versione 5 build 355

Calcolo della differenza di tempo tra le barre:

datetime DefTime;

stringa PrintDate;

DefTime=Time[0]-Time[i]; //i può essere sostituito da qualsiasi numero intero nel nostro caso da 0 in su ...

PrintDate=TimeToString(DefTime,TIME_DATE|TIME_MINUTES);

Stampa (PrintDate);

Qui abbiamo:

!!! 2010.11.22 02:09:24 A-PS (EURUSD,M15) 1970.01.03 04:00
!!! 2010.11.22 02:09:22 A-PS (EURUSD,M15) 1970.01.03 04:45 !
!!! 2010.11.22 02:09:20 A-PS (EURUSD,M15) 1970.01.03 04:30 !
!!! 2010.11.22 02:09:19 A-PS (EURUSD,M15) 1970.01.03 03:15 !
!!! 2010.11.22 02:09:18 A-PS (EURUSD,M15) 1970.01.03 03:00 !
!!! 2010.11.22 02:09:17 A-PS (EURUSD,M15) 1970.01.03 02:45 !
!!! 2010.11.22 02:09:16 A-PS (EURUSD,M15) 1970.01.03 02:30 !
!!! 2010.11.22 02:09:14 A-PS (EURUSD,M15) 1970.01.03 02:15 !
2010.11.22 02:09:13 A-PS (EURUSD,M15) 1970.01.01 02:00
2010.11.22 02:09:12 A-PS (EURUSD,M15) 1970.01.01 01 01:45
2010.11.22 02:09:11 A-PS (EURUSD,M15) 1970.01.01:30
2010.11.22 02:09:11 A-PS (EURUSD,M15) 1970.01.01:15
2010.11.22 02:09:09 A-PS (EURUSD,M15) 1970.01.01:00
2010.11.22 02:09:08 A-PS (EURUSD,M15) 1970.01.01 00:45
2010.11.22 02:09:08 A-PS (EURUSD,M15) 1970.01.01 00:30
2010.11.22 02:09:07 A-PS (EURUSD,M15) 1970.01.01 00:15
2010.11.22 02:08:58 A-PS (EURUSD,M15) 1970.01.01 00:00

Da dove viene il terzo numero? La stessa situazione si osserva quando si usa MqlDateTime.

 
KffAlex:

Da dove viene il terzo numero? Lo stesso quadro si osserva quando si usa MqlDateTime.

Proprio così - si mostra il delta temporale tra le barre in secondi come una data standard.

Il delta tra le barre del lunedì e del venerdì è esattamente di 3 giorni.

 
Francamente non ci avevo pensato. Continuo a dimenticare il lasso di tempo tra venerdì e lunedì. Grazie.
 

Voglio fare durante l'ottimizzazione advisor per scegliere se collegare indicatore o no, (ad esempio TRIX) se TRIX = 0 - allora l'indicatore non verrà utilizzato, se TRIX = 1 o più, l'indicatore sarà incluso e il numero che viene utilizzato nel valore - questo è un parametro dell'indicatore.

Ma il problema è che molti indicatori hanno più di un parametro - ma se TRIX_1 = 0, TRIX_2 = 4 per esempio impostato durante l'ottimizzazione, i parametri si contraddicono, questo problema ho risolto in questo modo: in Expert Advisor passa attraverso i valori di TRIX_1 e TRIX_2 possibile.cioè, TRIX=0 è TRIX_1=0 e TRIX_2=0 nell'EA; TRIX=1 è TRIX_1=1 e TRIX_2=1; TRIX=2 è TRIX_1=1 e TRIX_2=2, ecc.

L' algoritmo genetico funzionerà correttamente nel tester, se tutti i parametri dell'indicatore sono già stati enumerati nell'EA stesso e solo un valore TRIX, che memorizza le variazioni dei parametri, è stato messo nell'input?

Motivazione: