
カスタムインジケーターのどのライン(バッファ)を取得するかは、ソースまたはマニュアルを確認
複数ラインを持つインジケーターでは mode
を切り替えて取得
- 概要
iCustom
は、カスタムインジケーター(.ex4)から指定したバッファの値を取得できる汎用関数です。- ユーザー定義のインジケーターをEAや別のインジケーターから利用する際の必須関数です。
- 特徴
- 外部インジケーター(例:RSI_Custom, SuperTrend等)をMQL内で呼び出し可能
- バッファ(インジケーターのライン番号)を指定して値を取得
- パラメータ数が可変で、呼び出すインジケーターに合わせて引数を柔軟に設定できる
- EAやカスタムインジケーターで、複雑な外部ロジックを再利用可能
目次
構文
double iCustom(
string symbol,
int timeframe,
string name,
... // インジケーターに渡すパラメータ(可変長)
int mode,
int shift
);
パラメータ名 | 内容 |
---|---|
symbol | 通貨ペア名NULL = 現在のチャートのペア |
timeframe | 時間足0 = 現在のチャートの時間足 |
name | 使用するカスタムインジケーターのファイル名(.ex4 省略可) |
... (省略記法) | インジケーターに渡すパラメータ(数や型は該当インジケーターに依存) |
mode | バッファ番号(インジケーターの何番目のラインを取得するか) |
shift | シフト取得するバーの位置0 =現在, 1 =1本前… |
使用例
// MyArrowインジケーターにパラメータを2つ渡し、バッファ0を取得
double arrow = iCustom(NULL, 0, "MyArrow", 14, true, 0, 0);
if (arrow != EMPTY_VALUE) {
Print("シグナル検出:", arrow);
}
コメント