【移植#94】日足の値幅を年ごとに比べる — ATR(1)で見る相場環境¶

この記事の3行まとめ
- ATR期間を1にした日足のTrue Rangeを、暦年ごとに色分けして表示します
- 日足の高値安値だけでなく、前日終値からの窓も値幅に含まれます
- 業者ごとの日足区切りや配信履歴が違うため、表示は相場環境の記述であり売買シグナルではありません
今回の原典は「値幅分析?」¶
2010年5月5日の原典では、EURUSDの日足にATR(期間1)を表示し、年ごとに色を変えて値幅の変化を眺めています。著者はデイトレードを前提に、古い相場を長期間まとめるより、直近数年の環境を把握したいと述べています。
ここでいうATR(1)は、単純な「その日の日中高値-安値」と同じとは限りません。True Rangeは、高値と安値の幅に加えて、前日終値から当日高値・安値までの差も比べ、その最大値を使います。週明けなどに価格の窓があれば、その分も値に反映されます。公式リファレンスでもATRは期間を指定して作成するインジケーターハンドルとして説明されています(iATR)。
年ごとの色で、値幅の移り変わりを眺める¶
インジケーターはEURUSDなどのD1チャートへ取り付けます。下段に確定日足のATR(1)を棒で描き、棒の色をバーの暦年に対応させます。初期設定では、最新年を含む直近3暦年を表示します。必要なら入力値を1〜8年の範囲で変更できます。
現在形成中の日足は途中経過の値幅なので表示対象から外します。年の色は8色のパレットを使い、表示範囲の中で年ごとに異なる色になります。MT5のiATR()で日足の指標を作り、CopyBuffer()で値を読み取ります。履歴取得は利用可能な銘柄・時間足のデータに依存します(CopyBuffer、CopyRates)。
ダウンロードと使い方¶
94_Daily_Range_Regime_v1_00.mq5 をダウンロード
- ファイルをMT5のIndicatorsフォルダへ置き、MetaEditorでコンパイルします。
- D1チャートへインジケーターを取り付けます。別の時間足では対象外であることをチャート上に表示します。
InpLookbackYearsで表示する暦年数を1〜8年から選びます。初期値は3年です。- 通貨ペアや業者を変えて比較する場合は、同じ期間・同じ時間足・同じ表示設定をそろえます。
実機検証¶
専用MT5でインジケーターと撮影用EAをコンパイルし、結果を照合します。独立計算では、確定日足の高値・安値・前日終値からTrue Rangeを求め、インジケーターのATR(1)出力と比較します。記事内の画像は実際のMT5チャートから取得したものです。
比較するときの注意点¶
- D1バーの開始時刻や週末の扱いは、業者のサーバー時間や配信履歴によって異なります。日足の本数や形が違えば、ATR(1)の値も一致しないことがあります。週5本か週6本かだけで良し悪しを決めず、対象口座の実データを確認してください。
- 年色は期間を見分ける補助です。値が高い年が将来も高ボラティリティになる、あるいは特定の売買手法が有効になることを示しません。
- 直近3年という期間は原典の著者の見方であり、普遍的に正しい検証期間ではありません。短いデータだけで売買ルールを選ぶと、偶然への過剰適合を見落とすおそれがあります。
- ATRは値幅の大きさを表す指標です。価格の上昇・下落方向や、EAの有効期限を単独で判定するものではありません。
前後の記事¶
- 前の記事: 【移植#93】チャートスケールをオート/固定で切り替える
- 次の記事: 連載一覧をご覧ください。 次: 【移植#95】履歴を読み直してもローソクを重ねない — 時刻キーと所有範囲で再同期
あわせて読みたい記事¶
- 【移植#05】Bollinger Bands-Fibo — ATRバンドをフィボナッチ倍率で描画
- 【移植#13】OnChart RCI — 同値の順位問題をMQL5で解き直す
- 【EA化#03】BB-Fibo逆張りEA — ATRバンドからの反転を狙う
— SPONSORED —