22.06.15
|
Neues Mitglied
|
|
Registriert seit: Mar 2015
Ort: Berlin
Beiträge: 28
|
|
Zitat:
Zitat von saro2018
Okay ich habe mal eine Sache programmiert. Sie soll checken ob die letzte Order ein Profit war oder nicht. Falls das der Fall ist, soll sie in die Condition Loop wieder rein, falls sie ein Loss war soll sie unten den Befehl ausführen (eine Order eröffnen, Gegenposition)
Der Code sieht die wie folgt aus:
Code:
double mymagicnumber = 123456;
double closedProfit = 0;
int hstTotal = OrdersHistoryTotal();
for(int i=0;i<hstTotal;i++)
{ OrderSelect(i, SELECT_BY_POS, MODE_HISTORY );
if ( OrderSymbol()==Symbol() && ( (OrderMagicNumber() == mymagicnumber)))
{closedProfit = closedProfit + OrderProfit();
}
} if (closedProfit>=0)
//[...my conditions]
//[am ende der Loop]
if (closedProfit<0)
{
if(total<1)
for(i=0;i<hstTotal;i++)
{ OrderSelect(i, SELECT_BY_POS, MODE_HISTORY );
if ( OrderType()==OP_BUY && ( (OrderMagicNumber() == mymagicnumber)))
{OrderSend(Symbol(),OP_SELL,Lots,Bid,2,StopLoss,TakeProfit,NULL,mymagicnumber);
}
if ( OrderType()==OP_SELL && ( (OrderMagicNumber() == mymagicnumber)))
{OrderSend(Symbol(),OP_BUY,Lots,Ask,2,StopLoss,TakeProfit,NULL,mymagicnumber);
}
} }
return(0);
}
Da müsste ein kleiner Logikfehler drin sein.
Gruß Aron
|
Keiner einen Ansatz für mein Problem?
Gruß
Aron
|