Probleme mit Time()

 
Hallo MQL4-Gemeinschaft!

Dies ist mein erster Beitrag. Zunächst möchte ich darauf hinweisen, dass ich kein MQL-Entwickler bin. Ich bin ein Trader, der ein Tool verwendet, das mir bei der Erstellung von EAs hilft. Dieses Tool erlaubt die Verwendung einiger MQL-Strukturen, aber es führt keine expliziten MQL-Funktionen aus. Es nimmt einfach MQL-Code, wertet aus, ob die MQL-basierte Bedingung wahr/falsch ist, und führt dann eine benutzerdefinierte Funktion wie OpenBuy, OpenSell, CloseBuy, CloseSell, DeletePendingBuy, DeletePendingSell, usw. aus. Es wird jedoch nicht explizit MQL-Code ausgeführt. Sie können zum Beispiel die Funktion Print oder Comment verwenden, um etwas im Chart-Fenster von MT4 erscheinen zu lassen (nur ein Beispiel).

Ich weiß also ein wenig über MQL, was gerade ausreicht, um das EA-Entwicklungstool zu benutzen, mit dem ich meine EAs erstelle. Bisher habe ich 10 EAs mit dem Tool erstellt und 7 davon wegen Unrentabilität aufgegeben, was etwa 30 % besser ist als die Quote erfolgreicher Prototypen, die ich früher bei der Erstellung von Handelssystemen in Excel erreichte. Normalerweise erwarte ich, dass 7-8 von 10 Ideen nicht so profitabel sind wie erwartet, so dass 2-3 Entwürfe übrig bleiben, die profitabel genug sind, um den Optimierungsprozess zu beginnen. Ok, genug über mich und meine Arbeitsweise.

Hier ist mein Problem, und ich hoffe, dass ich an der richtigen Stelle um Hilfe gebeten habe!

Ich führe folgenden Code aus [b]um Trades zu schließen:[/b]

Tag() == 1 || Tag() == 2 || Tag() == 3 || Tag() == 4 && TimeHour(TimeCurrent()) >=23 && TimeMinute(TimeCurrent()) >=57 || Tag() == 5 && TimeHour(TimeCurrent()) >=21 && TimeMinute(TimeCurrent()) >=57

Hinweis: Das Problem ist, dass alle Geschäfte von Montag bis Donnerstag bis 23:57 Uhr geöffnet bleiben. Außerdem bleiben alle Geschäfte am Freitag bis 21:57 Uhr offen.


Ich lasse auch diesen Code durch einen MQL-Block [b]laufen, um Geschäfte zu öffnen:[/b]

TimeHour(TimeCurrent()) == 00 && TimeMinute(TimeCurrent()) <= 05

Hinweis: Der einzige Handel, der zwischen 00:00 und 00:05 eröffnet wird, ist der allererste Handel des Backtests, wenn Sie auf die Schaltfläche Tester Start klicken. Dieser Handel wird genau um 00:00 Uhr eröffnet. Keiner der anderen Abschlüsse öffnet jedoch später in der Woche zwischen 00:00 und 00:05 Uhr.

Zusammengefasst:

- Ein Geschäft wird nach dem Klicken auf die Schaltfläche Tester Start um 00:00 Uhr eröffnet.
- Kein Handel wird anschließend um 23:57 Uhr (Mo-Do) oder 21:57 Uhr (Fr) geschlossen.
- Zwischen 00:00 Uhr und 00:05 Uhr wird kein Handel mehr eröffnet.

Zu allen oben genannten Zeiten ist ein ausreichender Tick-Fluss vorhanden. Es gab also keine Lücken in den Daten, die von Tester verwendet wurden.

Für jede Hilfe wären wir dankbar. Warum werden diese Geschäfte nicht zu der kodierten Zeit geschlossen? Warum werden keine Abschlüsse ausgeführt, wenn zwischen 00:00 und 00:05 Uhr von Montag bis Freitag immer ein Handelssignal verfügbar ist?

Ich danke Ihnen!
cfx
 

Welche Debugging-Print-Anweisungen haben Sie Ihrem Code hinzugefügt, um herauszufinden, was ausgeführt wird und was nicht? z.B. schlägt OrderClose() fehl oder ist es der Code, der zu OrderClose() führt? beachten Sie die Rückgabewerte und geben relevante Fehler aus?

Was sind Funktionsrückgabewerte? Wie verwende ich sie?

Funktioniert Day() im Strategy Tester korrekt? Haben Sie getestet, dass es funktioniert? Sie können stattdessen TimeDayOfWeek() verwenden.

 

>Ich führe diesen Code [b]zum Schließen von Trades aus:[/b]

Day() == 1 || Day() == 2 || Day() == 3 || Day() == 4 && TimeHour(TimeCurrent()) >=23 && TimeMinute(TimeCurrent()) >=57 || Day() == 5 && TimeHour(TimeCurrent()) >=21 && TimeMinute(TimeCurrent()) >=57

>Hinweis: Das Problem ist, dass alle Geschäfte von Montag bis Donnerstag bis 23:57 Uhr geöffnet bleiben. Außerdem bleiben alle Geschäfte am Freitag bis 21:57 Uhr offen.

Dies ist ein sehr häufiger Fehler bei Anfängern: Sie versuchen, den gesamten logischen Ausdruck in eine Zeile zu packen. Das ist unmöglich zu debuggen.

Der Trick besteht darin, den Test in kleine Teile zu zerlegen und jedes Bit zu überprüfen (mit Print-Anweisungen oder auf andere Weise).

Können Sie ihn dazu bringen, an einem beliebigen Tag nach 23:57 Uhr zu schließen? Bei diesem Test müssen Sie sich nicht um die Wochentage kümmern. Sobald Sie einen Test korrekt durchgeführt haben, können Sie weitere Versuche starten. Verwenden Sie aber nach Möglichkeit mehrere Zeilen, um dazwischen Print-Anweisungen zur Fehlersuche zu ermöglichen. Wenn der Test funktioniert, entfernen Sie die Print-Anweisungen , aber lassen Sie den Code in separaten Zeilen. Der Code ist tatsächlich effizienter, wenn er in mehreren Zeilen geschrieben ist (er läuft schneller).

 
  1.  Day() == 1 || Day() == 2 || Day() == 3 || Day() == 4 && TimeHour(TimeCurrent()) >=23 && TimeMinute(TimeCurrent()) >=57 || Day() == 5 && TimeHour(TimeCurrent()) >=21 && TimeMinute(TimeCurrent()) >=57
    Was davon haben Sie gemeint?
    Day() == 1 || Day() == 2 || Day() == 3 || ( Day() == 4 && TimeHour(TimeCurrent()) >=23) && TimeMinute(TimeCurrent()) >=57 || Day() == 5 && TimeHour(TimeCurrent()) >=21 && TimeMinute(TimeCurrent()) >=57
    ( Day() == 1 || Day() == 2 || Day() == 3 || Day() == 4) && TimeHour(TimeCurrent()) >=23 && TimeMinute(TimeCurrent()) >=57 || Day() == 5 && TimeHour(TimeCurrent()) >=21 && TimeMinute(TimeCurrent()) >=57
    Immer vollständig einklammern oder vereinfachen und selbst dokumentieren
    #define HR2157 79020 // 21 * 3600 + 57 * 60
    #define HR2357 86220
    datetime now = TimeCurrent();
    int      tod = now % 86400;
    bool     isFriday = TimeDayOfWeek(now) == 5;
    if (isFriday) int todClose = HR215700;
    else              todClose = HR235700
    if (now >= todClose) ...
    

  2. https://www.mql5.com/en/forum/127483 berichtet, dass DayOfWeek() im Tester immer 5 zurückgibt, daher verwende ich nur Timexxx() Versionen.
 
