iMomentum関数について

MQL5リファレンス
スポンサーリンク
スポンサーリンク

機能

iMomentum関数は、Momentum(モメンタム)指標のハンドルを返します。バッファは 1 つです。

モメンタムの詳細は↓の記事をご参照ください

<書式>

int  iMomentum(
  string              symbol,            // 銘柄名
  ENUM_TIMEFRAMES     period,            // 期間
  int                  mom_period,       // 平均期間
  ENUM_APPLIED_PRICE  applied_price      // 価格の種類かハンドル
  );

引数

symbol

[in] データが指標計算に使用される有価証券の銘柄名(NULL は現在のシンボル)

period

[in] 期間の値は ENUM_TIMEFRAMES 列挙の値の 1 つで、0 は現在の時間軸の意味です。

mom_period

[in] 価格変化計算の平均期間(バーの数)

applied_price

[in] 使用される価格。ENUM_APPLIED_PRICE 価格定数のいずれか、または別の指標ハンドル

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

戻り値

モメンタムハンドルモメンタムの値を取得するための鍵のようなもの)

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

備考

MQL4とは違い、MQL5モメンタムの値の取得がiMomentum関数だけでは完結しません

↑以上の工程をたどる必要があります。

サンプルコード

#property copyright "MQL5ssei"
#property link      "https://mqlinvestmentlab.com/"
#property strict 
void OnTick()
  {
      double PriceArray[];
      //モメンタムの配列を格納する配列を用意
      
      int MomentumDefinition=iMomentum(_Symbol,_Period,14,PRICE_CLOSE);
      //モメンタムを計算するハンドルを取得する
      ArraySetAsSeries(PriceArray,true);
      //データを時系列にセット
      
      CopyBuffer(MomentumDefinition,0,0,3,PriceArray);
      //取得したハンドルを使って、配列にモメンタムの計算値を格納
      
      double MomentumValue=NormalizeDouble(PriceArray[0],2);
      //データの正規化
      //PriceArray[0]には現在足のモメンタムの値が格納されている
      if(MomentumValue>100.0)Comment("勢いが強い",MomentumValue);
      if(MomentumValue<99.9)Comment("勢いが弱い",MomentumValue);
      //コメント出力

      if(
            (MomentumValue>99.9)
            &&
            (MomentumValue<100.0)
        )
        {
         Comment(" ",MomentumValue);
        }
      
  }//void OnTick()
//+------------------------------------------------------------------+

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

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

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

コメント

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