テクニカルEA化
ATRを使ってEAのストップロス(SL)を動的に設定するメリット
公開 2026.06.17 最終確認 2026.06.17 Technical
ATRインジケーターを使ってEAのストップロス(SL)を動的に設定するメリットを知りたい
テクニカルは入口だけではなく、見送り条件、方向判定、撤退条件に分けると検証しやすくなります。
ATR / EA logic
EAを動かしているが、なぜかバックテスト通りにいかない。特に相場のボラティリティが変化すると、固定のストップロス(SL)がすぐに狩られてしまう…そんな悩みを抱えていませんか?
EAの損切り幅を「固定の30pips」のように決めるのではなく、ATR(Average True Range:平均真値幅)を用いて「直近のボラティリティの〇倍」と動的に変動させることで、相場の環境変化に強いロジックを構築できます。
これにより、凪のような相場ではタイトな損切りでリスクを抑え、荒れ狂う相場では損切り幅を広げて無駄なノイズによる損切りを回避することが可能になります。QuorAI Labでは、固定pipsの最適化は特定の過去相場へのカーブフィッティングに陥りやすいと考えており、ATRを積極的に活用しています。
なぜEAのストップロスは動的であるべきか
相場のボラティリティ(値動きの激しさ)は、数年単位、あるいは時間帯によって劇的に変化します。例えば、2019年のように1日30pipsしか動かない相場で最適化された「SL=20pips」という固定設定のEAを、2022年のように1日100pips以上動く相場で稼働させるとどうなるでしょうか。
ちょっとしたノイズの揺れ戻しですぐにSLに引っかかり(ストップ狩り)、勝率が極端に低下してしまいます。固定SLは、特定の相場環境でしか機能しない脆いロジックになりがちです。
ATRを使ったストップロス設定の仕組み
ATRは「過去N期間のローソク足の平均的な値幅(ヒゲを含む)」を数値化するインジケーターです。(通常、期間は14が使われます)
例えば、現在の日足のATRが100pipsだったとします。EAのストップロス設定を「ATRの0.5倍」とプログラムしておけば、その時のSLは「50pips」になります。
もし相場が静まり返り、ATRが40pipsまで低下したなら、同じEAでも自動的にSLが「20pips」へと狭まり、無駄なリスクを取りすぎるのを防いでくれます。このように、ATRは相場の呼吸に合わせて損切り幅を調整してくれるのです。
より詳細なATRの活用法については、ATRをストップロス・テイクプロフィットに使う具体的な方法も参考にしてください。
動的SLを組み込む際の落とし穴
ATRによる動的SLは強力ですが、実装を誤るとバックテストとリアル運用で大きな乖離を生むことがあります。
1. リスク金額のブレ
SL幅が動的に変わるということは、「1回の負けで失う金額」も変動するということです。ATRが極端に大きい時にエントリーし、そのまま負けた場合、固定ロット(例:0.1ロット)のままだと想定以上の金額を失うことになります。
この問題を回避するには、最大連敗数からロットを決める資金管理の考え方を参考に、ロットサイズの動的調整をセットで実装する必要があります。
2. 利確(TP)とのバランス崩壊
ストップロスをATRで動的にするなら、当然テイクプロフィット(TP:利確幅)もATRベースで動的にしなければ、リスクリワード比率(損益比)が崩壊します。期待値の計算が成り立たなくなり、長期的に優位性のあるロジックが機能しなくなるリスクがあります。
EAの期待値については、EAの期待値とは?バックテストで確認すべき項目で詳しく解説しています。
バックテストで確認すべきポイント
動的SLを組み込んだ場合、必ず「ロットサイズの動的調整(資金管理ロジック)」もセットで実装し、バックテストで確認する必要があります。
「SL幅 × ロット数 = 常に口座資金の2%の損失に収まる」というように数式を組むことで、ATRが広がってSLが深くなっても、その分ロット数が自動的に小さくなり、失う金額を一定に保つことができます。
この資金管理ロジックが正しく機能しているか、最大ドローダウンやプロフィットファクターだけでなく、1トレードあたりの損失額の変動も注意深く確認しましょう。
QuorAI Labの検証視点
QuorAI Labでは、自作EAを開発する際、Pipsベースの固定TP/SLをハードコード(直接数値を書き込むこと)は絶対にしません。必ずATRを変数として掛け合わせます。
固定pipsの最適化は、特定の過去相場への典型的な「カーブフィッティング」に陥りやすいからです。EAの過剰最適化(カーブフィッティング)チェックリストでも指摘している通り、これはリアル運用でEAが機能しなくなる最大の原因の一つです。
ATRを用いることで、ドル円でもポンド円でも、さらにはゴールドであっても、同じロジックのEAを(ある程度)汎用的に適用・検証できるようになるという大きなメリットがあります。これにより、より堅牢で多様な市場に対応できるEAの開発を目指しています。
合わせて読みたい
最大連敗数からロットを決める考え方
EAの資金管理で最も重要な「最大連敗数」から適切なロットサイズを導き出す方法を解説。
ボリンジャーバンド幅でレンジ判定をEAに入れる
ボリンジャーバンドの幅をEAのフィルターとして活用し、レンジ相場での無駄なエントリーを避ける方法。
ATRをストップロス・テイクプロフィットに使う具体的な方法
ATRインジケーターを使って、EAのSL/TPを動的に設定する具体的なMQLコードの考え方と注意点。
EAの過剰最適化(カーブフィッティング)チェックリスト
バックテストで良い結果が出てもリアルで負けるEAの特徴と、カーブフィッティングを避けるための確認項目。
EAの期待値とは?バックテストで確認すべき項目
EAの真の優位性を示す「期待値」の計算方法と、バックテストでその数字をどう読み解くべきかを解説。
本記事はEAのロジック設計と資金管理の一般論です。ATRは過去のボラティリティを示すものであり、突発的なフラッシュクラッシュ等の未来の値幅を予測・保証するものではありません。EA運用には常にリスクが伴います。
テクニカルは入口だけではなく、見送り条件、方向判定、撤退条件に分けると検証しやすくなります。
参照した公式情報
- MQL5 documentation (2026.06.17 確認)
免責
本記事は個人の検証メモであり、投資助言ではありません。バックテスト結果は将来の成績を保証しません。海外FXや自動売買には、法規制・レバレッジ・スプレッド拡大・約定遅延・スリッページなどのリスクがあります。条件は変わるため、最新情報は各公式ページで確認してください。