Funkcje własne:   GetCorrectLot()

Funkcja double GetCorrectLot() zwraca poprawną wartość wolumenu (lota) z dwoma cyframi po znaku dziesiętnym, uwzględniając jego dopuszczalną maksymalną i minimalną wartość:

f_symbol - instrument finansowy. W przypadku _Symbol funkcja sprawdzi wolumen dla instrumentu finansowego tego wykresu notowań, gdzie program MQL4 zostanie uruchomiony.
f_value - wolumen transakcji do sprawdzenia.

f_symbol - instrument finansowy. W przypadku _Symbol funkcja sprawdzi wolumen dla instrumentu finansowego tego wykresu notowań, gdzie program MQL4 zostanie uruchomiony.

f_value - wolumen transakcji do sprawdzenia.

double GetCorrectLot(string f_symbol, // instrument finansowy
                     double f_value)  // wartość wolumenu
  {
   if(f_value<MarketInfo(f_symbol,MODE_MINLOT))
      return NormalizeDouble(MarketInfo(f_symbol,MODE_MINLOT),2);
   if(f_value>MarketInfo(f_symbol,MODE_MAXLOT))
      return NormalizeDouble(MarketInfo(f_symbol,MODE_MAXLOT),2);
   return NormalizeDouble(f_value,2);
  }

1) Otrzymać poprawny wolumen dla EURUSD i wartości 1.234. Funkcja zwróci 1.23:

GetCorrectLot("EURUSD", 1.234);

2) Otrzymać poprawny wolumen dla bieżącego instrumentu finansowego i wartości 0.001. W przypadku jeśli minimalny dopuszczalny wolumen jest 0.01, funkcja zwróci 0.01:

GetCorrectLot(_Symbol, 0.001);

3) Otrzymać poprawny wolumen dla bieżącego instrumentu finansowego i wartości 2.0149999999. Funkcja zwróci 2.02:

GetCorrectLot(_Symbol, 2.0149999999);