Wie man sich auf eine bestimmte Zeit bezieht - Seite 3

 
datetime ejfel = StrToTime("00:00");
int shift=iBarShift(NULL,PERIOD_M15,ejfel,true);
nyitohigh=iHigh(NULL,PERIOD_M15,shift);
nyitolow=iLow(NULL,PERIOD_M15,shift);
  1. Entweder geben Sie immer den Zeitraum an oder nie (verwenden Sie stattdessen NULL.) Wenn Sie High[nyitohigh] verwenden, bricht Ihr Code in jedem Diagramm, das nicht M15 ist, ab.
  2. Sie können StrtoTime verwenden, oder wie ich zuvor gezeigt
 
RaptorUK:

Nein, denn Time[x] gibt eine Datetime zurück ... aber man kann es tun.

über TimeHour nachlesen


Hallo Leute
Das lästige Geschäft hat mich eine Zeit lang die ganze Zeit in Anspruch genommen, aber jetzt bin ich wieder am Programmieren

Danke für all diese Antworten

Ich habe mir überlegt, einfach einen solchen Code für diesen Handelszeitraum zu verwenden, aber ich sehe jetzt, dass es viele verschiedene Möglichkeiten gibt, dies zu tun.
if(Hour() >= 2 && Hour()<17)

Nochmals vielen Dank
 
Eine letzte Frage zu Datetime-Konstanten und dem für iBarsShift verwendeten Datetime-Format

Ich sehe die Dokumente hier über sie:
https://docs.mql4.com/basis/types/datetime

https://docs.mql4.com/series/iBarShift


Ich versuche, eine Kerze zu wählen, die vielleicht so aussieht

if(TimeToStr(Time[1]) == 7:15)
Print(Tief[1], " 7:15 Tief");

Ich weiß, dass 7:15 nicht die korrekte Datetime-Methode ist; und dennoch habe ich hier Probleme, täglich wiederkehrende Zeiten zu vergleichen

IBarsShift gibt dasselbe Datetime-Schema für die Datetime-Konstante an, aber es scheint nur für einen bestimmten Zeitpunkt zu gelten und nicht für eine täglich wiederkehrende Zeit.

Ich nehme an, dass ich IBarsShift verwenden muss, um die Verschiebung herauszufinden, um nach dieser bestimmten Balkenzeit zu suchen, und es gibt die Verschiebung für diesen Balken zurück, dann kann ich die Verschiebung verwenden, um diese Kerze auszuwählen und ihre Daten zu verwenden.
Zumindest das ist, wie ich es sehe.


Ich könnte wahrscheinlich durcharbeiten, was ich versuche zu tun, wenn ich könnte herausfinden, wie man eine tägliche wiederkehrende Zeit statt einer bestimmten Zeit während 1 bestimmten Datum auswählen.
Und eine, die das gleiche Format bei Time[] oder TimeToStr(Time[]) oder eine solche Methode hat, so dass ich den Vergleich durchführen und die Daten für diese Kerze verwenden kann

Ich bin nicht ganz überzeugt, dass ich IBarsShift verwenden will, weil ich auch nicht wirklich nach einem Balken nach der Öffnungszeit suchen will

Ich möchte wissen, wann Time[1] oder sogar Close[1] == a_particular_time

Bitte um Rat
Danke




 
Agent86:
Eine letzte Frage zu Datetime-Konstanten und dem für iBarsShift verwendeten Datetime-Format

Ich sehe die Dokumente hier darüber:
https://docs.mql4.com/basis/types/datetime

https://docs.mql4.com/series/iBarShift


Ich versuche, eine Kerze auszuwählen, die vielleicht so aussieht

if(TimeToStr(Time[1]) == 7:15)
Print(Tief[1], " 7:15 Tief");

Ich weiß, dass 7:15 nicht die korrekte datetime-Methode ist; und dennoch habe ich hier Probleme, die täglich wiederkehrende Zeit zu vergleichen

Warum nicht einfach den datetime-Wert für 7:15 Uhr berechnen? Wie?

Berechne die Datetime für Mitternacht ... addiere ( (7 * PERIOD_H1) + 15) * 60

datetime für Mitternacht

 
RaptorUK:
Warum nicht einfach den Datumswert für 7:15 berechnen? Wie?
Berechne die Datumszeit für Mitternacht ... addiere dazu ( (7 * PERIOD_H1) + 15) * 60

Wie ich bereits zuvor in DIESEM Thread geschrieben habe

Agent86: Wenn Sie sich nicht die Mühe machen, zu lesen, was wir gepostet haben, um zu lernen, verschwenden wir unsere Zeit mit Ihnen.

 
WHRoeder:

