Fragen von Anfängern MQL4 MT4 MetaTrader 4 - Seite 125

 
novichok2018:

Und es sollte keine Fehlermeldung angezeigt werden? Es kann wahrscheinlich nicht schaden zu wissen, warum ein Auftrag nicht gefunden wird und wie man dies vermeiden kann.

Meiner Meinung nach ist das nicht notwendig. Grundsätzlich endet OrderSelect nur dann mit einem Fehler, wenn der Index der Listenzeichenfolge falsch ist. Wenn der Index genau richtig ist, tritt kein Fehler auf. Der OrderSelect-Fehler ist also ein Programmiererfehler, kein Laufzeitfehler.

 
Ihor Herasko:

Das einzige MQL4-Lehrbuch, das ich kenne, ist das Lehrbuch von Sergei Kovalev.

Ich weiß nicht, vielleicht weiß ich nicht, wie man das Lehrbuch benutzt, aber ich habe darin nichts über Arrays oder Strukturen gefunden, insbesondere nicht, wie man sie benutzt und zu welchem Zweck.

Ihr Code scheint alles zu verstehen, aber ich verstehe nicht, wie ich ihn in der Positionsanalyse verwenden kann.

Zur gleichen Zeit kann ich nicht scheinen, um meine Situation ohne Arrays zu lösen. Ich scheine alle Möglichkeiten genutzt zu haben - Flaggen, Positionszähler, Eröffnen von Käufen und Verkäufen mit separaten Funktionen sowie das Schließen derselben. Keiner von ihnen hilft. Sobald ein Kauf eröffnet und ein Verkauf geschlossen wird, sieht das Terminal keine Bedingungen für das Schließen, bis ein neuer Verkauf eröffnet wird. Wenn in diesem Zeitraum keine Buchten vorhanden sind, funktioniert alles einwandfrei. Es wird ziemlich frustrierend sein, wenn die Arrays nicht helfen.

Wie auch immer, ich freue mich auf weitere Empfehlungen von Ihnen. Ich danke Ihnen.

22.02 13.00 Ich glaube, ich habe den Grund meiner Situation verstanden: um die Positionen zu meinen Bedingungen zu schließen, je nach den Bedingungen ihrer Eröffnung, weise ich jeder eine andere Magie zu. Dazu verwende ich jedoch zunächst OrderSelect(), nachdem ich eine Position eröffnet habe. Jede Position erzeugt also eine neue Magie, wenn OrderSelect() angewendet wird, und die vorherige wird zerstört. Deshalb werden die Bedingungen durch die letzte Magie gesucht, und wenn mehrere Balken (Verkäufe) durch verschiedene Bedingungen geöffnet werden, werden sie alle durch die zuletzt geöffnete Position geschlossen (dies kann im Strategy Tester gesehen werden). Wenn also eine Kaufposition eröffnet wird, während eine Verkaufsposition eröffnet wird, ändert sich die magische Zahl, und das Terminal kann keine Bedingungen für das Schließen des Verkaufs finden. Ich habe die Bestätigung dafür durch Ausdrucke gefunden. Nun gilt es herauszufinden, wie sich eine solche Situation vermeiden lässt. Wer kann helfen?

 
Kann jemand helfen, einen EA anzupassen, um ihn auf den Markt zu bringen? Ich kann die Schecks nicht entziffern (
 
novichok2018:

Ich weiß nicht, vielleicht weiß ich nicht, wie man das Lehrbuch benutzt, aber ich habe dort kein Wort über Arrays oder Strukturen gefunden, geschweige denn, wie man sie benutzt und wofür.

Ihr Code scheint alles zu verstehen, aber ich verstehe nicht, wie ich ihn in der Positionsanalyse verwenden kann.

Zur gleichen Zeit kann ich nicht scheinen, um meine Situation ohne Arrays zu lösen. Ich scheine alle Möglichkeiten genutzt zu haben - Flaggen, Positionszähler, Eröffnen von Käufen und Verkäufen mit separaten Funktionen sowie das Schließen derselben. Keiner von ihnen hilft. Sobald ein Kauf eröffnet und ein Verkauf geschlossen wird, sieht das Terminal keine Bedingungen für das Schließen, bis ein neuer Verkauf eröffnet wird. Wenn in diesem Zeitraum keine Buchten vorhanden sind, funktioniert alles einwandfrei. Es wird ziemlich frustrierend sein, wenn die Arrays nicht helfen.

Wie auch immer, ich freue mich auf weitere Empfehlungen von Ihnen. Ich danke Ihnen.

Dieses Tutorial ist alt, es wurde für Versionen von MT4 < 600 geschrieben, d.h. für das alte MQL4, es hatte keine Strukturen. Arrays waren.

 
Alexey Volchanskiy:

Das Tutorial ist alt, geschrieben für Versionen von MT4 < 600, d.h. für altes MQL4, es gab keine Strukturen darin. Es gab Arrays.

Die Hilfe enthält auch Arrays, aber wozu? Es ist nicht klar, wie die erstellten Arrays zum Schließen/Öffnen von Positionen verwendet werden können.

 
novichok2018:

Es gibt auch Arrays in der Hilfe, aber was nützt das: Es ist nicht klar, wie man die erstellten Arrays zum Schließen/Öffnen von Positionen verwendet.

))))))))) bringt mich zum Lachen. Warum brauchen Sie Arrays zum Öffnen/Schließen von Positionen?

 
Alexey Volchanskiy:

))))))))) hat mich zum Lachen gebracht. Warum brauchen Sie Arrays zum Öffnen/Schließen?

Wenn es eine Reihe von Geschäften gibt, und für jeden Schritt gibt es verschiedene Parameter - Lot/Sl/Tp/Distanz, dann ist es einfacher, sie alle in einem Array durchzugehen

 
Taras Slobodyanik:

Wenn es eine Reihe von Geschäften gibt, und für jeden Schritt gibt es verschiedene Parameter Lot/Sl/Tp/Distanz, dann ist es einfacher, sie alle in einem Array durchzugehen

Die Situation ist in Beitrag 1243 beschrieben. Vielleicht können Sie helfen? Ich danke Ihnen.

 

novichok2018:

Wer kann helfen?

Logik) Schreiben Sie einen Plan in Worten, was der EA in welcher Reihenfolge und unter welchen Bedingungen tun sollte (Flussdiagramm). Das Schreiben von Code wird viel einfacher sein.

 
Aleksey Lebedev:

Logik) Schreiben Sie einen Plan in Worten, was der Expert Advisor tun soll, in welcher Reihenfolge, unter welchen Bedingungen (Flussdiagramm). Das Schreiben von Code wird viel einfacher sein.

Ich danke Ihnen allen. Ich glaube, ich habe das Problem selbst gelöst: Ich habe einfach alle magischen Elemente entfernt und Flaggen angebracht, um die Positionen zu identifizieren, und zwar für jede Bedingung unterschiedlich. Einfach und effektiv. Und ohne Arrays.

Wenn einer der Experten die Fallstricke in dieser Lösung sieht, die sich noch nicht gezeigt haben, wäre ich für eine Klarstellung sehr dankbar.