WHRoeder:
  1. Welche davon meinten Sie?
Der OP meint offensichtlich alle Wochentage außer dem Freitag ODER. Offensichtlich versucht er, einen Abschluss vor dem Ende des Handelstages zu erzwingen, wobei der Freitag kürzer ist. Er hat nicht erkannt, dass der Test mit dem ODER der vier Tage überflüssig ist, da wir immer schließen können, wenn die Uhrzeit nach 23:57 Uhr liegt. Der Freitag muss nicht ausgeschlossen werden!
 
RaptorUK:

Welche Debugging-Print-Anweisungen haben Sie Ihrem Code hinzugefügt, um herauszufinden, was ausgeführt wird und was nicht? zum Beispiel, ist die OrderClose() fehlgeschlagen oder ist es der Code, der zu der OrderClose() führt?

Was sind Funktionsrückgabewerte? Wie verwende ich sie?

Funktioniert Day() im Strategy Tester korrekt? Haben Sie getestet, dass es funktioniert? Sie können stattdessen TimeDayOfWeek() verwenden.


Ich habe keine Print-Anweisungen für einen solchen Zweck verwendet. Ich habe in meinem ursprünglichen Beitrag einen Tippfehler gemacht. Das Tool, das ich verwende, kann [b]nicht[/b] (ich hatte ursprünglich "kann" geschrieben) MQL-Funktionen wie Print oder Comment verwenden. Ich entschuldige mich also für den Tippfehler, der sich auf Ihre Antwort ausgewirkt hat.

Ich kann mir jedoch das Tester-Journal ansehen und feststellen, dass der EA keine Trades vorbereitet, wenn er das sollte (um 00:00 Uhr), und er instanziiert den Close von Trades nicht, wenn er das sollte (Mo - Do um 23:59 Uhr oder Fr um 21:57 Uhr). Im Wesentlichen kann ich sehen, dass der EA zur Laufzeit des Testers geladen wird, die obligatorischen Informationen über das Demokonto, und schließlich kann ich sehen, dass alle Zeitrahmen für den/die vom EA verwendeten Indikator(en) ordnungsgemäß und ohne Fehler geladen werden. Normalerweise treten bei meinen EAs überhaupt keine Fehler auf. Und ich teste routinemäßig die ganze Zeit Multi-Time Frame EAs.

Ich scheine nur ein Problem mit der Time()-Funktion zu haben.

Da die einzige Position, die jemals geöffnet wird, der allererste Handel ist, den der EA sieht, NACHDEM er auf die Schaltfläche Tester Start geklickt hat, kann ich Ihnen anhand der Ausgabe von Print oder Comment nicht sagen, ob Day() funktioniert oder nicht. Als Zufallstest habe ich jedoch die Zeile [b]TimeMinute(TimeCurrent()) <= 05[/b] aus dem Codesegment entfernt, das die Positionseröffnung um 00:00 Uhr (Mo-Fr) steuert. Als ich dies tat, funktionierte der folgende Code wie vorgesehen:

Tag() == 1 || Tag() == 2 || Tag() == 3 || Tag() == 4 && TimeHour(TimeCurrent()) >=23 && TimeMinute(TimeCurrent()) >=57 || Tag() == 5 && TimeHour(TimeCurrent()) >=21 && TimeMinute(TimeCurrent()) >=57

Dies zeigt mir, dass Day() in der Tat durch Ableitung funktioniert. Das gesamte Codesegment, das die Positionen schließt, funktioniert tatsächlich. Aber aus irgendeinem Grund nicht, wenn [b]TimeMinute(TimeCurrent()) <= 05[/b] in dem Codesegment verwendet wird, das das Öffnen von Positionen steuert. Diese Ironie ergibt für mich keinen Sinn - ich kann mir nicht erklären, warum das der Fall sein sollte.

