Dow Theory Market Structure [Levels]Theory and User Guide for "Dow Theory Market Structure " Indicator
Theoretical Background
The indicator applies the core principles of Dow Theory in a modern context, suitable for any market (stocks, indices, crypto, forex). Developed by Charles Dow in the late 19th century, Dow Theory is the foundation of trend analysis. Its key tenets implemented in the indicator are:
1. Trend Defined by Successive Peaks and Troughs
Bullish Uptrend – each new high is higher than the previous one (Higher High, HH), and each new low is higher than the previous (Higher Low, HL).
Bearish Downtrend – each new high is lower (Lower High, LH), and each new low is lower (Lower Low, LL).
A violation of this structure signals a potential trend reversal.
2. Support and Resistance Levels
Previous significant highs and lows become future support (former highs after breakout) and resistance (former lows after breakout). The indicator automatically draws horizontal lines from each confirmed pivot and extends them until price closes beyond the level.
3. Volume Confirmation
Volume should expand in the direction of the primary trend and contract during corrections. The indicator uses directional volume:
In an uptrend, average volume on up‑bars (close > open) must exceed average volume on down‑bars.
In a downtrend, down‑bar volume must exceed up‑bar volume.
4. Inter‑Market Confirmation
Two key indices (e.g., Industrials and Transports) must confirm each other. The indicator allows selecting a confirming asset (an index or correlated instrument). The trend is considered confirmed when the confirming asset’s trend direction matches the main chart.
5. BOS (Break of Structure) and CHoCH (Change of Character)
Modern interpretation of Dow’s reversal signals:
BOS – continuation of the current trend when an extreme is renewed in its direction.
CHoCH – first reversal signal when price breaks the last opposing extreme (e.g., a new high after a series of lower highs). For strict Dow compliance, the indicator offers Strict Dow CHoCH: the signal appears only when both index and volume confirmations are satisfied (if active).
User Guide
Purpose
Visualize Dow market structure, auto‑plot key levels, determine the current trend, and generate continuation/reversal signals with optional strict confirmation.
Main Chart Elements
HH / HL / LH / LL Labels at each confirmed pivot.
Horizontal Levels – lines drawn from HH (resistance), HL (support), LH (resistance), LL (support). Levels are automatically deleted when price closes beyond them (or on a wick touch, depending on settings).
ZigZag Lines connecting consecutive highs and lows.
BOS ▲ / BOS ▼ Labels – trend continuation.
CHoCH ▲ / CHoCH ▼ Labels – potential reversal.
Info Panel (bottom‑right) – shows current trend, number of active levels, index and volume confirmation status.
Settings
Organized into functional groups:
⚙️ Main Parameters
Swing Length (bars) – number of bars left/right to confirm an extreme. Smaller values give micro‑structure; larger values capture the main trend.
📐 Levels (Horizontal Lines)
Customize visibility, color, line style, width, and break conditions (close vs. wick).
Limit the maximum number of displayed levels per type.
〰️ ZigZag
Color and thickness for up and down segments.
🏷️ HH/HL/LH/LL Labels
Size, color of labels and text.
🔔 BOS / CHoCH
Toggle BOS/CHoCH display, colors, label size.
📊 Confirmation (Dow Theory)
Use Confirming Asset – enable inter‑market confirmation.
Confirming Asset Symbol – ticker of the confirming instrument.
Confirming Swing Length – swing period for the confirming asset.
Confirming Asset Timeframe – timeframe (empty = current).
Volume Confirms Trend – enable directional volume check.
Volume Lookback Period – averaging period for volume.
Strict Dow CHoCH (require confirmations) – when on, a CHoCH appears only if the index trend matches and volume supports the new direction (when those confirmations are active).
Signal Interpretation
Trend Identification:
Check the info panel («Trend: ▲ Bullish Uptrend» or «▼ Bearish Downtrend»).
Visually: rising price makes HH and HL; falling price makes LH and LL.
Levels:
Use horizontal lines as potential support/resistance zones.
When a level is broken, it disappears – price “confirms” beyond it.
BOS:
BOS ▲ – price makes a new high in an uptrend, signaling strength.
BOS ▼ – new low in a downtrend, continuation of weakness.
CHoCH:
CHoCH ▲ – price exceeds the previous high after a series of lower highs (LH). Possible upward reversal.
CHoCH ▼ – price breaks the previous low after a series of higher lows (HL). Possible downward reversal.
When Strict Dow CHoCH is active, the signal will only appear if the index trend already aligns and volume supports the new direction.
Index Confirmation:
The panel shows «✓ Confirmed» – trends align; «✗ Divergence» – discrepancy (caution); «Waiting…» – not enough data.
Volume Confirmation:
«✓ Volume confirms» – directional volume agrees with the trend.
«✗ Volume weak» – volume does not support the move (potential weakness).
Usage Recommendations
Start with default settings. For long‑term analysis, increase Swing Length to 20–50.
For strict Dow Theory compliance, activate both confirmations and enable «Strict Dow CHoCH».
Choose a confirming asset correlated with the main chart (e.g., SPX for stocks, TOTAL for crypto).
Note: with strict filtering, CHoCH signals will be rare but more reliable. مؤشر

NORN WEAVE | THURISAZ# NORN WEAVE ᚦ THURISAZ
---
### Overview
NORN WEAVE ᚦ THURISAZ is the third version of the NORN WEAVE series, built on URUZ as its foundation.
The core logic is unchanged — EMA slope, Dow Theory swing structure, ADX trend confirmation. What changed is the entry filter. THURISAZ adds one question before every trade: *where are we standing on the daily chart?*
URUZ was built to survive. THURISAZ is built to choose. Bad entries don't just lose money — they consume time, margin, and mental bandwidth. The goal of this version is to stop entering trades that look right on the current timeframe but are wrong on the bigger picture.
The philosophy remains: survival first, profit second. THURISAZ adds a third principle — *don't enter where you shouldn't be standing.*
---
### What's New: Daily Fibonacci Filter
THURISAZ introduces a daily timeframe Fibonacci filter as a structural context layer.
When the current timeframe trend and the daily trend align, the strategy behaves exactly like URUZ — no additional friction.
When they diverge, THURISAZ evaluates *where* price sits within the daily swing range using Fibonacci retracement levels (0.382 and 0.618):
- **Mid zone (0.382–0.618)** — Price is in the middle of the daily range. This is the "landing zone": the most likely area for a pullback to stall and reverse, not complete. Entries are blocked.
- **Shallow zone (below 0.382)** — The pullback is still early. Entry is allowed, but TP1 is adjusted to the 0.382 level rather than the standard ATR-based target. Partial profit is taken before the natural resistance zone.
- **Deep zone (above 0.618)** — Price has retraced significantly. Potential reversal territory. Entry is allowed with standard targets.
The daily swing detection period is independently configurable from the current timeframe's Focus Level, giving finer control over what constitutes a "daily swing."
---
### Entry Conditions
**Long:** EMA rising AND Dow Theory trend up AND ADX above threshold AND Daily Fibo zone allows AND Footprint Delta bullish (if filter enabled)
**Short:** EMA falling AND Dow Theory trend down AND ADX above threshold AND Daily Fibo zone allows AND Footprint Delta bearish (if filter enabled)
---
### Exit Conditions
- TP1 — ATR × Factor × 1 → closes 30% (or Fibo 0.382 if shallow counter-trend entry)
- TP2 — ATR × Factor × 2 → closes another 30%
- TP3 — ATR × Factor × 3 → closes a further 30%
- Stop Loss — fixed % from entry → closes full position
- Break Even Stop — once floating profit reaches the BE trigger %, stop moves to entry price and closes on pullback
- Trend Reversal — when Dow Theory swing flips → closes full position
---
### Focus Level & Auto Calibration
Unchanged from URUZ. Focus Level is the primary knob — adjust it first when applying to a new symbol or timeframe.
Auto Calibration computes ADX threshold, ATR factor, and Stop Loss from the chart's own volatility data. When enabled, no manual tuning is required.
---
### Break Even Stop
Unchanged from URUZ. One parameter: how far price must move from entry before the stop activates. Stop is always placed at entry price.
---
### Footprint Delta Filter *(Premium plan required)*
Unchanged from URUZ. Uses BTC or ETH footprint delta as a directional confirmation filter. Blocks entries when order flow contradicts the trade direction.
---
### Parameters
- **Focus Level** (default 13) — Main knob. Controls swing detection and EMA scaling.
- **EMA Scale Ratio** (default 5) — EMA length = Focus Level × this value.
- **Daily Swing Length** (default 10) — Swing detection period for the daily timeframe. Independent from Focus Level.
- **Show Daily Fibo Zone** (default ON) — Displays the 0.382 and 0.618 levels on the chart for visual reference.
- **Auto Calibration** (default ON) — Computes ADX threshold, ATR factor, and SL automatically.
- **BE Trigger %** (default 5.5%) — How far price must move before the BE stop activates.
- **ATR Factor** — Manual mode only. Default 3.8.
- **Stop Loss %** — Manual mode only. Default -10.0%.
- **ADX Threshold** — Manual mode only. Default 20.5.
- **Footprint SMA Period** (default 21) — Smoothing period for delta signal.
---
### On Overfitting
One of the design principles of the NORN WEAVE series has been to minimize the number of configurable parameters. More parameters means more room to fit historical data — and less reason to trust that the results will hold going forward.
THURISAZ adds one new parameter: Daily Swing Length. That's it.
The Fibonacci levels themselves (0.382 and 0.618) are not parameters — they are fixed, widely recognized structural levels used by traders across markets and timeframes. They were not chosen by optimizing against backtest data.
The Daily Fibonacci Filter was validated across six symbols (SOL, DOGE, ETH, SUI, NEAR, PEPE). Five of the six showed improvement in profit factor and drawdown. The one exception — PEPE — deteriorated, which is the expected behavior: PEPE's explosive, non-structural price action doesn't respect daily swing context the way trend-following instruments do. A filter that improves everything uniformly would be suspicious. This result is not.
The filter works because the idea behind it is sound, not because it was tuned to work.
---
### Visual Guide
- **EMA line** — 3-layer glow. Teal when rising, red when falling.
- **Dow Theory zones** — gradient fill from current swing level to current price.
- **Daily Fibo lines** — gold lines at 0.382 and 0.618 of the daily swing. Shaded zone between them marks where entries are blocked.
- **TP lines** — semi-transparent. TP1 faintest, TP3 most visible.
- **BE Stop line** — gold, appears only when active.
- **Gray background** — ADX below threshold. No entries.
- **Orange background** — Footprint Delta Filter blocking entry, or Daily Fibo mid zone active.
- **Status table** — real-time display of all conditions. Japanese/English toggle included. Daily Fibo status shown as: Same Dir / Mid Zone (blocked) / Shallow (TP adjusted) / Deep (reversal watch).
---
---
### 概要
NORN WEAVE ᚦ THURISAZ は、URUZを土台とした NORN WEAVE シリーズ第3バージョンです。
コアロジックは変わっていません——EMAの傾き・ダウ理論のスイング構造・ADXトレンド確認。変わったのはエントリーフィルターです。THURISAZは、すべてのトレードの前に一つの問いを加えます。*日足でみたとき、今どこに立っているのか?*
URUZは「生き残る」ために設計されました。THURISAZは「選ぶ」ために設計されています。悪いエントリーは資金を失うだけでなく、時間・証拠金・集中力を消費します。このバージョンの目標は、現在足ではシグナルが正しく見えても、大きな地形では立ってはいけない場所へのエントリーを止めることです。
哲学は変わっていません。まず生き残る、利益はその次。THURISAZは三つ目の原則を加えます——*立つべきでない場所には立たない。*
---
### 追加機能:日足フィボフィルター
THURISAZは、相場の地形を把握するための「日足フィボナッチフィルター」を新たに導入しました。
現在足のトレンドと日足のトレンドが同じ方向の場合、ストラテジーはURUZとまったく同じ挙動をします——追加の制約はありません。
方向が逆の場合、THURISAZはフィボナッチリトレースメント水準(0.382・0.618)を使い、日足スイングのどの位置に価格があるかを評価します。
- **中間ゾーン(0.382〜0.618)** — 価格が日足レンジの真ん中にある状態。「踊り場」と呼ぶべき位置で、押し目・戻しが途中で止まって反転する可能性が最も高い。エントリーをブロックします。
- **浅いゾーン(0.382以下)** — 押し目・戻しがまだ浅い段階。エントリーは許可しますが、TP1を通常のATRベースから日足フィボ0.382水準に調整します。自然な抵抗ゾーンの手前で部分利確します。
- **深いゾーン(0.618以上)** — 大きく押し込まれた位置。反転の可能性がある水準として通常通りエントリーします。
日足のスイング検出期間は現在足のフォーカスレベルとは独立して設定できます。
---
### エントリー条件
**ロング:** EMA上向き AND ダウ理論上昇 AND ADXしきい値以上 AND 日足フィボゾーン許可 AND フットプリントデルタ買い優勢(フィルター有効時)
**ショート:** EMA下向き AND ダウ理論下降 AND ADXしきい値以上 AND 日足フィボゾーン許可 AND フットプリントデルタ売り優勢(フィルター有効時)
---
### イグジット条件
- TP1 — ATR×倍率×1 → 30%決済(逆張り・浅いゾーン時はフィボ0.382水準)
- TP2 — ATR×倍率×2 → さらに30%決済
- TP3 — ATR×倍率×3 → さらに30%決済
- ストップロス — エントリーから設定%に達したら全決済
- ブレークイーブンストップ — 含み益がBE発動しきい値%に達したらストップが建値に移動。価格が戻ったら全決済
- トレンド反転 — ダウ理論スイングが逆転した時点で全決済
---
### フォーカスレベルとオートキャリブレーション
URUZから変更なし。フォーカスレベルが主軸ノブです。新しい銘柄・時間足に適用するときはここを最初に調整してください。
オートキャリブレーションをONにすると、ADXしきい値・ATR倍率・SLがチャートのボラティリティデータから自動算出されます。
---
### ブレークイーブンストップ
URUZから変更なし。設定項目は一つ——「何%動いたら発動するか」だけ。ストップ位置は常に建値です。
---
### フットプリント・デルタフィルター *(Premiumプラン以上が必要)*
URUZから変更なし。BTCまたはETHのフットプリントデルタを方向性確認フィルターとして使用します。
---
### パラメーター
- **フォーカスレベル**(デフォルト13)— 主軸ノブ。スイング検出・EMAスケールを制御。
- **EMAスケール倍率**(デフォルト5)— EMA期間 = フォーカスレベル × この値。
- **日足スイング検出期間**(デフォルト10)— 日足フィボ計算に使うスイング検出期間。フォーカスレベルとは独立。
- **日足フィボゾーン表示**(デフォルトON)— 0.382・0.618ラインをチャートに表示。
- **オートキャリブレーション**(デフォルトON)— ADXしきい値・ATR倍率・SLを自動算出。
- **BE発動しきい値%**(デフォルト5.5%)— エントリーからこの%動いたらBEストップが発動。
- **ATR倍率**(手動)— オートキャリブレーションOFF時に有効。デフォルト3.8。
- **損切り%**(手動)— オートキャリブレーションOFF時に有効。デフォルト-10.0%。
- **ADXしきい値**(手動)— オートキャリブレーションOFF時に有効。デフォルト20.5。
- **フットプリントSMA期間**(デフォルト21)— デルタシグナルの平滑化期間。
---
### 過剰最適化について
NORN WEAVE シリーズの設計方針の一つは、パラメーター数をできる限り減らすことでした。パラメーターが増えるほど過去データへの過剰適合が起きやすくなり、将来の結果を信頼する根拠が薄れるからです。
THURISAZで追加したパラメーターは「日足スイング検出期間」の一つだけです。
フィボナッチ水準(0.382・0.618)自体はパラメーターではありません——バックテストデータを最適化して選んだ値ではなく、多くのトレーダーが長年にわたって参照してきた普遍的な構造水準です。
日足フィボフィルターは6銘柄(SOL・DOGE・ETH・SUI・NEAR・PEPE)で検証しました。そのうち5銘柄でPFとDDが改善しました。唯一悪化したのはPEPEですが、これは想定内の結果です——PEPEの急騰急落型の値動きは日足スイング構造を参照するロジックとそもそも相性が悪い。すべての銘柄で一様に改善するフィルターの方が、むしろ過剰最適化を疑うべきです。
このフィルターが機能するのは、チューニングの結果ではなく、背後にある考え方が正しいからだと考えています。
---
### チャートの見方
- **EMAライン** — 3層グロー効果。上向きはティール、下向きはレッド。
- **ダウ理論ゾーン** — 現在のスイングレベルから現在価格へのグラデーション。
- **日足フィボライン** — 日足スイングの0.382・0.618をゴールドラインで表示。その間のシェードが「踊り場ゾーン(エントリーブロック)」。
- **TPライン** — 半透明。TP1が最も薄く、TP3が最も濃い。
- **BEストップライン** — ゴールド。発動中のみ表示。
- **グレー背景** — ADXがしきい値以下。エントリーなし。
- **オレンジ背景** — フットプリントデルタフィルターがブロック中、または日足フィボ踊り場ゾーンが有効。
- **ステータステーブル** — 全条件・パラメーター値をリアルタイム表示。日英切り替え対応。日足フィボの状態は「同方向 / 踊り場(ブロック)/ 浅い(TP調整)/ 深い(反転狙い)」で表示。 استراتيجية

