
MT4 MT4 実行時エラー
4071
- 定数名
ERR_INDICATOR_CANNOT_INIT- メッセージ
cannot initialize custom indicator- 意味
- カスタムインジケーターを初期化できない
MT4エラー4071とは
iCustom() で呼び出したカスタムインジケーターの初期化(OnInit)が失敗したときのエラーです。インジケーター側の OnInit() が INIT_FAILED などを返しているか、渡したパラメータが不正です。
ログの表示例
iCustom error 4071
「エキスパート」タブまたは「操作履歴」タブに表示されます。数値や表記の細部は、ビルド・ブローカー・EAの作りによって異なります。
MT4エラー4071の主な原因
- iCustom() に渡したパラメータの数・型・順番がインジケーターと合っていない
- インジケーターの OnInit() がエラーを返している(DLL不許可や認証失敗など)
- インジケーターの ex4 が古いビルドでコンパイルされている
MT4エラー4071の対処法
- インジケーター単体をチャートに入れて、エラーが出ずに表示されるか確認する
- iCustom() のパラメータを「パラメーターの入力」と同じ順番・型にする
- ソースがあれば再コンパイルする
コード例(MQL4)
// iCustom のインジケーター名と失敗の確認(エラー4072 対策)(MQL4)
// MQL4\Indicators\MyArrow.ex4 → "MyArrow"
// MQL4\Indicators\Market\MyArrow.ex4 → "Market\\MyArrow"
input string InpIndicator = "MyArrow";
double ReadArrow(int buffer, int shift)
{
ResetLastError();
double v = iCustom(Symbol(), 0, InpIndicator, buffer, shift);
int err = GetLastError();
if(err != 0)
Print("iCustom error ", err, ":", InpIndicator, ".ex4 が MQL4\\Indicators にあるか確認してください");
return v;
}MetaEditor(MT4)でコンパイルできることを確認済みです。自分のEAに組み込むときは、変数名や設定値を合わせてください。












