技術辞典

MQL5エラーコード辞典|GetLastError・TRADE_RETCODE・コンパイルエラー一覧

EAファンクラブ

MT5 / MQL5でEA、インジケーター、外部連携、バックテスト、開発作業を行っていると、ランタイムエラー、取引サーバーリターンコード、コンパイルエラー、WebRequest関連エラー、Strategy Tester関連エラーなどが表示されることがあります。

エラーを確認する時に重要なのは、コード番号やメッセージだけで原因を断定しないことです。エラーが出た場所、発生時刻、EA名、インジケーター名、銘柄名、時間足、setファイル、Expertsログ、Journalログ、MetaEditorのエラー欄を合わせて確認します。

この記事では、MQL5のGetLastError系ランタイムエラーMqlTradeResult.retcodeで返るTRADE_RETCODE系リターンコードMetaEditorのコンパイルエラーWebRequest / HTTP / Webhook / Google Sheets / Discord通知関連エラーStrategy Tester関連エラーを辞書形式で整理します。

注意:このページは、MT5 / MQL5のエラーコードやエラーメッセージを確認するための技術確認記事です。投資判断、売買タイミング、利益保証、勝率保証、損失回避保証、推奨ロット、推奨銘柄、特定ブローカーへの誘導を目的とした内容ではありません。

MT5 / MQL5のエラーコードは種類を分けて確認する

MT5 / MQL5のエラーは、すべて同じ場所に表示されるわけではありません。まず、どの種類のエラーかを分けて確認します。

分類主な確認場所代表例最初に確認すること
ランタイムエラーExpertsログ、Printログ、GetLastErrorERR_INVALID_PARAMETER、ERR_FUNCTION_NOT_ALLOWED、ERR_INDICATOR_WRONG_HANDLE発生関数、直前の処理、引数、ハンドル、対象銘柄
取引サーバーリターンコードOrderSend結果、MqlTradeResult.retcode、ExpertsログTRADE_RETCODE_INVALID_VOLUME、TRADE_RETCODE_NO_MONEY、TRADE_RETCODE_INVALID_FILLロット、証拠金、取引時間、自動売買許可、銘柄条件
コンパイルエラーMetaEditorのエラー欄undeclared identifier、wrong parameters count、unknown symbol 0xFEFF対象ファイル、行番号、列番号、直前に変更した箇所
外部連携エラーExpertsログ、Journalログ、外部サービス側WebRequest not allowed、HTTP 403、ERR_WEBREQUEST_TIMEOUTWebRequest許可、URL、権限、HTTP応答、VPS側設定
バックテスト関連エラーStrategy Tester、Expertsログ、Journalログヒストリカルデータ不足、銘柄不一致、取引が発生しないEA配置、銘柄、期間、spread、setファイル、テスター条件

ランタイムエラー

ランタイムエラーは、MQL5プログラムの実行中に発生するエラーです。GetLastError()で直近のエラーコードを確認することがあります。

ランタイムエラーは、関数の引数不備、ハンドル不正、ファイル操作失敗、配列範囲外、WebRequest失敗、履歴データ不足など、さまざまな場面で発生します。

取引サーバーリターンコード

取引サーバーリターンコードは、OrderSendなどの注文処理に対してサーバー側から返される結果です。MqlTradeResult.retcodeに格納されるため、EAの注文処理や決済処理を確認する時に重要です。

TRADE_RETCODE系は、正常完了を示すものもあれば、注文条件不備、自動売買無効、価格変化、証拠金不足、取引時間外、ポジション制約を示すものもあります。

コンパイルエラー

コンパイルエラーは、MetaEditorでmq5やmqhをコンパイルした時に表示されます。

コンパイルエラーはMT5上の運用ログではなく、ソースコード作成・改修時のエラーです。行番号だけでなく、前後の構文、include、文字コード、直前に変更した箇所を確認します。

外部連携エラー

外部連携エラーは、Discord通知、Google Sheets連携、Webhook、API通信、外部認証などで発生することがあります。

外部連携エラーが出ていても、EA本体の判定や表示は動いている場合があります。売買条件、通知条件、WebRequest通信、外部サービス側の権限は分けて確認します。

バックテスト関連エラー

バックテスト関連エラーでは、EAファイル、テスト期間、銘柄、時間足、ヒストリカルデータ、spread条件、setファイル、外部連携制約を確認します。

バックテスト結果や最適化結果は将来の結果を保証するものではありません。結果だけでなく、検証条件とログを残してください。

GetLastErrorとTRADE_RETCODEを混同しない

MQL5のエラー確認では、GetLastErrorで確認する実行時エラーと、MqlTradeResult.retcodeで確認する取引サーバーリターンコードを分けて確認します。

GetLastErrorは、MQL5プログラム実行中の関数呼び出しや端末側処理に関するエラー確認で使います。一方、TRADE_RETCODE系は、OrderSendなどの取引リクエストに対して、取引サーバー側から返される結果コードです。

確認対象主な意味確認する場面代表例最初に見るログ
GetLastErrorMQL5実行時・端末側・関数呼び出し側のエラーCopyBuffer、FileOpen、WebRequest、Object操作、iCustomなどERR_INVALID_PARAMETER、ERR_INDICATOR_WRONG_HANDLE、ERR_CANNOT_OPEN_FILEExpertsログ、直前の関数、GetLastError出力
TRADE_RETCODE取引サーバー側の注文処理結果OrderSend、CTrade.Buy/Sell、PositionCloseなどTRADE_RETCODE_DONE、TRADE_RETCODE_INVALID_VOLUME、TRADE_RETCODE_NO_MONEYORDER_RESULT、MqlTradeResult.retcode、Journalログ
MetaEditorコンパイルエラーソースコードの構文・型・include・文字コードエラーmq5 / mqhのコンパイル時undeclared identifier、wrong parameters count、unknown symbol 0xFEFFMetaEditorのエラー欄、対象行、直前変更箇所

エラーコードだけで原因を断定せず、発生した関数、対象銘柄、時間足、EA名、バージョン、Expertsログ、Journalログ、MetaEditorのエラー欄を合わせて確認してください。

