ボリンジャーバンドEAを自作して自動売買する方法

ボリンジャーバンドEAを自作して自動売買する方法

「ボリンジャーバンドでFXを自動売買したいけど、プログラミングができない」と悩んでいませんか?

ボリンジャーバンドは±2σを使った逆張りや、バンドウォークを使った順張りなど、EA(自動売買システム)との相性が抜群のインジケーターです。でも、従来のEA作成はMQL4のコーディング知識が必要で、初心者にはハードルが高かったのが実情でした。

この記事では、ボリンジャーバンドEAの基本的な仕組みから、ノーコードで自作する具体的な手順まで、私が実際に試した方法をもとにわかりやすく解説します。プログラミング知識ゼロでも、ボリンジャーバンドを使った自動売買システムを作れるので、ぜひ参考にしてください。

なお、FX取引にはリスクが伴います。正確な情報は公式サイトをご確認ください。最終的な判断は専門家にご相談ください。

この記事のポイント
  • ボリンジャーバンドEAの逆張り・順張りロジックの違いがわかる
  • ノーコードツールで誰でもEAを自作できる手順を解説
  • バックテストで自作EAの性能を検証する方法がわかる
  • よくある失敗パターンと対策も紹介
目次

ボリンジャーバンドEAの基本と自動売買の仕組み

ボリンジャーバンドのチャート画面

ボリンジャーバンドとは何か

ボリンジャーバンドは、1980年代にアメリカの投資家ジョン・ボリンジャー氏が考案したテクニカルインジケーターです。中心線となる移動平均線(ミドルライン)の上下に、統計学の「標準偏差(σ:シグマ)」を使ったバンドを2本ずつ描画します。

最も基本的な設定は「期間20・偏差2」で、これはMT4のデフォルト設定でもあります。+2σと−2σのバンド内に価格が収まる確率は統計上約95.4%とされており、そのバンドを超えた動きは「異常値」として意味を持つと解釈されます。

ボリンジャーバンドには、相場の状態を大きく3パターンで読み解く視点があります。バンドが狭まる「スクイーズ」はレンジ相場の典型で、逆張りが機能しやすい局面です。バンドが広がる「エクスパンション」はトレンドが発生している局面で、順張りが有利になります。そしてバンドの外側を価格が連続して推移する「バンドウォーク」は、強いトレンドが継続中であるサインです。

EAとしてボリンジャーバンドを使う場合、この3つの局面をコンピューターが自動で判定してエントリー・エグジットを行います。人間がチャートを見続けなくてもシステムが自動で売買してくれるのが最大のメリットです。

ボリンジャーバンドの開発者ジョン・ボリンジャー氏は「このインジケーターは本来、順張りで使うものだ」と明言しています。逆張りだけが正解ではありません。

逆張りEAと順張りEAの違い

ボリンジャーバンドを使ったEAには、大きく分けて「逆張り型」と「順張り型」の2種類があります。それぞれの特徴と向いている相場環境を理解しておくと、自作するときにロジック設計がしやすくなります。

逆張り型EAは、価格が±2σに到達したときに「そろそろ反転するだろう」という判断でエントリーするロジックです。レンジ相場では非常に高い勝率を出せますが、強いトレンドが出たときに逆張りしてしまうと大きな損失になるリスクがあります。シンプルなロジックだけでは限界があるため、ADX(平均方向性指数)などのフィルターを組み合わせるのが一般的です。

順張り型EAは、バンドが拡大してバンドウォークが始まったタイミングでトレンドに乗るロジックです。勝率よりも1回のトレードで大きな利益を狙う「低勝率・高リターン」型になりやすいです。スクイーズからエクスパンションに転じるタイミングをいかに正確に捉えるかが勝負どころです。

タイプエントリー条件得意な相場リスク
逆張り型±2σタッチレンジ相場トレンド時に大損
順張り型バンドウォーク開始トレンド相場ダマシが多い

どちらが優れているということはありません。相場環境に合わせて使い分けるか、両方のロジックをひとつのEAに組み込む設計が理想的です。

EAに組み込む主なパラメータ

ボリンジャーバンドEAを自作するときに決めなければならないパラメータは、大きく分けると「ボリンジャーバンド自体の設定」と「売買ルールの設定」の2種類です。これらをしっかり理解しておくことで、バックテストでの調整作業がスムーズになります。

ボリンジャーバンドの設定パラメータで重要なのは「期間(Period)」と「偏差(Deviation)」です。期間はミドルラインとなる移動平均の計算期間で、デフォルトの20のほか、スキャルピングには10〜15、スイングには50〜100などが使われます。偏差は2σ(デフォルト)が一般的ですが、3σをエントリーラインにするケースもあります。

売買ルールの設定パラメータとして、ロット数(Lots)、ストップロス(StopLoss)、テイクプロフィット(TakeProfit)、最大スプレッド(MaxSpread)が代表的です。特にストップロスとテイクプロフィットの比率(リスクリワード比)は長期成績に大きく影響するため、バックテストで入念に検証する必要があります。

また、取引する時間足と通貨ペアもパラメータの一部と考えてよいでしょう。ボリンジャーバンドは1時間足や4時間足での利用が多く、USD/JPYやEUR/USDのような流動性の高い通貨ペアとの相性が良いとされています。

パラメータ選びのポイント
  • 期間20・偏差2がボリンジャーバンドの基本設定
  • ストップロスはATR(真の変動幅)を基準にするとズレにくい
  • リスクリワード比は最低でも1:1以上を目指す
  • 過度な最適化(カーブフィッティング)は禁物

フィルターで精度を上げる方法

ボリンジャーバンド単体のロジックだけでEAを作ると、ダマシが多くてなかなか安定した成績が出ないことがほとんどです。そこで重要になるのが「フィルター」の追加です。他のインジケーターや条件を組み合わせることで、エントリーの精度を高められます。

逆張りEAでよく使われるフィルターが「ADX(平均方向性指数)」です。ADXの値が低い(例えば25以下)ときはレンジ相場と判断し、±2σタッチでの逆張りを許可するというロジックが一般的です。ADXが高い状態でのボリンジャーバンド逆張りは、トレンドに逆らうことになるため避けるのが賢明です。

RSI(相対力指数)との組み合わせも効果的です。価格が−2σに到達し、かつRSIが30以下(売られすぎ)のときだけ買いエントリーするといった条件を追加することで、ダマシを大幅に減らせます。ある検証では、ボリンジャーバンド+RSI手法をEAにしてバックテストしたところ、AUDUSD・EURGBP・NZDUSDでプロフィットファクター(PF)2.0以上の結果が出たとの報告もあります。

時間帯フィルターも見逃せません。ボリンジャーバンドの逆張りは、東京時間のようなレンジが続きやすい時間帯に絞ることで成績が改善するケースがあります。逆に、ロンドンやニューヨークのオープン前後はトレンドが出やすいため、順張りEAの稼働に向いています。

フィルターは多ければ多いほど良いわけではありません。条件を増やしすぎるとエントリー回数が減りすぎて、統計的に意味のあるバックテスト結果が出にくくなります。2〜3個に絞るのが現実的です。

EAを動かす前に知っておくこと

ボリンジャーバンドEAを実際に動かす前に、いくつか知っておくべき基本事項があります。これを知らずにスタートすると、思わぬトラブルや損失につながることがあるので必ず確認してください。

まずEAはMT4またはMT5(メタトレーダー)というプラットフォーム上で動作します。EAを稼働させるには、対応するFX会社の口座が必要です。国内FX会社ではEAに対応していない場合もあるため、EA対応口座かどうかを事前に確認しましょう。

次に「バックテスト」と「フォワードテスト」の重要性です。バックテストは過去のデータでEAの性能を検証するもので、フォワードテストはデモ口座などで実際の相場に対してEAを動かして検証するものです。どちらも本番稼働前に必ず行うべきステップです。バックテストが好成績でも、実際の相場では成績が落ちることがある点も覚えておいてください。

また、EAを24時間稼働させるにはPCを常時起動しておく必要があります。それが難しい場合はVPS(仮想専用サーバー)を使うのが一般的です。月額1,000〜2,000円程度から利用できるVPSサービスがあるので、本格的に運用するなら検討する価値があります。

