05.12.18
|
Mitglied
|
|
Registriert seit: Sep 2018
Beiträge: 238
|
|
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;
}
|