Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 1799

 
MakarFX #:
Ja

Dankeschön

 
Mihail Matkovskij #:

Die zweite Option wird nicht funktionieren. Um den Überlauf vom Ende der Liste aus durchzuführen, müssen Sie Folgendes tun:

Danke, ich habe zwei Tage lang nachgedacht).

 
Nerd Trader #:

Normalerweise verzichte ich darauf, weil es im Tester nicht funktioniert, aber hier erlaubt das Gehäuse echte Daten - ich werde es ausprobieren müssen. Mir ist klar geworden, dass sich die Version dieses Codes mit der Umbenennung des Objekts nicht von der früheren unterscheidet, als die Objekte beim Ändern der Farben neu erstellt wurden, denn die Umbenennung bewirkt dasselbe: Sie erstellt ein Objekt mit einem neuen Namen und löscht das alte.


UPD

Die Schaltflächen, mit denen ich in mql4 im Debug-Modus Linien erstellen kann, sind im Diagramm nicht vorhanden

Krücke auf Krücke.

UPD

Die Schaltflächen im Tester in mt4 sind sehr gut gezeichnet und funktionieren auch noch.

 
Können Sie mir bitte sagen, wie ich die Eröffnungszeit-Bedingung für den Nacht-Scalper schreiben kann? Ich kann es nicht herausfinden.

Unter
Hour() >= start && Hour() <= end

funktioniert es nicht, wenn die Startzeit 22 oder 23 Uhr und die Endzeit 2-3 Uhr morgens ist.
 
Ivan Butko #:
Können Sie mir bitte sagen, wie ich die Eröffnungszeit-Bedingung für den Nacht-Scalper schreiben kann? Ich kann es nicht herausfinden.

Unter
funktioniert dies nicht, wenn die Startzeit 22 oder 23 Uhr und die Endzeit 2-3 Uhr morgens ist.

Versuchen Sie diesen Code

//----------------------- Возвращает флаг разрешения торговли по времени
bool isTradeTime(string TimeBegin="00:00", string TimeEnd="00:00") {
 datetime dtBegin, dtEnd, TimeCur=TimeCurrent();
  dtBegin=StringToTime(TimeToString(TimeCur, TIME_DATE)+" "+TimeBegin);
  dtEnd  =StringToTime(TimeToString(TimeCur, TIME_DATE)+" "+TimeEnd);
  if(dtBegin>=dtEnd) {
   if(TimeCur>=dtEnd) dtEnd+=24*60*60; else dtBegin-=24*60*60;
  }
  return(TimeCur>=dtBegin && TimeCur<=dtEnd);
 }
 
Vitaly Muzichenko #:

Probieren Sie diesen Code aus.

Vitaly, ich danke dir!

 
Artyom Trishkin #:

Krücke auf Krücke.

UPD

Buttons im Tester in mt4 zeichnen sogar sehr gut im Tester, und funktionieren sogar dabei.

Was hat das mit dem Tester zu tun, wenn ich über den Debugger schreibe? Und im Tester funktionieren die Schaltflächen nicht richtig, z.B. werden Klickereignisse ignoriert.
 
Nerd Trader #:
Und was hat der Tester damit zu tun, wenn ich über einen Debugger schreibe? Und im Tester funktionieren die Schaltflächen unvollständig, z.B. werden Klickereignisse ignoriert.

Und Sie müssen sich die Ereignisse nicht ansehen. Im Testgerät funktionieren sie überhaupt nicht. Sie müssen den Status beobachten.

UPD. Natürlich nicht bescheiden, aber wenn du einmal auf meine Tipps gehört hättest, hättest du schon längst alles erledigt. Richtig und ohne die Krücken eines Mehrgeschossers.

Aber jeder wählt den Abgrund, in den er sich stürzen will.

 
Nerd Trader #:

Normalerweise verzichte ich darauf, weil es im Tester nicht funktioniert, aber hier erlaubt das Gehäuse echte Daten - ich werde es ausprobieren müssen. Mir ist klar geworden, dass sich die Version dieses Codes mit der Umbenennung von Objekten nicht von der früheren unterscheidet, als Objekte mit Farbänderung neu erstellt wurden, denn die Umbenennung bewirkt dasselbe: Sie erstellt ein Objekt mit neuem Namen und löscht das alte.


UPD

Um Debug in Tester zu verwenden, müssen Sie lernen, in MQL5 zu schreiben. Dort funktioniert alles.

Es findet keine Umbenennung von Objekten statt. Stellen Sie sich vor, dass Sie ein bestehendes Objekt durch ein neues Objekt ersetzen.

Die Schaltflächen zum Erstellen von Linien in mql4 im Debug-Modus sind im Diagramm nicht vorhanden


Das kann nicht sein. Ihr Code sieht nach einem Durcheinander aus. Das ist wahrscheinlich der Grund für die Verzögerungen bei den Tasten. Wie ich Ihnen bereits gesagt habe, beginnen Sie mit etwas Einfachem. Machen Sie die Dinge nicht zu kompliziert. Und wenn das Einfache zu funktionieren beginnt und Sie davon überzeugt sind, können Sie es nach und nach komplizierter machen.

 
законопослушный гражданин #:

Danke, ich habe zwei Tage lang nachgedacht).

Sie sollten nicht nur denken, sondern auch handeln. Sie können zum Beispiel "Schleifen für C++" googeln.