無料でロボットをダウンロードする方法を見る
Twitter上で私たちを見つけてください。
私たちのファンページに参加してください
興味深いスクリプト?
それではリンクにそれを投稿してください。-
他の人にそれを評価してもらいます
スクリプトを気に入りましたか?MetaTrader 5ターミナルの中でそれを試してみてください。
インディケータ

引き戻しスイングから見る市場構造 — BOS、CHoCH、IDM - MetaTrader 5のためのインディケータ

Sandro Begashvili
Sandro Begashvili
Sandro Begashvili - MQL5、MQL4、Python、Pine Script 開発者
MetaTrader 4 と MetaTrader 5 向けの取引プログラムを開発しています。エキスパートアドバイザー、カスタムインジケーター、グラフィカルな取引パネルが対象です。ご要望をお伝えいただければ、動作するコードとドキュメントの形に仕上げます。
開発できるもの
エキスパートアドバイザー(EA)- MT4 および MT5 向けの自動売買戦略
インジケーター - アラートやマルチタイムフレームに対応した独自の分析ツール
| Japanese English Русский 中文 Español Deutsch Português 한국어 Français Italiano Türkçe
ビュー:
18
評価:
(1)
パブリッシュ済み:
MQL5フリーランス このコードに基づいたロボットまたはインジケーターが必要なら、フリーランスでご注文ください フリーランスに移動



前回のCodeBase記事「SMCプルバック・インジケーター」では、ある疑問――「実際に重要な高値・安値とはどれか?」――に答えました。 意図的にそこで話を打ち切り、説明文にもその旨を明記しました。つまり、HH/HLラベルも、BoSも、CHoCHも、IDMも使用しないということです。これらは、まず信頼性の高いスイングのセットが必要となる、別のステップだからです。

このインジケーターは、まさにその次のステップです。 これは、Smart Money Concepts(SMC)が定義する市場構造を 可視化するものであり、同じプルバック検出機能——このクラスは変更なしで ここに含まれているため、ファイルは単独で動作し、インストールに必要な依存関係はありません——を基盤として、その上に市場構造を構築します。具体的には、トレンド、1つの「ライブ高値」、1つの「ライブ安値」、そしてそれらを動かす4つのイベントです。BoS、CHoCH、IDM、そして「x」とマークされた流動性スイープ。


チャート上に表示されるもの

要素 外観 意味
プルバックのジグザグ 細く淡い線 プルバックのルールによって検出されたすべてのスイング。これは意図的に淡く描かれた「素材」であり、シグナルではなくコンテキストである。
構造ジグザグ 太い金色の線 構造が実際に使用する高値と安値のみ。薄い線のうちのごく一部です。
構造マーカー 上/下の矢印 構造の高値・安値そのもの。
BoS 点線、緑色 構造のブレイク — トレンドに沿って その水準が突破された。
CHoCH 破線、赤 相場性の変化(Change of Character) — トレンドに逆らって その水準が突破された。ここでトレンドが反転する。
x 実線、紫色 流動性スイープ — この水準はヒゲだけで突破され、その後価格は逆方向に動いた。
IDM 点線、青 インデュースメント — この水準を割り込むと、新たな構造上の極値が確定する。

各イベントラインは水平線で、そのレベルを設定したバーから、そのレベルを突破したバーまで 伸びています。したがって、ラインの長さは、そのレベルがどれくらいの期間維持されたかを示しています。

レイヤー 1:引き戻しのスイング

前の記事で 詳しく説明されているため、簡単に説明すると、高値は、価格がそれを形成したローソク足の安値を 再び下回って取引された場合にのみ、スイングとなります。形状によって決まることはありません。スイングはイベントであり、幾何学的な形ではないため、タイムスタンプを付与できるのです。

このレイヤーには、後続の分析において重要な2つの特性があります:

  • 出力は厳密に「高値、安値、高値、安値」と交互に繰り返されます。2つの高値が連続することは決してありません。
  • スイングは、それが位置するローソク足よりも後に 確定する。構造レイヤーがプルバックを認識するのは、それが確定してからである。そのため、まだ暫定的なスイングに基づいて構造を構築することは決してできない。

両方のレイヤーは、1本のクローズ済みバーずつ処理され、まずプルバック、次に構造の順で処理されます。したがって、構造がバーを評価する際には、その同じバー上で確定したスイングについてはすでに把握しています。

レイヤー2:構造

構造層が保持する要素は、正確に以下の3つです:

状態 意味
トレンド なし、上昇、または下降
構造的高値 現時点で重要な高値 — この水準を突破すれば強気となる
構造的な安値 現時点で重要な安値 — この水準を割り込むと弱気となる

これは、最初の押し目高値と最初の押し目安値 から生成され、トレンドは「なし」 に設定されています。その時点以降、押し目レイヤーは構造に再び書き込まれることはなく、後述する参照水準を提供するのみとなります。

ブレイクルール:終値でのブレイク、ヒゲによるスイープ

この単一の区別により、4つのイベントタイプのうち3つが生成されます:

A level is broken only when a candle closes beyond it. A candle whose wick alone goes beyond it has swept it.


したがって、トレンドと2つのレベルが現状のままの場合、すべてのクローズ済みローソク足について:

トレンド ローソク足の動き イベント
なし 高値を上回って引けた/安値を下回って引けた BoS— トレンドが上昇/下降に転じる
上昇 構造上の高値を上回って 引けた BoS— トレンド継続、上昇トレンドが維持される
上昇 構造の安値を下回って 引けた CHoCH— トレンドが下落に転じる
下落 構造的な安値を下回って 引けた BoS— 継続、トレンドは下落のまま
下落 構造高値を上回って 引けた CHoCH— トレンドが上昇に転じる
いずれの ある水準を超えたヒゲが出ても、終値は再びその水準内に収まる スイープの候補— 覚えておく、まだ何も描かれていない
いずれにせよ 両方の水準の範囲内に留まった なし

つまり、BoSとCHoCHは同じイベント、すなわちレベルを突破してクローズすることである。ラベルを決定づける唯一の要素は、そのブレイクがすでに形成されているトレンドと一致しているかどうかである。まだトレンドが存在しない場合、変化すべき特性がないため、定義上、最初のブレイクはBoSとなる。

スイープ:ヒゲが「x」になる場合

レベルを貫通するヒゲは、それ自体ではイベントとはみなされない。その時点では曖昧であるため、記録され、保留状態となる――次のローソク足で価格が単にそのレベルを貫通して引ける可能性もあるからだ。その場合は、単なるブレイクの兆候であり、スイープではない。

x となるのは、次のブレイクが反対 側で発生した場合のみです。上昇トレンドにおける典型的な一連の流れは以下の通りです:


  1. 価格がヒゲを伴って構造の高値を上抜けるが、引けは再びその下に戻る。スイープの候補として記録される。チャート上には何も表示されない。
  2. 価格が反転し、構造の安値を下回って引ける。
  3. これで曖昧さが解消されます。上昇の動きは流動性の獲得であったため、インジケーターは構造高値をスイープされたローソク足上に移動させ(マーカーと両方のジグザグの脚もそれに追従します)、実線の「x」 を描き、その時点で初めてCHoCHを 記録します。

高値を移動させることこそが、この一連の作業の要点です。反転が始まったスイングは、通過した以前の高値ではなく、スイープローソク足であり、その後導き出されるすべてのレベルはそこから測定されるべきです。

x線 は、そのレベルを設定したバーから、そのヒゲがレベルに達したバーまでを、旧レベルの価格を 基準に引かれます。これが、そのレベルに滞留していた流動性です。弱気ケースはこれと全く逆で、構造安値を下回るヒゲがあり、その後、構造高値を上回る終値となります。

これを正確に判断するための3つのルールがあります:

  • 複数のローソク足のヒゲがその水準を貫通している場合、最も遠い位置にある ものが優先される。
  • その後、価格が同じ方向にそのレベルを突破して引けた 場合、それは通常のブレイクとみなされ、スイープ候補は除外されます。
  • 新しい構造ポイントが公表され 次第、スイープ候補は除外される。構造が変化した時点で、古いヒゲは陳腐化しており、遡及的にポイントを再配置してはならない。

IDM:新たな極値の確認

ブレイクは一つの疑問に答えを提示する一方で、新たな疑問を生み出します。上昇トレンドにおいて価格が構造の高値を上回って引けた場合、BoS(ブレイクアウト・ポイント)が発生したことは分かりますが、新しい高値がどこにあるかはまだ分かりません。価格は依然として動いています。次のローソク足がさらに高値をつけた瞬間に、ブレイクしたローソク足を新しい高値と呼ぶのは誤りとなります。