エラーコードを見る前に確認する場所

確認場所確認できる内容主な対象エラー問い合わせ時に残す情報
ExpertsログEA・インジケーター側のログ初期化失敗、注文エラー、外部連携エラー、ファイル読み込みエラーEA名、時刻、銘柄、時間足、ログ前後
JournalログMT5端末側の操作・通信・注文ログ接続、注文、Strategy Tester、端末状態発生時刻、端末状態、注文関連ログ
MetaEditorのエラー欄コンパイルエラー、警告、対象ファイル、行番号構文エラー、include不足、型不一致、BOM混入ファイル名、行番号、エラー全文、直前の変更
Strategy Testerログバックテスト中のEAログ、テスター状態テスト開始不可、取引なし、データ不足、初期化失敗EA名、set、銘柄、時間足、期間、spread
外部サービス側レスポンスHTTPステータス、権限エラー、送信先応答WebRequest、Webhook、GAS、API連携HTTPコード、発生時刻、送信先種別、マスク済みログ

GetLastErrorで確認するMQL5ランタイムエラー一覧

ここでは、GetLastError()で確認するMQL5ランタイムエラーを、実務で確認しやすいカテゴリ別に整理します。コード番号や定数名は原因特定の入口であり、必ず発生箇所、ログ、直前の処理と合わせて確認してください。

共通・内部・パラメータ関連エラー

コード / 定数名意味出やすい場面最初に確認すること関連ログ
0 / ERR_SUCCESS処理成功エラー確認後の正常状態ResetLastError後の値か、直前処理の結果かを確認Experts
4001 / ERR_INTERNAL_ERROR内部エラー端末内部処理、関数呼び出し再現条件、直前の関数、端末状態を確認Experts / Journal
4002 / ERR_WRONG_INTERNAL_PARAMETER内部呼び出しのパラメータ不備システム関数内部処理渡している値、ハンドル、対象IDを確認Experts
4003 / ERR_INVALID_PARAMETERシステム関数呼び出し時のパラメータ不備各種MQL5関数呼び出し引数、型、範囲、空文字、NULLを確認Experts
4004 / ERR_NOT_ENOUGH_MEMORYメモリ不足配列拡張、大量オブジェクト、長期テスト配列サイズ、履歴取得量、ログ量、端末メモリを確認Experts / Journal
4006 / ERR_INVALID_ARRAY配列型・サイズ・状態が不正CopyBuffer、CopyRates、配列操作配列の初期化、サイズ、AS_SERIES設定を確認Experts
4007 / ERR_ARRAY_RESIZE_ERROR配列リサイズ失敗ArrayResize、大量データ保存静的配列ではないか、必要サイズが大きすぎないか確認Experts
4008 / ERR_STRING_RESIZE_ERROR文字列リサイズ失敗長文ログ、JSON、HTTP応答処理文字列長、レスポンス量、不要な結合処理を確認Experts
4010 / ERR_INVALID_DATETIME日時値が不正日時変換、期間指定、ログ時刻処理サーバー時間、日本時間変換、文字列日時を確認Experts
4014 / ERR_FUNCTION_NOT_ALLOWEDその環境で呼び出し不可の関数Strategy Tester、インジケーター内処理、制限環境関数の呼び出し場所、テスターか通常チャートかを確認Experts / Tester
4019 / ERR_MATH_OVERFLOW計算時のオーバーフロー極端な数値、累乗、除算、配列集計入力値、分母0、異常値、桁あふれを確認Experts
4020 / ERR_SLEEP_ERRORSleep呼び出し後にテスト終了日時を超過バックテスト、待機処理Sleepの使用場所、テスター終了日時、待機設計を確認Tester / Experts
4022 / ERR_PROGRAM_STOPPED外部要因でプログラム停止最適化中断、ビジュアルテスト終了、EA削除停止操作、テスト中断、OnDeinit理由を確認Journal / Tester

チャート・オブジェクト関連エラー

コード / 定数名意味出やすい場面最初に確認すること関連ログ
4101 / ERR_CHART_WRONG_IDチャートID不正ChartSet、Object操作、別チャート操作対象chart_id、チャート存在、閉じたチャート参照を確認Experts
4102 / ERR_CHART_NO_REPLYチャートが応答しない重い描画、時間足変更、テンプレート適用オブジェクト数、描画頻度、ChartRedraw頻度を確認Experts / Journal
4103 / ERR_CHART_NOT_FOUNDチャートが見つからない別チャート操作、チャート遷移対象チャートが開いているか確認Experts
4108 / ERR_CHART_CANNOT_CREATE_TIMERタイマー作成失敗EventSetTimer、OnTimer設計既存タイマー、初期化順、OnDeinitでの解除を確認Experts
4112 / ERR_CHART_TEMPLATE_FAILEDテンプレート適用失敗テンプレート読み込み、チャート復元テンプレート名、保存場所、対象チャートを確認Experts / Journal
4114 / ERR_CHART_INDICATOR_CANNOT_ADDチャートへインジケーター追加失敗iCustom、ChartIndicatorAddインジ名、パラメータ、handle、対象サブウィンドウを確認Experts
4201 / ERR_OBJECT_ERRORオブジェクト操作エラーパネル、ライン、ラベル、ボタン表示オブジェクト名、作成順、削除済み参照を確認Experts
4202 / ERR_OBJECT_NOT_FOUNDオブジェクトが見つからないObjectSet、ObjectDelete、ObjectGet名前の一致、チャートID、サブウィンドウを確認Experts

マーケット・ヒストリー関連エラー

