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.
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);