Das sehe ich erst jetzt!
Code:
extern double BE_LEVEL = 20.0;
...
if( (Bid-OrderOpenPrice())*10*Point >= BE_LEVEL)
{
int a = OrderModify(i,OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,clrDarkTurquoise);
}
Die Funktion OrderModify wird nie aufgerufen!
Warum? Weil die if- Abfrage nie true ergibt.
Warum? Weil der linke Teil immer viel!! < 1 und der rechte immer >= 1 sein wird.
Stattdessen müsste das lauten:
Code:
if( (Bid-OrderOpenPrice())/10/Point >= BE_LEVEL)
{
int a = OrderModify(i,OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,clrDarkTurquoise);
}
Mal davon abgesehen, dass OrderSelect() und OrderModify() einen bool-Wert zurückgeben und keinen int-Wert (das spielt jedoch bei Dir jetzt nicht die Rolle, sollte aber korrekterweise beachtet werden).
traderdoc