Einzelnen Beitrag anzeigen
  #1 (permalink)  
Alt 22.12.14
Bucardo Bucardo ist offline
Neues Mitglied
 
Registriert seit: Nov 2014
Beiträge: 27
Bucardo befindet sich auf einem aufstrebenden Ast
Standard Probleme mit Orderaufgabe (Pending Order)

Hallo zusammen,

ich arbeite seit längerem an meinem eigenen News-Advisor. Nachdem ich vor kurzem das Konzept nochmal umgestellt und neu angefangen habe, stoße ich auf folgendes Problem:

Der EA soll kurz vor einer News zwei Pending-Orders aufgeben und diese bis zum zeitpunkt X an den jeweiligen Preis anpassen. Ab zeitpunkt X wird nicht mehr modifiziert und abgewartet welche Order getroffen wird.
Jetzt zum Problem: Sobald die Order ausgeführt werden soll, erhalte ich die Fehlermeldung "Invalid Trade Parameters". Ich habe den Verdacht, dass es an meiner Definition für den Preis der OrderSend-Funktion liegt, finde den Fehler aber nicht. Vielleicht könnt ihr mir weiterhelfen

int BuyStop_Preis = Ask + (PipDifferenz*Point);
int BuyStop_StopLoss = Ask + ((PipDifferenz - StopLoss)*Point);
int BuyStop_TakeProfit = Ask + ((PipDifferenz + TakeProfit)*Point);
int SellStop_Preis = Bid - (PipDifferenz*Point);
int SellStop_StopLoss = Bid - ((PipDifferenz + StopLoss)*Point);
int SellStop_TakeProfit = Bid - ((PipDifferenz - TakeProfit)*Point);


void OpenBuyStop()
{
int ticket,tries;
tries = 0;
if (!GlobalVariableCheck("InTrade"))
{
while (tries < 3)
{
GlobalVariableSet("InTrade", CurTime()); // set lock indicator
ticket = OrderSend(Symbol(),OP_BUYSTOP,Lots,BuyStop_Preis,1 ,BuyStop_StopLoss,BuyStop_TakeProfit,"EA Order",NULL,0,Red);
Alert("BuyStop eröffnet, Ticket ="+ticket);
GlobalVariableDel("InTrade"); // clear lock indicator
if(ticket<=0)
{
Alert("Fehler bei der BuyStop-Aufgabe aufgetreten! (Fehlernummer: "+ErrorDescription(GetLastError())+" BuyStop @ "+BuyStop_Preis+" SL @ "+BuyStop_StopLoss+" TP @"+BuyStop_TakeProfit);
tries++;
}
else tries = 3;
}
}
}

void OpenSellStop()
{
int ticket,tries;
tries = 0;
if (!GlobalVariableCheck("InTrade")) {
while (tries < 3)
{
GlobalVariableSet("InTrade", CurTime()); // set lock indicator
ticket = OrderSend(Symbol(),OP_SELLSTOP,Lots,SellStop_Preis ,1,SellStop_StopLoss,SellStop_TakeProfit,"EA Order",NULL,0,Red);
Alert("SellStop eröffnet, Ticket ="+ticket);
GlobalVariableDel("InTrade"); // clear lock indicator
if(ticket<=0) {
Alert("Fehler bei der SellStop-Aufgabe aufgetreten! (Fehlernummer: "+ErrorDescription(GetLastError())+" BuyStop @ "+SellStop_Preis+" SL @ "+SellStop_StopLoss+" TP @"+SellStop_TakeProfit);
tries++;
} else tries = 3;
}
}
}


Danke & Gruß,
Bucardo