コード / 定数名意味出やすい場面最初に確認すること関連ログ
4301 / ERR_MARKET_UNKNOWN_SYMBOL不明な銘柄SymbolInfo、CopyRates、別口座移行銘柄名、サフィックス、Market Watch表示を確認Experts
4302 / ERR_MARKET_NOT_SELECTED銘柄がMarket Watchで選択されていない別銘柄参照、マルチシンボルEAMarket Watchへ表示されているか確認Experts
4303 / ERR_MARKET_WRONG_PROPERTY銘柄プロパティID不正SymbolInfoInteger / Double / String取得プロパティ種別と関数の組み合わせを確認Experts
4304 / ERR_MARKET_LASTTIME_UNKNOWN最終tick時刻不明未配信銘柄、休場、データ不足銘柄のtick配信、取引時間、接続状態を確認Experts / Journal
4401 / ERR_HISTORY_NOT_FOUND要求した履歴が見つからないCopyRates、CopyTime、バックテスト履歴データ、期間、時間足、銘柄名を確認Experts / Tester
4403 / ERR_HISTORY_TIMEOUT履歴取得タイムアウト長期データ取得、初回起動、VPS移行後取得期間、銘柄、端末接続、再試行設計を確認Experts / Journal
4404 / ERR_HISTORY_BARS_LIMIT端末設定のバー数制限長期検証、インジ計算、履歴参照最大バー数、取得範囲、必要バー数を確認Experts
4407 / ERR_HISTORY_SMALL_BUFFER受け取り配列が小さいCopy系関数、配列受け取り配列サイズ、戻り値、取得本数を確認Experts

通知・端末・FTP関連エラー

コード / 定数名意味出やすい場面最初に確認すること関連ログ
4510 / ERR_MAIL_SEND_FAILEDメール送信失敗メール通知EAメール設定、送信許可、端末設定を確認Experts / Journal
4515 / ERR_NOTIFICATION_SEND_FAILEDPush通知送信失敗SendNotificationMetaQuotes ID、通知設定、通信状態を確認Experts / Journal
4516 / ERR_NOTIFICATION_WRONG_PARAMETER通知パラメータ不正空文字、NULL、長すぎる通知通知本文、文字数、空値を確認Experts
4517 / ERR_NOTIFICATION_WRONG_SETTINGS通知設定不備Push通知未設定端末オプション、通知許可、MetaQuotes IDを確認Journal
4518 / ERR_NOTIFICATION_TOO_FREQUENT通知送信が多すぎる連続通知、複数EA稼働通知間隔、重複送信、throttle設計を確認Experts
4513 / ERR_TERMINAL_WRONG_PROPERTY端末プロパティID不正TerminalInfo系取得関数とプロパティ種別を確認Experts

取引・口座・プロパティ関連エラー

コード / 定数名意味出やすい場面最初に確認すること関連ログ
4701 / ERR_ACCOUNT_WRONG_PROPERTY口座プロパティID不正AccountInfo系AccountInfoInteger / Double / Stringの使い分けを確認Experts
4751 / ERR_TRADE_WRONG_PROPERTY取引プロパティID不正Order / Position / Dealプロパティ取得対象がOrderかPositionかDealかを確認Experts
4752 / ERR_TRADE_DISABLEDEAによる取引が禁止EA注文時自動売買ボタン、EA個別許可、口座側制限を確認Experts / Journal
4753 / ERR_TRADE_POSITION_NOT_FOUNDポジションが見つからない決済、トレール、ポジション管理チケット、銘柄、Magic Number、既に決済済みか確認Experts
4754 / ERR_TRADE_ORDER_NOT_FOUND注文が見つからない未決注文変更・削除注文チケット、履歴移動、状態変化を確認Experts
4755 / ERR_TRADE_DEAL_NOT_FOUND約定履歴が見つからない履歴集計、損益集計HistorySelect範囲、対象期間、Deal ticketを確認Experts
4756 / ERR_TRADE_SEND_FAILED取引リクエスト送信失敗OrderSendMqlTradeRequest、retcode、Journalログを確認Experts / Journal
4758 / ERR_TRADE_CALC_FAILED利益または証拠金計算失敗OrderCalcMargin、OrderCalcProfit銘柄、価格、ロット、口座通貨、symbol選択を確認Experts

インジケーター・バッファ関連エラー

コード / 定数名意味出やすい場面最初に確認すること関連ログ
4601 / ERR_BUFFERS_NO_MEMORYインジケーターバッファ用メモリ不足多バッファインジ、長期履歴バッファ数、描画対象、履歴量を確認Experts
4602 / ERR_BUFFERS_WRONG_INDEXバッファ番号不正SetIndexBuffer、CopyBufferバッファ番号、宣言数、読み取り先を確認Experts
4801 / ERR_INDICATOR_UNKNOWN_SYMBOLインジケーター対象銘柄不明iCustom、別銘柄インジ参照銘柄名、サフィックス、Market Watch表示を確認Experts
4802 / ERR_INDICATOR_CANNOT_CREATEインジケーター作成失敗iCustom、標準インジ作成インジ名、パラメータ、ファイル配置を確認Experts
4806 / ERR_INDICATOR_DATA_NOT_FOUND要求データが見つからないCopyBuffer、初回起動、履歴不足必要バー数、BarsCalculated、履歴取得状態を確認Experts
4807 / ERR_INDICATOR_WRONG_HANDLEインジケーターハンドル不正CopyBuffer、IndicatorRelease後handle作成結果、INVALID_HANDLE、解放済み参照を確認Experts
4808 / ERR_INDICATOR_WRONG_PARAMETERSインジ作成時のパラメータ数不正iCustom、IndicatorCreateInputs数、型、順序、MQL4/5差異を確認Experts
4812 / ERR_INDICATOR_WRONG_INDEX要求したバッファインデックス不正CopyBuffer、EAからサインインジ読み取りバッファ番号、BUY/SELL別バッファ、値なし表現を確認Experts

ファイル・ディレクトリ関連エラー

コード / 定数名意味出やすい場面最初に確認すること関連ログ
5001 / ERR_TOO_MANY_FILES同時に開けるファイル数超過CSV出力、ログ分割、複数EAFileClose漏れ、同時出力数を確認Experts
ERR_WRONG_FILENAMEファイル名不正CSV、ログ、設定ファイル禁止文字、パス、拡張子、空文字を確認Experts
ERR_CANNOT_OPEN_FILEファイルを開けないFileOpen、CSV読み書きFilesフォルダ、権限、パス、共有モードを確認Experts / Journal
ERR_INVALID_FILEHANDLEファイルハンドル不正FileRead、FileWrite、FileCloseFileOpen結果、INVALID_HANDLE、Close済みか確認Experts
ERR_FILE_NOT_EXISTファイルが存在しない設定ファイル、CSV、外部読込MQL5\Files、Common Files、ファイル名を確認Experts
ERR_DIRECTORY_NOT_EXISTディレクトリが存在しないフォルダ分割保存、ログ保存フォルダ作成、相対パス、Common指定を確認Experts
ERR_FILE_WRITEERRORファイル書き込み失敗CSV保存、ログ保存、VPS権限、容量、ファイルロック、FileFlushを確認Experts / Journal

