moin @ all,
ich habe jetzt den Code von
Indikator-Trading probiert. Keine Fehlermeldung
. Anschließend habe ich nach und nach den Rest meiner
Funktion hinzugefügt und festgestellt das der Fehler NICHT bei OrderDelete zu suchen ist ! Sondern schon vorher beim Schließen der offenen Orders.
In dem Teil hatte ich bei erfolgreichem schließen zwei weitere Funktionen aufgerufen.
Code:
if(!OrderClose(OrderTicket(),OrderLots(),Bid,intMaxSlippage,White)) {
Print(__FUNCTION__," ERROR OP_BUY ",GetLastError());
continue;
} else {
if(pLable) {
ProfitLable(__FUNCTION__);
}
if(Optimizer) {
VirtualTrades(__FUNCTION__+"()"+"()",OrderTicket(),OrderType(),_Symbol,TimeToStr(OrderOpenTime(),TIME_MINUTES),OrderOpenPrice(),OrderStopLoss(),OrderTakeProfit(),"22:55",OrderClosePrice(),OrderLots(),"Life");
}
}
Die Funktion 'ProfitLable(__FUNCTION__)' verursacht den Fehler. Da sie aber funktioniert und der Fehler nicht ständig auf tritt bin ich soweit wie vorher, ich habe keine Ahnung
Vielleicht kann mal jemand über diese Funktion schauen und mir sagen was ich falsch mache
Code:
void ProfitLable(string f)
{
if(debug)
Print(">>>",f+"()","::",__FUNCTION__+"()");
color clr;
for(int y=OrdersHistoryTotal()-1; y>=0; y--) {
if(OrderSelect(y,SELECT_BY_POS,MODE_HISTORY)) {
if((OrderMagicNumber()==magic) && (OrderSymbol()==Symbol())) {
if(OrderCloseTime()>0) {
lastTicket= OrderTicket();
int plshift = iBarShift(_Symbol,_Period,OrderCloseTime());
datetime plshift2 = iTime(_Symbol,0,plshift+7);
if(OrderProfit()>0)clr=clrOlive;
else clr=clrRed;
if(OrderType()==OP_BUY) {
if(OrderProfit()>0) {
drawLabel("ProfitText"+(string)lastTicket,DoubleToString(OrderProfit(),2),High[plshift]+(40*_Point),clr,plshift,9);
} else {
drawLabel("ProfitText"+(string)lastTicket,DoubleToString(OrderProfit(),2),Low[plshift]-(30*_Point),clr,plshift,9);
}
}
if(OrderType()==OP_SELL) {
if(OrderProfit()<0) {
drawLabel("ProfitText"+(string)lastTicket,DoubleToString(OrderProfit(),2),High[plshift]+(30*_Point),clr,plshift,9);
} else {
drawLabel("ProfitText"+(string)lastTicket,DoubleToString(OrderProfit(),2),Low[plshift]-(40*_Point),clr,plshift,9);
}
}
lastTicket=0;
}
}
}
}
return;
}
Screenshot im Anhang
Schon mal vielen Dank an alle.
VG
stoffel