MARKET
MT4ツールを、数字で作る。— Team REI|平日の朝に「相場分析」を更新しています|

GetLastError ― 直前の失敗の理由番号を調べる|MQL4/MQL5リファレンス

MQLリファレンス›関数エラー・診断GetLastError
(‘both’, ‘MQL4 / MQL5 両対応’)安全対策

GetLastError直前の失敗の理由番号を調べる

OrderSendやFileOpenなどが失敗したとき、なぜ失敗したかを表すエラー番号を返す。失敗を判定した直後に呼ぶのが鉄則。

1書式

int GetLastError();

書式はMQL4・MQL5で同じ。番号の意味は関数によって違う。

2引数

無し。

3戻り値

直前に起きたエラーの番号。エラーが無ければ0。

4使用例

int ticket = OrderSend(Symbol(), OP_BUY, 0.10, Ask, 5, sl, tp);
if(ticket < 0)
   Print("失敗しました err=", GetLastError());

MetaEditorでコンパイル0エラー・0警告を確認済み。

6よくある罠

⚠ 実務で踏んだもの
  • この関数は「直前に起きたエラー」しか覚えていない。失敗したその場ですぐ呼ばないと、別の処理のエラーに上書きされてしまう。
  • エラーが起きても、次に何かが成功するまで番号は残ったまま。「まだ古い番号が残っているだけ」を新しい失敗と勘違いしないよう、判定の直前にResetLastError()で0に戻しておくとより安全。

7関連する関数

REI-FX&BO OFFICIAL LINE

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

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

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

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