Ich habe eine EA, die funktioniert gut für mich erstellt, aber ich versuchte, es ein wenig zu ändern, aber kann es nicht schaffen, um es zu funktionieren. Alles, was ich tun möchte, ist, einen Auftrag mit einem nachlaufenden Stop zu öffnen. Das Problem ist, dass die schleppende Haltestelle für jeden Handel unterschiedlich ist (abhängig von der Höhe der aktuellen Kerze). Es gibt immer einen Ordnungsfehler 130, was bedeutet, daß der Stopverlust zu nahe ist. Das ist nicht möglich, weil ich täglich tausche und der Stopverlust immer mindestens 100 Pips beträgt. Ich vermute, das Problem könnte sein, dass es irgendwie immer den nachlaufenden Stopp 0 berechnet, denn der nachlaufende Stopp wird immer direkt nach dem Handel errechnet und danach die Ordermodify-Funktion gestartet. Aber ich habe versucht, die nachlaufende Stop 150 zum Beispiel und es gibt mir immer noch, dass Fehler (aber dieses Mal nur manchmal). Wenn jemand helfen könnte, würde ich mich wirklich freuen. Thx hier ist der Code (es ist nicht ganz, es würde nicht hier passen) Ich denke, Sie haben zu normalisieren Ausdrücke "Bid - Trailingstop Pointquot und quot fragen Trailingstop Pointquot, weil Trailingstop doppelt ist. Roger: Ich denke, Sie haben zu normalisieren Ausdrücke "Bid - Trailingstop Pointquot und quot fragen Trailingstop Pointquot, weil Trailingstop doppelt ist. Das Problem muss woanders sein. Aber danke trotzdem -) das Problem muss woanders sein. Aber danke trotzdem -) Schwer zu sicher sein, weil Sie sagen, Sie havent gepostet den ganzen Code. Jedoch, durch das Aussehen von ihm, ist Trailingstop nicht eine statische oder globale Variable. Sein erklärt im quotbullishquot Abschnitt. Daher wird sein Wert zum Zeitpunkt der Bestellung gesetzt werden, aber nicht danach bestehen bleiben. Bei nachfolgenden Aufrufen von start (), wenn ein Auftrag geändert wird, sollte die Variable "Trailingstop" Null enthalten. Daher wird der Aufruf von OrderModify () versuchen, den Stop auf Ask 0 Point oder Bid 0 Point zu setzen. Versuchen Sie, ein Slippage anders als Null und überprüfen Sie, dass 100 Punkte ist, was Sie denken und nicht 10 Punkte auf einer 5 Dezimalstelle Plattform. Drucken Sie die Werte direkt nach dem Handel zu sehen, sie sind korrekt vielleicht Indikator zurückkehren dodgy Werte manchmal. Im versuchen, mehrere EAs auf historische Daten laufen und halten erhalten quotOrderSend Fehler 130quot sowohl für BUY und SELL Bestellungen ohne Logik. Es passiert auf den meisten Signalen und ich heruntergeladen 10 verschiedene Public-Domain-EAs und keine Arbeit auf die meisten Signale mit unterschiedlichen Auflösungen (1M, 1H 4H ..). Im gut bewusst, was der Fehler bedeutet und im ein erfahrener Programmierer im sicher im passing richtige Werte für Stop-Loss-und Gewinn-Gewinn. Ich benutze die Metatrader-Software von FxPro Broker heruntergeladen. Die Stop-Level-Parameter ist immer auf 100 unter quotSymbol Propertiesquot der meisten Symbole, die wie eine Menge im Vergleich zu ihrer beworbenen Ausbreitung klingt, aber auch wenn ich die Stop-Verlust-Gewinn-Gewinn-Parameter übergeben von OrderSend, auf etwas größer als 100 it doesnt Angelegenheit. Ich bekomme immer diese gefürchtete Error 130 Ich versuche, mehrere EAs auf historischen Daten laufen und halten QuoteOrderSend Fehler 130quot für sowohl BUY und SELL Bestellungen ohne Logik. Es passiert auf den meisten Signalen und ich heruntergeladen 10 verschiedene Public-Domain-EAs und keine Arbeit auf die meisten Signale mit unterschiedlichen Auflösungen (1M, 1H 4H ..). Im gut bewusst, was der Fehler bedeutet und im ein erfahrener Programmierer im sicher im passing richtige Werte für Stop-Loss-und Gewinn-Gewinn. Ich benutze die Metatrader-Software von FxPro Broker heruntergeladen. Die Stop-Level-Parameter ist immer auf 100 unter quotSymbol Propertiesquot der meisten Symbole, die wie eine Menge im Vergleich zu ihrer beworbenen Ausbreitung klingt, aber auch wenn ich die Stop-Verlust-Gewinn-Gewinn-Parameter übergeben von OrderSend, auf etwas größer als 100 it doesnt Angelegenheit. Ich bekomme immer diese gefürchtete Error 130 Ich habe die Metatrader-Software von Alpari und meine EA heruntergeladen und die heruntergeladenen scheinen zu funktionieren. 10 Stunden vergeudet dank FxProHow zu schlagen Ordersend Fehler 130 in MetaTrader 4 Durch beliebte Nachfrage, bewährte Strategien, wie man jeden algorithmischen trader8217s schlimmsten Alptraum 8211 Error 130 Wo kommt dieser Fehler kommen Was bedeutet es für Ihre Expert Advisor Wie können Sie finden Den Teil des Codes, der den Fehler verursacht Wir packen all dies und more8230 So starten Sie eine formale Definition von unserem Freund, MQL4-Dokumentation: That8217s rechts Das ist alles, was Sie von MetaQuotes erhalten. Und die rest8230 gehen Abbildung Ordersend Fehler 130 wird in anderen Abschnitten der Dokumentation kurz erwähnt. Allerdings gibt es keine gründliche Anleitung, was 8220Invalid Stops8221 tatsächlich bedeutet und wie man mit diesem, vielleicht die häufigste Problem in der Forex-Programmierung umzugehen. Aber keine Sorge That8217s, warum ich diesen Artikel geschrieben haben. Let8217s bekommen durch diese zusammen Die stille Killer So8230 Sie startete Ihre Fachberater und8230 nichts passiert. Keine KAUFEN Aufträge, keine VERKAUFSaufträge, keine ausstehenden Aufträge, nicht sogar Störungsmeldungen im logs8230. Nur Schweigen. Sie entscheiden, zu warten, ein paar Stunden Tage Wochen, und nichts wirklich ändert 8211 die Charts nach oben und unten, aber Sie don8217t sehen keinen Gewinn. Dies kann auf forever8230 Der eigentliche Grund ist einfach 8211 you8217re tatsächlich ERRINVALIDSTOPS (das ist der richtige Fachausdruck für die Ausgabe), aber Sie can8217t sehen es. That8217s, weil 130 ein stiller Mörder ist. Ein kaltblütiger Mörder Ihres Gehirns und innerer Ruhe Es gibt keine Möglichkeit, diesen Fehler durch Fachberaterprotokolle oder sogar Terminal-Logs aufzuheben. Der einzige Weg, um es zu fangen ist, indem Sie die richtigen Failsafe-Mechanismen in Ihren Code. Hier ein Beispiel, das Sie an Ihren Code anpassen können: Was wir hier tun, ist, die Ticketnummer zu nehmen, und dass OrderSend () zurückgibt und überprüft, ob es kleiner als Null ist. Wenn ja, dann ist das ein Signal von MetaTrader 4, das uns mitteilt, dass ein Problem mit der Anfrage aufgetreten ist. Der Fehlercode wird dann mit Alert () und der eingebauten GetLastError () - Funktion auf den Bildschirm ausgegeben. Dieser Code wird ein Pop-up-Fenster wie im Bild oben am Anfang dieses Artikels geben. Hinweis: Sie können Print () anstelle von Alert () verwenden, um die Nachricht direkt an das EA8217s-Protokoll weiterzuleiten, anstatt es auf dem Bildschirm anzuzeigen. Kern von Ordersend Fehler 130 Ungültige Stops ist der wirkliche Name für den Täter, mit dem wir heute zu tun haben. Also, was bedeutet ungültige Stopps in MetaTrader 4 eigentlich bedeuten Für eine Marktordnung (BUY oder SELL) ungültige Stops bedeutet, dass die StopLoss andor TakeProfit Sie angefordert konnten nicht für Ihre Bestellung eingestellt werden. Da eine Anforderung nicht nur teilweise erfüllt werden kann, wurde die Bestellung überhaupt nicht ausgeführt. Für eine anstehende Bestellung (BUY STOP, BUY LIMIT, SELL STOP oder SELL LIMIT) bedeutet ungültige Stopps, dass (1) es Probleme mit dem SLTP gab (Wie oben) ODER (2) die Ausgabe war mit dem Eintrittspreis, den Sie für den Auftrag selbst angegeben haben Wie wir sehen können, ist das Problem immer mit einem (oder vielen) der Preise, die Ihr Forex Robot in seinem Antrag angegeben hat Dem Handelsserver. Jetzt, wo wir unseren Feind kennen 8211 let8217s schlagen es 1) StopLoss amp TakeProfit sind Preise Es gibt mehrere mögliche Ursachen für ERRINVALIDSTOPS, und einer der häufiger bei Anfängern ist die Angabe der StopLoss und TakeProfit in Pips statt tatsächlichen Preisniveaus. So: Seien Sie vorsichtig Einige EA8217s haben bereits Module, die die Anzahl der Ziffern nach der Dezimalstelle erkennt und automatisch die Eingabeparameter für Sie anpasst. In diesen Situationen kann das Multiplizieren von Eingängen mit 10 tatsächlich zu fehlerhafter Leistung führen. Anmerkung: Ich plane auf der Entsendung eines separaten Artikels, wo wir diskutieren, wie unsere eigenen Module zu erstellen, um die Anzahl der Ziffern nach der Dezimalstelle zu erkennen 3) ECN Broker ECN Konten haben ihre eigenen Besonderheiten. Einer von ihnen ist 8211, wenn der Handel durch einen ECN-Broker Sie nicht in der Lage, ein StopLoss andor TakeProfit mit Ihrem Market Order (BUY oder SELL). Wenn Sie versuchen, dies zu tun 8211 erhalten Sie Error 130. Allerdings müssen Sie natürlich einen StopLoss (und vielleicht TakeProfit) für Ihre Bestellung, und das muss so bald wie möglich nach der Ausführung der Bestellung durchgeführt werden. Versuchen Sie diesen Code: Sie können diese Funktion zu Ihrem Code (am Ende) hinzufügen und dann anstelle von OrderSend () in Ihrem Hauptcode verwenden. Diese Funktion fügt einen zusätzlichen Schritt bei dem Senden eines Marktauftrags hinzu. Zuerst sendet sie die Anforderung, eine Marktordnung auszuführen, die den StopLoss und TakeProfit stripping. Als nächstes modifiziert er die neu geöffnete Marktordnung durch Hinzufügen des gewünschten SL und TP. Es besteht natürlich die Gefahr, dass die Bestellung ausgeführt wird, aber die Änderung wird fehlschlagen. In diesem Fall wird die Funktion jedoch unverzüglich dem Händler mitteilen, dass der StopLoss und TakeProfit nicht gesetzt worden sind. Fühlen Sie sich frei, diese Funktion an Ihre Bedürfnisse und Trading-Stil anzupassen. 4) Stop-Levels Stop-Levels sind ein Mechanismus für Broker, um sich vor gewissen Volatilitäts - und Liquiditätsrisiken zu schützen. In einfachen Worten, werden Sie nicht in der Lage, Ihre StopLoss oder TakeProfit oder eine anstehende Bestellung näher als eine vorbestimmte Anzahl von Pips auf den aktuellen Marktpreis festgelegt. Um herauszufinden, was die Stoppebene für ein bestimmtes Währungspaar ist, müssen Sie CTRLU auf Ihrer Tastatur drücken, das gewünschte Währungspaar auswählen und auf die Schaltfläche 8220Properties8221 klicken, wie in der folgenden Abbildung gezeigt: In diesem Beispiel beträgt die Stoppebene für AUDUSD 3 Pips . Dies bedeutet, dass Sie nicht in der Lage, die StopLoss für Ihre Bestellung näher als 3 Pips auf den Preis, bei dem die Bestellung wird geöffnet werden. Dies bedeutet auch, dass jeder ausstehende Auftrag muss mindestens 3 Pips weg vom aktuellen Marktpreis festgelegt werden. Wenn Roboter versucht, diese Regeln zu brechen und einen StopLoss TakeProfit oder Pending Order innerhalb des Stop Level Bereichs festzulegen, wird Error 130 8220Invalid Stops8221 erhalten. Also nur bewusst sein, der Stop-Ebene der Währung, wo Ihre EA8217s sind 8211 don8217t spezifizieren übermäßig kleine StopLoss und TakeProfit Parameter. Es ist auch erwähnenswert, dass mehr exotische Währungspaare deutlich bedeutendere Stoppebenen haben können. Beispielsweise beträgt für AUDNZD die Stoppebene mit demselben Broker wie im obigen Beispiel 20 Pips. Für GBPSEK (Britische Pfund vs Schwedische Krone) 8211 it8217s 100 Pips. 5) Normalisierung der Verdoppelungen Bei einigen Vermittlern finden Sie, dass aus einem unbekannten Grund die Ask - und Bid-Preise auf den Händler mit zusätzlichen vernachlässigbaren Ziffern nach der Dezimalstelle weitergegeben werden. Zum Beispiel: Statt 1.1606 würde Ihnen der Broker 1.160600001 geben. Jetzt hat dieses Phänomen keine Auswirkung auf den manuellen Handel, da das MT4-Terminal fest verdrahtet ist, um eine bestimmte Anzahl von Ziffern nach dem Dezimalpunkt (entweder 4 oder 5) 8211 anzuzeigen In der Lage sein, jeden Unterschied zu bemerken Allerdings können diese 8216negligible8217 Ziffern nach dem Dezimaltrennzeichen einen dramatischen Effekt auf Expert Advisors verursachen823082308230 that8217s right Unser alter Freund, OrderSend Error 130 Hier8217s eine Strategie, die ich persönlich verwende, um meine Roboter vor diesem Problem zu schützen: Das Ordentlich kleinen Trick können Sie zu normalisieren (in einfachen Worten 8211 Round) alle Preise, die Sie in die OrderSend () - Funktion eingeben. Auf diese Weise schneiden Sie alle 8216negligible8217 Stellen hinter dem Dezimalpunkt ab. Fazit Heute haben wir gesehen, dass es mehrere (mindestens 5) Ursachen für Fehler 130 geben kann. Obwohl dies einige ist, sind die zugrundeliegenden Fragen alle trivial und können in einer Angelegenheit von Minuten korrigiert werden. Daher sollte Fehler 130 nicht gefürchtet werden Wenn Sie diesen Täter angetroffen haben, ist es nur eine Frage der durch die Liste oben, finden Sie die Situation, die für Sie gilt und Anwendung der vorgeschriebenen Lösung. Hoffe, Sie fanden diesen Artikel nützlich Lassen Sie mich wissen, wenn Sie Fragen haben, indem Sie die Kommentare Abschnitt unten. Was sind Sie warten, um mit dem Forex Trading ADADEMY 2014-2017 ForexBoat gestartet. Alle Rechte vorbehalten Forexboat Pty Ltd (ABN: 29 609 855 414) ist ein Corporate Authorized Representative (AR Nr. 001238951) der HLK Group Pty Ltd (ACN: 161 284 500) mit einer australischen Finanzdienstlizenz (AFSL Nr. 435746). Alle Informationen oder Ratschläge, die auf dieser Website enthalten sind, sind allgemeiner Natur und stellen keine persönliche oder Anlageberatung dar. Wir haften nicht für Verluste oder Schäden, einschließlich, aber nicht beschränkt auf Verluste, die direkt oder indirekt aus der Nutzung oder dem Vertrauen auf diese Informationen entstehen können. Sie sollten eine unabhängige finanzielle Beratung vor dem Erwerb eines Finanzproduktes zu suchen. Alle Wertpapiere und Finanzprodukte oder Instrumentengeschäfte sind mit Risiken behaftet. Bitte denken Sie daran, dass die Ergebnisse der Vergangenheit nicht notwendigerweise auf zukünftige Ergebnisse hindeuten. Die Informationen auf dieser Website können weltweit abgerufen werden, es ist jedoch nicht an Einwohner in einem Land oder einer Gerichtsbarkeit gerichtet, wenn eine solche Verteilung oder Verwendung gegen lokales Recht oder Regulierung verstößt. Forexboat Pty Ltd ist nicht registriert bei einer US-Regulierungsbehörde einschließlich der National Futures Association (8220NFA8221) und Commodity Futures Trading Commission (8220CFTC8221) daher Produkte und Dienstleistungen auf dieser Website angeboten werden, ist nicht für die Bewohner der Vereinigten Staaten gedacht. Füllen Sie dieses Formular aus und klicken Sie auf die Schaltfläche unten, um Ihr kostenloses Training zu starten
No comments:
Post a Comment