ボリンジャーバンドEAを自作する方法|ノーコードで自動売買ロジックを作る手順

ボリンジャーバンドを使ったEAを作りたいけれど、「逆張りにすればいいのか」「バンドウォークを追うべきなのか」「どこまで条件を入れればよいのか」で迷う方は多いと思います。ボリンジャーバンドは見た目がわかりやすい一方で、EA化すると相場環境の判定、損切り、利確、フィルター、検証手順まで決める必要があります。
この記事では、ボリンジャーバンドEAを自作するための考え方を、初心者でも組み立てやすい順番で整理します。MQLを書ける人向けの難しいコード解説ではなく、ノーコードで条件を作る場合にも使えるように、売買ルールの言語化、バックテスト、フォワードテスト、運用前の停止ルールまでまとめます。
FXやCFDの自動売買には損失リスクがあります。この記事は特定の売買を推奨するものではありません。実際に運用する前に、デモ口座や少額運用で十分に検証し、資金管理の範囲内で判断してください。
- 逆張りと順張りでEA条件を分けて考えられる
- ボリンジャーバンド単体ではなくフィルターも設計できる
- ノーコードで作る前に売買ルールを文章化できる
- バックテストとデモ検証で失敗を減らせる
ボリンジャーバンドEAの作り方

まず相場局面を分ける
ボリンジャーバンドEAを作るときに最初に決めたいのは、「価格がバンドに触れたら反転を狙う」のか、「バンドが広がって価格が走り始めたら流れに乗る」のかです。どちらもボリンジャーバンドを使いますが、狙っている相場局面がまったく違います。ここを混ぜたままEA化すると、レンジでは強いのにトレンドで大きく負ける、またはトレンドでは伸びるのにレンジで細かく負け続ける、という状態になりやすいです。
基本は、バンド幅が狭くなっているスクイーズ、バンド幅が広がるエクスパンション、価格が外側のバンド沿いに進むバンドウォークの3つを分けて考えます。スクイーズ中は値動きが小さく、上下のバンド付近から中心線へ戻る動きが出やすい一方、エクスパンション後は価格が一方向へ伸びることがあります。つまり、同じ「+2σに触れた」という出来事でも、レンジの終盤なのか、トレンドの始まりなのかで判断が逆になります。
この段階では、まだ細かい数値にこだわらなくて大丈夫です。期間20、偏差2の標準設定を基準にして、バンド幅が直近より縮んでいるか、広がっているか、終値がバンド外に連続しているか、中心線の傾きがあるかを見ます。ボリンジャーバンドの見方をEA向けに言い換えるなら、「どの相場で売買を許可し、どの相場で停止するか」を決める作業です。売買サインよりも先に環境認識を決めることで、後から条件を増やしすぎる失敗を防げます。
- スクイーズ中は逆張り候補として見る
- エクスパンション直後は順張り候補として見る
- バンドウォーク中の安易な逆張りは避ける
- 中心線の傾きでトレンドの有無を確認する
逆張り条件を決める
ボリンジャーバンドEAでよく作られるのが、上下のバンドに触れたあとに中心線へ戻る動きを狙う逆張りロジックです。買いなら「終値が-2σ以下になったあと、次の足でバンド内へ戻ったらエントリー」、売りなら「終値が+2σ以上になったあと、次の足でバンド内へ戻ったらエントリー」のように考えます。単純にタッチした瞬間で入るより、終値で確認してから入る方が、ヒゲだけのノイズに引っかかりにくくなります。
逆張りで大事なのは、反転を期待できる相場だけに絞ることです。バンド幅が広がっている最中や、ミドルラインが強く傾いている局面で逆張りすると、価格がバンド沿いに進み続けて損切りになりやすいです。そのため、逆張り条件には「バンド幅が一定以下」「ADXが低い」「直近高値安値の中で推移している」など、レンジを示す条件を合わせると現実的になります。
| 条件 | 買いの例 | 売りの例 |
|---|---|---|
| バンド位置 | -2σを下回って戻る | +2σを上回って戻る |
| 相場環境 | バンド幅が狭い | バンド幅が狭い |
| 補助条件 | RSIが売られすぎ | RSIが買われすぎ |
| 避ける局面 | 急落中の連続下落 | 急騰中の連続上昇 |
もう一つ注意したいのは、利確をどこに置くかです。逆張りではミドルラインまで戻ったところを利確候補にする方法がよく使われます。ただし、ミドルラインまで届かずに再び逆行することもあるため、固定pips利確や分割決済の考え方も検討できます。初心者のうちは、エントリー条件を複雑にするよりも、損切りと利確を明確にして、同じルールで検証する方が改善点を見つけやすいかなと思います。
検証時は、バンドタッチの足で入る設定と、次の足で戻りを確認してから入る設定を分けて比べてください。わずかな違いでも、取引回数、平均損失、連敗数が変わることがあります。
順張り条件を決める
ボリンジャーバンドは逆張りだけのインジケーターではありません。バンドが横ばいから広がり始め、価格が外側のバンド付近で推移する場面では、むしろ順張りの方が合うことがあります。EAにするなら「バンド幅が直近より広がっている」「終値が+2σ付近にある」「ミドルラインが上向き」などを買い条件にし、売りならその反対を条件にします。価格がバンドの外に出た瞬間だけを見るのではなく、バンド幅と中心線の方向をセットで見るのがポイントです。
順張り型は、勝率だけを見ると不安に感じることがあります。小さな損切りが続く代わりに、トレンドが出たときに大きく伸ばす設計になりやすいからです。そのため、逆張りEAと同じ感覚で「勝率が低いからダメ」と判断すると、ロジックの良さを見落とす可能性があります。順張り型では、勝率よりも平均利益、平均損失、プロフィットファクター、最大ドローダウン、連敗数を合わせて見てください。
順張り条件で失敗しやすいのは、ブレイク直後のダマシを拾いすぎることです。たとえば、終値ではなく一時的なヒゲだけで+2σを上抜いた場合、次の足であっさりバンド内へ戻ることがあります。これを避けるには、終値確定後に判断する、直近の高値を同時に上抜いた場合だけ許可する、上位足の方向と一致した場合だけ入る、といった制限が使えます。条件を増やしすぎると取引回数が減るので、まずは1つずつ追加して検証するのが現実的です。
また、順張りEAでは「どこで入るか」以上に「どこまで持つか」が成績を左右します。早すぎる利確で大きな波を逃していないかも、バックテストで確認しておきたいところです。
フィルターを足す
ボリンジャーバンド単体でEAを作ると、相場環境の変化に弱くなりがちです。そこで役立つのがフィルターです。フィルターとは、売買サインが出ても「この条件を満たしていなければ入らない」と制限する追加条件のことです。たとえば、逆張りならADXが低いときだけ許可する、RSIの買われすぎ・売られすぎと重なったときだけ許可する、スプレッドが広いときは入らない、重要指標の時間帯は停止する、といった使い方ができます。
フィルターを足す目的は、勝率を無理に上げることではなく、「やらなくていいトレードを減らすこと」です。たとえば、+2σにタッチしたから売るという条件だけでは、強い上昇トレンド中も売ってしまいます。そこに「ミドルラインが横向き」「ADXが一定以下」「直近の高値更新が続いていない」という条件を足すと、逆張りに向かない局面を避けやすくなります。順張りなら反対に、ADXが一定以上、ミドルラインが傾いている、バンド幅が拡大している、といった条件が候補になります。
条件を増やすほどバックテスト結果はきれいに見えやすいですが、過去データに合わせすぎると実運用で崩れます。最初は1〜2個だけ足して、取引回数が十分に残るか確認してください。
MetaTraderでコードを書く場合、ボリンジャーバンドは `iBands` のような関数で取得できます。期間、偏差、適用価格、上限バンド、下限バンドなどの指定が必要になるため、公式仕様を確認しながら作るのが安全です。MQLで実装する方は、MQL4公式のiBands関数も参考になります。ノーコードで作る場合も、結局は同じ考え方で「どのラインを、どの足で、どの条件として見るか」を設定していくことになります。
リスク設定を先に決める
ボリンジャーバンドEAで初心者が後回しにしがちなのが、ロット、損切り、利確、停止ルールです。しかし、EAは一度動かすと条件に合った取引を機械的に繰り返します。エントリー条件だけを作って、損切りや停止条件が曖昧なままだと、想定外の連敗や急変動で一気に資金を削る可能性があります。ロジックを作る前に、許容できる損失幅を決めてから条件を組み立てる方が安全です。
損切りは固定pipsだけでなく、ATRや直近高値安値を基準にする方法もあります。ボリンジャーバンドは相場の変動幅を反映するインジケーターなので、相場が大きく動いているときは損切りも広く、静かな相場では狭くする考え方と相性がよいです。ただし、損切りを広げれば勝率は上がるように見えても、1回の負けが大きくなります。勝率だけでなく、平均利益と平均損失のバランスを見ることが欠かせません。
- 損切りなしでナンピンを続ける
- バックテストの最高成績だけでロットを上げる
- 重要指標前後も同じ条件で稼働する
- 最大ドローダウンの上限を決めない
おすすめは、最初から「1回の損失は口座資金の何%まで」「月間ドローダウンが何%を超えたら停止」「連敗が何回続いたらデモ検証に戻す」と決めておくことです。EAは感情に左右されない反面、ルールが悪ければ悪い取引も淡々と続けます。作り方の上手さよりも、止め方を決めておくことが長期運用では重要です。ドローダウンの考え方は、ドローダウンとは?FX自動売買EAのリスク管理と目安でも詳しく整理しています。
特にボリンジャーバンド系は、レンジが崩れた瞬間に負けが集中することがあります。最大損失を先に決めておけば、ロジック改善と資金保護を分けて判断できます。
ボリンジャーバンドEAの検証手順

