Hallo.
Mit den ganzen Fehlermeldungen muss ich mich noch mal beschäftigen.
Code:
if( IsTradeContextBusy()==true )Sleep(Sl_MS);
oder
Code:
while( IsTradeContextBusy()==true )Sleep(Sl_MS);
Sl_MS kann man in den Globalen Variablen eintragen.
Wie wählt man die zuletzt geschlossene Order aus? Überall steht was Anderes.
Wie gesagt soll, wenn die letzte geschlossene Order Gewinn gemacht hat, die Lots in die jeweilige Richtung erhöht werden. Also wenn z.B. der letzte Buy mit 0.1 Lot mit Gewinn geschlossen wurde, soll der nächste Buy z.B. um 0.1 Lot erhöht, also mit 0.2 Lot raus geschickt werden. Wenn der wieder Gewinn macht, soll der Buy danach wieder um 0.1 Lot auf 0.3 Lot erhöht werden und immer so weiter. Muss beim Index oder bei dieser Nummer nun 0 oder j oder was sonst eingetragen werden, um rauszufinden, ob die letzte Order in eine Richtung Gewinn gemacht hat?
Code:
//=============================================================================================================
// O R D E R L O T S E R H Ö H E N
//=============================================================================================================
for(int j=OrdersTotal()-1;i>=0;i--){
if(OrderSelect(0,SELECT_BY_POS,MODE_HISTORY)){
if(OrderType()==OP_BUY&&OrderMagicNumber()==Buy_MN&&OrderSymbol()==Symbol() && OrderCloseTime()!=0 ){
if(OrderProfit()>0.0)LotsBuy = LotsPlus + last_L_Buy;}
if(OrderType()==OP_SELL&&OrderMagicNumber()==Sell_MN&&OrderSymbol()==Symbol() && OrderCloseTime()!=0 ){
if(OrderProfit()>0.0)LotsSel = LotsPlus + last_L_Sel;}
}}