|
Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4. |
|
Themen-Optionen | Thema durchsuchen | Ansicht |
|
|||
Error 130/129 bei OrderSend()
Dieser EA sollte einen Trade eröffnen, sobald eine Kerze beendet ist. Wenn der Schlusskurs tiefer liegt, sollte der EA einen Sell-Trade und wenn der Schlusskurs höher liegt einen Buy-Trade eröffnen. Ich erhalte aber leider immer einen Error 130 oder 129, wenn dieser einen Trade eröffnen sollte.
Wenn ich nur die OrderSend() Function, ohne den restlichen Code ausführe, dann funktioniert diese und eröffnet Trades. Was mache ich falsch? Code:
#property strict extern double StopLoss = 100.0; extern double TakeProfit = 100.0; //+------------------------------------------------------------------+ //| --- Variablen fest Festlegen: (Global) | //+------------------------------------------------------------------+ double LastClose1; double LastClose2; int Count; string Dir; //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { Count=0; return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { if(Count==0) { LastClose2 = iClose(NULL,0,2); Count=1; } LastClose1 = iClose(NULL,0,1); if(LastClose1 > LastClose2) { //--- place market order to buy 1 lot int ticket=OrderSend(Symbol(),OP_BUY,0.01,Ask,3,Ask-(StopLoss*Point),Ask+(TakeProfit*Point),NULL,NULL,0,clrRed); if(ticket<0) { Print("OrderSend failed with error #",GetLastError()); } else Print("OrderSend placed successfully"); //Comment("Zähleranfang: "+Count+"\n Dir: "+Dir+" \n LastClose2: "+LastClose2+"\n LastClose1: "+LastClose1); LastClose2 = LastClose1; Dir = "Kaufen"; } if(LastClose1 < LastClose2) { //--- place market order to buy 1 lot int ticket=OrderSend(Symbol(),OP_SELL,0.01,Bid,3,Bid-(StopLoss*Point),Bid+(TakeProfit*Point),NULL,NULL,0,clrGreen); if(ticket<0) { Print("OrderSend failed with error #",GetLastError()); } else Print("OrderSend placed successfully"); LastClose2 = LastClose1; Dir = "Verkaufen"; } } |
|
|||
int ticket=OrderSend(Symbol(),OP_SELL,0.01,Bid,3,Bid-(StopLoss*Point),Bid+(TakeProfit*Point),NULL,NULL, 0,clrGreen);
muß lauten: int ticket=OrderSend(Symbol(),OP_SELL,0.01,Bid,3,Bid+( StopLoss*Point),Bid-(TakeProfit*Point),NULL,NULL,0,clrGreen); traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis. |
|
|||
Besten Dank für deine Hilfestellung Traderdoc. Da sucht man in alle erdenklichen Richtungen, dafür ist die Lösung so nah.
|
|
|||
die einfachste Variante wäre
googlen nach MQL Errorcodes ->Invalid Price und Invalid Stop |
|
||||
Das scheint eine Uralt-Seite gewesen zu sein.
Hier nun eine Aktuelle Seite Error Codes - Appendixes - MQL4 Tutorial |
Lesezeichen |
Stichworte |
error 129, error 130, mql4, order, ordersend, ordersend error, programmierung, programmierung metatrader, trade |
|
|