cd_new_QT_CxGeneral: This indicator is a multi-layered time and market structure analyzer specially developed for traders using Smart Money Concepts (SMC), Quarterly Theory (QT), and Inner Circle Trader (ICT) methodologies.
It is based on the fact that market price movements are governed not only by a "price" axis but also by "time"-based cycles. The algorithm helps you track institutional order flow with the highest accuracy by combining Institutional Time Cycles, Smart Market Divergences (SMT - Smart Money Technique), and Asset Correlations on a single screen.
🚀 Details
1. Multi-Layered Time Cycle Models (Cycles)
The indicator supports 2 different theories to make sense of market timeframes, and additionally, personal cycles can be generated with free selections.
• Daye's Theory : Yearly, Quarterly, Monthly, Weekly, Daily, 90m, Micro, and Mini Cycles are generated.
• Zeussy's Theory: Daily (270m), 90m, 30m, and 10m time cycles are generated.
• Free Model : A free cycle model where you can completely customize the starting time, timezone, and division coefficients according to your own strategy.
2. Triad Selection & SMT & SSMT Divergence
Tracking It analyzes market correlations (correlation triads) simultaneously in the background. It catches market divergences by automatically drawing HTF SMT (High Timeframe SMT) and (SSMT) Cyclic SMT lines on the chart. Cycle + higher cycle and lower cycle (SMT + SSMTs) appropriate for the chart timeframe are visualized. The triad (assets) is determined via the menu; its special box must be checked for inverse correlation relationships. By default:
3. HTF Cycle Candles
It reflects the candle bodies and wicks of the institutional cycles in the (one step higher) high timeframe onto the chart in the lower timeframe you are currently on. Sweep, SSMT, FVG, and PSP forms are marked on the HTF cycle candles.
4. Components
• Cycle Sweep (Liquidity Sweep): Automatically detects sweep movements at the highest and lowest levels.
• Cycle SMT (Divergence): Automatically detects divergences at the highest and lowest levels between cycles.
• HTF SMT (Divergence): Automatically detects divergences at the highest and lowest levels between HTF candles.
• Cycle FVG (Fair Value Gap): Tracks institutional imbalance areas and price gaps between cycles.
• BSL/SSL SMT : Tracks BSL/SSL levels and the resulting divergences.
• PSP : Tracks correlation breakups (CIC) between correlated assets on cycle and chart candles.
• CISD (Change In Status of Delivery): Used as transaction confirmation when the desired forms occur as the final stage of the trade. It shows the changes in the market delivery status with Bullish/Bearish color transitions.
5 . Bias (Direction)
Panel Through a special table placed in the bottom right/left corner of the chart, it guides the trader by calculating the instantaneous institutional market direction (Bullish / Bearish / Invalid) obtained from cycle analyses in real-time. Bias is determined according to the cycle selected from the menu (A higher cycle / Aligned higher cycle).
6. Alert Options Instead of producing random signals, the indicator features a dynamic alert structure that operates at the most reliable institutional order flow confirmation points and is fully compatible with the alert() function. For an alert to be triggered, the formation of a single structure in the market is not enough; a precise institutional trigger followed by a CISD (Change In Status of Delivery) confirmation is required. The system generates confirmed alerts through two different scenarios:
• Correlated (Multi-Asset) Alert Condition: Once a Cycle Sweep + SSMT (Simultaneous SMT) formation occurs on the main asset or any of the defined correlated pairs, the alert is triggered the exact moment the CISD confirmation arrives on the main pair.
• Main Pair Specific Alert Condition: Once a Cycle Sweep takes place on the main pair, a dynamic signal is sent as soon as one of the accompanying structures is completed—such as:
o BSL / SSL SMT (Liquidity divergence),
o Cycle FVG Tap (Fair value gap test),
o Standard SMT or SSMT
—and is immediately followed by a CISD confirmation.
🛠️ How to Use?
-Time Zone (Timezone): Select the time zone (for example, GMT-4 for New York or your local time) from the indicator settings according to the asset you are trading.
-Model Selection: Activate one of the Daye's Theory, Zeussy's Theory models or the free option according to your strategy. In the free option; the start hour-minute, daily cycle duration (6 hours in Daye - 270 minutes in Zeussy), and into how many equal parts the lower cycles will be divided are entered.
-Correlation: The indicator automatically detects your chart asset (e.g., EURUSD) and starts SMT analysis with the other assets in the triad group (GBPUSD and DXY). You can use the B-ADJ (Contract Adjustment) filter for Futures charts.
-Appearance and color options can be customized. Cycle appearances are customized from the (Box – Line) options. The cycle body (between opening and closing values) is displayed with the Body option. Cycle names are displayed with the Label option.
-Alert setup is done separately for each cycle.
Final Words:
• The indicator notifies you of the formation that triggers the alert. Trading decisions and risk management belong entirely to the user.
• Please feel free to share your feedback and suggestions.
Happy trading!
مؤشر

NORN WEAVE | URUZ Overview
NORN WEAVE ᚢ URUZ is the second version of NORN WEAVE ᚠ FEHU. The core logic — EMA slope, Dow Theory swing structure, ADX trend confirmation — is unchanged. What changed is the settings.
FEHU had too many parameters to configure manually. URUZ reduces that friction in three ways.
Focus Level replaces the raw EMA period with a single knob. Set the swing detection period, and the EMA scales automatically. One number instead of two.
Auto Calibration computes the ADX threshold, ATR factor, and Stop Loss directly from the chart's volatility data. When enabled, you don't need to touch those values at all.
Break Even Stop now has a single parameter: how far price must move before the stop activates. The stop is always placed at entry price — no buffer to configure, no edge cases.
The philosophy hasn't changed. Survival first, profit second.
Entry Conditions
- Long: EMA rising AND Dow Theory trend up AND ADX above threshold AND Footprint Delta bullish (if filter enabled)
- Short: EMA falling AND Dow Theory trend down AND ADX above threshold AND Footprint Delta bearish (if filter enabled)
Exit Conditions
- TP1 — ATR × Factor × 1 → closes 30% of position
- TP2 — ATR × Factor × 2 → closes another 30%
- TP3 — ATR × Factor × 3 → closes a further 30%
- Stop Loss — fixed % from entry → closes full position
- Break Even Stop — once floating profit reaches the BE trigger %, stop moves to entry price and closes on pullback
- Trend Reversal — when Dow Theory swing flips → closes full position
Focus Level & Auto Calibration
Focus Level is the primary control knob. It sets the swing detection period, and the EMA period is derived automatically (Focus Level × EMA Scale Ratio, default ×5). Adjust Focus Level first when applying to a new symbol or timeframe — everything else follows.
Auto Calibration computes three values from the chart's own data:
- ADX Threshold — 50th percentile of ADX over 300 bars. The strategy only enters when the current ADX exceeds its own historical median, filtering weak trends automatically.
- ATR Factor — shifts based on current volatility vs. the 200-bar average. High volatility → tighter targets. Low volatility → wider targets.
- Stop Loss — 50-bar smoothed ATR × 3.5, clamped between -5% and -20%.
When Auto Calibration is off, the Manual Tune group values are used instead.
Break Even Stop
Once price moves the BE Trigger % from entry, the stop is placed exactly at the entry price. The position closes if price returns to break-even. One parameter to set — how far price must travel before the stop activates. The stop position is always entry.
Footprint Delta Filter (Premium plan required)
Uses BTC or ETH footprint delta (buy volume − sell volume) as a directional confirmation filter. Blocks entries when order flow contradicts the trade direction. Meaningful reduction in false signals during ranging and choppy markets.
Parameters
- Focus Level (default 13) — Main knob. Controls swing detection and EMA scaling. Adjust first when changing asset or timeframe.
- EMA Scale Ratio (default 5) — EMA length = Focus Level × this value. Default gives EMA 65.
- Auto Calibration (default ON) — Computes ADX threshold, ATR factor, and SL from chart data automatically.
- BE Trigger % (default 5.5%) — How far price must move from entry before the BE stop activates. Recommended: 50–70% of |SL|.
- ATR Factor — active when Auto Calibration is OFF. Controls TP distance. Default 3.8.
- Stop Loss % — active when Auto Calibration is OFF. Default -10.0%.
- ADX Threshold — active when Auto Calibration is OFF. Default 20.5.
- Footprint SMA Period (default 21) — Smoothing period for delta signal.
Recommended Settings
- Meme coins (DOGE, SHIB): Focus 10–15, Auto Calibration ON, BE trigger 6–10%
- Major assets (BTC, ETH): Focus 13–18, Auto Calibration ON, BE trigger 4–7%
- Mid-cap alts (SOL, SUI, ADA): Focus 12–16, Auto Calibration ON, BE trigger 5–8%
For timeframe selection, ADX threshold 15–20 suits 1–5 min charts, 18–23 for 15 min–1H, and 20–25 for 2–4H charts. Default settings are optimized for the 2H timeframe.
Visual Guide
- EMA line — 3-layer glow effect. Teal when rising, red when falling.
- Dow Theory zones — gradient fill from the current swing level to the current price.
- TP lines — semi-transparent. TP1 faintest, TP3 most visible.
- BE Stop line — gold, appears only when the break even stop is active.
- Gray background — ADX below threshold. No entries occur in this zone.
- Orange background — Footprint Delta Filter is blocking entry.
- Orange warning bar — Auto Calibration is OFF. Manual mode is in effect.
- Status table — real-time display of all conditions, current parameter values, and mode. Japanese/English toggle included.
概要
NORN WEAVE ᚢ URUZ は、NORN WEAVE ᚠ FEHU の第2バージョンです。エントリーのコアロジック——EMAの傾き・ダウ理論のスイング構造・ADXトレンド確認——は変わっていません。変わったのは設定です。
FEHUは手動で調整するパラメーターが多すぎました。URUZはその煩わしさを3つの形で減らしています。
フォーカスレベル は、EMA期間という直感的でない数値を一本のノブに置き換えます。スイング検出期間を設定するだけで、EMAが自動的にスケールします。2つの数値が1つになりました。
オートキャリブレーション をONにすると、ADXしきい値・ATR倍率・ストップロスがチャートのボラティリティデータから自動算出されます。有効にしていれば、これらの値に触れる必要はありません。
ブレークイーブンストップ の設定項目は一つになりました——「何%動いたら発動するか」だけです。ストップ位置は常に建値(エントリー価格)で固定。バッファーの設定も、落とし穴もありません。
哲学は変わっていません。 まず生き残る、利益はその次。
エントリー条件
- ロング: EMA上向き AND ダウ理論上昇トレンド AND ADXしきい値以上 AND フットプリントデルタ買い優勢(フィルター有効時)
- ショート: EMA下向き AND ダウ理論下降トレンド AND ADXしきい値以上 AND フットプリントデルタ売り優勢(フィルター有効時)
イグジット条件
- TP1 — ATR×倍率×1 → ポジションの30%を決済
- TP2 — ATR×倍率×2 → さらに30%を決済
- TP3 — ATR×倍率×3 → さらに30%を決済
- ストップロス — エントリーから設定%に達したらポジションを全決済
- ブレークイーブンストップ — 含み益がBE発動しきい値%に達したら、ストップが建値に移動。価格が戻ったら全決済
- トレンド反転 — ダウ理論のスイングが逆転した時点でポジションを全決済
フォーカスレベルとオートキャリブレーション
フォーカスレベル は主軸の操作ノブです。スイング検出期間を設定し、EMA期間はフォーカスレベル×EMAスケール倍率(デフォルト×5)で自動決定されます。新しい銘柄・時間足に適用するときは、まずここを調整してください。
オートキャリブレーション はチャート自身のATR履歴を読み取り、3つの値をリアルタイムで算出します。
- ADXしきい値 — 過去300本のADXの50パーセンタイル(中央値)から算出。現在のADXが過去の中央値を超えているときのみエントリー。
- ATR倍率 — 現在のボラティリティを200本平均と比較して動的に変化。高ボラ時はTPを短く、低ボラ時はTPを長く。
- ストップロス — 50本平滑ATR×3.5で算出し、-5%〜-20%の範囲にクランプ。
オートキャリブレーションをOFFにすると、マニュアルチューングループの値が使われます。
ブレークイーブンストップ
エントリーからBE発動しきい値%以上動いたら、ストップがエントリー価格(建値)に設定されます。価格が建値まで戻った時点でポジションが決済されます。設定項目は一つ——「何%動いたら発動するか」だけ。ストップ位置は常に建値です。
フットプリント・デルタフィルター (Premiumプラン以上が必要)
BTCまたはETHのフットプリント・デルタ(買い出来高から売り出来高を引いた値)を方向性確認フィルターとして使用します。オーダーフローがトレードの方向と逆行しているときはエントリーをブロックします。横ばい・荒れた相場でのだましシグナルを大幅に削減します。
パラメーター
- フォーカスレベル(デフォルト13)— 主軸ノブ。銘柄・時間足変更時はここを最初に調整。
- EMAスケール倍率(デフォルト5)— EMA期間 = フォーカスレベル × この値。デフォルトでEMA65。
- オートキャリブレーション(デフォルトON)— ADXしきい値・ATR倍率・SLをチャートデータから自動算出。
- BE発動しきい値%(デフォルト5.5%)— エントリーからこの%動いたらBEストップが発動。推奨:|SL|の50〜70%。
- ATR倍率(手動)— オートキャリブレーションOFF時に有効。デフォルト3.8。
- 損切り%(手動)— オートキャリブレーションOFF時に有効。デフォルト-10.0%。
- ADXしきい値(手動)— オートキャリブレーションOFF時に有効。デフォルト20.5。
- フットプリントSMA期間(デフォルト21)— デルタシグナルの平滑化期間。
銘柄タイプ別おすすめ設定
- ミーム系(DOGE・SHIB): フォーカス10〜15、オートキャリブレーションON、BE発動6〜10%
- 主要銘柄(BTC・ETH): フォーカス13〜18、オートキャリブレーションON、BE発動4〜7%
- 中堅アルト(SOL・SUI・ADA): フォーカス12〜16、オートキャリブレーションON、BE発動5〜8%
時間足については、1〜5分足ではADXしきい値15〜20、15分〜1時間足では18〜23、2〜4時間足では20〜25を推奨します。デフォルト設定はADA 2時間足向けに最適化されています。
チャートの見方
- EMAライン — 3層グロー効果。上向きはティール、下向きはレッド。
- ダウ理論ゾーン — 現在のスイングレベルから現在価格へのグラデーション。
- TPライン — 半透明。TP1が最も薄く、TP3が最も濃い。
- BEストップライン — ゴールド。BEストップが発動している間のみ表示。
- グレー背景 — ADXがしきい値以下。このゾーンではエントリーが発生しない。
- オレンジ背景 — フットプリント・デルタフィルターがエントリーをブロック中。
- オレンジ警告 — オートキャリブレーションがOFF。手動モードが有効。
- ステータステーブル — 全エントリー条件・現在のパラメーター値・モードをリアルタイム表示。日本語・英語切り替え対応。
استراتيجية

