Einzelnen Beitrag anzeigen
  #3 (permalink)  
Alt 02.03.18
dundale dundale ist offline
Neues Mitglied
 
Registriert seit: Oct 2016
Beiträge: 25
dundale befindet sich auf einem aufstrebenden Ast
Standard

Vielen Dank für die schnelle Antwort. Ich habe versucht deine Formel in einen Code zu packen.

Ich bin nicht der große MQL4-Profi, aber in einem kleinen Test errechnete die Funktion den richtigen BE. Natürlich muss man noch den Spread berücksichtigen.

Kann man diesen Code so nehmen oder wie könnte man den Code noch verbessern?

Code:
double BreakevenOfAllTrades()
  {
   double Total=0,
   buy_TotalLots=0,
   buy_price= 0,
   buy_lots =0,
   buy_pricetimeslots=0,
   buy_TotalPriceTimesLots=0,
   sell_TotalLots=0,
   sell_price= 0,
   sell_lots =0,
   sell_pricetimeslots=0,
   sell_TotalPriceTimesLots=0;
   for(int cnt=0;cnt<OrdersTotal();cnt++)
     {
      if(OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES))
         if(OrderSymbol() == Symbol())
            if(OrderType()==OP_BUY)
              {
               buy_price = OrderOpenPrice();
               buy_lots = OrderLots();
               buy_pricetimeslots = buy_price * buy_lots;
               buy_TotalLots += buy_lots;
               buy_TotalPriceTimesLots += buy_pricetimeslots;
              }
            if(OrderType()==OP_SELL)
              {
               sell_price = OrderOpenPrice();
               sell_lots = OrderLots();
               sell_pricetimeslots = sell_price * sell_lots;
               sell_TotalLots += sell_lots;
               sell_TotalPriceTimesLots += sell_pricetimeslots;
              }
     }
   if(buy_TotalLots > sell_TotalLots || buy_TotalLots < sell_TotalLots)
      Total=(buy_TotalPriceTimesLots - sell_TotalPriceTimesLots) / (buy_TotalLots - sell_TotalLots);
   return(Total);
  }