その答えとなるのが「誘導点(IDM)」です。BoSが発生した瞬間:


  1. 直近の押し目安値 が基準――すなわちIDM――となります。
  2. 価格は上昇を続け、インジケーターは到達した最高値を追跡するが、何も表示しない。
  3. 現在のIDMより上で新たな押し目安値が形成される たびに、IDMはその水準まで引き上げられます。基準となるのは、常にブレイク以降に見られた最も高い 押し目安値です。
  4. 価格が最終的に反転し、IDMを突破した 時点で、新たな構造的高値が確定します。これは、ブレイクしたローソク足とIDMを突破したローソク足との間の最高値 です。

その瞬間、点線のIDMライン が引かれます――それを設定した押し目から、それを突破したローソク足まで――そして構造上の高値マーカーが表示されます。この2つは常に一致するため、IDMラインはロジックを検証する上で有用な指標となります。すべての構造上の高値には、そのマーカーが表示されるバーで終わるIDMラインが存在するはずです。

弱気の場合もこれと逆になります。弱気ブレイク後、IDMは最も低い プルバック高値となり、これを捉えることで、その動きの最も低い安値として新たな構造安値が確認されます。

極値が形成されるまでは、構造のその側には水準が存在しないため、反対側の水準のみがブレイクされる可能性があります。これはルールとして必要とされるというよりは、設計上当然の結果です。IDMは常に構造の安値と同等かそれ以上の位置にあるため、価格が安値に達するには、まずIDMを突破し(高値を確認して)、その後で安値に到達する必要があります。

チェーンをジグザグに保つ

構造ポイントは、引き戻し層とまったく同じように交互に現れなければなりません。高値が2つ連続する場合は、構造ではなく、チェーンが途切れた状態となります。

強気のブレイクは、高値を 形成する過程にあります。チェーンの最新ポイントがすでに高値である場合、その間に安値が欠けているため、インジケーターはその高値とブレイクしたローソク足の間で最も低い安値を 抽出し、それを最初に表示します。最新ポイントがすでに安値である場合、チェーンは交互に形成されるため、何も挿入されません。

この1つのルールが、確立されたトレンドにおけるBoS、CHoCH、そしてシード後の最初のブレイクなど、あらゆるケースを網羅しています。弱気の場合もこれと対称であり、スイープされたレンジ内の最高値 となります。

境界ケースについて、率直に述べる

状況 解決方法
1本のローソク足がIDMを形成し、かつ 反対側のレベルをクローズで突破した場合 この順序で解釈する:まず極値が確認され、次にブレイクが記録される。これはまさに「スイープ→CHoCH」のケースであり、順序が重要である。
価格が先に反対方向にブレイクしたため、保留中の極値は決して確認されない 追跡中の極値はその位置で公開され、その後ブレイクが処理される。何も失われることはなく、チェーンは依然として交互に推移する。
ブレイクしたローソク足自体はIDMに戻る ブレイクしたローソク足そのもので確認が行われることは決してありません。確認が行われるのは、早くても次のバーからです。
IDMとして機能するプルバックはまだ存在しない その代わりに、その側の現在の構造レベルが使用されます。これは、チャートの最も古いバーでのみ発生します。

再描画について — 使用する前に必ずお読みください

プルバックレイヤーは再描画されず、その点については何も変更されていません。

構造レイヤーは再描画されますが、これは不具合ではなく、この手法の特性です。動く要素は2つあります:

  • 未確定の極値 は、価格が伸び続けるにつれて、IDMが確定する直前まで移動します。これはリアルタイムで表示されるため、暗中模索するのではなく、構造が形成されていく様子を目視できます。
  • スイープ は、設計上、ポイントを後方に再配置します。それが「x」の本来の目的です。

極値がIDMによって確認され、それに対して保留中のスイープがない場合、その極値は確定します。イベント(BoS、CHoCH、x、IDM)は追記専用 であり、決して移動することはありません。

これを基に構築する場合は、IDMラインが存在するまでは構造上のポイントを暫定的なものと扱い、イベントを安定した記録として扱ってください。評価の対象となるのはクローズしたローソク足のみであり、形成中のローソク足は完全に無視されます。

入力

プルバック層

入力 デフォルト 機能の説明
まず、以下を探します スイング高値の検索 最初のレッグがどちらの方向を探すか。チャート上の最も古いバーにのみ影響します。
プルバックのブレイクは以下によって確認される ウィック インジケーター全体の 感度調整です。「ウィック」は Trading Hubのルールそのものです。「クローズ」 を選択すると、プルバックの回数は減りますが、その幅は大きくなります。その結果、構造的な動きの回数も減りますが、その規模は大きくなります。M1~M15の時間足や、金や指数CFDなどのノイズの多い銘柄では、こちらに切り替えてください。

市場構造

