コンテンツにスキップ

デモ口座で稼働中!マーチンゲールEAの全仕様を公開

この記事の3行まとめ

  • 🤖 実際にデモ口座で毎日動いているマーチンゲールEAの設計を全公開
  • 🐊 エントリーはアリゲーター × ハーストフィルターの二重判定
  • 💰 利益抜き取り機能で「壊れても勝つ」を自動化

はじめに ― 理論から実践へ

実験#01では「壊れても勝つ」マーチンゲール戦略の設計思想を、実験#02ではXMTradingを選んだ理由を書きました。

今回はいよいよ、実際にデモ口座で動かしているEAの仕様を全て公開したいと思います。

ソースコードの公開について

今回の記事は設計仕様の解説に特化しています。
ソースコード(MQL5ファイル)は、もう少し運用データを蓄積してから後日公開予定です。
お楽しみに!


EA全体像 ― 5つのモジュール

このEAは、5つの要素が連携して動いています。

flowchart TD
    A["🐊 アリゲーター<br/>(エントリー判定)"] --> B{"🔬 ハーストフィルター<br/>H ≤ 0.48 ?"}
    B -->|Yes| C["📈 新規エントリー<br/>(L1: 0.05ロット)"]
    B -->|No| D["⏸️ 見送り<br/>(トレンド相場と判断)"]
    C --> E{"📊 含み損が拡大?<br/>PIPステップ到達?"}
    E -->|Yes| F{"🔬 ハースト<br/>H ≤ 0.70 ?"}
    F -->|Yes| G["🔄 ナンピン追加<br/>(L2→L3→L4)"]
    F -->|No| H["⏸️ ナンピン停止"]
    E -->|No| I{"✅ 利確条件?"}
    I -->|Yes| J["💰 全決済<br/>→ 利益抜き取りチェック"]
    I -->|No| K{"⚠️ ハースト ≥ 0.80<br/>× 3本連続?"}
    K -->|Yes| L["🚨 緊急対応<br/>(停止 / 全決済 / ヘッジ)"]
    K -->|No| E
    G --> I

それぞれのモジュールを詳しく見ていきます。


第1章:エントリーロジック ― アリゲーターの「口開き」を狙う

なぜアリゲーターなのか

エントリーの判定には、ビル・ウィリアムズのアリゲーター・インジケーターを使っています。

このインジケーターは、3本の移動平均線(SMMA)で構成されていて、それぞれに面白い名前がついています。

ライン 期間 シフト イメージ
🟦 ジョー(顎) 13 8 長期トレンド(ゆっくり動く)
🟥 ティース(歯) 8 5 中期トレンド
🟩 リップス(唇) 5 3 短期トレンド(素早く反応)

アリゲーターが「口を開ける」=3本のラインが広がる瞬間が、トレンドの始まりとされています。

エントリー条件

買いシグナル(アップトレンド):

  1. リップス(緑) > ティース(赤) > ジョー(青)の順に並ぶ
  2. 前のバーではこの並び順ではなかった(=クロスした瞬間)
  3. 口の開き(3本の最大値 - 最小値)が 3pips以上

売りシグナル(ダウントレンド):

上の逆(リップス < ティース < ジョー、かつクロスした瞬間)

なぜ「口の開き」を条件に入れたのか

3本のラインが密集している状態(アリゲーターの眠り)でクロスしても、それはダマシになりやすいと考えました。ラインがしっかり広がっている = 相場にモメンタムがある時だけエントリーするようにしています。

決済条件(単独ポジション時)

マーチンゲールが無効の場合(テスト用)の決済方式です:

条件 設定値
利確(TP) 40 pips
損切り(SL) 25 pips
クロス決済 リップスとティースが逆クロスで決済

ただし、マーチンゲールモードでは個別のTP/SLは使わず、バスケット(全体)単位で管理しています。


第2章:ハーストフィルター ― 「今の相場はレンジか?」を数値で判断

3段階のフィルター

実験#01でも紹介したハースト指数を、このEAでもフィルターとして組み込んでいます。

段階 ハースト閾値 判定 EAの動作
🟢 エントリー許可 H ≤ 0.48 レンジ相場 新規エントリーOK
🟡 ナンピン許可 H ≤ 0.70 中程度のトレンドまで ナンピン追加OK
🔴 緊急対応 H ≥ 0.80 × 3本連続 強いトレンド 緊急モード発動

