![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Ich habe den Schließmechanismus von:
zu
und jetzt funktioniert alles wie erwartet. Auch wenn ich nicht verstehe, warum das so ist. Weil ich die zusätzlichen Zeilen im zweiten Code wirklich nicht verstehe. Aber danke Leute!
Ich ändere den Schließmechanismus von:
zu
und jetzt funktioniert alles wie erwartet. Vielen Dank, Leute!
Ich habe den Schließmechanismus von:
zu
und jetzt funktioniert alles wie erwartet. Auch wenn ich nicht verstehe, warum das so ist. Weil ich die zusätzlichen Zeilen im zweiten Code wirklich nicht verstehe. Aber danke, Leute!
Dein zweiter Code ist korrekt, aber ein bisschen komisch. Öffnen Sie MetaEditor, Navigatorfenster (Strg + D), Registerkarte Wörterbuch, und wählen Sie MQL4 Referenz > Standardkonstanten > Handelsoperationen.
Es wird wahrscheinlich nicht immer funktionieren ... wenn man offene Orders schließt oder schwebende Orders innerhalb einer Schleife löscht, MUSS man abwärts zählen, nicht aufwärts ... man muss seine Schleife ändern. Und Sie müssen den Haken bei Symbol() wieder einfügen . . . sonst wird der EA für EURUSD möglicherweise Aufträge für GBPUSD schließen . . . was Sie tun mussten, war, das continue loszuwerden . . . oder das == zu != zu machen
Nur um Sie richtig zu verstehen. Sie sagen, wenn ich den ersten Code in:
dann sollte es auch funktionieren? Denn ich habe das ausprobiert und es wird wieder nur eine Order pro Währungspaar eröffnet.
Oder wenn ich den zweiten Code ändere in (k++ zu k--), dann öffnet er auch nur einen Handel pro Währungspaar.
Nur um Sie richtig zu verstehen. Sie sagen, wenn ich den ersten Code in:
dann sollte es auch funktionieren? Denn ich habe das ausprobiert und es wird wieder nur eine Order pro Währungspaar eröffnet.
Oder wenn ich den zweiten Code ändere in (k++ zu k--), dann öffnet er auch nur einen Handel pro Währungspaar.
Ich spreche über den ersten Code, die Schleife, die Sie verwenden, wo Sie Aufträge schließen ... es muss dekrementieren . . sonst verpassen Sie Aufträge. Wie ich sehe, haben Sie das continue entfernt und { } Klammern hinzugefügt, sehr gut :-)
Eröffnen Sie eine Order pro Währungspaar oder eine Order insgesamt?
Eröffnen Sie eine Order pro Währungspaar oder eine Order insgesamt?
Ja, natürlich insgesamt. Okay, 2. Code:
Wenn wir über die Schleife sprechen, denke ich, dass Sie dies meinen:
Eigentlich würde ich es in etwas wie dieses ändern:
Diese Zeile öffnet nur eine Order pro Währungspaar (wie gewünscht!)
Ist die Schleife nun korrekt in Bezug auf dieses Problem? :
RaptorUK:
Es wird wahrscheinlich nicht immer funktionieren ... wenn Sie offene Aufträge schließen oder ausstehende Aufträge innerhalb einer Schleife löschen, MÜSSENSie abwärts zählen, nicht aufwärts ... Sie müssen Ihre Schleife ändern. Und Sie müssen den Haken bei Symbol() wieder einfügen . . . sonst wird der EA für EURUSD möglicherweise Aufträge für GBPUSD schließen . . was Sie tun müssen, ist, dascontinue loszuwerden. . oder machen Sie aus dem == ein !=Ja, in Summe natürlich. Okay, 2. Code:
Wenn wir über die Schleife sprechen, denke ich, dass du dies meinst:
Eigentlich würde ich es in etwas wie dieses ändern:
Diese Zeile öffnet nur eine Order pro Währungspaar (wie gewünscht!)
Ist die Schleife in Bezug auf dieses Problem jetzt korrekt? :
Nein, machen Sie folgendes....
Die erste Order-Position ist 0, wenn Sie also 5 Orders haben, sind die Positionen 0, 1, 2, 3, 4 ... die letzte ist also OrdersTotal() - 1 ... um herunterzuzählen, beginnen Sie also bei OrdersTotal()-1 und enden bei 0
Nein, machen Sie Folgendes...
Die erste Auftragsposition ist 0. Wenn Sie also 5 Aufträge haben, sind die Positionen 0, 1, 2, 3, 4 ... die letzte Position ist also OrdersTotal() - 1 ... zum Herunterzählen beginnen Sie also bei OrdersTotal()-1 und enden bei 0
Es sollte also wie folgt aussehen:
weil Sie das geschrieben haben:
oder liege ich falsch?
Es sollte also wie folgt aussehen:
weil Sie das geschrieben haben:
oder liege ich falsch?