Stop-/Limit-Order zu nahe am tatsächlichen Preis
6 Antworten
sansay
vor 7 Jahren #116332
Siehe beigefügtes Bildschirmfoto.
Als ich zum ersten Mal dieses EA-Protokoll sah, "Stop/Limit-Order zu nahe am aktuellen Preis", dachte ich sofort: "OK, das Stop-Level ist falsch". Also bearbeitete ich den Code und änderte den Wert von MinDistanceOfStopFromPrice auf 70, da dies die Spezifikation des USDMXN-Paares war. Wie Sie jedoch auf dem Screenshot sehen können, hat das das Problem nicht gelöst. In der Tat habe ich sogar versucht, 100, 200, 700, es änderte sich nicht eine Sache.
Für jede Hilfe wären wir Ihnen sehr dankbar.
sansay
vor 7 Jahren #141561
Welcher Bildschirmausdruck?
Ich habe das gegenteilige Problem: Ich brauche einige Stop_limit-Aufträge, die näher am Kurs liegen.
Das ist seltsam, ich bin mir ziemlich sicher, dass ich die png-Datei angehängt habe. Versuchen wir es noch einmal...
tomas262
vor 7 Jahren #141585
Tritt das Problem auf, wenn Sie einen Auftrag erteilen oder versuchen, PT, SL oder den Auftragspreis zu ändern?
sansay
vor 7 Jahren #141594
Ich tue nichts, es ist ein mit SQ erstellter EA. Es tut dies, und ich denke, der Code wird zu jedem einzelnen EA, den es erstellt, hinzugefügt. Der Unterschied in diesem Fall ist, dass diese besondere Forex-Händler hat eine 70 stoppt Ebene, wo als andere haben 0.
Diejenigen mit 0 lösen natürlich nichts aus.
Der Code ist in Funktion:
void openPosition(int tradeDirection) {
…
sansay
vor 7 Jahren #141656
Heute Morgen habe ich festgestellt, dass der Versuch, einen Verkaufsstopp zu platzieren, fehlgeschlagen ist. Siehe beigefügtes Protokoll.
tomas262
vor 7 Jahren #141681
Ich frage, weil Sie die Frage in den "EA Wizard"-Thread gestellt haben
Sie können die Strategie hier posten oder mir schicken an [email protected] damit ich versuchen kann, es auch auf USDMXN zu testen
sansay
vor 7 Jahren #141685
Dank meiner Tests konnte ich das Problem finden und habe den Code korrigiert.
Das Problem ist, dass der Server des Brokers nach:
short: Auftragskurs < aktuellerKurs - stopLevel
long: Auftragskurs > aktuellerKurs + stopLevel
Wenn die Bedingung nicht erfüllt ist, schlägt die Änderungsanforderung fehl. Derzeit passt der Code die stopLoss und targetProfit, um nur mindestens miting orderPrice + oder - Händler Stop-Level sein. Und dies führt dazu, dass der Test fehlschlägt, wenn der orderPrice genau CurrentPrice -+ stopLevel ist. Die Lösung bestand also darin, einfach 1 Pip zu addieren oder zu subtrahieren. Hier ist die Code-Änderung:
Geben Sie in den versteckten Parametern an:
double stopOffset = 0,0001;
Hinzufügen und Übergeben des Parameters tradeDirection an die Signatur und den Aufruf der Methode openOrderWithErrorHandling:
int openOrderWithErrorHandling(int tradeDirection, int orderType, double orderLots, double openPrice, double stopLoss, double profitTarget, string comment, int magicNumber) {
Fügen Sie in derselben Methode den grünen Code hinzu:
Ansicht von 6 Antworten - 1 bis 6 (von insgesamt 6)