今回は載せなかった話です。13本目にしようとしたEAを、半日で打ち切りました。「多通貨の強さで売買する」というアイデアが、計算してみると「ドル円1本のモメンタム(勢い)」と同じものだった、という話です。負けたのではなく、そもそも新しいことをしていなかった。これは記録しておかないといけません。
きっかけ:移動平均線ではなく「通貨の強さ」で決めたい
今の12本は、ほとんどがドル円のチャート1枚だけを見て判断しています。移動平均線やボリンジャーバンド、値幅。全部「ドル円がどう動いたか」の言い換えです。そこで思いついたのが、円が強いのか、ドルが強いのかを、ほかの通貨ペアも見て判断するEAでした。
円の強さは、ユーロ円・ポンド円・豪ドル円など「クロス円」(ドル以外の通貨と円のペア)がそろって下がっていれば「円が全面的に買われている」と分かる。ドルの強さは、ユーロドル・ポンドドルなどが下がっていれば「ドルが全面的に買われている」と分かる。この2つをスコアにして、「ドル強・円弱」なら買い、「ドル弱・円強」なら売り。ドテン(反対売買)式で常に建玉を持つ。ロットは資金連動、情報パネルもいつも通り。Claude には「移動平均ではなく、通貨の強さそのものを軸にしてほしい」と伝えました。
午前:12ペアのデータを集めるところでつまずく
Claude はまず、13ペアの30分足を検証用のMT5から書き出そうとしました。ここで最初のトラブル。ドルスイスは検証端末に履歴がなく(「history synchronization error」で止まる)、スイス円は2025年末まで、ポンド円は2026年8月末までしかデータがない。多通貨EAは「参照している通貨ペアのデータが欠けていても、静かに間違った値を出す」ので、EA側に「古いデータのペアは計算から除外する」仕組みを入れることになりました。
それでも Python での事前分析は良く見えました。短期16本と長期64本の値動きを12ペアで平均したスコアで、2024年から2026年9月まで PF(プロフィットファクター、総利益÷総損失)1.29、+4,299pips、3年すべてプラス。パラメータを120通り変えても71通りが全年プラスで、「台地」(近くの設定でも成績が崩れない状態)が広い。MT5 で同じ条件を回しても1円単位の一致こそしませんが同じ成績で、リスク1%のロットなら通期 PF 1.49、+152万円。この時点で私は「いけそう」と思っていました。
午後:懐疑係が「式を展開してみた」
いつも通り、戦略係・検証係・懐疑係の3役で回しています。懐疑係の Claude がやったのは、成績の再計算ではなく、スコアの式を代数的に展開することでした。結果はこうです。
通貨の強さを「ほかの通貨に対する平均の値動き」と定義すると、どの通貨 X についても「ドル/X の値動き + X/円 の値動き = ドル/円 の値動き」が成り立ちます。ユーロ円はユーロドル×ドル円で決まる、という為替の三角関係です。すると、ドルの強さから円の強さを引いた瞬間、途中の通貨 X はすべて打ち消し合って、「ドル強さ − 円強さ」=「ドル円の値動き」になる。何ペア使っても、ドル円を計算から外しても、答えは同じです。実測でも、スコアとドル円の値動きの相関は 0.996 でした。

つまり、私が「多通貨の情報で判断している」と思っていたEAは、看板だけが多通貨で、中身はドル円のモメンタム順張りでした。ドル円1本の同じ計算と比べると、ポジションの一致率96%、月ごとの成績の差は統計的にゼロ(p値0.54、差があるとは言えない)。ついでに、単純な移動平均線クロス16/64で同じ期間を売買しても +4,266pips で、ほぼ同じ成績でした。
それでも多通貨に意味があるとしたら
「差」には情報が残らない。では、差を取らずに「ドルが全通貨に対して強いか」「円が全通貨に対して弱いか」を別々に使ったらどうか。これも検証しました。
| 売買の決め方 | 取引数 | PF | 損益(pips) | 年別(2024 / 2025 / 2026) |
|---|---|---|---|---|
| ドル強さ − 円強さ(当初案) | 490 | 1.29 | +4,299 | +1,390 / +1,630 / +1,279 |
| ドル円1本のモメンタム | 440 | 1.27 | +3,827 | +895 / +1,325 / +1,608 |
| ドル側の広がりだけ(ドル円を除外) | 291 | 1.50 | +6,003 | +1,504 / +4,553 / −54 |
| 円側の広がりだけ(ドル円を除外) | 434 | 0.97 | −439 | +1,277 / −2,644 / +928 |
| 両方が一致した時だけ | 211 | 1.28 | +2,976 | +1,427 / +683 / +866 |
| 7通貨をランク付けして上位と下位の時だけ | 397 | 1.27 | +3,546 | +675 / +975 / +1,896 |
意外だったのは円側です。クロス円が全面高でも全面安でも、ドル円の次の動きは当てられない(PF 1未満)。ドル側は効いているように見えますが、利益のほとんどが2025年の1年に集中していて、2026年はゼロ。1年で決まる成績は採用の根拠になりません。両方の一致やランク方式も、当初案を上回りませんでした。
加えて、ドル円モメンタムとしての弱点もそのまま持っています。上位10取引を除くと PF はほぼ1.0(大きなトレンドの月だけで稼ぐ順張りの典型)、選んだ設定は120通りの中の1位(尖った点で、台地の中央ではない)、前年の最適設定を翌年に当てはめると2025年は −1,044pips。
3つの選択肢と、打ち切りの判断
Claude からは3つ提示されました。A:このまま「ドル円モメンタム(通貨強さ表示付き)」として仕上げる。B:通貨強さ本来の使い方に切り替えて、毎回「最強通貨 vs 最弱通貨」のペアを選んで売買する(対象がドル円固定でなくなる)。C:打ち切って否定的結論を記録する。Claude の推奨は B でしたが、私は C を選びました。A は SmaFlip や ImpulseFlip と本質的に同じEAが1本増えるだけ。B は別のアイデアとして、改めて設計してから取り組みます。
かかった時間は半日。MT5 の検証ジョブは打ち切り時点でまだ何本か動いていましたが、結果は見ません。
今日の教訓
- 「Aの強さ − Bの強さ」で A/B のペアを売買する設計は、定義上 A/B のモメンタムに退化する。通貨強さを活かすなら、売買するペアを毎回選ぶ形にしないと多通貨の意味がない
- 成績が良く見えても「何を計算しているか」を式で確かめる。今回は懐疑係のこの一手が、バックテスト120本分より効いた
- 多通貨EAは、参照ペアのデータが欠けていると静かに狂う。検証端末にある履歴の範囲を先に確かめる
- 「載せない」判断も半日で出せるなら安い。12本の稼働EAに紛れ込むより、失敗の記録として残す方が価値がある
コメントを残す