Errori, bug, domande - pagina 411

 
Renat:
Puoi allegare i risultati?
Confermato, ci sono discrepanze. Ottimizzazione via Cloud. Cosa devo allegare?
 

Non capisco, è un bug o uno dei due?

Mi sono abituato al fatto che la scheda di registro nel tester ha molti salti di messaggi (da Print) con un grande flusso di messaggi, molto tempo fa. Ma il file di log del tester non contiene tutti gli output di Print, anche quando sono pochi. Ho provato il codice più ridotto - ho creato un modello e ho inserito il comando Print("t") in OnTick;

Quando si esegue con EURUSD M1 " solo prezzi di apertura", "ultimo anno" (cioè dal 1 gennaio all'8 giugno) - ci sono messaggi nel log ogni pochi giorni per diverse decine di tick di fila. "Ultimo mese" (cioè, 1-8 giugno) - solo dalle ~7 p.m. al 24 giugno p.m. 7 giugno. E una buona ripetibilità, anche se imprecisa - cioè tutto non casuale.

Sono rimasto sorpreso - sono questi i salti delle zecche? Come vivere? Questo non funzionerà bene per un esperto, per usare un eufemismo. Perché nessuno se ne accorge? Controllato su 2 comps, e anche su /portable. Lo stesso.

Si scopre che il registro dell'agente locale mostra tutte le spunte senza salti! Questo sembra risolvere il problema per me, ma non è buono. Incoerenza. Potrebbe indurre in errore qualcun altro.

Se questo non dovrebbe succedere e succede solo a me, perché? Per sicurezza - ho CoreQuad e W7.

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы - Документация по MQL5
 
Dali:

Non so se è un bug o uno dei due?

Si scopre che il registro dell'agente locale ha tutte le spunte senza salti! Sembra risolvere il problema per me, ma non è giusto. Incoerenza. Potrebbe indurre in errore qualcun altro.

Se questo non dovrebbe succedere e succede solo a me, perché? Nel caso - ho un CoreQuad e W7.

Vedere l'aiuto del terminale, è tutto descritto lì - MetaTrader 5 HelpTesterLog:

  • I registri degli agenti remoti non contengono i messaggi di Expert Advisors (funzione Print()), così come i messaggi delle operazioni commerciali;
  • Durante i test il log contiene i messaggi dell'Expert Advisor stesso, mentre durante l'ottimizzazione solo i numeri dei passaggi e i risultati sono registrati nel log;
  • Quando il flusso di messaggi dagli agenti è grande, alcuni di essi potrebbero non essere stampati nella scheda del giornale. Tutte le voci possono essere visualizzate nei file *.log degli agenti. Se ci sono problemi con i test o l'ottimizzazione, questi file di log dovrebbero essere visualizzati.
  • Per risparmiare spazio su disco, i file di log dell'agente situati nella directory tester/agent-*.*/logs vengono cancellati dopo due giorni di generazione o quando raggiungono 1 gigabyte di dimensione. I log dello stesso strategy tester, situati nella directory tester/logs/, sono cancellati cinque giorni dopo la generazione.
 

Quindi è questo il punto, i messaggi non entrano nemmeno a basso flusso. Ho provato anche su M15, 1 messaggio per barra è un grande flusso? E ho anche provato ad emettere non ad ogni barra, ma quando appare un segnale. Per il mese m corrente dovrebbero essercene circa 20 (a colpo d'occhio). Ne ho solo 3-4. Per gli stessi giorni.

Il fatto che tutti questi messaggi siano altrove, l'ho scoperto per caso e per conto mio, all'inizio molto nervoso. Cercare una conferma indiretta nell'aiuto che questo è un bug noto (cioè è un problema conosciuto e descritto) è l'ultima cosa che mi viene in mente.

Secondo me, è un problema e deve essere risolto. Per esempio come in alcuni sistemi di registrazione:

tick 2011.06.01 19:00

zecca 2011.06.01 19:01

tick 2011.06.01 19:02

< 123 messaggi simili mancanti >

 
Dali:

Quindi è questo il punto, i messaggi non entrano nemmeno a basso flusso. Ho provato anche su M15, 1 messaggio per barra è un grande flusso? E ho anche provato ad emettere non ad ogni barra, ma quando appare un segnale. Per il mese m corrente dovrebbero essercene circa 20 (a colpo d'occhio). Ne ho solo 3-4. Per gli stessi giorni.

Il fatto che tutti questi messaggi siano altrove, l'ho scoperto per caso e per conto mio, all'inizio molto nervoso. Cercare una conferma indiretta nell'aiuto che questo è un bug noto (cioè è un problema conosciuto e descritto) è l'ultima cosa che mi viene in mente.

Secondo me, è un problema e deve essere risolto. Per esempio come in alcuni sistemi di registrazione:

tick 2011.06.01 19:00

zecca 2011.06.01 19:01

tick 2011.06.01 19:02

< 123 messaggi simili mancanti >

Non c'è nessun problema...

Vedere il log completo direttamente nei file...

 

Sviluppatori.

1. Verrà creato un navigatore normale prima del campionato o cosa?

Non è davvero molto comodo lavorare con moduli che hanno molte classi o funzioni... :(

2. Ci sono (o ci sono piani per) rendere possibile lavorare con classi oggetto incorporate in librerie (non in *.mqh ma in *.ex5 o in qualsiasi altro tipo di file compilabile)?

 
MONTEGRO:

Build 463, WinXP SP3.

Da diverse build, l'ottimizzatore non funziona correttamente. Durante l'ottimizzazione, gli agenti passano allo stato "finito" o "pronto", e alcuni rimangono nello stato "occupato" fino a quando non si disabilita/abilita manualmente gli agenti con lo stato "occupato" (cioè il processo di test si ferma effettivamente). Dopo aver "riavviato" gli agenti in stato "occupato", tutti gli altri agenti si svegliano e il processo continua fino al prossimo stallo.

Build 466, WinXP SP3. Non è cambiato nulla. L'ottimizzatore non funziona normalmente. Più vedo, più velocemente gli agenti lavorano, più velocemente l'ottimizzatore si "blocca".

Al momento vedo diversi altri bug nel Terminale, ma non scriverò su nessuno di essi finché l'ottimizzatore non funzionerà correttamente.

 

Agli sviluppatori.

Non pensate che la conversione forzata al tipo int sia fuori luogo qui (se viene restituito int, ovviamente, ma non qualcos'altro)?

int OrdersLimit = (int)AccountInfoInteger(ACCOUNT_LIMIT_ORDERS);

E senza tale aggiunta visualizza un avviso di possibile perdita di dati...

 
Interesting:

Agli sviluppatori.

Non pensi che la conversione coercitiva al tipo int sia fuori luogo qui (se viene restituito int, ovviamente, ma non qualcos'altro)?

E senza tale aggiunta stampa un avviso di possibile perdita di dati...


lungo viene restituito...

https://www.mql5.com/ru/docs/account/accountinfointeger

long OrdersLimit = AccountInfoInteger(ACCOUNT_LIMIT_ORDERS);
Документация по MQL5: Информация о счете / AccountInfoInteger
Документация по MQL5: Информация о счете / AccountInfoInteger
  • www.mql5.com
Информация о счете / AccountInfoInteger - Документация по MQL5
 
Questo è qualcosa che ho trascurato. Dovrò controllare altrove e sistemare il codice.