Value Shift Ladder [AGPro Series]Value Shift Ladder
🔹 Overview
Value Shift Ladder is a market-structure mapping tool that extracts the most volume-accepted price shelves from a rolling lookback window and arranges them, in creation order, as the rungs of a ladder. Each rung is a volume-weighted zone where the market has recently spent the most time and traded the most contracts. The script then tracks how price interacts with every rung through a full Held → Broken → Reclaimed lifecycle and summarizes the entire chain into one readable ladder state: Rising, Falling, Mixed, Broken, Reclaiming, Building, or Neutral.
The goal is not to predict direction and not to produce buy or sell signals. The goal is to give the chart reader a continuously updated answer to one question: where is the market's current fair-value region, how is that region moving over time, and which prior value shelves are still relevant versus which have been abandoned. This makes the tool useful as a structural reference for volume-profile readers, auction-theory traders, and anyone who builds a bias from accepted-value migration rather than from trend lines or moving averages.
🔸 Unique Edge
Most volume-based tools either draw a single static profile snapshot, or plot every candidate level and leave the reader to filter. Value Shift Ladder does three things differently:
Multi-shelf chronological ladder. Instead of producing one value band, the script maintains a ranked set of up to eight volume-accepted shelves and arranges them in the order they were first registered. This preserves the migration history of accepted value instead of collapsing it into one average.
Proximity-gated visualization. Only shelves within a configurable ATR distance from current price are drawn on the chart, counted in the panel, and fed into the ladder direction state. Distant historical shelves exist in memory but do not clutter the chart or bias the readout — the ladder always reflects the value structure that is actually relevant to the current bar.
Adaptive, confidence-aware breaks. A shelf is not broken on a single close outside its band. Young shelves are strongly protected (3.0 × ATR), maturing shelves require a medium distance (1.5 × ATR), and fully-aged shelves use the user-defined break distance. Shelves that have been re-confirmed multiple times gain a 2× confidence multiplier on top of that, preventing established value regions from being lost to a single volatility spike.
🔸 Methodology
1) Volume Profile Construction
The script divides the rolling lookback window into equal price bins and distributes each bar's volume across every bin it touches, proportional to range coverage. Zero-range bars are assigned to their single bin. This produces a volume-weighted histogram of the lookback period.
2) Shelf Extraction
The top-K bins by volume are selected iteratively. After each pick, the chosen bin and its ATR-neighborhood are zeroed out before the next pick, enforcing a minimum separation between shelves and preventing a single high-volume cluster from dominating every rung. Each surviving bin becomes a shelf, anchored at its bin-center price.
3) Shelf Merging and Confidence
On every refresh, newly extracted shelves are checked against existing ones. If a new shelf falls within the ATR separation of an existing non-broken shelf, the existing shelf's volume is refreshed and its confidence score is incremented. Otherwise a new shelf is registered. Confidence is capped at ten and used downstream to scale break tolerance.
4) Lifecycle State Machine
Each shelf carries one of three states — Held, Broken, or Reclaimed. Held flips to Broken when price closes beyond an adaptive break distance for three recent bars. Broken flips to Reclaimed when price dwells back inside the band for a user-defined number of bars. Reclaimed auto-promotes to Held once the shelf has stabilized past a short age threshold.
5) Ladder Direction
Proximity-filtered active shelves are sorted by creation order. The last one, two, or three rungs are compared to produce a single state: Rising if the sequence is monotonically higher, Falling if lower, Mixed if non-monotonic, plus transient overrides for Broken, Reclaiming, Building, or Neutral conditions.
6) Pruning
Stale broken shelves expire after a timeframe-aware window. A hard cap of ten active shelves is enforced, with broken shelves removed first when the cap is hit.
🔹 Signals and Alerts
The script provides four deterministic state-change alerts, all tied to closed-bar transitions:
— New Ladder Step Formed: fires when a new volume-accepted shelf is first registered.
— Ladder Step Held: fires when an existing shelf is re-confirmed by the rolling profile.
— Ladder Step Broken: fires when a held shelf transitions to broken.
— Ladder Step Reclaimed: fires when a broken shelf transitions back to reclaimed.
These alerts describe structural state changes inside the indicator logic. They are not trade signals and do not imply expected profitability, win rate, or directional certainty.
🔸 Key Inputs
— Profile Mode (Auto / Manual): Auto derives lookback and refresh from the chart timeframe. Manual exposes both for full control.
— Manual Lookback (bars): Size of the rolling window used to build the profile.
— Manual Refresh Interval (bars): How often the profile is rebuilt.
— Profile Resolution (bins): Number of price bins the range is divided into.
— Target Shelf Count: Maximum number of shelves kept active.
— Min Volume Ratio: Minimum fraction of the top-bin volume a bin must hold to qualify as a shelf.
— Min Shelf Separation (ATR): Minimum ATR distance between two shelves.
— Break Distance (ATR): Fully-aged break tolerance.
— Reclaim Dwell Bars: Bars needed inside the band to flip Broken to Reclaimed.
— Max Visible Distance (ATR): Proximity gate for drawing and counting shelves.
— Display options: panel position, panel font size, on-chart label size, alerts toggle.
🔹 How to Use
Value Shift Ladder is designed as a structural reference rather than a signal engine. Typical reading workflows include:
— Bias framing. Read the Ladder state first. Rising or Falling indicates a one-sided migration of accepted value; Mixed indicates balance; Broken or Reclaiming highlights an active transition.
— Dominant reference. The Dominant row in the panel highlights the nearest held or reclaimed shelf within two ATR of price. Use it as the closest structural reference for scenario planning, not as an execution level.
— Proximity discipline. Because shelves more than the configured ATR distance away are not drawn, the ladder always reflects value structure that is currently relevant. When no shelves are visible, the market is between value regions — a context in which mean-reversion assumptions weaken.
— Confluence. The tool is designed to be combined with independent confirmation such as session structure, higher-timeframe bias, or volume analysis. It is not meant to stand alone as a decision source.
🔸 Limitations and Transparency
— Volume profile quality depends on the instrument's volume reporting. On symbols with unreliable or synthetic volume, shelf placement may drift.
— The profile is recomputed on the close of refresh bars. Intrabar readings on the current bar can change until the bar closes; state transitions evaluate the last three bars for breaks and the reclaim-dwell window for reclaims, so fresh transitions can flip until those bars close.
— On extremely illiquid sessions or instruments with frequent volatility spikes, the adaptive-break logic can delay transitions by design. This is a tradeoff in favor of stability.
— Past structural behavior at a shelf does not guarantee future behavior. The tool does not forecast direction and is not a trading strategy.
🔹 Risk Disclosure
This script is a structural visualization tool provided for educational and analytical purposes. It is not financial advice, not a trading strategy, and not a signal service. All trading involves risk of loss. Past market behavior is not indicative of future results. Users are fully responsible for their own trading decisions and for independently verifying the tool's behavior on their chosen instruments and timeframes before relying on it for any purpose. مؤشر

HH/HL/LH/LL Structure Tracker [AGPro Series]HH/HL/LH/LL Structure Tracker
🔹 Overview
HH/HL/LH/LL Structure Tracker automatically classifies every confirmed swing on your chart using pure Dow Theory — the original price-action framework that precedes and underlies every modern market-structure methodology. Each pivot high is labeled as a Higher High (HH) or Lower High (LH), and each pivot low as a Higher Low (HL) or Lower Low (LL). The sequence of the last four swings derives a live trend state: Bullish, Bearish, or Ranging.
No oscillators. No lagging averages. Just the raw geometry of price.
💎 What Makes This Different
While most "market structure" indicators focus on Break-of-Structure or Change-of-Character logic layered with Smart Money terminology, this script returns to the foundation: the four-swing classification that Charles Dow documented over a century ago. The result is an uncluttered, universally readable overlay that communicates structural context at a glance — regardless of which higher-level methodology you apply next (SMC, Wyckoff, Elliott, or classical technical analysis).
Key differentiators versus generic HH/HL scripts on the public library:
• Live structure range zone that dynamically recolors with the trend state (bullish teal, bearish pink, ranging amber).
• Bull Streak and Bear Streak counters — a quantifiable measure of trend persistence (e.g. "3 consecutive HH-HL swings").
• Semantic break classification: the panel distinguishes a continuation break (HH or LL broken in trend direction) from a reversal break (LH or HL broken against the prior structure).
• Progressive label offset algorithm: when several same-type swings cluster without an intervening opposite swing, each subsequent label is offset further from price, eliminating the overlap that plagues most swing scripts on fast-moving charts.
• AGPro design language: premium info panel, adjustable font size and theme, and a disciplined color palette.
🧠 Methodology
1. Pivot detection. A confirmed swing high is a bar whose high exceeds the preceding and following N bars (N = Pivot Length, default 5). Confirmed swing lows mirror the rule. Confirmation occurs N bars after the pivot bar, never repaints.
2. Swing classification. Each new confirmed high is compared to the previous confirmed high. If greater, it is HH; if lesser, LH. Lows are compared to the previous low: greater means HL, lesser means LL.
3. Trend derivation. If the most recent high is HH and the most recent low is HL, the trend state is Bullish. If LH and LL, Bearish. Any mixed sequence (HH + LL, LH + HL) returns Ranging.
4. Structure range zone. A rectangle is drawn between the most recent swing high and most recent swing low. The zone is always current: as new swings confirm, the zone updates in place. Zone color tracks the trend state.
5. Structure break. A close above the most recent swing high (or below the most recent swing low) fires a break event. The type of swing broken is reported — breaking an LH or HL typically precedes a trend reversal; breaking an HH or LL typically signals continuation.
📊 Signals & Alerts
Three optional alert types are available, each using "once per bar close" frequency to prevent intrabar noise:
• New Higher High confirmed — fires when a fresh HH is classified.
• New Lower Low confirmed — fires when a fresh LL is classified.
• Structure break — fires on a close outside the current structure range, labeled as either (reversal signal) or (continuation).
The live info panel reports: Trend state, Bull Streak, Bear Streak, Last High (with type and price), and Last Break (with type and price).
⚙️ Key Inputs
• Pivot Length — sensitivity of swing detection (2 to 50). Lower values capture minor structure; higher values isolate major swings only. Typical: 3–8 intraday, 5–15 swing trading.
• Max Visible Labels — caps the number of historical labels kept on the chart to preserve a premium uncluttered look.
• Label & Panel Font Size — five sizes from Tiny to Huge, default Normal.
• Label Distance from Price (ATR) — base vertical offset of labels from pivot candles.
• Structure Range Zone — toggle, transparency, and border.
• Trend Background Tint — subtle bullish or bearish chart shading.
• Info Panel — toggle, location (six positions), and theme (Dark or Light).
• Alerts — independent toggles for new HH, new LL, and structure break.
🎯 How to Use
Context tool, not a standalone signal generator. Use the trend state to filter entries from your primary methodology: take long setups only while Trend is Bullish and Bull Streak is building, or vice versa. The structure range zone highlights the active battleground between buyers and sellers — trades taken inside the zone are counter-trend by definition, trades taken on a decisive break of the zone align with the emerging new trend.
Reversal breaks (LH or HL broken) are high-information events — they are often the first objective signal that a prevailing trend is losing conviction, ahead of any moving-average cross or momentum divergence. Continuation breaks (HH or LL broken) are confirmation events that validate staying with the trend.
Works on all markets and all timeframes. Particularly effective on liquid instruments with clear structural rhythm: major crypto pairs, FX majors, index futures, and large-cap equities.
⚠️ Limitations & Transparency
• Pivot confirmation requires N bars after the swing; the most recent unconfirmed swing is never labeled.
• In low-volatility sideways regimes, pivot clustering is inevitable — the Pivot Length input should be raised to filter noise on ranging charts.
• The trend state is derived from only the last two swings; it does not account for higher-timeframe context. Pair with a higher-timeframe version of the same script for multi-timeframe confluence.
• Does not provide entry, stop, or target levels. It is a structural framework, not a complete trading system.
📌 Risk Disclosure
This indicator is for educational and analytical purposes only. It does not constitute financial advice, a trading recommendation, or a guarantee of future performance. All trading involves risk of loss. Past structural patterns do not guarantee future outcomes. Always conduct your own due diligence and use appropriate risk management. مؤشر