入力 デフォルト 機能
基準値が以下の場合にエクストリームと判定 ウィック IDMの捉え方。「ウィック」 とは「接触」を意味します。「クローズ」は、その水準を突破して引けることを必要とし、これにより後の極値が確認される一方で、誘発時の浅い試行は除外されます。
流動性の急激な変動を検知する true 単純な構造の場合はオフにする:その場合、レベルは終値のみで判定され、「x」は 使用されず、ポイントは再配置されない。2つの読み取り値を並べて比較するのに役立つ。

期間、深さ、感度の設定はどこにもありません。この構造自体には独自のパラメータがありません。より大きな構造を表示したい場合は、時間枠を拡大するか、プルバックルールを「終値」に切り替えてください。

表示

グループ 制御対象
プルバック・ジグザグ 基調となる微かなスイング — 色、スタイル、幅、または完全に非表示。
構造ジグザグ 金の構造線。
構造マーカー 構造の高値/安値にある矢印:Wingdingsコードとバーからのピクセル距離。矢印が非表示の場合でもバッファは埋まったままなので、iCustomは 引き続きすべてを認識します。
区切り線 BoS、CHoCH、x、IDMにはそれぞれ異なる色を割り当て、線幅やキャプションも設定します。データが密集したチャートではキャプションを非表示にし、色で識別できるようにします。

アラート

構造イベント発生時のポップアップおよびプッシュ通知。これらはライブ更新時のみ発動し、履歴の読み込み中は決して発動せず、1つのイベントにつき1回のみ発動します。

EAからの使用方法

5つのバッファ。空の値は0.0 です。

バッファ 内容
0 構造体の高 値
1 構造物の価格が安い
2 各バーのトレンド:1= 上昇、-1= 下降、0=なし
3 確認された押し 目の高値
4 確認済みの押し 目安値の価格
int h = iCustom(_Symbol, _Period, "SMC_MarketStructure");
double trend[];
CopyBuffer(h, 2, 0, 1, trend);   // 1 = up, -1 = down, 0 = none

バッファ2は、形成中のバーを含めすべての バーで埋まるため、シフト0 で読み取ると常に現在のトレンドが返されます。他の4つは本質的に疎なデータです。

どちらのエンジンも、バッファやチャートへの依存関係を持たない独立したクラスです。CPullbackDetectorは 価格配列を受け取り、確認済みのスイングを報告し、CMarketStructureは バーデータとそれらのスイングを受け取り、ポイントチェーンとイベントリストを報告します。iCustom を経由したくない場合は、両方をEAに直接コピーできます。iCustomを経由するとイベントも取得できますが、これらはバッファを通じて公開されていません。

意図的に実装されていない機能

構造の分析にとどまります。注文ブロック、フェアバリューギャップ、プレミアム/ディスカウントゾーン、エントリーポイント、HH/HL/LH/LLのラベル付けは行いません。これらすべてには、まず信頼できるトレンドと信頼できる2つのレベルが必要です。本ツールはまさにそれを提供し、そのすべての判断はチャート上で確認可能なラインとして可視化されます。

MetaQuotes Ltdによって英語から翻訳されました。
元のコード: https://www.mql5.com/en/code/78245

EA Template - signal-agnostic MT5 Expert Advisor framework (risk sizing, SL and TP, trailing, filters) EA Template - signal-agnostic MT5 Expert Advisor framework (risk sizing, SL and TP, trailing, filters)

A reusable Expert Advisor template for MT5. Write your own entry logic in one function (GetSignal returns +1, -1 or 0); the template handles lot sizing, SL/TP with stop-level checks, break-even, trailing stop, spread / time / weekday / news filters, order filling, retries and netting / hedging accounts. The included MA cross is an example signal only, not a trading strategy.

Session Range Boxes - Asia, London, New York with breakout alerts Session Range Boxes - Asia, London, New York with breakout alerts

Draws the high/low range of up to three trading sessions (default Asia, London, New York) as boxes, with optional extended level lines, range-size labels and one-time breakout alerts. Display tool only - it does not trade.

QCL Heikin Flow MT5 QCL Heikin Flow MT5

QCL Heikin Flowは、ヘイキンアシのローソク足に2段階の平滑化を適用し、トレーダーが価格のノイズを除去し、トレンドの方向性を把握しやすくします。平滑化期間の調整機能、4種類の移動平均計算方法、およびローソク足の色のカスタマイズ機能を備えています。

Accelerator Oscillator (AC) Accelerator Oscillator (AC)

アクセルレーション/デセレレーションインジケーター(AC)は現在の市場を動かす力の加速と減速を測ります。