Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 302
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
Zum Wohl! Heute habe ich meinen ersten EA im MT5 gestartet!
Die richtige Situation auf dem Markt kam und der Expert Advisor begann zu kaufen und zu kaufen!!! Wenigstens konnte ich noch rechtzeitig reagieren. Können Sie mir sagen, was an dem Code falsch ist? Ich dachte, es sollte nur ein Lot kaufen und sofort einen Stop Loss und Take Profit setzen. Sobald er etwas gekauft hat, sollte die Variable Bye_opened wahr werden und ihm nicht erlauben, einen weiteren Handel zu tätigen, bis die Stopps ausgelöst werden. Und woher weiß ich den Preis des letzten Handels, um Stops zu setzen?
Aber es sieht so aus, als hätte ich etwas falsch gemacht. Bitte weisen Sie mich auf meinen Fehler hin.
Die Ticks können schneller kommen, als die Position in der Liste der offenen Positionen erscheint. Also, Ihr Scheck
wird eine Zeit lang nicht funktionieren, und während dieser Zeit werden mehrere Einträge vergehen. Es wird davon ausgegangen, dass sich das obige Codestück im Tick-Handler befindet.
Dieses Skript in den Skriptordner legen, in einem Unitor öffnen und kompilieren
Wenn die Börse geöffnet wird, ziehen Sie dieses Skript auf das Diagramm
Guten Abend zusammen, bitte teilen Sie den Code für das Schleppnetz. Danke.
Bitte benutzen Sie die Website-Suche - es ist nicht schwer:https://www.mql5.com/ru/search#!keyword=%D1%82%D1%80%D0%B0%D0%BB
Bitte benutzen Sie die Website-Suche - es ist nicht schwer:https://www.mql5.com/ru/search#!keyword=%D1%82%D1%80%D0%B0%D0%BB
Ticks können schneller kommen, als die Position in der Liste der offenen Positionen steht. Also, Ihr Scheck
wird eine Zeit lang nicht funktionieren, und während dieser Zeit wird es mehrere Einträge geben. Es wird davon ausgegangen, dass sich das obige Codestück im Tick-Handler befindet.
Dima, der Code befindet sich im Tick-Verarbeitungsblock. Was ist der richtige Weg, um dieses Problem zu lösen? Ich hatte das gleiche Problem in QuickBooks, der Roboter kauft oft mehr als er sollte. Ich habe es auf die zweite Verzögerung zurückgeführt und einfach eine separate Variable hinzugefügt, die sich ändert, wenn die Bedingungen erfüllt sind, aber auch hier gab es einige Probleme. Manchmal wurde der Auftrag von der Börse abgelehnt und die Variable hatte bereits den Wert "deal" und der Roboter handelte nicht.
Wie kann das Problem in MQL5 korrekt gelöst werden, damit der Roboter eine bestimmte Anzahl von Losen zu einer bestimmten Bedingung kauft und nicht mehr als die angegebene Anzahl von Losen kauft, bis er alle gekauften Lose verkauft hat?
Sollten wir nach dem Kauf eine Pause einlegen, um sicher eine Antwort der Börse abzuwarten?
Sleep(1000); //Haben Sie eine Pause gemacht?
Stop Loss bewegt sich nicht
schreibt:
--Auftrag ändern -> Preis open:1.3111 BID :1.3121 sl 1.3109
fehlgeschlagene Änderung der Order #3 Kauflimit 1,00 bei 1,31110 sl: 1,31080 tp: 0,00000 -> 1,31110, sl: 1,31090 tp: 0,00000 [Ungültige Stops]
--Bestellung ändern <- Ergebnis:10016
Und warum?
Stop Loss bewegt sich nicht
schreibt:
--Auftrag ändern -> Preis open:1.3111 BID :1.3121 sl 1.3109
fehlgeschlagene Änderung der Order #3 Kauflimit 1,00 bei 1,31110 sl: 1,31080 tp: 0,00000 -> 1,31110, sl: 1,31090 tp: 0,00000 [Ungültige Stops]
--Bestellung ändern <- Ergebnis:10016
Und warum?
Normalisieren ist nicht hilfreich. Die gleiche Sache, sop-Verlust ist nicht hochgezogen
--Auftrag erstellen -> ASK:1,3121 Preis:1,3111 sl 1,3106
Kauflimit 1,00 EURUSD bei 1,3111 (1,3121) sl: 1,3106 (1,3118 / 1,3121 / 1,3118)
--Auftrag ändern -> Preis open:1.3111 BID :1.3119 sl 1.3107--Auftrag erstellen <- Ergebnis:10009
Auftrag geändert [#3 Kauflimit 1.00 EURUSD bei 1.3111]
-Änderung der Reihenfolge <- Ergebnis:10009
--Auftrag ändern -> Preis open:1.3111 BID :1.312 sl 1.3108Auftrag geändert [#3 Kauflimit 1.00 EURUSD bei 1.3111]
-Änderung der Reihenfolge <- Ergebnis:10009
--Auftrag ändern -> Preis open:1.3111 BID :1.3121 sl 1.3109fehlgeschlagene Änderung der Order #3 Kauflimit 1.00 bei 1.31110 sl: 1.31080 tp: 0.00000 -> 1.31110, sl: 1.31090 tp: 0.00000 [Ungültige Stops]
--Bestellung ändern <- Ergebnis:10016