文字列・配列関連エラー

コード / 定数名意味出やすい場面最初に確認すること関連ログ
ERR_STRINGPOS_OUTOFRANGE文字列位置が範囲外StringSubstr、URL加工、CSV解析文字列長、開始位置、検索結果-1を確認Experts
ERR_WRONG_STRING_PARAMETER文字列パラメータ不正String系関数空文字、NULL、長さ、開始位置を確認Experts
ERR_INCOMPATIBLE_ARRAYS配列の互換性不一致ArrayCopy、型違い配列配列型、次元、AS_SERIESを確認Experts
ERR_SMALL_ARRAY配列が小さすぎるCopyBuffer、CopyRates、参照位置指定戻り値、取得本数、添字を確認Experts
ERR_ZEROSIZE_ARRAYサイズ0配列初期化前配列、取得失敗後参照ArraySize、取得結果、空配列処理を確認Experts
ERR_NUMBER_ARRAYS_ONLY数値配列のみ許可統計処理、配列関数配列型、関数仕様を確認Experts

WebRequest・ネットワーク関連エラー

コード / 定数名意味出やすい場面最初に確認すること送ってはいけない情報
ERR_WEBREQUEST_INVALID_ADDRESSURL形式不正Webhook、GAS URL、API通信URL形式、空白、改行、全角文字を確認Webhook URL、GAS URLの実値
ERR_WEBREQUEST_CONNECT_FAILED接続失敗外部通信、VPS、API接続ネットワーク、VPS通信、SSL、外部サービス状態を確認APIキー、認証トークン
ERR_WEBREQUEST_TIMEOUTタイムアウト外部API、GAS、重い処理timeout、外部サービス応答、送信間隔を確認URL実値、token
ERR_WEBREQUEST_REQUEST_FAILEDHTTPリクエスト失敗Discord通知、Google Sheets連携HTTPステータス、payload、許可URL、Expertsログを確認Webhook URL、GAS URL、APIキー
ERR_NETSOCKET_CANNOT_CONNECTソケット接続失敗独自TCP連携、外部Agent連携接続先、ポート、ファイアウォール、VPS通信を確認認証情報、接続先秘密情報
ERR_NETSOCKET_HANDSHAKE_FAILEDハンドシェイク失敗SSL/TLS、Socket通信証明書、プロトコル、接続先仕様を確認証明書秘密鍵、token

取引サーバーリターンコード一覧|TRADE_RETCODE系

TRADE_RETCODE系は、注文や決済のリクエストに対して取引サーバーから返る結果です。正常系のコードも含まれるため、コードが出たからといってすべてがエラーとは限りません。

注文成功・処理完了を示すコード

コード定数名意味出やすい場面EA利用者向け確認MQL5開発者向け確認
10008TRADE_RETCODE_PLACED注文が出された未決注文、注文配置取引タブで注文状態を確認order ticket、request内容をログ化
10009TRADE_RETCODE_DONEリクエスト完了成行注文、決済、変更成功約定・決済結果を履歴で確認deal / order、price、volume、commentを確認
10010TRADE_RETCODE_DONE_PARTIAL一部のみ完了部分約定、大口注文残数量と約定数量を確認volume、残注文、後続処理を確認
10025TRADE_RETCODE_NO_CHANGESリクエストに変更なしSL/TP変更、注文変更変更前後の値が同じか確認Normalize後の価格、既存値との差分を確認

注文条件不備を示すコード

コード定数名意味出やすい場面EA利用者向け確認MQL5開発者向け確認
10013TRADE_RETCODE_INVALIDリクエストが無効OrderSend全般EA設定、銘柄、注文種別を確認MqlTradeRequestの必須項目、action、typeを確認
10014TRADE_RETCODE_INVALID_VOLUMEロット条件が無効新規注文、一部決済最小ロット、最大ロット、volume stepを確認NormalizeVolume、SYMBOL_VOLUME_*、丸め処理を確認
10015TRADE_RETCODE_INVALID_PRICE価格が無効指値、逆指値、価格指定注文注文価格、現在価格、銘柄桁数を確認Bid / Ask、NormalizeDouble、digitsを確認
10016TRADE_RETCODE_INVALID_STOPSSL/TPなどのstop条件が無効注文、SL/TP変更SL/TP距離、stop level、freeze levelを確認SYMBOL_TRADE_STOPS_LEVEL、価格距離、digitsを確認
10022TRADE_RETCODE_INVALID_EXPIRATION注文有効期限が無効未決注文、有効期限付き注文有効期限設定を確認type_time、expiration、サーバー時間を確認
10030TRADE_RETCODE_INVALID_FILL注文執行タイプが無効成行注文、銘柄仕様違い口座・銘柄で許可される執行方式を確認type_filling、SYMBOL_FILLING_MODEを確認
10035TRADE_RETCODE_INVALID_ORDER注文タイプが不正または禁止未決注文、銘柄制限注文タイプが使える銘柄か確認ORDER_TYPE、SYMBOL_ORDER_MODEを確認

ロット・証拠金・価格に関するコード