Vielen Dank!

cfx

 
dabbler:

>Ich führe diesen Code [b]zum Schließen von Geschäften aus:[/b]

>Hinweis: Das Problem ist, dass alle Geschäfte von Montag bis Donnerstag bis 23:57 Uhr offen bleiben. Außerdem bleiben alle Geschäfte am Freitag bis 21:57 Uhr offen.

Dies ist ein sehr häufiger Fehler bei Anfängern: Sie versuchen, den gesamten logischen Ausdruck in eine Zeile zu packen. Das ist unmöglich zu debuggen.

Der Trick besteht darin, den Test in kleine Teile zu zerlegen und jeden Teil zu überprüfen (mit Print-Anweisungen oder auf andere Weise).

Können Sie erreichen, dass er an einem beliebigen Tag nach 23:57 Uhr geschlossen wird? Bei diesem Test brauchen Sie sich keine Gedanken über die Wochentage zu machen. Sobald Sie einen Test korrekt ausgeführt haben, können Sie abenteuerlicher vorgehen. Verwenden Sie aber nach Möglichkeit mehrere Zeilen, um dazwischen Print-Anweisungen zur Fehlersuche zu ermöglichen. Wenn der Test funktioniert, entfernen Sie die Print-Anweisungen , aber lassen Sie den Code in separaten Zeilen. Der Code ist in der Tat effizienter, wenn er in mehreren Zeilen geschrieben ist (er läuft schneller).


Vielen Dank an alle für die Antworten, übrigens!


