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σの値を取得して、その値を出力するスクリプトです。