MARKET
MT4ツールを、数字で作る。— Team REI|平日の朝に「相場分析」を更新しています|

NormalizeDouble ― 小数の桁数を丸めて誤差を防ぐ|MQL4/MQL5リファレンス

MQLリファレンス›関数数学NormalizeDouble
(‘both’, ‘MQL4 / MQL5 両対応’)数学

NormalizeDouble小数の桁数を丸めて誤差を防ぐ

計算の途中で出てくる、コンピューター特有の細かい誤差(0.1+0.2が0.30000000004になる、など)を取り除く。注文の価格・ロット数を送る前に必ず通す関数。

1書式

double NormalizeDouble(
   double value,
   int    digits   // 残したい小数点以下の桁数
);

書式はMQL4・MQL5で同じ。

2引数

引数 内容
value 丸めたい値
digits 残す小数点以下の桁数(価格ならDigitsを渡すのが定石)

3戻り値

指定した桁数に丸めた値。

4使用例

double price = Ask + 20 * Point;
price = NormalizeDouble(price, Digits);
Print(price);

MetaEditorでコンパイル0エラー・0警告を確認済み。

6よくある罠

⚠ 実務で踏んだもの
  • 注文の価格・損切り・利確を送る前は、必ずこれを通す。通さずに送ると、見た目は同じ数字でも内部の誤差のせいで「不正な価格」としてエラーになることがある。

7関連する関数

REI-FX&BO OFFICIAL LINE

ツールのダウンロードパスワードは
公式LINEで、すぐ届きます。

友だち追加の自動返信でパスワードをお送りします。
新しいツールの公開や、検証でわかったことも先にお知らせします。

全ツールのパスワード新作ツールをいち早く配信は月1〜2回だけ
LINEで友だち追加 パスワードを受け取る ›

追加後にひとことメッセージをいただけると、ツールづくりの参考にします。