Merkmale der Sprache mql5, Feinheiten und Techniken - Seite 243

 
Wenn Sie eine schnelle Kompilierung ohne große Leistungseinbußen benötigen, können Sie kompilierte Bibliotheken verwenden - #import .ex5
 
Nikolai Semko #:

dann vielleicht:

uchar WhatWeekDay(datetime t) {
   return uchar(t/(24*60*60)+4 )%7;
}

Nö, funktioniert nicht. (((

 
Mikola_2 #:

Nein, es funktioniert nicht. (((

Es funktioniert sehr genau. Ich benutze dies. Sie können den Wert in ENUM_DAY_OF_WEEK umwandeln

 
Alexey Viktorov #:

Es funktioniert sehr genau. Ich verwende dies. Sie können den Wert in ENUM_DAY_OF_WEEK umwandeln

So etwas wie "sehr genau" gibt es nicht. Entweder ist es immer genau, oder es ist nicht immer genau. Es ist wie ein zweiter frischer Hering. Für welchen Zeitraum haben Sie es getestet? Ich konnte es nicht tun.
 
Mikola_2 #:

Nein, es funktioniert nicht. (((

Die Klammern fehlen, der Rest bei der Division durch 7 wird aus der in den Typ uchar umgewandelten Zahl genommen.

 
Mikola_2 #:
So etwas wie "sehr genau" gibt es nicht. Entweder ist es immer genau oder nicht. Es ist wie ein zweiter frischer Hering. In welchem Zeitraum hast du es getestet? Ich konnte es nicht tun.

Was meinst du mit "welchem Zeitraum"? Die Funktion gibt nur den Wochentag zurück. Was hat das mit dem Zeitraum zu tun? Geben Sie eine beliebige Zeit ein und Sie erhalten den Wochentag.

Gib dein Geburtsdatum ein und du bekommst den Wochentag deiner Geburt.

Oder hier ist der Wochentag nach Kerzenzeit


 
Aliaksandr Hryshyn #:

Die Klammern fehlen, der Rest bei der Division durch 7 wird von einer in den Typ uchar umgewandelten Zahl übernommen.

Es ist alles da. Ich habe einfach 24*60*60 nach meinem Geschmack ersetzt.

uchar WhatWeekDay(datetime t)
 {
  return uchar(t/(PeriodSeconds(PERIOD_D1))+4)%7;
 }

Ergebnisse oben...

Beachten Sie, wie lange ich diese Formel schon verwende, nämlich seit


 
Alexey Viktorov #:

Alles, was da drin ist, ist ausreichend. Ich habe gerade die 24*60*60 nach meinem Geschmack ersetzt.

Ergebnisse oben...

Beachten Sie, wie lange ich diese Formel schon verwende.


Auf dem Bildschirm ist kein Fehler zu sehen! Schauen Sie genau hin. Ich habe auf den Fehler hingewiesen.

 
Aliaksandr Hryshyn #:

Die Klammern fehlen, der Rest bei der Division durch 7 wird von einer in den Typ uchar umgewandelten Zahl übernommen.

Oh, richtig! Jetzt scheint es wahr zu sein.
 
Aliaksandr Hryshyn #:

Auf dem Bildschirm ist kein Fehler zu sehen! Schauen Sie genau hin. Ich habe auf den Fehler hingewiesen.

Nun, ich habe auch den vollständigen Code der Funktion gezeigt. Nochmals:

uchar WhatWeekDay(datetime t)
 {
  return uchar(t/(PeriodSeconds(PERIOD_D1))+4)%7;
 }

Ich stimme Ihnen allerdings zu. Vielleicht hat Nikolai aus dem Gedächtnis geschrieben und eine Ungenauigkeit gemacht. Aber es ist nicht ganz richtig zu sagen, dass es nicht funktioniert.