MQL5マーケットで入手: Supply Demand RSJ PRO
リスクに関する注意。 トレードには損失のリスクが伴います。本インジケーターはチャート上に価格ゾーンを表示するものであり、相場を予測するものではなく、取引を行うこともなく、いかなる結果も保証しません。ご自身の分析と資金管理と併せてご使用いただき、まずデモ口座でテストしてください。

Supply Demand RSJ PRO は、スイングハイとスイングローから供給ゾーン(supply)と需要ゾーン(demand)を描画し、各ゾーンを5段階のグレード(weak、strong、verified、proven、turncoat)に分類し、価格がそのゾーンをリテストした回数をカウントし、1回ブレイクされたゾーンを反転させ、2回ブレイクされたゾーンを削除します。重なり合うゾーンは統合でき、各ゾーンにテキストラベルを付けることができ、価格がゾーンに入ったときにアラートを出すことができます。あらゆる銘柄、あらゆるブローカー、あらゆる時間足で動作します。取引は行いません。
1. インストールとクイックスタート
- MQL5 マーケットでインジケーターを購入またはレンタルし、ターミナルの Market タブからインストールします(Toolbox → Market → Purchased → Install)。
- チャートを開き、ナビゲーター(Indicators → Market)から Supply Demand RSJ PRO をチャートにドラッグします。
- デフォルトの入力値のままにするか調整し(セクション 11)、OK を押します。
インジケーターは直近 3000 本のバー(入力 NUM CANDLES FOR ANALYSIS)を分析し、新しいバーの最初のティックごとにすべてのゾーンを再構築します。履歴がまだ準備できていない場合は、次のティックで再試行します。Show Labels? がオン(デフォルト)のときは、最終バーの右側にラベル用のスペースを確保するためにチャートシフト(chart shift)がオンになります。もともとオフだった場合は、インジケーターを削除するとオフに戻ります(チャート上に別のコピーが残っている場合を除く)。
クイックスタート
- ラベルのグレードを確認します。Proven と Verified のゾーンはすでにリテストに耐えたゾーン、Strong のゾーンは一度もリテストされていない大きなスイングから生じたゾーン、Weak のゾーンは小さなスイングから生じたゾーン、Turncoat のゾーンは1回ブレイクされて側が入れ替わったゾーンです。
- ラベルのデフォルト色は黒です。ダークチャートでは Labels Font Color を変更してください(例:白やシルバー)。
- チャートをすっきりさせたい場合は、まず Show Weak Zones? をオフにします。
- 価格がゾーンに入ったときに通知を受けるには、Trigger Alert When Enter Zone? を設定します(セクション 10)。

2. チャートの凡例
| チャート上の表示 | 意味 |
|---|---|
| 価格の上にある塗りつぶしの四角形(クリムゾン / マルーン / オーキッド / ブルーバイオレット) | 供給ゾーン。グレード別の色:Verified クリムゾン、Proven マルーン、Strong オーキッド、Weak ブルーバイオレット。 |
| 価格の下にある塗りつぶしの四角形(グリーン / ロイヤルブルー / オリーブ / コーンフラワーブルー) | 需要ゾーン。グレード別の色:Verified グリーン、Proven ロイヤルブルー、Strong オリーブドラブ、Weak コーンフラワーブルー。 |
| ダークオレンジの塗りつぶしの四角形 | Turncoat(「ブレイク済み」)ゾーン:1回ブレイクされ、現在は反対側として機能しているゾーン(元の供給が需要として、またはその逆)。 |
| Verified Demand Zone, Retests = 2 のようなテキスト | ゾーンのラベル(任意)。最終バーの右側、ゾーンの上から3分の1の位置に表示されます。 |
各四角形は、それを作ったスイングのバーから始まり、現在のバーで終わります。四角形にマウスを重ねるとツールチップが表示されます。例: SDRSJ#123456#S4 Type = Verified, Test Count = 2 (S = 需要、R = 供給)。インジケーターのすべてのオブジェクト名は SDRSJ# とインジケーターのコピーごとに異なる番号で始まり、ローソク足の背後(背景)に描画されます。
3. ゾーンの現れ方

- ゾーンは、直近 NUM CANDLES FOR ANALYSIS 本のバーの中で見つかった相場の転換点(スイングハイとスイングロー)の周りに描かれます。
- 転換点はその右側で何本かのバーが確定して初めて確認されるため、新しいゾーンは転換の数本後に現れ、形成中のバーに現れることはありません。
- Extend Zones? がオンのとき、ゾーンは転換バーのヒゲより少し広い範囲をカバーします。
- ATR Factor でゾーンを広くしたり狭くしたりできます。フラクタル係数は、ゾーンを作るのに必要な転換の大きさを決めます(セクション 11)。
4. ゾーンのグレード