コード定数名意味出やすい場面EA利用者向け確認MQL5開発者向け確認
10004TRADE_RETCODE_REQUOTEリクオート価格変動が大きい時発生時刻、spread、価格変化を確認deviation、再試行条件、Bid / Ask更新を確認
10019TRADE_RETCODE_NO_MONEY資金不足を示す可能性新規注文有効証拠金、ロット、銘柄条件を確認OrderCalcMargin、margin mode、volumeを確認
10020TRADE_RETCODE_PRICE_CHANGED価格が変化成行注文、急変時約定時刻、spread、価格変化を確認再取得価格、deviation、リトライ設計を確認
10021TRADE_RETCODE_PRICE_OFF処理可能なクォートがない休場、低流動性、接続不安定銘柄配信、取引時間、接続状態を確認SymbolInfoTick、last tick、Market Watchを確認
10034TRADE_RETCODE_LIMIT_VOLUME銘柄の注文・ポジション数量上限複数ポジション、大口注文保有数量、未決注文、銘柄上限を確認SYMBOL_VOLUME_LIMIT、合計volumeを確認
10038TRADE_RETCODE_INVALID_CLOSE_VOLUME決済数量が保有数量を超過一部決済、複数決済現在ポジション数量、決済数量を確認Position volume、volume step、丸め処理を確認

自動売買許可・取引権限に関するコード

コード定数名意味出やすい場面EA利用者向け確認MQL5開発者向け確認
10017TRADE_RETCODE_TRADE_DISABLED取引が無効注文送信時銘柄・口座の取引可否を確認SYMBOL_TRADE_MODE、AccountInfoを確認
10026TRADE_RETCODE_SERVER_DISABLES_ATサーバー側で自動売買無効EA注文時口座・サーバー側制限を確認サーバー制限時のログ分岐を確認
10027TRADE_RETCODE_CLIENT_DISABLES_ATクライアント端末側で自動売買無効EA注文時MT5上部の自動売買ボタン、EA個別許可を確認TerminalInfoInteger、MQLInfoIntegerの許可状態を確認
10032TRADE_RETCODE_ONLY_REALリアル口座のみ許可される操作口座種別制限デモ / リアルの違いを確認AccountInfo、処理分岐、ログ説明を確認
10042TRADE_RETCODE_LONG_ONLYロングのみ許可売り注文、銘柄制限銘柄の取引ルールを確認symbol trade mode、注文方向制限を確認
10043TRADE_RETCODE_SHORT_ONLYショートのみ許可買い注文、銘柄制限銘柄の取引ルールを確認注文方向制限の判定を確認
10044TRADE_RETCODE_CLOSE_ONLY決済のみ許可新規注文停止中の銘柄新規注文可否、銘柄状態を確認新規注文と決済処理の分岐を確認

サーバー・市場状態に関するコード

コード定数名意味出やすい場面EA利用者向け確認MQL5開発者向け確認
10006TRADE_RETCODE_REJECTリクエスト却下注文条件・サーバー判断Journalログ、注文条件、サーバー応答を確認retcode、comment、request内容をログ化
10011TRADE_RETCODE_ERROR処理エラー注文処理全般再現条件、発生時刻、Journalログを確認request / result / commentを記録
10012TRADE_RETCODE_TIMEOUTタイムアウトでキャンセル接続不安定、サーバー応答遅延接続状態、VPS、発生時刻を確認再試行設計、OrderSendAsync設計を確認
10018TRADE_RETCODE_MARKET_CLOSED市場が閉まっている取引時間外銘柄の取引時間、サーバー時間を確認取引時間判定、Session情報を確認
10024TRADE_RETCODE_TOO_MANY_REQUESTSリクエスト頻度が高すぎる連続注文、連続変更短時間に同じ操作が連続していないか確認throttle、処理間隔、重複送信防止を確認
10031TRADE_RETCODE_CONNECTION取引サーバーへ未接続接続断、VPS、回線不安定MT5接続状態、VPS通信、Journalログを確認接続状態チェックと送信前ガードを確認

ポジション・決済制約に関するコード

コード定数名意味出やすい場面EA利用者向け確認MQL5開発者向け確認
10029TRADE_RETCODE_FROZEN注文またはポジションが凍結変更・決済制限freeze level、銘柄状態を確認SYMBOL_TRADE_FREEZE_LEVEL、変更距離を確認
10036TRADE_RETCODE_POSITION_CLOSED指定ポジションは既に決済済み決済処理、複数EA、遅延処理取引履歴、現在ポジションを確認PositionSelect、ticket更新、履歴移動を確認
10039TRADE_RETCODE_CLOSE_ORDER_EXIST指定ポジションに既存の決済注文があるヘッジ口座、一部決済、反対注文未決注文と対象ポジションを確認既存close order、volume合計を確認
10040TRADE_RETCODE_LIMIT_POSITIONS保有ポジション数上限複数EA、複数銘柄、口座制限保有数、未決注文数、口座制限を確認Netting / Hedging差、上限到達時の分岐を確認
10045TRADE_RETCODE_FIFO_CLOSEFIFOルールによる決済制限特定口座での決済口座ルール、決済順を確認ACCOUNT_FIFO_CLOSE、決済対象選択を確認
10046TRADE_RETCODE_HEDGE_PROHIBITED反対ポジションが禁止ヘッジ制限口座同一銘柄の反対方向注文可否を確認ACCOUNT_MARGIN_MODE、既存ポジション方向を確認

MetaEditorのコンパイルエラー一覧

MetaEditorのコンパイルエラーは、数値コードよりも表示メッセージ、対象ファイル、行番号、列番号を見て確認します。表示行だけでなく、直前の行や前後の括弧不整合が原因になることがあります。

表示メッセージ意味出やすい場面最初に確認すること依頼時に送る情報
undeclared identifier未定義の変数・関数・定数変数名ミス、include不足、削除済み関数参照スペル、宣言位置、スコープ、include対象ファイル、行番号、前後のコード
wrong parameters count関数呼び出しの引数数が不一致MQL4からMQL5移行、関数定義変更関数定義、引数数、引数型、オーバーロード呼び出し行、関数定義、関連include
cannot convert enumenum型の変換不一致時間足、注文種別、プロパティ指定型、MQL5定数、キャスト、関数引数該当行、変数型、使用定数
semicolon expectedセミコロン不足行末、変数宣言、関数呼び出し直前行、括弧、文字列の閉じ忘れエラー行と直前数行
unexpected token想定外の記号や構文括弧崩れ、全角記号、貼り付けミスif / for / 関数ブロック、引用符、全角文字直前に変更した範囲
unbalanced parentheses括弧対応不整合関数、if文、for文、配列添字波括弧、丸括弧、角括弧の対応関数全体または変更ブロック
include file not foundincludeファイル不足mqh参照、別PC移行、フォルダ不足Includeフォルダ、相対パス、関連mqhmq5本体と関連mqh一式
unknown symbol 0xFEFFBOMまたは不可視文字混入ファイル先頭、コピー貼り付けUTF-8 BOMなし保存、不可視文字除去該当ファイル、1行目、保存形式
array out of range配列範囲外参照CopyBuffer結果不足、bar参照、ループArraySize、戻り値、添字、bars数ログ、対象配列、該当ループ
zero divide0除算平均計算、比率計算、価格差計算分母が0になる条件、初期値、データ不足計算式、入力値、発生ログ

