Fehler, Irrtümer, Fragen - Seite 2177

 
Konstantin Nikitin:

StringToTime

Herzlichen Dank!
 
Maxim Khrolenko:
Vielen Dank!

Furchtbar langsam und nicht optimal für die Umwandlung von String-Variablen.

Sie haben die Antwort oben:

Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien

Wanzen, Wanzen, Fragen

Alexey Viktorov, 2018.03.30 19:30

Füllen der MqlDateTime-Struktur und Abrufen des vollständigen Datums und der Uhrzeit aus ihr.


 
Maxim Khrolenko:
Herzlichen Dank!

Wir suchen nicht nach einfachen Wegen. Weiter so...

 
Alexey Viktorov:

Wir suchen nicht nach einem einfachen Ausweg. Weiter so...

Schreib ihm ein kleines Beispiel ;)

 
Alexey Viktorov:

Füllen Sie die Struktur MqlDateTime aus und entnehmen Sie ihr das vollständige Datum und die Uhrzeit.

Interessant zu sehen, wie es im Code funktioniert

 
Artyom Trishkin:

Schreib ihm ein kleines Beispiel ;)

Es wurde gesagt

Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien

Wanzen, Wanzen, Fragen

Maxim Khrolenko, 2018.03.30 18:49

Ich kann keine Antwort auf die Frage finden, wie man einen Zeitwert, der den angegebenen Parametern entspricht, in eine Variable vom Typ datetime schreibt, die auf 6 Variablen vom Typ int (Jahr, Monat, Tag, Stunde, Minute) basiert? Dann muss ich den Index der Kerze finden, die zu diesem Zeitpunkt geöffnet wurde, aber das ist für mich kein Problem. Wenn jemand einen Link hat, wo man die Antwort finden kann, bitte, ich werde es selbst herausfinden.

MqlDateTime dateTime;

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

datetime _Time = StructToTime(dateTime);
 
Alexey Viktorov:

Es wurde gesagt.


Welcher Tag in der Woche ist das? Haben Sie das überprüft? Ich frage mich nur, ob sie bei der Umwandlung selbst berechnet wird oder nicht.

Auch diese beiden: day_of_week und day_of_year

 
Artyom Trishkin:

Welcher Tag der Woche ist heute? Haben Sie das überprüft? Ich frage mich nur, ob es bei der Konvertierung selbst berechnet wird oder nicht.

Auch diese beiden: day_of_week und day_of_year.

Wenn Sie sie anschließend wieder in die Struktur einbauen.

  TimeToStruct(_Time, dateTime);

wird es schon auftauchen.

Tag_der_Woche = 5

Tag_des_Jahres = 88

 
Artyom Trishkin:

Welcher Tag der Woche ist heute? Haben Sie das überprüft? Ich bin nur neugierig, ob sie bei der Umwandlung selbst berechnet wird oder nicht.

Auch diese beiden: day_of_week und 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



Es funktioniert nicht, wenn day_of_year ausgefüllt ist (

 


Eine sehr merkwürdige Pause von 22 Sekunden. Wer kann das erklären?

//+------------------------------------------------------------------+
//|                                                      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()));
  }
//+------------------------------------------------------------------+

Ergebnis:

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