MQL4 よく見るエラーコードERR_REQUOTE
目次
エラー138ERR_REQUOTE ― 価格が動いて約定できなかった
送った注文の価格が、サーバー側の現在値からもう離れてしまい、その価格では約定できなかったときに出る(いわゆるリクオート)。
1主な原因
- 値動きが速い時間帯(指標発表直後等)に発注した
- Slippage(許容ずれ幅)を0など厳しい値にしていた
- 処理に時間がかかり、その間に価格が動いた
2対処法
✓ 許容ずれ幅を持たせ、取り直して再試行する
OrderSendのslippage引数を0にせず、数pips分の余裕を持たせる。それでも失敗したらRefreshRatesで最新値を取り直し、数回までリトライする作りにする。
3発生する例と直し方
// 悪い例:slippage=0で1回だけ送る bool ok = OrderSend(Symbol(), OP_BUY, 0.1, Ask, 0, 0, 0) > 0; // 直した例:許容ずれ幅を持たせ、失敗したら取り直して再試行 int ticket = -1; for(int i = 0; i < 3 && ticket < 0; i++) { RefreshRates(); ticket = OrderSend(Symbol(), OP_BUY, 0.1, Ask, 3, 0, 0); }
4MQL5では
🔁 差分
MQL5ではTRADE_RETCODE_REQUOTE(コード10004)。この状況自体はMQL4・MQL5どちらでも起こり得る。
5関連するエラー
ERR_OFF_QUOTES(136)ERR_PRICE_CHANGED(135)
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▼きょうの指標重要指標なし