
MT5 MT5 実行時エラー
5203
- 定数名
ERR_WEBREQUEST_REQUEST_FAILED- 意味
- WebRequest の HTTP リクエストが失敗した
MT5エラー5203とは
WebRequest() で外部サーバーに送ったHTTPリクエストが失敗したときのエラーです。URL・ヘッダー・送信データの形式や、接続先サーバーの状態を確認します。
ログの表示例
WebRequest failed, error 5203
「エキスパート」タブまたは「操作履歴」タブに表示されます。数値や表記の細部は、ビルド・ブローカー・EAの作りによって異なります。
MT5エラー5203の主な原因
- URL のスキーム(https://)やポートが間違っている
- POST するデータの文字コードや Content-Type ヘッダーが正しくない
- 接続先サーバーがエラーを返した、または接続を拒否した
- SSL証明書の問題
MT5エラー5203の対処法
- URL をブラウザで開いて、接続先が応答するか確認する
- ヘッダーの末尾に "\r\n" を付け、Content-Type を指定する
- 送信データは StringToCharArray(文字列, 配列, 0, WHOLE_ARRAY, CP_UTF8) で作り、末尾の 0 を取り除く
- URL が許可リストにないときは 4014 になるので、あわせて確認する
コード例(MQL5)
// WebRequest で JSON を POST する(4014・5203 対策)(MQL5)
// 事前に ツール → オプション → エキスパートアドバイザ → 許可するURLリスト に URL を追加する
bool PostJson(const string url, const string json, string &response)
{
char data[], result[];
string resHeaders;
int len = StringToCharArray(json, data, 0, WHOLE_ARRAY, CP_UTF8);
ArrayResize(data, len - 1); // 末尾の 0 を送らない
string headers = "Content-Type: application/json\r\n";
ResetLastError();
int status = WebRequest("POST", url, headers, 5000, data, result, resHeaders);
if(status == -1)
{
int err = GetLastError();
Print("WebRequest error ", err, (err == 4014 ? ":URL が許可リストにありません" : ""));
return false;
}
response = CharArrayToString(result, 0, WHOLE_ARRAY, CP_UTF8);
return status == 200;
}MetaEditor(MT5)でコンパイルできることを確認済みです。自分のEAに組み込むときは、変数名や設定値を合わせてください。












