iCustom
iCustomの説明
指定したインジケータの値を取得する。
double iCustom(①string symbol,②int timeframe,③string name,④...,⑤int mode,⑥int shift);
①string symbol
インジゲーターの値を取得する通貨ペアの指定。現在のチャートの通貨ペアを指定したい場合は、「NULL」と記述。
②int timeframe
インジゲーターを取得する時間軸の指定。
種類 |
定数 |
説明 |
PERIOD_CURRENT |
0 |
現在の時間足 |
PERIOD_M1 |
1 |
1分足 |
PERIOD_M5 |
5 |
5分足 |
PERIOD_M15 |
15 |
15分足 |
PERIOD_M30 |
30 |
30分足 |
PERIOD_H1 |
60 |
1時間足 |
PERIOD_H4 |
240 |
4時間足 |
PERIOD_D1 |
1440 |
日足 |
PERIOD_W1 |
10080 |
週足 |
PERIOD_MN1 |
43200 |
月足 |
③string name
値を取得したいインジゲーター名。
④...
値を取得したいインジゲーターの入力パラメータ。
⑤int mode
値を取得したいインジゲーターのラインインデックス番号。
⑤int shift
インジゲーターの値を取得したいバーの位置の指定。
現在のバーであれば「0」、1本前のバーであれば「1」、2本前のバーであれば「2」...と記述。
ソースコード例
私が作成したオリジナルインジゲーターの
CROSS MAを例に紹介します。
6本前の足のラインインデックス番号2と3(上矢印と下矢印)に入っている値を取得します。
int OnInit()
{
int i = 6;
double UPArrow = iCustom(NULL,0,"cross_ma",2,i);
double DWNArrow = iCustom(NULL,0,"cross_ma",3,i);
Comment("上矢印:"+UPArrow+"\n"+"下矢印:"+DWNArrow);
return(INIT_SUCCEEDED);
}
表示例
6本前の足のラインインデックス番号2と3(上矢印と下矢印)に入っている値を
Commentで表示する。
注意事項
指定したラインインデックス番号に値が入っていなくても、数字が表示されますが、実際は空の状態になっています。
インジゲーター名とラインインデックス番号を正しく指定しないと値が取得できません。
オブジェクトで表示されている矢印の値を取得することはできません。オブジェクトの値を取得したい場合は、ObjectNameやObjectGetを使って取得します。
関連ページ