Wednesday 4 January 2017

Forex Ordersend Fehler 130

Fixing Error 130 - MT4 Dies sind keine Lösungen für das Problem. Ich verstehe, was das Problem ist, ich weiß nicht, wie es Code, es zu lösen. Ich bekomme Fehler 130 wegen der Tatsache, dass meine offenen Preis auf meine Kauf-Stop ist zu meinem aktuellen Preis zu schließen. Wenn der Preis weiter steigen wird nie gefüllt. Was Im wundernd gibt es eine Weise, den geöffneten Preis durch X-Betrag zu erhöhen, wenn dieses geschieht, bis es gefüllt wird Die zwei Verbindungen und Hunderte jener 62000 Verbindungen enthalten die Lösung, aber Sie erklären mir, dass sie nicht. Wie kommt Er dir die Lösung. Es ist direkt vor Ihren Augen. Problem scheint zu sein, dass Sie jemanden brauchen, um die Arbeit für Sie zu tun. Viel Glück, aber das ist nicht der Weg zu lernen, wie man Code. Ein Tipp für Sie: Um den Fehler 130 für Ihren Buystop-Auftrag zu vermeiden, gehen Sie wie folgt vor: a) erhalten Sie den Stoplevel von Ihrem Broker b) vergleichen Sie den Marktpreis (Ask) Stoplevel mit Ihrem kalkulierten BuyStop-Preis. Wenn Market-Preis Stoplevel gt BuyStop-Preis, Set BuyStop-Preis Marktpreis Stoplevel Buffer-x, dann wird die OrderSend funktionieren, ohne dass Fehler 130 Buffer-x muss von Ihnen selbst definiert werden und wenn angewendet, muss es in Punkten sein, nicht In Pips. Mitglied seit: Apr 2016 Status: Junior Member 1 Post Hallo Ich habe diese ea codiert unten bitte jemand mir helfen in Bezug auf diese laute Störung 130 ltinvalid stopsgt ---------------------- -------------------------------------------- soubra2003v2.0.mq4 Urheberrecht 2016, soubra2003 mql5enuserssoubra2003 ---------------------------------------------- -------------------- Eigenschaft copyright quotCopyright 2016, soubra2003v2.0quot Eigenschaft Link quotonesoubraquot Eigenschaft Version quot2.00quot Eigenschaft Beschreibung quot - Diese EA wird wie folgt handeln: quot Eigenschaft Beschreibung zitiert 1) Kaufzustand: Der ausstehende Auftrag wird als höherer Preis von prev. Kerze Abstand durch user. quot Eigenschaft Beschreibung zitiert 2) Verkaufsbedingung: Der bevorstehende Auftrag wird als niedrigerer Preis von prev eingestellt. 3) Updates von buysell ausstehenden Bestellungen werden in der Regel mit jeder neuen Kerze open. quot Eigenschaft Beschreibung 4) Was ist neu: Trailing Stop, Break Auch amp Money Management. quot Eigentum strengen gehören ltstdlib. mqhgt input string sep3 quot --------------------- Money Mgmt Einstellungen -------------------- - quot MM Optionen gtgtgtgtgtgtgtgt Eingang Bool MM falsch Money Management Eingangsdoppel CalcAmount 100 Betrag für AUTO Lot Eingangsdoppel CalcLot 0,01 Auto Stücksgröße jeder Menge Eingangsdoppelmengengröße 0,10 Stücksgröße (fest) Eingabestring SEP1 quot --------- ------------ Trading-Einstellungen --------------------- "Trading-Optionen gtgtgtgtgtgtgtgt doppelte Orderdistance 10 Entfernung (nach Prev. High amp Unten Prev. Low) extern double buystoploss 50 Buy Stop Loss extern double sellstoploss 50 Sell Stop-Loss-extern double buytakeprofit 100 kaufen Profit Doppel selltakeprofit 100 Verkaufe Take-Profit-Eingang int Slippage 5 Eingabestring sep2 quot Nehmen extern --------- ------------ Break Even Verstärker T. Stop --------------------- Break Even Verstärker T. Stop gtgtgtgtgtgtgt Eingang bool BreakEven True Break Even Statuseingang double BreakEvenStart 5.0 Break Even Starteingang double BreakEvenValue 1.0 Break Even Werteingabe bool TrailingStop true Trailing Stop Statuseingabe doppelt TrailingStopVal 10.0 Trailing Stop Wert Eingabe Zeichenkette sep4 quot -------------- ------- Weitere Einstellungen --------------------- Weitere Optionen gtgtgtgtgtgtgtgt Eingabe Zeichenkette tradescommentquotsoubra2003Version 2.0quot Handel Kommentar Eingabe Farbe buyarrowcolor clrBlue Kaufen Arrow Farbe Eingang Farbe sellarrowcolor clrRed Verkaufen Pfeil Farbe Eingabefarb deletearrowcolor clrYellow Pending Order Pfeilfarbe Eingangsfarbe modifyarrowcolor clrWhite Modified Sortieren Pfeil Farbe löschen --- int slippage5 int buymagicnumber821454145 int sellmagicnumber192545451 Doppel tradepointPoint Doppel prevcdlhigh Doppel prevcdllow Doppel buyprice Doppel sellprice int buyticketno int sellticketno Doppel Lots Doppel StopSprdLevel Börsen & Märkte (Symbol (), MODESTOPLEVEL) Börsen & Märkte (Symbol (), MODESPREAD) Doppel BrokerMinLot Börsen & Märkte (Symbol (), MODEMINLOT) Doppel BrokerMaxLot Börsen & Märkte (Symbol (), MODEMAXLOT) prevcdlhigh High1 prevcdllow Low1 buypriceprevcdlhighorderdistancetradepoint sellpriceprevcdllow-orderdistancetradepoint if (buystoplossgt0) buystoplossbuyprice-buystoplosstradepoint sonst buystoplossNULL if (buytakeprofitgt0) buytakeprofitbuypricebuytakeprofittradepoint sonst buytakeprofitNULL if (sellstoplossgt0) sellstoplosssellpricesellstoplosstradepoint sonst sellstoplossNULL if (selltakeprofitgt0) selltakeprofitsellprice-selltakeprofittradepoint sonst selltakeprofitNULL if (NewBar ()) Closealle () Closealle () if (buycounter ()) Bildwiederholraten () int tktbuy OrderSend ( (Tktbuylt0) Print (quotOrder fehlgeschlagen mit Fehler: quot, ErrorDescription (GetLastError ())) sonst Print (quotOrder platziert erfolgreichquot (Tktselllt0) Wenn (tktselllt0) Drucken (quotOrder fehlgeschlagen mit Fehler: z. Zt. fehlgeschlagen , Errordescription (GetLastError ())) else Print (quotOrder platziert successfullyquot) Kommentar (quot Zurück Kerze-quot, NormalizeDouble (prevcdlhigh, Digits), quot Ausstehende Kauforder quot, NormalizeDouble (buyprice, Ziffern), quotnquot, quot Zurück Candle Sollte Niedrige Quote, NormalizeDouble (prevcdllow, Ziffern), Pending Sell Order Sollte quotiert werden, NormalizeDouble (Verkaufspreis, Ziffern), quotnquot, quot ---------------------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Quotnquot, Trailing Stop-Status: quot, TrailingStop, quotnquot, quot ------------------------------------ ------------ quot, quotnquot, quot Broker Stop Out quot, AccountStopoutLevel (), quotnquot, quot Broker Stopp Niveau quot, StopSprdLevel, quotnquot, quot Broker Max Lot erlaubt quot, BrokerMaxLot, quotnquot, quot Broker Min Lot erlaubt quot, BrokerMinLot) --- BuyTrailingStop () for (int cnt10 cnt1ltOrdersTotal () CNT1) int ticketselectOrderSelect (CNT1, SELECTBYPOS) if (OrderStopLoss () NULL ampamp Ordertype () ltOPSELL ampamp OrderSymbol () Symbol () ampamp OrderMagicNumber () buymagicnumber) if (Ordertype () OPBUY) if (Trailingstop ampamp TrailingStopValgt0) Bildwiederholraten () bool ticketmodify OrderModify (OrderTicket (), OrderOpenPrice (), OrderStopLoss () (TrailingStopValtradepoint), OrderTakeProfit (), 0, modifyarrowcolor) if (ticketmodify ) Print (quotTStop: Auftrag kann nicht geändert werden. quot, Errordescription (GetLastError ())) else Drucken (quotTrailing Stopp Done. quot) SellTrailingStop () für (int cnt20 cnt2ltOrdersTotal () cnt2) int ticketselectOrderSelect (cnt2, SELECTBYPOS) if (OrderStopLoss () NULL ampamp Ordertype () ltOPSELL ampamp OrderSymbol () () - (TrailingStopValtradepoint), OrderTakeProfit () () () , 0, modifyarrowcolor) if (ticketmodify) drucken (quotTStop. Bestellen kann nicht geändert werden quot, Errordescription (GetLastError ())) else drucken (quotTrailing Stopp Done. quot) BuyBreakEven () for (int CNT3 0 CNT3 lt OrdersTotal () CNT3 ), Wenn (OrderType () OPBUY) wenn (BreakEvenStart gt 0 ampamp BreakEven) Aktualisierungen () int Ticketmodify OrderModify () (OrderTicket (), OrderOpenPrice (), OrderOpenPrice () (BreakEvenValuetradepoint), OrderTakeProfit (), 0, modifyarrowcolor) if (ticketmodify) drucken (quotBreak Selbst: Bestellung nicht geändert werden kann, quot, Errordescription (GetLastError ())) sonst drucken ( (Cnt4, SELECTBYPOS) if (OrderType () lt OPSELL ampamp OrderSymbol () Symbol () ampamp OrderMagicNumber () sellmagicnumber) (OrderType (), OrderOpenPrice () - (BreakEvenValue Handelspunkt), OrderTakeProfit (), 0, modifyarrowcolor) wenn (Ticket-Änderung) ) Print (quotBreak Even: Auftrag kann nicht geändert werden, quot, ErrorDescription (GetLastError ())) else Print (quotBreak Even Placed Successfuly. quot) -------------------- ---------------------------------------------- Expert Schließfunktion - -------------------------------------------------- --------------- void closeall () für (int i0 iltOrdersTotal () i) int selectOrderSelect (i, SELECTBYPOS, MODETRADES) if (OrderSymbol () Symbol ()) if (OrderType ) () () () () () () () () () () () () () () () Bestellen Sie den folgenden Befehl, und geben Sie den Namen des Auftrags an. ) Wie zu schlagen Ordersend Fehler 130 in MetaTrader 4 Nach der populären Nachfrage, bewährte Strategien, wie zu schlagen jeden algorithmischen trader8217s schlimmster Alptraum 8211 Error 130 Wo kommt dieser Fehler kommen Was bedeutet es für Ihre Expert Advisor Wie kann man den Teil des Codes finden, der den Fehler verursacht. Wir packen all dies und more8230 So starten Sie eine formale Definition von unserem Freund, MQL4 Documentation: 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 tatsächlich bedeuten Für eine Marktordnung (BUY oder SELL) ungültige Stops bedeutet, dass die StopLoss andor TakeProfit Sie angefordert wurden nicht für Ihre Bestellung eingestellt werden konnte. Da eine Anfrage nicht nur teilweise erfüllt werden kann, wurde die Bestellung überhaupt nicht ausgeführt. Für eine ausstehende 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 beat it 1) StopLoss amp TakeProfit sind Preise Es gibt mehrere mögliche Ursachen von 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 Fehler 130. Allerdings müssen Sie einen StopLoss (und vielleicht TakeProfit) für Ihre Bestellung zu setzen, und dies 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 Stop-Stufe 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 der Stop-Wert 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 Neat kleinen Trick können Sie 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 der Forex Trading ADADEMY 2014-2016 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