EAの稼働に必要な初期費用はどのくらいですか?

MT4/MT5自体は無料でダウンロードできます。VPSを使う場合は月額1,000〜2,000円程度が追加でかかります。ノーコードツールを使えばEA自体の作成費用も無料で始められます。

どのFX会社がEAに対応していますか?

XM(XMTrading)、AXIORY、TitanFXなどの海外FX会社はEA対応口座が豊富です。詳しくは各社の公式サイトをご確認ください。

無料で試してみる

ボリンジャーバンドEAをノーコードで自作できる無料ツール「NoCode EA Studio」はこちら。
▶ NoCode EA Studio を無料で使う

ノーコードでボリンジャーバンドEAを自作する手順

ノーコードFX自動売買の設定画面

ノーコードEA作成ツールを選ぶ

ボリンジャーバンドEAを自作する方法として、従来はMQL4/MQL5というプログラミング言語でコードを書く必要がありました。しかし近年は「ノーコード」でEAを作成できるツールが登場し、プログラミング知識ゼロでも自動売買システムを作れる環境が整ってきています。

ノーコードEA作成ツールの代表的なものとして「NoCode EA Studio」があります。ブラウザ上でインジケーターの選択やエントリー・エグジット条件をGUIで設定するだけで、MT4対応のEAファイルを自動生成してくれます。ボリンジャーバンドをはじめ、RSI・MACD・移動平均線など主要なテクニカルインジケーターに対応しているため、複合ロジックのEAも作成できます。

ChatGPTを使ってEAコードを生成するという方法も注目されています。「ボリンジャーバンドの±2σタッチで逆張りするMQL4コードを書いて」と指示することでコードを生成できますが、バグが混入することも多く、コードの検証能力がない初心者にはノーコードツールの方がトラブルが少ないでしょう。

ツール選びのポイントは「バックテスト機能があるか」「生成したEAをそのままMT4に適用できるか」「サポートが充実しているか」の3点です。無料で試せるツールから始めて、自分のスタイルに合うものを選ぶのがおすすめです。

NoCode EA Studioは無料で始められます。まずは試しにボリンジャーバンドEAを1本作ってみて、バックテストで動作を確認してみましょう。

エントリー条件を設計する

ノーコードツールでEAを作る際に最初にやるべきことが「エントリー条件の設計」です。ここでの設計が曖昧だと、バックテストで思うような結果が出なくても何が問題なのか分からなくなります。ロジックを言語化してから設定に進みましょう。

逆張りロジックを例に説明します。基本的な条件は「価格が−2σを下回ったら買い、+2σを上回ったら売り」です。これをさらに精緻化するなら、「直前の終値が−2σ以下、かつRSI(14)が30以下のときに買い」「直前の終値が+2σ以上、かつRSI(14)が70以上のときに売り」という形になります。

順張りロジックの場合は「バンドが拡大しており、価格が+2σを上抜いたら買い」「−2σを下抜いたら売り」が基本です。バンドの拡大を判定するには、直近N本のバンド幅を比較して「現在のバンド幅が過去N本の平均より広い」という条件を使います。

エグジット条件も同様に言語化が重要です。「ミドルライン(移動平均線)に戻ったら決済」「ストップロス30pips・テイクプロフィット60pips」「翌日の始値で強制決済」など、明確なルールを決めておきましょう。エグジットが曖昧なEAは長期成績が安定しません。

STEP
逆張りか順張りかを決める

自分がどちらの手法でトレードするか方針を決めてからEAの設計を始めます。

STEP
エントリー条件を言語化する

「〇〇のときに買い・売り」という条件を文章で書き出してからツールに設定します。

STEP
エグジット条件を明確にする

ストップロス・テイクプロフィット・決済条件を具体的な数値で決めます。

MT4にEAをセットしてバックテストする

ノーコードツールでEAファイル(.ex4または.mq4)を生成したら、MT4に読み込んでバックテストを実行します。バックテストはMT4の「ストラテジーテスター」という機能を使って行います。

