Einzelnen Beitrag anzeigen
  #1 (permalink)  
Alt 06.11.17
Elfenstein Elfenstein ist offline
Neues Mitglied
 
Registriert seit: Feb 2017
Beiträge: 27
Elfenstein befindet sich auf einem aufstrebenden Ast
Standard Profit von mehreren zur gleichen Zeit geschlossenen Orders überwachen

Hallo, ich habe da eine kleine Programmierungsfrage:

Ich habe mir einen EA gebastelt. Ein EA der häufig mehrere Order zur gleichen Zeit schließt. Mal werden alle Order geschlossen, weil alle Order zusammengerechnet einen gewünschten TakeProfit erreicht haben und mal werden alle Order geschlossen, weil einer oder mehrere der laufenden Order in den StopLoss gelaufen sind. Und dieser Teil vom Code überwacht nach dem Schließen den Profit:

Code:
bool checkforlosses()
{
   int losses=0;
   int i;
   for(i=0; i<OrdersHistoryTotal(); i++)
   {
       OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
       if(OrderSymbol()!=Symbol() || OrderMagicNumber()!=MagicNumber) continue;
       if(OrderProfit()<0) losses++;
       else                losses=0;
   }
   if(losses>0)  return(true);
   return(false);
}
Jetzt habe ich das Problem, dass mit diesem Code nur der Profit vom letzten geschlossenen Order überwacht wird, doch ich brauche das Ergebnis von dem Order-Haufen, der eben geschlossen wurde. Doch ich brauche das korrekte Ergebnis, denn anhand "if(checkforlosses())" kann ich dann wunderbar weitere Befehle ausführen oder eben nicht ausführen lassen. Z.B.:

Code:
if(checkforlosses())
      {
      if (lots < 2.20) lots += 0.10;
      }
      else
      {
      if (lots > 0.05) lots -= 0.05;
      }
Was kann man denn da machen?