Monday 16 January 2017

Forex Ea Error 130

Int OrderSenden (String - Symbol, Symbol int cmd, Operation doppelte Lautstärke, doppelte doppelte Sperrung, doppelte Stoplosung, doppelte Stopp - Verlängerung, doppelte Takeprofit Farbe) in Symbol für den Handel. In der Betriebsart. Es kann eine beliebige der Handelsoperationsaufzählung sein. In Anzahl der Lose. In Höchstpreisrückgang für Kauf - oder Verkaufsaufträge. In der Stoppdämpfung Ebene. In Take Gewinn-Ebene. In Bestellung Kommentartext. Der letzte Teil des Kommentars kann vom Server geändert werden. In Auftrag magische Zahl. Kann als benutzerdefinierter Bezeichner verwendet werden. In Auftragslaufzeit (nur für ausstehende Bestellungen). In Farbe des Öffnungspfeils auf der Tabelle. Wenn Parameter fehlt oder CLRNONE-Wert ist, wird der Öffnungspfeil nicht im Diagramm gezeichnet. Gibt die Nummer des Tickets zurück, das dem Auftrag vom Handelsserver zugewiesen wurde, oder -1, falls er fehlschlägt. Um zusätzliche Fehlerinformationen zu erhalten, muss man die GetLastError () - Funktion aufrufen. Bei Eröffnung einer Market Order (OPSELL oder OPBUY) können nur die aktuellen Preise von Bid (für den Verkauf) oder Ask (zum Kauf) als offener Preis verwendet werden. Wenn die Operation mit einer von der aktuellen abweichenden Sicherheit ausgeführt wird, muss die Funktion MarketInfo () mit dem Parameter MODEBID oder MODEASK verwendet werden, damit die letzten Quotes für diese Sicherheit erhalten werden können. Berechneter oder unnormalisierter Preis kann nicht angewendet werden. Wurde im Preisfaden nicht der angeforderte offene Preis angegeben oder nach der Anzahl der Nachkommastellen nicht normiert, so wird der Fehler 129 (ERRINVALIDPRICE) generiert. Wenn der angeforderte offene Preis vollständig veraltet ist, wird der Fehler 138 (ERRREQUOTE) unabhängig vom Schlupfparameter erzeugt. Wenn der angeforderte Preis nicht aktuell ist, aber im Thread vorhanden ist, wird die Bestellung zum aktuellen Kurs und nur dann eröffnet, wenn der aktuelle Kurs im Bereich des Preisrutschens liegt. StopLoss und TakeProfit Ebenen können nicht zu nah an den Markt. Die minimale Distanz der Stopppegel in Punkten kann mit der Funktion MarketInfo () mit dem Parameter MODESTOPLEVEL ermittelt werden. Bei fehlerhaften oder unnormalisierten Stoppniveaus wird der Fehler 130 (ERRINVALIDSTOPS) erzeugt. Ein Nullwert von MODESTOPLEVEL bedeutet entweder das Fehlen von Beschränkungen für die minimale Distanz für Stop Loss Take Profit oder die Tatsache, dass ein Handelsserver einige externe Mechanismen für die dynamische Niveauregelung verwendet, die nicht in dem Client-Terminal übersetzt werden können. Im zweiten Fall kann GetLastError () den Fehler 130 zurückgeben, weil hier MODESTOPLEVEL tatsächlich quotfloating ist. Bei der Platzierung einer ausstehenden Bestellung kann der offene Preis nicht zu nahe am Markt sein. Die minimale Entfernung des ausstehenden Marktpreises aus dem aktuellen Markt kann man mit der Funktion MarketInfo () mit dem Parameter MODESTOPLEVEL erreichen. Im Falle eines falschen offenen Preises einer ausstehenden Bestellung wird der Fehler 130 (ERRINVALIDSTOPS) generiert. Die Anwendung der ausstehenden Auftragslaufzeit kann in einigen Handelsservern deaktiviert werden. Wenn in diesem Fall ein Wert ungleich Null im Ablaufparameter angegeben wird, wird der Fehler 147 (ERRTRADEEXPIRATIONDENIED) generiert. Auf einigen Handelsservern kann der Gesamtbetrag offener und ausstehender Aufträge begrenzt werden. Wenn diese Grenze überschritten wurde, wird keine neue Bestellung geöffnet (oder kein ausstehender Auftrag wird platziert) und der Handelsserver gibt den Fehler 148 (ERRTRADETOOMANYORDERS) zurück. -------------------------------------------------- ---------------- Scriptprogramm-Startfunktion --------------------------------- ------------------------------------ void OnStart () --- erhalten minimale Stop-Ebene double minstoplevel MarketInfo (Symbol (), MODESTOPLEVEL) drucken (quotMinimum Stopp Levelquot, minstoplevel, quot pointsquot) double Preis auf Anfrage --- berechnet SL und TP Preise müssen normalisierte Doppelstoploss NormalizeDouble (Bid - minstoplevel Point. Digits) double Takeprofit NormalizeDouble (Bid minstoplevel Punkt sein Ziffern) --- Platz Markt bestellen, um zu kaufen 1 Los int Ticket OrderSend (Symbol (), OPBUY, 1, Preis, 3, Stoploss, takeprofit, quotMy orderquot, 16384,0, clrGreen) if (ticketlt0) Print (quotOrderSend fehlgeschlagen (Multiplikator) if (Multiplikator 1) mit dem Fehler GetLastError ()) sonst Drucken (quotOrderSend platziert erfolgreichquot) --- Reguläre Variablen extern doppelt LotSize 0.1 extern doppelt LotInkrement 0.1 extern doppelt TakeProfitPip 10 extern double StopLossPip 21 Viele NormalizeDouble (Mengengröße, 2) sonst Lots NormalizeDouble (Mengengröße, 2) Doppel xTp 0 if (TakeProfitPip0) xTp Ask (TakeProfitPipPoint) OrderSend (Symbol (), OPBUY, Grundstück, Ask, Slippage, Gebot (StopLossPipPoint), Ask (TakeProfitPipPoint) , TradeComment, Referenz, Grün) Fehler GetLastError () if (Fehler 0) Write (quotError Öffnung KAUFEN Bestellung: quot Errordescription (Error) quot (Cquot Fehler quot) Frage: quot Slippage stellen Sie quot: quot Slippage) sonst TickPrice Close0 TradeAllowed falsch, wenn (Lose 0), wenn (Multiplier) if (Multiplikator 1) Lots NormalizeDouble (Mengengröße, 2) sonst Lots NormalizeDouble (Mengengröße, 2) Doppel xTp 0 if (TakeProfitPip0) xTp Bid - (TakeProfitPipPoint) OrderSend (Symbol (), OPSELL, Lots , Gebot, Slippage, Gebot (StopLossPipPoint), Bid - (TakeProfitPipPoint), TradeComment, Referenz, Rot) resOrderSend (Symbol (), OPSELL, LotsOptimized (), Gebot, 3, Gebot (StopLossPoint), Bid - (TakeProfitPoint), quotSellquot , MAGICMA, 0, Rot) Fehler GetLastError () if (Fehler 0) Write (quotError Öffnung Verkaufsorder: quot Errordescription (Error) quot (dquot Fehler quot) Gebot: quot Bid quot Slippage: quot Slippage) sonst TickPrice Close0 TradeAllowed falsch I Glaube, ich kann bestätigen, dass für zB. Alpari Mikrokonto (es muss ein quotlivequot Konto sein), müssen Sie OrderSend mit null SL und TP tun und dann direkt danach die Reihenfolge mit dem erforderlichen SL und TP ändern, um es zu arbeiten. Ich tue ein OrderSelect gerade, nachdem ich OrderOpenPrice () als den offenen Preis in der OrderModify-Parameterliste verwenden kann. Das ist, was ich in meinem Code geändert und es scheint jetzt zu funktionieren. Ich glaube, ich hatte das gleiche Problem mit Axis Trader so vielleicht Ill versuchen es wieder dort einige Zeit. Das einzige andere, was ich tat, war sicherzustellen, dass, wenn ich die OrderSend gesendet, gab es eine magische Zahl nicht null auf sie. Viel Glück für jeden.


No comments:

Post a Comment