計算の設定

パラメータ 設定値
計算時間足 H1(1時間足)
計算期間 100本
計算手法 R/S分析(対数リターンベース)

エントリーの閾値を0.48にしているのは、実験#01で検証した結果、この値が「レンジ相場の可能性が高い」と判定できるラインだったためです。


第3章:4レベルマーチンゲール設計

ロットとPIPステップの全体像

このEAの心臓部です。最大4レベルまでのナンピンを行います。

レベル ロットサイズ PIPステップ 累計ロット
L1 0.05 0.05
L2 0.07 20 pips 0.12
L3 0.11 40 pips 0.23
L4 0.16 80 pips 0.39

ロット倍率:1.5倍

各レベルのロットは前レベルの 1.5倍 です。

Text Only
L1: 0.05
L2: 0.05 × 1.5¹ = 0.075 → 0.07(切り捨て)
L3: 0.05 × 1.5² = 0.1125 → 0.11
L4: 0.05 × 1.5³ = 0.1687 → 0.16

2倍にすると攻撃的すぎて資金効率が悪くなり、1.2倍だと回収力が弱い。1.5倍が個人的にちょうどいいバランスだと感じています。

PIPステップ:2倍ずつ拡大

ナンピンの間隔はレベルが深くなるほど広くなります。

Text Only
L1→L2: 20 pips(小さな押し目で拾う)
L2→L3: 40 pips(中程度の調整を待つ)
L3→L4: 80 pips(大きな逆行でのみ追加)

固定間隔(例:全レベル20pips)だと、一方向の相場で連続してナンピンが発動してしまいます。2倍ずつ広げることで、深いレベルほど慎重にエントリーする設計にしています。

動的テイクプロフィット

ポジション数に応じてTPを変えるのが、このEAの特徴の一つです。

ポジション数 TP 考え方
1ポジ 30 pips 余裕があるので大きめに狙う
2ポジ 25 pips やや絞る
3ポジ 20 pips 含み損があるので早めに回収
4ポジ 15 pips 最大リスク。最速で脱出

利確判定は加重平均価格ベースで行っています。全ポジションの加重平均エントリー価格から、現在価格がTP分だけ有利に動いたら一括決済します。


第4章:リスク管理 ― 3つの安全装置

① バスケットストップロス(残高の100%)

全ポジションの合計含み損が、口座残高の100%に達したら強制全決済します。

Text Only
例:残高100,000円の場合
  → 合計含み損が -100,000円 に達したら全決済

実質的にはゼロカットと同等の設定ですが、EA側でも損失を管理していることが重要です。ゼロカットに頼りきりにせず、自分で損切りラインを明確にしておくことで、想定外の動作を防いでいます。

② 緊急対応モード(ハースト ≥ 0.80)

ハースト指数が0.80を3本連続で超えた場合、強いトレンドが発生していると判断して緊急対応を行います。

3つのモードから選択可能です:

モード 動作 使い分け
ナンピン停止 追加ポジションを止め、反転を待つ デフォルト。最も保守的
全決済 損失を確定して撤退 確実にリスクを断ちたい時
ヘッジ 反対方向に同ロットで両建て 損失を凍結し、戻りを待つ

現在のデモ口座ではナンピン停止モードで運用しています。

③ 最大ポジション制限(4レベル)

L4が最大です。これ以上のナンピンは行いません。実験#01のレベルテストで「90%以上のサイクルがL3以内で収まる」という結果が出ていたので、L4で制限をかけています。


第5章:利益抜き取りメカニズム ― 「壊れても勝つ」の自動化

仮想出金のしくみ

実験#01で最も伝えたかった「利益抜き取り戦略」。このEAでは、それを自動的にシミュレーションしています。

flowchart LR
    A["実残高<br/>130,000円"] --> B["累計出金<br/>20,000円"]
    B --> C["仮想残高<br/>110,000円"]
    C --> D{"仮想残高 ≥<br/>初期資金 + 出金単位?<br/>110,000 ≥ 110,000?"}
    D -->|Yes| E["🎉 出金実行!<br/>+10,000円"]
    D -->|No| F["待機"]

