Errori, bug, domande - pagina 875

 
lordlev:

Un problema di citazione?

C'è un codice banale che stampa le ore e i minuti di una data candela:

Finisce con questa assurdità:

2012.11.16 18:00:50 Core 1 2000.11.13 00:01:30 0:1

Allo stesso tempo sul grafico, tutte le candele sono lì e tutto va bene.

Guardate la funzione TimeToString().
 

Il problema è risolto. Ma è sorta un'altra domanda: perché il tester mostra l'ora sbagliata? "2012.11.16 18:00:50 Core 1 2000.11.13 00:01:30 0:1"

 
lordlev:

Allora non ti capisco. )) E cosa c'è di assurdo nel suo risultato?

Per esempio, lancio questo codice:

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   MqlDateTime Time;
   TimeCurrent(Time);
   Print(Time.hour," Hours : ",Time.min, " Minute; Datetime: ",TimeCurrent());
  }

E ottengo questo risultato nel registro:

2012.11.16 14:40:26     MiniScript (GBPUSD,H1)  12 Hours : 40 Minute; Datetime: 2012.11.16 12:40:31

//---

Proprio così. O quale vuole che sia il risultato?

 
lordlev:

Il problema è risolto. Ma è sorta un'altra domanda: perché il tester mostra l'ora sbagliata? "2012.11.16 18:00:50 Core 1 2000.11.13 00:01:30 0:1"

In quale modalità state eseguendo il test? E quali impostazioni stai facendo nel tester?
 
tol64:
In quale modalità si esegue il test? E quali impostazioni stai facendo nel tester?
Modalità normale. Tutte le zecche. EURUSD M1.
 
lordlev:
Modalità normale. Tutte le zecche. EURUSD M1.

Il tester mostra tutto correttamente anche in questo caso. Aggiungete l'uscita di stampa e i secondi:

 
tol64:

Il tester mostra tutto correttamente anche in questo caso. Aggiungete l'uscita di stampa e i secondi:

E controllate in questa data2000.11.13
 
lordlev:
E controllate in questa data2000.11.13

Va bene anche così:

//---

Sì e il tuo risultato è corretto:

Ma è sorta un'altra domanda: perché il tester mostra l'ora sbagliata? "2012.11.16 18:00:50 Core 1 2000.11.13 00:01:30 0:1"

//---

Cioè, il tick nel tester è arrivato a Zero ore: un minuto: trenta secondi. E hai stampato le ore e i minuti. Hai finito con 0:1 (Zero ore : Un minuto).

 
tol64:

Va bene anche così:

//---

Sì e il tuo risultato è corretto:

//---

Cioè, il tick nel tester è arrivato in Zero ore : Un minuto : Trenta secondi. E hai stampato le ore e i minuti. Il risultato è 0:1 (Zero ore : Un minuto).

Ho capito... )))) e non l'ho visto arrivare all'1:30.
 

Un paio di mesi fa, forse di più, è sfuggito che se trovate un guasto e lo segnalate a servicedesk potrebbero darvi una ricompensa ?

Mi sono appena ricordato.

Motivazione: