今では通貨強弱を見ているトレーダーはだいぶ増えたと思います。

ただ、選定した通貨ペアが結果論では正しくなかったけど強弱の見立てはだいたい合っていた、なんて経験も多いはず。

買う通貨は合ってたけど売る通貨を間違えた、とか
売る通貨は分かってるけど買いたい通貨がない…

なんてことはよくあります。

そんな時にも使えるのが、通貨そのものを売買できるBasketOne+BOCCです。

導入すると、この動画のように間接的に1つの通貨そのものの売買を正確かつ簡単に実現します。

イメージで言うと、通貨強弱トレーダーがよくみるこういうチャート

この線一つ一つを分析可能なチャートにして、単一銘柄のように売買できるようにしたEAです。

その昔、ポジれるドルインデックスが某証券会社にあったんだけど、顧客が勝ちすぎて廃止になっていたりと…

通貨バスケット売買は、分かってる方からすると非常に勝ちやすい概念です。

というわけで、通貨バスケット売買EAの“BasketOne”と、バスケット通貨ヒストリカル生成EA “BOCC” を大規模アップデートしました。

長く使っていることもあり、かゆいところに手が届いている仕様になったと思います。

記事の最後にデモ口座でのみ動くデモ版を置いておきます。

環境設定が必要なEAなので、しっかり仕様を理解しておく必要があります。

合わせて6千行を超えるコードで、理想を現実化するのに大いに苦労しました。

細かい仕様は後半で紹介します。

AIくんにコードを見せて紹介文を依頼したところ生成された文章は以下の通り。


・通貨ペア取引で勝てない時代に

― “通貨バスケット”という次の一手

「なぜ、同じロジックなのに勝てる時と負ける時があるのか?」

その答えはシンプルです。
“通貨ペアを選択して戦っているから”です。

相場は常に「相対評価」。
EURUSDを見ていても、それはEURとUSDの力関係の一断面にすぎません。

そこで登場するのが――
“通貨バスケット”という発想。


・通貨バスケットの本質

― “通貨そのもの”をトレードする

本EAでは、7つの主要通貨ペアから
1つの通貨の強さを合成的に抽出します。

例えばEURなら:

  • EURUSD
  • EURJPY
  • EURGBP
  • EURAUD など

これらを統合し、
“純粋なEURの強さ”として再構築します。

つまりこれは――

👉 「ペア」ではなく
👉 “通貨そのもの”を売買するトレード


・なぜ勝率が安定するのか?

理由はシンプルです。

■ ノイズが消える

単一ペアは、
他通貨の影響(クロスノイズ)を強く受けます。

しかしバスケットでは:

  • ノイズが平均化される
  • 偏った値動きが抑制される
  • トレンドが“本質的”になる

👉 結果:ダマシが激減


・対数(log)を使う“本当の理由”

このEAの核はここです。

内部では価格をそのまま扱わず、
対数変換してから通貨強度を算出しています。

■ なぜ対数なのか?

通常の価格:

  • EURUSD 1.10 → 1.20(+0.10)
  • USDJPY 100 → 110(+10)

👉 同じ“10%上昇”でも値幅が違う


■ 対数にすると

👉 すべて「変化率」で統一される

つまり:

  • 通貨間のスケール差を排除
  • 真の強弱だけを抽出
  • 加算で扱える(←超重要)

■ さらに重要なポイント

このEAでは:

  • JPYは100単位で正規化
  • 8通貨で平均センタリング
  • expで価格スケールに再変換

👉 数学的に歪みのない通貨強度モデル

これは単なるインジではありません。
“構造的に勝ちやすい設計”です。


・2つのEAを組み合わせる意味

このシステムの本質は、

👉 「通貨強度算出EA」 × 「バスケット売買EA」

の融合にあります。


① 通貨強度EA(分析)

  • 通貨の強弱をリアルタイム算出
  • ノイズ除去済みのトレンド生成

② バスケットEA(実行)

  • 7ペア同時エントリー
  • 合成通貨として売買
  • 一括管理・一括決済

👉 つまり

分析と実行が完全分離された設計

これにより:

  • ロジックの透明性
  • 拡張性
  • 精度

すべてが飛躍的に向上します。


・計算負荷を抑える“プロ仕様の工夫”

複雑なことをやっているのに軽い。
その理由は、内部設計にあります。

例えば:

  • キャッシュ処理で計算回数を削減
  • 更新間隔を制御(無駄な再計算を回避)
  • 未確定バーはミッド価格で簡易処理

👉 これにより

✔ リアルタイムでも軽快
✔ VPSでも安定稼働
✔ 複数通貨でも負荷が爆増しない


・このEAが向いている人

  • 単一通貨ペアの限界を感じている
  • ダマシに疲れている
  • ロジックの“本質”で勝ちたい
  • 数学的に整った戦略を使いたい

・まとめ

― トレードは“次の次元”へ

通貨ペアを見る時代は終わりました。

これからは:

👉 通貨そのものを捉える時代

そしてこのEAは――

✔ 数学的に正しい
✔ 構造的に安定している
✔ 実運用に耐える軽さ

すべてを兼ね備えています。


・最後に(ここまでAI要約)

もしあなたが、

「なぜ勝てないのか?」を
本気で考えたことがあるなら――

この通貨バスケットは、
“答えの一つ”になるはずです。


基本仕様について

