NormalizeDouble

浮動小数点数を指定した精度で丸めます。

NormalizeDouble

関数書式

double  NormalizeDouble(
   double  value,      // 浮動小数点数
   int     digits      // 丸める小数点以下の桁数
   );

  • 引数
引数名初期値I/O詳細
value-IN浮動小数点数
digits-IN丸める小数点以下の桁数。
設定範囲は0~8まで。
  • 戻り値

指定された精度で丸められた浮動小数点数を返します

  • その他

算出した値を用いて、ストップロス・リミット・エントリー価格・ロット数をOrderSend()関数の実引数に使用する場合、
正確に正規化する必要があります。
ストップロス・リミット・エントリー価格はDigits()を用いて正規化する桁数を取得する事が出来ます。

  • サンプルソース
#property strict

void OnInit() {
    double stoploss;
    double stoploss_normalized;
    
    stoploss = Close[0];

    stoploss            = stoploss + ( stoploss * 20 * Point() * 10 );
    stoploss_normalized = NormalizeDouble( stoploss , Digits());

    Print( "算出したストップロス        :", stoploss            );
    Print( "算出したストップロス(正規化):", stoploss_normalized );
}

Twitterでフォローしよう

おすすめの記事