Einzelnen Beitrag anzeigen
  #10 (permalink)  
Alt 11.06.18
traderdoc traderdoc ist offline
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.735
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

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
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.