Structure Ledger とは
Structure Ledger は、装着したチャートに相場の構造(マーケットストラクチャー)を描く無料のインジケーターです。描くのは、確定したスイングの高値と安値、構造の継続を示す BOS、転換の最初の合図である CHoCH、そして等しい高値(EQH)・等しい安値(EQL)が集まった所の帯(流動性がたまりやすい所の目印)です。判定はすべて閉じた足だけで行い、いま形成中の足は使いません。売買はせず、売り買いの合図も出さず、オーダーブロック・フェアバリューギャップ・キルゾーンは描きません。

図の中の凡例の箱と見出しは撮影のときに添えたもので、チャートに描かれるのは印とパネルだけです。
はじめかた
- 読みたい銘柄と時間足のチャートを開き、ナビゲーターからインジケーターをドラッグします。インジケーターなので、EA と同じチャートに載せられます。
- 設定で Language / 言語 を選びます(LANG_JP で日本語)。ほかの設定は既定値のまま使う前提です。
- OK を押すと、直近 1500 本の確定足を読み直して見つかった印を描き、右上の角にパネルを開きます(そのチャートでパネルの状態を保存済みならその状態で開きます。「パネルが覚えていること」を参照)。チャートには 300 本以上の足が要ります。足りないときはパネルに「履歴を待っています」と出て、何も描きません。
- 以後は、足が閉じるたびに新しい印が付きます。
おかしいと思ったら、後半のよくある質問を見てください。質問は症状の形で書いてあります。
印の決め方
スイング
しきい値はすべて、そのチャートの ATR を単位にしています(ATR period (scale of every threshold)、既定 14、Wilder 型の平滑)。スイングの高値は、その後の足が高値から k×ATR 下まで届き、その足が閉じた時点で確定します(Swing confirms after a k x ATR reversal、既定 k = 2.0)。安値はその鏡写しです。そのため、スイングが分かるのは山や谷ができた 1 本以上あとで、点はその時点で山や谷の足に置きます。スイング高値の点は下方向の色、スイング安値の点は上方向の色です。
BOS と CHoCH
数えるのは終値だけです。直近の確定スイング高値より上で、または確定スイング安値より下で足が閉じたとき、構造が抜けたと判定します。現在の向きと逆への抜けなら CHoCH で破線、それ以外は BOS で実線です。読み始めて最初の抜けは、逆らう向きがまだないので BOS になります。この抜けが下で説明する助走の中にあれば描かれないので、最初に見える印が CHoCH のこともあります。線は抜かれたスイングから抜いた足まで引き、文字は線の中ほど、上への抜けなら線の上、下への抜けなら線の下に置きます。文字の下にはチャートの背景色の小さな下敷きを敷き、ローソク足が透けないようにしています。ヒゲが水準を越えても数えず、1 つのスイングが抜かれるのは 1 回だけです。
等しい高値・安値
確定したスイング高値はそれまでのスイング高値の集まりと、スイング安値はスイング安値の集まりと比べます。中心が eps×ATR 以内(Swings within eps x ATR count as equal、0.5)の集まりのうち最も近いものに加わり、なければ新しい集まりを作ります。集まりのスイングが 2 本になると(Swings needed before a band is drawn)帯を描き、そこで大きさを固定します。外縁は、いちばん外側のスイングに 0.25×ATR を足した所です(Band padding beyond the swings (x ATR))。塗る部分は高さ 0.25×ATR までで外縁側に寄せ(EQH は上端、EQL は下端)、細い灰色の縁を付けます。チャート上の生きている帯と重なる新しい帯は描きません。
生きている帯は最新の足から右へ 8 本分伸び(Extend live bands to the right (bars))、EQH / EQL の文字はその右端のすぐ外に置きます。帯が役目を終える道は 2 つです。新しいスイングが 250 本のあいだ加わらなければ(Band retires after N bars without a touch)期限切れになります。値が外縁を越えて 3 本以内に終値で内側へ戻らなければ(Bars allowed to close back inside after a pierce)抜けたものとして終わります。役目を終えた帯は終わった足で止まり、薄い塗りだけが残ります。縁と文字は隠します。
最初の足は助走
起動時には直近 1500 本の確定足を読み直します(Closed bars scanned on attach、300〜5000)。スイング探しの最初の折り返しは読み始めの位置で変わるので、最初の 200 本は助走として印を付けません。そのため、読み直す範囲に入っている印は、付け直しても同じになります。
印は付けた所から動きません
印はすべて、それを確定させた足が閉じた後にだけ作ります。ストラテジーテスターの再生(1 minute OHLC・既定の設定、GOLD M15/H1・EURUSD H1・BTCUSD D1、1 回あたり 3 日〜5 か月)では、確定した足に付けた印が後の足で動いたり色や文字が変わったりしたことはありませんでした。古い印は盤面の上限で外れるだけで、付け直しても同じ印が描かれました。この再生で測っていないのは、実ティック、ライブチャートでの長期間、ブローカーによる過去足の訂正、既定以外の設定です。
仕組みとして変わり続けるものが 3 つあります。生きている帯の右端は最新の足を追い、文字も一緒に動きます。帯が役目を終えると、右端を終わった足に合わせ、縁と文字を隠します。チャートの背景色を変えると、帯の塗りを新しい背景に合わせて混ぜ直し、構造の文字の下敷きを新しい背景色にします。
チャートに残すのは直近 30 の BOS・CHoCH、12 本の帯、80 個のスイング点です(Structure labels kept on the chart、Bands kept on the chart、Swing dots kept on the chart)。上限を超えて新しい印が付くと、その種類で最も古いものを外します。時間足の切り替えの後などに自分の印がチャートから消えているのを見つけると、同じ読み取りから同じ時刻・価格で描き直します。
パネルの見かた

