iCustom()関数

iCustom()関数は、指定したカスタムインジケーターの値を返します。

iCustom()関数について

iCustom()関数の()括弧内は次のように指定します。

iCustom(通貨ペア名, 時間足, インジケーター名, ..., インデックス, シフト数)

通貨ペア名
通貨ペア(銘柄)名を文字列で指定します。NULLを指定すると表示チャートの通貨ペアのことになります。

時間足
時間足(時間軸)を次の表の整数または定数で指定します。

現在表示時間足 0 PERIOD_CURRENT
1分足 1 PERIOD_M1
5分足 5 PERIOD_M5
15分足 15 PERIOD_M15
30分足 30 PERIOD_M30
1時間足 60 PERIOD_H1
4時間足 240 PERIOD_H4
日足 1440 PERIOD_D1
週足 10080 PERIOD_W1
月足 43200 PERIOD_MN1

インジケーター名
カスタムインジケーター名を文字列で指定します。指定するカスタムインジケーターの.ex4ファイルが、MQL4\Indicatorsフォルダまたはそのサブフォルダに保存されている必要があります。サブフォルダ内のインジケーターを指定する場合は、”フォルダ名\\インジケーター名”と指定します。


カスタムインジケーターの入力パラメーターのリストを,カンマ区切りで順番通りに指定します。
※入力パラメーターのリストの後ろから順に省略可能です。省略した場合は通常初期値が適応されますが、そうでない場合もあります。

インデックス
インジケーター用配列のインデックス(色の設定タブの#番号)を指定します。

シフト数
ローソク足何本分前かを指定します。

サンプルコード

// スクリプトファイルのコード
void OnStart()
{
   double upper = iCustom(NULL, 0, "Bands", 20, 0, 2.0, 1, 0);
   double lower = iCustom(NULL, 0, "Bands", 20, 0, 2.0, 2, 0);
   
   Print("Bands+2σ: ", upper);
   Print("Bands-2σ: ", lower);
}

カスタムインジケーター「Bands」は、次のようなインジケーターです。

表示内容 ボリンジャーバンド
入力パラメーター 平均期間, 表示シフト, 標準偏差倍数
インデックス 0 : MA, 1 : +σ, 2 : -σ

上記のサンプルコードは、カスタムインジケーター「Bands」期間20の±2σの値を取得して、その値を出力するスクリプトです。