MathMin

이 함수는 두 값의 최소값을 반환합니다.

double  MathMin(
   double  value1,     // 첫번째 값
   double  value2      // 두번째 값
   );

매개 변수

value1

[in]  첫번째 숫자 값.

value2

[in]  두번째 숫자 값.

반환값

두 값 중 가장 작은 값.

참고

MathMin() 대신에 fmin()을 사용할 수 있습니다. 함수 fmax(), fmin(), MathMax(), MathMin() 는 정수 형식을 더블 형식으로 타입캐스팅하지 않고 사용할 수 있습니다.

다른 유형의 파라미터가 함수에 전달되면 작은 유형의 파라미터가 큰 유형에 자동으로 캐스트됩니다. 반환 값의 유형은 보다 큰 유형에 해당합니다.

동일한 유형의 데이터를 통과하면 캐스팅이 수행되지 않습니다.

 

예:

//--- 입력 매개변수
input uint  InpBars  =  100000;  // 원하는 바의 수
 
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- 서버에서 사용 가능한 바의 수를 가져옵니다.
   uint bars_total = Bars(Symbol(),Period());
   if(bars_total==0)
     {
      PrintFormat("Data for timeseries %s %s not yet generated in the terminal. Please try again later.",Symbol(),StringSubstr(EnumToString(Period()),7));
      return;
     }
//--- 두 값(서버에서 사용 가능한 값과 설정에서 요청한 값)에서 최소 바의 수를 가져옵니다.
   int bars = (int)MathMin(bars_total,InpBars);
//--- 서버에서 사용할 수 있는 것보다 더 많은 바가 요청되면 이를 저널에 보고합니다.
   if(bars_total<InpBars)
      PrintFormat("Number of bars on the server (%u) is less than requested (%u)",bars_total,InpBars);
//--- 저널에서 작업에 사용할 수 있는 바의 수를 표시합니다.
   Print("Bars available for work: ",bars);
  }