Ich habe das Journal auf den empfangenen Fehler hin überprüft, und dort steht 4051. Es gibt mehrere Fehler 4051. Im Grunde genommen funktioniert es nicht, und ich bin neugierig, ob jemand anderes dieses Problem schon einmal gelöst hat und eine Erklärung dafür hat.
Wenn Sie ein Problem mit einer Funktion haben, lesen Sie die Dokumentation zu dieser Funktion ... OrderModify()<----- Click ME ! ! !
Sie können den Eröffnungskurs der Order nicht auf 0,0 ändern . ... vorausgesetzt, Sie haben eine OrderSelect() korrekt ausgeführt, verwenden Sie OrderOpenPrice() für den zweiten Parameter, den Sie an OrderModify() übergeben
Simon, ich habe die Dokumentation der Funktion OrderModify() gelesen und festgestellt, dass das verwendete Beispiel ein Trailing-Stop ist. Ich möchte keinen Trailing-Stop für den EA verwenden. Denn wenn ich einen Trailing-Stop verwenden würde, müsste der EA (dem Beispiel zufolge) den Markt um x Punkte über den aktuellen Sl bewegen, um den Sl auf den angegebenen Preis zu ändern. Im Grunde ist das zu kompliziert. Ich möchte lediglich einen Stop-Loss zu der Order hinzufügen, NACHDEM die Order an den Markt übermittelt wurde.
Wie auch immer, ich versuche derzeit auch neue Lösungen.
Ich danke Ihnen.
Simon, ich habe die Dokumentation der Funktion OrderModify() gelesen und festgestellt, dass das verwendete Beispiel ein Trailing-Stop ist. Ich möchte keinen Trailing-Stop für den EA verwenden. Denn wenn ich einen Trailing-Stop verwenden würde, müsste der EA (dem Beispiel zufolge) den Markt um x Punkte über den aktuellen Sl bewegen, um den Sl auf den angegebenen Preis zu ändern. Im Grunde ist das zu kompliziert. Ich möchte lediglich einen Stop-Loss zu der Order hinzufügen, NACHDEM die Order an den Markt übermittelt wurde.
Wie auch immer, ich versuche derzeit auch neue Lösungen.
Ich danke Ihnen.
Simon,
Strategie-Tester:
1. Visueller Modus
2. Geschwindigkeit 31
3. 2010.12.29
4. EURUSD
5. M15
nur "Offene Kurse" ausführen, nicht jeden Tick.
MetaEditor: Bearbeiten -> Suchen... -> "// Wahl 1."
Wahl 1 = keine Fehler, aber das will ich natürlich nicht.
Wahl 2 = Registerkarte Journal -> Journal liest: "Fehler 4051".
Ich danke Ihnen.
Offensichtlich wird die Verwendung der Funktion OrderOpenPrice() innerhalb der OrderModify()-Parameter laut Fehler 4051 als "ungültiger Funktionsparameter" betrachtet. Ich denke "?". :) Ich könnte den OrderOpenPrice()-Wert speichern und ihn in die Parameter der OrderModify()-Funktion einfügen, um das zu tun, was ich tun möchte, aber wirklich? Sicherlich gibt es einen einfacheren Weg! Also zurück an den alten Schleifstein für mich ;)
Ich danke Ihnen.
Offensichtlich wird die Verwendung der Funktion OrderOpenPrice() innerhalb der OrderModify()-Parameter gemäß Fehler 4051 als "ungültiger Funktionsparameter" betrachtet.
William,
Offensichtlich habe ich den EA in einem Link gepostet, den Sie herunterladen und im MetaEditor ansehen können, wenn Sie Ihre Unterstützung anbieten möchten. Die Funktion OrderSelect() ist derzeit kein Thema. Aber wissen Sie was? Ich werde dies nur für Sie posten, William.
//*************************************************** // EMERGENCY BUY ORDER STOP LOSS PROTECTION SECTION ; //*************************************************** OrderSelect(0,SELECT_BY_TICKET,MODE_TRADES); // was ticket. if(OrdersTotal()>0) { if(OrderType()==OP_BUY) { if(OrderSend1==true) { // if(iMA(NULL,0,1,0,MODE_SMMA,PRICE_CLOSE,1)<=OrderOpenPrice()-500*Point) { // choice 1. // {OrderModify(ticket,OrderOpenPrice(),Ask-500*Point,0,0,Blue);}}}} // choice 2. {OrderModify(ticket,OrderOpenPrice(),OrderOpenPrice()-500*Point,0,0,Blue);}}}}
Wie Sie gewünscht haben.
Ich danke Ihnen.
William,
Offensichtlich habe ich den EA in einem Link gepostet, den Sie herunterladen und im MetaEditor ansehen können, wenn Sie Ihre Unterstützung anbieten möchten. Die Funktion OrderSelect() ist derzeit kein Thema. Aber wissen Sie was? Ich werde dies nur für Sie posten, William.
Wie Sie gewünscht haben.
Ich danke Ihnen.
Simon, ich werde Tests durchführen, um das herauszufinden.
Ich danke Ihnen.
Aha! Ich habe die Ticketnummer von 0 auf 1 geändert, dann lief alles wie am Schnürchen. Ja, ich hatte Unrecht, William... Die Funktion OrderSelect() war ein Problem. Offensichtlich muss die Funktion OrderSelect() ein Ticket auswählen. Wenn die Ticketnummer 0 ist, welches Ticket wählt der EA dann aus? :O "?". Vielen Dank an Sie beide für Ihre Hilfe.
Ich danke Ihnen.
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Hallo MQL4 Forum,
Der Code oben funktioniert, aber bewegt die sl nach oben oder unten, wie der Briefkurs bewegt sich nach oben oder unten.
Ich habe dies versucht, als eine Lösung...
(der gewählte Auftrag ist ein Kaufauftrag)
Ich habe das Journal auf den empfangenen Fehler hin überprüft, und dort stand 4051. Es gibt mehrere Fehler 4051. Im Grunde genommen funktioniert es nicht, und ich bin neugierig, ob jemand anderes dieses Problem schon einmal gelöst hat und eine Erklärung dafür hat.
Ich verstehe nicht, warum diese Lösung nicht funktionieren sollte (ja, ich glaube, ich wähle den Auftrag richtig aus, weil die erste falsche OrderModify-Lösung funktioniert).
Ich danke Ihnen.