テクニカルEA化

ボリンジャーバンドの「スクイーズ(収縮)」と「エクスパンション(拡張)」の初動をEAで判定する数式

ボリンジャーバンドの「バンドが極端に狭まった状態(スクイーズ)」から、「エネルギーが爆発してバンドが広がり始める瞬間(エクスパンション)」をEAで判定するには、価格の±2σタッチを見るのではなく、「アッパーバンドとロワーバンドの幅(BandWidth)」を数値化し、その幅が過去の一定期間で最小になった後、急激に上昇したタイミングを数式(MQL5コード)で定義

Read this for この手法を、EAの条件として分解する。

テクニカルは入口だけではなく、見送り条件、方向判定、撤退条件に分けると検証しやすくなります。

Category テクニカルEA化

Bollinger Bands / EA logic

ボリンジャーバンドの「スクイーズ(収縮)」と「エクスパンション(拡張)」の初動をEAで判定する数式

結論

ボリンジャーバンドの「バンドが極端に狭まった状態(スクイーズ)」から、「エネルギーが爆発してバンドが広がり始める瞬間(エクスパンション)」をEAで判定するには、価格の±2σタッチを見るのではなく、「アッパーバンドとロワーバンドの幅(BandWidth)」を数値化し、その幅が過去の一定期間で最小になった後、急激に上昇したタイミングを数式(MQL5コード)で定義する必要があります。 この「バンド幅の収縮と拡張」をトリガーにすることで、ダマシの少ない精度の高い順張り(ブレイクアウト)EAを構築できます。

なぜEA運用で重要か

多くの初心者はボリンジャーバンドを「±2σに触れたら逆張りする(オシレーター的な使い方)」ツールだと思い込んでいます。 しかし、開発者のジョン・ボリンジャー氏自身が最も推奨しているのは、相場が力を貯める「スクイーズ」の後に訪れる「エクスパンション(トレンド発生)」に乗る順張りの手法です。この「ボラティリティの周期(静けさの後に嵐が来る)」をプログラミングで正確に捉えることができれば、無駄なレンジ相場での負けを極限まで減らし、一撃で大きな利益を取るEAが完成します。

仕組み・条件

エクスパンション判定のロジック構築(概念):

  1. BandWidth(バンド幅)の計算: バンド幅 = (アッパーバンド値 - ロワーバンド値) / 移動平均値 MQL5で iBands を用いて上下のバンドを取得し、毎ティック(またはローソク足確定時)にこの幅を計算して配列に保存します。
  2. スクイーズ(収縮)の判定: 現在のバンド幅が、過去N本(例:過去100本)のバンド幅の中で「最小値(または最小値の〇%以内)」であるかを確認し、エネルギーが貯まっている状態を検知します。
  3. エクスパンション(拡張)の検知とエントリー: 収縮状態から、現在のバンド幅が急激に広がり始め(例:1本前の幅から〇%以上増加)、同時に価格がアッパーバンドを上に突き抜けたら「買いエントリー」、ロワーバンドを下に突き抜けたら「売りエントリー」とします。

バックテストやリアル運用で壊れるポイント

どう確認するか

このロジックを実装したEAをビジュアルモードでテストする際、MT5のサブウィンドウに「Bollinger BandWidth」インジケーター(カスタムインジケーターとしてダウンロード可能)を表示させてください。 EAがエントリーした瞬間、チャート上のバンドが「ラッパの口のように上下に開いているか」と、サブウィンドウのBandWidthのグラフが「谷底から急上昇し始めているか」が一致していることを目視で確認します。

自分の検証スタンス

私はブレイクアウトEAを作る際、ボリンジャーバンドのエクスパンション判定単体では不十分だと考えています。 バンドが広がって上にブレイクしたように見えても、上位足(MTF)が強烈なダウントレンドであれば、それは「絶好の戻り売りポイント(ヘッドフェイク)」になります。そのため、エクスパンションの判定に加えて、「1時間足のSMAの傾き」などの環境認識フィルターを必ず掛け合わせることで、勝率とプロフィットファクターを底上げしています。

関連して読む

Technical to EA この手法を、EAの条件として分解する。

テクニカルは入口だけではなく、見送り条件、方向判定、撤退条件に分けると検証しやすくなります。

参照した公式情報

免責

本記事は個人の検証メモであり、投資助言ではありません。バックテスト結果は将来の成績を保証しません。海外FXや自動売買には、法規制・レバレッジ・スプレッド拡大・約定遅延・スリッページなどのリスクがあります。条件は変わるため、最新情報は各公式ページで確認してください。