コンテンツにスキップ

デモ口座で稼働中!マーチンゲール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倍 です。

YAML
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取引にはリスクが伴います。実際の運用は自己責任で行ってください。バックテスト結果は将来の成績を保証するものではありません。


関連用語


前後の記事

前: ゼロカットがないと始まらない ― マーチンゲールEA運用にXMTradingを選んだ理由

— SPONSORED —