Wie zu schlagen Ordersend Fehler 130 in MetaTrader 4.By beliebte Nachfrage, bewährte Strategien auf, wie man jeden Algorithmischen Trader s schlimmsten Albtraum zu schlagen Fehler 130.Wo kommt dieser Fehler aus Was bedeutet es für Ihre Expert Advisor Wie können Sie den Teil von finden Ihr Code, der den Fehler verursacht Wir packen all dies und mehr. Um beginnen, eine formale Definition von unserem Freund, MQL4 Documentation. That s Recht Das ist alles, was Sie bekommen von MetaQuotes Und der Rest Go figure. Ordersend Fehler 130 wird kurz erwähnt In anderen Abschnitten der Dokumentation Allerdings gibt es keine gründliche Anleitung, was Invalid Stops tatsächlich bedeutet und wie man damit umgehen kann, vielleicht das häufigste Problem in Forex-Programmierung. Aber keine Sorge Das ist der Grund, warum ich diesen Artikel geschrieben habe Durch diese zusammen. Der stille Killer. So hast du deinen kompetenten Berater gestartet und nichts passiert Nein KAUFEN Bestellungen, keine SELL Bestellungen, keine ausstehenden Bestellungen, nicht einmal Fehlermeldungen in den Protokollen Nur Schweigen Sie entscheiden, ein paar Stunden Tage Wochen warten, und n Othing wirklich ändert sich die Charts gehen auf und ab, aber Sie don t sehen jeden Gewinn Dies kann für immer gehen. Der wahre Grund ist einfach, dass Sie tatsächlich immer ERRINVALIDSTOPS, die die richtige technische Begriff für das Problem ist, aber Sie können es sehen, dass S, weil 130 ist ein stiller Mörder Ein kaltblütiger Mörder von Ihrem Gehirn und innere Ruhe. Es gibt keine Möglichkeit, diesen Fehler durch Experten Berater Logs oder sogar Terminal-Logs abholen Der einzige Weg, um es zu fangen ist durch Hinzufügen der richtigen Failsafe-Mechanismen in Ihr Code Hier ein Beispiel, das du dich an deinen Code anpassen kannst. Was wir hier machen, nimmt die Ticketnummer und das OrderSend kehrt zurück und prüft, ob es weniger als null ist. Wenn ja, dann ist das ein Signal von MetaTrader 4, das uns das gibt War ein Problem mit der Anforderung. Der Fehlercode wird dann auf den Bildschirm mit Alert und die eingebaute GetLastError-Funktion ausgedruckt Dieser Code gibt ein Pop-up-Fenster wie in das Bild oben an der Spitze dieses Artikels. Hinweis können Sie Verwenden Sie stattdessen den Ausdruck anstelle von Alert, um umzuleiten Die Nachricht direkt an die EA s log anstatt es auf dem Bildschirm anzuzeigen. Core of Ordersend Error 130.Invalid Stops ist der richtige Name für den Schuldigen, mit dem wir uns heute beschäftigen So was ungültige Stopps in MetaTrader 4 tatsächlich bedeutet. Für einen Markt Bestellen KAUFEN oder VERKAUFEN ungültige Stopps bedeutet, dass der von Ihnen angeforderte StopLoss und / oder TakeProfit nicht für Ihre Bestellung eingestellt wurde. Da eine Anforderung nicht nur teilweise erfüllt werden kann, wurde die Bestellung überhaupt nicht ausgeführt. Für eine ausstehende Bestellung KAUFEN SIE STOP, KAUFEN LIMIT, SELL STOP, oder SELL LIMIT ungültige Stops bedeutet, dass entweder 1 gab es Probleme mit der SL TP wie oben ODER 2 das Problem war mit dem Eintrittspreis, den Sie für die Bestellung selbst angegeben haben. Wie wir sehen können, ist das Problem immer Mit einem oder vielen der Preise, die Ihr Forex Roboter in seiner Anfrage an den Handelsserver angegeben hat Nun, da wir unseren Feind kennen, lassen Sie ihn schlagen.1 StopLoss TakeProfit sind Preise. Es gibt mehrere mögliche Ursachen für ERRINVALIDSTOPS und eines der häufigsten Die amon G Anfänger spezifiziert die StopLoss und TakeProfit in Pips anstatt tatsächlichen Preisniveaus Wie dies. However, seien Sie vorsichtig Einige EAs haben bereits Module, die die Anzahl der Ziffern nach der Dezimalzahl erkennen und wird automatisch Ihre Eingabeparameter für Sie einstellen In diesen Situationen Multiplizieren von Eingängen mit 10 kann tatsächlich zu fehlerhafter Leistung führen. Hinweis Ich plane, einen separaten Artikel zu veröffentlichen, wo wir diskutieren werden, wie wir unsere eigenen Module erstellen, um die Anzahl der Ziffern nach der Dezimalzahl zu erkennen.3 ECN Broker. CN Konten haben ihre eigenen Besonderheiten Eins Von ihnen ist, wenn der Handel durch einen ECN-Broker Sie nicht in der Lage, einen StopLoss und oder TakeProfit mit Ihrem Markt bestellen KAUFEN oder VERKAUF Wenn Sie versuchen, dies zu tun, erhalten Sie Fehler 130.Jedoch müssen Sie natürlich setzen Ein StopLoss und vielleicht TakeProfit für Ihre Bestellung, und dies muss so schnell wie möglich nach der Bestellung durchgeführt worden ist. Versuchen Sie diesen Code. Sie können diese Funktion zu Ihrem Code am Ende und dann verwenden Sie es anstelle von O RderSend in deinem Hauptcode Diese Funktion fügt einen zusätzlichen Schritt in den Prozess des Sendens eines Market Order. First, sendet es die Anforderung, eine Marktordnung auszuführen, die den StopLoss auslöst und TakeProfit Next, es ändert die neu eröffnete Marktreihenfolge, indem sie das gewünschte addiert SL und TP. Es ist natürlich ein Risiko, dass die Bestellung ausgeführt wird, aber die Änderung wird fehlschlagen In diesem Fall wird die Funktion den Händler unverzüglich benachrichtigen, dass der StopLoss und TakeProfit nicht gesetzt wurden. Fühlen Sie sich frei zu ändern Diese Funktion für Ihre Bedürfnisse und Trading-Stil.4 Stop-Levels. Stop-Levels sind ein Mechanismus für Makler, um sich vor bestimmten Volatilität und Liquidität Risiken zu schützen In einfacher Weise können Sie nicht in der Lage, Ihre StopLoss oder TakeProfit ODER irgendwelche setzen Anstehende Bestellung näher als eine vorgegebene Anzahl von Pips auf den aktuellen Marktpreis. Um herauszufinden, was die Stop-Ebene für ein bestimmtes Währungspaar ist, müssen Sie CTRL U auf Ihrer Tastatur drücken, wählen Sie das gewünschte Währungspaar und klicken Sie auf Die Eigenschaften-Schaltfläche, wie in der Abbildung unten gezeigt. In diesem Beispiel ist die Stopp-Stufe für AUDUSD 3 Pips Dies bedeutet, dass Sie nicht in der Lage sein werden, den StopLoss für Ihre Bestellung näher als 3 Pips auf den Preis zu setzen, bei dem die Bestellung geöffnet wird. Dies bedeutet auch, dass jeder ausstehende Auftrag mindestens 3 Pips weg von dem aktuellen Marktpreis gesetzt werden muss. Wenn Sie Robot versucht, diese Regeln zu brechen und einen StopLoss TakeProfit oder Pending Order innerhalb des Stop Level Bereichs zu setzen, dann wird es bekommen Fehler 130 Ungültige Stopps So achten Sie nur auf die Stopp-Ebene der Währung, wo Ihre EA s Handel don t spezifizieren übermäßig kleine StopLoss und TakeProfit Parameter. Es ist auch erwähnenswert, dass mehr exotische Währungspaare können viel mehr signale Stop Levels Fore Beispiel , Für AUDNZD die Stop-Level mit dem gleichen Broker wie in der oben genannten Beispiel ist 20 Pips für GBPSEK British Pound vs schwedischen Krone es s 100 Pips.5 Normalisierung von doppelten. Mit einigen Broker werden Sie feststellen, dass aus einem unbekannten Grund t Er Ask und Bid Preise werden auf den Trader mit zusätzlichen vernachlässigbaren Ziffern nach der dezimalen übergeben Zum Beispiel. Statt 1 1606 der Broker würde Ihnen 1 160600001.Now dieses Phänomen hat keine Auswirkungen auf den manuellen Handel, darüber hinaus seit dem MT4-Terminal ist fest verdrahtet Zeigen Sie eine bestimmte Anzahl von Ziffern nach dem Dezimalpunkt entweder 4 oder 5 Sie werden nicht in der Lage, jeden Unterschied überhaupt zu bemerken. Jedoch können diese vernachlässigbaren Ziffern nach der Dezimalzahl eine dramatische Wirkung auf Expert Advisors verursachen, dass s richtig Unser alter Freund, OrderSend Error 130.Hier eine Strategie, die ich persönlich benutze, um meine Roboter aus dieser Ausgabe zu schützen. Dieser nette kleine Trick erlaubt Ihnen, in einfachen Begriffen zu normalisieren Runden alle Preise, die Sie in die OrderSend-Funktion eingeben. Auf diese Weise schneiden Sie alle vernachlässigbaren Ziffern nach Der Dezimalpunkt. Heute haben wir gesehen, dass es vielleicht mehrere Mindestens 5 Ursachen zum Fehler gibt 130 Obwohl dies einiges ist, sind die zugrunde liegenden Probleme alle trivial und können in einer Angelegenheit von mi korrigiert werden Nutes. Therefore, Fehler 130 sollte nicht befürchtet werden Wenn Sie diesen Schuldigen begegnet sind, ist es nur eine Frage der Durchlauf durch die Liste oben, finden die Situation, die für Sie gilt und die Anwendung der vorgeschriebenen Lösung. Hope Sie fanden diesen Artikel nützlich. Let Ich weiß, wenn Sie irgendwelche Fragen haben, indem Sie den Kommentar-Abschnitt unten verwenden. Was warten Sie auf. GET BEGINNT MIT DEM FOREX TRADING ADADEMY. int OrderSend String Symbol Symbol int cmd Betrieb Doppelvolumen Volumen Doppelpreis Preis Int Schlupf Schlupf Doppel Stoploss Stop Verlust Doppel Takeprofit nehmen Profit String Kommentar NULL Kommentar int Magic 0 Magic Nummer datetime Ablauf 0 ausstehende Reihenfolge Ablauffarbe arrowcolor clrNONE Farbe. Im Symbol für den Handel. In Operationstyp Es kann eine der Operationsaufzählung sein. In Anzahl der Lose. In Höchstpreisschlupf für Kauf - oder Verkaufsaufträge. In Stop-Verlust-Ebene. In nehmen Gewinnniveau. In Auftrag Kommentartext Der letzte Teil des Kommentars kann per Server geändert werden. In Ordnung magische Zahl Kann als benutzerdefinierte Kennung verwendet werden. In Auslaufzeit für ausstehende Aufträge. In Farbe des Öffnungspfeils auf dem Diagramm Wenn Parameter fehlt oder CLRNONE-Wert-Eröffnungspfeil ist, wird nicht auf dem Diagramm gezeichnet. Returns Nummer des Tickets, das dem Handel vom Handelsserver zugewiesen wird, oder -1, falls es fehlschlägt, um zusätzliche Fehlerinformationen zu erhalten , Muss man die GetLastError-Funktion anrufen. Bei der Eröffnung eines Marktauftrags OPSELL oder OPBUY können nur die neuesten Preise für Bieten für den Verkauf oder die Kaufsuche als offener Preis verwendet werden Wenn der Betrieb mit einer von der aktuellen abweichenden Sicherheit durchgeführt wird, Die MarketInfo-Funktion muss mit dem MODEBID - oder MODEASK-Parameter verwendet werden, um die letzten Zitate für diese Sicherheit zu erhalten. Der berechnete oder unnormalisierte Preis kann nicht angewendet werden. Wenn der angeforderte offene Preis nicht im Preisfaden vorliegt oder er nicht normalisiert wurde Die Anzahl der Ziffern nach dem Dezimalpunkt wird der Fehler 129 ERRINVALIDPRICE erzeugt Wenn der angeforderte offene Preis voll veraltet ist, wird der Fehler 138 ERRREQUOTE unabhängig vom Slippa erzeugt Ge-Parameter Wenn der angeforderte Preis nicht mehr aktuell ist, aber im Thread vorhanden ist, wird die Bestellung zum aktuellen Preis eröffnet und nur dann, wenn der aktuelle Preis im Preisbereich liegt. - Sprache. StopLoss - und TakeProfit-Level können nicht zu nahe sein Der Markt Der minimale Abstand der Stopp-Stufen in Punkten kann mit der MarketInfo-Funktion mit MODESTOPLEVEL-Parameter erhalten werden. Bei fehlerhaften oder unnormalisierten Stopp-Levels wird der Fehler 130 ERRINVALIDSTOPS erzeugt. Ein Nullwert von MODESTOPLEVEL bedeutet entweder keine Einschränkungen für die Minimaler Abstand für Stop Loss Take Profit oder die Tatsache, dass ein Handelsserver einige externe Mechanismen für die dynamische Niveauregelung verwendet, die nicht im Client-Terminal übersetzt werden können Im zweiten Fall kann GetLastError Fehler 130 zurückgeben, da MODESTOPLEVEL hier tatsächlich schwebt Platzierung einer ausstehenden Bestellung, kann der offene Preis nicht zu nahe am Markt sein Die minimale Distanz des ausstehenden Preises aus dem aktuellen Markt ein In Punkten können mit der MarketInfo-Funktion mit dem MODESTOPLEVEL-Parameter erhalten werden. Im Falle eines falschen offenen Preises einer ausstehenden Bestellung wird der Fehler 130 ERRINVALIDSTOPS erzeugt. Die Anforderung der ausstehenden Auftragsablaufzeit kann in einigen Handelsservern deaktiviert werden Ein Wert ungleich Null wird im Ablaufparameter angegeben, der Fehler 147 ERRTRADEEXPIRATIONDENIED wird generiert. Bei einigen Handelsservern kann der Gesamtbetrag der offenen und ausstehenden Aufträge begrenzt werden. Wenn diese Grenze überschritten wurde, wird keine neue Bestellung eröffnet Wird kein ausstehender Auftrag vergeben und der Handelsserver wird Fehler zurückgeben. ERRTRADETOOMANYORDERS. -------------------------------------------------- ---------------- Skript Programm Start Funktion ------------------------------ ------------------------------------ void OnStart --- Erhalten Sie minimale Stop-Ebene double minstoplevel MarketInfo Symbol, MODESTOPLEVEL Drucken Minimaler Stopp Level, Minpeoplevel, Punkte Doppelpreis Ask --- berechnet SL und TP Preise müssen normalisiert werden double stoploss NormalizeDouble Bid - minstoplevel Punkt Ziffern double takeprofit NormalizeDouble Gebot minstoplevel Punkt Ziffern --- Platz Markt zu kaufen 1 Los Int Ticket OrderSend Symbol, OPBUY, 1, Preis, 3, Stoploss, Takeprofit, Meine Bestellung, 16384,0, clrGreen if ticket 0 Print OrderSend fehlgeschlagen mit Fehler GetLastError sonst Print OrderSend platziert erfolgreich. I müde Eröffnungsaufträge auf dem Testsystem und auch erhalten und Fehler 130 Ich wurde von Oanda gesagt, man kann keine Aufträge über EA s auf einem Übungskonto nur leben lassen. Offensichtlich wäre das wahnsinnig, es zu testen. Sie sagten, sie schauen hinein, was auch immer das bedeutet Fazit, wenn ich es nicht testen kann, ich benutze es nicht Du kannst aber deine EA auf dem Strategie-Tester laufen lassen, aber das macht es nicht für mich, ich muss dafür sorgen, dass meine gehandelten Immobilien mit Oanda ausgeführt werden Der einzige Weg in meinem Kopf, um es zu tun ist, um es auf dem Demo-Konto zuerst handeln. Ich teste meine EA auf Oanda Metatrader-Plattform. Jedoch kann ich einfach nicht öffnen eine Position mit Ordersend. Error Ordersend 130 Losgröße 0 1, Fragen Sie 1 3969, SL 1 3899, TP 1 4069.Was ist falsch mit der Bestellung. Ich habe später gefunden und beantwortet, dass für mich gearbeitet go to. Tools Optionen Expert Advisors Tab Kontrollkästchen, die sagt, dass Live Trading und speichern Sie die Änderung Sie sollten sie Bekomme ein Lächeln Gesicht in der oberen rechten Ecke des Diagramms. Auch das Konto, das Sie handeln, muss als MT4-Konto mit Oanda eingerichtet werden, dh Sie können ein Unterkonto erstellen und wenn Sie dies tun, hat es eine Option für MT4 aktiviert. Hoffe, das hilft jemandem. Ich habe später gefunden und beantwortet, dass für mich gearbeitet go to. Tools Options Expert Advisors Tab Check-Kästchen, das heißt, erlauben Live Trading und speichern Sie die Änderung Sie sollten sie ein Lächeln Gesicht in der oberen rechten Ecke des Diagramms. Auch das Konto, das Sie handeln müssen als MT4-Konto mit Oanda eingerichtet werden, dh Sie können ein Unterkonto erstellen und wenn Sie tun, Es hat eine Option für MT4 enabled. Hope das hilft jemand. This hat nichts mit Fehler 130 zu tun.
Comments
Post a Comment