Hallo,
im Grund hat der EA schon die Funktion enthalten um die Trades zu begrenzen.
Die Funktion muss nur etwas verändert werden.
Du musst diese Funktion
Code:
bool ExistPositions() {
for(int i=0;i<OrdersTotal(); i++) {
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol() && OrderComment()==Name_Expert) return(True);
else return(false); } }
durch diese ersetzen
Code:
bool ExistPositions()
{
int ocount = 0;
for(int i=0;i<OrdersTotal(); i++)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol() && OrderComment()==Name_Expert) ocount++;
}
if (ocount < MaxTrades)
{
return(true);
}
else
{
return(false);
}
}
Der Unterschied besteht darin, das in der neuen ExistPositions() die geöffneten Orders auch gezählt werden.
Nur wenn die Anzahl der Orders < MaxTrades ist wird eine neue Order geöffnet.
Dann nur noch die Verneinung in der start() enfernen, also
Code:
if(!ExistPositions())
ändern in
Am Ende kannst du das
Code:
if(total>0 && total <= MaxTrades)
{
;}
löschen, es hat keine Funktion.
Gruß
naranjoe