Einzelnen Beitrag anzeigen
  #1 (permalink)  
Alt 05.12.18
Max2018 Max2018 ist offline
Mitglied
 
Registriert seit: Sep 2018
Beiträge: 238
Max2018 befindet sich auf einem aufstrebenden Ast
Standard Zu viel Positionen

Hallo,
irgendwie komme ich nicht weiter. Mein EA soll an den augelesenen "Rectangles" jeweils nur EINE Position eröffnen. Er eröffnet aber hunderte - obwohl ich mit "result" das auf eine Position einschränke.....das geht aber nicht... was ist hier falsch?
Code:
double priceSL[100];
double priceZIEL[100];
int result[100];
for (int xx = 0; xx <= 100; xx++) 
{ 
   price[xx] = NormalizeDouble(ObjectGetDouble(0,xx,OBJPROP_PRICE2),NACHKOMMA);   
   priceSL[xx] = NormalizeDouble(ObjectGetDouble(0,xx,OBJPROP_PRICE1),NACHKOMMA)-NormalizeDouble(spreadReal,NACHKOMMA);   // da spreadReal negativ hier minus !
   priceZIEL[xx] =NormalizeDouble(price[xx]-((priceSL[xx]-price[xx])*MARGE),NACHKOMMA); 
}
for (int vv = 0; vv <= 100; vv++) 
{  
   if(Bid<price[vv]&&result[vv]==0&&Hour()==9)continue;
   if (result[vv]>0)break; 
   result[vv]=OrderSend(Symbol(),OP_SELLSTOP,Lots,price[vv],Slippage,0,0,"X"+MARGE+"_"+MagicNumber,MagicNumber,0,Blue); 
   ObjectsDeleteAll(0,OBJ_ARROW);
   TheStopLoss=priceSL[vv];
   TheTakeProfit=priceZIEL[vv]; 
   if(StopLoss>0) TheStopLoss=priceSL[vv];
   OrderSelect(result[vv],SELECT_BY_TICKET);
   OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(TheStopLoss,Digits),NormalizeDouble(TheTakeProfit,Digits),0,Green);
   if(Open[1]>priceSL[vv])OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), 5, Red ); 
   Comment (result[vv]);  
   price[vv]=0;
}