WebRequest・Webhook・Google Sheets連携のエラー一覧

表示 / HTTPコード意味出やすい場面確認すること送ってはいけない情報
WebRequest not allowedMT5でURL許可がないDiscord、GAS、API通信MT5オプションのWebRequest許可URLWebhook URL、GAS URLの実値
ERR_WEBREQUEST_INVALID_ADDRESSURL形式不正Webhook、GAS URLURL形式、空白、改行、全角文字URL実値
ERR_WEBREQUEST_CONNECT_FAILED接続失敗VPS、外部API、SSLネットワーク、VPS通信、外部サービス状態APIキー、token
ERR_WEBREQUEST_TIMEOUTタイムアウト外部API応答遅延、GAS処理遅延timeout、外部処理時間、再試行設計URL実値、認証情報
ERR_WEBREQUEST_REQUEST_FAILEDHTTPリクエスト失敗Webhook、Sheets、API通信HTTPステータス、payload、ExpertsログWebhook URL、GAS URL、APIキー
HTTP 400リクエスト形式不正Webhook payload、JSONJSON形式、必須項目、文字コードtoken、URL実値
HTTP 401認証エラーAPI通信、外部認証認証方式、token、期限、権限APIキー、認証トークン
HTTP 403権限不足GAS、API、Sheets共有権限、公開範囲、実行権限GAS URL、APIキー
HTTP 404URL不正または接続先なしWebhook削除、GASデプロイ差し替えURL、deployment、接続先存在URL実値
HTTP 429リクエスト過多通知連打、複数EA通知送信間隔、通知抑制、throttleWebhook URL
HTTP 500外部サーバー側エラーGAS、API、Webhook側障害外部側ログ、発生時刻、再試行認証情報

WebRequest確認の補足:WebRequestを使う場合は、MT5の「オプション」→「エキスパートアドバイザ」タブで、通信先URLを許可リストへ追加する必要があります。また、WebRequestはインジケーターからは呼び出せず、Strategy Testerでも実行できません。EA本体の判定、通知処理、外部通信処理は分けて確認してください。

バックテスト・ストラテジーテスター関連エラー一覧

表示・症状意味出やすい場面最初に確認すること関連ログ
テストが開始できないEA配置、設定、銘柄、期間に問題がある可能性Strategy Tester開始時EAコンパイル、symbol、期間、モデル、setを確認Tester / Journal
ヒストリカルデータ不足テストに必要な過去データが不足長期BT、初回BTヒストリー取得、期間、時間足、データ欠損を確認Tester / Journal
銘柄が見つからないsymbol名やサフィックス不一致他社口座、別PC、VPSMarket Watch、チャート左上、サフィックスを確認Tester / Experts
取引が発生しない条件未成立または取引制限BT結果、検証初期EAログ、spread、取引時間、初期設定、フィルターを確認Experts / Tester
外部連携がテスターで動かないTester制約またはWebRequest設定の影響通知EA、Sheets連携EATester時分岐、代替ログ、WebRequest許可を確認Experts / Tester
最適化で結果が出ない条件未成立、探索範囲、設定不備Optimizationパラメータ範囲、step、取引数、set、期間を確認Tester
バックテストが重いログ量、描画、外部連携、tick処理が重い可能性長期BT、最適化ログ出力頻度、Object操作、Print量、OnTick処理を確認Tester / Experts
BTとリアルの結果が違う価格配信、spread、約定、外部連携、時間基準が違う可能性検証後の実運用比較テスト条件、サーバー時間、spread、取引制限、ログbasisを確認Tester / Experts / Journal

エラー別に最初に見るログ

エラー種別最初に見るログ追加で見る場所整理する情報
EA起動エラーExpertsログチャート右上、InputsEA名、version、set、初期化ログ
注文エラーExpertsログJournalログ、取引タブretcode、symbol、lot、price、Magic Number
外部連携エラーExpertsログWebRequest設定、外部サービス側HTTPコード、発生時刻、送信先種別
コンパイルエラーMetaEditorのエラー欄対象mq5 / mqh、includeファイル名、行番号、エラー全文
バックテストエラーTesterログExperts、JournalEA名、set、symbol、期間、spread
インジケーター取得エラーExpertsログData Window、インジ設定、チャート表示iCustom handle、CopyBuffer戻り値、buffer index、shift
ファイル操作エラーExpertsログMQL5\Files、Common Files、Tester FilesFileOpen戻り値、ファイル名、保存先、FILE_COMMON指定
チャート表示エラーExpertsログObject List、チャート表示、Journalobject name、object type、subwindow、z-order、OnChartEvent

EA利用者向けの確認ポイント

EA利用者がMQL5コードを直接確認しない場合でも、エラー調査で整理できる情報があります。

確認項目利用者が確認できる内容開発者へ伝えるとよい情報
EA名・インジ名設置しているファイル名と表示名対象ファイルを特定するため
バージョンEAログや商品名に表示される版古い版・別版との混同を防ぐため
発生日時エラーが出た日時Expertsログ、Journalログ、取引履歴と照合するため
銘柄・時間足チャート左上のsymbol、M1/M5/M15など銘柄仕様、履歴データ、時間足条件を確認するため
エラー表示コード番号、定数名、メッセージ全文原因調査の入口として使うため
ExpertsログEA・インジ側の出力ログ直前処理、エラーコード、retcode、関数名を確認するため
JournalログMT5端末側のログ注文、接続、端末状態、テスター状態を確認するため
スクリーンショットチャート、Experts、Journal、設定画面状態を視覚的に確認するため

