Thema: Lot abrunden
Einzelnen Beitrag anzeigen
  #1 (permalink)  
Alt 29.06.22
Aleksi Aleksi ist offline
Neues Mitglied
 
Registriert seit: May 2020
Ort: Duisburg
Beiträge: 28
Aleksi befindet sich auf einem aufstrebenden Ast
Standard Lot abrunden

Es gib Dituationen in den die kalkulierte Lot zb 1.02 ist aber die Schrittweite alle 1.0 lot ist.

Also hatte ich mir überlegt eine Funktion zu schreiben die mir die Lot abrunden soll, ich seh nicht wo es klemmt, kann mir wer helfen?


Code:
double roundLotdown(double lots)
  {
   double startLots = lots;
   double lotstep = NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_VOLUME_STEP),2);
   lots = NormalizeDouble(lots,2);

   double rest = (lots - NormalizeDouble(lots/lotstep,2)) * lotstep;
   rest = NormalizeDouble(rest,2);
   if(rest != 0)
     {
      for(double i = 0.01; i <= lotstep; i += 0.01)
        {
         lots = NormalizeDouble(lots - 0.01,2);
         rest = (lots - NormalizeDouble(lots/lotstep,2)) * lotstep;
         rest = NormalizeDouble(rest,2);
         if(rest == 0)
            break;
        }
     }
     
   return lots;
  }