Auction Intelligence█ AUCTION INTELLIGENCE
Auction Market Theory Overlay
An Auction Market Theory (AMT) overlay that analyzes market structure through volume profile analysis. It detects profile shape (D/P/b/DD), identifies balance vs. imbalance states, and tracks value migration — giving you the same auction-based framework used by institutional traders to understand market behavior.
Free and Open Source.
█ THE CONCEPT: WHY AUCTION MARKET THEORY MATTERS
Standard indicators tell you what happened. AMT tells you why . Markets are continuous two-sided auctions where buyers and sellers negotiate fair value:
Balance — Price rotates within an accepted value area. Expect mean-reversion and range-bound trading.
Imbalance — Price breaks away from the value area. One side dominates. Expect continuation.
Profile Shape — The distribution of volume tells you who is in control and what to expect next.
Value Migration — The direction where the POC and Value Area are shifting reveals the underlying trend.
█ CORE FEATURES
1. Volume Profile Engine
Distributes each bar's volume proportionally across price rows, building a volume-at-price distribution:
POC (Point of Control) — Highest volume row = strongest S/R level
VAH (Value Area High) — Upper boundary of the 70% value area = resistance
VAL (Value Area Low) — Lower boundary of the 70% value area = support
2. Profile Shape Detection
Automatically classifies the volume distribution into four distinct shapes:
D-shape — Balanced. Volume evenly distributed, POC near center. Expect rotation.
P-shape — Bullish. Volume concentrated in upper half. Buyers in control.
b-shape — Bearish. Volume concentrated in lower half. Sellers in control.
DD (Double Distribution) — Two distinct volume clusters. Market transitioning between value areas.
3. Balance vs. Imbalance Recognition
Three-factor analysis combining price position, VA width dynamics, and trend strength. The chart background colors automatically when imbalance is detected (cyan = bullish discovery, red = bearish discovery).
4. Value Migration Tracker
Monitors how the POC and Value Area midpoint shift over time:
Bullish Migration ▲ — POC and VA migrating higher = institutional buying
Bearish Migration ▼ — POC and VA migrating lower = institutional selling
Neutral ─ — No significant migration = consolidation
█ AUTO-TIMEFRAME ADAPTATION
All parameters automatically adjust based on the chart timeframe:
1-5 min → Lookback 30, 18 Rows, Migration Len 5
15-30 min → Lookback 40, 20 Rows, Migration Len 8
1 Hour → Lookback 50, 24 Rows, Migration Len 10
4 Hour → Lookback 70, 28 Rows, Migration Len 15
Daily → Lookback 100, 32 Rows, Migration Len 20
Weekly+ → Lookback 150, 40 Rows, Migration Len 30
Disable Auto-TF to use manual settings for full control.
█ DASHBOARD
A compact, dark-themed info panel displaying:
State — Current AMT state (BALANCE / IMBALANCE) with context
Shape — Detected profile shape (D / P / b / DD) with description
Migration — Value migration direction and strength
Position — Current price position relative to Value Area
POC / VAH / VAL — Key volume-based levels
█ ALERTS (4 CONDITIONS)
Balance → Imbalance — Market leaving the value area
Imbalance → Balance — Market returning to the value area
Profile Shape Changed — Volume distribution pattern shift
Value Migration Shift — Directional bias change in POC/VA migration
█ PRO VERSION
The PRO version (Auction Intelligence PRO v2.0) adds:
Initial Balance Range — IB Tracking + IB Extension Detection
Failed Auction Detection — VA Breakout Failures
Excess & Poor High/Low — Wick analysis at session extremes
Auction Rotation Factor — POC-cross frequency as market efficiency measure
Day Type Classification — Trend/Normal/Normal Var./Neutral/Double Dist. (Dalton)
Previous Day Value Area — PDPOC/PDVAH/PDVAL as reference levels
Enhanced Confluence Score — 0-12 scale with A+ to D grading
13 Alert Conditions
█ NON-REPAINTING
The volume profile is calculated from confirmed bar data only. The rolling lookback window recalculates on each confirmed bar using historical high/low/volume — no future data is used. No repainting.
█ WORKS ON
Crypto, Forex, Stocks, Futures, Indices — any timeframe from 1 minute to Monthly.
█ DISCLAIMER
This indicator is for educational and informational purposes only. It does not constitute financial advice. Always do your own research and manage your risk. Past performance does not guarantee future results. Trading involves substantial risk of loss.
مؤشر

CAP Channel Trading (Auto-Deviation & Analysis Dashboard)This indicator is a highly precise and comprehensive replica of the well-known "MeetAlgo CAP Channel Trading" indicator, originally developed for MetaTrader 4 and 5. It has been built from the ground up in Pine Script v6 and expanded with exclusive TradingView features (such as Auto-Deviation calculation and dynamic themes).
The indicator is based on the "Advanced Envelope Theory." This theory assumes that market prices naturally oscillate within dynamically calculated boundaries (envelopes). If the price breaks out of these boundaries or touches them, it signals a statistical anomaly and provides an excellent opportunity for reversal trades.
Unlike classic Bollinger Bands, which often lag behind volatility, this system reacts extremely sensitively to current fluctuations and keeps the channel width much more constant.
🧠 How does the indicator work?
The Center Line (TMA): The heart of the channel is a double-smoothed Triangular Moving Average. This filters out short-term market noise and forms a static center of gravity for the price.
The Outer Bands (ATR): The channel boundaries are calculated using the Average True Range (ATR) as a proxy for true market volatility.
Auto-Deviation (Exclusive): Since highly volatile instruments (like XAUUSD on the 5M chart) have more extreme outliers than quiet Forex pairs, this indicator features an Auto-Deviation logic. It analyzes the last 200 candles and calculates the 85th percentile of volatility to stretch the channel exactly enough to capture normal price action, while immediately providing razor-sharp signals during real breakouts.
✨ Main Features & Visualization (See Screenshots)
Dual-Color Smart Bands: The channel visually displays the market state. If the price remains safely within the channel, the bands are red with a yellow edge. If the price touches the outer boundary and enters the reversal zone (Overbought/Oversold), the bands instantly switch to black with a green edge.
Precise Entry Signals: As soon as extreme zones are reached, the indicator plots colored arrows (including the exact entry price as text) directly above or below the corresponding candle. The text color automatically adapts to your TradingView theme (Light/Dark).
Live Analysis Dashboard: In the top right corner of the chart, there is an info table that automatically simulates trades in the background and evaluates how profitable the signals currently are (including Win-Rate, accumulated Points/Pips, and the Live Spread).
⚙️ Settings (Parameters)
1. Auto-Calculate Optimal Deviation
(Default: Enabled) Allows the indicator to independently calculate the optimal channel width (Deviations) for the currently open instrument and selected timeframe. Ideal for dynamic markets like Gold.
2. Auto-Dev Percentile (Sensitivity)
(Default: 85) Controls the sensitivity of the automatic calculation. A lower value (e.g., 80) ignores more historical spikes, makes the channel tighter, and generates signals more frequently. A higher value (e.g., 95) makes the channel wider and filters signals more strictly.
3. Auto-Dev Smoothing Length
(Default: 14) Smooths the dynamically calculated channel width using an Exponential Moving Average (EMA). This prevents the channel from becoming erratic during a sudden, unnatural price spike.
4. Static Deviations
(Default: 2.0) The manual multiplier for the distance of the bands to the center line. This value is only used if the "Auto-Calculate" function is disabled.
5. Trade Exit Level
Determines at which point the dashboard considers a trade "closed" to calculate the Win-Rate.
Middle Line (Default): A trade is opened at the outer band and closed exactly at the TMA center line.
Opposite Band: A trade is only closed when the price has traveled completely through the channel and touches the opposite band.
6. Show Analysis Report
Shows or hides the performance dashboard (Info-Box) in the top right corner of the chart.
7. Signal Bar (Notification)
ClosedBar (Default): Signals and dashboard evaluations are only confirmed when the current candle has completely closed. This prevents "repainting" (arrows disappearing later).
LiveBar: Evaluates every tick in real-time. Can enable faster entries but carries the risk of false signals if the price pulls back before the candle closes. مؤشر

NORN WEAVE | FEHUOverview
NORN WEAVE ᚠ FEHU is a trend-following strategy built around one philosophy: survival first, profit second.
The core logic is three filters in sequence — EMA slope, Dow Theory swing structure, and ADX trend confirmation. All three must align before an entry is taken. If the market is ranging, the strategy stands aside.
What defines NORN WEAVE is how it protects what it earns. The Break Even Stop automatically moves the stop to entry price once floating profit reaches a threshold. The Footprint Delta Filter adds a second layer, blocking entries when BTC or ETH order flow contradicts the trade direction. Fewer trades. Fewer unnecessary losses. A drawdown profile that stays flat even across five years of volatile crypto markets.
This is not a strategy designed to make you rich overnight. It is designed to keep you in the game.
Performance Highlights (DOGE / 2H / 2021–2026)
Backtested on DOGE 2H from January 2021 to March 2026, with 0.055% commission included. Net profit +25.4%, max drawdown 1.71%, win rate 70.7%, profit factor 1.80, total trades 557.
Always backtest on your target asset before live trading.
Entry Conditions
Long: EMA rising AND Dow Theory trend up AND ADX above threshold.
Short: EMA falling AND Dow Theory trend down AND ADX above threshold.
Exit Conditions
TP1 triggers at ATR × Factor × 1, closing 30% of the position. TP2 at × 2, closing another 30%. TP3 at × 3, closing a further 30%. The Stop Loss closes the full position at a fixed percentage from entry. The Break Even Stop automatically triggers once floating profit reaches the BE threshold, closing the full position at entry price. A Trend Reversal — when Dow Theory swing flips — also closes the full position.
Footprint Delta Filter (Premium plan required)
Uses BTC or ETH footprint delta (buy volume − sell volume) as a directional confirmation filter. Blocks entries when order flow contradicts the trade direction. Meaningful reduction in false signals during ranging markets.
Parameters
EMA Period defaults to 58, recommended range 30–100. Use shorter values for high-volatility assets, longer for stable ones.
ATR Factor defaults to 3.8, recommended range 2.5–6.0. Controls TP distance — higher means wider targets.
Stop Loss defaults to -5.0%, recommended range -4 to -10%. Wider for volatile assets, tighter for BTC/ETH.
ADX Threshold defaults to 20.5, recommended range 15–28. Higher values produce fewer but cleaner trades.
Swing Length defaults to 13, recommended range 2–20. Larger values reduce sensitivity to minor swings.
BE Trigger defaults to 9.0%, recommended range 3–15%. Set below TP1 distance to protect profits before TP1 is reached.
Footprint Delta SMA defaults to 21, recommended range 1–50. Controls smoothing of the delta signal.
Recommended Settings
For meme coins such as DOGE and SHIB: EMA 44–58, ATR 3.5–5.0, stop loss -5 to -8%, ADX 18–22, BE trigger 7–10%.
For major assets such as BTC and ETH: EMA 55–80, ATR 2.5–4.0, stop loss -4 to -6%, ADX 20–25, BE trigger 5–8%.
For mid-cap alts such as SOL and SUI: EMA 35–55, ATR 4.0–5.5, stop loss -5 to -7%, ADX 18–23, BE trigger 6–10%.
For timeframe selection, an ADX threshold of 15–20 suits 1–5 minute charts. 18–23 suits 15 minutes to 1 hour. 20–25 suits 2–4 hour charts. Default settings are optimized for the 2H timeframe.
Visual Guide
The EMA line uses a 3-layer glow effect — teal when rising, red when falling. Dow Theory zones show a gradient from the current swing level to the current price. TP lines are semi-transparent, with TP1 the faintest and TP3 the most visible. The BE Stop line appears in gold only when the break even stop is active. A gray background indicates ADX is below the threshold — the strategy does not enter trades in this zone. An orange background means the Footprint Delta Filter is blocking entry. The status table shows all entry conditions and current state in real time, with a Japanese/English toggle.
概要
NORN WEAVE ᚠ FEHU は、「まず生き残る、利益はその次」 という一つの哲学から作られたトレンドフォロー型ストラテジーです。
エントリー条件はシンプルな3つのフィルターで構成されています——EMAの傾き、ダウ理論のスイング構造、ADXトレンドフィルター。この3つが同時に揃ったときだけエントリーします。レンジ相場と判断されたときは、何もせずに待ちます。
NORN WEAVEを特徴づけているのは、稼いだ利益をどう守るかという設計です。ブレークイーブンストップは、含み益が一定の閾値に達した瞬間に損切りラインをエントリー価格へ自動移動します。フットプリント・デルタフィルターはBTCまたはETHのオーダーフローを確認し、トレードの方向と逆行している場合はエントリーをブロックします。結果としてトレード数は絞られ、不要な損失が減り、ドローダウンが5年間の荒れた暗号資産市場でも極めて小さく抑えられています。
一夜にして資産を増やすストラテジーではありません。長くゲームに居続けるためのストラテジーです。
バックテスト結果
DOGEの2時間足、2021年1月から2026年3月まで、手数料0.055%を含む条件でバックテストを実施しています。総損益は+25.4%、最大ドローダウンは1.71%、勝率は70.7%、プロフィットファクターは1.80、トレード総数は557件です。
実運用の前に必ずご自身の対象銘柄でバックテストを行ってください。
エントリー条件
ロングエントリーはEMAが上向き、ダウ理論トレンドが上昇、ADXがしきい値以上の3条件が揃ったときに発動します。ショートエントリーはEMAが下向き、ダウ理論トレンドが下降、ADXがしきい値以上の3条件が揃ったときに発動します。
イグジット条件
TP1はエントリーからATR×倍率×1の地点でポジションの30%を決済します。TP2は×2の地点でさらに30%、TP3は×3の地点でさらに30%を決済します。損切りは設定した%を超えた時点でポジションを全決済します。ブレークイーブンストップは含み益がしきい値%に達した瞬間に自動発動し、エントリー価格でポジションを全決済します。ダウ理論のスイングが逆転したトレンド反転時も、ポジションを全決済します。
フットプリント・デルタフィルター(Premiumプラン以上が必要)
BTCまたはETHのフットプリント・デルタ(買い出来高から売り出来高を引いた値)を方向性確認フィルターとして使用します。オーダーフローがトレードの方向と逆行しているときはエントリーをブロックします。横ばい相場でのだましシグナルを大幅に削減します。
パラメーター
EMA期間のデフォルトは58で、推奨範囲は30〜100です。ボラティリティが高い銘柄は短め、安定した銘柄は長めに設定します。
ATR倍率のデフォルトは3.8で、推奨範囲は2.5〜6.0です。TP距離の基準となる値で、大きいほど利確ラインが遠くなります。
損切りのデフォルトは-5.0%で、推奨範囲は-4〜-10%です。ボラティリティが高い銘柄は広め、BTC・ETHなどはタイトに設定します。
ADXしきい値のデフォルトは20.5で、推奨範囲は15〜28です。高いほどトレード数が減り、精度が上がります。
スイング検出期間のデフォルトは13で、推奨範囲は2〜20です。大きいほど小さなスイングに反応しにくくなります。
BE発動しきい値のデフォルトは9.0%で、推奨範囲は3〜15%です。TP1到達距離より低めに設定することで、TP1到達前に元本を保護できます。
フットプリントSMA期間のデフォルトは21で、推奨範囲は1〜50です。デルタシグナルの平滑化期間です。
銘柄タイプ別おすすめ設定
ミーム系銘柄(DOGE・SHIBなど)ではEMAを44〜58、ATR倍率を3.5〜5.0、損切りを-5〜-8%、ADXしきい値を18〜22、BEトリガーを7〜10%に設定することを推奨します。
主要銘柄(BTC・ETH)ではEMAを55〜80、ATR倍率を2.5〜4.0、損切りを-4〜-6%、ADXしきい値を20〜25、BEトリガーを5〜8%に設定することを推奨します。
中堅アルト(SOL・SUIなど)ではEMAを35〜55、ATR倍率を4.0〜5.5、損切りを-5〜-7%、ADXしきい値を18〜23、BEトリガーを6〜10%に設定することを推奨します。
時間足については、1〜5分足ではADXしきい値を15〜20、15分〜1時間足では18〜23、2〜4時間足では20〜25に設定することを推奨します。デフォルト設定はDOGEの2時間足向けに最適化されています。
チャートの見方
EMAラインは3層のグロー効果で描画されます。上向きのときはティール、下向きのときはレッドで表示されます。ダウ理論ゾーンは現在のスイングレベルから現在価格へ向かうグラデーションで表示されます。TPラインは半透明で、TP1が最も薄く、TP3が最も濃く表示されます。BEストップラインはブレークイーブンストップが発動している間のみゴールドのラインで表示されます。グレーの背景はADXがしきい値以下の横ばいゾーンを示しており、このゾーンではエントリーは発生しません。オレンジの背景はフットプリント・デルタフィルターがエントリーをブロックしていることを示します。ステータステーブルは全エントリー条件と現在の状態をリアルタイムで表示し、日本語・英語の切り替えに対応しています。
デフォルト設定はDOGEの2時間足向けに最適化されています。実運用の前に必ずご自身の対象銘柄・時間足でバックテストを行ってください。過去の結果は将来の利益を保証するものではありません。
NORN WEAVEは今後も継続的にアップデートされます。ただし、コアコンセプト——生き残ること——は変わりません。
استراتيجية

