// Regelmäßige Variablen extern double Mengengröße 0,1 extern double LotIncrement 0.1 extern double TakeProfitPip 10 extern double StopLossPip 21 if (Lots 0) // if (Multiplier) if (Multiplikator 1) Lots NormalizeDouble (Mengengröße, 2) sonst Lots NormalizeDouble (Mengengröße, 2 ) double xTp 0 if (TakeProfitPip0) xTp Ask (TakeProfitPipPoint) OrderSend (Symbol (), OPBUY, Grundstück, Ask, Slippage, Gebot (StopLossPipPoint), Ask (TakeProfitPipPoint), TradeComment, Referenz, Grün) Fehler GetLastError (), wenn (Error 0) schreiben (quotError Öffnung KAUFEN Bestellung: quot Errordescription (Error) quot (Cquot Fehler quot) Frage: quot stellen Sie Slippage quot: quot Slippage) sonst TickPrice Close0 TradeAllowed falsch, wenn (Lose 0) // if (Multiplier) if (Multiplier 1 ) Lots NormalizeDouble (Mengengröße, 2) sonst Lots NormalizeDouble (Mengengröße, 2) Doppel xTp 0 if (TakeProfitPip0) xTp Bid - (TakeProfitPipPoint) OrderSend (Symbol (), OPSELL, Grundstück, 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: Gebot quot Slippage quot: quot Slippage) sonst TickPrice Close0 falsch TradeAllowed ich glaube ich, dass für zB bestätigen können. Alpari Micro-Konto (es hat ein quotlivequot Konto zu sein), haben Sie OrderSend mit Null SL und TP und dann sofort danach, ändern Sie die Reihenfolge mit der erforderlichen SL und TP zu tun, um es an die Arbeit. 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 an all. Error 130 - ungültiger Stop. Warum ERRNOERROR 0 Es wurde kein Fehler zurückgegeben. ERRNORESULT 1 Es wurde kein Fehler zurückgegeben, aber das Ergebnis ist unbekannt. ERRCOMMONERROR 2 Allgemeiner Fehler. ERRINVALIDTRADEPARAMETERS 3 Ungültige Handelsparameter. ERRSERVERBUSY 4 Der Handelsserver ist besetzt. ERROLDVERSION 5 Alte Version des Client-Terminals. ERRNOCONNECTION 6 Keine Verbindung zum Handelsserver. ERRNOTENOUGHRIGHTS 7 Nicht genügend Rechte. ERRTOOFREQUENTREQUESTS 8 Zu häufige Anfragen. ERRMALFUNCTIONALTRADE 9 Störungsfreier Handel. ERRACCOUNTDISABLED 64 Konto deaktiviert. ERRINVALIDACCOUNT 65 Ungültiges Konto. ERRTRADETIMEOUT 128 Zeitüberschreitung. ERRINVALIDPRICE 129 Ungültiger Preis. ERRINVALIDSTOPS 130 Ungültige Stopps. ERRINVALIDTRADEVOLUME 131 Ungültiges Handelsvolumen. ERRMARKETCLOSED 132 Der Markt ist geschlossen. ERRTRADEDISABLED 133 Der Handel ist deaktiviert. ERRNOTENOUGHMONEY 134 Nicht genug Geld. ERRPRICECHANGED 135 Preis geändert. ERROFFELUNGEN 136 Off-Anführungszeichen. ERRBROKERBUSY 137 Der Broker ist besetzt. ERREREQUOTE 138 Requote. ERRORDERLOCKED 139 Auftrag ist gesperrt. Länger liegende Positionen nur erlaubt. ERRTOOMANYREQUESTS 141 Zu viele Anfragen. ERRTRADEMODIFYDENIED 145 Änderung verweigert, weil Auftrag zu nahe am Markt. ERRTRADECONTEXTBUSY 146 Der Handelskontext ist besetzt. ERRTRADEEXPIRATIONDENIED 147 Abläufe werden von einem Makler verweigert. ERRTRADETOOMANYORDERS 148 Der Betrag der offenen und ausstehenden Aufträge hat die vom Broker festgelegte Grenze erreicht. StopLossLevel NormalizeDouble (Low, Digits) CalcStopLossPips (MathAbs (Bid StopLossLevel)) / pp if (UseTakeProfit) TakeProfitLevel NormalizeDouble (Bid - TakeProfitSell Point, Digits) sonst TakeProfitLevel 0.0 Print (Verkaufen Stoploss:, DoubleToStr (StopLossLevel, Digits)) Drucken (TP :, DoubleToStr (TakeProfitLevel, Digits)) drucken (Gebot:, DoubleToStr (Bid, Digits)) OrderSend (Symbol (), OPSELL, lotsForOrder, NormalizeDouble (Bid, Digits), Slippage, NormalizeDouble (Gebot (CalcStopLossPips Point), Ziffern) , NormalizeDouble (TakeProfitLevel, Digits), Verkauf (InternalMagicNumber), InternalMagicNumber, 0, ist deeppink) dies nicht der Weg-System zu verwenden - auch für den Test. Ist nicht real und würde nie verwendet werden, warum also versuchen, mit solchen Werten. Olosta, ist Ihre beste Option zu lesen REF.1 unten. Sie müssen wirklich verstehen, wie Tradng-Funktionen verwenden und wie mit MQL4 zu programmieren. Es ist nicht gut, eine Zeile zu arbeiten, dann geht ein anderer schief - alles wegen des begrenzten Verständnisses. REF.1: Bestellmerkmale und Regeln für die Herstellung von Trades book. mql4 / trading / orders REF.2: Anforderungen und Einschränkungen bei der Herstellung von Trades book. mql4 / appendix / limits. Machen Sie Anstrengungen, dem MQL4 Buch zu folgen, das viele Beispiele hat, die Linie für Zeile erklärt werden. Ich habe nichts anderes, was ich anbieten kann - ist bis zu Ihnen zu studieren und zu lernen. Viel Glück auf Ihrer Reise. Gut, Digits aussortiert die MarketInfo () Ergebnisse. Ich verstehe überhaupt nicht:. Ist dies nicht die Art und Weise zu nutzen System - auch für den Test. Ist nicht real und würde nie verwendet werden, warum also versuchen, mit solchen Werten. Olosta, ist Ihre beste Option zu lesen REF.1 unten. Sie müssen wirklich verstehen, wie Tradng-Funktionen verwenden und wie mit MQL4 zu programmieren. Es ist nicht gut, eine Zeile zu arbeiten, dann geht ein anderer schief - alles wegen des begrenzten Verständnisses. REF.1: Bestellmerkmale und Regeln für die Herstellung von Trades book. mql4 / trading / orders REF.2: Anforderungen und Einschränkungen bei der Herstellung von Trades book. mql4 / appendix / limits. Machen Sie Anstrengungen, dem MQL4 Buch zu folgen, das viele Beispiele hat, die Linie für Zeile erklärt werden. Ich habe nichts anderes, was ich anbieten kann - ist bis zu Ihnen zu studieren und zu lernen. Viel Glück auf Ihrer Reise. Sind wir besorgt, dass MODESTOPLEVEL 0 zurückgibt, kann ich nicht zurückrufen, wenn dies bedeutet, dass Stopps deaktiviert sind oder wenn es bedeutet, dass es keine Begrenzung für Stopps gibt. Okay Ich werde Ihre Links zu lesen, weil ich nicht genug Wissen darüber haben. Ich habe einen Fehler gemacht, als ich sagte, ich könnte nicht ändern, die PT und SL aus einer offenen Position Marktordnung. Es ist sehr seltsam. Wenn ich eine 1,50 SL und eine 1,30 PT in der orderend () angeben, es funktioniert nicht, aber wenn ich ein orderend () ohne PT und SL, sendet eine Marktordnung auf den Markt, und dann habe ich direkt ändern die offene Bestellung Indem sie den SL 1.50 und den 1.30 PT-Wert einsetzt, funktioniert es. Fortsetzung folgt. PS. (In meiner vorherigen Nachricht ist ein quotconfused smileyquot :)) Ich las alle Links, aber nichts, was mir hilft. Nur für Info, ich benutze dies für jetzt, aber es ist ein wenig dumm int TicketOrderSend (quotEURUSDquot, OPSELL, 0,1, Bid, 3,0,0, quotSHORTquot, 0,0, rot) OrderSelect (0, SELECTBYPOS, MODETRADES) I Senden Sie die Bestellung zuerst, und ich habe die SL und PT in zweiter Art. Es ist lächerlich, aber wenn es der einzige Weg ist. summen. Jetzt kann ich das richtige Programm schreiben. Wenn ich die Lösung finde, werde ich sie setzen, aber zögern Sie nicht, wenn Sie sie finden) Einige Vermittler lassen Sie nicht einstellen, wenn Sie den Auftrag senden, nur in einem Auftrag ändern. Nun, wegen der neuen NFA FIFO-Regeln, werden einige Broker nicht zulassen, dass Sie Stops überhaupt. Sie müssen mit Ihrem Broker darüber sprechen, wie sie Aufträge verarbeiten. Dies klingt nicht wie ein Programmierproblem - vorausgesetzt, Sie haben es versucht, wie CB sagte. Ok, aber warum kann ich Limit Bestellungen und stoppen Bestellungen mit PT und SL, und nicht mit den Marktordnungen Das ist eine gute Frage. Wie schon früher in diesem Thread vorgeschlagen, sollten Sie versuchen, mit Print-Anweisungen nur um sicherzustellen, dass Ihr Code tut, was Sie denken, es ist. Vordefinieren Sie Ihre Preis-, Stop-Loss - und Take-Profit-Variablen und drucken Sie sie kurz vor Ihrem OrderSend-Befehl. Auf diese Weise sehen Sie, was auf den Server geht und Sie können es gegen Ihre STOPLEVEL und FREEZELEVEL für Ihren Broker zu überprüfen. Sie können diese Werte so etwas wie folgt finden: Sie können nicht einen StopLoss (ich glaube, ein TakeProfit auch) näher als StopLevel auf den Auftragseingang Preis in einem Befehl OrderSend und Sie können nicht ändern, etwas mit einem OrderModify, wenn Sie näher als FreezeLevel zu Der aktuelle Preis. Heres ein Test. Für eine lange Bestellung: Ive gejagt für einen neuen Makler in letzter Zeit und bei dem Versuch, meine EAs auf verschiedenen Brokern Im lernen, dass trotz der gemeinsamen Plattform gibt es viele Unterschiede in der Ausführung von einem Makler zum nächsten. Also die Moral der Geschichte ist - es gibt nicht eine Reihe von Regeln zu folgen. Sie haben herauszufinden, wie Ihr Broker Handlungen und was ihre Regeln und machen Sie Ihre EA Arbeit damit. Eine andere Sache, die Sie versuchen können, ist, einen Auftrag manuell von der Konsole aus einzugeben. Versuchen Sie, einen Stop-Loss und Take-Profit, wenn Sie eine Bestellung dort. Wenn es diese Werte bei der manuellen Bestellung platziert, dann ist das ein guter Hinweis, dass es etwas falsch in Ihrem Code. Ich verstehe, dass Sie alle wollen, dass ich print (), aber ich weiß, dass es nicht das Problem, weil ich alle Werte möglich versucht. Ich denke, das Problem ist mehr wie Sie gesagt haben und wie ich schon sagte. Der Broker FXCM dont erlauben mir, SL und PT nur auf eine Marktordnung zu stellen (kann sein, weil einige Leute, die Probleme mit ihm offenen Preis zu nah an der SL / PT etc. hatte), aber es erlaubt auf dem Limit zu bestellen und zu stoppen Auftrag. Ich schickte eine Mail an sie, werde ich die Antwort. Eine andere Sache, die Sie versuchen können, ist, einen Auftrag manuell von der Konsole aus einzugeben. Versuchen Sie, einen Stop-Loss und Take-Profit, wenn Sie eine Bestellung dort. Wenn es diese Werte bei der manuellen Bestellung platziert, dann ist das ein guter Hinweis, dass es etwas falsch in Ihrem code. quot Das ist genau das, was ich denke. Ich kann nicht manuell die SL / PT in einer Marktordnung, nur in Stop-und Limit-Reihenfolge, genau wie in MQL4. Also ich denke, mein Code ist gut. Indem Sie das sagen, bestätigen Sie, was ich denke. Ich möchte die Antwort des Unternehmens übersetzen, das mir gerade antwortete (ich schickte meine Post vor zwei Wochen, hum.) Hello Wilson Dos santos, erhielt ich Ihre Mail betreffend MT4. Die Firma Boston Technologies, die wir mit der Plattenform MT4, dont erlauben Sie jetzt für einen Stop-Loss und eine Limit-Order zu definieren, wenn Sie handeln. Sie effektiv haben, um eine Marktordnung zuerst öffnen, und diese Stop-Loss-und Limit-Reihenfolge nach. Mlle DANH - FXCMquot Das bestätige, was ich dachte. Vielen Dank an alle, für Ihre Hilfe Herunterladen MetaTrader 5 Copyright 2000-2016, MQL5 Ltd.
Comments
Post a Comment