MQL4 よく見るエラーコードERR_NOT_ENOUGH_MONEY
目次
エラー134ERR_NOT_ENOUGH_MONEY ― 証拠金が足りず発注できない
発注しようとしたロット数に対して、口座の証拠金が足りないときに出る。
1主な原因
- 証拠金維持率が低い状態で、さらに新規ポジションを持とうとした
- ロット数の計算式を誤っていて、意図よりずっと大きい数量になっていた
- レバレッジや契約サイズ(1ロットあたりの通貨量)を勘違いしていた
2対処法
✓ 発注前に必要証拠金を見積もる
MarketInfo(symbol, MODE_MARGINREQUIRED)で1ロットあたりの必要証拠金を調べ、AccountFreeMargin()と比べてからロット数を決める。
3発生する例と直し方
// 悪い例:見積もりせずに固定ロットで送る double lot = 1.0; int t = OrderSend(Symbol(), OP_BUY, lot, Ask, 3, 0, 0); // 直した例:必要証拠金と自由証拠金を先に比べる double marginPerLot = MarketInfo(Symbol(), MODE_MARGINREQUIRED); double lot2 = 1.0; if(marginPerLot * lot2 > AccountFreeMargin()) Print("証拠金不足のため発注を見送りました"); else int t2 = OrderSend(Symbol(), OP_BUY, lot2, Ask, 3, 0, 0);
4MQL5では
🔁 差分
MQL5ではTRADE_RETCODE_NO_MONEY(コード10019)。事前に見積もっておく考え方はMQL4のMarketInfo(MODE_MARGINREQUIRED)と同じで、MQL5ではOrderCalcMarginを使う。
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▼きょうの指標重要指標なし