Intra Reversion Theory DashboardIntra Reversion Theory Dashboard
This indicator displays a dashboard in the top right of the screen which shows the potential, and completed, reversion theory set-ups.
This dashboard should only be used in conjunction with Intra technical analysis, by which we can validate or invalidate any potential reversion theory set-ups that the dashboard indicates could be printing.
The dashboard checks the Daily, H4, H2, H1 candle closures for potential set-ups and displays them accordingly.
The dashboard incorporates all AS, AC, DS, DC set-ups, either potential or completed, providing cues regarding which set-up could be forming next. As we know, many of the reversion theory set-up sequences can transpose into each other, this dashboard displays all these possibilities, helping us determine which set-ups are available in any one moment.
These cues can serve as a guide to compliment our top-down analysis, giving extra confidence to hold trades for longer to the tops and bottoms of ranges.
****Please Note****
→ The calculation is based on candle CLOSURES.
→ When back testing in replay mode, you may need to flick to and from timeframes once to 'update' the dashboard reading. In real time this is not an issue as the reading is live and accurate and we flick through timeframes during trading anyway so it's always updating.
→ Alert functionality is available, there is only one option, either alerts ON or OFF. When ON, alerts will fire ANY and EVERY time ANY criteria is met on ANY timeframe, serving as a status update regarding which set-ups are potentially printing or have printed. The alerts will not duplicate, they will only trigger once the set-up of that timeframe has CHANGED. The minimum time between alerts firing is 1 hour (as the smallest unit for the dashboard to check is the hourly close). I don't think it makes any difference but I'd personally always be on the hourly timeframe when setting the alert ON, just in case. The alerts will trigger updates indefinitely until either paused or deleted in the 'Alerts' section of TradingView.
Below is a list of examples of Dashboard readings, and explanations for their formulation.
"Completed" examples (Full List):
AC2 ✓ DC2 ✓
AS2 ✓ DS2 ✓
AS3 ✓ DS3 ✓
AS4 ✓ DS4 ✓
AS5 ✓ DS5 ✓
These fully printed sequences do not clash with any other reversion set-ups, and will be displayed in the dashboard as completed (ticked ✓) for the entirety of ONE FULL CANDLE after completion. Example: If DS5 set-up completes on the H4 timeframe, the dashboard will read "DS5 ✓" in the H4 section for THE NEXT FULL H4 candle, after ONE CANDLE the reading will clear, and remain clear until a new potential set up is presented on that timeframe.
"Completed" but transposes examples (Full List):
AS1 ✓ DS4 ?
AC1 ✓ DS3 ?
DS1 ✓ AS4 ?
DC1 ✓ AS3 ?
These behave the same as the above, except when these set-ups complete, there is potential for transposing into a new reversion set-up. For example, once AS1 completes, price could print DS4, therefore this reading (AS1 ✓ DS4 ?) prompts us to consider all options on the table.
"or" examples + candle sequence (B = bullish, S = bearish):
AS2 or DS5 - Sequence ("BBSBSB")
AC1 or DS3 - Sequence ("BBSBBS")
AS1 or DS2 - Sequence ("SSBSB")
There are more "or" examples than those listed above, but this will illustrate how they're formulated. Let's breakdown the first example, "AS2 or DS5", candle sequence BBSBSB, B being bullish, S being bearish. If we see price print, Bullish, Bullish, Bearish, Bullish, Bearish, Bullish, in THE NEXT CANDLE we would expect EITHER a bullish candle to complete AS2 or a bearish candle to start DS5, so the dashboard shows both of these possibilities. Then we use our technical analysis to determine which one is more likely and fits with the overall outlook of the market in that specific moment.
Due to the nature of reversion set-up sequences and how frequently they can transpose into one another, the major of set-ups displayed in this dashboard are "or" set-ups. The dashboard will not, and could not, tell you with certainty which set up will print next, it can only serve as a guide to compliment our full top-down technical analysis.
"Potential" examples + candle sequence (B = bullish, S = bearish):
Potential AS5 - Sequence ("SSBSBSB")
Potential AC2 - Sequence ("BBSSB")
Potential DS5 - Sequence ("BBSBSBS")
Potential DC2 - Sequence ("SSBBS")
In this category there are only 4 possible readings, Potential.. AS5, AC2, DS5, DC2. The reason for this is that in the final moments of these set-ups printing, there is only one viable non-transposing set-up available, and so it is displayed.
For example, in the "Potential AS5" sequence above, ("SSBSBSB"), Bearish, Bearish, Bullish, Bearish, Bullish, Bearish, Bullish, in THE NEXT CANDLE the only set up we could expect is bullish for completion of AS5, if a bearish candle printed next it would invalidate ANY reversion sequence. This obviously does not mean that it can't happen, just that if it did happen it's not a recognised set-up. If price did print a bearish candle in this example, the dashboard would be blank for that timeframe as no set-up would be present, but price printed the bullish candle we expected for AS5 completion, then AS5 would therefore complete and the dashboard would then read "AS5 ✓" for the entirety of the next candle.
Hope this all makes sense, I've tried to be as concise and thorough as I can with the detail above. The indicator is self explanatory and after having it on your screen for a short time you will become familiar with how it works.
If you have any questions please let me know.
Any and all feedback welcome.
...in case you were wondering, I am not a coding wizard.. ChatGPT 5.2 can be thanked for this!
Peace!
Josh B
مؤشر

Smart Trader, Concentric Candles & Aristotelian Cycloids
Smart Trader, Episode 05
Concentric Candles & Aristotelian Cycloids
by Ata Sabanci
The Spark — How a 2,000-Year-Old Paradox Found the Charts
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
It started with a film about Aristotle's Wheel
Paradox — a problem that puzzled mathematicians
for two millennia. The setup is deceptively
simple: two circles, one inside the other, share
the same center and roll together along a
straight line. The outer circle traces a distance
equal to its circumference. But the inner circle,
attached rigidly to the outer, also travels the
same distance — yet its circumference is smaller.
How?
The answer lies in slipping . The inner circle
doesn't truly roll — it is dragged . And as it
moves, a point on its rim traces a beautiful
curve called a curtate cycloid — a compressed
wave that never reaches the full height of the
outer wheel's standard cycloid.
The moment I saw those curves being drawn in the
film — the elegant, rhythmic arches of the
cycloid — a thought struck me: what if this
geometry lives inside price charts too? What if
each candle, with its High, Low, Open, and Close,
could be mapped onto a rolling circle — and the
resulting cycloid curves could reveal hidden
structure in market behavior?
That question became this indicator.
The Problem — Why Raw Charts Break Geometry
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
A financial chart has two axes that measure
completely different things : the horizontal
axis counts bars (time) , the vertical axis
measures price (currency) . Drawing a circle on
such a chart is meaningless — it stretches and
distorts with every zoom or rescale. A "circle"
on a 1-minute chart looks nothing like the same
"circle" on a daily chart.
To draw real geometry on a price chart, both
axes must speak the same language . I needed a
scientifically rigorous way to convert between
time and price — not an arbitrary ratio, but one
derived from the market itself.
The Bridge — Volatility-Diffusion Normalization (σ√t)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
The answer comes from the σ√t scaling law in
financial mathematics. Under Geometric Brownian
Motion, the standard deviation of log-returns
scales as the square root of time:
std(Δ ln P) = σ × √Δt
This means 1 bar of time is equivalent to
σ_bar units of log-price . Once you know σ_bar,
both axes measure the same thing. Geometry
becomes invariant — it doesn't distort with
zoom, timeframe, or instrument.
For σ_bar, I use the Yang-Zhang volatility
estimator — the most statistically efficient
single-bar estimator in the literature. It uses
all four OHLC prices plus the overnight gap
between consecutive bars, combining three variance
components into one optimal estimate. After
extensive testing, a lookback of 20 bars proved
to be the best balance between responsiveness and
stability for geometric calibration.
Candle Selection — Finding the Dominant Voices
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Not every candle deserves a rolling wheel. The
indicator selects maxima candles — candles whose
H−L range is strictly larger than their immediate
chronological predecessor. These represent
volatility expansion events — moments when the
market spoke louder than the bar before it.
Two selection methods work in parallel:
1. Predecessor-Comparison (M0, M1): The scanner
walks backward from the basis candle. At each
step, it compares a candle's range to its
predecessor. When it finds one that is strictly
larger, that candle becomes a maxima. Two are
found this way.
2. Period Largest (M2): A separate scan finds
the single biggest candle (by H−L range) within
the last N bars (default 20). If it differs from
M0 and M1, it's appended as a third maxima — the
"biggest voice in the room."
Live vs. Closed Basis: The user can choose
whether the scanner starts from the live candle
(real-time, updates every tick) or the last closed
candle (stable, confirmed data). This affects both
the backward scan starting point and the CVCA
contact detection basis.
The Geometry — Three Concentric Circles per Candle
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Each selected maxima candle defines three
concentric circles in the normalized space — all
sharing the same center (the geometric midpoint
of the candle):
Outer Circle — diameter = H − L (full candle
range). This is the primary rolling wheel. A point
at its apex (the High) traces a standard cycloid .
Upper Wick Circle — diameter = H − max(O, C)
(upper wick). This inner wheel is dragged by the
outer — it slips along the baseline (Aristotle's
paradox). Traces a curtate cycloid with reduced
amplitude.
Lower Wick Circle — diameter = min(O, C) − L
(lower wick). Also dragged. Also traces a curtate
cycloid.
How the candle maps to circles:
⊚ Outer circle: diameter = H − L (full range)
→ traces a standard cycloid
▲ Upper wick circle: diameter = H − max(O,C)
→ traces a curtate cycloid
▼ Lower wick circle: diameter = min(O,C) − L
→ traces a curtate cycloid
All three share the same center (candle midpoint).
The outer circle is the driving wheel. The two
inner circles are dragged — they slip along the
rolling surface (Aristotle's paradox in action).
Drawing these curves in Pine Script was itself a
challenge — there's no native circle or parametric
curve function. By defining the normalized
coordinate space (where 1 bar = σ_bar units of
log-price) and using polylines with a hybrid
Newton-Bisection root solver to invert x(θ) → θ
at each bar index, I was able to render the
cycloid curves directly on the price chart with
high fidelity.
The parametric equations for each curve follow the
two-radius Aristotle's Wheel formulation:
x(θ) = R·θ − r·sin(θ+φ₀) + r·sin(φ₀)
y(θ) = R − r·cos(θ+φ₀)
Where R = outer rolling radius, r = traced
point's circle radius, and φ₀ = π (apex start,
clockwise rolling). The inverse transform
price = exp(lnLow + y_norm × σ_bar) maps the
normalized cycloid back to the price chart —
geometry anchored at the candle's Low.
On the chart, the curves appear as follows:
⊚ Outer Apex (y = 2R): highest cycloid point
▲ Upper Pin Apex (y = R + r_up): curtate peak
▲ Upper Pin Trough (y = R − r_up): curtate min
⊚ Outer Trough (y = 0): the rolling surface
= candle's Low price
The outer cycloid arches from Low up to 2R and
back. The pin cycloids oscillate within the outer
envelope with reduced amplitude — visible as
nested waves inside the main curve.
The Signal — Cycloid-Volume Contact Analysis (CVCA)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Drawing beautiful curves is one thing. The real
question is: what happens when price touches a
cycloid curve?
The CVCA engine detects real-time intersections
between the live candle and all active cycloid
curves. When contact is detected, it runs a
7-axis prediction matrix that combines geometry
with volume analysis:
Axis 1 — Contact Direction: Did the body cross
the curve? Did a wick test it? Five states: Passed
Up, Passed Down, Stopped, Wick Bounce, Wick
Reject.
Axis 2 — Curve Type: Which circle generated
this curve? Outer (strongest), Upper Pin, or Lower
Pin.
Axis 3 — Curve Zone: Is the contact near the
Apex (peak), Trough (bottom), or Mid-range of the
cycloid?
Axis 4 — Volume Magnitude: How does current
volume at the contact price compare to the maxima
candle's volume at the same price? Amplified,
Proportional, or Depleted.
Axis 5 — Delta Character: How has the buy/sell
imbalance changed since the maxima candle?
Continued, Weakened, or Flipped.
Axis 6 — Absorption Detection: Is heavy
opposing volume being absorbed while price holds?
Buy Absorption, Sell Absorption, or None.
Axis 7 — Multi-Cycloid Confluence: How many
other cycloid curves pass through the same price
level? Single, Double, or Triple+ confluence.
All seven axes feed into a continuous scoring
engine using logistic-sigmoid soft-clamping — no
hard thresholds, no cliff-edge label flips. The
output is a directional probability P(↑), a
conviction score, and a behavior classification
(Strong Bounce, Breakout, Exhaustion, Absorption,
Battle Zone, Delta Flip, Confluence Wall, and
more).
When footprint data is available (TradingView
Premium/Ultimate), CVCA operates at tick-level
precision — comparing buy and sell volume at the
exact contact price row between the maxima candle
and the current candle. Without footprint, it
falls back to geometry-only analysis using the
first three axes.
Scientific Foundations
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
This indicator draws on the following mathematical
and statistical frameworks:
• Geometric Brownian Motion — dS/S = μdt + σdW
— the σ√t diffusion scaling law that bridges
time and price axes.
• Yang-Zhang Volatility Estimator — Uses
O/H/L/C + overnight gaps; the most statistically
efficient single-bar σ estimator in the
literature.
• Rogers-Satchell Volatility — Drift-independent
variance component inside the Yang-Zhang
estimator.
• Aristotle's Wheel Paradox — Concentric circles
rolling together — the inner circle slips,
creating curtate cycloids.
• Cycloid Curves — Standard (outer) + curtate
(inner pin circles) — called the "Helen of
Geometry" by Galileo.
• Parametric Phase-Anchored Equations —
Two-radius cycloid:
x(θ)=Rθ−r·sin(θ+φ₀), y(θ)=R−r·cos(θ+φ₀).
• Hybrid Newton-Bisection Root Solver —
Numerical inversion of x(θ)→θ at each bar for
accurate curve rendering.
• Kyle-Obizhaeva Impact Law — σ√(Q/V) —
volume magnitude analysis for CVCA Axis 4.
• Easley-O'Hara PIN/VPIN — Delta as informed
trading proxy — CVCA Axis 5.
• Cont et al. (2014) OFI — Order Flow Imbalance
linear impact model — absorption detection in
CVCA Axis 6.
• Xu et al. (2019) MLOFI — Multi-Level Order
Flow Imbalance — confluence scoring for CVCA
Axis 7.
• Logistic Sigmoid Soft-Clamping — Continuous
scoring without cliff-edge thresholds — used
across all CVCA axes.
Architecture — How It All Connects
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
The indicator processes data in the following
pipeline:
Stage 1: Raw Input
OHLC price data + volume arrive per bar.
Stage 2: Two Parallel Engines
→ Yang-Zhang σ_bar Estimator (Lookback = N):
Computes overnight variance, close-open
variance, and Rogers-Satchell variance.
Combines them into σ_bar.
→ Volume Engine (Geometric or Intrabar):
Splits total volume into buy/sell.
Stores per-bar for historical comparison.
Stage 3: Normalization
Converts axes: 1 bar = σ_bar, Y = ln(P) / σ.
Both axes now measure the same units.
Stage 4: Candle Selection
→ Predecessor-Comparison scan → M0, M1
→ Period-Largest scan → M2 (if unique)
Stage 5: Concentric Circles
Per maxima candle, 3 circles are defined:
⊚ Outer (H−L)
▲ Upper (H−max(O,C))
▼ Lower (min(O,C)−L)
Stage 6: Cycloid Math
Parametric equations + Newton-Bisection solver.
Phase φ₀ = π. Auto-revolutions extend curves
to the live bar.
Stage 7: Two Outputs
→ Polyline Render: 3 curves per Mi, bowl fill,
reference lines, geometric markers.
→ CVCA Engine: Contact detection, 7-axis
matrix, P(↑), conviction, behavior label.
Stage 8: Dashboard Table
Title + σ_bar info
Mi blocks (Offset, Length, Mid, Levels)
S/R Detection (Nearest Above/Below)
CVCA Contact Analysis (3-row layout)
Volume Engine (Buy/Sell/Delta/FP Status)
Settings Guide
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Core Settings
σ_bar Lookback Period: Rolling window for the
Yang-Zhang volatility estimator. Controls how many
bars are used to compute σ_bar — the bridge
between time and price axes. Larger values produce
more robust geometric calibration but respond
slower to regime changes. Default: 20.
Range: 1–2500.
Cycloid Display
Show Outer/Upper/Lower Traces: Toggle
visibility of each of the three concentric cycloid
curves. The Outer (H−L) is the primary rolling
wheel — the strongest geometric curve. Upper and
Lower Pin curves trace the wick circles and show
internal candle structure.
Show Period Largest Candle: Enables the
period-based maxima scanner (M2). Scans the last N
bars for the single biggest candle. If it already
matches M0 or M1, no duplicate is drawn.
Period Lookback Length: Number of bars to scan
for the period-based largest candle. Default: 20.
Range: 5–200.
Show Reference Lines: Draws horizontal dashed
lines at cycloid apex and trough levels — the
geometric S/R framework. Six individual toggles
control which levels are drawn: Outer Apex (2R),
Outer Trough (0), Upper Pin Apex/Trough, Lower
Pin Apex/Trough.
Curve Color — Above/Below Price: When the
Outer Apex level is above current close, all
curves for that maxima use the "Above" color
(default: orange). When below, they use the
"Below" color (default: cyan). This gives an
instant visual read of the curve's S/R context.
Volume Engine
Calculation Method: Two engines — Geometric
(estimates buy/sell from OHLC price action) and
Intrabar (uses lower timeframe tick data via
TradingView's ta library for precise
decomposition).
Intrabar Timeframe: Lower timeframe for
precise volume calculation. Only active in Intrabar
mode. 15S (15-second) recommended for most
instruments.
Calculation Basis: Current Candle uses live bar
data. Closed Candle uses only the last confirmed
bar — more stable, avoids intrabar noise.
Footprint & Contact Analysis
Show Contact Analysis (CVCA): Enables the
7-axis prediction engine in the dashboard. Detects
cycloid curve intersections and outputs directional
probability, conviction score, and behavior
classification. Requires TradingView
Premium or Ultimate for full footprint data; falls
back to Volume Engine data when footprint is
unavailable.
Dashboard Settings
Show Dashboard: Projects the full data
dashboard onto the main price chart. Shows σ_bar
info, all Mi blocks with reference levels, S/R
detection, CVCA contact analysis, and volume
metrics.
Dashboard Position: Four corners: Top Right
(default), Top Left, Bottom Right, Bottom Left.
Dashboard Language: English, Türkçe, or
العربية. Full localization of all labels,
tooltips, and natural-language sentences.
Show Mi Reference Prices: Expands each Mi
block in the dashboard to show all 6 reference
price levels (3 apex + 3 trough). Default: OFF to
keep the dashboard compact.
A Theory, Not a System — An Invitation to Explore
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
This indicator is a theoretical exploration ,
not a proven trading system. The idea that
Aristotle's Wheel geometry maps meaningfully onto
price structure is a hypothesis — one that I
find compelling enough to build, share, and test
publicly, but one that requires far more data,
analysis, and community scrutiny to validate or
refute.
I chose to publish it on TradingView precisely
because this platform is a living laboratory —
constantly moderated, reviewed, and challenged by
a global community of traders, developers, and
analysts. If the cycloid geometry holds predictive
value, this community will find it. If it doesn't,
this community will expose it.
Use this indicator as a research tool, not as a
signal generator. Combine it with your own
analysis. Question its assumptions. Test it across
instruments and timeframes. And if you discover
something — share it.
The mathematics is beautiful. Whether the market
agrees is an open question.
مؤشر

