ATR_Exit_Levelの開発の経緯
このインジケーターは、あるユーザーさんからのご相談がきっかけで誕生しました。

ユーザー様
「ATRを使って決済ラインを自動表示してくれるツールはないでしょうか?」
というお問い合わせをいただいたのです。
裁量トレードをされているこのユーザーさんは、相場のボラティリティに応じた適切な利確・損切りラインを視覚的に確認したいというニーズをお持ちでした。
市場環境によって値動きの大きさが変わる中で、固定的なpips値では対応しきれない…という悩みです。
既存のインジケーターを探してみましたが、ちょうど求められている機能を持つものが見つからなかったため、このユーザーさんのために専用のインジケーターを開発することにしました。
ほとんどは、エントリーの為のサインツールですが、今回は
決済を目的としたツールとなります。
エントリー価格を基準に、ATRの倍率で決済ラインを計算・表示する
「ATR_Exit_Level」
ぜひ使ってみて下さい!
このインジゲーターはご相談を受けたユーザー様から公開してもよいと許可を受け配布しております。
というか、ユーザーさんの方がノリノリでした!
このインジケーターでできること
ATR_Exit_Levelは、こんなことができるシンプルで便利なツールです.

- 相場の動きに合わせた決済ライン
- 今の相場の動きの大きさ(ATR)に基づいて、利確ライン(TP)と損切りライン(SL)を自動計算
- 荒い相場なら広めに、落ち着いた相場なら狭めに、自動調整してくれます
- わかりやすい視覚表示
- 利確ラインは緑色の破線、損切りラインはマゼンタ色の破線で一目でわかる
- 「TP @ 143.50」「SL @ 142.80」といった具体的な価格もラベル表示
- 複数のポジションにも対応
- 同じ通貨ペアで複数のポジションを持っている場合も、それぞれに対応するラインを表示
- 簡単ON/OFF機能
- チャート左下のボタンをクリックするだけで、ラインの表示/非表示を切り替え可能
- チャートを見やすくしたいときに便利です
- 役立つ情報表示
- 現在のATR値
- 利確/損切りまでのpips距離がひと目でわかります
使い方ガイド
インストール方法
.mx4
ファイルをMT4の「Indicators」フォルダに入れるだけ!- 通常は
C:\Program Files (x86)\MetaTrader 4\MQL4\Indicators\
にあります
- 通常は
- MT4を再起動するか、ナビゲーターを更新(右クリック→「更新」)
- インジケーターリストから「ATR_Exit_Level」をチャートにドラッグするだけ
更に詳しい説明が必要な方は下記ページにて画像付きで説明しております。
ダウンロード
設定のコツ
初期設定でもすぐに使えますが、こんな調整もできます。
- ATR_Period(初期値: 14)
短く設定すると最近の値動きに敏感に、長く設定すると長期的な相場の動きを反映します - ATR_Multiplier(初期値: 2.0)
大きな数字にするとラインが広がり、小さくすると狭くなります
例)1.0なら小さめの利益を確実に取りにいく戦略に、3.0なら大きな値動きを逃さない戦略に - 色の設定
TPライン(デフォルト:緑)、SLライン(デフォルト:マゼンタ)の色を好みに変更できます
- Show_Button(初期値: true)
ボタンの表示/非表示を設定できます。false(チェックなし)にすると、ボタンが表示されなくなります

