
MT4 MT4 取引エラー
134
- 定数名
ERR_NOT_ENOUGH_MONEY- メッセージ
not enough money- 意味
- 証拠金が不足している
MT4エラー134とは
注文に必要な証拠金が、口座の余剰証拠金より多いときのエラーです。ロット数が大きすぎるか、すでに多くのポジションを持っていることが原因です。バックテストで出る場合は初期証拠金の設定も確認します。
ログの表示例
OrderSend error 134
「エキスパート」タブまたは「操作履歴」タブに表示されます。数値や表記の細部は、ビルド・ブローカー・EAの作りによって異なります。
MT4エラー134の主な原因
- ロット数が口座残高に対して大きすぎる
- 保有ポジションが多く、余剰証拠金が残っていない
- ナンピン・マーチンゲールでロットが膨らんだ
- バックテストの初期証拠金が少ない、または通貨設定が違う
- ロット計算の間違いで想定の10倍・100倍のロットになっている
MT4エラー134の対処法
- 発注前に AccountFreeMarginCheck(Symbol(), OP_BUY, ロット) で残りの証拠金を確認し、0 以下なら発注しない
- ロットの上限を決め、残高に対してロットを計算する
- バックテストでは「エキスパート設定」の初期証拠金と通貨を確認する
コード例(MQL4)
// 発注前に証拠金が足りるか確認する(MQL4)
bool HasEnoughMargin(int type, double lots)
{
double freeAfter = AccountFreeMarginCheck(Symbol(), type, lots);
if(freeAfter <= 0 || GetLastError() == 134)
{
Print("証拠金不足のため発注しません。ロット=", lots, " 余剰証拠金=", AccountFreeMargin());
return false;
}
return true;
}MetaEditor(MT4)でコンパイルできることを確認済みです。自分のEAに組み込むときは、変数名や設定値を合わせてください。