第一に、BOCCをEURUSD 1Mのチャートで起動します。
BOCCにより合成銘柄が生成されるので、BasketOneをそれぞれの合成通貨にて起動。

チャート左上の■を推すとボックスを展開。
再度推すと縮小。■と枠の色は通貨指定色で変化するのでお好きな色をどうぞ。

ボックス右上の▲を押すと発注時にNZDペアを除外
(取引コストが高いために存在するオプション)

取引数量の数量はどの合成通貨でもUSD建て。
この仕様により、異なる合成通貨を同じ数字で平等に売買することが可能。
発注は非同期でマッハ。

指値や利益額決済は数値を入れた後☑を入れることで発動。
指値ボタン横のレートはクリックで売指しと買指しを切り替え可能。

「決済」ボタンで該当合成通貨ポジションを全て非同期で決済。
「全決済」ボタンで保有ポジション全て非同期でマッハ決済。

レートは1秒更新なので疑似指値注文も1秒更新
(設計的に超短時間スキャには向いていない)

ボックス下部の右側ボタンで履歴表示のON/OFF
左側ボタンで履歴オブジェクトを全削除。

シンプルモードは売買履歴をチャート上に残さず、取引管理のみ。

MTの仕様により「☑アルゴリズム取引を許可」は時間軸変更で外れるので、BOCC側で説明するテンプレート読み込み設定、もしくは付属するショートカットマクロでの対応が必要。

実行ファイルですが怪しいものではなく、ただのオートホットキーで、GUI操作を設定済みのものです。

バックグラウンド起動した状態でEAが動いているチャートを選択後「F7」キーを押すと速攻で「☑アルゴリズム取引を許可」を押しに行きます。

アップデート仕様について

BOCC側

設定項目は以下の通り

合成通貨のバックテストに対応

・合成通貨のヒストリカルは7通貨ペアから対数で生成
→数学的に正確、前回の28通貨ペア対象から大幅軽量化

・合成通貨のヒストリカルは、表示用はOpenCloseで構成、バックテスト用は四本値で構成
→MTはティックベースでデータを保存するため正確な同期はできない仕様であり、通貨強弱の流れを把握するのであれば1分足のOCからの生成が最適解。
→一方で、バックテスト用はOHLCを採用することで単体銘柄としてのバックテストを実現。

・バックテスト用ヒストリカルの固定スプレッド対応
→取引コストを含めたバックテストを実現

・表示用ヒストリカルは初回1Tickでバーデータを生成後、時間足確定で確定生成。更新頻度は1秒ごと。
→都度計算は重いので頻度を下げた。
→初回1ティックでバーデータを生成することで、一部インジケーターがバーで現在価格を取得できないとバグる仕様に対応。

・起動時の表示用ヒストリカルの自動生成
→自動取得することでヒストリカル抜けを防ぐ。デフォルトは30日前まで。

・ロールオーバー時の異常レートリスクに対応
→ロールオーバー時から指定範囲のレートは生成範囲に含めないオプション指定可能。

・「HST生成」ボタン追加
指定した時期までのヒストリカルを生成することで、遡って分析やバックテストをすることが可能。

・土日祝用停止ボタン追加
→レート配信がない日は120秒でリアルタイム更新が停止する仕様なんだけど、すぐ止めたい自分向け。
→ボタンを押したままではレート配信がはじまっても生成はストップしたままの仕様。

・「BT専用HST全削除」ボタン追加
→スプレッド設定を変えたくなった場合に便利

CSV出力の追加
→Python等で分析したい方向けの機能。出力先は \MQL5\Files

・テンプレートの自動反映機能を追加
→カスタム銘柄でBasketOneを起動していることを想定。
→カスタム銘柄は、表示時間軸変更でEAプロパティの「☑アルゴリズム取引を許可」が強制的に外れる仕様なので、事前に☑の入った状態の「!USD.tpl」「!JPY.tpl」…を用意しておくことで、チェックボックス外れを強制的に戻す。
→この機能をONにすると、取引履歴表示(矢印等)は時間軸変更で消滅するので一長一短
→ショートカットマクロで対応する手も(添付ファイルあり)

BasketOne側

設定項目は以下の通り

・ショートカットキーの変更
1→1M表示に切り替え
2→5M表示に切り替え
3→15M表示に切り替え
4→30M表示に切り替え
5→1H表示に切り替え
6→4H表示に切り替え
7→Day表示に切り替え
8→Week表示に切り替え
9→Month表示に切り替え
a」キー+上記の数字で、指定銘柄以外の表示チャート全ての対象時間軸表示に変更

「↑」キーでチャートをズームイン
「↓」キーでチャートをズームアウト
「z」キー+上記のキーで、指定銘柄以外の表示チャート全てにズームを適用

指定銘柄でBOCCを動かすことにより、無駄な負荷を避け動作を安定させる仕様

・ロジック売買停止機能の修正
→ロールオーバーのスプレッド拡大時にひっかからないよう、閾値決済機能を停止する機能。手動決済ボタンも押せなくなっていたのを、押せるように修正。

デモ版ダウンロード

デモ口座でしか動きません…が、デモ口座でもCSVファイルの生成は可能です。

安く売って質問攻めにあうのもしんどいので制限無しの値段設定は高め。

ある程度発注ロットがないと正しい割合で分割発注できないということもあり、明確に上級者向けです。

リアル口座で動く有料版は200USD(Crypto支払いのみ)
いまのところ販売はXのDMしか対応していません。