Ironframe SMC Gold Order Blocks Liquidity MT5
- インディケータ
- バージョン: 1.37
Range-Bound Edition · v1.31
機関投資家が実際に使用する市場構造でゴールドをトレードする
ほとんどのリテール向け Smart Money Concept(SMC)ツールは、チャート上にオーダーブロックや流動性スイープを表示し、その情報を信頼するかどうかをトレーダー自身に委ねています。Ironframe SMC Gold MT5: Order Blocks, Liquidity は、それだけでは終わりません。
本システムが生成するすべてのシグナルは、確認済みの価格アクション構造であり、さらに最大3つの機関投資家レベルのコンテキスト――実際のオプション市場ポジショニング、マクロファンダメンタルズ、市場センチメント――と照合されます。これらを1つの明確なシグナルへ統合することで、3つのインジケーターがチャート上で互いに矛盾するような状態を避けます。
このシステムは、すでにオーダーブロック、流動性スイープ、需給ゾーンを理解しており、単に構造を描画するのではなく、市場構造を検証するシステムを求めるトレーダー向けに設計されています。
他との違い
-
完全なSMC構造エンジン —— オーダーブロック、流動性スイープ、需給ゾーンを、すべて確認済みの確定足価格アクションから構築します。ローソク足が確定した瞬間にシグナルがロックされ、その後リペイントされることはありません。
-
単なる構造ではなく、多層的な確認。 すべての構造シグナルは、チャートに表示される前に、ダイバージェンス、エグゾースチョン、アブソープションの検出結果と照合されます。つまり、単なるパターン一致ではなく、価格構造とオーダーフロー挙動の一致を確認しています。
-
実際のオプション市場とのコンフルエンス。 COMEX Gold先物オプションの実データから、実際のOpen Interest、Max Pain、流動性レベルを直接取得します。合成データではなく、実際のゴールドオプション市場で大口ポジションがどこに存在するのかを確認できます。
-
マクロ環境を考慮した設計。 内蔵パイプラインがFRBのバランスシート、CPI/PPI、雇用統計を読み取り、マクロ環境を無視するのではなく、シグナルをより広いマクロレジームと整合させます。
-
センチメント対応。 CFTC Commitment of Traders(COT)ポジショニングと市場Fear & Greedが、逆張りフィルターとして機能します。極端なセンチメント値は、エントリー許可ではなく、逆方向への反転機会として扱われます。
-
目的別の2つのモード。 トレンド環境向けのスコアリング型 Conservative Mode と、レンジ・保ち合い相場向けに設計された Range-Bound Mode。本ビルドではRange-Bound Modeがデフォルトであり、ストラクチャーと平均回帰がモメンタムより重要になる環境向けにストラテジーテストによって調整されています。
-
すぐに使えて、必要に応じて拡張可能。 上記の高度な各レイヤーはすべてオプションです。設定なしで読み込み、最初の足から検証済み構造のみで動作します。必要になった時点でオプションデータ、マクロデータ、センチメントデータを追加できます。コアエンジン以外の機能は、シグナル生成に必須ではありません。
このマニュアルでは、完全なオプションデータソースを追加する方法から、初回のゼロ設定での起動まで、必要な設定をすべて説明します。
1. クイックスタート
-
.mq5 ファイルをMT5の MQL5\Indicators フォルダーへコピーします(MT5内で File → Open Data Folder を選択)。その後MetaEditorでコンパイルします。
-
ゴールドのチャートへインジケーターを適用します(他の銘柄でも動作しますが、本ファイルのデフォルト値および説明はすべてXAUを前提としています)。
-
すべての入力値をデフォルトのままにします。本ビルドは Range-Bound Mode で起動します。これは本ビルドで調整されたモードです。ダイバージェンス検出は有効ですが、チャート上のマーカーは非表示です(理由はSection 2を参照)。
-
適用後はExpertsログを確認します。自動ファンダメンタルズ/センチメント取得に失敗した場合は明確に表示され、チャート上の情報パネルでは現在のモード、レジーム、シグナルスコアリング状態を一目で確認できます。
-
オプション市場とのコンフルエンスを使用する場合は、Section 11から1つの方法を選択します。使用しない場合は完全にスキップできます。インジケーターはオプションデータなしでも正常に動作します。
2. シグナルモード
enum ENUM_SIGNAL_MODE { MODE_CONSERVATIVE, MODE_RANGEBOUND };
-
Conservative Mode(保守モード) —— ポイント式スコアリングシステムです。オーダーブロック、スイープ、ダイバージェンス、エグゾースチョン、アブソープション、Clusterコンフルエンス、Optionsコンフルエンスがそれぞれスコアに加算され、合計スコアが MinSignalScore (デフォルト4)を超えた場合のみシグナルが発生します。このモードでは、レジームフィルター(Section 12のファンダメンタルズ/センチメント判定)が現在の市場バイアスと逆方向のシグナルをブロックします。
-
Range-Bound Mode(レンジモード) (本ビルドのデフォルト) —— 1つの構造条件(オーダーブロック または 有効なDemand/Supplyゾーン)と、1つの確認条件(ダイバージェンス、エグゾースチョン、または アブソープション)が必要です。さらに RangeBoundMinScore (デフォルト2)による最低スコア条件も必要です。この値は、元の常時有効ゲートを正確に再現する値です。Cluster/Optionsコンフルエンスをより重視したい場合にのみ引き上げてください。レジームフィルターはこのモードでは方向をブロックしません。つまり、ファンダメンタルズ/センチメントのバイアスに関係なく、買いと売りの両方向が有効です。
重要 — RequireDivergence 、 RequireOrderBlock 、 RequireSweep を変更する前に必ず読んでください。
この3つは Conservative Modeでのみ有効です。デフォルトのRange-Bound Modeでは、これらの入力値は一切機能しません。そのため、Range-Bound Modeでこれらを調整する必要はありません。 RequireDivergence は、将来的にConservative Modeへ戻した場合にも一貫した動作になるよう、デフォルトで false に設定されています。
3. コア構造検出
| 入力値 | デフォルト | 制御内容 |
|---|---|---|
| SwingWing | 3 | スイング高値/安値を確定するために、ローソク足の左右に必要なバー数。低いほどスイング数が増えノイズも増加。高いほどスイング数は減少し、より重要なポイントになります。 |
| SwingLookback | 100 | ダイバージェンスまたはスイープ構造を確認する際、過去のスイングポイントを検索する範囲。 |
| ATRPeriod | 14 | インジケーター内のほぼすべての距離ベース閾値をスケーリングするATR期間。ディスプレイスメント、エグゾースチョン、アブソープション、ダイバージェンススイングフィルターなどに使用。 |
| OBDisplacementMult | 1.0 | オーダーブロックのディスプレイスメント足として認定されるために必要な、ローソク足実体サイズ/ATR比率の最低値。 |
| OBMaxWickRatio | 0.3 | ディスプレイスメント足のレンジに対するヒゲの最大割合(0~1)。レンジは大きいものの、ほとんどがヒゲであるローソク足を除外します。 |
| SDMoveMultiple | 3.0 | 後続の爆発的な値動きが、基準ローソク足のレンジの何倍に達すればSupply/Demandゾーンとして認定するか。 |
| EquilibriumBandPct | 0.05 | 検出されたレンジの50%レベル周辺に設定されるEquilibrium(均衡)バンドの幅。 |
4. 確認検出器
| 入力値 | デフォルト | 制御内容 |
|---|---|---|
| EnableExhaustion | true | エグゾースチョン検出器のメインスイッチ。 |
| ExhaustionWickMult | 0.6 | ローソク足がエグゾースチョンとして認定されるために必要な最低ヒゲ/レンジ比率。 |
| ExhaustionBodyMult | 0.3 | そのヒゲ条件と同時に許容される最大実体/レンジ比率。 |
| EnableAbsorption | true | アブソープション検出器のメインスイッチ。 |
| AbsorptionVolFactor | 1.5 | アブソープションとして認定されるために必要な最低出来高/平均出来高倍率。 |
| AbsorptionRangeFactor | 0.8 | ATRに対する最大レンジ比率(アブソープション = 高出来高+小さい値幅)。 |
| AbsorptionRejectPct | 0.2 | 必要とされる最低ヒゲリジェクション比率。 |
| EnableDivergence | true | ダイバージェンス検出器のメインスイッチ。 DrawDivergenceMarks がオフでもオンのままにしてください。 |
| DrawDivergenceMarks | false(本ビルド) | 視覚表示のみを制御します。 DIV_ チャートマーカーを表示/非表示にするだけで、シグナル生成には影響しません。 |
| DivergenceMinSwingATR | 1.0 | 2つのスイングをダイバージェンス比較する前に必要となる最低価格差(ATR単位)。ノイズレベルのスイングを除外します。 |
| MaxTickBars | 50 | ダイバージェンスに実際の買い/売りTick Deltaを使用できる最新バー数。それより古いバーでは自動的にRaw Tick Volumeへフォールバックします。 |
5. Clusterコンフルエンス
| 入力値 | デフォルト | 制御内容 |
|---|---|---|
| UseClusterScoring | true | 同一バーで複数の確認条件が同時発生した場合、スコアボーナスを付与するかどうか。 |
| MinClusterSignals | 3 | ボーナスを発生させるために同時に一致する必要がある確認条件数。 |
| ClusterBonusScore | 2 | シグナルスコアに追加されるボーナス値。 |
6. Supply & Demandゾーン
| 入力値 | デフォルト | 制御内容 |
|---|---|---|
| DrawSupplyDemandZones | true | ゾーン描画エンジンのメインスイッチ。 |
| SDLookback | 100 | 条件を満たす「ベース+爆発的値動き」パターンを探すために過去へ検索するバー数。 |
| SDMaxBaseCandles | 4 | 爆発的な値動きの前に許容されるベース(コンソリデーション)ローソク足の最大数。 |
| SDDisplacementMult | 0.5 | ゾーンから離れる爆発的値動きに必要な最低実体/ATR比率。 OBDisplacementMult とは別で、こちらのほうが緩い条件です。ゾーンとオーダーブロックは独立して検出されます。 |
| SDMaxZonesShown | 3 | チャート上に同時に表示できるゾーンの最大数。 |
| SupplyZoneColor / DemandZoneColor | Red / Blue | チャート上の色。 |
7. 上位時間足フィルター
| 入力値 | デフォルト | 制御内容 |
|---|---|---|
| UseHTFFilter | true | シグナル発生前に、上位時間足の方向性判断との一致を要求するかどうか。 |
| HTFTimeframe | H4 | チェックする上位時間足。 |
| HTFLookbackBars | 20 | トレンド判定で確認する過去の確定H4バー数。 |
| HTFNeutralPct | 0.05 | HTFトレンドがフラットに近く、ニュートラル(ロング/ショートのどちらもブロックしない)と判断される範囲。 |
8. セッションフィルター
| 入力値 | デフォルト | 制御内容 |
|---|---|---|
| AllowedSession | SESSION_ALL | シグナルを特定セッションに限定します: SESSION_ALL 、 SESSION_LONDON 、 SESSION_NEWYORK 、 SESSION_LONDON_NY 。 |
| UTCOffsetHours | 0 | ブローカーのサーバー時間がUTCと異なる場合に調整します。 |
9. シグナルクールダウン & 古いゾーンの減衰
| 入力値 | デフォルト | グループ | 制御内容 |
|---|---|---|---|
| SignalCooldownBars | 5 | Signal Cooldown | 同じゾーンから2回のシグナルが発生するまでに必要な最低バー数。価格移動が十分でない場合は最低価格距離条件も使用され、同一レベルが何度も発火するのを防ぎます。 |
| MaxBarAgeForSignal | 25 | Stale Zone Decay | オーダーブロックが新しいシグナルの有効構造として認定される最大経過バー数。この値は矢印が表示されるかどうかを制御し、Section 13のアラートタイミング設定とは異なります。 |
10. リスク管理プロトコル
強気または弱気のオーダーブロックが検出されると、チャート上にTP1 / TP2 / TP3(デフォルトのフィボナッチ拡張値は1.618 / 2.618 / 4.236)とBE基準線が表示されます。
チャートに記載されているルールを正確に守ってください:TP1が表示されたらストップロスをブレークイーブンへ移動します。オーダーブロックシグナルが発生した瞬間ではありません。
BEラインはオーダーブロックの端に固定された参考レベルです。実際にストップロスを移動するトリガーはTP1到達です。この操作はトレーダー自身が手動で行う必要があります。インジケーターがストップロスを自動変更することはありません。
| 入力値 | デフォルト |
|---|---|
| EnableFibTargets | true |
| FibTP1 / FibTP2 / FibTP3 | 1.618 / 2.618 / 4.236 |
| FibTP1Color / FibTP2Color / FibTP3Color | Yellow / Orange / Red |
| TrailBEColor | White |
11. オプション・コンフルエンス — 2つのデータソース
「Options Liquidity Confluence」スコアボーナスへ実際のオプション市場データを入力する方法は2つあります。どちらか1つだけで十分です。両方使用しなくてもインジケーターは正常に動作します。
Option A — FlashAlpha Live API(便利だが代理データ)
-
lab.flashalpha.com で無料APIキーを取得します。
-
UseLiveAPI = true に設定し、キーを FlashAlpha_API_Key に貼り付けます。
-
FlashAlpha_Expiration に希望する限月の満期日を yyyy-MM-dd 形式で入力します。無料プランでは「全満期日」を一度に照会できないため、この設定は必須です。
-
特別な理由がない限り、 FlashAlpha_Symbol はデフォルトの NEM のままにします。
取得しているデータについて理解しておいてください:
FlashAlphaの無料プランでは実際のCOMEX Goldオプションを提供していません。そこで、流動性がありゴールドと相関するNEM(Newmont、金鉱山会社の株式)をプロキシとして使用します。
インジケーターはプロキシ株式のStrike価格をゴールドチャート上に直接表示することはありません。使用するのはプロキシのNet Gamma / GEXの読み値のみです。
したがって、Live APIモードの「Options Confluence」は、関連銘柄から得られるセンチメント・プロキシであり、ゴールドそのものの実際のオプションポジショニングではありません。
Option B — Barchart.com 月次CSV(実際のゴールドオプション、手動更新)
これは実際のCOMEX Gold(GC)先物オプションデータであり、プロキシではありません。
-
BarchartのGold futures options chain( barchart.com/futures/quotes/GC*0/options )を開き、契約月を選択してチェーンをCSVとしてダウンロードします。
-
CSVの各行には最低13個のカンマ区切り列が必要です。
-
1列目 = Strike
-
9列目 = Volume
-
10列目 = Open Interest
-
13列目 = Option Type( C または P で開始する必要があります。ヘッダー行があっても自動的にスキップされます)
-
-
ファイルをMT5の専用データフォルダーへ配置します:File → Open Data Folder → MQL5 → Files
-
CSV_File_Name をファイル名と完全一致するよう設定します(デフォルト: gcv26-options-monthly.csv )。
-
UseLiveAPI = false に設定します。
上記の列位置(1、9、10、13)はコードが要求する位置と完全に一致しています。ただし、Barchartで各「View」設定を使用した場合の正確なWebエクスポート列順序については、ここでは独立検証されていません。ダウンロードしたファイルの列順序が一致しない場合は、Excelで列を並べ替えてから保存してください。
Options表示設定
| 入力値 | デフォルト | 制御内容 |
|---|---|---|
| Min_OI_Threshold | 100 | BSL/SSLにカウントされるために必要なStrikeの最低Open Interest。 |
| Min_Volume_Threshold | 200 | オプションベースのレベルに適用される最低Volumeフィルター。 |
| Max_Pain_Buffer | 5 | 計算されたMax Painレベル周辺の許容幅(Strike単位)。 |
| Max_Strikes_Processed | 100 | 読み込むStrike数の上限。現在価格に近い順に処理します。 |
| Max_Battle_Zones_Shown | 5 | 高OIの「Battle Zone」レベルを同時に表示できる最大数。 |
| Refresh_Hotkey | R | チャート上でこのキーを押すと、オプションデータを即時更新します。 |
| Auto_Refresh_Seconds | 60 | 次回更新が必要か確認する間隔(秒)。 RefreshIntervalHours とは別の設定です。 |
| UseOptionsConfluence | true | Options Confluenceスコアボーナスのメインスイッチ(両モードで有効)。 |
| OptionsConfluenceATRMult | 0.5 | キーとなるオプションレベルに対して、ATR何倍以内ならボーナスを適用するか。 |
| OptionsConfluenceBonus | 1 | Options Confluenceによる追加スコア。 |
12. 自動ファンダメンタルズ & センチメント
両方とも0~100でスコアリングされます。
-
Fundamental Score:0 = ゴールドに弱気、100 = ゴールドに強気。
-
Sentiment Score:0 = 極度のFear、100 = 極度のGreed。
-
デフォルト/ニュートラルはどちらも50です。
レジーム判定には逆張りオーバーライドが組み込まれています。
-
Sentiment ≥85 かつ Fundamentals <80 → 弱気へ反転(極端なGreedを逆張り)
-
Sentiment ≤15 かつ Fundamentals >20 → 強気へ反転(極端なFearを逆張り)
-
それ以外:
-
いずれかのスコアが70超 → 強気バイアス
-
いずれかのスコアが35未満 → 弱気バイアス
-
このレジーム情報は Conservative Modeでは方向性を制限します。一方、Range-Bound Modeでは情報表示のみであり、方向性をブロックしません。
これらは完全自動スコアではなく、ハイブリッドスコアです。
UseAutoFundamentals = true であっても、無料の公開データフィードが存在しないコンポーネントが複数あるため、以下は必ず手動入力する必要があります。
| 手動入力 | 内容 | 入手先 |
|---|---|---|
| ManualFedStance | 0 = 非常にタカ派 … 100 = 非常にハト派 | 自身の判断。クリーンな数値フィードは存在しません |
| ManualCmeCutProb | 次回CME会合での利下げ確率(0~100) | cmegroup.com CME FedWatch Tool |
| ManualNFPActual / ManualNFPExpected | 非農業部門雇用者数、実績 vs コンセンサス(千人) | BLSが実績を提供。コンセンサスは政府データではありません |
| ManualADPActual / ManualADPExpected | ADP雇用統計、実績 vs コンセンサス(千人) | NFPと同じ理由 |
| ManualGeoScore | 地政学的緊張度、0~100 | 自身の判断 |
| BPR_USBanksLong / BPR_USBanksShort | CFTC Bank Participation Report、COMEX Gold | cftc.gov Bank Participation Reports(月次) |
UseAutoFundamentals = true の場合、自動取得されるコンポーネント:
-
Fed Balance Sheet(FRED)
-
CPI/PPI/失業率(BLS)
-
ブローカーのOilシンボル価格
UseAutoSentiment = true の場合:
-
CFTC Commitment of Traders(Disaggregated, Managed Money)
-
JM Bullion Fear & Greedゲージ
最も簡単な方法: UseAutoFundamentals = false と UseAutoSentiment = false に設定し、自分で FundamentalScore / SentimentScore (0~100)を入力します。これにより外部依存はゼロになります。
FRED APIキーの取得
-
fred.stlouisfed.org/docs/api/api_key.html で無料登録します。
-
FRED_API_Key にキーを貼り付けます。これはバランスシートコンポーネントにのみ必要です。
必要なURLをホワイトリストへ追加
MT5で:Tools → Options → Expert Advisors → 「Allow WebRequest for listed URL:」をチェック → 実際に使用する各ドメインを追加します。
13. アラート
| 入力値 | デフォルト | 制御内容 |
|---|---|---|
| AlertOnSignal | true | 新しいシグナルが発生した際にターミナルでポップアップアラートを表示します。 |
| SendPushNotification | false | MetaTraderアプリ経由でプッシュ通知を送信します。 |
| SuppressAlertsOnBackfill | true | チャート適用時または再コンパイル時に過去バーを再計算している間、過去のシグナルに対するアラートを一切送信しません。 |
| MaxSignalAgeBarsForLog | 25 | シグナルの足が25本を超えて前に確定している場合はアラートしません。バックフィルチェックとは独立した設定であり、データギャップや一時的な接続断によってシグナルが遅れて到着した場合でも、指定バー数以内であれば通知されます。 |

