コンテンツにスキップ

【移植#02】SwingPoint View — 直近高値/安値を一目で確認

SwingPoint View インジケーターの実行結果

SwingPoint View インジケーターの実行結果(画像は後で追加予定)

この記事の3行まとめ

  • 📍 直近の高値/安値に価格と時刻をラベル表示
  • 🔍 チャートを見るだけでスイングポイントが把握できる
  • ⚙️ 前後N本(デフォルト10本)でスイング判定

はじめに

この記事は、「とあるMetaTraderの備忘秘録」様のブログ記事をMQL5に移植するシリーズの第2弾です。

外為どっとコムなど一部の業者チャートには「SwingPoint View」という機能があり、直近の高値・安値に価格と時刻が表示されます。これをMT5で再現しました。

元ネタ

MT4でSwingPoint View を表示する方法
https://fai-fx.hatenadiary.org/entry/20090909/1252422045
(2009年9月9日 公開)


スイングポイントとは

定義

スイングポイントとは、チャート上で価格が転換した地点のことです。

種類 定義
スイングハイ 前後N本のバーより高い位置にある高値
スイングロー 前後N本のバーより低い位置にある安値
graph LR
    A[価格上昇] --> B[スイングハイ]
    B --> C[価格下落]
    C --> D[スイングロー]
    D --> E[価格上昇]

なぜ重要か

スイングポイントは以下の分析に活用できます:

  • サポート/レジスタンスの特定
  • トレンドラインの起点
  • フィボナッチリトレースメントの基準点
  • エリオット波動のカウント

MQL5での実装ポイント

スイングポイントの検出ロジック

前後N本すべてのバーより高い(または低い)場合にスイングポイントと判定します。

MQL
bool IsSwingHigh(const double &high[], int index, int period)
{
   double centerHigh = high[index];

   //--- 前後N本より高いかチェック
   for(int i = 1; i <= period; i++)
   {
      if(high[index - i] >= centerHigh)
         return false;
      if(high[index + i] >= centerHigh)
         return false;
   }

   return true;
}

テキストオブジェクトの配置

MQL5ではOBJ_TEXTオブジェクトを使用して、チャート上にテキストを表示します。

MQL
if(ObjectCreate(0, name, OBJ_TEXT, 0, time, price))
{
   ObjectSetString(0, name, OBJPROP_TEXT, text);
   ObjectSetInteger(0, name, OBJPROP_COLOR, clr);
   ObjectSetInteger(0, name, OBJPROP_FONTSIZE, InpTextSize);
   ObjectSetInteger(0, name, OBJPROP_ANCHOR, anchor);
}

元記事の課題と解決

元記事で指摘されていた問題

MT4では縦軸のスケールを変えるとテキストが重なってしまう問題がありました。

解決策: TextGapPipsパラメータで間隔を調整可能にし、スケール変更時も見やすい表示を維持できるようにしています。


使い方

  1. インジケータをチャートにドラッグ&ドロップ
  2. パラメータを設定
  3. 直近の高値/安値に価格と時刻が表示されます

パラメータ

パラメータ デフォルト 説明
SwingBars 10 スイング判定期間(前後N本)
TextSize 9 テキストサイズ
HighColor 高値テキストの色
LowColor 安値テキストの色
MaxLabels 50 最大表示ラベル数
TextGapPips 10.0 価格と時刻の間隔(pips)

活用例

トレードへの応用

使い方の例

  1. レジスタンス確認: スイングハイの価格をレジスタンスラインとして意識
  2. 損切り設定: スイングローの少し下に損切りを配置
  3. エントリータイミング: スイングポイントをブレイクしたタイミングでエントリー

ブログ・分析への活用

元記事でも触れられていますが、相場観をブログで解説する際に、この情報があると説得力が増します。


ソースコードのダウンロード

この記事で紹介したインジケータをダウンロードできます。

ファイルの種類:インジケータ

保存先: MQL5/Indicators/ フォルダ
使い方: MT5のナビゲーターから「インディケータ」を展開し、チャートにドラッグ&ドロップで適用

02_SwingPointView.mq5 をダウンロード


関連記事・用語


MQL移植シリーズ一覧に戻る