MQL5開発者向けの確認ポイント

MQL5開発者は、エラーコードを出すだけでなく、どの責務で失敗したかをログで分けると調査しやすくなります。

責務確認する内容推奨ログ例
signal売買条件・インジサイン・時間足basisSIGNAL_CONTEXT、BAR_BASIS、COPYBUFFER_READ
executionOrderSend、CTrade、retcode、request/resultORDER_SEND、ORDER_RESULT、TRADE_RESULT
riskロット、証拠金、最大ポジション数、スプレッドLOT_CHECK、MARGIN_CHECK、SPREAD_CHECK
exit決済、SL/TP変更、トレール、部分決済EXIT_CHECK、POSITION_CLOSE、SLTP_MODIFY
external controlWebRequest、外部API、CSV、GAS、WebhookWEBREQUEST_RESULT、HTTP_STATUS、EXT_CONTROL
notificationDiscord、Push通知、メール通知NOTIFY_SEND、NOTIFY_THROTTLE、HTTP_RESPONSE
ui / objectObjectCreate、ボタン、ラベル、OnChartEventOBJECT_CREATE、BUTTON_CLICK、EVENT_ROUTE

特に注文エラーでは、signalが成立したかEA側が発注を止めたのかOrderSendを実行したのか取引サーバーが拒否したのかを分けて記録します。

問い合わせ前に整理する情報

情報必要性注意点
EA名 / インジ名対象特定ファイル名だけでなく表示名もあるとよい
バージョン差分確認可能ならログ上のversionも確認
発生日時ログ追跡PC時刻とサーバー時刻がずれる場合がある
銘柄名symbol差分確認サフィックスも含めて記録する
時間足再現条件チャート時間足とEA内設定が異なる場合がある
setファイル設定確認個人情報やtokenが含まれないか確認
ExpertsログEA側エラーエラー前後を含める
JournalログMT5端末側エラー注文、接続、Tester関連に有効
スクリーンショット状態確認口座番号、URL、APIキーを隠す
再現手順原因確認何を押したか、どの設定で発生したかを順番に書く

開発依頼前の資料整理は、次のページも参考にしてください。

MT5開発依頼前に用意する資料まとめ

送ってはいけない情報

エラー確認では、ログやスクリーンショットが重要です。ただし、以下の情報はそのまま送らないでください。

  • 口座番号の全桁
  • 投資家パスワード
  • マスターパスワード
  • Webhook URLの実値
  • GAS URLの実値
  • APIキー
  • 認証トークン
  • 個人情報
  • 未加工の口座履歴画像
  • 第三者の個人情報が入ったログ
  • 顧客情報や販売先情報
  • 実運用成績の詳細データ

ログを送る場合は、必要な箇所を残しつつ、口座番号、URL、APIキー、トークン、個人情報をマスクしてください。

MT5 / MQL5エラー確認チェック表

  • □ エラーが出た場所を確認した
  • □ エラーコードまたは定数名を控えた
  • □ エラーメッセージ全文を控えた
  • □ Expertsログを確認した
  • □ Journalログを確認した
  • □ MetaEditorのエラー欄を確認した
  • □ 発生時刻を記録した
  • □ EA名・インジ名・バージョンを記録した
  • □ 銘柄名、時間足、口座種別を記録した
  • □ 使用したsetファイルを保存した
  • □ 直前に変更した設定を整理した
  • □ スクリーンショットを保存した
  • □ Webhook URLやAPIキーをマスクした
  • □ 口座番号や個人情報を隠した
  • □ 同じエラーが再現するか確認した
  • □ GetLastError系かTRADE_RETCODE系かを分けて確認した
  • □ Order / Position / Deal / Historyのどこで発生したかを確認した

次に読む技術講座

この講座とあわせて確認すると、MT5・MQL5開発、検証、不具合調査の流れを整理しやすくなります。

講座確認できること
技術講座一覧MT5・MQL5・EA開発に関する技術講座を順番に確認できます。
MQL5開発入門MQL5開発全体の基本構造、EA・インジケーター開発の入口を確認できます。
MQL5関数辞書関連関数の役割を確認できます。
MQL5注文・ポジション・履歴管理完全ガイド注文・ポジション・履歴関連の確認へ進めます。
MQL5デバッグ・ログファースト開発完全ガイドログファーストで原因を追う方法を確認できます。
MQL5 WebRequest・JSON・外部API実装完全ガイドWebRequest・HTTPステータス系の確認へ進めます。

次に確認するページ

ページ確認できること
EAのログを問い合わせ前に確認する方法Expertsログ、Journalログ、スクリーンショット、再現手順の整理方法を確認できます。
MT5開発依頼前に用意する資料まとめ開発依頼前に整理する資料、ログ、設定ファイル、再現情報を確認できます。

FAQ

この辞典だけでMQL5の仕様をすべて判断できますか?

いいえ。この辞典は、MQL5のエラーコードやエラーメッセージを実務上確認しやすく整理した記事です。最終的な仕様確認は、公式リファレンス、MetaEditorのコンパイル結果、Expertsログ、Journalログ、実際の動作結果を合わせて確認してください。

公式リファレンスとこの記事は何が違いますか?

公式リファレンスは、エラーコードや定数の仕様確認に向いています。この記事では、EA開発や不具合調査で見落としやすい「出る場面」「最初に確認すること」「関連ログ」「問い合わせ前に整理する情報」を中心に補足しています。

エラーコードだけで原因を断定できますか?

断定できない場合があります。エラーコードは原因確認の入口です。実際には、発生関数、対象銘柄、時間足、入力値、Expertsログ、Journalログ、MetaEditorのエラー欄、取引サーバー応答を合わせて確認する必要があります。

EA利用者でも確認すべき項目はありますか?

あります。EA名、バージョン、発生日時、銘柄、時間足、Expertsログ、Journalログ、スクリーンショット、setファイル、エラー前後の操作を整理しておくと、原因確認が早くなります。