MT4のストラテジーテスターを開くには、メニューバーの「表示」→「ストラテジーテスター」を選ぶか、Ctrl+Rのショートカットキーを使います。テスターが開いたら、作成したEAファイルを選択し、テスト通貨ペア(例:USD/JPY)、時間足(例:H1)、テスト期間(例:直近1〜2年)を設定します。

バックテストで確認すべき主な指標は「純利益(Net Profit)」「プロフィットファクター(PF)」「最大ドローダウン(Max Drawdown)」「勝率(Win Rate)」の4つです。PFが1.3以上、最大ドローダウンが資金の20%以内であれば、ある程度実用に耐える基準とされています。ただし、バックテストはあくまで過去データへの最適化であり、未来の成績を保証するものではありません。

過去データの品質にも注意が必要です。MT4の標準データは精度が低い場合があるため、「Tick Data Suite」などのツールを使って高精度のデータで検証することをおすすめします。データ品質が低いとバックテスト結果の信頼性が著しく下がります。

バックテストで好成績だからといって、すぐに大きな資金を入れて本番稼働するのは危険です。まずはデモ口座での1〜3ヶ月のフォワードテストを経てから本番に移行しましょう。

よくある失敗とその対策

ボリンジャーバンドEAを自作するとき、初心者がよくやってしまう失敗パターンがいくつかあります。これらを事前に知っておくだけで、無駄な時間と損失を大きく減らせます。

最も多い失敗が「過剰最適化(カーブフィッティング)」です。バックテストの成績を良くしようとパラメータを細かく調整しすぎると、過去のデータにだけ最適化されたEAができあがります。実際の相場では通用しないことがほとんどで、本番稼働後すぐに成績が悪化する原因になります。パラメータ調整は最低限に留め、様々な期間・通貨ペアでの安定性を確認することが大切です。

次によくあるのが「ロット数の設定ミス」です。固定ロットで0.1や0.5など大きすぎるロット数を設定すると、ドローダウン時に資金が一気に溶けてしまいます。最初は0.01ロット(ナノロット)や少額から始めて、安定稼働を確認してから増やすのが鉄則です。

「ストップロスを設定しない」のも致命的な失敗です。EAはルールに従って機械的にトレードするため、ストップロスがないと予期せぬ相場変動で大損失を被ることがあります。特にフラッシュクラッシュ(瞬間的な急落)や重要指標発表時には、数十〜数百pipsの逆行が起こることもあります。必ずストップロスを設定してください。

EAの成績が安定しないときは、まずロジックの問題なのかパラメータの問題なのかを切り分けて考えましょう。ロジック自体に問題があるなら、設計の見直しが必要です。

EAを運用しながら改善するコツ

ボリンジャーバンドEAを本番稼働させた後も、継続的なメンテナンスと改善が欠かせません。「一度作ったら放置でOK」と思っているとじわじわと成績が悪化していくことがあります。定期的なチェックと改善を習慣にしましょう。

最低でも週1回はEAのトレード履歴を確認する習慣をつけてください。連続して負けが続いている場合や、勝率・PFが大きく下がっている場合は、相場環境が変化した可能性があります。そういった局面では一時的に稼働を停止して、フォワードテストに戻るという判断も重要です。

EA改善の観点でよく行われるのが「時間足の変更」です。1時間足で成績が落ちてきたら4時間足や日足で試す、または逆張りロジックから順張りロジックに切り替えるといった対応です。市場環境の変化に柔軟に対応できるよう、複数のバリエーションを持っておくのが理想です。

資金管理のルールも忘れずに設定してください。「月間ドローダウンが10%を超えたら自動停止」「月間の損失が一定額を超えたら稼働を一時停止する」といった資金保護のルールをあらかじめ決めておくことで、EAの暴走による致命的な損失を防げます。正確な情報は公式サイトをご確認ください。最終的な判断は専門家にご相談ください。

EA運用チェックリスト
  • 週1回以上トレード履歴を確認している
  • 月間ドローダウンの上限を決めている
  • 重要指標発表前後はEAを停止するルールがある
  • デモ口座でのフォワードテストを並行して続けている
  • ロジックとパラメータの変更履歴を記録している

EA自作の全体像を把握するにはEA自作を初心者が始める完全ガイドもあわせてご覧ください。

よかったらシェアしてね!
目次