【移植#91】トレンドラインの平均速度をpips/hで表示 — 画面の角度に頼らない¶

この記事の3行まとめ
- 画面上の角度はズームや価格軸の倍率で変わるため、価格差を時間で割った平均速度を表示します
- チャート上のトレンドラインの2点から、符号付きのpips/hを計算します
- EURUSD・M15で作った3本の検証ラインは、+24.0、-12.5、+0.0 pips/hと一致しました
ラインの角度より、時間あたりの値幅を見る¶
2010年4月30日の原典は、急落や急騰の値幅だけでなく、その平均速度も知りたいという相談から始まります。例として、5分足5本で75pipsなら25分あたり3pips、1時間足5本で120pipsなら1時間あたり24pipsと計算しています。
記事の前半では、チャート上で測った45度などの角度は、縦横比や価格軸のスケールを変えると意味が変わると注意しています。相場の速さを比べたいなら、画面の角度ではなく「24pips/hour」のような価格変化率を使う、という考え方です。後半では、トレンドラインへ角度を表示する常駐スクリプトを紹介し、pips/hを示す派生版にも触れていました。
今回はその説明を手がかりに、通常のトレンドラインの2つの時刻・価格アンカーを読み、後の時刻における平均速度を表示するMT5インジケーターを独立して作りました。原典の配布スクリプトと同じコードではありません。
2つのアンカーから計算する¶
計算に使うのは、ラインの左側と右側にある2点です。時間が逆順に設定されていても、時刻を並べ直して後の価格から前の価格を引きます。
たとえば、1時間で24pips上がる2点を結ぶと+24.0 pips/h、同じ時間で12.5pips下がると-12.5 pips/hです。価格が変わらない線は+0.0 pips/hになります。アンカーの経過時間が0秒なら速度を定義できないため、その線のラベルは作りません。
バーの本数に時間足を掛ける代わりに、実際のアンカー時刻の差を秒で使います。週末や休場をまたぐラインでも、チャート上で指定した2時点の間隔がそのまま計算へ反映されます。ラインを右へ延長していても、値は2つのアンカー間の平均速度です。
画面上の角度と混同しない¶
見た目の角度は、チャートの縦横比や価格スケール、ズームを変えるだけでも変わります。一方、同じ2点から計算するpips/hは、画面表示の倍率には影響されません。チャートの拡大縮小後も同じ値として読めます。
3桁・5桁のFX銘柄では、初期設定で1pipを_Point × 10として扱います。2桁・4桁の銘柄では_Pointを使います。FX以外の銘柄で別のpip幅を使いたい場合は、InpPipSizeへ1pip分の価格幅を指定してください。初期値0は桁数から推定する設定です。
MT5上で3つの既知値を確認¶
専用MT5 Build 6230で、配布インジケーターと検証用EAをともに0エラー・0警告でコンパイルしました。EURUSD・M15に1時間の差があるアンカーを持つ3本のテスト用トレンドラインを作り、既知の速度が表示されるかを照合しました。
結果は上昇ライン+24.0 pips/h、下降ライン-12.5 pips/h、水平ライン+0.0 pips/hで、3件すべてが期待値と一致しました。インジケーターは元のトレンドラインを削除・変更せず、検査前後の注文とポジションも0件でした。画像はこのMT5チャートを撮影しています。
この検証は、指定したアンカーから単位換算が正しく行われることを確かめたものです。過去相場での値動きや、平均速度を使う売買の成績を調べたものではありません。
使い方¶
91_Trendline_Speed_v1_00.mq5 をダウンロード
- ファイルをMT5データフォルダの
MQL5/Indicatorsに保存して、MetaEditorでコンパイルします。 - メインチャート上のラインを対象とするチャートへインジケーターを追加します。
- 標準の「トレンドライン」を引くと、後の時刻のアンカー付近へ速度ラベルが表示されます。ラインを動かしたり、チャートをスクロール・拡大縮小したりすると表示も更新されます。
InpPipSizeは独自の1pip幅、InpRefreshSecondsは再確認の間隔、InpFontSizeはラベルの文字サイズです。InpMaxObjectsToScanは走査するチャートオブジェクト数の上限で、初期値は500です。チャートのオブジェクトがこの数を超えた場合、走査を省略して既存のラベルを保ち、ログへ一度だけ警告します。必要に応じて上限を調整してください。
この版が対象にするのは通常のトレンドラインです。水平線、チャネル、角度指定ラインなど別のオブジェクトは処理しません。インジケーターを外すときは、O91_TrendSpeed_で始まる自分のラベルだけを削除します。
注意点¶
平均速度は、線の2点間の変化を一つの数字にしたものです。途中で大きく上下していても、その経路や変動の激しさは分かりません。pips/hの数値から反転時刻や将来価格を予測することもできません。
参考¶
あわせて読みたい記事¶
前: 【移植#90】MTFサポート・レジスタンスを自動更新 — フラクタルの更新範囲を見直す
次: 【移植#92】ZigZagの各スイングをpips/hで表示 — 変わる折れ点も見分ける