俺はIB EAで目が覚めた
FXを始めたばかりの頃、IB EAを使っていた。
口座開設のキャッシュバック目的で配られるやつ。無料だし、最初は「タダで自動売買できるなんて最高じゃん」くらいに思っていた。
実際、最初は勝っていた。毎日コツコツ利益が積み上がる。「EAってすごいな」と素直に思った。
ある日、チャートを開いたらポジションが5つ、6つ、7つ……と増え続けていた。
「あれ、なんでこんなに持ってるんだ?」
含み損がどんどん膨らんでいく。決済される気配がない。ロットも最初より明らかに大きくなっている。
そこでようやく気づいた。これ、ナンピンマーチンじゃん。
コツコツ積み上げた利益が、1回の逆行で全部持っていかれた。
でも当時の自分には、それを「事前に見抜く方法」がなかった。EAのコードは.ex4で暗号化されていて中身は読めない。販売ページには「独自アルゴリズム」としか書いてない。Myfxbookの勝率は95%で、見た目は完璧だった。
成績表は嘘をつける。でも、取引履歴は嘘をつけない。
あの時、取引履歴を統計的に分析できるツールがあったら、「これはナンピンマーチンだ」と一発で分かったはずだ。ロットが倍々に膨らんでいるパターン、逆行するたびに一定間隔でポジションを追加するパターン——全部、履歴に残っているんだから。
だから作った。
TradeLogic Scanner ── 取引履歴からEAの頭の中を逆算する
MT4/MT5の口座履歴HTMLをドラッグ&ドロップするだけ。EAが実際にやっていることを統計的に丸裸にするWindowsアプリ。
やることはシンプル。ファイルを放り込む。数秒待つ。レポートが出る。これだけ。
何が分かるのか
エントリー条件の推定
取引のタイミングで、移動平均線(SMA/EMA 5〜200)、RSI、ボリンジャーバンド、ATRがどうなっていたかを全パターン計算する。「RSI(14)が32以下かつ価格がSMA(200)の下にある時にBUYしている確率78%」みたいな具体的な数字が出る。
ナンピン・グリッド構造の完全解析 ナンピンの有無だけじゃない。トリガーが固定pipsなのかATR連動なのか、ロット倍率はマーチンか均等か、決済は一括か個別か、最大何段まで積むのか。構造を丸ごと数値化する。
時間帯・曜日フィルターの検出 「ロンドン時間しかエントリーしない」「金曜は休み」みたいな偏りを、カイ二乗検定で統計的に判定する。
リスクプロファイリング エ クイティカーブの再構築、最大ドローダウン、リカバリーファクター、月別損益。5段階のリスクスコアを付ける。
ロジック変更の検出 EAがアップデートでロジックを変えた場合、取引パターンの統計的な変化を検出する。「前半と後半で平均保有時間に有意差あり」みたいなやつ。
出力はHTMLレポート
ブラウザで開くだけ。Plotly付きのインタラクティブなグラフで、スクロールしながら全部見れる。Pythonとかプログラミングの知識はいらない。
対応環境
Windows 10/11(64bit)MT4の口座履歴HTML、MT5の口座履歴HTML/Excelに対応exe単体で動くインストール不要
使い方(3ステップ)
① MT4/MT5で口座履歴をHTMLで保存する ② TradeLogicScanner.exeを起動する ③ ファイルをウィンドウにドラッグ&ドロップ終わり
同じフォルダにレポートHTMLが生成される。
よくある質問
Q. EAの.ex4/.ex5ファイルを解析するの? 違う。EAのプログラムファイルには一切触れない。MT4/MT5が出力する取引履歴だけを使う。取引結果のパターンからロジックを推定するアプローチだから、法的にも問題ない。
Q. 自分の裁量トレードの履歴でも使える? 使える。自分の取引パターンを客観的に見直すのにも向いている。
Q. Macで使える? 今はWindows専用。MacならParallelsかBootCampで。
Q. 分析結果は100%正確? 統計的推定であって、EAのコードを完全に再現するものじゃない。「この条件を使っている可能性が高い」という確度の情報を出す。
注意事項
本ツールは取引履歴の統計分析に基づく戦略の推定を行うもの。実際のEAロジックとは異なる場合がある。分析結果に基づく投資判断については一切責任を負わない。
EAのバイナリの逆コンパイルやリバースエンジニアリングは一切行っていない。ユーザー自身の取引履歴と公開市場データのみを使用。
TradeLogic Scanner v1.1 アップデート内容
モンテカルロシミュレーション【新機能】
取引履歴の損益データをもとに、取引順序を数千パターン並び替えてシミュレーションを実行する機能を搭載しました。
バックテストやフォワードの結果は「たまたまその順番で取引が並んだ結果」に過ぎません。もし取引の順番が違っていたら、ドローダウンはどこまで膨らんでいたのか。モンテカルロシミュレーションはその「もしも」を1,000〜5,000パターン検証し、確率分布として可視化します。
具体的に算出される指標は以下の通りです。
ドローダウン確率分布 — 最大ドローダウンがどの程度の確率で発生するかをP50・P75・P90・P95・P99のパーセンタイルで表示します。「バックテストでは20%だったが、95%信頼区間では45%まであり得る」といった判断が可能になります。
破産確率 — ユーザーが設定した許容ドローダウン(デフォルト50%)を超えるシミュレーション結果の割合を算出します。併せてバルサラの破産確率も計算し、勝率・ペイオフレシオ・リスク許容度の3要素から理論的な破産リスクを提示します。
信頼区間付きエクイティバンド — 全シミュレーションの各ステップにおけるP5〜P95の範囲を帯グラフで表示します。実際のエクイティカーブがこの帯のどこに位置するかで、現在の成績が統計的に「普通」なのか「異常」なのかを判断できます。
連敗・連勝分布 — シミュレーション全体で発生した最大連敗・連勝回数の分布を表示します。バックテストでは5連敗が最大だったEAでも、確率的には8〜9連敗が起こり得ることが分かります。
Runs Test(取引の独立性検定) — 取引結果に統計的な依存性(勝ちの後に勝ちやすい、負けの後に負けやすい等)があるかをZ スコアで判定します。依存性が検出された場合は警告を表示し、モンテカルロ結果の解釈に注意が必要であることを明示します。
手法はリシャッフル(非復元抽出)とリサンプリング(ブートストラップ)の2種類から選択でき、試行回数もGUIから500・1,000・5,000回を指定できます。
ナンピン逆行シミュレーション【強化】
ナンピンEAを運用する上で最も重要な「相場が逆行し続けたらどうなるか」を具体的な数値で可視化する機能を強化しました。
従来は固定ロットでの想定でしたが、v1.1では実際の取引データから検出されたナンピン段数・ロット倍率を反映し、逆行幅に応じてポジション数とロットサイズが段階的に増加する現実的なシミュレーションを行います。
例えば逆行100pipsでは1ポジション0.01ロットだったものが、300pipsで2ポジション合計0.03ロット、500pipsで3ポジション合計0.07ロットと膨らんでいく過程と、各時点での含み損を一覧表示します。
ナンピン分析の精度向上【強化】
ナンピンの段数間隔やロット倍率の分析に、平均値だけでなく中央値を併記するようにしました。
ナンピンEAでは相場状況によって段数間隔やロット増加率にばらつきが出ます。平均値だけでは一部の極端な値(外れ値)に引きずられるため、中央値を併せて表示することでより実態に近い数値を把握できます。平均と中央値の乖離が大きい場合は外れ値の存在を示す注記も表示されます。
ゴールド・CFD銘柄対応【強化】
XMのマイクロ口座(GOLDmicro)やExnessのセント口座(XAUUSDc)など、ブローカー固有のサフィックスが付いたシンボル名を自動的に標準シンボルに変換する機能を追加しました。
これにより、シンボル名が原因でエントリー分析(市場データとの照合)がスキップされていた問題が解消されます。対応ブローカーは XM・Exness・FXGT・TitanFX・BigBoss・HFM・Vantage Trading 等の主要海外FX業者をカバーしています。
また、ゴールドなどCFD銘柄のpips計算で桁数がずれる問題を修正しました。従来142,376.3pipsと表示されていたものが142.4pipsと正しく表示されます。
マイクロ口座・セント口座への注記表示【新機能】
マイクロ口座やセント口座の履歴を分析した際、レポート内の損益・含み損の数値がスタンダード口座基準で計算されている旨の注記を自動表示するようにしました。マイクロ口座では実際の金額は表示値の約1/100となります。
その他の改善
SELL方向の利確pips表示を修正 — SELL取引の利確pipsがマイナス値で表示されていた問題を修正しました。
RSI分析が空の場合の対応 — RSIに有意な偏りが検出されなかった場合、空のテーブルではなく「有意な偏りは検出されませんでした」というメッセージを表示するようにしました。
未決済ポジションを含むデータへの対応 — 未決済ポジションや特殊行で日時データが空のまま処理に入りエラーが発生する問題を修正しました。
多様なファイル形式への堅牢性向上 — Shift_JISやEUC-JPなど日本語エンコーディングのファイル、カンマ区切りの数値、空白行を含むデータなど、様々な形式の履歴ファイルを安定して読み込めるよう内部処理を強化しました。