Gann Octave 8 Ver.2.0Gann Octave 8 Ver.2.0 - Complete Trading Guide
Overview
This indicator combines W.D. Gann's time-tested principles of market geometry with modern technical analysis. It identifies key market structures and projects precise support/resistance levels along with angular momentum lines to help traders identify high-probability trading opportunities.
________________________________________
Core Concepts
1. Gann's Octave Division (The Rule of 8)
W.D. Gann discovered that markets move in harmonic divisions based on the number 8. This indicator divides any swing movement into 8 equal parts (octaves):
• 0% - Swing extreme (High for bearish, Low for bullish)
• 12.5% - First octave
• 25% - Quarter level
• 37.5% - Three-eighths level
• 50% - Midpoint (most critical level)
• 62.5% - Five-eighths level
• 75% - Three-quarter level
• 87.5% - Seventh octave
• 100% - Swing extreme (opposite end)
Why 8? Gann believed natural market cycles follow mathematical harmonics. The octave division provides precise entry and exit points that frequently act as support/resistance zones.
2. Gann Angles (Price-Time Relationship)
Gann angles represent the relationship between price movement and time. Each angle shows different momentum levels:
• 1x1 (Black) - 45° angle, perfect balance between price and time. Most important Gann angle. Represents the natural trend line.
• 2x1 (Red) - Steeper angle, 2 units of price per 1 unit of time. Shows strong momentum.
• 1x2 (Red) - Flatter angle, 1 unit of price per 2 units of time. Shows weak momentum.
• 4x1 & 1x4 (Blue) - Even more extreme angles indicating very strong or very weak trends.
• 8x1 & 1x8 (Orange) - Most extreme angles, parabolic moves or complete consolidation.
Key Principle: When price is above the 1x1 angle = bullish. Below 1x1 = bearish. When price crosses from one angle to another, it signals a change in momentum.
________________________________________
How the Indicator Works
Structure Detection
The indicator automatically identifies market swings using pivot points:
1. Bullish Structure (Green): Detected when price makes a higher high
o Octave levels calculated from swing low (0%) to swing high (100%)
o Gann angles project upward from the swing low
2. Bearish Structure (Red): Detected when price makes a lower low
o Octave levels calculated from swing high (0%) to swing low (100%)
o Gann angles project downward from the swing high
Dynamic Updates
• Swing Tracker ON: Levels update continuously as the swing evolves
• Swing Tracker OFF: Levels lock at the initial swing detection (cleaner charts)
Historical Structures
The indicator maintains previous swing structures based on "Number of Swings to Show":
• Set to 1: Only current structure (cleanest)
• Set to 2-3: Current + recent history (recommended for context)
• Set to 4+: Multiple historical structures (may overlap but shows pattern)
________________________________________
Trading Strategy
Entry Signals
BUY SIGNALS (Green Triangle Up ▲)
Signal 1: Bounce from Support Levels
• Price drops to 0%, 50%, or 100% level and reverses
• Best when combined with bullish candlestick pattern (hammer, engulfing)
• Entry: On signal confirmation
• Stop Loss: Below the support level (0.5-1% below)
• Target: Next octave level up (12.5%, 25%, 50%)
Signal 2: Breakout Above Resistance
• Price breaks above 50% or 100% level with momentum
• Confirms trend continuation or reversal
• Entry: On close above the level
• Stop Loss: Below the breakout level
• Target: Previous swing high or next major level
Signal 3: Gann Angle Support
• Price bounces off 1x1 angle (black line)
• Indicates trend is intact
• Entry: When price respects the angle
• Stop Loss: Below the 1x1 angle
• Target: Next resistance level
SELL SIGNALS (Red Triangle Down ▼)
Signal 1: Rejection from Resistance Levels
• Price rallies to 0%, 50%, or 100% level and reverses
• Best when combined with bearish candlestick pattern (shooting star, bearish engulfing)
• Entry: On signal confirmation
• Stop Loss: Above the resistance level (0.5-1% above)
• Target: Next octave level down (87.5%, 75%, 50%)
Signal 2: Breakdown Below Support
• Price breaks below 50% or 0% level with momentum
• Confirms trend continuation or reversal
• Entry: On close below the level
• Stop Loss: Above the breakdown level
• Target: Previous swing low or next major level
Signal 3: Gann Angle Resistance
• Price fails at 1x1 angle (black line)
• Indicates trend weakness
• Entry: When price rejects the angle
• Stop Loss: Above the 1x1 angle
• Target: Next support level
________________________________________
Advanced Trading Techniques
1. The 50% Rule (Most Powerful)
The 50% octave level is the most critical in Gann theory:
• In Uptrend: Price should not break below 50% retracement. If it holds = trend intact, go long.
• In Downtrend: Price should not break above 50% retracement. If it holds = trend intact, go short.
• Reversal: Breaking and closing beyond 50% often signals trend reversal.
2. Gann Angle Confluence
When multiple Gann angles converge with octave levels = HIGH probability zone:
• Look for price to bounce or reverse at these zones
• Example: 1x2 angle meets 50% level = strong support/resistance
• These zones often become pivot points
3. Multiple Timeframe Analysis
• Use higher timeframe (daily) for major structure
• Use lower timeframe (5min, 15min) for precise entries
• Take trades when both timeframes align
4. Swing Failure Pattern
• Price breaks a key level (e.g., 50%) but quickly reverses back
• This "false breakout" often leads to strong move in opposite direction
• Wait for signal in the reversal direction
________________________________________
Settings Optimization
For Day Trading (Scalping)
• Structure Period: 0-2 (22 bars or less)
• Number of Swings: 1 (only current structure)
• Signal Sensitivity: High
• Swing Tracker: OFF (cleaner)
For Swing Trading
• Structure Period: 4-5 (44-88 bars)
• Number of Swings: 2-3
• Signal Sensitivity: Medium
• Swing Tracker: ON or OFF (preference)
For Position Trading
• Structure Period: 6-8 (176+ bars)
• Number of Swings: 3-5
• Signal Sensitivity: Low
• Swing Tracker: ON
________________________________________
Common Patterns to Watch
Bullish Reversal Setup
1. Price in bearish structure (red levels)
2. Price drops to 100% level (swing low)
3. Buy signal appears (green triangle)
4. Price breaks back above 50% level
5. Action: Go long with stop below 100%
Bearish Reversal Setup
1. Price in bullish structure (green levels)
2. Price rises to 100% level (swing high)
3. Sell signal appears (red triangle)
4. Price breaks back below 50% level
5. Action: Go short with stop above 100%
Trend Continuation
1. Price respects 1x1 Gann angle
2. Small pullback to 25% or 37.5% level
3. Buy/sell signal appears
4. Action: Enter in trend direction
________________________________________
________________________________________
Signal Sensitivity Guide
• Low: Conservative, only major breakouts (3-5 signals per day)
• Medium: Balanced, includes approaches (5-10 signals per day)
• High: Aggressive, includes bounces (10-20 signals per day)
Choose based on your trading style and risk tolerance
________________________________________
Final Words
This indicator is a powerful tool, but remember:
"The market is never wrong. Opinions are." - W.D. Gann
• No indicator is 100% accurate
• Always combine with price action and volume
• Backtest on your instrument and timeframe
• Keep learning and adapting your strategy
• Discipline and risk management are more important than the perfect setup
Happy Trading! 📈
مؤشر

CRT + PO3 Range Theory Hey everyone, I’ve put together a little script for TradingView that tries to show the classic CRT + PO3 (Power of Three) pattern. It’s still a work in progress, so please use it on a demo account and let me know what you think!
What It Does
Accumulation Phase: On each higher‐timeframe bar (e.g. 2-hour), it draws a shaded zone where price is hanging out. That’s when we assume “big players” are quietly building positions.
Manipulation Phase: If price briefly pokes above or below that zone but then slips back inside, it marks that wick as a shake-out.
Distribution Phase: When price finally closes cleanly outside the zone, it draws another shaded area and drops a “Distribution” label plus a big LONG or SHORT arrow on that bar.
You can tweak it so it only shows signals when a bar closes (no more weird flashing mid-bar), or even allow “direct” Distribution on a clean breakout without waiting for a fake wick first.
How to Set It Up
Add the script from your Indicators list.
Pick your HTF (I like 2-hour or 4-hour).
Turn “Show Zone Labels” on or off—these are the little “Accumulation/Manipulation/Distribution” tags.
Turn “Show Entry Signals” on to get the big LONG/SHORT arrows.
If you hate flicker, check “Show signals only at bar close.”
If you want to catch a swift breakout (no fake-out needed), check “Allow direct Distribution on clean breakout.”
There are also sliders for zone colors, transparency, label size, and how far above/below the bars the labels sit.
Why It’s Still a Beta
I’m not a CRT/PO3 guru—this is more of a hobby project and a little facination for this strategy.
There might be edge cases where it misses a shake-out or flags a Distribution too early.
I take no responsibility for your trades—please only run it on a demo account until we’ve worked out the quirks.
Feedback Wanted!
If you try it out, I’d love to hear:
Did the Manipulation wicks line up where you expected?
Were the Distribution arrows on the right bars?
Any ideas for easier settings or extra alerts?
Thanks for testing and helping me turn this into something solid! مؤشر

