Errori, bug, domande - pagina 2177

 
Konstantin Nikitin:

StringToTime

Grazie mille!
 
Maxim Khrolenko:
Molto obbligato!

Terribilmente lento e non ottimale per gestire le conversioni delle variabili di stringa.

Avete la risposta qui sopra:

Forum sul trading, sistemi di trading automatico e test di strategie di trading

Bug, bug, domande

Alexey Viktorov, 2018.03.30 19:30

Riempire la struttura MqlDateTime e ricavarne data e ora complete.


 
Maxim Khrolenko:
Grazie mille!

Non cerchiamo vie facili. Così si fa...

 
Alexey Viktorov:

Non stiamo cercando una via d'uscita facile. Così si fa...

Scrivigli un piccolo esempio ;)

 
Alexey Viktorov:

Compila la struttura MqlDateTime e ricava da essa la data e l'ora complete.

Interessante vedere come funziona nel codice

 
Artyom Trishkin:

Scrivigli un piccolo esempio ;)

È stato detto

Forum sul trading, sistemi di trading automatico e test di strategie di trading

Bug, bug, domande

Maxim Khrolenko, 2018.03.30 18:49

Non riesco a trovare una risposta alla domanda, come scrivere un valore temporale corrispondente ai parametri dati in una variabile di tipo datetime basata su 6 variabili di tipo int (anno, mese, giorno, ora, minuto)? Poi devo trovare l'indice della candela che si è aperta in quel momento, ma questo non è un problema per me. Se qualcuno ha un link dove trovare la risposta, per favore, lo scoprirò da solo.

MqlDateTime dateTime;

dateTime.year = 2018;
dateTime.mon = 3;
dateTime.day = 30;
dateTime.hour = 21;
dateTime.min = 15;

datetime _Time = StructToTime(dateTime);
 
Alexey Viktorov:

È stato detto.


Che giorno della settimana è? Avete controllato? Mi chiedo solo se lo calcola da solo durante la conversione o no.

Anche questi due: day_of_week e day_of_year

 
Artyom Trishkin:

Che giorno della settimana è? Avete controllato? Mi sto solo chiedendo se lo calcola da solo durante la conversione o no.

Anche questi due: day_of_week e day_of_year.

Se dopo lo rimetti nella struttura.

  TimeToStruct(_Time, dateTime);

si vedrà bene.

giorno_di_settimana = 5

giorno_dell'anno = 88

 
Artyom Trishkin:

Che giorno della settimana è? Avete controllato? Sono solo curioso di sapere se lo calcola da solo durante la conversione o no.

Anche questi due: day_of_week e day_of_year


void OnStart()
  {
//---
   MqlDateTime timeDate, time;
   
   timeDate.year=2018;
   timeDate.day_of_year=32;
   
   datetime date1=StructToTime(timeDate);
   Print("День года - ",timeDate.day_of_year);
   
   time.year=2018;
   time.mon=2;
   time.day=1;
   time.hour=0;
   time.min=0;
   
   datetime date2=StructToTime(time);
   Print("День года - ",time.day_of_year);
  }

День года - 879007969
День года - 32



Non funziona quando day_of_year è compilato (

 


Una pausa molto strana di 22 secondi. Chi può spiegarlo?

//+------------------------------------------------------------------+
//|                                                      BagBars.mq5 |
//|                        Copyright 2018, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+

void OnStart()
  {
   datetime Arr[];
   if(CopyTime(_Symbol,PERIOD_H4,0,1,Arr)<0) Print("Ошибка");
   Print("1 "+TimeToString(Arr[0])+" CurrentTime = "+TimeToString(TimeCurrent()));
   
   int Res=::Bars(_Symbol,PERIOD_W1,Arr[0],TimeCurrent());  // выполнение происходит 22 секунды!!!
   
   Print("2 CurrentTime = "+TimeToString(TimeCurrent()));
  }
//+------------------------------------------------------------------+

risultato:

2018.03.30 16:37:16.941 BagBars (EURUSD,W1)     1 2018.03.30 20:00 CurrentTime = 2018.03.30 23:37
2018.03.30 16:37:38.862 BagBars (EURUSD,W1)     2 CurrentTime = 2018.03.30 23:37