| グレード(ラベル) | 意味 | デフォルト色(供給 / 需要) | フィルター入力 |
|---|---|---|---|
| Weak(弱い) | 小さな転換から生まれたゾーンで、一度もリテストされていない。 | ブルーバイオレット / コーンフラワーブルー | Show Weak Zones? |
| Strong(強い) | 大きな転換から生まれたゾーンで、一度もリテストもブレイクもされていない — 未テストのゾーン。 | オーキッド / オリーブドラブ | Show Untested Zones? |
| Verified(検証済み) | 1〜3 回のリテスト。 | クリムゾン / グリーン | 常に表示 |
| Proven(実証済み) | 4 回以上のリテスト。 | マルーン / ロイヤルブルー | 常に表示 |
| Turncoat(転換) | 1回ブレイクされて側が入れ替わり、ブレイク以降リテストがない。 | ダークオレンジ / ダークオレンジ | Show Broken Zones? |
反転した後にリテストされたゾーンは、再び Verified または Proven になります。新しいゾーンは最初 Weak として現れ、その転換が大きな転換として確認された後で Strong になることがあります。グレードは新しいバーごとに更新されます。
5. リテスト、ブレイク、Turncoat ゾーン

リテスト。 その後、価格がゾーン内で、ゾーンが機能している側で再び転換したとき、リテストとしてカウントされます。
ブレイク。 供給ゾーンは、後のバーがその上端より上で取引されたとき(高値が上端を上回ったとき)にブレイクされます。需要ゾーンは、バーがその下端より下で取引されたときにブレイクされます。ヒゲも含みます。
- weak ゾーンは最初のブレイクで削除されます。
- strong、verified、proven のゾーンが1回ブレイクされると反転します。反対側の turncoat ゾーンになり(ブレイクされた供給ゾーンは需要として、またその逆として扱われます)、リテスト回数は 0 からやり直しになります。
- 間にリテストがないまま 2回目のブレイクが起きるとゾーンは削除されます。反転後にリテストがあればこの条件はリセットされるため、よく意識される価格帯は複数回反転することがあります。
Turncoat ゾーンは、新しい側でリテストされるまでダークオレンジ(ラベル Turncoat)で描画されます。
6. 供給か需要か?
ゾーンが供給として描かれるか需要として描かれるかは、それを作った転換ではなく、ゾーンに対する現在の価格の位置によって決まります。価格より下のゾーンは需要、価格より上のゾーンは供給とみなされます。そのため、価格がゾーンを通過すると、数本後にゾーンの側が変わることがあります。
7. 重なり合うゾーンの統合

Merge Zones? がオン(デフォルト)のとき、重なり合うゾーンはより広い1つのゾーンに統合されます。リテスト回数は合算され、ラベルには統合後のグレードが表示されます。
オフにすると、各スイングゾーンを個別に確認できます。
8. ラベル
Show Labels? がオンのとき、表示されている各ゾーンにテキストラベルが付きます。グレード + 側に加え、verified と proven のゾーンにはリテスト回数が付きます。例:
- Weak Supply Zone
- Strong Demand Zone
- Verified Supply Zone, Retests = 2
- Proven Demand Zone, Retests = 5
- Turncoat Demand Zone
ラベルには Courier New、Labels Font Size(デフォルト 9)、Labels Font Color(デフォルト 黒)が使われます。ラベルは現在のバーの右側約 2 本の位置に配置され、そのためにインジケーターはチャートシフトをオンにします。
9. 色

ゾーンの色は、インジケーターのプロパティの Colors タブで設定します(Inputs タブではありません)。各項目は1つのグレードと1つの側に対応します:
| Colors タブの項目 | 用途 | デフォルト |
|---|---|---|
| Broken Supply Zone | 供給として表示される Turncoat ゾーン | ダークオレンジ |
| Proven Supply Zone | Proven の供給 | マルーン |
| Verified Supply Zone | Verified の供給 | クリムゾン |
| Strong Supply Zone | Strong(未テスト)の供給 | オーキッド |
| Weak Supply Zone | Weak の供給 | ブルーバイオレット |
| Weak Demand Zone | Weak の需要 | コーンフラワーブルー |
| Strong Demand Zone | Strong(未テスト)の需要 | オリーブドラブ |
| Verified Demand Zone | Verified の需要 | グリーン |
| Proven Demand Zone | Proven の需要 | ロイヤルブルー |
| Broken Demand Zone | 需要として表示される Turncoat ゾーン | ダークオレンジ |
使用されるのは色のみで、スタイルと太さは影響しません。四角形は塗りつぶされ、背景に描画されます。
10. アラート

