MathMin

2つの数値の最小値を返します。

double  MathMin(
  double  value1,    // 1番目の値
  double  value2      // 2番目の値
  );

パラメータ

value1

[in]  1番目の数値

value2

[in]  2番目の数値

戻り値

2つの値のうちの最小値

注意事項

MathMin()の代わりにfmin()を使用できます。fmax()、fmin()MathMax()、MathMin()はdouble型への型キャストなしで整数型での操作が出来ます。

異なる型のパラメータが関数に渡された場合、ビットサイズの小さいパラメータが自動的にビットサイズの大きいパラメータの型にキャストされます。戻り値の型はビットサイズの大きいパラメータの型と同じです。

同じ型のデータが渡された場合、キャストは行われません。

 

例:

//--- 入力パラメータ
input uint InpBars  = 100000; // 望みのバー数
 
//+------------------------------------------------------------------+
//| スクリプトプログラム開始関数                                              |
//+------------------------------------------------------------------+
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;
    }
//--- サーバー上で利用可能な値と設定で要求された数の2つの値からバーの最小数を取得する
  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);
 }