【移植#62】Linear Regressionの謎を解く — 終値をすべて含む平行チャネル¶

この記事の3行まとめ
- 中心線は計算区間の終値に対する線形回帰で求める
- 上下線は中心線に平行で、区間内の全終値を含む幅にする
- 標準偏差チャネルや最高値・最安値チャネルとは別の定義として検証する
原典の「上下線は何か」という疑問¶
原典では、MT4のチャネルメニューにあるLinear Regressionの中心線は理解できるものの、上下線が標準偏差でも最高値・最安値でもないように見える、という疑問を扱っています。ラインチャートで観察すると、上下線には三つの特徴がありました。
- 中心線に平行
- 中心線から上下が等間隔
- 計算区間内のすべての終値を含む
MT5での再現式¶
配布インジケータは、入力期間の終値に対して最小二乗法の傾きを計算します。中心線との差の絶対値を全バーで調べ、その最大値をwidthとします。
center(x) = a + b x
width = max(|close(x) - center(x)|)
upper = center + width
lower = center - width
この定義なら、標準偏差のように外側へ終値がはみ出すことを前提にせず、最高値・最安値を別々に使わずに、三つの観察条件を同時に満たせます。
62_Linear_Regression_Envelope_v1_01.mq5 をダウンロード
注意点¶
このチャネルは、相場の将来範囲や売買方向を保証するものではありません。期間を動かせば回帰線も最大残差も変わるため、過去のチャネル幅を固定的なボラティリティ指標として扱わないでください。
検証結果¶
専用MT5(Build 6090、EURUSD・H1)でインジケータと独立capture EAをコンパイルし、エラー0・警告0でした。インジケータをメインチャートへ実際に装着し、中心線・上限・下限の300本すべてで有効値、正のチャネル幅、終値の包絡を確認してから撮影しています。画像エラーは0で、注文・ポジション操作はありません。
まとめ¶
Linear Regressionの上下線は、名前だけでは標準偏差と誤解しやすい表示です。中心線に平行な最大残差の包絡線として定義すれば、計算区間の全終値を含むチャネルとして再現できます。
前後の記事¶
前: 【移植#61】日時をUnix秒へ変換する — MT5のdatetimeを往復検証
次: 【移植#63】filesフォルダの外へ書かない — MT5共通領域の書き込みを監査