Das Close Control funktioniert. Wenn ich die [b]TimeMinute(TimeCurrent()) <= 05[/b] aus dem Open Control entfernt habe, funktioniert es tatsächlich. Die allererste Position, die ausgeführt wurde, nachdem ich auf die Schaltfläche Tester starten geklickt hatte, wird tatsächlich um 23:57 Uhr (Mo-Do) geschlossen. Das Problem besteht darin, dass um 00:00 Uhr keine neuen Positionen mehr geöffnet werden, wie es das Open Control vorsieht ([b]TimeHour(TimeCurrent()) == 00 && TimeMinute(TimeCurrent()) <= 05[/b]. Selbst wenn ich die Funktion [b]TimeMinute(TimeCurrent() <=5[/b] nur aus Gründen der Vernunft herausnehme.

Ich dachte, den Code so kompakt wie möglich zu gestalten, wäre die beste Alternative, aber ich werde versuchen, jede Funktion, jedes Segment, jede Komponente usw. zu erweitern, um zu sehen, ob das hilft.


Vielen Dank!

cfx

 
WHRoeder:
  1. Was davon haben Sie gemeint?
    Immer Klammern komplett oder vereinfachen und selbst dokumentieren
  2. https://www.mql5.com/en/forum/127483 berichtete, dass DayOfWeek() im Tester immer 5 zurückgibt, daher verwende ich nur Timexxx()-Versionen.

Ich meinte:

( Day() == 1 || Day() == 2 || Day() == 3 || Day() == 4) && TimeHour(TimeCurrent()) >=23 && TimeMinute(TimeCurrent()) >=57 || Day() == 5 && TimeHour(TimeCurrent()) >=21 && TimeMinute(TimeCurrent()) >=57


Es scheint eine Klammer in diesem Codesegment zu fehlen. Wenn Sie das für mich korrigieren können, wäre ich Ihnen dankbar. Das Tool, das ich verwende, zeigt mir an, wenn eine Klammer fehlt, aber es sagt mir nicht, wo.


Vielen Dank!

 
dabbler:
Der OP will offensichtlich alle Wochentage außer Freitag in ODER setzen. Offensichtlich versucht er, einen Abschluss vor dem Ende des Handelstages zu erzwingen, wobei der Freitag kürzer ist. Er hat nicht erkannt, dass der Test, das ODER der vier Tage zu verwenden, überflüssig ist, da wir immer schließen können, wenn die Uhrzeit nach 23:57 Uhr liegt. Der Freitag muss nicht ausgeschlossen werden!

Ich muss den Freitag isolieren, sonst gibt es keinen Unterschied zwischen den Schlusszeiten von Montag bis Donnerstag und der Schlusszeit von Freitag. Beide Schlusszeiten unterscheiden sich durch den Wochentag, an dem sie auftreten, und nicht nur durch die Tageszeit, zu der sie auftreten.

Ich muss also von Montag bis Donnerstag um 23:57 Uhr bzw. am Freitag um 21:57 Uhr schließen. Wenn ich den Abschluss des Freitags mit Montag bis Donnerstag einbeziehe, werden alle Geschäfte zum frühesten Zeitpunkt geschlossen, den der EA sieht, nämlich um 21:57 Uhr, also volle zwei Stunden vor den erforderlichen Abschlusszeiten von Montag bis Donnerstag.

Bitte klären Sie Ihre Aussage. Vielen Dank!

cfx

 

LOL!


Ich fange an zu glauben, dass ein Großteil der "Zeit"-basierten Funktionen in MT4 ernsthaft fehlerhaft sind.


Ich meine, wenn ich alle meine Position Control Logik auf etwas so banal wie zurückgesetzt: TimeHour(TimeCurrent()) == 23 && TimeHour(TimeCurrent()) == 59, und nicht in der Lage bin, einen einzigen Handel überhaupt zu schließen (der EA ignoriert den Code einfach!), dann würde ich sagen, dass MT4 einige Probleme hat, die in Bezug auf diese Art von Funktionen korrigiert werden müssen.


Ich habe auch eine Reihe von Tests mit den folgenden durchgeführt: DayOfWeek() != 0 && DayOfWeek() !=, und nicht ein einziger Handel wurde von Montag bis Freitag eröffnet! Tatsächlich wurde nicht ein einziger Handel eröffnet. Aber was glauben Sie, was mit dem EA passiert ist, als ich alle zeitbasierten Funktionen komplett entfernt habe? Natürlich läuft er wie vorgesehen ohne Fehler. Ich bin kein MQL-Entwickler, aber ich bin wirklich gut darin, logische Konstrukte zu entwickeln, und ich kann ein systemisches Problem erkennen, wenn ich es spüre. Ich spüre, dass MetaQuotes ein Problem mit ihren Time()-Funktionen hat, Punkt. Ich kann nicht so ahnungslos sein, wenn es um etwas geht, das so einfach zu programmieren ist, und ich habe gesehen, dass andere Leute, die in MQL programmieren, Schwierigkeiten mit zeitbasierten Funktionen in MT4 haben.

Ich weiß nicht genau, was das Problem ist, aber wenn ich TimeMinute(TimeCurrent()) <= 05 aus der Eröffnungssteuerungslogik entferne (das Codestück, das die Eröffnung aller Trades steuert), und ich NUR den ersten Trade zur richtigen Zeit schließe, aber ALLE ANDEREN Trades, die von genau derselben Eröffnungssteuerungslogik gesteuert werden, anschließend vom EA einfach ignoriert werden, dann weiß ich, dass mit der Funktion selbst etwas systemisch nicht stimmt.

Der Code kann nicht mehr einfach sein! Ich weise den EA an, den verdammten Handel zwischen 00:00 und 00:05 zu eröffnen. Das ist keine schwierige Sache zu codieren. Ein Sechsjähriger könnte das programmieren. Hier ist es noch einmal: [b]TimeHour(TimeCurrent()) == 00 && TimeHour(TimeCurrent()) <= 05[/b].


So. Ich habe es gerade kodiert. Dann gebe ich diesen Code in das Tool ein, das ich verwende, und das Tool sagt mir, dass die Syntax des Codes korrekt ist! Ok, was nun? Nun, ich kompiliere die verdammte .ex4-Datei zum MILLIONSTEN Mal und lasse den M4-Tester laufen. Okay, und was jetzt? Nun, der allererste Handel startet um 00:00 Uhr. Großartig, oder? NOOOOOO! Und warum? Weil um 23:59 Uhr an einem Montag die verdammte Position immer noch offen ist. Was dann? Nun, um 00:00 Uhr der nächsten Handelssitzung (dem nächsten D1-Balken) wird die gute alte [b]TimeHour(TimeCurrent()) == 00 && TimeHour(TimeCurrent()) <= 05[/b] dort durchkommen, wo die Closing Control versagt hat, richtig? Falsch! Warum? Weil zwischen 00:00 und 00:05 kein einziger Handel vom EA eröffnet wird!!!

Ich habe zwei (2) Tage mit diesem einfachen Code verbracht und niemand war in der Lage, mir zu sagen, warum er nicht funktioniert - nicht einmal die MQL-Experten! Das sagt mir, dass MetaQuotes ein Problem hat.

Ok, ich bin jetzt fertig mit dem Dampf ablassen. Das waren zwei Tage aufgestauter Frust, und ich musste ihn rauslassen.

Ich habe NIEMALS Probleme mit meinen EAs und ich war in der Lage, einige ziemlich ausgeklügelte Designs mit allen Zeitrahmen außer W1 und MN zusammenzustellen. Alle meine EAs verwenden iCustom-Designs, die ich von Grund auf entwickelt und erforscht habe.

Plötzlich, nachdem ich wie ein gut geölter und gut getunter V8-Motor gelaufen bin, fange ich an, Time()-Funktionen zu verwenden und die Hölle bricht los? Irgendetwas stimmt da einfach nicht. Ich verwende diese zeitbasierten Funktionen auf die einfachste Art und Weise, die möglich ist, und sie funktionieren trotzdem nicht? 48 Stunden für so etwas zu verschwenden, war für mich eine enorme Zeitverschwendung. Frustriert und verärgert werde ich versuchen, ohne "Time" zu leben, wenn das möglich ist.

Ich werde lernen müssen, wie man eine Handelslogik um Time()-Funktionen herum entwickelt.

Unglaublich.

 

CFx 2012.05.31 03:41

LOL!


Ich fange an zu glauben, dass ein Großteil der "Zeit"-basierten Funktionen in MT4 ernsthaft fehlerhaft sind.


Ich meine, wenn ich alle meine Positionssteuerungslogik auf etwas so banales wie zurücksetze: TimeHour(TimeCurrent()) == 23 && TimeHour(TimeCurrent()) == 59, und nicht in der Lage bin, einen einzigen Handel überhaupt zu schließen (der EA ignoriert den Code einfach!), dann würde ich sagen, dass MT4 einige Probleme hat, die in Bezug auf diese Art von Funktionen korrigiert werden müssen.


Ich habe auch eine Reihe von Tests mit den folgenden durchgeführt: DayOfWeek() != 0 && DayOfWeek() !=, und nicht ein einziger Handel wurde von Montag bis Freitag eröffnet! Tatsächlich wurde nicht ein einziger Handel eröffnet. Aber was glauben Sie, was mit dem EA passiert ist, als ich alle zeitbasierten Funktionen komplett entfernt habe? Natürlich läuft er wie vorgesehen ohne Fehler. Ich bin kein MQL-Entwickler, aber ich bin wirklich gut darin, logische Konstrukte zu entwickeln, und ich kann ein systemisches Problem erkennen, wenn ich es spüre. Ich spüre, dass MetaQuotes ein Problem mit ihren Time()-Funktionen hat, Punkt. Ich kann nicht so ahnungslos sein, wenn es um etwas geht, das so einfach zu kodieren ist, und ich habe gesehen, dass andere Leute, die in MQL kodieren, Schwierigkeiten mit zeitbasierten Funktionen in MT4 haben.

Ich weiß nicht genau, was das Problem ist, aber wenn ich TimeMinute(TimeCurrent()) <= 05 aus der Eröffnungssteuerungslogik entferne (das Codestück, das die Eröffnung aller Trades steuert) und ich NUR den ersten Trade zur richtigen Zeit schließe, aber ALLE ANDEREN Trades, die von genau der gleichen Eröffnungssteuerungslogik gesteuert werden, anschließend vom EA einfach ignoriert werden, dann weiß ich, dass mit der Funktion selbst etwas systemisch falsch ist.

Der Code kann nicht mehr einfach sein! Ich weise den EA an , den verdammten Handel zwischen 00:00 und 00:05 zu eröffnen. Das ist keine schwierige Sache zu codieren. Ein Sechsjähriger könnte das programmieren. Hier ist es noch einmal: [b]TimeHour(TimeCurrent()) == 00 && TimeHour(TimeCurrent()) <= 05[/b].


So. Ich habe es gerade kodiert. Dann gebe ich diesen Code in das Tool ein, das ich verwende, und das Tool sagt mir, dass die Syntax des Codes korrekt ist! Ok, was nun? Nun, ich kompiliere die verdammte .ex4-Datei zum MILLIONSTEN Mal und lasse den M4-Tester laufen. Okay, und was jetzt? Nun, der allererste Handel startet um 00:00 Uhr. Großartig, oder? NOOOOOO! Und warum? Weil um 23:59 Uhr an einem Montag die verdammte Position immer noch offen ist. Was dann? Nun, um 00:00 Uhr der nächsten Handelssitzung (dem nächsten D1-Balken) wird die gute alte [b]TimeHour(TimeCurrent()) == 00 && TimeHour(TimeCurrent()) <= 05[/b] dort durchkommen, wo die Closing Control versagt hat, richtig? Falsch! Warum? Weil zwischen 00:00 und 00:05 kein einziger Handel vom EA eröffnet wird!!!

Ich habe zwei (2) Tage mit diesem einfachen Code verbracht und niemand war in der Lage, mir zu sagen, warum er nicht funktioniert - nicht einmal die MQL-Experten! Das sagt mir, dass MetaQuotes ein Problem hat.

Ok, ich bin jetzt fertig mit dem Dampf ablassen. Das waren zwei Tage aufgestauter Frust, und ich musste ihn rauslassen.

Ich habe NIEMALS Probleme mit meinen EAs und ich war in der Lage, einige ziemlich ausgeklügelte Designs mit allen Zeitrahmen außer W1 und MN zusammenzustellen. Alle meine EAs verwenden iCustom-Designs, die ich von Grund auf entwickelt und erforscht habe.

Plötzlich, nachdem ich wie ein gut geölter und gut getunter V8-Motor gelaufen bin, fange ich an, Time()-Funktionen zu verwenden und die Hölle bricht los? Irgendetwas stimmt da einfach nicht. Ich verwende diese zeitbasierten Funktionen auf die einfachste Art und Weise, die möglich ist, und sie funktionieren trotzdem nicht? 48 Stunden für so etwas zu verschwenden, war für mich eine enorme Zeitverschwendung. Frustriert und verärgert werde ich versuchen, ohne "Zeit" zu leben, wenn das möglich ist.

Ich werde lernen müssen, wie man Handelslogik um Time()-Funktionen herum entwickelt.

Unglaublich.

LOL. Sie sind derjenige, der unwirklich ist. Dieser Code von dir ...

if (TimeHour(TimeCurrent()) == 00 && TimeHour(TimeCurrent()) <= 05)

... wird niemals wahr sein.

Du bist derjenige, der "dein" logisches Konstrukt weiter entwickeln muss.

Und dieses Konstrukt ...

if (TimeHour(TimeCurrent()) >= 00 && TimeHour(TimeCurrent()) <= 05)
Grund der Beschwerde: