RA Mean Reversion Portfolio
RA Mean Reversion Portfolio は、MetaTrader 5 用のマルチカレンシー EA です。2つの通貨ペアで
統計的に行き過ぎた日足の値動きを探し、そうした動きは直近の平均へ回帰しやすいという前提で取引
します。2つのペアは1つのチャートから取引され、1つのリスク上限で1つのポートフォリオとして管理
されます。すべての取引には保護的なストップロスが設定されます。
戦略タイプ:D1 のマルチカレンシー・ポートフォリオ型平均回帰(設計上は逆張り)。
この EA は D1 のみで動作し、1シンボルにつき1ポジションのみを保持し、グリッド・ナンピン・
マーチンゲールは使用しません。
特長
- シンプルで完全に決定論的なロジック。シグナルは日足終値の z スコアであり、すべての判断を
ユーザー自身が再計算して検証できます。隠れた適応的要素はありません。
- 1つのポートフォリオ、1つのリスク上限。1取引あたりのリスクは固定で、ポートフォリオ全体の
リスクには上限があり、同時保有数も制限されます。
- 相関フィルター。既に保有しているポジションと相関が高いペアの新規取引はリスク半減で執行され、
そのような相関ポジションが2つある場合は新規エントリーが禁止されます。
- すべての取引にストップロスを設定し、エントリー時の ATR から計算します。ストップロスは決して
拡大されず、出口ルールを妨げるテイクプロフィットもありません。
- リスク超過よりも見送り。計算した数量がブローカーの最小ロットを下回る場合、その取引は開かれ
ません。
- 保護モジュール。エクイティのピークからのドローダウンが深い場合や、当日の損失が大きい場合は
新規エントリーを停止します。
- ストップロス後のクールダウン。ストップロス発生後、EA は待機し、z スコアがエントリー閾値の
内側に戻ることを条件に再び取引します。
- ブローカーに優しい設計。プレフィックスやサフィックス付きのシンボル名は自動的に照合され、
注文ごとに有効証拠金を確認し、netting 口座と hedging 口座の両方で動作します。
- CSV 取引ジャーナル。決済されたすべての取引を、方向・価格・z スコア・損益・決済理由とともに
ファイルへ記録し、独立した検証ができます。
- 入力パラメータ名およびプログラムの出力メッセージはすべて英語です。
動作の仕組み
各シンボルについて、EA はローリングウィンドウ上で日足終値の対数の z スコアを計算します。
z =(終値の対数 - ウィンドウ平均)/ ウィンドウ標準偏差
既定のウィンドウは45本の日足で、シグナルを発生させた足は含めません。したがってすべての計算は
確定した足に基づき、シグナルは再描画されません。
- z が +2.0 より大きい場合、そのペアは上方向に行き過ぎと判断し、EA は売ります。
- z が -2.0 より小さい場合、そのペアは下方向に行き過ぎと判断し、EA は買います。
- z が 0 に戻ったとき、最大保有時間(25本の日足)に達したとき、またはストップロスにより
ポジションを決済します。
ストップロスの距離はエントリー時の ATR(14) に 1.5 を掛けた値です。数量はこの距離と設定した
リスク率から、シンボルのティックバリューとティックサイズを用いて計算します。
リスク管理
- 1取引あたりのリスク:既定では口座残高の 0.3%。
- 保有ポジション全体のリスク:既定では残高の 1.5%。
- 同時保有数の上限:既定では3。
- 緊急保護:エクイティのピークからのドローダウンが 15% を超える間、または当日の損失が 3% に
達した後は、新規エントリーを禁止します。
- 保有ポジションは常に自身のルールで管理されます。保護モジュールは新規エントリーを止めるだけ
です。
対応シンボルと口座
- 既定のシンボル:D1 の EURGBP と AUDUSD。パラメータを調整・検証した2ペアです。
- 他の通貨ペアも入力パラメータで指定すれば取引されますが、モデルはそれらに最適化されていません。
- シンボル名は英字と数字のみで照合されるため、EURGBP、EURGBP.a、EURGBPm なども自動的に
見つかります。指定したシンボルが口座に1つも存在しない場合、EA はチャートのシンボルで取引を
続け、起動を拒否しません。
- 口座:netting と hedging の両方に対応します。1シンボルにつき1ポジションを開き、それぞれの
チケットで決済し、マジックナンバーでフィルタリングするため、手動取引や他の EA のポジション
には影響しません。
- 時間足:任意の D1 チャートに EA をアタッチしてください。取引するペアは入力パラメータから
取得します。
この EA が行わないこと
- グリッド、ナンピン、マーチンゲール、損失後のロット増加は行いません。
- トレーリングストップや建値移動は使用しません。ストップロスはエントリー時に設定され、そのまま
維持されます。
- テイクプロフィットはありません。出口は z スコアの回帰、最大保有時間、またはストップロスです。
- ニュースや経済カレンダーのフィルターはありません。
- マルチタイムフレームのロジックはありません。モデルは D1 のみで動作します。
- 同じシンボルで既存ポジションと反対方向のポジションを開くことはありません。
動作要件
- MetaTrader 5。ターミナルで自動売買を有効にし、EA に取引を許可してください。
- 推奨入金額:5000 USD/EUR 以上。以下のテストは 10000 EUR で実施しました。残高の 0.3% が最小
ロット 0.01 をカバーできない場合、EA はその取引を見送ります。これらのペアの典型的な日足 ATR
ストップでは、その閾値は EURGBP で約 2900 EUR、AUDUSD で約 4400 USD です。
- レバレッジ:1:30 以上で十分です。利用可能な証拠金のごく一部しか使用しません。
- 価格履歴:各シンボルにつき日足47本以上。相関フィルターは90本を使用します。
テスト結果
以下の数値は MetaTrader 5 ストラテジーテスター(build 6241)の既定設定で取得したもので、過去の
シミュレーション結果であり実際の取引結果ではありません。
- 期間:2020.01.01 - 2026.10.09(約 6.75 年)
- シンボル:EURGBP D1 と AUDUSD D1(1つの EURGBP D1 チャートから取引)
- モデル:every tick、入金 10000 EUR、レバレッジ 1:100
- 純損益:+887.09 EUR(最終残高 10887.09 EUR)
- 取引数:124、プロフィットファクター 1.59、勝率 約57%
- 最大残高ドローダウン:1.58%(174 EUR)、最大エクイティドローダウン:1.78%(197 EUR)
- 1取引あたりのシャープレシオ:1.13
- AUDUSD:65取引、+272 EUR、プロフィットファクター 1.30
- EURGBP:58取引、+610 EUR、プロフィットファクター 2.06
- 年別:2020 +98.66 EUR(17取引)、2021 +219.40(18)、2022 +147.65(18)、
2023 +329.10(20)、2024 +41.47(20)、2025 +130.26(19)、2026 09.10まで -85.25(11)
この数値の見方
- 結果は時間的に均等ではありません。最も良い年(2023)が全体の約3分の1を占め、2024年はほぼ
横ばい、進行中の2026年はマイナスです。平均回帰モデルはレンジ相場で最も機能し、強いトレンド
では成績が悪化すると見込まれます。
- テストはテスター口座のスプレッド履歴・スワップ・手数料設定を使用しています。ブローカーが
変われば結果も変わります。
- バックテスト結果および過去の実績は将来の成果を保証するものではありません。
入力パラメータ
ポートフォリオ:
- InpPairs = EURGBP,AUDUSD - 取引するシンボル(カンマ区切り)
- InpMaxPositions = 3 - 同時保有数の上限
- InpRiskPct = 0.3 - 1取引あたりのリスク(口座残高に対する%)
- InpMaxPortfolioRiskPct = 1.5 - 保有ポジション全体のリスク上限(残高に対する%)
相関モジュール:
- InpUseCorr = true - 相関フィルターを有効化
- InpCorrWindow = 90 - 相関ウィンドウ(日足本数)
- InpCorrMax = 0.7 - 新規エントリーのリスクを半減させる相関閾値
コア(D1 の z スコア):
- InpZWin = 45 - z スコアのウィンドウ(日足本数)
- InpEntry = 2.0 - |z| のエントリー閾値
- InpExitZ = 0.0 - ポジションを決済する z の水準
- InpMaxHold = 25 - 最大保有時間(日足本数)
- InpATRPeriod = 14 - ストップロスに使う ATR 期間
- InpATRMult = 1.5 - ストップロスに使う ATR 倍率
保護:
- InpMaxDDStopPct = 15.0 - エクイティのピークからのドローダウンがこの%を超えると新規
エントリーを禁止
- InpDailyLossStopPct = 3.0 - 当日の損失がこの%を超えると新規エントリーを禁止
- InpSLCooldownBars = 5 - ストップロス後の待機(日足本数、0 = 無効)
サービス:
- InpRequireNeutralReset = true - ストップロス後は |z| がエントリー閾値の内側に戻るまで待機
- InpMagic = 1544010 - マジックナンバー(チャートごとに一意である必要があります)
- InpSlippage = 30 - 許容スリッページ(ポイント)
- InpJournal = true - 取引ジャーナルを CSV に出力
- InpJournalFile = AI_Portfolio_trades.csv - ジャーナルのファイル名
- InpJournalCommon = false - ジャーナルをターミナルデータフォルダではなく共有フォルダへ出力
インストール
1. Market から EA をインストールするか、ファイルをターミナルの Experts フォルダにコピーします。
2. 任意の D1 チャートにアタッチし、EA に自動売買を許可します。
3. ターミナルで自動売買が有効になっていることを確認します。
4. 「エキスパート」ログを確認します。起動時に、解決されたシンボル、口座のマージンモード、有効な
設定が出力されます。
免責事項
金融市場での取引には損失のリスクがあります。
本 EA は定義された取引ロジックを実装したものであり、市場を予測するものではなく、いかなる利益も
約束するものではありません。
MetaTrader 5 ストラテジーテスターで得られた結果は過去のシミュレーション結果であり、実際の取引
結果ではありません。
過去の実績は将来の成果を保証するものではありません。
実口座で使用する前にデモ口座で製品をテストし、失っても問題のない資金のみで運用してください。