見出しの行
左端の小さな帳面の印で About カードが開きます。右から順に、三角(キャレット)でパネルを見出しだけに畳んだり開いたりし、角のボタン(TL・TR・BR・BL)で次の角へ移し、大きさのボタンで 100% と 140% を切り替えます。見出しをドラッグするとチャートの中の好きな所に置け、以後は角に付いて回らずその場所に残ります。見出しをダブルクリックすると角へ戻ります。角のボタンを押しても、再び角に付いて回るようになります。パネルの上でマウスのボタンを押している間は、チャートはスクロールしません。
行
構造 は現在の向きです。上への抜けの後は 上、下への抜けの後は 下、最初の抜けの前は なし です。直近 は最後の BOS または CHoCH と、その向き、スイングを抜いた足の時刻です。最初の抜けの前は まだ構造がありません と出ます。流動性 は現在の Bid から、上の最寄りの生きている帯まで(点の左)と下の最寄りの帯まで(点の右)の距離を ATR 倍で示します。「—」はその側に帯がないことを表します。距離は帯の全体の幅(スイングの集まりに両側の余白を足した範囲)の近い側まで測ります。塗る部分は外縁側の 0.25×ATR までなので、測る縁は EQH なら塗りと同じかそれより下、EQL なら塗りと同じかそれより上にあります。英語表示では行の名前は STRUCTURE・LAST・LIQUIDITY です。
行にカーソルを合わせると、根拠の数字が出ます。構造: 直近の確定したスイングの山と谷とその足の時刻、いまの向きがいつから続いているか。直近: 抜かれた水準、抜いた終値とその差、抜かれたスイングの時刻と抜けまでの本数、抜いた足の ATR、いまの足が閉じるまでの残り時間。流動性: 上と下の最寄りの帯それぞれについて、EQH か EQL か、近い側の縁の価格、ポイントでの距離、加わったスイングの数(接触)。時刻はサーバー時刻の足の始まりの時刻です。
アラート の行には PRO の表示があります。この版はどんな通知も送りません。
About カードと評価のカード
見出しの左端の帳面の印で About カードが開き、バージョン、ライセンスの種類、サポートの場所(製品ページの Comments タブ)、製品を評価するボタンとサポートのボタンが出ます。帳面の印をもう一度押すと閉じます。しばらく実際に使うと、評価をお願いするカードが出ることがあります。数週間おきに最大 3 回までで、ストラテジーテスターでは出ません。「今後表示しない」を押すか、Show a one-time rating reminder (after a while) を false にすると止まります。
パネルが覚えていること
パネルの位置・大きさ・角・畳んだ状態をチャートごとに覚えます。パネルを操作したときに保存し、インジケーターを外してもターミナルのグローバル変数に残ります。一度保存されたチャートでは、Panel corner と Panel size (100% / 140%) の設定は効かなくなるので、パネルのボタンで変えてください。
エキスパートログ
Write each mark to the Experts log (once per closed bar) が true のとき、印ごとに [SLG] で始まる行を エキスパートログへ 1 行書きます。スイング、BOS・CHoCH(足・スイング・水準・終値・ATR)、新しい帯(縁とスイングの数。生きている帯と重なって描かなかった帯は hidden=overlap 付き)、役目を終えた帯(TAKEN または AGED)です。このほか、生きている帯について、この版では印にならない 2 種類の行も出ます。値が外縁を初めて越えた足の SWEEP と、終値が内側へ戻った足の RECLAIM です。上限で外れた印は dropped の行になります。履歴を読み直している間の行は末尾が src=replay、新しく閉じた足の行は src=live です。起動時には、使っている設定を書いた [INIT] の行と、見つかった数を書いた scan の行が 1 行ずつ出ます。
よくある質問
パネルに「履歴を待っています」と出て、何も描かれない。
チャートの足が 300 本未満です。チャートを過去へスクロールするか、ターミナルが履歴を読み込むのを待ってください。
スイングの点が、山や谷の数本あとに出る。
それがスイングの確定の仕方です。値が k×ATR 離れ、その足が閉じて初めて確定します。それまでは山や谷がまだ更新されるかもしれないからです。k を小さくすると早く確定し、細かいスイングが増えます。
ヒゲが水準を抜けたのに BOS が出ない。
BOS と CHoCH は終値だけで判定します。ヒゲが越えただけでは数えません。
等しい高値が 2 つあるのに帯が出ない。
2 つのスイングが互いに 0.5×ATR 以内か、どちらも確定したスイング(点がある)か、2 つの間が 250 本以内か(相手を待つ 1 本だけのスイングは Band retires after N bars without a touch の本数で忘れます)、新しい帯の場所に生きている帯が重なっていないかを見てください。重なる帯は描きません。
古い印が消えた。
既定ではチャートに残すのは構造の印 30、帯 12、スイングの点 80 までです。Display の設定で上限を上げると多く残せます。
設定を変えたら印が変わった。
Detection と Liquidity の設定は、どれも見つかる印を変えます。上の「印は付けた所から動きません」の測定は既定の設定で行ったものです。
EA から印を読めますか。
読めません。この版にはバッファがないので、データウィンドウにも何も出ず、iCustom で読むものもありません。エキスパートログの行は人が読むためのものです。
同じチャートに 2 つ載せられますか。
1 チャートに 1 つで使ってください。同じチャートの 2 つは、保存されるパネルの設定を共有し、Chart object prefix が同じだとオブジェクトの名前もぶつかります。
すべての設定
表は出荷したソースから自動で作っているので、ターミナルに出る設定をすべて載せています。設定名は MT5 の設定画面どおり英語のままです。
General
表示言語、パネルの置き場所、更新間隔、評価のお願いの表示。
| 設定名(MT5 の表示) | 既定値 | 説明 |
|---|---|---|
| Language / 言語 | LANG_EN | パネル・ホバー表示・About と評価のカードの言語。LANG_EN は英語、LANG_JP は日本語。LANG_JP ではパネルのフォントも Yu Gothic UI になります。チャート上の文字(BOS・CHoCH・EQH・EQL)、題字 STRUCTURE LEDGER、ボタン、PRO の表示、エキスパートログの行、設定名は英語のままです。 選択肢: LANG_EN, LANG_JP |
| Panel corner | C_TR | パネルを最初に置く角。C_TL 左上、C_TR 右上、C_BR 右下、C_BL 左下。そのチャートでパネルの状態が保存されるまでだけ使います。 選択肢: C_TL, C_TR, C_BR, C_BL |
| Panel size (100% / 140%) | SZ_L | パネルの最初の大きさ。SZ_S = 100%、SZ_L = 140%。そのチャートでパネルの状態が保存されるまでだけ使います。 選択肢: SZ_S, SZ_L |
| Corner margin (px) | 14 | 角に置いたときの、パネルとチャートの端の間隔(ピクセル、0〜60)。 |
| Extra right gap for the price scale (px) | 64 | 右側の角に置いたとき、価格目盛りのために右へ空ける幅(ピクセル、0〜200)。価格目盛りを表示しているときだけ使います。 |
| Refresh seconds | 2 | パネルとホバー表示を描き直し、角の位置を確かめる間隔(秒、1〜30)。印はこのタイマーでなく、足が閉じたときに付きます。 |
| Show a one-time rating reminder (after a while) | true | false にすると評価をお願いするカードを出しません。カードは数週間おきに最大 3 回までで、ストラテジーテスターでは出ません。About カードはパネルからいつでも開けます。 |
Detection
スイングの見つけ方。この製品のしきい値はすべて、このチャートの ATR を単位にしています。
| 設定名(MT5 の表示) | 既定値 | 説明 |
|---|---|---|
| ATR period (scale of every threshold) | 14 | ATR の期間(5〜100、Wilder 型の平滑)。確定した各足の時点の ATR が、その足での以下のしきい値の単位です。 |
| Swing confirms after a k x ATR reversal | 2.0 | 反転幅 k(0.5〜5.0)。スイングの高値は、その後の足が高値から k×ATR 下まで届き、その足が閉じた時点で確定します(安値はその鏡写し)。小さいほどスイングが細かく増え、BOS・CHoCH も増えます。 |
| Closed bars scanned on attach | 1500 | 起動時に読み直す確定足の本数(300〜5000)。最初の 200 本は助走で、印は付けません。 |
Liquidity (equal highs / lows)
等しい高値・安値をいつ帯にするか、帯がいつ役目を終えるか。
| 設定名(MT5 の表示) | 既定値 | 説明 |
|---|---|---|
| Swings within eps x ATR count as equal | 0.5 | 確定したスイングが、集まりの中心から eps×ATR 以内なら、その集まりに加わります(0.1〜2.0)。高値と安値は別々に数えます。 |
| Band padding beyond the swings (x ATR) | 0.25 | 帯を描くときに、いちばん外側のスイングの外へ足す余白(ATR 倍、0〜1.0)。余白を足した外縁が、帯の役目を終える判定に使う縁です。 |
| Swings needed before a band is drawn | 2 | 帯を描くまでに集まりに必要なスイングの数(2〜5)。 |
| Band retires after N bars without a touch | 250 | 新しいスイングがこの本数のあいだ加わらなければ、帯は役目を終えます(50〜2000)。接触として数えるのはスイングが加わったときで、値が通過しただけでは数えません。相手が見つからない 1 本だけのスイングも、同じ本数で忘れます。 |
| Bars allowed to close back inside after a pierce | 3 | 値が帯の外縁を越えたとき、この本数以内に終値で内側へ戻らなければ帯は役目を終えます(1〜10)。 |
Display
何を描くか、印をいくつ残すか、色、エキスパートログ。
| 設定名(MT5 の表示) | 既定値 | 説明 |
|---|---|---|
| Dots on confirmed swings | true | 確定したスイングに小さな点を描きます。 |
| BOS lines and labels | true | BOS の線と文字を描きます。 |
| CHoCH lines and labels | true | CHoCH の線と文字を描きます。 |
| Equal high / low bands (liquidity) | true | 等しい高値・安値の帯を描きます。false では帯を描かず、パネルの流動性の行は「—」になります(チャート上の帯までだけを測るため)。 |
| EQH / EQL text just right of the band's end | true | 生きている帯の右端のすぐ外に EQH / EQL の文字を書きます。 |
| Structure labels kept on the chart | 30 | チャートに残す BOS・CHoCH の数(5〜200)。新しい印が増えると最も古いものが外れます。 |
| Bands kept on the chart | 12 | チャートに残す帯の数。生きている帯と役目を終えた帯の合計(2〜40)。 |
| Swing dots kept on the chart | 80 | チャートに残すスイングの点の数(10〜400)。 |
| Extend live bands to the right (bars) | 8 | 生きている帯を最新の足から右へ何本分伸ばすか(0〜50)。EQH / EQL の文字はその端に置きます。 |
| Up structure (BOS / CHoCH up, swing lows) | C'38,166,154' | 上方向の BOS・CHoCH と、スイング安値の点の色。 |
| Down structure (BOS / CHoCH down, swing highs) | C'239,83,80' | 下方向の BOS・CHoCH と、スイング高値の点の色。 |
| Liquidity marks (band text, sweep dots) | C'126,138,166' | EQH / EQL の文字、帯の塗り(チャートの背景色と混ぜて使う)、パネルの流動性の行の小さな三角の色。この版はスイープの点を描きません。設定名にある sweep dots はこの版にない印を指しています。 |
| Band fill strength (% of the liquidity colour over the chart background) | 12 | 帯の塗りの濃さ。流動性の色をチャートの背景色に混ぜる割合(5〜60%)。 |
| Write each mark to the Experts log (once per closed bar) | true | 印を付けるたびに、エキスパートログへ [SLG] で始まる行を 1 行書きます。 |
Identity
チャートオブジェクトの名前の頭に付く文字。
| 設定名(MT5 の表示) | 既定値 | 説明 |
|---|---|---|
| Chart object prefix | slg_ | この製品が作るチャートオブジェクトの名前の頭(2〜12 文字。範囲外なら slg_)。インジケーターを外すと、この文字で始まる名前のオブジェクトをすべて消します。 |
しないこと、限界
いま見ている時間足の構造を読むための情報ツールです。いつ、どこで売買するかは示さず、結果についての約束もしません。読むのは装着したチャートの銘柄と時間足の、閉じた足だけなので、新しい印は早くてもそれを確定させる足が閉じたときに付きます。
描画のほかに、パネルの設定をターミナルのグローバル変数に保存し、評価のカードの状態をターミナル共通の Common\Files フォルダーの小さなファイルに保存し、そのチャートのマウス移動イベントを有効にします。外したときもマウス移動イベントは有効のまま残すので、同じチャートの他のプログラムのマウス操作は止まりません。外すときは、名前が Chart object prefix(既定 slg_)で始まるチャートオブジェクトをすべて消すので、自分のオブジェクトにはこの文字で始まる名前を付けないでください。DLL は使わず、Web リクエストも行いません。
サポート
製品ページの Comments タブに書き込んでください。ブローカー、銘柄、時間足、何が出ると思ったか、エキスパートログの該当する [SLG] の行があれば調べ始められます。
この取説は Structure Ledger 1.00 について書いています。


