MARKET
9/25 8:27 時点|ドル円158.78▼-7 pips|ドル円 予想レンジ158.41 〜 159.23|ドル円 上の節目158.90▲|ドル円 下の節目157.80▼|ユーロドル1.1378▼-2 pips|ユーロドル 予想レンジ1.1351 〜 1.1408|ユーロドル 上の節目1.1403▲|ユーロドル 下の節目1.1359▼|きょうの指標重要指標なし|

エラー4051(ERR_INVALID_FUNCTION_PARAMVALUE)― 渡した値がおかしい|MQLエラーコード

MQL4 / MQL5 両対応 たまに見るエラーコードERR_INVALID_FUNCTION_PARAMVALUE

エラー4051ERR_INVALID_FUNCTION_PARAMVALUE ― 関数に渡した値そのものが不正

関数に渡した値そのものが、その関数が受け付けられる範囲の外にあったときに出る。特定の1つの原因があるわけではなく、様々な関数で共通して出る「値がおかしい」の総称。

1主な原因

  • 配列の要素数や添字に、あり得ない値(負の数など)を渡した
  • 文字列操作系の関数に、範囲外の開始位置や長さを渡した
  • NULLを想定していない引数にNULLを渡した

2対処法

✓ どの引数が原因かを1つずつ絞り込む

複数の引数を持つ関数呼び出しをいきなり実行せず、怪しい引数だけ先にPrintで値を確認してから呼ぶと原因が特定しやすい。境界値(0・最大値・空文字)を渡すコードパスが無いか洗い出す。

3発生する例と直し方

// 悪い例:countがマイナスになり得るのに確認していない
int count = ArraySize(buf) - offset;
ArrayResize(buf, count);

// 直した例:先に範囲を確認してから呼ぶ
int count2 = ArraySize(buf) - offset;
if(count2 < 0)
{
   Print("offsetが配列サイズを超えています");
   return;
}
ArrayResize(buf, count2);

4MQL5では

🔁 差分

MQL5でも同じ4051として共通。4001番台以降のランタイムエラーは、MQL4・MQL5でほぼ共通の番号体系になっている。

5関連するエラー

MORNING BRIEF平日 毎朝7時までに更新

今日はどこを見ればいいか。

ドル円とユーロドルの主要ライン・予想高値安値を、平日の朝に図1枚にまとめています。

朝刊を見る→
9/25 8:27 時点ドル円158.78▼-7 pipsドル円 予想レンジ158.41 〜 159.23ドル円 上の節目158.90▲ドル円 下の節目157.80▼ユーロドル1.1378▼-2 pipsユーロドル 予想レンジ1.1351 〜 1.1408ユーロドル 上の節目1.1403▲ユーロドル 下の節目1.1359▼きょうの指標重要指標なし
REI-FX&BO OFFICIAL LINE

ツールのダウンロードパスワードは
公式LINEで、すぐ届きます。

友だち追加の自動返信でパスワードをお送りします。
新しいツールの公開や、検証でわかったことも先にお知らせします。

全ツールのパスワード新作ツールをいち早く配信は月1〜2回だけ
LINEで友だち追加 パスワードを受け取る ›

追加後にひとことメッセージをいただけると、ツールづくりの参考にします。