Универсальная функция проверки торгового лота на корректность. Возвращает ближайшее возможное значение торгового лота.
double checkLotMinMax(string pair, double l)
{
double Min_Lot = SymbolInfoDouble(pair,SYMBOL_VOLUME_MIN);
double Max_Lot = SymbolInfoDouble(pair,SYMBOL_VOLUME_MAX);
double volume = l;
double volumeStep = SymbolInfoDouble(pair,SYMBOL_VOLUME_STEP);
double Lotss = MathMin(MathMax(MathRound(volume / volumeStep) * volumeStep, Min_Lot), Max_Lot);// Универсальный прием для приведения значения объема к ближайшему корректному:
return(Lotss);
}
Где:
- pair — торговый инструмент;
- l — входной лот.