日常での使い方
- ポジションを持ったら
- エントリーするとすぐに、その価格を基準にしたTP/SLラインが自動的に表示されます
- 「あ、今日はこのくらいで決済すればいいんだな」がすぐにわかります
- 相場が変わったら
- 相場のボラティリティが変化すると、自動的にラインも調整されます
- いつも「今の相場に合った」決済レベルを参考にできます
- チャートをすっきりさせたいとき
- 左下のボタンをクリックするだけでラインをON/OFF
- 分析に集中したいときはOFFにして、決済を考えるときはONに
- 複数ポジションの場合
- それぞれのポジションに対して別々のラインが表示されます
- ポジションごとの情報(チケット番号、BUY/SELL、ロット数)も確認できます
活用のヒント
- ATR期間の選び方 短期トレードなら短めの期間(5-7)、スイングトレードなら長めの期間(20-30)がおすすめです。自分のトレードスタイルに合わせて調整してみてください。
- 倍率の見つけ方 ATR_Multiplierは重要な設定です。通貨ペアごとに「これくらいの値動きで決済したい」という感覚に合わせて調整するのがコツ。最初は2.0から始めて、徐々に自分好みに調整していくのがおすすめです。
- トレーリングストップ代わりに 利益が出ているポジションでは、動的に調整されるSLラインを参考にストップを手動で動かしていくと、市場の動きに合わせた効果的なトレーリングストップになります。
ATR_Exit_Levelの計算方法
計算式
BUYポジションの場合:
- TP(利確) = エントリー価格 + (ATR × 倍率)
- SL(損切) = エントリー価格 – (ATR × 倍率)
SELLポジションの場合:
- TP(利確) = エントリー価格 – (ATR × 倍率)
- SL(損切) = エントリー価格 + (ATR × 倍率)
具体例
USD/JPY(BUYポジション)の場合:
- エントリー価格:142.500
- ATR値:0.450(45pips)
- 倍率:2.0
計算結果:
- TP = 142.500 + (0.450 × 2.0) = 143.400(+90pips)
- SL = 142.500 – (0.450 × 2.0) = 141.600(-90pips)
計算式の解説
このインジケーターの特徴は「相場の動きの大きさ」に合わせて自動調整される点です。
- 荒い相場(ATR大) → 決済ラインが広く設定される
- 静かな相場(ATR小) → 決済ラインが狭く設定される
調整のコツ:
- 倍率を変える → 大きくすると広め、小さくすると狭めの決済ライン
- ATR期間を変える → 短くすると最近の動きに敏感に、長くすると長期的な動きを反映
このシンプルな仕組みにより、常に「今の相場環境に合った」決済レベルを視覚的に確認できます。
作ってみた杉原の感想
当初、このATR_Exit_Levelインジケーターを作成した際は、主にスキャルパー向けのツールになるだろうと考えていました。短期的な値動きに即座に反応し、素早い判断をサポートする点でスキャルピングに適しているとなんとなく考えていました。
だかしかし、
しかしです。
開発を進め実際に様々な時間軸でテストしていく中で、このツールがスイングトレードでより大きな価値を発揮できるのでは??ということに気づきました。
スイングトレードでは、日々変化する市場環境の中で、その時々の相場のボラティリティに応じた適切な決済ラインを持つことが極めて重要です。
ATRに基づく動的な決済ラインは、固定的なpips値では対応しきれない中長期的な相場変動に対して、非常に効果的に機能します。
もちろん、ATR_Periodの設定を短くし、Multiplierを調整すれば、スキャルピングにも十分活用できます。
しかし、チャートに表示される価格が刻々と変わる超短期トレードよりも、数日から数週間にわたって変化する相場環境の中で、状況に応じた適切な決済ポイントを視覚的に確認できる点こそ、このツールの真価であると感じています。
トレーディングスタイルに関わらず、「今の相場環境に合った」決済レベルを客観的に示してくれるこのツールが、皆さんのトレード判断の一助となれば幸いです。
おわりに
ATR_Exit_Levelは、
「決済のタイミングで迷う」
というトレーダーさんの具体的なご要望から生まれました。
トレードには「いつ、どこで決済するか」という永遠の課題がありますが、このインジケーターが皆さんの判断をサポートする役立つツールになれば嬉しいです。
このインジケーターは決して
「こう決済すべき」
と強制するものではなく、あくまで参考として使っていただくためのツールです。
表示されるラインを目安にしながら、他のテクニカル分析や相場状況も考慮して、最終的には皆さん自身の判断で取引してください。
ご質問やご感想、改善のアイデアなどがあれば、いつでもお気軽にお寄せください!皆さんのトレードライフがより充実したものになりますように!
2025/04/12 ご質問:「ATR Exit Level インジケーターのバッファ番号についての確認

いつもお世話になっております。
ATR Exit Leveを自分のEAの外部インジケーターとして使用いたしたく、TPとSLのバッファ値をお教えいただけますでしょうか。お手数をおかけしますがよろしくお願いいたします。

以下、回答となります。
ご質問ありがとうございます。
ご質問の件について、ATR_Exit_Level
インジケーターでは、チャート上に2本のラインが描画されています。
- バッファ0:上側のライン(ロングポジション用のTPやSLに使われることが多いです)
- バッファ1:下側のライン(ショートポジション用のTPやSLに使われることが多いです)
.ex4
ファイルのみをお使いでも、iCustom()
関数でバッファ番号を指定すれば、それぞれのラインの値を取得できます。
double tp = iCustom(Symbol(), Period(), "ATR_Exit_Level", 0, 0); // 上ラインの値
double sl = iCustom(Symbol(), Period(), "ATR_Exit_Level", 1, 0); // 下ラインの値
補足として、
このインジケーターは主に決済(TP/SL)の目安として使われることを想定しています。
エントリーロジックは別にお持ちだと思いますので、ポジション取得後にライン値を参照する形での活用が一般的です。
応用によっては、ラインのブレイクなどをエントリー条件に使うことも可能だと思います。
どうぞよろしくお願いいたします。
杉原
2025/04/26: 「ATR Exit Level」インジケーターのTP・SLラインにローソク足が触れた際に自動決済する機能を追加することは可能でしょうか?
その後、ご利用になられたユーザ様からご質問頂きました。

Sugihara様いつも、お世話になっております。
XのポストのMT4用新インジケーター「ATR Exit Level」について、ご質問です。
無料でこのような神インジを頂き有難うございました。使用してとても有効活用しております。
そこで、このインジのT P・SLラインを表示だけではなく、実際のチャートでローソク足がふれたら自動で決算して頂くようには出来ませんでしょうか?
また、有料になっても是非、購入したいと考えております。
どうか宜しくお願い致します
との内容です。
タッチして決済ぐらいならすぐに出来るかな?
っと思って、作ってみました。
ダウンロードは下記から出来ます!