開発依頼前にどの情報を整理すればよいですか?

EA名、バージョン、対象銘柄、時間足、発生日時、エラーコード、エラーメッセージ、Expertsログ、Journalログ、MetaEditorエラー欄、setファイル、再現手順、スクリーンショットを整理してください。Webhook URL、APIキー、認証トークン、口座番号などは必ずマスクしてください。

ExpertsログとJournalログのどちらを確認すべきですか?

両方確認するのが基本です。ExpertsログではEAやインジケーター内部の処理、GetLastError、retcode、判定ログを確認できます。Journalログでは端末側、注文送信、接続状態、Strategy Tester、サーバー応答に関する補足情報を確認できます。

WebRequest関連エラーでは何を確認すべきですか?

WebRequest許可URL、送信先URLの形式、HTTPステータス、payload、timeout、外部サービス側の権限、VPS通信状態を確認します。ただし、Webhook URL、GAS URL、APIキー、認証トークンの実値は公開ログや問い合わせ文に含めないでください。

TRADE_RETCODE_INVALID_FILLが出た場合は何を確認すべきですか?

銘柄が対応しているfilling modeと、EA側で指定しているtype_fillingを確認します。SymbolInfoIntegerでSYMBOL_FILLING_MODEを確認し、ORDER_FILLING_FOK、ORDER_FILLING_IOC、ORDER_FILLING_RETURNのどれが使えるかを確認してください。

unknown symbol 0xFEFFとは何ですか?

UTF-8 BOMや不可視文字がソースコードに混入している時に出ることがあります。特にファイル先頭やコピペ直後に発生しやすいため、UTF-8 BOMなしで保存し直す、不可視文字を削除する、該当ファイルの先頭行を確認する、といった対応が必要です。

この記事にない項目はどのように確認すればよいですか?

まず公式リファレンス、MetaEditorのコンパイル結果、Expertsログ、Journalログ、取引タブ、履歴タブ、Strategy Testerログを確認してください。EA固有の仕様が関係する場合は、対象ファイル、バージョン、設定値、再現手順、ログを整理して確認すると原因を追いやすくなります。

開発依頼・不具合調査前の確認:エラーが出た場合は、コード番号だけで判断せず、GetLastError系かTRADE_RETCODE系か、コンパイルエラーか、WebRequest/HTTP系か、Strategy Tester関連かを先に分けてください。そのうえで、Expertsログ、Journalログ、MetaEditorエラー欄、発生時刻、EA名、銘柄、時間足、setファイル、再現手順を整理してください。

MT5開発依頼前に用意する資料まとめ

関連するMQL5技術辞典

MQL5のエラーを確認する時は、エラーコードだけでなく、どの関数・取引処理・時系列取得・ファイル操作・外部連携で発生しているかを分けて確認することが重要です。

関連するMQL5技術辞典もあわせて確認してください。

技術辞典確認できる内容リンク
MQL5関数辞典EA・インジケーター開発で使う主要関数を、イベント関数、注文関数、ポジション関数、時系列取得、ファイル操作、WebRequest、標準ライブラリなどに分けて確認できます。MQL5関数辞典
MQL5注文関数・取引構造体辞典OrderSend、OrderCheck、MqlTradeRequest、MqlTradeResult、TRADE_RETCODEなど、注文処理と取引結果確認に関する内容を確認できます。MQL5注文関数・取引構造体辞典
MQL5ポジション・注文・約定・履歴用語辞典Order、Position、Deal、History、ticket、magic、commentなど、取引管理で混同しやすい用語を確認できます。MQL5ポジション・注文・約定・履歴用語辞典
MQL5インジケーター関数辞典iCustom、CopyBuffer、SetIndexBuffer、OnCalculate、IndicatorRelease、buffer index、shiftなどを確認できます。MQL5インジケーター関数辞典
MQL5時系列・価格取得関数辞典CopyRates、CopyClose、iClose、iTime、SymbolInfoDouble、TimeCurrentなど、価格・ローソク足・時刻取得に関する関数を確認できます。MQL5時系列・価格取得関数辞典
MQL5ファイル操作関数辞典FileOpen、FileRead、FileWrite、FileClose、FILE_COMMON、CSV出力、ログ保存に関する内容を確認できます。MQL5ファイル操作関数辞典
MQL5チャートオブジェクト辞典ObjectCreate、ObjectSetInteger、ObjectSetString、OBJ_LABEL、OBJ_BUTTON、OnChartEventなど、チャート表示やパネルUIに関する内容を確認できます。MQL5チャートオブジェクト辞典
MQL5列挙型・定数辞典ENUM_TIMEFRAMES、ENUM_ORDER_TYPE、ORDER_FILLING、POSITION_TYPE、SymbolInfo系定数などを確認できます。MQL5列挙型・定数辞典
MQL5標準ライブラリ辞典CTrade、CPositionInfo、COrderInfo、CDealInfo、CSymbolInfo、CAccountInfoなど、標準ライブラリの主要クラスを確認できます。MQL5標準ライブラリ辞典

確認ポイント:エラー確認では、GetLastErrorだけで原因を断定せず、関数の戻り値、TRADE_RETCODE、Expertsログ、Journalログ、対象symbol、timeframe、ticket、magic、buffer番号、HTTPステータスなどを合わせて確認してください。

まとめ

MQL5のエラー確認では、コード番号だけではなく、エラーの種類と発生場所を分けることが重要です。

GetLastError系ランタイムエラー、TRADE_RETCODE系取引リターンコード、MetaEditorコンパイルエラー、WebRequest/HTTP系エラー、Strategy Tester関連エラーは、それぞれ確認場所と原因の切り分け方が異なります。

不具合調査や開発依頼を行う場合は、Expertsログ、Journalログ、MetaEditorエラー欄、発生時刻、EA名、バージョン、銘柄、時間足、setファイル、再現手順を整理してください。APIキー、認証トークン、Webhook URL、口座番号などの機密情報は、必ずマスクして扱ってください。

ABOUT ME
記事URLをコピーしました