Wie ich bereits zuvor in DIESEM Thread geschrieben habe

Ja, aber das war letztes Jahr ... seither haben alle geschlafen ;-)
 
RaptorUK:

Warum nicht einfach den Datumswert für 7:15 Uhr berechnen? Wie?

Berechne die Datumszeit für Mitternacht ... addiere ( (7 * PERIOD_H1) + 15) * 60

datetime für Mitternacht

Danke

Ich könnte also etwas codieren wie:

datetime time_select = ( (7 * PERIOD_H1) + 15) * 60
if(Zeit[1] == time_select)
Print(Time[1], '' und", Low[1]);

Aber was ist der PERIOD_H1-Wert, wenn er nicht als Zeitrahmen-Aufzählungswert für einen Indikator verwendet wird? In der Dokumentation finde ich nichts über die Verwendung dieses Werts auf andere Weise.

Aber das klingt wie das, was ich für die Auswahl einer bestimmten Zeit, um es mit der Zeit einer bestimmten Kerze zu vergleichen
Vielen Dank
 
WHRoeder:

Wie ich schon einmal in DIESEM Thread geschrieben habe

Agent86: Wenn Sie sich nicht die Mühe machen, zu lesen, was wir gepostet haben, um zu lernen, verschwenden wir unsere Zeit mit Ihnen.

Hallo
Vielen Dank für die Antwort

Ich habe Ihren Beitrag gelesen, der sich auf einen Zeitbereich oder Bereich/Filter bezog, und ich habe die Schlussfolgerung verstanden, aber nicht die Gleichungen vollständig

Nach Ihrer Antwort muss ich annehmen, dass ich nicht verstehe, wie man einen Ausdruck erstellt, der etwas wie if(Time[1] == 7:15) in der richtigen Form vergleicht, weil ich die Gleichungen nicht verstehe, die Sie gepostet haben.

 
datetime now = Time[0],
         bod = now - now % 86400,
         HR1800 = bod + 18*3600,
         HR2100 = bod + 21*3600;
if (Time[1] >= HR1800 && Time[1] < HR2100) ...

Bitte bestätigen

Ich möchte nicht die gleichen Fragen stellen, wenn dies tatsächlich die gleiche Antwort ist, die ich brauchte, aber ich glaube nicht, dass sie es ist, sonst hätte ich nicht noch einmal gefragt.

Vielen Dank


 
RaptorUK:
Ja, aber das war letztes Jahr ... seitdem haben alle geschlafen ;-)
LOL

Kein Zweifel.
Ich wollte eigentlich schnell mql lernen und viel mehr Zeit damit verbringen
Leider ist mein Geschäft ein komplettes Ärgernis, das im letzten Jahr viel zu viel Zeit in Anspruch genommen hat.
Ich habe einige Anpassungen vorgenommen, so dass ich hoffentlich wieder konsequent weitermachen kann.

Vielen Dank an alle für die Antworten
 
Agent86:
Danke

Ich könnte also etwas wie folgt codieren:

datetime time_select = ( (7 * PERIOD_H1) + 15) * 60
if(Zeit[1] == time_select)
Print(Time[1], '' und", Low[1]);

Aber was ist der PERIOD_H1-Wert, wenn er nicht als Zeitrahmen-Aufzählungswert für einen Indikator verwendet wird? In der Dokumentation finde ich nichts über die Verwendung dieses Wertes auf andere Weise.

Sie müssen wirklich anfangen, sich in der Dokumentation zurechtzufinden.

Wenn Sie eine Funktion aufrufen, die einen TimeFrame verwendet, sehen Sie die Aufzählung "Timeframe", die mit hier verlinkt ist: Timeframe enumeration und das wird Ihnen sagen, dass Period_H1 ein Wert von 60 ist ... in anderen Worten 60 Minuten . . . 60 mins * 60 = Sekunden ... Datumsangaben sind in Sekunden.


Was Sie kodiert haben, wird nicht funktionieren ... Ihr time_select ist KEINE datetime ... Erinnern Sie sich, was eine datetime ist? aus der Dokumentation ... "datetime type (integer representing the amount of seconds elapsed from midnight, 1 January, 1970)." wenn Sie eine datetime wollen, die 7:15 Uhr bedeutet, muss es die Anzahl der Sekunden sein, die vom 1. Januar 1970 bis heute 7:15 Uhr verstrichen sind ...

Was Sie berechnet haben, ist die Anzahl der Sekunden von Mitternacht bis 7:15 Uhr heute Morgen, und das ist keine Datumsangabe.