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

エラー134(ERR_NOT_ENOUGH_MONEY)― 証拠金が足りない|MQLエラーコード

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関連するエラー

REI-FX&BO OFFICIAL LINE

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

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

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

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