| 入力 | 発生条件 | メッセージ |
|---|---|---|
| Trigger Alert When Enter Zone? | 現在の Bid が表示中のゾーンに入ったとき(下端 ≤ 価格 < 上端) | Entered into Demand Zone. または Entered into Supply Zone. |
モード:NONE(デフォルト、アラートなし)、POPUP、SOUND、NOTIFICATION(スマートフォンへのプッシュ通知)、POPUP_SOUND、NOTIFICATION_SOUND、POPUP_NOTIFICATION、POP_SOUND_NOTIFICATION。Trigger Alert Sound Type でターミナルの 13 種類のサウンドから1つを選択します(デフォルト alert)。
テキストには製品名、銘柄、時間足が含まれます。例: RSJ Supply Demand PRO: EURUSD | PERIOD_H1 | Entered into Demand Zone.
発生頻度:
- チェックはティックごとに行われます。アラートは価格がゾーンに入ったときに1回だけ発生し、価格がゾーン内にとどまっている間は繰り返されません。価格がゾーンを出た後、再び入ると再度発生します。
- アラートの後は、そのアラートから時計の時間で Delay between alerts (seconds)(デフォルト 180)秒が経過するまで、ゾーンへの進入は無視されます。待機時間中に起きた進入はスキップされ、後から送信されることはありません。
- 1回のアラートは1つのゾーンに対応します(価格が今入ったと最初に判定されたゾーン)。
- チェックされるのは表示中のゾーンのみです。Show ... Zones? フィルターで非表示にしたグレードはアラートを発生させません。
- 価格がすでにゾーン内にある状態でインジケーターを適用した場合や、再計算時(例:新しいスイングや統合)に価格の周りにゾーンが現れた場合は、アラートは送信されません。
プッシュ通知には Tools → Options → Notifications で MetaQuotes ID を設定する必要があります。サウンドモードはインジケーターを停止させずにサウンドを再生します。ストラテジーテスターではポップアップ、サウンド、通知は表示されません。
11. 入力パラメーター
以下の見出しは Inputs タブの区切り行です(設定する値はありません)。
ZONES_VIEW_CONFIG
| 入力 | デフォルト | 説明 |
|---|---|---|
| Show Weak Zones? | true | Weak ゾーンを表示します。 |
| Show Untested Zones? | true | Strong(未テスト)ゾーンを表示します。 |
| Show Broken Zones? | true | Turncoat ゾーンを表示します。 |
| Merge Zones? | true | 重なり合うゾーンを統合します(セクション 7)。 |
| Extend Zones? | true | ゾーンが転換バーのヒゲより少し広い範囲をカバーします(セクション 3)。 |
Verified と Proven のゾーンは常に表示されます。
ZONES_CALC_CONFIG
| 入力 | デフォルト | 説明 |
|---|---|---|
| NUM CANDLES FOR ANALYSIS | NUM_CANDLES_3000 | ゾーンを探索するバー数:NUM_CANDLES_500 から NUM_CANDLES_5000 まで、500 刻み。 |
| ATR Period | 7 | ゾーンの大きさを銘柄の最近のボラティリティに合わせます。 |
| ATR Factor | 0.75 | 値を大きくするとゾーンが広くなり、統合も増えます。 |
| Fast Fractal Factor | 3.0 | ゾーンを作る小さな転換の大きさ:値を大きくすると、より大きな転換だけが残ります。 |
| Slow Fractal Factor | 8.0 | 大きな転換(Strong グレード)の大きさ:値を大きくすると、より大きな転換だけが残ります。 |
フラクタル係数は整数として扱われます(3.5 は 3 として、1 未満の値は 1 として動作)。
ZONES_LABEL_CONFIG
| 入力 | デフォルト | 説明 |
|---|---|---|
| Show Labels? | true | テキストラベルを描画し、チャートシフトをオンにします。 |
| Labels Font Color | Black | ラベルの色。 |
| Labels Font Size | 9 | ラベルのフォントサイズ。 |
ALERT_CONFIG
| 入力 | デフォルト | 説明 |
|---|---|---|
| Trigger Alert When Enter Zone? | NONE | アラートモード(セクション 10)。 |
| Trigger Alert Sound Type | alert | alert, alert2, connect, disconnect, email, expert, news, ok, request, stops, tick, timeout, wait. |
| Delay between alerts (seconds) | 180 | 2つのアラートの最小間隔(時計の秒数)。 |
12. EA / ダッシュボード用バッファー
インジケーターは iCustom + CopyBuffer で読み取れる 8 つのバッファーを提供します。これらはデータウィンドウには表示されません。バッファー 0-3 は新しいバーでゾーンが再構築されるときに書き込まれ、バッファー 4-7 はティックごとに更新されます。
| バッファー | 内容 | 値 | 空 |
|---|---|---|---|
| 0 | スロースイングロー | 確定したスロー(大きな)スイングローのバーの安値 | 0 |
| 1 | スロースイングハイ | 確定したスロースイングハイのバーの高値 | 0 |
| 2 | ファストスイングロー | 確定したファスト(小さな)スイングローのバーの安値 | 0 |
| 3 | ファストスイングハイ | 確定したファストスイングハイのバーの高値 | 0 |
| 4 | 上側の最寄りゾーン - 上端 | Bid より完全に上にある最寄りの表示中ゾーンの上端(下端が最も低いもの) | 0 |
| 5 | 上側の最寄りゾーン - 下端 | バッファー 4 と同じゾーンの下端 | 0 |
| 6 | 下側の最寄りゾーン - 上端 | Bid より完全に下にある最寄りの表示中ゾーンの上端(上端が最も高いもの) | 0 |
| 7 | 下側の最寄りゾーン - 下端 | バッファー 6 と同じゾーンの下端 | 0 |
バッファー 4-7 についての注意:
- ティックごとに現在の Bid で バー 0 に書き込まれます。シフト 1 には前のバーの最後の値が残り、それより古いバーは 0 です。
- 「上」と「下」はゾーンの側ではなくゾーンの境界で判断します。価格より上のゾーンは通常は供給ですが、価格が下方向に抜けたばかりの需要ゾーンである場合もあります(セクション 6)。対象になるのは価格より完全に上、または完全に下にあるゾーンのみです。価格を含むゾーンは報告されず、バッファーにはその先の次のゾーンが表示されます。
- 対象になるのは表示中のゾーンのみです(Show ... Zones? フィルターが適用されます)。
- 4つのバッファーすべてで、 0 は「該当するゾーンなし」を意味します。
スイングバッファー 0-3 は直近のバーでは 0 です。転換点は確認されて初めて認識されるためです。
読み込み。 マーケット版は MQL5\Indicators\Market\ にインストールされます。正確なファイル名はナビゲーターで確認してください。名前の後にパラメーターを指定しない場合は、デフォルトの入力値が使われます。入力を変更するには、セクション 11 の順序で渡します。各区切り行(ZONES_VIEW_CONFIG、ZONES_CALC_CONFIG、ZONES_LABEL_CONFIG、ALERT_CONFIG)もパラメーターなので、その位置には空文字列 "" を渡してください。そうしないと、以降の値がすべてずれます。NUM CANDLES FOR ANALYSIS は数値で渡します:0 = 500、1 = 1000 … 5 = 3000 … 9 = 5000。末尾で省略した入力はデフォルト値のままです。
```mql5 // "" = ZONES_VIEW_CONFIG, then show weak = false int h = iCustom(_Symbol, PERIOD_H1, "Market\Supply Demand RSJ PRO", "", false);
double up_top[1], up_bot[1], dn_top[1], dn_bot[1]; if (BarsCalculated(h) > 0) { if (CopyBuffer(h, 4, 0, 1, up_top) == 1 && CopyBuffer(h, 5, 0, 1, up_bot) == 1 && up_top[0] != 0.0) Print("nearest zone above ", up_bot[0], " - ", up_top[0]); if (CopyBuffer(h, 6, 0, 1, dn_top) == 1 && CopyBuffer(h, 7, 0, 1, dn_bot) == 1 && dn_top[0] != 0.0) Print("nearest zone below ", dn_bot[0], " - ", dn_top[0]); } ```
注意: iCustom で作成したインジケーターは、呼び出し元プログラムのチャートに独自のオブジェクト名でゾーンとラベルを描画するため、手動で適用したコピーのゾーンを消すことはありません。ゾーンをオフにすることはできず、オフにできるのはラベルのみです(Show Labels? = false)。最初に読み取る前に BarsCalculated(h) > 0 になるまで待ってください(履歴がまだ読み込み中の場合があります)。ゾーンのグレード、側、リテスト回数はバッファーからは取得できず、チャート上(ラベルとツールチップ)でのみ確認できます。
13. 無料版と PRO 版
無料の Supply Demand RSJ Zones は、同じ種類のゾーンを固定設定で描画します。
| Supply Demand RSJ Zones(無料) | Supply Demand RSJ PRO | |
|---|---|---|
| グレード | 2:strong(濃い色)と weak(淡い色) | 5:weak、strong、verified、proven、turncoat |
| グレードとリテスト回数付きのラベル | — | あり |
| グレード別フィルター | — | weak / 未テスト / turncoat |
| 統合と拡張のスイッチ | 常にオン | オン / オフ |
| 分析バー数 | 300-1500(デフォルト 1000) | 500-5000(デフォルト 3000) |
| ATR とフラクタルの設定 | 固定 | 調整可能 |
| 色 | 供給と需要の色、weak の色調は自動 | 10 色(グレード × 側) |
| アラート | — | ポップアップ、サウンド、プッシュ |
| バッファー | 8(同じ構成)。上側の最寄り供給 / 下側の最寄り需要、なければ 0 | 8。完全に上 / 下にある最寄りゾーン、なければ 0 (セクション 12) |
14. ヒント
- チャートをすっきりさせる:Show Weak Zones? をオフにし、さらに Show Untested Zones? をオフにすると、すでにリテストに耐えたゾーン(と turncoat)だけが残ります。
- ゾーンを広く / 狭くする:ATR Factor を上げるか下げます。ゾーンが広いほど統合も起きやすくなります。
- 主要な価格帯のみ:Fast Fractal Factor を上げると、大きなスイングだけがゾーンを作るようになります。
- 上位時間足の状況: トレードするチャートの横に H4 や D1 のチャートを開いてインジケーターを適用します。上位時間足のゾーンは下位時間足には描画されません。
- ダークチャート:Labels Font Color を明るい色に設定します。
- 動作速度: 多数のチャートで 5000 本を使うと、新しいバーのたびにターミナルが重くなることがあります。通常は 1000-3000 本で十分です。
- 1つのチャートに複数のコピー: 各コピーは独自のオブジェクト名を使うため、設定の異なる2つ以上のコピーを同じチャートで動かしても、互いのゾーンを消すことはありません。重複を避けるため、アラートは1つのコピーでのみ有効にしてください。
15. よくある質問とトラブルシューティング
- リペイントしますか? スイングは確定したバーで確定し、移動することはありません。ただし、ゾーンは新しいバーごとに履歴から再構築されます。ゾーンは転換点が確定して初めて現れ、グレードは変わることがあり(スロースイング確定時の Weak → Strong、リテストの増加、反転)、2回ブレイクされると削除されます。形成中のバーは次のバーが始まるまでゾーンには使われません。アラートとバッファー 4-7 はリアルタイムの Bid に従います。
- ラベルが見えません。Show Labels? と Labels Font Color を確認してください。黒いラベルは黒いチャートでは見えません。
- ゾーンが供給から需要に変わりました。 価格がゾーンを抜けて終値を付け turncoat ゾーンになったか、価格がゾーンの反対側に移りました(セクション 6)。
- ゾーンが消えました。 リテストなしで2回目のブレイクが起きた、weak ゾーンが1回ブレイクされた、NUM CANDLES FOR ANALYSIS より古い、またはそのグレードがフィルターで除外されている、のいずれかです。
- 直近のバー付近に strong ゾーンがないのはなぜですか? 大きな転換が確認されるには、より多くの確定バーが必要です。それまではゾーンは Weak であり、Show Weak Zones? がオフの場合は非表示になります。
- アラートはどのくらいの頻度で来ますか? ゾーンへの進入1回につき1回で、価格がゾーン内にとどまっている間は来ません。また、Delay between alerts (seconds) より短い間隔で来ることはありません(セクション 10)。短い時間足でアラートを減らしたい場合は待機時間を長くしてください。
- 価格がゾーン内にあるのにアラートが来ませんでした。 インジケーターを適用したときにすでに価格がゾーン内にあった、再計算時に価格の周りにゾーンが現れた、前回のアラート後の待機時間中に進入した、またはゾーンが Show ... Zones? フィルターで非表示になっている(非表示のゾーンはアラートを出しません)、のいずれかです。
- ストラテジーテスター。 ビジュアルモードと非ビジュアルモードの両方で動作します。テスターではポップアップ、サウンド、通知は送信されません。
サポート:MQL5 で作者にプライベートメッセージをお送りください。


