MathMin

Функция возвращает минимальное из двух числовых значений.

double  MathMin(
   double  value1,     // первое число
   double  value2      // второе число
   );

Параметры

value1

[in]  Первое числовое значение.

value2

[in]  Второе числовое значение.

Возвращаемое значение

Меньшее из двух чисел.

Примечание

Вместо функции MathMin() можно использовать функцию fmin(). Функции fmax(), fmin(), MathMax(), MathMin() могут работать с целыми типами без преобразования к типу double.

Если в функцию передаются параметры разных типов, то параметр младшего типа автоматически приводится к старшему типу. Тип возвращаемого значения соответствует старшему типу.

Если передаются данные одного типа, то никакого преобразования не производится.

 

Пример:

//--- input parameters
input uint  InpBars  =  100000;  // Желаемое количество баров
 
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- получим количество доступных баров на сервере
   uint bars_total = Bars(Symbol(),Period());
   if(bars_total==0)
     {
      PrintFormat("Данные для таймсерии %s %s еще не сформированы в терминале. Повторите попытку позже.",Symbol(),StringSubstr(EnumToString(Period()),7));
      return;
     }
//--- получим минимальное количество баров из двух значений: из доступных на сервере и из запрошенного количества в настройках
   int bars = (int)MathMin(bars_total,InpBars);
//--- если запрошено баров больше, чем доступно на сервере - сообщим об этом в журнале
   if(bars_total<InpBars)
      PrintFormat("Количество баров на сервере (%u) меньше, чем было запрошено (%u)",bars_total,InpBars);
//--- выведем в журнал доступное для работы количество баров
   Print("Доступно баров для работы: ",bars);
  }