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

 
ZZuretc: Ja, der "Hut" ist ein kleines Rätsel. Ich habe herumgestöbert, aber ich kann es nicht herausfinden. Ich werde mir die Fingerabdrücke ansehen, dann ergibt es mehr Sinn.

Schicken Sie mir den gesamten Code in Ihrem Posteingang oder posten Sie ihn hier. Ich werde es mir ansehen. Die Korrektur bei EURUSD scheint vorbei zu sein... Und lassen Sie mich wissen, was ich brauche. Ich beobachte es schon eine Weile...

 
ZZuretc:

Mmmm... Ja... "das ist eine große Sache". Ich habe nachgeforscht, konnte aber die gesuchte Antwort nicht finden. Ich schaue mir die Ausdrucke an, dann ist es klarer.

Hier ist ein Screenshot aus dem Moment der Fehlersuche. Haltepunkt ist in Zeile 15

Forum zum Thema Handel, automatische Handelssysteme und Strategietester

Wir empfehlen, MT5 als Terminal für Programmierer und nicht für Trader zu verwenden.

Alexey Viktorov, 2018.01.09 18:57

Sie sollten LASTBAR_DATE nicht verwenden, ich habe es sehr gut verstanden. Alles andere ist böse.

iBarSift() gibt die Taktnummer mit der angegebenen Zeit zurück, die Indexierung beginnt bei Null.

Bars() gibt die Anzahl der Balken von Datum zu Datum zurück. Wie bei allen anderen Funktionen, wie z.B. OrdersTotal() PositionsTotal() und anderen, wird die Anzahl der Bar mit der angegebenen Zeit minus 1 sein.

Wie Sie aus dem Beispiel ersehen können, ist die Funktion auch in mql4 verfügbar

 
ZZuretc:
Was hat das LASTBAR_DATE damit zu tun?

Das hat überhaupt nichts damit zu tun. Die Worte dort sind an Sie gerichtet.

Alexey Viktorov:

Hier ist ein Screenshot aus dem Moment der Fehlersuche. Der Haltepunkt befindet sich in Zeile 15.

Im Allgemeinen ist in der Hilfe zum Meta-Editor alles sehr gut beschrieben.

 

Hallo) Helfen Sie mir hier weiter. Der Expert Advisor zeichnet zwei Arten von Objekten aus der Datei - vertikale und horizontale Linien. Der Expert Advisor hat drei Schaltflächen: 1 - alle Linien löschen, 2 - horizontale Linien löschen, 3 - vertikale Linien löschen. Ich möchte, dass auf Release-Taste wieder gezeichnet werden würde, wenn Sie die entsprechende Taste drücken - 1 - alle Linien, 2 - horizontal, 3 - vertikal. Welchen Weg soll ich einschlagen? Schreiben Sie einen vollständigen Zyklus, während Sie für jeden Push die Datei mit den Daten öffnen und dann das entsprechende Objekt neu erstellen? Ich weiß nicht, wie man es richtig macht. In welche Richtung soll gegraben werden?

 
Юра куксов:

Ja, und das ist nicht - bis zum nächsten Tick usw., bis diese Bedingung erfüllt ist, und dann wird das, was Sie in diese Bedingung geschrieben haben, erfüllt. Das heißt, sein Körper. Wie das?!

Yura, schreibe hier weiter. Dort ist es interessanter.

 
WinProject:

Hallo) Helfen Sie mir hier weiter. Der Expert Advisor zeichnet zwei Arten von Objekten aus der Datei - vertikale und horizontale Linien. Der Expert Advisor hat drei Schaltflächen: 1 - alle Linien löschen, 2 - horizontale Linien löschen, 3 - vertikale Linien löschen. Ich möchte, dass bei der Freigabe der Tasten die Linien, die durch Drücken der entsprechenden Taste entfernt wurden, wieder gezeichnet werden - 1 - alle, 2 - horizontal, 3 - vertikal. Welchen Weg soll ich einschlagen? Schreiben Sie einen vollständigen Zyklus, während Sie für jeden Push die Datei mit den Daten öffnen und dann das entsprechende Objekt neu erstellen? Ich weiß nicht, wie man es richtig macht. In welche Richtung soll ich graben?

Ich denke, wir sollten uns in Richtung der Schaltflächeneigenschaften orientieren

if(ObjectGetInteger(0, name, OBJPROP_STATE) == true) // кнопка нажата

Außerdem müssen wir möglicherweise ein Sequenzkennzeichen hinzufügen. Um eine Bedingung formulieren zu können, wurde gepresst wurde gepresst und umgekehrt, wurde gepresst wurde gepresst.

 
Alexey Viktorov:

Ich glaube, wir müssen uns die Eigenschaften der Schaltfläche ansehen

Möglicherweise müssen wir auch ein Sequenzkennzeichen hinzufügen. Um eine Bedingung formulieren zu können, wurde gepresst wurde gepresst und umgekehrt, wurde gepresst wurde gepresst.


Danke, ich habe meine Frage wohl nicht ganz richtig formuliert. Es ist nicht klar, wie man Objekte, die durch Drücken der Taste gelöscht wurden, effizient neu zeichnen kann. Und den Code, den ich brauche, an den Tastendruck anzuhängen, ist kein Problem.

 
WinProject:

Hallo) Helfen Sie mir hier weiter. Der Expert Advisor zeichnet zwei Arten von Objekten aus der Datei - vertikale und horizontale Linien. Der Expert Advisor hat drei Schaltflächen: 1 - alle Linien löschen, 2 - horizontale Linien löschen, 3 - vertikale Linien löschen. Ich möchte, dass bei der Freigabe der Tasten die Linien, die durch Drücken der entsprechenden Taste entfernt wurden, wieder gezeichnet werden - 1 - alle, 2 - horizontal, 3 - vertikal. Welchen Weg soll ich einschlagen? Schreiben Sie einen vollständigen Zyklus, während Sie für jeden Push die Datei mit den Daten öffnen und dann das entsprechende Objekt neu erstellen? Ich weiß nicht, wie man es richtig macht. In welche Richtung soll gegraben werden?

Anstatt ein Objekt zu löschen, können Sie seine Farbe als Hintergrund festlegen - es wird dann ausgeblendet. Sie können sie aus dem Bildschirm ausblenden und dann anordnen. Die Daten aus der Datei können in einem Array von Strukturen gespeichert werden. Wenn sich die Datei häufig ändert, können Sie überprüfen, wann sie erstellt wurde. Wenn das Objekt wieder erscheint, wenn die Taste losgelassen wird, ist es nur für die Zeit, in der die Taste gedrückt ist, nicht vorhanden...

 
WinProject:

Danke, ich habe die Frage wohl nicht ganz richtig formuliert. Es ist nicht klar, wie man Objekte, die durch Drücken der Taste gelöscht wurden, vernünftig neu zeichnen kann. Und den Code, den ich brauche, an den Tastendruck anzuhängen, ist kein Problem.

In diesem Fall gibt es nicht genügend Informationen.

Sie können jedoch die Zeiten der vertikalen Linien in einem Feld und die Preise der horizontalen Linien in einem anderen Feld speichern. Aber das Ziel ist abstrakt und die Lösung kann falsch sein.

 
Gibt es eine Funktion, die den Typ der Variablen zurückgibt?

Sie schreiben zum Beispiel.

int a=10;

dann schreiben Sie:

functia(a);

und da steht: INT!

:)
Grund der Beschwerde: