スポンサーリンク
ホーム » MQL5リファレンス » 変換関数 » NormalizeDouble関数について
a

NormalizeDouble関数について

変換関数
スポンサーリンク

※【おススメのMT5MQL5対応のFX業者】

MQL5にて開発した、MT5EAを実運用するにあたり、

当サイトでは以下のFX業者をおススメいたします。

外為ファイネスト

アヴァトレードジャパン

フィリップ証券

スポンサーリンク

機能

NormalizeDouble関数は、小数点以下の数を指定した桁数で、四捨五入します。

英語で四捨五入をrooundingというので、わりと

「指定された精度に丸めます」

みたいな言葉で説明されていたりします。

(私みたいに野良でプログラムを勉強し始めたものにとっては、正直面くらいました(-_-;) )

EAを開発する過程においては扱う数値に正確な精度が求められる局面も出てくるので、NormalizeDouble関数はそんな局面でよく用いられます。

<書式>

double  NormalizeDouble(
  double  value,      // 正規化数
  int    digits      // 小数点以下の桁数
  );
スポンサーリンク

引数

第1引数には、整形する対象のdouble型データが入ります。

第2引数には、整形する際の小数点以下の桁数が入ります。

要は小数点第何位まで表したいのというのを第2引数で指定するわけです。

引数についてはコチラのリンクをご覧ください。

スポンサーリンク

戻り値

引数に指定したデータに基づいて計算されたdouble型の数値が返されます。

戻り値についてはコチラを下記の記事をご覧ください。

スポンサーリンク

備考

計算された決済逆指値及び決済指値、また未決注文の価格は Digits() で取得される値によって正規化する必要があります

MQL5リファレンス

正規化とは?

正規化というのは、プログラムが取り扱うルールに則って値を整える作業

のことを言います。

通貨ペアに関する適切な桁数については、Digits関数(または定義済み変数_Digits」)で取得できますよ

という事を言っています。

スポンサーリンク

サンプルコード

※以下のサンプルコードはTerminal>Common>ディレクトリのFilesフォルダにあるSignal.txtというテキストファイルがあることを前提としたものです。

#include <Trade\Trade.mqh>
//ファイルのインクルード

CTrade trade;
//クラスオブジェクトの宣言

//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
      double Ask=NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_ASK),_Digits);
      //チャートの値の取得と正規化
      
      int ExternalFile=FileOpen("Signal.txt",
      FILE_READ|FILE_ANSI|FILE_COMMON,
      '|',
      CP_ACP);
      //テキストファイルを開き、ファイルハンドルを取得
      
      string BuySignal=FileReadString(ExternalFile);
      //Terminal>Common>Filesフォルダにあるテキストを読み取る
      
      FileClose(ExternalFile);//ファイルを閉じる
      
      if(PositionsTotal()==0 && BuySignal=="BUY IT NOW")//読み取った中に"BUY IT NOW"があれば
      {
         trade.Buy(0.1,NULL,Ask,0,Ask+100*_Point,NULL);//買い注文
         
      }//if(PositionsTotal()==0 && BuySignal=="BUY IT NOW")
      
      Comment("BuySignal",BuySignal,"PositionsTotal:",PositionsTotal());//コメント表示
   
  }
//+------------------------------------------------------------------+

OnTick関数については↓をご覧ください↓

Print関数についてはこちらをご覧ください

<NormalizeDouble関数が使われている記事リンク↓>

MQL5 EA講座 第96回「トレーリングストップクラスを作る」

MQL5 EA講座 第101回「資金管理とロット調整について」

———————————————————————————-

※【おススメのMT5MQL5対応のFX業者】

外為ファイネストに関する記事は↓をご覧ください。

アヴァトレードジャパンに関する記事は↓をご覧ください。

フィリップ証券に関する記事は↓をご覧ください。

関連用語リンク集

MQL5FX関連の用語リンク集です。
当サイトでは、元々わからない言葉や概念に出くわしたら、すぐその言葉に立ち戻れるよう、かなり細かく内部リンクを張り巡らせており、多様な用語を網羅しています。

興味のある内容に直接アクセスし、疑問の解決にお役立ていただければと思います。

スポンサーリンク
変換関数
スポンサーリンク
シェアする
エムキューエルをフォローする
スポンサーリンク
【超入門】MQL5 でEAを作ろうブログ

コメント

タイトルとURLをコピーしました