Correlated asset and Daye's Quarterly TheoryThis indicator is based on the Quarterly Theory concepts from Daye. You can find him mainly on X as traderdaye.
It works on a new panel and the quarters will be drawn over the chart of the correlated that you set on its settings.
You can use every asset to compare with the main one to make easier to find divergences between days, sessions and 90 minutes cycles.
In different timeframes, the indicator could show more or less information about quarters, but will always show the compared asset one. This is due to limitations of the candles start (for example, the Session's Q2 open won't be shown on an hourly chart because it starts after 30 minutes of candle's open).
What can this indicator do for you?
- Show the correlated asset chart.
- Show daily, session and 90 minutes cycle boxes.
- Show Midnight and every session's Q2 open.
- Make easier for the trained eye to determine if the model is AMDX or XAMD, find PO3, turtle soups, SMT divergences, etc.
Do you have any suggestion? Please, leave it on the comments. I'll try to improve this indicator regularly. مؤشر

Normal Distribution CurveThis Normal Distribution Curve is designed to overlay a simple normal distribution curve on top of any TradingView indicator. This curve represents a probability distribution for a given dataset and can be used to gain insights into the likelihood of various data levels occurring within a specified range, providing traders and investors with a clear visualization of the distribution of values within a specific dataset. With the only inputs being the variable source and plot colour, I think this is by far the simplest and most intuitive iteration of any statistical analysis based indicator I've seen here!
Traders can quickly assess how data clusters around the mean in a bell curve and easily see the percentile frequency of the data; or perhaps with both and upper and lower peaks identify likely periods of upcoming volatility or mean reversion. Facilitating the identification of outliers was my main purpose when creating this tool, I believed fixed values for upper/lower bounds within most indicators are too static and do not dynamically fit the vastly different movements of all assets and timeframes - and being able to easily understand the spread of information simplifies the process of identifying key regions to take action.
The curve's tails, representing the extreme percentiles, can help identify outliers and potential areas of price reversal or trend acceleration. For example using the RSI which typically has static levels of 70 and 30, which will be breached considerably more on a less liquid or more volatile asset and therefore reduce the actionable effectiveness of the indicator, likewise for an asset with little to no directional volatility failing to ever reach this overbought/oversold areas. It makes considerably more sense to look for the top/bottom 5% or 10% levels of outlying data which are automatically calculated with this indicator, and may be a noticeable distance from the 70 and 30 values, as regions to be observing for your investing.
This normal distribution curve employs percentile linear interpolation to calculate the distribution. This interpolation technique considers the nearest data points and calculates the price values between them. This process ensures a smooth curve that accurately represents the probability distribution, even for percentiles not directly present in the original dataset; and applicable to any asset regardless of timeframe. The lookback period is set to a value of 5000 which should ensure ample data is taken into calculation and consideration without surpassing any TradingView constraints and limitations, for datasets smaller than this the indicator will adjust the length to just include all data. The labels providing the percentile and average levels can also be removed in the style tab if preferred.
Additionally, as an unplanned benefit is its applicability to the underlying price data as well as any derived indicators. Turning it into something comparable to a volume profile indicator but based on the time an assets price was within a specific range as opposed to the volume. This can therefore be used as a tool for identifying potential support and resistance zones, as well as areas that mark market inefficiencies as price rapidly accelerated through. This may then give a cleaner outlook as it eliminates the potential drawbacks of volume based profiles that maybe don't collate all exchange data or are misrepresented due to large unforeseen increases/decreases underlying capital inflows/outflows.
Thanks to @ALifeToMake, @Bjorgum, vgladkov on stackoverflow (and possibly some chatGPT!) for all the assistance in bringing this indicator to life. I really hope every user can find some use from this and help bring a unique and data driven perspective to their decision making. And make sure to please share any original implementaions of this tool too! If you've managed to apply this to the average price change once you've entered your position to better manage your trade management, or maybe overlaying on an implied volatility indicator to identify potential options arbitrage opportunities; let me know! And of course if anyone has any issues, questions, queries or requests please feel free to reach out! Thanks and enjoy. مؤشر

Benner-Fibonacci Reversal Points [CC]This is an original script based on a very old idea called the Benner Theory from the Civil War times. Benner discovered a pattern in pig iron prices (no clue what those are), and this turned out to be a parallel idea to indicators based on Fibonacci numbers. Because a year is 365 days (nearly 377, which is a Fibonacci number), made up of 52 weeks (nearly 55, which is another Fibonacci number), or 12 months (nearly 13, which is another Fibonacci number), Benner theorized that he could find both past and future turning points in the market by using a pattern he found. He discovered that peaks in prices seemed to follow a pattern of 8-9-10, meaning that after a recent peak, it would be 8 bars until the next peak, 9 bars until after that peak for the next, and 10 bars until the following peak. For past peaks, he would just need to reverse this pattern, and so the previous peak would be 10 bars before the most current peak, 9 bars before that peak, and 8 bars before the previous one, and these patterns seemed to repeat. For troughs, he found a pattern of 16,18,20 which follows the same logic, and this idea also seemed to work on long-term peaks and troughs as well.
This is my version of the Benner theory and the major difference between my version and his is that he would manually select a year or date and either work backwards or forwards from that point. I chose to go with an adaptive version that will automatically detect those points and plot those past and future points. I have included several options such as allowing the algorithm to be calculated in reverse which seems to work well for Crypto for some reason. I also have both short and long term options to only show one or both if you choose and of course the option to enable repainting or leave it disabled.
Big thanks to @HeWhoMustNotBeNamed and @RicardoSantos for helping me fix some bugs in my code and for @kerpiciwuasile for suggesting this idea in the first place. مؤشر

Adaptive Candlestick Pattern Recognition System█ INTRODUCTION
Nearly three years in the making, intermittently worked on in the few spare hours of weekends and time off, this is a passion project I undertook to flesh out my skills as a computer programmer. This script currently recognizes 85 different candlestick patterns ranging from one to five candles in length. It also performs statistical analysis on those patterns to determine prior performance and changes the coloration of those patterns based on that performance. In searching TradingView's script library for scripts similar to this one, I had found a handful. However, when I reviewed the ones which were open source, I did not see many that truly captured the power of PineScrypt or leveraged the way it works to create efficient and reliable code; one of the main driving factors for releasing this 5,000+ line behemoth open sourced.
Please take the time to review this description and source code to utilize this script to its fullest potential.
█ CONCEPTS
This script covers the following topics: Candlestick Theory, Trend Direction, Higher Timeframes, Price Analysis, Statistic Analysis, and Code Design.
Candlestick Theory - This script focuses solely on the concept of Candlestick Theory: arrangements of candlesticks may form certain patterns that can potentially influence the future price action of assets which experience those patterns. A full list of patterns (grouped by pattern length) will be in its own section of this description. This script contains two modes of operation for identifying candlestick patterns, 'CLASSIC' and 'BREAKOUT'.
CLASSIC: In this mode, candlestick patterns will be identified whenever they appear. The user has a wide variety of inputs to manipulate that can change how certain patterns are identified and even enable alerts to notify themselves when these patterns appear. Each pattern selected to appear will have their Profit or Loss (P/L) calculated starting from the first candle open succeeding the pattern to a candle close specified some number of candles ahead. These P/L calculations are then collected for each pattern, and split among partitions of prior price action of the asset the script is currently applied to (more on that in Higher Timeframes ).
BREAKOUT: In this mode, P/L calculations are held off until a breakout direction has been confirmed. The user may specify the number of candles ahead of a pattern's appearance (from one to five) that a pattern has to confirm a breakout in either an upward or downward direction. A breakout is constituted when there is a candle following the appearance of the pattern that closes above/at the highest high of the pattern, or below/at its lowest low. Only then will percent return calculations be performed for the pattern that's been identified, and these percent returns are broken up not only by the partition they had appeared in but also by the breakout direction itself. Patterns which do not breakout in either direction will be ignored, along with having their labels deleted.
In both of these modes, patterns may be overridden. Overrides occur when a smaller pattern has been detected and ends up becoming one (or more) of the candles of a larger pattern. A key example of this would be the Bearish Engulfing and the Three Outside Down patterns. A Three Outside Down necessitates a Bearish Engulfing as the first two candles in it, while the third candle closes lower. When a pattern is overridden, the return for that pattern will no longer be tracked. Overrides will not occur if the tail end of a larger pattern occurs at the beginning of a smaller pattern (Ex: a Bullish Engulfing occurs on the third candle of a Three Outside Down and the candle immediately following that pattern, the Three Outside Down pattern will not be overridden).
Important Functionality Note: These patterns are only searched for at the most recently closed candle, not on the currently closing candle, which creates an offset of one for this script's execution. (SEE LIMITATIONS)
Trend Direction - Many of the patterns require a trend direction prior to their appearance. Noting TradingView's own publication of candlestick patterns, I utilize a similar method for determining trend direction. Moving Averages are used to determine which trend is currently taking place for candlestick patterns to be sought out. The user has access to two Moving Averages which they may individually modify the following for each: Moving Average type (list of 9), their length, width, source values, and all variables associated with two special Moving Averages (Least Squares and Arnaud Legoux).
There are 3 settings for these Moving Averages, the first two switch between the two Moving Averages, and the third uses both. When using individual Moving Averages, the user may select a 'price point' to compare against the Moving Average (default is close). This price point is compared to the Moving Average at the candles prior to the appearance of candle patterns. Meaning: The close compared to the Moving Average two candles behind determines the trend direction used for Candlestick Analysis of one candle patterns; three candles behind for two candle patterns and so on. If the selected price point is above the Moving Average, then the current trend is an 'uptrend', 'downtrend' otherwise.
The third setting using both Moving Averages will compare the lengths of each, and trend direction is determined by the shorter Moving Average compared to the longer one. If the shorter Moving Average is above the longer, then the current trend is an 'uptrend', 'downtrend' otherwise. If the lengths of the Moving Averages are the same, or both Moving Averages are Symmetrical, then MA1 will be used by default. (SEE LIMITATIONS)
Higher Timeframes - This script employs the use of Higher Timeframes with a few request.security calls. The purpose of these calls is strictly for the partitioning of an asset's chart, splitting the returns of patterns into three separate groups. The four inputs in control of this partitioning split the chart based on: A given resolution to grab values from, the length of time in that resolution, and 'Upper' and 'Lower Limits' which split the trading range provided by that length of time in that resolution that forms three separate groups. The default values for these four inputs will partition the current chart by the yearly high-low range where: the 'Upper' partition is the top 20% of that trading range, the 'Middle' partition is 80% to 33% of the trading range, and the 'Lower' partition covers the trading range within 33% of the yearly low.
Patterns which are identified by this script will have their returns grouped together based on which partition they had appeared in. For example, a Bullish Engulfing which occurs within a third of the yearly low will have its return placed separately from a Bullish Engulfing that occurred within 20% of the yearly high. The idea is that certain patterns may perform better or worse depending on when they had occurred during an asset's trading range.
Price Analysis - Price Analysis is a major part of this script's functionality as it can fundamentally change how patterns are shown to the user. The settings related to Price Analysis include setting the number of candles ahead of a pattern's appearance to determine the return of that pattern. In 'BREAKOUT' mode, an additional setting allows the user to specify where the P/L calculation will begin for a pattern that had appeared and confirmed. (SEE LIMITATIONS)
The calculation for percent returns of patterns is illustrated with the following pseudo-code (CLASSIC mode, this is a simplified version of the actual code):
type patternObj
int ID
int partition
type returnsArray
float returns
// No pattern found = na returned
patternObj TEST_VAL = f_FindPattern()
priorTestVal = TEST_VAL
if not na( priorTestVal )
pnlMatrixRow = priorTestVal.ID
pnlMatrixCol = priorTestVal.partition
matrixReturn = matrix.get(PERCENT_RETURNS, pnlMatrixRow, pnlMatrixCol)
percentReturn = ( (close - open ) / open ) * 100%
array.push(matrixReturn.returns, percentReturn)
Statistic Analysis - This script uses Pine's built-in array functions to conduct the Statistic Analysis for patterns. When a pattern is found and its P/L calculation is complete, its return is added to a 'Return Array' User-Defined-Type that contains numerous fields which retain information on a pattern's prior performance. The actual UDT is as follows:
type returnArray
float returns = na
int size = 0
float avg = 0
float median = 0
float stdDev = 0
int polarities = na
All values within this UDT will be updated when a return is added to it (some based on user input). The array.avg , array.median and array.stdev will be ran and saved into their respective fields after a return is placed in the 'returns' array. The 'polarities' integer array is what will be changed based on user input. The user specifies two different percentages that declare 'Positive' and 'Negative' returns for patterns. When a pattern returns above, below, or in between these two values, different indices of this array will be incremented to reflect the kind of return that pattern had just experienced.
These values (plus the full name, partition the pattern occurred in, and a 95% confidence interval of expected returns) will be displayed to the user on the tooltip of the labels that identify patterns. Simply scroll over the pattern label to view each of these values.
Code Design - Overall this script is as much of an art piece as it is functional. Its design features numerous depictions of ASCII Art that illustrate what is being attempted by the functions that identify patterns, and an incalculable amount of time was spent rewriting portions of code to improve its efficiency. Admittedly, this final version is nearly 1,000 lines shorter than a previous version (one which took nearly 30 seconds after compilation to run, and didn't do nearly half of what this version does). The use of UDTs, especially the 'patternObj' one crafted and redesigned from the Hikkake Hunter 2.0 I published last month, played a significant role in making this script run efficiently. There is a slight rigidity in some of this code mainly around pattern IDs which are responsible for displaying the abbreviation for patterns (as well as the full names under the tooltips, and the matrix row position for holding returns), as each is hard-coded to correspond to that pattern.
However, one thing I would like to mention is the extensive use of global variables for pattern detection. Many scripts I had looked over for ideas on how to identify candlestick patterns had the same idea; break the pattern into a set of logical 'true/false' statements derived from historically referencing candle OHLC values. Some scripts which identified upwards of 20 to 30 patterns would reference Pine's built-in OHLC values for each pattern individually, potentially requesting information from TradingView's servers numerous times that could easily be saved into a variable for re-use and only requested once per candle (what this script does).
█ FEATURES
This script features a massive amount of switches, options, floating point values, detection settings, and methods for identifying/tailoring pattern appearances. All modifiable inputs for patterns are grouped together based on the number of candles they contain. Other inputs (like those for statistics settings and coloration) are grouped separately and presented in a way I believe makes the most sense.
Not mentioned above is the coloration settings. One of the aims of this script was to make patterns visually signify their behavior to the user when they are identified. Each pattern has its own collection of returns which are analyzed and compared to the inputs of the user. The user may choose the colors for bullish, neutral, and bearish patterns. They may also choose the minimum number of patterns needed to occur before assigning a color to that pattern based on its behavior; a color for patterns that have not met this minimum number of occurrences yet, and a color for patterns that are still processing in BREAKOUT mode.
There are also an additional three settings which alter the color scheme for patterns: Statistic Point-of-Reference, Adaptive coloring, and Hard Limiting. The Statistic Point-of-Reference decides which value (average or median) will be compared against the 'Negative' and 'Positive Return Tolerance'(s) to guide the coloration of the patterns (or for Adaptive Coloring, the generation of a color gradient).
Adaptive Coloring will have this script produce a gradient that patterns will be colored along. The more bullish or bearish a pattern is, the further along the gradient those patterns will be colored starting from the 'Neutral' color (hard lined at the value of 0%: values above this will be colored bullish, bearish otherwise). When Adaptive Coloring is enabled, this script will request the highest and lowest values (these being the Statistic Point-of-Reference) from the matrix containing all returns and rewrite global variables tied to the negative and positive return tolerances. This means that all patterns identified will be compared with each other to determine bullish/bearishness in Adaptive Coloring.
Hard Limiting will prevent these global variables from being rewritten, so patterns whose Statistic Point-of-Reference exceed the return tolerances will be fully colored the bullish or bearish colors instead of a generated gradient color. (SEE LIMITATIONS)
Apart from the Candle Detection Modes (CLASSIC and BREAKOUT), there's an additional two inputs which modify how this script behaves grouped under a "MASTER DETECTION SETTINGS" tab. These two "Pattern Detection Settings" are 'SWITCHBOARD' and 'TARGET MODE'.
SWITCHBOARD: Every single pattern has a switch that is associated with its detection. When a switch is enabled, the code which searches for that pattern will be run. With the Pattern Detection Setting set to this, all patterns that have their switches enabled will be sought out and shown.
TARGET MODE: There is an additional setting which operates on top of 'SWITCHBOARD' that singles out an individual pattern the user specifies through a drop down list. The names of every pattern recognized by this script will be present along with an identifier that shows the number of candles in that pattern (Ex: " (# candles)"). All patterns enabled in the switchboard will still have their returns measured, but only the pattern selected from the "Target Pattern" list will be shown. (SEE LIMITATIONS)
The vast majority of other features are held in the one, two, and three candle pattern sections.
For one-candle patterns, there are:
3 — Settings related to defining 'Tall' candles:
The number of candles to sample for previous candle-size averages.
The type of comparison done for 'Tall' Candles: Settings are 'RANGE' and 'BODY'.
The 'Tolerance' for tall candles, specifying what percent of the 'average' size candles must exceed to be considered 'Tall'.
When 'Tall Candle Setting' is set to RANGE, the high-low ranges are what the current candle range will be compared against to determine if a candle is 'Tall'. Otherwise the candle bodies (absolute value of the close - open) will be compared instead. (SEE LIMITATIONS)
Hammer Tolerance - How large a 'discarded wick' may be before it disqualifies a candle from being a 'Hammer'.
Discarded wicks are compared to the size of the Hammer's candle body and are dependent upon the body's center position. Hammer bodies closer to the high of the candle will have the upper wick used as its 'discarded wick', otherwise the lower wick is used.
9 — Doji Settings, some pulled from an old Doji Hunter I made a while back:
Doji Tolerance - How large the body of a candle may be compared to the range to be considered a 'Doji'.
Ignore N/S Dojis - Turns off Trend Direction for non-special Dojis.
GS/DF Doji Settings - 2 Inputs that enable and specify how large wicks that typically disqualify Dojis from being 'Gravestone' or 'Dragonfly' Dojis may be.
4 Settings related to 'Long Wick Doji' candles detailed below.
A Tolerance for 'Rickshaw Man' Dojis specifying how close the center of the body must be to the range to be valid.
The 4 settings the user may modify for 'Long Legged' Dojis are: A Sample Base for determining the previous average of wicks, a Sample Length specifying how far back to look for these averages, a Behavior Setting to define how 'Long Legged' Dojis are recognized, and a tolerance to specify how large in comparison to the prior wicks a Doji's wicks must be to be considered 'Long Legged'.
The 'Sample Base' list has two settings:
RANGE: The wicks of prior candles are compared to their candle ranges and the 'wick averages' will be what the average percent of ranges were in the sample.
WICKS: The size of the wicks themselves are averaged and returned for comparing against the current wicks of a Doji.
The 'Behavior' list has three settings:
ONE: Only one wick length needs to exceed the average by the tolerance for a Doji to be considered 'Long Legged'.
BOTH: Both wick lengths need to exceed the average of the tolerance of their respective wicks (upper wicks are compared to upper wicks, lower wicks compared to lower) to be considered 'Long Legged'.
AVG: Both wicks and the averages of the previous wicks are added together, divided by two, and compared. If the 'average' of the current wicks exceeds this combined average of prior wicks by the tolerance, then this would constitute a valid 'Long Legged' Doji. (For Dojis in general - SEE LIMITATIONS)
The final input is one related to candle patterns which require a Marubozu candle in them. The two settings for this input are 'INCLUSIVE' and 'EXCLUSIVE'. If INCLUSIVE is selected, any opening/closing variant of Marubozu candles will be allowed in the patterns that require them.
For two-candle patterns, there are:
2 — Settings which define 'Engulfing' parameters:
Engulfing Setting - Two options, RANGE or BODY which sets up how one candle may 'engulf' the previous.
Inclusive Engulfing - Boolean which enables if 'engulfing' candles can be equal to the values needed to 'engulf' the prior candle.
For the 'Engulfing Setting':
RANGE: If the second candle's high-low range completely covers the high-low range of the prior candle, this is recognized as 'engulfing'.
BODY: If the second candle's open-close completely covers the open-close of the previous candle, this is recognized as 'engulfing'. (SEE LIMITATIONS)
4 — Booleans specifying different settings for a few patterns:
One which allows for 'opens within body' patterns to let the second candle's open/close values match the prior candles' open/close.
One which forces 'Kicking' patterns to have a gap if the Marubozu setting is set to 'INCLUSIVE'.
And Two which dictate if the individual candles in 'Stomach' patterns need to be 'Tall'.
8 — Floating point values which affect 11 different patterns:
One which determines the distance the close of the first candle in a 'Hammer Inverted' pattern must be to the low to be considered valid.
One which affects how close the opens/closes need to be for all 'Lines' patterns (Bull/Bear Meeting/Separating Lines).
One that allows some leeway with the 'Matching Low' pattern (gives a small range the second candle close may be within instead of needing to match the previous close).
Three tolerances for On Neck/In Neck patterns (2 and 1 respectively).
A tolerance for the Thrusting pattern which give a range the close the second candle may be between the midpoint and close of the first to be considered 'valid'.
A tolerance for the two Tweezers patterns that specifies how close the highs and lows of the patterns need to be to each other to be 'valid'.
The first On Neck tolerance specifies how large the lower wick of the first candle may be (as a % of that candle's range) before the pattern is invalidated. The second tolerance specifies how far up the lower wick to the close the second candle's close may be for this pattern. The third tolerance for the In Neck pattern determines how far into the body of the first candle the second may close to be 'valid'.
For the remaining patterns (3, 4, and 5 candles), there are:
3 — Settings for the Deliberation pattern:
A boolean which forces the open of the third candle to gap above the close of the second.
A tolerance which changes the proximity of the third candle's open to the second candle's close in this pattern.
A tolerance that sets the maximum size the third candle may be compared to the average of the first two candles.
One boolean value for the Two Crows patterns (standard and Upside Gapping) that forces the first two candles in the patterns to completely gap if disabled (candle 1's close < candle 2's low).
10 — Floating point values for the remaining patterns:
One tolerance for defining how much the size of each candle in the Identical Black Crows pattern may deviate from the average of themselves to be considered valid.
One tolerance for setting how close the opens/closes of certain three candle patterns may be to each other's opens/closes.*
Three floating point values that affect the Three Stars in the South pattern.
One tolerance for the Side-by-Side patterns - looks at the second and third candle closes.
One tolerance for the Stick Sandwich pattern - looks at the first and third candle closes.
A floating value that sizes the Concealing Baby Swallow pattern's 3rd candle wick.
Two values for the Ladder Bottom pattern which define a range that the third candle's wick size may be.
* This affects the Three Black Crows (non-identical) and Three White Soldiers patterns, each require the opens and closes of every candle to be near each other.
The first tolerance of the Three Stars in the South pattern affects the first candle body's center position, and defines where it must be above to be considered valid. The second tolerance specifies how close the second candle must be to this same position, as well as the deviation the ratio the candle body to its range may be in comparison to the first candle. The third restricts how large the second candle range may be in comparison to the first (prevents this pattern from being recognized if the second candle is similar to the first but larger).
The last two floating point values define upper and lower limits to the wick size of a Ladder Bottom's fourth candle to be considered valid.
█ HOW TO USE
While there are many moving parts to this script, I attempted to set the default values with what I believed may help identify the most patterns within reasonable definitions. When this script is applied to a chart, the Candle Detection Mode (along with the BREAKOUT settings) and all candle switches must be confirmed before patterns are displayed. All switches are on by default, so this gives the user an opportunity to pick which patterns to identify first before playing around in the settings.
All of the settings/inputs described above are meant for experimentation. I encourage the user to tweak these values at will to find which set ups work best for whichever charts they decide to apply these patterns to.
Refer to the patterns themselves during experimentation. The statistic information provided on the tooltips of the patterns are meant to help guide input decisions. The breadth of candlestick theory is deep, and this was an attempt at capturing what I could in its sea of information.
█ LIMITATIONS
DISCLAIMER: While it may seem a bit paradoxical that this script aims to use past performance to potentially measure future results, past performance is not indicative of future results . Markets are highly adaptive and often unpredictable. This script is meant as an informational tool to show how patterns may behave. There is no guarantee that confidence intervals (or any other metric measured with this script) are accurate to the performance of patterns; caution must be exercised with all patterns identified regardless of how much information regarding prior performance is available.
Candlestick Theory - In the name, Candlestick Theory is a theory , and all theories come with their own limits. Some patterns identified by this script may be completely useless/unprofitable/unpredictable regardless of whatever combination of settings are used to identify them. However, if I truly believed this theory had no merit, this script would not exist. It is important to understand that this is a tool meant to be utilized with an array of others to procure positive (or negative, looking at you, short sellers ) results when navigating the complex world of finance.
To address the functionality note however, this script has an offset of 1 by default. Patterns will not be identified on the currently closing candle, only on the candle which has most recently closed. Attempting to have this script do both (offset by one or identify on close) lead to more trouble than it was worth. I personally just want users to be aware that patterns will not be identified immediately when they appear.
Trend Direction - Moving Averages - There is a small quirk with how MA settings will be adjusted if the user inputs two moving averages of the same length when the "MA Setting" is set to 'BOTH'. If Moving Averages have the same length, this script will default to only using MA 1 regardless of if the types of Moving Averages are different . I will experiment in the future to alleviate/reduce this restriction.
Price Analysis - BREAKOUT mode - With how identifying patterns with a look-ahead confirmation works, the percent returns for patterns that break out in either direction will be calculated on the same candle regardless of if P/L Offset is set to 'FROM CONFIRMATION' or 'FROM APPEARANCE'. This same issue is present in the Hikkake Hunter script mentioned earlier. This does not mean the P/L calculations are incorrect , the offset for the calculation is set by the number of candles required to confirm the pattern if 'FROM APPEARANCE' is selected. It just means that these two different P/L calculations will complete at the same time independent of the setting that's been selected.
Adaptive Coloring/Hard Limiting - Hard Limiting is only used with Adaptive Coloring and has no effect outside of it. If Hard Limiting is used, it is recommended to increase the 'Positive' and 'Negative' return tolerance values as a pattern's bullish/bearishness may be disproportionately represented with the gradient generated under a hard limit.
TARGET MODE - This mode will break rules regarding patterns that are overridden on purpose. If a pattern selected in TARGET mode would have otherwise been absorbed by a larger pattern, it will have that pattern's percent return calculated; potentially leading to duplicate returns being included in the matrix of all returns recognized by this script.
'Tall' Candle Setting - This is a wide-reaching setting, as approximately 30 different patterns or so rely on defining 'Tall' candles. Changing how 'Tall' candles are defined whether by the tolerance value those candles need to exceed or by the values of the candle used for the baseline comparison (RANGE/BODY) can wildly affect how this script functions under certain conditions. Refer to the tooltip of these settings for more information on which specific patterns are affected by this.
Doji Settings - There are roughly 10 or so two to three candle patterns which have Dojis as a part of them. If all Dojis are disabled, it will prevent some of these larger patterns from being recognized. This is a dependency issue that I may address in the future.
'Engulfing' Setting - Functionally, the two 'Engulfing' settings are quite different. Because of this, the 'RANGE' setting may cause certain patterns that would otherwise be valid under textbook and online references/definitions to not be recognized as such (like the Upside Gap Two Crows or Three Outside down).
█ PATTERN LIST
This script recognizes 85 patterns upon initial release. I am open to adding additional patterns to it in the future and any comments/suggestions are appreciated. It recognizes:
15 — 1 Candle Patterns
4 Hammer type patterns: Regular Hammer, Takuri Line, Shooting Star, and Hanging Man
9 Doji Candles: Regular Dojis, Northern/Southern Dojis, Gravestone/Dragonfly Dojis, Gapping Up/Down Dojis, and Long-Legged/Rickshaw Man Dojis
White/Black Long Days
32 — 2 Candle Patterns
4 Engulfing type patterns: Bullish/Bearish Engulfing and Last Engulfing Top/Bottom
Dark Cloud Cover
Bullish/Bearish Doji Star patterns
Hammer Inverted
Bullish/Bearish Haramis + Cross variants
Homing Pigeon
Bullish/Bearish Kicking
4 Lines type patterns: Bullish/Bearish Meeting/Separating Lines
Matching Low
On/In Neck patterns
Piercing pattern
Shooting Star (2 Lines)
Above/Below Stomach patterns
Thrusting
Tweezers Top/Bottom patterns
Two Black Gapping
Rising/Falling Window patterns
29 — 3 Candle Patterns
Bullish/Bearish Abandoned Baby patterns
Advance Block
Collapsing Doji Star
Deliberation
Upside/Downside Gap Three Methods patterns
Three Inside/Outside Up/Down patterns (4 total)
Bullish/Bearish Side-by-Side patterns
Morning/Evening Star patterns + Doji variants
Stick Sandwich
Downside/Upside Tasuki Gap patterns
Three Black Crows + Identical variation
Three White Soldiers
Three Stars in the South
Bullish/Bearish Tri-Star patterns
Two Crows + Upside Gap variant
Unique Three River Bottom
3 — 4 Candle Patterns
Concealing Baby Swallow
Bullish/Bearish Three Line Strike patterns
6 — 5 Candle Patterns
Bullish/Bearish Breakaway patterns
Ladder Bottom
Mat Hold
Rising/Falling Three Methods patterns
█ WORKS CITED
Because of the amount of time needed to complete this script, I am unable to provide exact dates for when some of these references were used. I will also not provide every single reference, as citing a reference for each individual pattern and the place it was reviewed would lead to a bibliography larger than this script and its description combined. There were five major resources I used when building this script, one book, two websites (for various different reasons including patterns, moving averages, and various other articles of information), various scripts from TradingView's public library (including TradingView's own source code for *all* candle patterns ), and PineScrypt's reference manual.
Bulkowski, Thomas N. Encyclopedia of Candlestick Patterns . Hoboken, New Jersey: John Wiley & Sons Inc., 2008. E-book (google books).
Various. Numerous webpages. CandleScanner . 2023. online. Accessed 2020 - 2023.
Various. Numerous webpages. Investopedia . 2023. online. Accessed 2020 - 2023.
█ AKNOWLEDGEMENTS
I want to take the time here to thank all of my friends and family, both online and in real life, for the support they've given me over the last few years in this endeavor. My pets who tried their hardest to keep me from completing it. And work for the grit to continue pushing through until this script's completion.
This belongs to me just as much as it does anyone else. Whether you are an institutional trader, gold bug hedging against the dollar, retail ape who got in on a squeeze, or just parents trying to grow their retirement/save for the kids. This belongs to everyone.
Private Beta for new features to be tested can be found here .
Vires In Numeris مؤشر

مؤشر

مؤشر

مؤشر

مؤشر

مؤشر

مؤشر