ノーコードで条件を組む
売買ルールが文章で整理できたら、次はノーコードツールで条件を組みます。ボリンジャーバンドEAの場合、最初にインジケーターとしてボリンジャーバンドを追加し、期間、偏差、適用価格を設定します。そのうえで、終値が上限バンドを上回ったとき、下限バンドを下回ったとき、ミドルラインへ戻ったときなど、売買に使う条件を選びます。いきなり複雑なロジックにせず、まずは1つの入口と1つの出口を作るのがおすすめです。
ノーコードで作るメリットは、条件の見通しがよいことです。MQLのコードを直接読む必要がないため、「どの条件で買うのか」「どの条件で売るのか」「どの条件で決済するのか」を画面上で確認しやすくなります。特に初心者は、コードの文法ミスよりも、ロジックの考え方でつまずくことが多いです。ツール上で条件をブロックとして並べられると、余計な条件を足しすぎていないかも見直しやすいですね。
NoCode EA Studioなら、MQLの知識なしでMT4・MT5対応の自動売買ロジックをブラウザ上で作成できます。ボリンジャーバンドのように、条件を整理してから検証したいEAと相性がよく、最初の試作を短時間で作りやすいです。
作成画面で迷ったら、最初は「買い条件」「売り条件」「決済条件」「停止条件」の4つだけに分けると整理しやすいです。
EAを自作したいなら
NoCode EA Studioなら、MQLの知識なしでMT4・MT5対応の自動売買ロジックをブラウザ上で作成できます。
MT4向けに出力する
ノーコードで条件を組んだら、MT4またはMT5で動かせる形式に出力します。MT4なら通常はEAファイルをExpertsフォルダへ入れ、MetaTraderを再起動するかナビゲーターを更新して読み込みます。ここで大切なのは、ツール上で作った条件と、MT4上で動かしたEAのパラメータが一致しているかを確認することです。期間や偏差、時間足、通貨ペア、ロット、損切り幅が違っていると、想定した動きと別物になります。
EAを設置した直後は、いきなり本番口座で動かさず、まずチャート上でエラーが出ていないか、スマイルマークや自動売買の許可状態、取引タブのログを確認します。EAが動かない原因は、ロジックそのものではなく、MT4側の設定、口座側の自動売買許可、DLL設定、時間足の違い、スプレッド制限などにあることも多いです。動かないときにロジックをすぐ作り直すのではなく、設定面を先に切り分けると無駄な修正を減らせます。
Expertsフォルダへ入れ、MT4のナビゲーターで読み込める状態にします。
期間、偏差、ロット、損切り、利確、時間足が設計どおりか確認します。
エラー、注文拒否、スプレッド制限、取引許可の状態を確認します。
具体的な配置手順に不安がある場合は、MT4にEAをインストールする方法も合わせて確認しておくと安心です。EAの作成と設置は別工程なので、作成は正しくても、設置でつまずくことは普通にあります。特に複数EAを動かす場合は、マジックナンバーの重複にも注意してください。
本番前には、デモ口座のチャート上で1回でも注文が出るところまで確認しておくと安心です。
バックテストで絞り込む
EAを出力したら、まずMT4のストラテジーテスターでバックテストを行います。テストする通貨ペア、時間足、期間、スプレッド、初期証拠金、ロットを固定し、同じ条件で比較できるようにします。ここでよくある失敗は、1回だけ好成績だった設定を採用してしまうことです。ボリンジャーバンドEAは相場環境の影響を受けやすいため、期間を変えても大きく崩れないか、通貨ペアを変えたときに極端に悪化しないかを見てください。

