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;
}