前回の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 | 点線、青 | インデュースメント — この水準を割り込むと、新たな構造上の極値が確定する。 |
各イベントラインは水平線で、そのレベルを設定したバーから、そのレベルを突破したバーまで 伸びています。したがって、ラインの長さは、そのレベルがどれくらいの期間維持されたかを示しています。
前の記事で 詳しく説明されているため、簡単に説明すると、高値は、価格がそれを形成したローソク足の安値を 再び下回って取引された場合にのみ、スイングとなります。形状によって決まることはありません。スイングはイベントであり、幾何学的な形ではないため、タイムスタンプを付与できるのです。
このレイヤーには、後続の分析において重要な2つの特性があります:
両方のレイヤーは、1本のクローズ済みバーずつ処理され、まずプルバック、次に構造の順で処理されます。したがって、構造がバーを評価する際には、その同じバー上で確定したスイングについてはすでに把握しています。
構造層が保持する要素は、正確に以下の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線 は、そのレベルを設定したバーから、そのヒゲがレベルに達したバーまでを、旧レベルの価格を 基準に引かれます。これが、そのレベルに滞留していた流動性です。弱気ケースはこれと全く逆で、構造安値を下回るヒゲがあり、その後、構造高値を上回る終値となります。
これを正確に判断するための3つのルールがあります:
ブレイクは一つの疑問に答えを提示する一方で、新たな疑問を生み出します。上昇トレンドにおいて価格が構造の高値を上回って引けた場合、BoS(ブレイクアウト・ポイント)が発生したことは分かりますが、新しい高値がどこにあるかはまだ分かりません。価格は依然として動いています。次のローソク足がさらに高値をつけた瞬間に、ブレイクしたローソク足を新しい高値と呼ぶのは誤りとなります。
その答えとなるのが「誘導点(IDM)」です。BoSが発生した瞬間:
その瞬間、点線のIDMライン が引かれます――それを設定した押し目から、それを突破したローソク足まで――そして構造上の高値マーカーが表示されます。この2つは常に一致するため、IDMラインはロジックを検証する上で有用な指標となります。すべての構造上の高値には、そのマーカーが表示されるバーで終わるIDMラインが存在するはずです。
弱気の場合もこれと逆になります。弱気ブレイク後、IDMは最も低い プルバック高値となり、これを捉えることで、その動きの最も低い安値として新たな構造安値が確認されます。
極値が形成されるまでは、構造のその側には水準が存在しないため、反対側の水準のみがブレイクされる可能性があります。これはルールとして必要とされるというよりは、設計上当然の結果です。IDMは常に構造の安値と同等かそれ以上の位置にあるため、価格が安値に達するには、まずIDMを突破し(高値を確認して)、その後で安値に到達する必要があります。
構造ポイントは、引き戻し層とまったく同じように交互に現れなければなりません。高値が2つ連続する場合は、構造ではなく、チェーンが途切れた状態となります。
強気のブレイクは、高値を 形成する過程にあります。チェーンの最新ポイントがすでに高値である場合、その間に安値が欠けているため、インジケーターはその高値とブレイクしたローソク足の間で最も低い安値を 抽出し、それを最初に表示します。最新ポイントがすでに安値である場合、チェーンは交互に形成されるため、何も挿入されません。
この1つのルールが、確立されたトレンドにおけるBoS、CHoCH、そしてシード後の最初のブレイクなど、あらゆるケースを網羅しています。弱気の場合もこれと対称であり、スイープされたレンジ内の最高値 となります。
| 状況 | 解決方法 |
|---|---|
| 1本のローソク足がIDMを形成し、かつ 反対側のレベルをクローズで突破した場合 | この順序で解釈する:まず極値が確認され、次にブレイクが記録される。これはまさに「スイープ→CHoCH」のケースであり、順序が重要である。 |
| 価格が先に反対方向にブレイクしたため、保留中の極値は決して確認されない | 追跡中の極値はその位置で公開され、その後ブレイクが処理される。何も失われることはなく、チェーンは依然として交互に推移する。 |
| ブレイクしたローソク足自体はIDMに戻る | ブレイクしたローソク足そのもので確認が行われることは決してありません。確認が行われるのは、早くても次のバーからです。 |
| IDMとして機能するプルバックはまだ存在しない | その代わりに、その側の現在の構造レベルが使用されます。これは、チャートの最も古いバーでのみ発生します。 |
プルバックレイヤーは再描画されず、その点については何も変更されていません。
構造レイヤーは再描画されますが、これは不具合ではなく、この手法の特性です。動く要素は2つあります:
極値がIDMによって確認され、それに対して保留中のスイープがない場合、その極値は確定します。イベント(BoS、CHoCH、x、IDM)は追記専用 であり、決して移動することはありません。
これを基に構築する場合は、IDMラインが存在するまでは構造上のポイントを暫定的なものと扱い、イベントを安定した記録として扱ってください。評価の対象となるのはクローズしたローソク足のみであり、形成中のローソク足は完全に無視されます。
| 入力 | デフォルト | 機能の説明 |
|---|---|---|
| まず、以下を探します | スイング高値の検索 | 最初のレッグがどちらの方向を探すか。チャート上の最も古いバーにのみ影響します。 |
| プルバックのブレイクは以下によって確認される | ウィック | インジケーター全体の 感度調整です。「ウィック」は Trading Hubのルールそのものです。「クローズ」 を選択すると、プルバックの回数は減りますが、その幅は大きくなります。その結果、構造的な動きの回数も減りますが、その規模は大きくなります。M1~M15の時間足や、金や指数CFDなどのノイズの多い銘柄では、こちらに切り替えてください。 |
| 入力 | デフォルト | 機能 |
|---|---|---|
| 基準値が以下の場合にエクストリームと判定 | ウィック | IDMの捉え方。「ウィック」 とは「接触」を意味します。「クローズ」は、その水準を突破して引けることを必要とし、これにより後の極値が確認される一方で、誘発時の浅い試行は除外されます。 |
| 流動性の急激な変動を検知する | true | 単純な構造の場合はオフにする:その場合、レベルは終値のみで判定され、「x」は 使用されず、ポイントは再配置されない。2つの読み取り値を並べて比較するのに役立つ。 |
期間、深さ、感度の設定はどこにもありません。この構造自体には独自のパラメータがありません。より大きな構造を表示したい場合は、時間枠を拡大するか、プルバックルールを「終値」に切り替えてください。
| グループ | 制御対象 |
|---|---|
| プルバック・ジグザグ | 基調となる微かなスイング — 色、スタイル、幅、または完全に非表示。 |
| 構造ジグザグ | 金の構造線。 |
| 構造マーカー | 構造の高値/安値にある矢印:Wingdingsコードとバーからのピクセル距離。矢印が非表示の場合でもバッファは埋まったままなので、iCustomは 引き続きすべてを認識します。 |
| 区切り線 | BoS、CHoCH、x、IDMにはそれぞれ異なる色を割り当て、線幅やキャプションも設定します。データが密集したチャートではキャプションを非表示にし、色で識別できるようにします。 |
構造イベント発生時のポップアップおよびプッシュ通知。これらはライブ更新時のみ発動し、履歴の読み込み中は決して発動せず、1つのイベントにつき1回のみ発動します。
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)
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
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は、ヘイキンアシのローソク足に2段階の平滑化を適用し、トレーダーが価格のノイズを除去し、トレンドの方向性を把握しやすくします。平滑化期間の調整機能、4種類の移動平均計算方法、およびローソク足の色のカスタマイズ機能を備えています。
Accelerator Oscillator (AC)
アクセルレーション/デセレレーションインジケーター(AC)は現在の市場を動かす力の加速と減速を測ります。