計算ロジック

項目 計算式
仮想残高 実残高 − 累計出金額
出金トリガー 仮想残高 ≥ 初期資金(10万円)+ 出金単位(1万円)
出金額 1万円ずつ

つまり、バックテスト上の残高が膨らんでも、「本当に自分のポケットに入る利益」だけをカウントする仕組みです。

なぜ「仮想」出金なのか

バックテストでは実際に出金できないため、仮想的に出金をシミュレーションしています。リアル運用では、この仮想出金のタイミングに合わせて実際に出金を行います。

チャート上のリアルタイム表示

EAは常にチャート上に以下の情報を表示しています:

  • 累計出金額と出金回数
  • 未出金利益(仮想残高 − 初期資金)
  • ★総合利益(出金済み + 未出金利益)
  • 現在のマーチンゲールレベルとサイクル数

第6章:全パラメータ一覧

現在のデモ口座で使用しているパラメータの一覧です。

アリゲーター設定

パラメータ 説明
Jaw_Period 13 ジョー(青)期間
Jaw_Shift 8 ジョーシフト
Teeth_Period 8 ティース(赤)期間
Teeth_Shift 5 ティースシフト
Lips_Period 5 リップス(緑)期間
Lips_Shift 3 リップスシフト

ハーストフィルター設定

パラメータ 説明
UseHurstFilter true ハーストフィルター有効
HurstTimeframe H1 1時間足で計算
HurstPeriod 100 計算期間100本
MaxEntryHurst 0.48 エントリー許容最大値
MaxMartingaleHurst 0.70 ナンピン許容最大値

緊急対応設定

パラメータ 説明
UseEmergencyExit true 緊急対応有効
EmergencyAction ナンピン停止 緊急時の動作
EmergencyExitHurst 0.80 トリガーとなるハースト値
EmergencyPersistenceBars 3 連続判定バー数

マーチンゲール設定

パラメータ 説明
LotSize 0.05 基本ロット(プランB)
MaxPositions 4 最大4レベル
Lot_Multiplier 1.5 ロット倍率
BasePipStep 20.0 基本PIPステップ(2倍ずつ拡大)
Max_Basket_Loss_Percent 100.0 バスケットSL(残高の100%)

動的テイクプロフィット設定

パラメータ
TP_Level1_Pips 30.0
TP_Level2_Pips 25.0
TP_Level3_Pips 20.0
TP_Level4_Pips 15.0

利益抜き取り設定

パラメータ 説明
InitialCapital 100,000 初期資金(円)
WithdrawUnit 10,000 出金単位(円)

エントリー・決済設定

パラメータ 説明
Wait_Open_Mouth true 口の開きを待つ
Min_Spread_Pips 3.0 最小口の開き(pips)
TakeProfit_Pips 40.0 個別TP(非マーチンゲール時)
StopLoss_Pips 25.0 個別SL(非マーチンゲール時)
Exit_On_Cross true クロスで決済

まとめ:「設計する」ことの大切さ

今回の記事では、実際にデモ口座で動いているEAの仕様を全て公開しました。

改めて整理すると、このEAの設計思想は3つの柱で成り立っています:

役割 具体的な実装
🐊 エントリー判定 有利な局面だけで勝負する アリゲーター + ハーストフィルター
🔄 ポジション管理 リスクをコントロールしながらリカバリー 4レベルマーチンゲール + 動的TP
💰 利益管理 壊れる前に利益を確保する 利益抜き取りシミュレーション

マーチンゲールEAは「設計」次第で、ギャンブルにもなるし、戦略にもなり得ると思います。

コード公開について

ソースコードはもう少し運用データを蓄積してから公開予定です。
運用結果の推移も今後のデモトレード実験記録で報告していきますので、お楽しみに!

次回以降は、このEAのデモ口座での運用成績や、別の海外FXブローカー「TitanFX」の紹介も予定しています。


実験#01 マーチンゲールEA戦略を読む 実験#02 XMTradingを選んだ理由を読む


関連記事


⚠️ 免責事項: 本記事の内容は個人の研究・検証結果に基づく考察であり、投資助言ではありません。FX取引にはリスクが伴います。実際の運用は自己責任で行ってください。バックテスト結果は将来の成績を保証するものではありません。