MQL4MQL5 EA(エキスパートアドバイザー) 資金管理・リスク

損失が一定を超えたら EA を止めたい

結論:有効証拠金が開始時の残高の◯%を下回ったら新規注文をやめ、必要なら ExpertRemove() で EA を外します。

考え方

EA の暴走や想定外の相場から口座を守るため、「有効証拠金が一定以上減ったら止める」安全装置を付けておくと安心です。ここでは、EA を入れたときの残高を基準に、有効証拠金が指定%を下回ったらアラートを出して ExpertRemove() で EA を止める例にしています。止める前にポジションを決済したい場合は「全ポジションを決済する」レシピを組み合わせます。

  1. OnInit() で基準になる残高を記録する
  2. OnTick() で有効証拠金を基準と比べる
  3. 下回ったらアラートを出し、ExpertRemove() で EA を外す

そのまま使えるコード

MetaEditor の「新規作成」で「エキスパートアドバイザ(テンプレート)」を選び、できたファイルの中身をすべてこのコードに置き換えてコンパイル(F7)します。ファイルは Experts フォルダに保存され、ナビゲーターからチャートにドラッグして使います。

MQL4・MQL5 共通

#property strict
// 有効証拠金が基準から一定%減ったら EA を止める安全装置
input double InpMaxLossPct = 20;   // 許容する減少(%)

double baseBalance = 0;

int OnInit()
{
   baseBalance = AccountInfoDouble(ACCOUNT_BALANCE);
   return INIT_SUCCEEDED;
}

void OnTick()
{
   double equity = AccountInfoDouble(ACCOUNT_EQUITY);
   double limit  = baseBalance * (1.0 - InpMaxLossPct / 100.0);
   if(equity < limit)
   {
      Alert("有効証拠金が ", DoubleToString(equity, 0), " まで減ったため EA を停止します");
      ExpertRemove();   // この OnTick() が終わったあと、EA がチャートから外れる
      return;
   }

   // ここに通常の売買の処理を書く
}

MT4 版・MT5 版とも MetaEditor でコンパイル(エラー・警告なし)を確認済みです。実際の口座で使う前に、デモ口座やストラテジーテスターで動作を確かめてください。

カスタマイズのポイント

  • ターミナルを再起動しても基準が変わらないようにしたいときは、基準の残高をグローバル変数(GlobalVariableSet)に保存します。
  • 日ごとの損失で止めたいときは「今日の損益を計算する」レシピの結果と比べます。

注意点

  • ExpertRemove() は EA を止めるだけで、ポジションは決済しません。

このコードで使っている関数

あわせて読みたいレシピ

「資金管理・リスク」のレシピ一覧

← MQL逆引き辞典で、ほかのやりたいことを探す

サイバーシグナルインジケーターと8大特典プレゼント

MT4/MT5自動売買EAサイバーラッシュ無料プレゼント

MT4/MT5自動売買EAサイバードラゴン無料プレゼント

グルグルトレイン(グルトレ)EAを無料プレゼント

ライントレードEAサイバートレナビを無料プレゼント

ゴトー日の東京仲値が狙える自動売買EA

LINE友だち追加

注目記事ランキング

  1. 1

    【サクソバンクチャート】月曜日の早朝から動く為替レート

  2. 2

    【MT4/MT5対応】チャート上に手書きできる描画インジケーターの無料配布

  3. 3

    【サンデーダウ・サンデードル円】土日に動く中東レートの表示方法と見方を解説

  4. 4

    【先着50名】グルトレEAを無料プレゼントしています!

  5. 5

    保護中: 【勝率UP!】曜日や日・月別為替相場の動きでFXを見極める

  6. 6

    【MT4/MT5対応】「sign_alert」シグナルアラートやメール送信するインジケーターの無料配布

  7. 7

    無料メールマガジン「マナブ式FX」|毎朝6時、今日の為替相場予想が届く

  8. 8

    【原油・金】WTIとゴールドの商品レート一覧と見やすいチャート

  9. 9

    VQインジケーターとは?MT4/MT5版を無料配布【設定例つき】

  10. 10

    【バイナリーオプション攻略法】全勝!+497,363円の利益が出た手法とは?

TOP
CLOSE