見るべき指標は、純利益だけではありません。プロフィットファクター、最大ドローダウン、取引回数、平均利益、平均損失、最大連敗数を合わせて確認します。たとえば純利益が高くても、最大ドローダウンが大きすぎるEAは実運用で耐えにくいです。逆に、利益が控えめでもドローダウンが小さく、複数期間で安定しているEAの方が、初心者には扱いやすいことがあります。
| 確認項目 | 見る理由 |
|---|---|
| 取引回数 | 少なすぎると偶然の成績になりやすい |
| 最大ドローダウン | 資金がどこまで減る可能性があるかを見る |
| PF | 利益と損失のバランスを確認する |
| 平均損益 | 損切りと利確の設計が極端でないかを見る |
| 連敗数 | 実運用で耐えられる心理的負荷を把握する |
バックテスト結果の読み方に慣れていない場合は、MT4 EAバックテスト結果の見方を先に押さえておくと判断しやすくなります。特にボリンジャーバンドEAは、期間や偏差を少し変えるだけで成績が変わります。最高成績を探すより、「多少変えても破綻しない設定」を探す意識の方が、実運用では役立ちます。
良い設定を見つけたら、すぐ採用せず、別期間でもう一度テストします。上昇相場、下落相場、レンジ相場をまたいで確認すると、弱点が見えやすくなります。
デモ口座で様子を見る
バックテストで悪くない結果が出ても、すぐ本番口座で動かすのはおすすめしません。過去データでは注文が通ったように見えても、実際の相場ではスプレッド拡大、約定ずれ、通信遅延、取引停止時間などが影響します。特にボリンジャーバンドEAは、バンド付近の細かい値動きを拾う設計になりやすいため、実際のスプレッドや約定環境で成績が変わることがあります。まずはデモ口座でフォワードテストを行い、バックテストとの差を確認してください。
フォワードテストでは、最低でも数週間から1か月程度は動かして、取引回数、勝率、損益、連敗、スプレッドによる見送り回数を確認します。短期間で利益が出たから成功と判断するのではなく、負けたときの挙動を見てください。損切りが予定どおりに入っているか、連敗後にロットが膨らんでいないか、時間帯フィルターが想定どおりに働いているかを確認することが大切です。
- バックテストと同じ通貨ペアで動かす
- ロットは最小に近い設定で始める
- 取引履歴とチャートを週1回確認する
- 想定外の注文が出たら本番前に修正する
デモ検証の進め方は、EAのフォワードテストとは?MT4デモ口座で本番前に確認すべき項目でも詳しく整理しています。本番口座で試す前に、デモで「想定どおりに負けるか」を確認することが重要です。EAは勝つ場面だけでなく、負ける場面の挙動が安定しているかで扱いやすさが決まります。
デモ口座で想定外の注文が出た場合は、成績がプラスでも一度止めて原因を確認してください。EAは偶然利益が出ることもあるので、ルールどおりに動いたかどうかを優先して見る必要があります。ここを飛ばすと、本番で同じズレが損失として表れます。
ボリンジャーバンドEAまとめ
ボリンジャーバンドEAを自作するときは、まず逆張りと順張りを分けて考えることが大切です。バンドに触れたら反転を狙うのか、バンドが広がって価格が走るところを狙うのかで、必要なフィルターも出口条件も変わります。期間20・偏差2の標準設定から始め、バンド幅、ミドルラインの傾き、RSIやADX、時間帯、スプレッド制限などを1つずつ足して検証すると、改善点を見つけやすくなります。
初心者が失敗しやすいのは、バックテストの数字だけを見て、本番で大きく動かしてしまうことです。きれいな右肩上がりの結果でも、取引回数が少ない、ドローダウンが深い、特定期間だけに強い、損切りが広すぎる、といった場合は慎重に見てください。EAは一度作って終わりではなく、バックテスト、フォワードテスト、少額運用、停止ルールの確認まで含めて完成に近づけるものです。
今すぐEA作成を試したい方は、NoCode EA Studioのアプリを開いて無料で触れます。まずはボリンジャーバンド単体のシンプルな条件から作り、バックテストで動きを確認してから、RSIや時間帯フィルターを少しずつ足していく流れがおすすめです。
最初から完璧なEAを目指すより、条件を小さく作り、検証し、悪い部分を直す流れを繰り返す方が現実的です。ボリンジャーバンドは視覚的に理解しやすいので、ノーコードでEA作成の考え方を学ぶ題材としても向いています。
慣れてきたら、逆張り型と順張り型を別々に作り、どの相場でどちらを動かすかを比べると、より実戦的な改善につながります。
