Smooth Cloud + ZigZag VPOC📝 Indicator Description
The Smooth Cloud + ZigZag VPOC Indicator is a custom tool that combines three well-known concepts into one study:
Smooth Cloud Trend Filter – built from two smoothed EMAs, this visual “cloud” highlights the prevailing trend direction.
When the fast line is above the slow line, the background cloud shades teal (bullish bias).
When the fast line is below the slow line, the cloud shades red (bearish bias).
Confirmed ZigZag Pivots – plots non-repainting swing highs and swing lows using pivot confirmation. This helps traders see important structural turning points and potential breakout zones.
VPOC Approximation (Volume Point of Control) – within a lookback window, the indicator marks the price level with the highest traded volume. This level often acts as a magnet for price or an area of confluence.
Signals & Alerts
A long signal appears when price is trending up, breaks above the last confirmed pivot high, and (optionally) is above the VPOC line.
A short signal appears when price is trending down, breaks below the last confirmed pivot low, and (optionally) is below the VPOC line.
Alerts can be enabled to notify when these conditions occur.
Customization
Inputs allow adjusting the EMA lengths, smoothing factor, pivot sensitivity, and VPOC lookback.
Users can toggle on/off the cloud fill, pivot markers, bar coloring, and VPOC line to match their charting style.
✅ Notes (for compliance)
This script is for technical analysis and educational purposes only.
It does not provide financial advice or guaranteed results.
Signals are intended to highlight trend direction and breakout areas — traders should always confirm with their own risk management and strategy.
Educational
TTM Squeeze Range Lines (with Forward Extension) By Gautam KumarThis TTM Squeeze Range Lines script helps visualize breakout levels by marking the recent squeeze’s high and low, making it easier to identify potential trade setups. Each signal line is extended for visibility, showing possible entry levels after a squeeze.
Interpreting the LinesLight blue background marks periods when the TTM squeeze is active (tight volatility).
Green line is drawn at the highest price during the squeeze, extended forward—this is commonly used as the breakout level for long entries.
Red line shows the lowest price during the squeeze, indicating the bottom of the range—potential stop loss positioning or an invalidation level.
When the squeeze background disappears, the horizontal lines will have just appeared and extended forward for several bars after the squeeze ends.
If the price breaks above the green line (the squeeze high), it signals a possible momentum breakout, which traders often use as a long entry.
The red line can be used for placing stop losses or monitoring failed breakouts if price falls below this level.
Best Practices
Combine these levels with volume and momentum confirmation for strong entries.
Adjust the extension length (number of bars forward) from the settings menu to fit your preference.
For systematic trading, use these breakout signals alongside chart pattern or histogram confirmation.
This makes it easy to visualize strong entry zones based on the end of squeeze compression, supporting both discretionary and automated swing trading approaches
Square Root Price Calculator By ABPinescript to Calculate Square root of Price usefull for Gann Lover
TSI v2 [JopAlgo] – Sniper VersionTSI v2 — “Sniper” momentum that’s fast, clean, and actionable
Core idea
TSI (True Strength Index) turns raw price momentum into a smoothed, normalized oscillator so you can see trend side, turns, and follow-through without chop.
Workflow: momentum (close - close ) → double EMA smooth (fast = shortLength, slow = longLength) → normalize vs smoothed absolute momentum → scale to ±100 → signal EMA (signalLength) for triggers.
Above 0 → bullish momentum regime
Below 0 → bearish momentum regime
TSI vs Signal cross → momentum turn
Farther from 0 → stronger impulse
What you’ll see
TSI line (blue) — main momentum read
Signal line (orange) — trigger for turns
Zero line (gray) — bull/bear divider
Alerts for bullish/bearish crosses (enable if you want pane markers)
Read it in 3 seconds: Which side of 0? Did TSI cross its signal? Are bars expanding or fading?
How to use it (simple playbook)
Direction filter
Longs while TSI ≥ 0, shorts while TSI ≤ 0.
Cleanest continuation: TSI crosses up its signal above 0 (mirror down).
Act at real locations
Volume Profile v3.2 (VAH/VAL/POC/LVNs) or Anchored VWAP reclaims/rejections.
No level, no trade.
Break + retest
Break a level with TSI > 0 and crossing up → enter on the first retest that holds (mirror down).
Trend pullback
In an uptrend, TSI dips toward the signal (ideally holds above 0), then re-crosses up near a level → continuation entry.
Do less in chop
If TSI and signal braid around 0, it’s balance—only trade edges with tight risk.
Entries, exits, risk
Continuation long: TSI > 0, crosses up at VAL/AVWAP/MA cluster → enter.
Stop: below structure/last swing. Targets: POC/HVNs or next swing high.
Fresh short: Breakdown + TSI < 0 crosses down → enter on failed retest.
Invalidation: quick re-cross up + level reclaim.
Manage: Trim when TSI flattens or crosses against you into target/HVN.
Settings that matter (and how to tune)
Short EMA (default 13): responsiveness (lower = faster, noisier).
Long EMA (default 25): backbone smoothing (higher = steadier).
Signal EMA (default 7): trigger sensitivity (lower = earlier, more flips).
Suggested presets
Scalp (1–5m): 8 / 21 / 5
Intraday (15m–1H): 13 / 25 / 7 (Sniper defaults)
Swing (2H–4H): 21 / 50 / 9
Daily backdrop: 25 / 100 / 9 (execute on lower TF)
Pattern cheat sheet
Zero-line reclaim: TSI crosses 0 and signal together → regime shift; use first retest.
Continuation curl: TSI pulls toward signal, holds above 0, then re-crosses up → add/enter with trend.
Weak break tell: Level poke while TSI fails to cross or stalls near 0 → skip/wait.
Light divergence: Price higher high while TSI lower high → thinning; trail tight into HVNs.
Best combos (kept simple)
Volume Profile v3.2: entries at VAH/VAL/LVNs, targets at POC/HVNs.
Anchored VWAP: reclaim/reject + TSI cross same direction = high-quality timing.
CVDv1 (optional): take TSI-aligned trades with flow (Alignment OK, no Absorption).
RVOL (optional): prefer breaks with participation above cutoff.
Common mistakes this helps you avoid
Longs with TSI < 0 or shorts with TSI > 0.
Chasing when TSI is flattening/crossing against you into a level.
Trading mid-range while TSI/signal whipsaw around 0.
Quick defaults to start
13 / 25 / 7 on 15m–1H
Process: Location → TSI side (0) → TSI vs Signal cross → (optional) CVD/RVOL check → Structure-based risk
Disclaimer
This indicator and write-up are for education only and not financial advice. Trading involves risk; you can lose money. Results vary by market, venue, and settings. Test before using live, trade at defined levels, and manage risk. No guarantees or warranties are provided.
Trend MACD [JopAlgo]Trend MACD — momentum made obvious (4-state histogram)
What it does (one line):
A clean MACD histogram using EMA(fast) − EMA(slow) with a signal line. The columns change color to show trend side and momentum change at a glance.
Green = above 0 and rising → positive trend, momentum building
White (upside) = above 0 but fading → still positive, momentum cooling
White (downside) = below 0 but improving → still negative, momentum recovering
Red = below 0 and falling → negative trend, momentum building down
Zero line = the bull/bear divider. Distance from zero = thrust. Color change = momentum shift.
What you’ll see
Dashed zero line for the trend divider
Column histogram with the 4-state color logic above
No clutter—just momentum and regime, clean
Read it in 3 seconds: Which side of 0? Are bars getting bigger or smaller? Did the color flip?
How to use it (simple playbook)
Direction filter
Look for longs while histogram is ≥ 0.
Look for shorts while histogram is ≤ 0.
Timing
Green sequence (above 0, growing): join pullbacks at real levels.
White above 0: positive but cooling—buy pullbacks only at levels, don’t chase.
White below 0: negative but improving—prepare for reclaim trades at levels.
Red sequence: trend down—sell pops at levels.
Location first (always)
Use Volume Profile v3.2 (VAH/VAL/POC/LVNs) and Anchored VWAP (session/weekly/event).
No level, no trade.
Quality check (optional, strong)
CVDv1 : execute when Alignment OK and no Absorption against your side.
RVOL (if you track it): prefer breakouts with RVOL above cutoff.
Entries, exits, risk (keep it tight)
Continuation long: price retests VAL / AVWAP / MA cluster in an up regime (≥ 0). Histogram stays ≥ 0 and turns green again → enter.
Stop: under structure. Targets: POC/HVNs or next swing.
Break + retest: breakout through a level while histogram flips from white→green above 0 (or white→red below 0 for shorts). Enter on the retest that holds.
Trim / avoid: when bars shrink toward 0 (white) into your target / HVN—momentum is cooling. Don’t chase fresh highs with white bars.
Settings that matter (how to tune)
Fast Length (default 25)
Shorter = quicker turns (more noise). Longer = steadier, slower.
Slow Length (default 200)
Big backbone. For intraday you might use 21/55 or 12/26; for swing the default 25/200 or 20/100 is solid.
Signal Smoothing (default 9)
Higher = smoother, fewer flips. Lower = more reactive.
Source
close is fine; if you use hlc3, expect slightly smoother behavior.
Suggested presets
Scalp (1–5m): 12 / 26 / 9
Intraday (15m–1H): 21 / 55 / 9
Swing (2H–4H): 25 / 100 or 25 / 200 / 9
Daily backdrop: 20 / 100 or 50 / 200 / 9 (execute on lower TF)
Pattern cheat sheet
Green staircase above 0 → trend leg; buy pullbacks to VP/AVWAP.
White above 0 → positive but tiring; avoid chasing; wait for retest.
Flip through 0 with expansion → regime change; use the first retest at a level.
Red staircase below 0 → trend down; sell pops at VP edges.
Diverging price vs shrinking bars → momentum thinning; tighten risk.
Best combos (kept simple)
Volume Profile v3.2: entries at VAH/VAL/LVNs, targets at POC/HVNs.
Anchored VWAP: reclaim/reject with matching histogram side is high-quality timing.
CVDv1: take MACD-aligned setups with flow (ALIGN OK, no Absorption).
RVOL: confirmation that the push has participation.
Common mistakes this helps you avoid
Longs with red momentum or shorts with green momentum.
Chasing new highs on white (cooling) bars.
Trading mid-range when histogram keeps whipsawing around 0 (do less; wait for level).
Disclaimer:
This indicator is an educational tool, not financial advice. Markets are risky; you can lose money. Always test your settings, trade at defined levels, and use risk management. Data/feeds vary across venues; outcomes may differ. No guarantees or warranties are provided.
Smoothed Heiken Ashi Candles [JopAlgo]Smoothed Heiken Ashi Candles — cleaner bias, less noise, better timing
What it does (one line):
Builds a two-stage smoothed Heiken Ashi view so you can read trend vs. pullback without the usual candle noise. Color does the talking:
Lime = bullish state (close ≥ open on the smoothed HA feed)
Red = bearish state
Under the hood: price is EMA-smoothed ( Length len ), converted to Heiken Ashi, then smoothed again ( Length len2 ). Net effect: fewer whips, clearer swings.
What you’ll see
A full candle chart of Smoothed HA (o₂/h₂/l₂/c₂).
Color rule: o₂ > c₂ → red (bearish), otherwise lime (bullish).
No extra clutter—just an easy bias read you can trust at a glance.
Read in 3 seconds: What color? What slope? Are pullbacks shallow or deep relative to the last swing?
How to use it (simple, repeatable)
Bias filter:
Trade longs while candles are lime.
Trade shorts while candles are red.
Where to act (location first):
Use Volume Profile v3.2 (VAH/VAL/POC/LVNs) and Anchored VWAP for entries/targets.
No level, no trade.
When to click (timing):
Continuation: In lime, buy the first pullback that holds a level (VAL/AVWAP/MA cluster) and prints a fresh lime close. Mirror for red shorts.
Reclaim/Reject: A color flip that happens at a level (e.g., AVWAP reclaim → turns lime) is higher quality than a random mid-range flip.
Quality check (optional, strong):
If you use CVDv1 , prefer setups with Alignment OK and no Absorption against your side.
Timeframe guidance
1–5m (scalps): Keep len / len2 shorter (e.g., 5 / 5 or 6 / 8) to avoid lag.
15m–1H (intraday): Default 10 / 10 is a sweet spot.
2H–4H (swing): Try 14–20 / 10–14 for smoother swings.
1D+ (position): 20–34 / 14–20 for backdrop; execute on a lower TF.
Settings that actually matter (and how to tune)
Smoothing Length for Original OHLC (len)
Controls the base smoothness before HA.
Lower = more reactive, more flips.
Higher = steadier bias, more lag.
Smoothing Length for Heiken Ashi (len2)
Controls the final polish of the HA feed.
Lower = earlier turns (noisier).
Higher = fewer flips (slower).
Practical tip: If you get too many color flips, raise len2 first. If it feels sluggish at entries, lower len slightly.
Entries, exits, and risk (keep it tight)
Entry — continuation:
In lime, wait for a pullback to VAL / AVWAP / MA cluster, then a new lime close → enter.
Stop: below structure/last swing. Targets: POC/HVNs or prior swing high/low.
Entry — reclaim/reject:
Color flips at a level (e.g., AVWAP reclaim turns lime) → enter with the level holding.
Invalidation: immediate flip back on the next bar and level loss.
Manage:
If color stays with you but progress stalls at HVNs, trim. If color flips against your position, tighten or exit unless higher-TF context argues to hold.
Best combos with other tools
Volume Profile v3.2: Use VAH/VAL/LVNs/POC for where to act; Smoothed HA tells you if trend context supports the trade.
Anchored VWAP: A reclaim/rejection with matching HA color is a high-quality timing cue.
CVDv1: Take color-aligned trades with flow (Alignment OK, strong Imbalance, no Absorption).
Patterns you’ll recognize
Walk-of-color: Multiple same-color bars with rising/lowering bodies → ride pullbacks to level; don’t fade.
Color flip at level: The cleanest reversal context (e.g., red→lime on a VAL reclaim).
Chop tell: Rapid lime↔red flips mid-range → do less; only trade edges.
Practical defaults to start
len = 10, len2 = 10
Timeframes: 15m–4H out of the box
Process: Location → Color/Bias → Timing bar → (optional) CVD check → Structure-based risk
Serious Disclaimer & Licensing
This indicator and description are provided for educational purposes only and do not constitute financial, investment, or trading advice. Markets involve risk; you can lose some or all of your capital. Past performance does not guarantee future results. You are solely responsible for evaluating the suitability of this tool in your process, including testing on historical and simulated data and applying appropriate risk management.
Data quality can vary by exchange/venue. No warranty—express or implied—is made regarding accuracy, completeness, or fitness for a particular purpose. assumes no liability for any direct or consequential losses arising from the use of this script or description.
License: This Pine Script™ code is released under the Mozilla Public License 2.0 (MPL 2.0), © JopAlgo. You may use, modify, and distribute the code under MPL 2.0 terms.
IDX Utility Set [zidaniee]Purpose
This indicator is not a technical analysis tool. It’s a companion overlay designed to guide your analysis of the uniquely structured Indonesia Stock Exchange (IDX).
Core Features
Centered Ticker Display – Clean, readable ticker shown at the center of the chart.
Company Name – Displays the listed company’s full name.
Active Timeframe – Shows the currently selected timeframe.
Additional Features
ATH & ATL Markers – Labels the All-Time High (ATH) and All-Time Low (ATL) and shows the percentage distance from the latest price to each level, so you can quickly gauge upside/downside room.
IDX Fraction (Tick) Levels – Visualizes Indonesia’s price-fraction (tick) brackets. This matters because tick size changes by price range—very useful for scalpers and fast traders.
ARA/ARB Levels (Realtime) – Plots Auto-Reject Upper (ARA) and Auto-Reject Lower (ARB) levels in real time. Levels refresh in line with IDX trading hours 09:00–16:00 WIB (UTC+7), so your view stays consistent both during and outside market hours. This feature already complies with the latest rules and adjustments set by the Indonesia Stock Exchange (IDX).
Suspension Status – Shows SUSPENDED if the stock is halted/suspended, helping you avoid unnecessary analysis. The suspension check compares today’s date with the last available candle date and accounts for weekends.
Note: WIB = Western Indonesia Time (UTC+7).
Smart Choppy Index v1 [JopAlgo]Smart Choppy Index v1 — decide trend vs. chop in seconds
What it does (one line):
Measures the percent range of price over a lookback and tells you if the market is choppy (do less, fade edges) or trending (go with breaks/pullbacks).
Range% = (Highest High − Lowest Low) / Close × 100 over length
Below Choppy Threshold → likely range (red tint / X marker)
Above Trending Threshold → likely trend (green tint / ● marker)
Between them = mixed/transition (no background)
Read the pane fast
Orange line: the live Range%.
Red dashed line: Choppy Threshold.
Green dashed line: Trending Threshold.
Background: soft red during chop, soft green during trend.
Markers: X at the top when chop is detected, ● at the bottom when trend is detected.
TL;DR: Red = play defense / mean-revert. Green = play offense / trend-follow.
Simple playbook (copy this into your process)
Identify regime
Choppy (Range% < red line): prefer mean-reversion at VP edges / AVWAP; smaller targets, quicker exits.
Trending (Range% > green line): prefer breakouts + pullbacks; hold to POC/HVNs or structure.
Only execute at real locations
Volume Profile v3.2 : VAH/VAL/POC/LVNs for entries/targets.
Anchored VWAP : reclaims/rejections for timing.
Quality check (optional, recommended)
CVDv1 : execute with flow (Alignment OK, strong Imbalance, no Absorption against your side).
Risk
Stops go beyond structure/level, not on indicator flips.
If regime flips right after entry (green → red or red → green), consider tightening or exiting early.
Timeframe guidance
1–5m (scalps): length 14–20. You’ll see more flips—use thresholds a touch wider and execute only at edges.
15m–1H (intraday): length 14–34. Sweet spot for day trading bias.
2H–4H (swing): length 20–50. Fewer, cleaner signals; great for planning.
1D+ (position): length 50–100. Use as backdrop; trigger on lower TFs.
Settings that actually matter (and how to tune)
Lookback Period (length)
Shorter = faster regime changes; longer = smoother, fewer flips.
Choppy Threshold (%) / Trending Threshold (%)
Calibrate by history: scroll back and mark typical Range% during range days vs trend days for your market/TF.
If you get too many trend flags, raise the green threshold.
If everything looks “choppy,” lower the red threshold slightly.
Background color
Turn off if your chart feels busy; markers remain.
How to trade it with other tools
In Chop (red):
Fade VAH/VAL/AVWAP touches toward POC with tight stops. Confirm with CVDv1 (avoid longs if Absorption is red, etc.).
In Trend (green):
Break + retest at VP levels/AVWAP. Add on pullbacks that hold while Range% stays above the green line.
Patterns to recognize
Squeeze → Expansion: Range% ramps from below red toward/through green → expect a trend phase.
Exhaustion → Balance: After a long green phase, Range% falls back toward the middle → take profits into HVNs, expect more two-way trade.
False break tell: Level poke while Range% sits near red → low odds of follow-through; prefer reclaims.
Practical defaults to start
length = 14
Choppy Threshold = 1.5%
Trending Threshold = 2.5%
Process: Regime → Location → Flow → Execute with structure-based risk
Serious Disclaimer & Licensing
This script and description are provided for educational purposes only and do not constitute financial, investment, or trading advice. Markets are risky; you can lose some or all of your capital. Past performance does not guarantee future results. You are solely responsible for your trading decisions, including evaluating the suitability of this tool in your process, testing it on historical and simulated data, and managing risk.
This indicator relies on exchange data that may vary across venues; differences in volume, liquidity, and price feeds can impact results. No warranty is made—express or implied—regarding accuracy, completeness, or fitness for a particular purpose. assumes no liability for any direct or consequential losses arising from the use of this script or description.
License: This Pine Script® code is released under the Mozilla Public License 2.0 (MPL 2.0), © JopAlgo. You may use, modify, and distribute the code in accordance with MPL 2.0 terms.
Rate of Change Indicator [JopAlgo] (ROCI)Rate of Change Indicator (ROCI) — see impulse early, skip the dead moves
What it is (one line):
ROCI tells you how fast price changed vs N bars ago , in percent. It’s a clean momentum gauge:
Above 0 → price is higher than N bars ago (bullish momentum).
Below 0 → price is lower than N bars ago (bearish momentum).
Further from 0 → stronger impulse.
The default +5 / −5 bands highlight strong thrust . Zero-line crosses flag momentum shifts.
What you’ll see
Blue line = ROCI.
Orange dotted line = 0 (bull/bear divider).
White dotted lines = ±Strong Momentum levels (default ±5).
Green/red panel tint when ROCI lives above +5 or below −5.
Read in 3 seconds: Which side of 0? How far? Growing or fading vs last bar?
How to use it (simple playbook)
Direction filter
Trade longs only while ROCI > 0.
Trade shorts only while ROCI < 0.
Timing
Breakouts: prefer breaks where ROCI pushes through +5/−5 and holds on the first retest.
Pullbacks in trend: in an uptrend, let ROCI dip toward 0 and then turn back up → entry. (Mirror for downtrends.)
Do less in chop
If ROCI whips around near 0, you’re in balance. Only act at objective levels.
Rule of thumb: Zero cross = heads-up. ±5 hold = go-with.
Entries, exits, risk (use this, keep it tight)
Continuation entry (trend):
Bias up at your level (e.g., VAL/AVWAP). ROCI stays > 0 and turns up from a shallow dip → enter long.
Stop: under structure/level. Targets: POC/HVNs or next swing.
Breakout entry:
Break through a level with ROCI > +5 (or < −5 for shorts). Enter on the retest that holds while ROCI remains outside the band.
Invalidation: quick fall back inside the band and under 0 → stand down.
Exit/trim:
On longs, repeated lower ROCI peaks into your target (momentum fading) → take profits or tighten.
Timeframe guide
1–5m (scalps) : ROC Period 10–20, Strong 6–10. Many signals; require level + confirmation.
15m–1H (intraday): ROC Period 14–34, Strong 4–7. Sweet spot.
2H–4H (swing): ROC Period 20–50, Strong 3–6. Cleaner legs, fewer flips.
1D+ (position): ROC Period 50–100, Strong 2–5. Use for backdrop; trigger on lower TF.
Settings that actually matter (and how to tune)
ROC Period (default 32) : lookback for comparison.
Shorter = earlier signals, more noise.
Longer = steadier bias, slower turns.
Strong Momentum Threshold (default 5) : where you say “this is real thrust.”
Pick it by history: scroll back, mark thrusts that ran, and note their typical ROCI. Set the band slightly inside that value so you see the start of good moves.
Pattern cheatsheet
Impulse leg : ROCI above 0 making higher peaks → trend leg in progress.
Healthy pullback : ROCI dips toward 0 but doesn’t flip negative, then turns up → add/entry with trend.
Weak breakout / likely fail: Price pokes level but ROCI stays near 0 or rolls over quickly.
Divergence (lightweight): Price makes a higher high, ROCI peaks lower → momentum thinning; trail tight into HVNs.
Best combos (kept simple)
Volume Profile v3.2 : Use VAH/VAL/LVNs/POC for where. ROCI tells you if the break has juice.
Anchored VWAP : Reclaim/reject AVWAP with ROCI on the correct side of 0 for higher quality.
CVDv1 :
Yes: ROCI thrust + CVD Alignment OK + no Absorption → higher odds the move sticks.
No: ROCI thrust but Absorption red → don’t chase; wait for the fail/reclaim.
(Optional add: RVOL—high participation + strong ROCI is the A+ combo for breaks.)
Common mistakes this avoids
Buying a breakout while ROCI sits near 0 (no impulse).
Shorting a strong trend when ROCI is firmly > 0 (or > +5).
Treating every zero cross as a trade (it’s a heads-up, not an entry by itself).
Quick defaults to start
ROC Period: 32
Strong Threshold: 5
Process: Level → ROCI side/strength → (optionally) CVD quality → Execute with structure-based risk
Screenshots tip: show a level break where ROCI pushes through +5 and a pullback where ROCI turns up from ~0.
Mini-disclaimer
Educational tool, not financial advice. Test first, size sensibly, and always anchor decisions to levels, flow, and risk.
Opening Range Gaps [TakingProphets]What is an Opening Range Gap (ORG)?
In ICT, the Opening Range Gap is defined as the price difference between the previous session’s close (e.g., 4:00 PM EST in U.S. indices) and the current day’s open (9:30 AM EST).
That gap is a liquidity void—an area where no trading occurred during regular hours.
Why ICT Traders Care About ORG
Liquidity Void (Gap Fill Logic)
-Because the gap is an untraded area, it naturally acts as a draw on liquidity.
-Price often seeks to rebalance by retracing into or fully filling this void.
Premium/Discount Sensitivity
-Once the ORG is defined, ICT treats it as a mini dealing range.
-Above EQ (Consequent Encroachment) = algorithmic premium (sell-sensitive).
-Below EQ = algorithmic discount (buy-sensitive).
-Price reaction at these levels gives a precise read on institutional intent intraday.
Support/Resistance from ORG
-If the session opens above prior close, the gap often acts as support until violated.
-If the session opens below prior close, the gap often acts as resistance until reclaimed.
Key ICT Concepts Anchored to ORG
Consequent Encroachment (CE): The midpoint of the gap. The algo is highly sensitive to CE as a decision point: reject → continuation; reclaim → reversal.
Draw on Liquidity (DoL): Price is algorithmically “pulled” toward gap fills, CE, or the opposite side of the ORG.
Order Flow Confirmation: If price ignores the gap and runs away from it, this signals strong institutional order flow in that direction.
Confluence with Other Tools: FVGs, OBs, and HTF PD arrays often overlap with ORG levels, strengthening setups.
Practical Application for Traders
Bias Formation:
Use ORG EQ as a line in the sand for intraday bias.
If price trades below ORG EQ after the open → look for short setups into the prior day’s low or external liquidity.
If price trades above ORG EQ → favor longs into highs/liquidity pools.
Execution Framework:
Wait for liquidity raids or market structure shifts at ORG edges (.00, .25, .50, .75).
Target: EQ, opposite quarter, or full gap fill.
Precision Reads:
ORG lines let traders anticipate where algorithms are likely to respond, providing mechanical invalidation and clear targets without clutter.
New York SessionNY Session highlighter, this indicator highlights newyork session to make it simpler for everyone to differentiate moves between different different sessions
Relative Volume (RVOL) [JopAlgo]Relative Volume (RVOL) — “Filter Fakes, Ride Real Moves”
What it does:
Shows how today’s volume compares to its own average.
RVOL = current volume ÷ SMA(volume, length)
RVOL > cutoff → participation above normal (green)
RVOL < cutoff → participation below normal (red)
Use it to confirm breaks, filter entries, and avoid chasing moves fueled by thin volume.
Read it in 5 seconds
Above/Below the cutoff line (white) = high/low participation now.
Spikes through the cutoff on a break = real interest.
Dry-ups (well below cutoff) into support/resistance = good risk for mean-revert or pullback entries.
If you remember one rule: don’t chase a breakout with RVOL under the cutoff.
Simple playbook (copy this)
Breakout confirmation
Break at VAH/LVN/structure and RVOL > cutoff → take the retest that holds.
If RVOL stays below cutoff on the break → likely fake; wait for reclaim.
Pullback in trend
Trend up, price pulls to AVWAP / VAL / MA cluster with RVOL below cutoff → take the bounce when price turns; add if RVOL rises on the resume.
Fade the exhaustion
Into resistance, huge RVOL spike but no follow-through (long wick, CVD Absorption) → look for the fail back inside value.
Do less in chop
When RVOL hugs below cutoff all session, expect range; trade edges only.
Timeframe guide
1–5m (scalps): Signals are frequent. Keep cutoff ≥ 1.5; demand RVOL on breaks.
15m–1H (intraday): Sweet spot. cutoff 1.5–2.0 is a solid filter.
2H–4H (swing): Look for clustered bars > cutoff during expansions; dry-ups flag pullback entries.
1D+: Use RVOL to separate true trend days from drift.
Settings that matter
Length (default 14):
Shorter = reacts faster; Longer = smoother baseline.
Intraday: 14–20
Swing/Daily: 20–30
Cutoff (default 1.0):
Set the bar for “real” volume.
Conservative confirmation: 1.5–2.0
For slower pairs/timeframes: 1.2–1.5
Tune by scrolling back and marking where good breaks happened.
Color logic: green above cutoff, red below—no surprises.
Best combos (kept simple)
Volume Profile v3.2 : Confirm breaks of VAH/VAL/LVNs with RVOL > cutoff; target POC/HVNs.
Anchored VWAP : Reclaims/rejections with RVOL > cutoff stick more often.
CVDv1 :
Yes: RVOL high and CVD Alignment OK and no Absorption → higher-quality move.
No: RVOL high but Absorption red → don’t chase; look for fail/reclaim.
Pattern cheat sheet
Trend day: RVOL stays > cutoff on pushes; pullbacks show RVOL dip, then re-expand.
False break: Price pokes level, RVOL < cutoff, quick give-back.
Accumulation: Series of low-RVOL bars compressing under a level → watch for the first RVOL pop to go.
Exhaustion wick: RVOL spike + long wick into resistance/support → likely trap unless next bar accepts.
Notes & pitfalls
Exchange volume varies (crypto): use the same feed you trade and calibrate cutoff there.
RVOL ≠ direction: it’s participation. Always pair with location, structure, and flow.
Quick defaults to start
Length: 20
Cutoff: 1.5 (intraday) / 1.8–2.0 (for stricter confirmation)
Process: Level → RVOL above/below cutoff → CVD quality → Execute with structure-based risk
Mini-disclaimer
Educational tool, not financial advice. Test first, size sensibly, and always anchor decisions to levels, flow, and risk.
Multiple Moving Averages [JopAlgo]Multiple Moving Averages — read trend, timing, and strength at a glance
What it does:
Mark up to 5 moving averages (you pick type + length + color). Watch how they stack, slope, braid, and fan out to judge trend direction, pullback timing, and breakout quality on any timeframe.
Read it in 5 seconds
Stack order:
Bullish: fast MAs on top of slow MAs.
Bearish: fast MAs below slow MAs.
Slope: up = trend has a tailwind; down = headwind.
Spacing: wide = strong trend; tight/braided = balance/chop.
If you remember only one rule: trade with the stack and slope, enter at levels.
High-probability plays (simple and repeatable)
Trend pullback (with level)
Stack is bullish, slopes up.
Price pulls back to the MA cluster (or AVWAP/VAL), holds, fast MAs curl back up.
Long. Stop: below structure/slowest MA. Target: POC/HVNs or next swing.
(Mirror for shorts in a bearish stack.)
Reclaim + recurl
After a down phase, price closes above fast MAs (MA1–MA2), they turn up, and you’re at a real level (AVWAP/VA edge).
Take the first higher-low with the stack starting to flip.
Squeeze → expansion
MAs braid tight = energy building.
Break at a level, then the lines fan out in your direction.
Enter on the first retest that holds.
Skip trades when the lines are braided mid-range and you’re not at a level.
Timeframe guide (what usually works)
1–5m (scalps): EMA heavy (e.g., 5/9/21/34/55). Expect more signals; filter with levels + CVD.
15m–1H (intraday): 9/21/34/50/200 (mix EMA for fast, SMA for slow).
2H–4H (swing): 10/20/50/100/200 or 8/21/34/55/89 (smoother read).
1D+ (position): 20/50/100/200 (bias) and enter on lower TF.
Tip: Don’t set all five to the same length—stagger them so the stack tells a story.
Settings that matter (and what they mean)
MA types (pick the feel you like):
EMA – fastest response (great for timing).
SMA – smoother backbone (great for bias).
WMA / LWMA – responsive but less twitchy than EMA.
VWMA – weights price by volume (good on assets with uneven volume).
SMMA – very smooth (reduces whips).
DEMA – extra fast (can be noisy).
HEMA – in this script behaves like a double-EMA style response (fast).
RVIMA – not implemented here (will plot nothing if chosen).
Length:
Shorter = earlier turns, more noise.
Longer = slower, cleaner bias.
Keep a sensible spread (e.g., 1:2:3… or Fib-style 9/21/34/55/89).
Colors:
Use consistent colors (e.g., warm = fast, cool = slow) so you can read the stack instantly.
Best combos with other tools
Volume Profile v3.2: take signals at VAH/VAL/LVNs; use POC/HVNs for targets.
Anchored VWAP: reclaims/rejections + MA recurl = clean timing.
CVDv1: execute with flow (Alignment OK, strong Imbalance, no Absorption against you).
Common mistakes this prevents
Shorting into a bullish stack (or buying into a bearish one).
Chasing far from the fast MAs; better to wait for a pullback.
Trading every wiggle in chop—braids tell you to do less.
Quick FAQs
Cluttered chart? Hide 1–2 lines (keep fast, middle, slow) or thin the linewidth.
Which one is “right”? None. Pick a set that fits your tempo and stick to it.
RVIMA option? Not implemented in this version—choose another type.
Starter presets (copy these, then adjust)
Intraday: MA1 EMA9, MA2 EMA21, MA3 SMA34, MA4 SMA50, MA5 SMA200
Swing: MA1 EMA10, MA2 SMA20, MA3 SMA50, MA4 SMA100, MA5 SMA200
Scalp: MA1 EMA5, MA2 EMA9, MA3 EMA21, MA4 EMA34, MA5 EMA55
Mini-disclaimer
Educational tool, not financial advice. Always anchor trades to levels, flow, and risk—this indicator keeps your bias and timing honest; the plan is still yours.
Multi MA Cross [JopAlgo]Multi MA Cross — simple, flexible trend + timing
What it does:
Plots two moving averages (you pick the types and lengths) and marks their crossovers. Use it to read trend direction and time pullbacks/breakouts. Works on any timeframe.
What you’ll see
Short MA (orange)
Long MA (lime)
Cross mark (aqua ✚) when they cross
Green/lime above orange = bullish bias (short MA above long).
Orange above lime = bearish bias.
How to use it (simple playbook)
Trade with the bias
Longs only when short MA > long MA.
Shorts only when short MA < long MA.
Enter at a real level
Use Volume Profile v3.2 (VAH/VAL/POC/LVNs) or Anchored VWAP .
Crosses at or just after a level hold are higher quality.
Quality check (optional, strong)
CVDv1 : take trades when Alignment = OK, Imbalance strong, Absorption ≠ red.
Manage risk
Stop goes beyond the level/structure, not on an MA wiggle.
Trim into POC/HVNs or next structure.
Good entries you’ll recognize
Pullback-to-long MA (trend):
Bias up, price pulls to long MA (or AVWAP/VAL), short MA curls back up → enter long.
Reclaim + cross:
Price reclaims AVWAP/VA edge, then short MA crosses over long → confirmation to join.
Squeeze → break:
MAs converge (tight), then expand after a level break. Enter on retest that holds.
Skip crosses in the middle of nowhere. Cross + location + flow beats cross alone.
Timeframe guidance
1–5m (scalps): EMA/EMA or EMA/WMA. Expect more crosses. Use VP/AVWAP and CVD filters.
15m–1H (intraday): EMA(9) vs SMA(21) is a solid default.
2H–4H (swing): SMA(20–34) vs SMA(50) or EMA(21) vs EMA(55).
1D+ (position): SMA(50) vs SMA(200) for broad bias; entries on lower TF.
Settings that matter (and what they mean)
Short/Long MA Type:
EMA = fast, good for timing.
SMA = smooth, good for bias.
WMA/LWMA = in-between (responsive).
VWMA = weights by volume.
SMMA = very smooth (reduces whips).
HEMA/DEMA = extra responsive.
VWAP = daily session VWAP (anchor), ignores length in practice.
Short/Long Length:
Short = timing sensitivity.
Long = trend backbone.
Keep a ratio ~ 1:2 to 1:3 (e.g., 9/21, 10/30, 20/50).
Note on VWAP option: The script fetches a daily VWAP anchor. It acts like a fair-value line, not a rolling MA. Your Length won’t affect VWAP.
Filters that boost win rate
Slope check: Only take longs when both MAs slope up; shorts when both slope down.
Distance check: Don’t chase if price is far from the short MA; wait for a pullback.
HTF agreement: On 15m, glance at 1H/4H bias; on 4H, glance at 1D. Trade with the higher-TF wind.
Combos that work
Volume Profile v3.2: Use VAH/VAL/POC/LVNs for entries/targets. Cross at those references is meaningful.
Anchored VWAP: Reclaims/rejections first, MA cross second = cleaner timing.
CVDv1: Only act when flow agrees (ALIGN OK, no Absorption against you).
Common mistakes this avoids
Shorting into an up-bias (or vice versa).
Chasing a cross far from value (wait for the pullback).
Trading every cross in chop (use levels + CVD to filter).
Defaults to start with
Short MA: EMA 9
Long MA: SMA 21
Timeframes: 15m–4H
Process: Bias → Level → Cross/Retest → CVD check → Execute
Quick disclaimer
Educational tool, not financial advice. Test first, size sensibly, and always anchor your trades to levels, flow, and risk.
Multi Doji Detector v1 [JopAlgo]Multi Doji Detector v1 — fast pattern pings with real filters
What it does (one line):
Marks reversal/indecision candles (Doji family) and impulse candles (Engulfing, Hammer/Inverted Hammer), with optional ATR and volume filters so you don’t chase every wiggle.
Why it’s useful:
Candles tell you when the auction pauses or flips. This tool spots those moments, but only matters at a level. Use it to time entries at Volume Profile edges and AVWAP—not as a standalone signal.
What you’ll see on the chart
Doji family
Standard Doji (▲ blue above bar)
Dragonfly Doji (● green below bar)
Gravestone Doji (● red above bar)
Long-Legged Doji (▲ orange above bar)
Engulfing
Bullish Engulfing (⬆ teal below bar)
Bearish Engulfing (⬇ purple above bar)
Hammer set
Hammer (⬆ lime below bar)
Inverted Hammer (⬆ fuchsia below bar)
Shapes = heads-up. Your trade still needs location, flow, and a risk plan.
How to use it (the simple playbook)
Location first
Work at Volume Profile v3.2 levels (VAH/VAL/POC/LVNs) or Anchored VWAP.
No level, no trade.
Flow check (optional but strong)
Use CVDv1: take signals only when Alignment = OK and Absorption ≠ red against your idea.
Pattern = timing
At support (VAL/AVWAP): Bullish Engulfing or Hammer, or a Dragonfly/Standard Doji that gets follow-through up.
At resistance (VAH/AVWAP): Bearish Engulfing, Inverted Hammer, or Gravestone/Standard Doji with follow-through down.
Confirm the bar
Let the signal close. If the next bar rejects the idea, stand down.
Timeframe guidance
1–5m (scalps): Many marks. Keep ATR/volume filters ON. Only take signals at VA edges / Session AVWAP.
15m–1H (intraday): Cleanest. Best combo of signal quality and frequency.
2H–4H (swing): Fewer, stronger signals. Ideal for AVWAP/Composite VP reclaims.
1D+ (position): Use as a heads-up at weekly levels; wait for intraday confirmation to enter.
Entries, exits, risk (quick rules)
Entry:
Long: Bullish Engulfing / Hammer / bullish Doji at support, next bar holds above signal’s high or prints follow-through.
Short: Bearish Engulfing / Inverted Hammer / bearish Doji at resistance, next bar holds below signal’s low or follows through.
Stop:
Longs: below signal low or structure under the level.
Shorts: above signal high or structure over the level.
Targets:
Aim for POC/HVNs or obvious swings. Don’t use the symbol alone as a target.
Pass:
Signals mid-range (no level), or against CVDv1 (Absorption), or when ATR is tiny (fake pokes).
Settings that actually matter
Doji mode
Use Percentage-Based: compares body to full candle range (default 5%).
Off = fixed definition (body < 10% of range).
Tip: If you get too many dojis, lower the %; if too few, raise it slightly.
Engulfing filters
ATR Length (default 14) + Min Size (ATR): require real body expansion.
Volume confirmation: ON = demand above-average volume; reduces noise.
Hammer filters
Wick-to-Body Ratio: default 2.5×; increase for stricter hammers.
ATR Filter: minimum candle size; blocks tiny “toy” candles.
Volume confirmation: ON = better reliability.
Alerts
Toggle Doji Alerts on if you want all doji pings; engulfing/hammer alerts are always available.
Pattern cheatsheet (what they mean at a level)
Standard Doji: indecision → wait for directional close next bar.
Dragonfly (at support): buyers rejected lows → look for long on follow-through.
Gravestone (at resistance): sellers rejected highs → look for short on follow-through.
Long-Legged Doji: big fight → only trade it at a level and with the next bar confirming.
Bullish Engulfing: fresh control shift to buyers; best after a drive into support.
Bearish Engulfing: fresh control shift to sellers; best after a pop into resistance.
Hammer: capitulation then rescue; strongest when the low sweeps a level and closes back above.
Inverted Hammer: rejection from above; needs downside follow-through to matter.
Best combos (kept simple)
Volume Profile v3.2 : Signals at VAH/VAL/LVNs. Use POC/HVNs for targets.
Anchored VWAP : Reclaims/rejections get much better with a matching candle signal.
CVDv1 : Take signals with flow (ALIGN OK, no Absorption). If Absorption flashes red against your signal, skip it.
Common mistakes this prevents
Taking a “pretty” candle in the middle of nowhere.
Shorting every Gravestone in a real uptrend (ATR expanding, CVD strong).
Ignoring size: Engulfing/Hammer without ATR/volume often fail.
Entering before close: half of false signals vanish by the close.
Practical defaults to start
Doji: Percentage-based ON, 5%
Engulfing: Min size 1.0 ATR, Volume confirm ON
Hammer: Wick/Body 2.5×, ATR filter 0.5, Volume confirm ON
Timeframes: 15m–1H for most assets; 2H–4H for swing
Quick disclaimer
Educational tool, not financial advice. Patterns are timers, not trades by themselves. Always pair with location, flow, and risk.
Market Bias (CEREBR)Market Bias (CEREBR) — quick read of who’s in control
What it does, in one line:
It builds a clean, smoothed Heikin-Ashi view (optionally from a higher timeframe) and an oscillator that says: bullish, bearish, or cooling off. You use it to decide directional bias and to avoid trading against that bias.
What you see on the chart
Smoothed HA candles (optional): green = bullish bias, red = bearish bias.
A soft fill band around the HA body:
Brighter = bias is strengthening.
Faded = bias is weakening.
(In Data Window) “Bias High / Low / Average” = the smoothed HA range and midline.
If you only look at one thing: green means look for longs, red means look for shorts. Faded color = be picky or trim.
How to use it (simple playbook)
Pick your higher timeframe (HTF) for the bias.
On a 4H chart, try HTF = 12H or 1D.
Rule: HTF must be equal to or higher than your chart TF.
Trade with the bias at real levels.
Longs only when the bias is green.
Shorts only when the bias is red.
Take entries at location: Volume Profile v3.2 levels (VAH/VAL/POC/LVNs) or Anchored VWAP.
Quality check (optional but strong):
Before clicking, glance at CVDv1.
Green bias + CVD Alignment OK and no Absorption = better odds.
If CVD shows Absorption against you, skip or wait for a retest.
When to pass:
Color flips every other bar (chop) → do less.
Color is fading (weakening) into your entry → size down or wait.
Timeframe guidance
Scalps (1–5m): HTF = 15m/30m. Use bias to filter direction; enter on pullbacks at AVWAP/VA edges.
Intraday (15m–1H): HTF = 4H. Buy dips in green / sell pops in red at VP levels.
Swing (2H–4H): HTF = 12H/1D. First pullback after a fresh flip is usually the best.
Position (1D–1W): HTF = 1W. Hold while color stays consistent; reduce on weakening near HVNs.
Entries, exits, and stops
Entry with trend:
Bias green, price pulls back to AVWAP / VAL / prior HA mid, then holds.
Click the long. Reverse for shorts in red.
Exit / reduce:
When “Trend Weakens” alert fires, or color fades while hitting your POC/HVN target.
Hard exit on opposite flip (green→red or red→green) if your idea was pure trend-follow.
Stops:
Behind structure/level (not just on color).
If the next bar flips bias against you and CVD also disagrees, cut it early.
Inputs that matter (keep these simple)
Timeframe (HA Market Bias): your HTF. Must be ≥ chart TF.
Period (default 100): smoothing for the base OHLC. Higher = steadier.
Smoothing (default 100): extra smoothing for the HA feed. Higher = fewer flips.
Oscillator Period (default 7): affects how fast strengthening/weakening shows in the fill color. Lower = quicker.
Tip: If you see too many flips, raise Period/Smoothing or pick a higher HTF. If it feels slow, lower them one notch.
Alerts (plain meaning)
Bullish Trend Switch: bias turned bearish → bullish.
Bullish Trend Strengthens / Weakens: same direction, momentum building / cooling.
Bearish Trend Switch: bullish → bearish.
Bearish Trend Strengthens / Weakens: same idea for shorts.
Use “Switch” to prepare for new setups; use “Strengthens/Weakens” to add/trim or tighten risk.
How it works (one paragraph, no math)
The script smooths price, builds Heikin-Ashi values on your chosen HTF, smooths those again, and doesn’t repaint on closed bars. From the HA open/close difference it creates a simple bias oscillator: above zero = bullish, below zero = bearish. The fill brightness tells you if that bias is getting stronger or weaker right now.
Good combos (optional, but recommended)
Volume Profile v3.2 : use VAH/VAL/POC/LVNs as your battleground.
Anchored VWAP : use reclaims/rejections for timing.
CVDv1 : sanity-check flow quality before entry.
FAQ (quick)
Does it repaint?
No on closed bars. HTF values are requested with a safe offset.
Best starting setup?
4H chart, HTF = 1D, Period/Smoothing 100/100, Oscillator 7.
Can I hide the HA candles?
Yes—toggle “Show HA Candles.” Keep only the bias fill if you want a cleaner price chart.
Short disclaimer
Educational tool, not advice. Markets carry risk. Test first, size small, and trade with your plan.
Keltner Channels v1 [JopAlgo]Keltner Channels v1 — a clean volatility envelope for timing pullbacks, breakouts, and risk
Keltner Channels are a moving-average centerline with volatility-based bands above and below. They give you a live “speed limit” for price: when the market is calm, bands are tight (expect mean reversion); when volatility expands, bands widen (trend moves can breathe). KC v1 keeps the classic idea but adds a small twist that traders appreciate in crypto: an adaptive centerline that switches between EMA and SMA based on trendiness, plus a choice of how you measure volatility for the bands.
This makes KC v1 useful for any timeframe—from fast scalps to multi-day swings—because it answers three practical questions on every chart:
Where’s the “middle” of price right now? (the centerline)
How far is “far” for current volatility? (the bands)
Should I fade back to the middle or ride with the expansion? (context from band width + slope)
If you attach screenshots to your script page, show one image labeling Upper / Middle / Lower bands with a classic pullback-to-middle entry, and another showing a band expansion where price hugs the outer band in trend.
What you’re seeing (and how it’s computed)
Middle band (MA):
KC v5 computes both an EMA and an SMA of your source (default close) with the same length, then auto-selects the middle band:
If ATR > SMA(ATR) over length, KC marks the market as trending and uses the EMA (faster, responsive).
Otherwise, it uses the SMA (steadier) in balance.
Result: you get a centerline that’s calm in chop and snappier in trend, without touching settings.
Upper / Lower bands:
upper = middle + (mult × volatility)
lower = middle - (mult × volatility)
You choose the volatility measure via Bands Style:
Average True Range (default): smooth, robust; uses ATR(atrlength). Best all-around choice.
True Range: raw TR each bar (more jumpy; reacts to gaps and spikes quickly).
Range: RMA of (high - low) over length (gentler; good for tight mean-reversion regimes).
Colors & fill:
Upper = red, Lower = green, Middle = white, with muted fill between bands so you can still read candles.
How to use Keltner Channels on any timeframe
Same framework everywhere: trade with the envelope when expanding, fade back to the middle when contracting—but only at objective locations and with healthy flow.
Scalping (1–5m)
Pullback-to-middle entry: In a micro-trend, wait for price to retrace to the middle band and print a hold. Enter with the trend, stop just beyond the opposite side of the middle or below minor structure; first target is the near band.
Band tap fades (only in contraction): When bands are tightening and the middle is flat, quick fades from upper → middle or lower → middle are high-probability if your volume/flow read doesn’t show aggressive pressure against you.
Avoid: Fading when bands expand and middle slopes—expect continuation instead.
Intraday (15m–1H)
Continuation rides: When bands open up (volatility expansion) and the middle slopes, price often walks the outer band. Enter on minor pullbacks that hold above the middle (for longs) and trail using the middle band or a structure stop.
Squeeze to break: A period of narrowing bands often precedes a move. Let price close outside the channel with good flow, then buy the retest toward the middle that holds.
Swing (2H–4H)
Trend participation: In established trends, treat pullbacks to the middle band as your primary entry. The upper/lower band is not a take-profit by itself—use it with Volume Profile targets (POC/HVNs) or key swing levels.
Mean reversion in balance: When the middle is flat and bands are tight over many bars, fade outer band → middle at Volume Profile edges, provided your flow read isn’t showing absorption against your idea.
Position (1D–1W)
Context: Use KC to judge regime (wide bands + slope = trend; tight/flat = balance). Position entries come from pullbacks to middle that coincide with Weekly AVWAP / VP value edges.
Entries, exits, and risk (simple rules)
Trend entry (with expansion):
Wait for band expansion + sloping middle in your direction. Enter on the first clean pullback to middle (or shallow pullback that can’t even tag middle).
Stop: below the middle band or just beyond local swing.
Trail: by the middle band in trend, or step-trail under pivots.
Targets: next Volume Profile HVN/POC or structural levels; the far Keltner band is a context line, not a hard TP.
Mean-reversion entry (in contraction):
Bands tight + flat middle → fade outer band back to middle at a Volume Profile VA edge.
Stop: just beyond the band.
Target: middle band (first), opposite band if flow remains weak.
Breakout confirmation:
A strong close outside the band by itself can be a trap. Treat it as signal only when your flow read confirms (see “Combining with other tools”).
Settings that actually matter (and how to tune them)
MA Length (default 20): controls both middle smoothness and the trending test (ATR vs SMA(ATR)).
Shorter (10–14) reacts faster, more whips in chop.
Longer (30–50) steadier middle, better for swings/position.
Multiplier (default 2.0): scales band distance.
Crypto majors: 1.8–2.2 is a good starting range on 15m–4H.
Volatile alts: 2.2–2.6 to avoid over-triggering.
If you keep getting faked out on fades: increase the multiplier.
If the channel rarely contains price for long stretches: decrease slightly.
Bands Style:
ATR for most use cases;
TR when you want maximum responsiveness to spikes;
Range for calmer envelopes in slow, balanced markets.
ATR Length (default 10): only applies if you choose ATR for band style.
Shorter = quicker band changes, good for scalps;
Longer = steadier bands for swings.
Note: KC v1 auto-selects EMA vs SMA for the middle band using the ATR trend test. That’s intentional, so you don’t have to toggle it manually.
What to look for (pattern cheatsheet)
Walk-the-band: In expansion, price hugs the outer band and barely returns to the middle—ride, don’t fade.
First touch of middle in trend: Often the cleanest add or first entry after a breakout.
Band pinch (“squeeze”): A long, narrow channel with flat middle sets up a breakout. Wait for acceptance (close outside + hold on retest).
False break tell: Price pokes outside band but closes back inside quickly—watch for reversion to middle, especially if your flow read shows Absorption against the poke.
Combining KC v1 with other tools
like the Cumulative Volume Delta v1 (CVDv1):
Do not chase an outside-band move if CVDv1 shows Absorption—that’s a classic failed break.
Prefer pullbacks to the middle band when Alignment = OK and Imbalance % is strong in your direction.
Reclaim setups: after a poke outside the band, a CVD divergence on the return through the middle often precedes a mean-reversion run.
Volume Profile v3.2 :
Use VAH/VAL/LVNs for location. A pullback-to-middle that coincides with VA boundary is A-tier.
Breakouts through LVNs with expanding bands tend to travel fast toward the next HVN/POC—good for continuation targets.
(A great screenshot: KC middle kiss at VAL with CVDv1 Efficient, then a move to POC.)
Common pitfalls KC v1 helps you avoid
Fading expansion: Trying to short the upper band when bands are widening and middle slopes up is how you get steamrolled. KC tells you it’s not that kind of day.
Chasing inside contraction: Buying every tiny outside poke while bands are pinched leads to whips. Let acceptance form; buy the retest to middle that holds.
Stops too tight: In trend, volatility is elevated; stops need to live beyond the middle or behind structure, not right at the band.
Practical defaults to start with
Length: 20
Multiplier: 2.0 (adjust ±0.2–0.4 per asset)
Bands Style: ATR
ATR Length: 10
Timeframes: works out of the box on 15m–4H; for 1–5m scalps, consider length=14; for daily swings, length=30.
Open source & disclaimer
This indicator is provided open source so traders can study, test, and adapt it to their workflow. No tool guarantees outcomes; risk management is essential.
Disclaimer — Not Financial Advice.
The “Keltner Channels v1 ” indicator and this description are provided for educational purposes only and do not constitute financial or investment advice. Trading involves risk, including possible loss of capital. makes no warranties and assumes no responsibility for any trading decisions or outcomes resulting from the use of this script. Past performance is not indicative of future results.
Anchored VWAP Bands v3.3 [JopAlgo]Anchored VWAP — a fair-value compass you can trust on any timeframe
If Volume Profile shows where business concentrated, Anchored VWAP (AVWAP) shows what the crowd has paid on average since a moment that matters. It’s a running average of price weighted by traded volume, reset at a point you choose (the “anchor”). That makes AVWAP a reliable fair-value line: above it, the average participant since the anchor is in profit; below it, they’re under water. Markets naturally react around that line.
This version focuses on the parts that make AVWAP practical for real trading:
Clear, event-anchored VWAP so you can ask “since this moment, where is fair value?”
Optional higher-timeframe anchors (e.g., Weekly AVWAP) to define regime
Simple visuals so newer traders can read it instantly, and advanced traders can layer multiple anchors without clutter
(When you add screenshots: image #1 should point to the main AVWAP line with a label “fair value since anchor”, and show a bounce/reject. Image #2 can show confluence: AVWAP kissing VAL/VAH from Volume Profile v3.2 or a clean reclaim through AVWAP.)
What you’re seeing (and why price cares)
The AVWAP line: the volume-weighted average price since your anchor time.
Price above AVWAP → average long (since anchor) is in profit → pullbacks to AVWAP tend to support.
Price below AVWAP → average long is losing → rallies to AVWAP tend to resist.
Multiple anchors (optional): you can plot more than one AVWAP (e.g., Weekly AVWAP and an Event AVWAP) to separate regime (weekly) from tactical timing (event/session).
AVWAP works because it ties “fair value” to time and participation, not just price. When price departs far from AVWAP and then returns, participants frequently defend the line. When price accepts on the other side (closes and holds), that’s often a regime change relative to the anchor.
Anchors: how to pick them (and what changes when you do)
An anchor is simply the timestamp where you start the calculation. Changing it changes both context and expectations:
Session anchors (intraday) — e.g., session open, London/NY open.
Use: scalps/intraday plays.
Behavior: frequent tests; strong for fade-to-mean trades and quick reclaims.
Event anchors — listing, major news, ETF approval, earnings, a swing high/low.
Use: track how price behaves since the catalyst.
Behavior: excellent for measured pullbacks and “is the market digesting this event yet?”
Weekly/Monthly anchors — the Weekly AVWAP is a regime line.
Use: swing/position bias.
Behavior: clean “reclaim” and “rejection” signals; great with Volume Profile’s VAH/VAL.
Rule of thumb:
Choose the slowest anchor that defines your bias (e.g., Weekly AVWAP for swings) and one faster anchor for timing (e.g., Session/Event AVWAP). Too many lines → hesitation.
How to use AVWAP on any timeframe
The framework doesn’t change—only your anchor choices and expectations do.
Scalping (1–5m charts)
Anchors: Session open, London/NY open, or the prior swing low/high.
Setup: If price trends away from the session AVWAP, fade back to AVWAP only when flow isn’t showing absorption against you (pair with CVDv1). If price reclaims AVWAP after a push below, look for inside-back retests at the line.
Intraday (15m–1H)
Anchors: Session open + important event AVWAP (FOMC-like news, ETF day, etc.).
Setup: Use pullbacks to AVWAP to join trend; require acceptance above/below (close and hold) before flipping bias. Confluence of AVWAP with VP v3.2’s VAH/VAL = high-quality location.
Swing (2H–4H)
Anchors: Weekly AVWAP for regime + event AVWAP for timing.
Setup: Reclaim of Weekly AVWAP → prefer longs on pullbacks to that line; rejection → fade rallies into Weekly AVWAP (target POC/HVNs from VP). The best entries are AVWAP + VP edge with CVDv1 not flashing Absorption.
Position (1D–1W)
Anchors: Monthly/Quarterly/Cycle AVWAP.
Setup: Treat the higher-timeframe AVWAP as the mean. Acceptance through it (and hold) often marks cycle transitions. Add on pullbacks to the line that hold.
Reading reclaims, rejections, and “acceptance”
Reclaim: price trades below AVWAP, then closes back above and holds on a retest → bullish signal since the anchor.
Rejection: price pops above AVWAP, prints rejection wick and closes back under → bearish.
Acceptance: multiple bars closing and holding beyond AVWAP, ideally with CVDv1 Alignment OK and no Absorption → higher odds the move persists.
With Volume Profile v3.2, treat AVWAP at VAL/VAH as A-tier locations:
VAL + AVWAP reclaim → mean-reversion long to POC is common.
VAH + AVWAP rejection → fade back to POC or to the next HVN.
Settings that matter (and simple defaults)
Names may vary by version, but these are the ideas you’ll see.
Anchor Time — pick a timestamp (session open, event, week start). Newer traders: start with Session AVWAP intraday; add Weekly AVWAP for swings.
Multiple anchors — if enabled, you can show Weekly AVWAP alongside your custom anchor. Keep it to two lines to stay decisive.
Smoothing / Display — most traders use raw AVWAP (no smoothing). Make sure the line is visible across zoom levels.
Theme & Colors — use distinct colors for each anchor (e.g., white for Weekly, aqua for Session/Event) so you don’t mix them up.
How AVWAP pairs with other tools
Cumulative Volume Delta v1 (CVDv1) — confirms flow quality at AVWAP.
Don’t chase a tag through AVWAP if CVD Absorption is red (typical failed break conditions).
Do prefer reclaims when Alignment = OK and Imbalance % is strong for your anchor.
Volume Profile v3.2 — gives you objective levels (POC/VAH/VAL/HVNs).
AVWAP + VAH/VAL confluence is where you plan trades.
Passing through an LVN toward AVWAP often travels fast; use that to manage risk.
(Add a screenshot that highlights AVWAP touching VAL with CVDv1 “Efficient” → clean bounce to POC.)
A simple, durable playbook
Pick one slow anchor (e.g., Weekly) for bias and one fast anchor (Session/Event) for timing.
Trade at the line, not mid-air: reclaims and rejections at AVWAP are your signals.
Require confirmation from flow: CVDv1 Alignment OK, Imbalance strong, Absorption ≠ red on the trigger bar.
Add Volume Profile v3.2 for targets (POC/HVNs) and edges (VAH/VAL).
If price accepts beyond AVWAP (closes and holds), stop fading and instead join pullbacks to the line.
Common mistakes AVWAP solves
“Mean keeps moving, my MA lies.” AVWAP weights actual traded volume, so fair value adapts to where business was done, not just where price wandered.
“It broke the line and reversed.” That’s no acceptance (or CVDv1 flagged Absorption). Wait for the retest/hold.
“Too many lines, can’t decide.” Keep two anchors max: one for bias, one for timing.
Practical defaults to start with
Intraday: Session AVWAP only. Add an Event AVWAP on special days.
Swing: Weekly AVWAP + one Event AVWAP (start of move or weekly open).
Colors: Distinct but readable (e.g., white for Weekly, aqua for Session/Event).
No smoothing. Let the line be honest—your eyes adjust quickly.
Open source & disclaimer
This indicator is provided open source so you can learn, test, and adapt it to your workflow. Trading involves risk; tools guide decisions but don’t remove uncertainty.
Disclaimer — Not Financial Advice.
The “Anchored VWAP ” indicator and this description are for educational purposes only and do not constitute financial or investment advice. Markets involve risk, including possible loss of capital. makes no warranties and assumes no responsibility for any trading decisions or outcomes resulting from the use of this script. Past performance is not indicative of future results.
Use Anchored VWAP for the where and when around fair value; let CVDv1 judge who’s pushing, and let Volume Profile v3.2 define targets and edges. That trio stays reliable across any timeframe.
Impulse Range Compression & Expansion (IRCE)📌 Impulse Range Compression & Expansion (IRCE) – Visualizing Price Traps Before Breakouts
📖 Overview
The IRCE Indicator is a precision breakout detection tool designed to identify consolidation traps and price coil zones before expansion moves occur. Unlike traditional volatility indicators that rely solely on statistical thresholds (e.g., Bollinger Bands or ATR), IRCE focuses on behavioral price compression, detecting tight-range candle clusters and validating breakouts through body expansion and/or volume surges.
This makes it ideal for traders looking to:
• Catch breakouts from range traps
• Avoid choppy and premature signals
• Spot early-stage momentum moves based on clean price behavior
⸻
⚙️ How It Works
1. Impulse Range Compression Detection
• Measures the high-low range of each candle
• Compares it to a user-defined average range (default 7 bars)
• Flags candles where the range is significantly smaller (e.g., <60% of average)
• Groups these into tight clusters, indicating compression zones or potential “trap ranges”
2. Cluster Box Construction
• When a valid cluster (e.g., 3 or more tight candles) is detected, the indicator:
• Marks the high and low of the cluster
• Draws a shaded box over this “trap zone”
• This helps visually track where price has coiled before a breakout
3. Breakout Confirmation Logic
A breakout from the trap zone is only validated when:
• Price closes above the cluster high (bullish) or below the cluster low (bearish)
• One or both of the following confirm strength:
• Body Expansion: Current candle body is 120%+ of recent average
• Volume Expansion: Volume exceeds recent volume average
4. Optional Trend Filter
• An optional EMA filter (default: 50 EMA) ensures breakout signals align with trend direction
• Helps filter out countertrend noise in ranging markets
5. Signal Cooldown
• Prevents repeated signals by enforcing a cooldown period (e.g., 10 bars) between entries
⸻
🖥️ Visual Elements
• 📦 Yellow compression boxes represent tight price traps
• 🟢 Buy labels appear when price breaks above the trap with confirmation
• 🔴 Sell labels appear when price breaks below with confirmation
• All visuals are non-repainting and updated in real-time
🧠 How to Use
1. Wait for a yellow trap box to appear
2. Watch for a confirmed breakout from the trap zone
3. Take the trade in the direction of the breakout:
• Only if it satisfies body or volume confirmation
• And if trend alignment is enabled, it must match EMA direction
4. Place stops just outside the opposite end of the trap zone
5. Use risk/reward ratios or structure levels for exits
This logic works great on:
• Lower timeframes (scalping breakouts)
• Higher timeframes (detecting price coiling before major moves)
• Any market: Stocks, Crypto, FX, Commodities
⸻
🔒 Technical Notes
• ✅ No repainting
• ✅ No future-looking logic
• ✅ Suitable for both discretionary and systematic traders
• ✅ Built in Pine Script v6
Dynamic Equity Allocation Model"Cash is Trash"? Not Always. Here's Why Science Beats Guesswork.
Every retail trader knows the frustration: you draw support and resistance lines, you spot patterns, you follow market gurus on social media—and still, when the next bear market hits, your portfolio bleeds red. Meanwhile, institutional investors seem to navigate market turbulence with ease, preserving capital when markets crash and participating when they rally. What's their secret?
The answer isn't insider information or access to exotic derivatives. It's systematic, scientifically validated decision-making. While most retail traders rely on subjective chart analysis and emotional reactions, professional portfolio managers use quantitative models that remove emotion from the equation and process multiple streams of market information simultaneously.
This document presents exactly such a system—not a proprietary black box available only to hedge funds, but a fully transparent, academically grounded framework that any serious investor can understand and apply. The Dynamic Equity Allocation Model (DEAM) synthesizes decades of financial research from Nobel laureates and leading academics into a practical tool for tactical asset allocation.
Stop drawing colorful lines on your chart and start thinking like a quant. This isn't about predicting where the market goes next week—it's about systematically adjusting your risk exposure based on what the data actually tells you. When valuations scream danger, when volatility spikes, when credit markets freeze, when multiple warning signals align—that's when cash isn't trash. That's when cash saves your portfolio.
The irony of "cash is trash" rhetoric is that it ignores timing. Yes, being 100% cash for decades would be disastrous. But being 100% equities through every crisis is equally foolish. The sophisticated approach is dynamic: aggressive when conditions favor risk-taking, defensive when they don't. This model shows you how to make that decision systematically, not emotionally.
Whether you're managing your own retirement portfolio or seeking to understand how institutional allocation strategies work, this comprehensive analysis provides the theoretical foundation, mathematical implementation, and practical guidance to elevate your investment approach from amateur to professional.
The choice is yours: keep hoping your chart patterns work out, or start using the same quantitative methods that professionals rely on. The tools are here. The research is cited. The methodology is explained. All you need to do is read, understand, and apply.
The Dynamic Equity Allocation Model (DEAM) is a quantitative framework for systematic allocation between equities and cash, grounded in modern portfolio theory and empirical market research. The model integrates five scientifically validated dimensions of market analysis—market regime, risk metrics, valuation, sentiment, and macroeconomic conditions—to generate dynamic allocation recommendations ranging from 0% to 100% equity exposure. This work documents the theoretical foundations, mathematical implementation, and practical application of this multi-factor approach.
1. Introduction and Theoretical Background
1.1 The Limitations of Static Portfolio Allocation
Traditional portfolio theory, as formulated by Markowitz (1952) in his seminal work "Portfolio Selection," assumes an optimal static allocation where investors distribute their wealth across asset classes according to their risk aversion. This approach rests on the assumption that returns and risks remain constant over time. However, empirical research demonstrates that this assumption does not hold in reality. Fama and French (1989) showed that expected returns vary over time and correlate with macroeconomic variables such as the spread between long-term and short-term interest rates. Campbell and Shiller (1988) demonstrated that the price-earnings ratio possesses predictive power for future stock returns, providing a foundation for dynamic allocation strategies.
The academic literature on tactical asset allocation has evolved considerably over recent decades. Ilmanen (2011) argues in "Expected Returns" that investors can improve their risk-adjusted returns by considering valuation levels, business cycles, and market sentiment. The Dynamic Equity Allocation Model presented here builds on this research tradition and operationalizes these insights into a practically applicable allocation framework.
1.2 Multi-Factor Approaches in Asset Allocation
Modern financial research has shown that different factors capture distinct aspects of market dynamics and together provide a more robust picture of market conditions than individual indicators. Ross (1976) developed the Arbitrage Pricing Theory, a model that employs multiple factors to explain security returns. Following this multi-factor philosophy, DEAM integrates five complementary analytical dimensions, each tapping different information sources and collectively enabling comprehensive market understanding.
2. Data Foundation and Data Quality
2.1 Data Sources Used
The model draws its data exclusively from publicly available market data via the TradingView platform. This transparency and accessibility is a significant advantage over proprietary models that rely on non-public data. The data foundation encompasses several categories of market information, each capturing specific aspects of market dynamics.
First, price data for the S&P 500 Index is obtained through the SPDR S&P 500 ETF (ticker: SPY). The use of a highly liquid ETF instead of the index itself has practical reasons, as ETF data is available in real-time and reflects actual tradability. In addition to closing prices, high, low, and volume data are captured, which are required for calculating advanced volatility measures.
Fundamental corporate metrics are retrieved via TradingView's Financial Data API. These include earnings per share, price-to-earnings ratio, return on equity, debt-to-equity ratio, dividend yield, and share buyback yield. Cochrane (2011) emphasizes in "Presidential Address: Discount Rates" the central importance of valuation metrics for forecasting future returns, making these fundamental data a cornerstone of the model.
Volatility indicators are represented by the CBOE Volatility Index (VIX) and related metrics. The VIX, often referred to as the market's "fear gauge," measures the implied volatility of S&P 500 index options and serves as a proxy for market participants' risk perception. Whaley (2000) describes in "The Investor Fear Gauge" the construction and interpretation of the VIX and its use as a sentiment indicator.
Macroeconomic data includes yield curve information through US Treasury bonds of various maturities and credit risk premiums through the spread between high-yield bonds and risk-free government bonds. These variables capture the macroeconomic conditions and financing conditions relevant for equity valuation. Estrella and Hardouvelis (1991) showed that the shape of the yield curve has predictive power for future economic activity, justifying the inclusion of these data.
2.2 Handling Missing Data
A practical problem when working with financial data is dealing with missing or unavailable values. The model implements a fallback system where a plausible historical average value is stored for each fundamental metric. When current data is unavailable for a specific point in time, this fallback value is used. This approach ensures that the model remains functional even during temporary data outages and avoids systematic biases from missing data. The use of average values as fallback is conservative, as it generates neither overly optimistic nor pessimistic signals.
3. Component 1: Market Regime Detection
3.1 The Concept of Market Regimes
The idea that financial markets exist in different "regimes" or states that differ in their statistical properties has a long tradition in financial science. Hamilton (1989) developed regime-switching models that allow distinguishing between different market states with different return and volatility characteristics. The practical application of this theory consists of identifying the current market state and adjusting portfolio allocation accordingly.
DEAM classifies market regimes using a scoring system that considers three main dimensions: trend strength, volatility level, and drawdown depth. This multidimensional view is more robust than focusing on individual indicators, as it captures various facets of market dynamics. Classification occurs into six distinct regimes: Strong Bull, Bull Market, Neutral, Correction, Bear Market, and Crisis.
3.2 Trend Analysis Through Moving Averages
Moving averages are among the oldest and most widely used technical indicators and have also received attention in academic literature. Brock, Lakonishok, and LeBaron (1992) examined in "Simple Technical Trading Rules and the Stochastic Properties of Stock Returns" the profitability of trading rules based on moving averages and found evidence for their predictive power, although later studies questioned the robustness of these results when considering transaction costs.
The model calculates three moving averages with different time windows: a 20-day average (approximately one trading month), a 50-day average (approximately one quarter), and a 200-day average (approximately one trading year). The relationship of the current price to these averages and the relationship of the averages to each other provide information about trend strength and direction. When the price trades above all three averages and the short-term average is above the long-term, this indicates an established uptrend. The model assigns points based on these constellations, with longer-term trends weighted more heavily as they are considered more persistent.
3.3 Volatility Regimes
Volatility, understood as the standard deviation of returns, is a central concept of financial theory and serves as the primary risk measure. However, research has shown that volatility is not constant but changes over time and occurs in clusters—a phenomenon first documented by Mandelbrot (1963) and later formalized through ARCH and GARCH models (Engle, 1982; Bollerslev, 1986).
DEAM calculates volatility not only through the classic method of return standard deviation but also uses more advanced estimators such as the Parkinson estimator and the Garman-Klass estimator. These methods utilize intraday information (high and low prices) and are more efficient than simple close-to-close volatility estimators. The Parkinson estimator (Parkinson, 1980) uses the range between high and low of a trading day and is based on the recognition that this information reveals more about true volatility than just the closing price difference. The Garman-Klass estimator (Garman and Klass, 1980) extends this approach by additionally considering opening and closing prices.
The calculated volatility is annualized by multiplying it by the square root of 252 (the average number of trading days per year), enabling standardized comparability. The model compares current volatility with the VIX, the implied volatility from option prices. A low VIX (below 15) signals market comfort and increases the regime score, while a high VIX (above 35) indicates market stress and reduces the score. This interpretation follows the empirical observation that elevated volatility is typically associated with falling markets (Schwert, 1989).
3.4 Drawdown Analysis
A drawdown refers to the percentage decline from the highest point (peak) to the lowest point (trough) during a specific period. This metric is psychologically significant for investors as it represents the maximum loss experienced. Calmar (1991) developed the Calmar Ratio, which relates return to maximum drawdown, underscoring the practical relevance of this metric.
The model calculates current drawdown as the percentage distance from the highest price of the last 252 trading days (one year). A drawdown below 3% is considered negligible and maximally increases the regime score. As drawdown increases, the score decreases progressively, with drawdowns above 20% classified as severe and indicating a crisis or bear market regime. These thresholds are empirically motivated by historical market cycles, in which corrections typically encompassed 5-10% drawdowns, bear markets 20-30%, and crises over 30%.
3.5 Regime Classification
Final regime classification occurs through aggregation of scores from trend (40% weight), volatility (30%), and drawdown (30%). The higher weighting of trend reflects the empirical observation that trend-following strategies have historically delivered robust results (Moskowitz, Ooi, and Pedersen, 2012). A total score above 80 signals a strong bull market with established uptrend, low volatility, and minimal losses. At a score below 10, a crisis situation exists requiring defensive positioning. The six regime categories enable a differentiated allocation strategy that not only distinguishes binarily between bullish and bearish but allows gradual gradations.
4. Component 2: Risk-Based Allocation
4.1 Volatility Targeting as Risk Management Approach
The concept of volatility targeting is based on the idea that investors should maximize not returns but risk-adjusted returns. Sharpe (1966, 1994) defined with the Sharpe Ratio the fundamental concept of return per unit of risk, measured as volatility. Volatility targeting goes a step further and adjusts portfolio allocation to achieve constant target volatility. This means that in times of low market volatility, equity allocation is increased, and in times of high volatility, it is reduced.
Moreira and Muir (2017) showed in "Volatility-Managed Portfolios" that strategies that adjust their exposure based on volatility forecasts achieve higher Sharpe Ratios than passive buy-and-hold strategies. DEAM implements this principle by defining a target portfolio volatility (default 12% annualized) and adjusting equity allocation to achieve it. The mathematical foundation is simple: if market volatility is 20% and target volatility is 12%, equity allocation should be 60% (12/20 = 0.6), with the remaining 40% held in cash with zero volatility.
4.2 Market Volatility Calculation
Estimating current market volatility is central to the risk-based allocation approach. The model uses several volatility estimators in parallel and selects the higher value between traditional close-to-close volatility and the Parkinson estimator. This conservative choice ensures the model does not underestimate true volatility, which could lead to excessive risk exposure.
Traditional volatility calculation uses logarithmic returns, as these have mathematically advantageous properties (additive linkage over multiple periods). The logarithmic return is calculated as ln(P_t / P_{t-1}), where P_t is the price at time t. The standard deviation of these returns over a rolling 20-trading-day window is then multiplied by √252 to obtain annualized volatility. This annualization is based on the assumption of independently identically distributed returns, which is an idealization but widely accepted in practice.
The Parkinson estimator uses additional information from the trading range (High minus Low) of each day. The formula is: σ_P = (1/√(4ln2)) × √(1/n × Σln²(H_i/L_i)) × √252, where H_i and L_i are high and low prices. Under ideal conditions, this estimator is approximately five times more efficient than the close-to-close estimator (Parkinson, 1980), as it uses more information per observation.
4.3 Drawdown-Based Position Size Adjustment
In addition to volatility targeting, the model implements drawdown-based risk control. The logic is that deep market declines often signal further losses and therefore justify exposure reduction. This behavior corresponds with the concept of path-dependent risk tolerance: investors who have already suffered losses are typically less willing to take additional risk (Kahneman and Tversky, 1979).
The model defines a maximum portfolio drawdown as a target parameter (default 15%). Since portfolio volatility and portfolio drawdown are proportional to equity allocation (assuming cash has neither volatility nor drawdown), allocation-based control is possible. For example, if the market exhibits a 25% drawdown and target portfolio drawdown is 15%, equity allocation should be at most 60% (15/25).
4.4 Dynamic Risk Adjustment
An advanced feature of DEAM is dynamic adjustment of risk-based allocation through a feedback mechanism. The model continuously estimates what actual portfolio volatility and portfolio drawdown would result at the current allocation. If risk utilization (ratio of actual to target risk) exceeds 1.0, allocation is reduced by an adjustment factor that grows exponentially with overutilization. This implements a form of dynamic feedback that avoids overexposure.
Mathematically, a risk adjustment factor r_adjust is calculated: if risk utilization u > 1, then r_adjust = exp(-0.5 × (u - 1)). This exponential function ensures that moderate overutilization is gently corrected, while strong overutilization triggers drastic reductions. The factor 0.5 in the exponent was empirically calibrated to achieve a balanced ratio between sensitivity and stability.
5. Component 3: Valuation Analysis
5.1 Theoretical Foundations of Fundamental Valuation
DEAM's valuation component is based on the fundamental premise that the intrinsic value of a security is determined by its future cash flows and that deviations between market price and intrinsic value are eventually corrected. Graham and Dodd (1934) established in "Security Analysis" the basic principles of fundamental analysis that remain relevant today. Translated into modern portfolio context, this means that markets with high valuation metrics (high price-earnings ratios) should have lower expected returns than cheaply valued markets.
Campbell and Shiller (1988) developed the Cyclically Adjusted P/E Ratio (CAPE), which smooths earnings over a full business cycle. Their empirical analysis showed that this ratio has significant predictive power for 10-year returns. Asness, Moskowitz, and Pedersen (2013) demonstrated in "Value and Momentum Everywhere" that value effects exist not only in individual stocks but also in asset classes and markets.
5.2 Equity Risk Premium as Central Valuation Metric
The Equity Risk Premium (ERP) is defined as the expected excess return of stocks over risk-free government bonds. It is the theoretical heart of valuation analysis, as it represents the compensation investors demand for bearing equity risk. Damodaran (2012) discusses in "Equity Risk Premiums: Determinants, Estimation and Implications" various methods for ERP estimation.
DEAM calculates ERP not through a single method but combines four complementary approaches with different weights. This multi-method strategy increases estimation robustness and avoids dependence on single, potentially erroneous inputs.
The first method (35% weight) uses earnings yield, calculated as 1/P/E or directly from operating earnings data, and subtracts the 10-year Treasury yield. This method follows Fed Model logic (Yardeni, 2003), although this model has theoretical weaknesses as it does not consistently treat inflation (Asness, 2003).
The second method (30% weight) extends earnings yield by share buyback yield. Share buybacks are a form of capital return to shareholders and increase value per share. Boudoukh et al. (2007) showed in "The Total Shareholder Yield" that the sum of dividend yield and buyback yield is a better predictor of future returns than dividend yield alone.
The third method (20% weight) implements the Gordon Growth Model (Gordon, 1962), which models stock value as the sum of discounted future dividends. Under constant growth g assumption: Expected Return = Dividend Yield + g. The model estimates sustainable growth as g = ROE × (1 - Payout Ratio), where ROE is return on equity and payout ratio is the ratio of dividends to earnings. This formula follows from equity theory: unretained earnings are reinvested at ROE and generate additional earnings growth.
The fourth method (15% weight) combines total shareholder yield (Dividend + Buybacks) with implied growth derived from revenue growth. This method considers that companies with strong revenue growth should generate higher future earnings, even if current valuations do not yet fully reflect this.
The final ERP is the weighted average of these four methods. A high ERP (above 4%) signals attractive valuations and increases the valuation score to 95 out of 100 possible points. A negative ERP, where stocks have lower expected returns than bonds, results in a minimal score of 10.
5.3 Quality Adjustments to Valuation
Valuation metrics alone can be misleading if not interpreted in the context of company quality. A company with a low P/E may be cheap or fundamentally problematic. The model therefore implements quality adjustments based on growth, profitability, and capital structure.
Revenue growth above 10% annually adds 10 points to the valuation score, moderate growth above 5% adds 5 points. This adjustment reflects that growth has independent value (Modigliani and Miller, 1961, extended by later growth theory). Net margin above 15% signals pricing power and operational efficiency and increases the score by 5 points, while low margins below 8% indicate competitive pressure and subtract 5 points.
Return on equity (ROE) above 20% characterizes outstanding capital efficiency and increases the score by 5 points. Piotroski (2000) showed in "Value Investing: The Use of Historical Financial Statement Information" that fundamental quality signals such as high ROE can improve the performance of value strategies.
Capital structure is evaluated through the debt-to-equity ratio. A conservative ratio below 1.0 multiplies the valuation score by 1.2, while high leverage above 2.0 applies a multiplier of 0.8. This adjustment reflects that high debt constrains financial flexibility and can become problematic in crisis times (Korteweg, 2010).
6. Component 4: Sentiment Analysis
6.1 The Role of Sentiment in Financial Markets
Investor sentiment, defined as the collective psychological attitude of market participants, influences asset prices independently of fundamental data. Baker and Wurgler (2006, 2007) developed a sentiment index and showed that periods of high sentiment are followed by overvaluations that later correct. This insight justifies integrating a sentiment component into allocation decisions.
Sentiment is difficult to measure directly but can be proxied through market indicators. The VIX is the most widely used sentiment indicator, as it aggregates implied volatility from option prices. High VIX values reflect elevated uncertainty and risk aversion, while low values signal market comfort. Whaley (2009) refers to the VIX as the "Investor Fear Gauge" and documents its role as a contrarian indicator: extremely high values typically occur at market bottoms, while low values occur at tops.
6.2 VIX-Based Sentiment Assessment
DEAM uses statistical normalization of the VIX by calculating the Z-score: z = (VIX_current - VIX_average) / VIX_standard_deviation. The Z-score indicates how many standard deviations the current VIX is from the historical average. This approach is more robust than absolute thresholds, as it adapts to the average volatility level, which can vary over longer periods.
A Z-score below -1.5 (VIX is 1.5 standard deviations below average) signals exceptionally low risk perception and adds 40 points to the sentiment score. This may seem counterintuitive—shouldn't low fear be bullish? However, the logic follows the contrarian principle: when no one is afraid, everyone is already invested, and there is limited further upside potential (Zweig, 1973). Conversely, a Z-score above 1.5 (extreme fear) adds -40 points, reflecting market panic but simultaneously suggesting potential buying opportunities.
6.3 VIX Term Structure as Sentiment Signal
The VIX term structure provides additional sentiment information. Normally, the VIX trades in contango, meaning longer-term VIX futures have higher prices than short-term. This reflects that short-term volatility is currently known, while long-term volatility is more uncertain and carries a risk premium. The model compares the VIX with VIX9D (9-day volatility) and identifies backwardation (VIX > 1.05 × VIX9D) and steep backwardation (VIX > 1.15 × VIX9D).
Backwardation occurs when short-term implied volatility is higher than longer-term, which typically happens during market stress. Investors anticipate immediate turbulence but expect calming. Psychologically, this reflects acute fear. The model subtracts 15 points for backwardation and 30 for steep backwardation, as these constellations signal elevated risk. Simon and Wiggins (2001) analyzed the VIX futures curve and showed that backwardation is associated with market declines.
6.4 Safe-Haven Flows
During crisis times, investors flee from risky assets into safe havens: gold, US dollar, and Japanese yen. This "flight to quality" is a sentiment signal. The model calculates the performance of these assets relative to stocks over the last 20 trading days. When gold or the dollar strongly rise while stocks fall, this indicates elevated risk aversion.
The safe-haven component is calculated as the difference between safe-haven performance and stock performance. Positive values (safe havens outperform) subtract up to 20 points from the sentiment score, negative values (stocks outperform) add up to 10 points. The asymmetric treatment (larger deduction for risk-off than bonus for risk-on) reflects that risk-off movements are typically sharper and more informative than risk-on phases.
Baur and Lucey (2010) examined safe-haven properties of gold and showed that gold indeed exhibits negative correlation with stocks during extreme market movements, confirming its role as crisis protection.
7. Component 5: Macroeconomic Analysis
7.1 The Yield Curve as Economic Indicator
The yield curve, represented as yields of government bonds of various maturities, contains aggregated expectations about future interest rates, inflation, and economic growth. The slope of the yield curve has remarkable predictive power for recessions. Estrella and Mishkin (1998) showed that an inverted yield curve (short-term rates higher than long-term) predicts recessions with high reliability. This is because inverted curves reflect restrictive monetary policy: the central bank raises short-term rates to combat inflation, dampening economic activity.
DEAM calculates two spread measures: the 2-year-minus-10-year spread and the 3-month-minus-10-year spread. A steep, positive curve (spreads above 1.5% and 2% respectively) signals healthy growth expectations and generates the maximum yield curve score of 40 points. A flat curve (spreads near zero) reduces the score to 20 points. An inverted curve (negative spreads) is particularly alarming and results in only 10 points.
The choice of two different spreads increases analysis robustness. The 2-10 spread is most established in academic literature, while the 3M-10Y spread is often considered more sensitive, as the 3-month rate directly reflects current monetary policy (Ang, Piazzesi, and Wei, 2006).
7.2 Credit Conditions and Spreads
Credit spreads—the yield difference between risky corporate bonds and safe government bonds—reflect risk perception in the credit market. Gilchrist and Zakrajšek (2012) constructed an "Excess Bond Premium" that measures the component of credit spreads not explained by fundamentals and showed this is a predictor of future economic activity and stock returns.
The model approximates credit spread by comparing the yield of high-yield bond ETFs (HYG) with investment-grade bond ETFs (LQD). A narrow spread below 200 basis points signals healthy credit conditions and risk appetite, contributing 30 points to the macro score. Very wide spreads above 1000 basis points (as during the 2008 financial crisis) signal credit crunch and generate zero points.
Additionally, the model evaluates whether "flight to quality" is occurring, identified through strong performance of Treasury bonds (TLT) with simultaneous weakness in high-yield bonds. This constellation indicates elevated risk aversion and reduces the credit conditions score.
7.3 Financial Stability at Corporate Level
While the yield curve and credit spreads reflect macroeconomic conditions, financial stability evaluates the health of companies themselves. The model uses the aggregated debt-to-equity ratio and return on equity of the S&P 500 as proxies for corporate health.
A low leverage level below 0.5 combined with high ROE above 15% signals robust corporate balance sheets and generates 20 points. This combination is particularly valuable as it represents both defensive strength (low debt means crisis resistance) and offensive strength (high ROE means earnings power). High leverage above 1.5 generates only 5 points, as it implies vulnerability to interest rate increases and recessions.
Korteweg (2010) showed in "The Net Benefits to Leverage" that optimal debt maximizes firm value, but excessive debt increases distress costs. At the aggregated market level, high debt indicates fragilities that can become problematic during stress phases.
8. Component 6: Crisis Detection
8.1 The Need for Systematic Crisis Detection
Financial crises are rare but extremely impactful events that suspend normal statistical relationships. During normal market volatility, diversified portfolios and traditional risk management approaches function, but during systemic crises, seemingly independent assets suddenly correlate strongly, and losses exceed historical expectations (Longin and Solnik, 2001). This justifies a separate crisis detection mechanism that operates independently of regular allocation components.
Reinhart and Rogoff (2009) documented in "This Time Is Different: Eight Centuries of Financial Folly" recurring patterns in financial crises: extreme volatility, massive drawdowns, credit market dysfunction, and asset price collapse. DEAM operationalizes these patterns into quantifiable crisis indicators.
8.2 Multi-Signal Crisis Identification
The model uses a counter-based approach where various stress signals are identified and aggregated. This methodology is more robust than relying on a single indicator, as true crises typically occur simultaneously across multiple dimensions. A single signal may be a false alarm, but the simultaneous presence of multiple signals increases confidence.
The first indicator is a VIX above the crisis threshold (default 40), adding one point. A VIX above 60 (as in 2008 and March 2020) adds two additional points, as such extreme values are historically very rare. This tiered approach captures the intensity of volatility.
The second indicator is market drawdown. A drawdown above 15% adds one point, as corrections of this magnitude can be potential harbingers of larger crises. A drawdown above 25% adds another point, as historical bear markets typically encompass 25-40% drawdowns.
The third indicator is credit market spreads above 500 basis points, adding one point. Such wide spreads occur only during significant credit market disruptions, as in 2008 during the Lehman crisis.
The fourth indicator identifies simultaneous losses in stocks and bonds. Normally, Treasury bonds act as a hedge against equity risk (negative correlation), but when both fall simultaneously, this indicates systemic liquidity problems or inflation/stagflation fears. The model checks whether both SPY and TLT have fallen more than 10% and 5% respectively over 5 trading days, adding two points.
The fifth indicator is a volume spike combined with negative returns. Extreme trading volumes (above twice the 20-day average) with falling prices signal panic selling. This adds one point.
A crisis situation is diagnosed when at least 3 indicators trigger, a severe crisis at 5 or more indicators. These thresholds were calibrated through historical backtesting to identify true crises (2008, 2020) without generating excessive false alarms.
8.3 Crisis-Based Allocation Override
When a crisis is detected, the system overrides the normal allocation recommendation and caps equity allocation at maximum 25%. In a severe crisis, the cap is set at 10%. This drastic defensive posture follows the empirical observation that crises typically require time to develop and that early reduction can avoid substantial losses (Faber, 2007).
This override logic implements a "safety first" principle: in situations of existential danger to the portfolio, capital preservation becomes the top priority. Roy (1952) formalized this approach in "Safety First and the Holding of Assets," arguing that investors should primarily minimize ruin probability.
9. Integration and Final Allocation Calculation
9.1 Component Weighting
The final allocation recommendation emerges through weighted aggregation of the five components. The standard weighting is: Market Regime 35%, Risk Management 25%, Valuation 20%, Sentiment 15%, Macro 5%. These weights reflect both theoretical considerations and empirical backtesting results.
The highest weighting of market regime is based on evidence that trend-following and momentum strategies have delivered robust results across various asset classes and time periods (Moskowitz, Ooi, and Pedersen, 2012). Current market momentum is highly informative for the near future, although it provides no information about long-term expectations.
The substantial weighting of risk management (25%) follows from the central importance of risk control. Wealth preservation is the foundation of long-term wealth creation, and systematic risk management is demonstrably value-creating (Moreira and Muir, 2017).
The valuation component receives 20% weight, based on the long-term mean reversion of valuation metrics. While valuation has limited short-term predictive power (bull and bear markets can begin at any valuation), the long-term relationship between valuation and returns is robustly documented (Campbell and Shiller, 1988).
Sentiment (15%) and Macro (5%) receive lower weights, as these factors are subtler and harder to measure. Sentiment is valuable as a contrarian indicator at extremes but less informative in normal ranges. Macro variables such as the yield curve have strong predictive power for recessions, but the transmission from recessions to stock market performance is complex and temporally variable.
9.2 Model Type Adjustments
DEAM allows users to choose between four model types: Conservative, Balanced, Aggressive, and Adaptive. This choice modifies the final allocation through additive adjustments.
Conservative mode subtracts 10 percentage points from allocation, resulting in consistently more cautious positioning. This is suitable for risk-averse investors or those with limited investment horizons. Aggressive mode adds 10 percentage points, suitable for risk-tolerant investors with long horizons.
Adaptive mode implements procyclical adjustment based on short-term momentum: if the market has risen more than 5% in the last 20 days, 5 percentage points are added; if it has declined more than 5%, 5 points are subtracted. This logic follows the observation that short-term momentum persists (Jegadeesh and Titman, 1993), but the moderate size of adjustment avoids excessive timing bets.
Balanced mode makes no adjustment and uses raw model output. This neutral setting is suitable for investors who wish to trust model recommendations unchanged.
9.3 Smoothing and Stability
The allocation resulting from aggregation undergoes final smoothing through a simple moving average over 3 periods. This smoothing is crucial for model practicality, as it reduces frequent trading and thus transaction costs. Without smoothing, the model could fluctuate between adjacent allocations with every small input change.
The choice of 3 periods as smoothing window is a compromise between responsiveness and stability. Longer smoothing would excessively delay signals and impede response to true regime changes. Shorter or no smoothing would allow too much noise. Empirical tests showed that 3-period smoothing offers an optimal ratio between these goals.
10. Visualization and Interpretation
10.1 Main Output: Equity Allocation
DEAM's primary output is a time series from 0 to 100 representing the recommended percentage allocation to equities. This representation is intuitive: 100% means full investment in stocks (specifically: an S&P 500 ETF), 0% means complete cash position, and intermediate values correspond to mixed portfolios. A value of 60% means, for example: invest 60% of wealth in SPY, hold 40% in money market instruments or cash.
The time series is color-coded to enable quick visual interpretation. Green shades represent high allocations (above 80%, bullish), red shades low allocations (below 20%, bearish), and neutral colors middle allocations. The chart background is dynamically colored based on the signal, enhancing readability in different market phases.
10.2 Dashboard Metrics
A tabular dashboard presents key metrics compactly. This includes current allocation, cash allocation (complement), an aggregated signal (BULLISH/NEUTRAL/BEARISH), current market regime, VIX level, market drawdown, and crisis status.
Additionally, fundamental metrics are displayed: P/E Ratio, Equity Risk Premium, Return on Equity, Debt-to-Equity Ratio, and Total Shareholder Yield. This transparency allows users to understand model decisions and form their own assessments.
Component scores (Regime, Risk, Valuation, Sentiment, Macro) are also displayed, each normalized on a 0-100 scale. This shows which factors primarily drive the current recommendation. If, for example, the Risk score is very low (20) while other scores are moderate (50-60), this indicates that risk management considerations are pulling allocation down.
10.3 Component Breakdown (Optional)
Advanced users can display individual components as separate lines in the chart. This enables analysis of component dynamics: do all components move synchronously, or are there divergences? Divergences can be particularly informative. If, for example, the market regime is bullish (high score) but the valuation component is very negative, this signals an overbought market not fundamentally supported—a classic "bubble warning."
This feature is disabled by default to keep the chart clean but can be activated for deeper analysis.
10.4 Confidence Bands
The model optionally displays uncertainty bands around the main allocation line. These are calculated as ±1 standard deviation of allocation over a rolling 20-period window. Wide bands indicate high volatility of model recommendations, suggesting uncertain market conditions. Narrow bands indicate stable recommendations.
This visualization implements a concept of epistemic uncertainty—uncertainty about the model estimate itself, not just market volatility. In phases where various indicators send conflicting signals, the allocation recommendation becomes more volatile, manifesting in wider bands. Users can understand this as a warning to act more cautiously or consult alternative information sources.
11. Alert System
11.1 Allocation Alerts
DEAM implements an alert system that notifies users of significant events. Allocation alerts trigger when smoothed allocation crosses certain thresholds. An alert is generated when allocation reaches 80% (from below), signaling strong bullish conditions. Another alert triggers when allocation falls to 20%, indicating defensive positioning.
These thresholds are not arbitrary but correspond with boundaries between model regimes. An allocation of 80% roughly corresponds to a clear bull market regime, while 20% corresponds to a bear market regime. Alerts at these points are therefore informative about fundamental regime shifts.
11.2 Crisis Alerts
Separate alerts trigger upon detection of crisis and severe crisis. These alerts have highest priority as they signal large risks. A crisis alert should prompt investors to review their portfolio and potentially take defensive measures beyond the automatic model recommendation (e.g., hedging through put options, rebalancing to more defensive sectors).
11.3 Regime Change Alerts
An alert triggers upon change of market regime (e.g., from Neutral to Correction, or from Bull Market to Strong Bull). Regime changes are highly informative events that typically entail substantial allocation changes. These alerts enable investors to proactively respond to changes in market dynamics.
11.4 Risk Breach Alerts
A specialized alert triggers when actual portfolio risk utilization exceeds target parameters by 20%. This is a warning signal that the risk management system is reaching its limits, possibly because market volatility is rising faster than allocation can be reduced. In such situations, investors should consider manual interventions.
12. Practical Application and Limitations
12.1 Portfolio Implementation
DEAM generates a recommendation for allocation between equities (S&P 500) and cash. Implementation by an investor can take various forms. The most direct method is using an S&P 500 ETF (e.g., SPY, VOO) for equity allocation and a money market fund or savings account for cash allocation.
A rebalancing strategy is required to synchronize actual allocation with model recommendation. Two approaches are possible: (1) rule-based rebalancing at every 10% deviation between actual and target, or (2) time-based monthly rebalancing. Both have trade-offs between responsiveness and transaction costs. Empirical evidence (Jaconetti, Kinniry, and Zilbering, 2010) suggests rebalancing frequency has moderate impact on performance, and investors should optimize based on their transaction costs.
12.2 Adaptation to Individual Preferences
The model offers numerous adjustment parameters. Component weights can be modified if investors place more or less belief in certain factors. A fundamentally-oriented investor might increase valuation weight, while a technical trader might increase regime weight.
Risk target parameters (target volatility, max drawdown) should be adapted to individual risk tolerance. Younger investors with long investment horizons can choose higher target volatility (15-18%), while retirees may prefer lower volatility (8-10%). This adjustment systematically shifts average equity allocation.
Crisis thresholds can be adjusted based on preference for sensitivity versus specificity of crisis detection. Lower thresholds (e.g., VIX > 35 instead of 40) increase sensitivity (more crises are detected) but reduce specificity (more false alarms). Higher thresholds have the reverse effect.
12.3 Limitations and Disclaimers
DEAM is based on historical relationships between indicators and market performance. There is no guarantee these relationships will persist in the future. Structural changes in markets (e.g., through regulation, technology, or central bank policy) can break established patterns. This is the fundamental problem of induction in financial science (Taleb, 2007).
The model is optimized for US equities (S&P 500). Application to other markets (international stocks, bonds, commodities) would require recalibration. The indicators and thresholds are specific to the statistical properties of the US equity market.
The model cannot eliminate losses. Even with perfect crisis prediction, an investor following the model would lose money in bear markets—just less than a buy-and-hold investor. The goal is risk-adjusted performance improvement, not risk elimination.
Transaction costs are not modeled. In practice, spreads, commissions, and taxes reduce net returns. Frequent trading can cause substantial costs. Model smoothing helps minimize this, but users should consider their specific cost situation.
The model reacts to information; it does not anticipate it. During sudden shocks (e.g., 9/11, COVID-19 lockdowns), the model can only react after price movements, not before. This limitation is inherent to all reactive systems.
12.4 Relationship to Other Strategies
DEAM is a tactical asset allocation approach and should be viewed as a complement, not replacement, for strategic asset allocation. Brinson, Hood, and Beebower (1986) showed in their influential study "Determinants of Portfolio Performance" that strategic asset allocation (long-term policy allocation) explains the majority of portfolio performance, but this leaves room for tactical adjustments based on market timing.
The model can be combined with value and momentum strategies at the individual stock level. While DEAM controls overall market exposure, within-equity decisions can be optimized through stock-picking models. This separation between strategic (market exposure) and tactical (stock selection) levels follows classical portfolio theory.
The model does not replace diversification across asset classes. A complete portfolio should also include bonds, international stocks, real estate, and alternative investments. DEAM addresses only the US equity allocation decision within a broader portfolio.
13. Scientific Foundation and Evaluation
13.1 Theoretical Consistency
DEAM's components are based on established financial theory and empirical evidence. The market regime component follows from regime-switching models (Hamilton, 1989) and trend-following literature. The risk management component implements volatility targeting (Moreira and Muir, 2017) and modern portfolio theory (Markowitz, 1952). The valuation component is based on discounted cash flow theory and empirical value research (Campbell and Shiller, 1988; Fama and French, 1992). The sentiment component integrates behavioral finance (Baker and Wurgler, 2006). The macro component uses established business cycle indicators (Estrella and Mishkin, 1998).
This theoretical grounding distinguishes DEAM from purely data-mining-based approaches that identify patterns without causal theory. Theory-guided models have greater probability of functioning out-of-sample, as they are based on fundamental mechanisms, not random correlations (Lo and MacKinlay, 1990).
13.2 Empirical Validation
While this document does not present detailed backtest analysis, it should be noted that rigorous validation of a tactical asset allocation model should include several elements:
In-sample testing establishes whether the model functions at all in the data on which it was calibrated. Out-of-sample testing is crucial: the model should be tested in time periods not used for development. Walk-forward analysis, where the model is successively trained on rolling windows and tested in the next window, approximates real implementation.
Performance metrics should be risk-adjusted. Pure return consideration is misleading, as higher returns often only compensate for higher risk. Sharpe Ratio, Sortino Ratio, Calmar Ratio, and Maximum Drawdown are relevant metrics. Comparison with benchmarks (Buy-and-Hold S&P 500, 60/40 Stock/Bond portfolio) contextualizes performance.
Robustness checks test sensitivity to parameter variation. If the model only functions at specific parameter settings, this indicates overfitting. Robust models show consistent performance over a range of plausible parameters.
13.3 Comparison with Existing Literature
DEAM fits into the broader literature on tactical asset allocation. Faber (2007) presented a simple momentum-based timing system that goes long when the market is above its 10-month average, otherwise cash. This simple system avoided large drawdowns in bear markets. DEAM can be understood as a sophistication of this approach that integrates multiple information sources.
Ilmanen (2011) discusses various timing factors in "Expected Returns" and argues for multi-factor approaches. DEAM operationalizes this philosophy. Asness, Moskowitz, and Pedersen (2013) showed that value and momentum effects work across asset classes, justifying cross-asset application of regime and valuation signals.
Ang (2014) emphasizes in "Asset Management: A Systematic Approach to Factor Investing" the importance of systematic, rule-based approaches over discretionary decisions. DEAM is fully systematic and eliminates emotional biases that plague individual investors (overconfidence, hindsight bias, loss aversion).
References
Ang, A. (2014) *Asset Management: A Systematic Approach to Factor Investing*. Oxford: Oxford University Press.
Ang, A., Piazzesi, M. and Wei, M. (2006) 'What does the yield curve tell us about GDP growth?', *Journal of Econometrics*, 131(1-2), pp. 359-403.
Asness, C.S. (2003) 'Fight the Fed Model', *The Journal of Portfolio Management*, 30(1), pp. 11-24.
Asness, C.S., Moskowitz, T.J. and Pedersen, L.H. (2013) 'Value and Momentum Everywhere', *The Journal of Finance*, 68(3), pp. 929-985.
Baker, M. and Wurgler, J. (2006) 'Investor Sentiment and the Cross-Section of Stock Returns', *The Journal of Finance*, 61(4), pp. 1645-1680.
Baker, M. and Wurgler, J. (2007) 'Investor Sentiment in the Stock Market', *Journal of Economic Perspectives*, 21(2), pp. 129-152.
Baur, D.G. and Lucey, B.M. (2010) 'Is Gold a Hedge or a Safe Haven? An Analysis of Stocks, Bonds and Gold', *Financial Review*, 45(2), pp. 217-229.
Bollerslev, T. (1986) 'Generalized Autoregressive Conditional Heteroskedasticity', *Journal of Econometrics*, 31(3), pp. 307-327.
Boudoukh, J., Michaely, R., Richardson, M. and Roberts, M.R. (2007) 'On the Importance of Measuring Payout Yield: Implications for Empirical Asset Pricing', *The Journal of Finance*, 62(2), pp. 877-915.
Brinson, G.P., Hood, L.R. and Beebower, G.L. (1986) 'Determinants of Portfolio Performance', *Financial Analysts Journal*, 42(4), pp. 39-44.
Brock, W., Lakonishok, J. and LeBaron, B. (1992) 'Simple Technical Trading Rules and the Stochastic Properties of Stock Returns', *The Journal of Finance*, 47(5), pp. 1731-1764.
Calmar, T.W. (1991) 'The Calmar Ratio', *Futures*, October issue.
Campbell, J.Y. and Shiller, R.J. (1988) 'The Dividend-Price Ratio and Expectations of Future Dividends and Discount Factors', *Review of Financial Studies*, 1(3), pp. 195-228.
Cochrane, J.H. (2011) 'Presidential Address: Discount Rates', *The Journal of Finance*, 66(4), pp. 1047-1108.
Damodaran, A. (2012) *Equity Risk Premiums: Determinants, Estimation and Implications*. Working Paper, Stern School of Business.
Engle, R.F. (1982) 'Autoregressive Conditional Heteroskedasticity with Estimates of the Variance of United Kingdom Inflation', *Econometrica*, 50(4), pp. 987-1007.
Estrella, A. and Hardouvelis, G.A. (1991) 'The Term Structure as a Predictor of Real Economic Activity', *The Journal of Finance*, 46(2), pp. 555-576.
Estrella, A. and Mishkin, F.S. (1998) 'Predicting U.S. Recessions: Financial Variables as Leading Indicators', *Review of Economics and Statistics*, 80(1), pp. 45-61.
Faber, M.T. (2007) 'A Quantitative Approach to Tactical Asset Allocation', *The Journal of Wealth Management*, 9(4), pp. 69-79.
Fama, E.F. and French, K.R. (1989) 'Business Conditions and Expected Returns on Stocks and Bonds', *Journal of Financial Economics*, 25(1), pp. 23-49.
Fama, E.F. and French, K.R. (1992) 'The Cross-Section of Expected Stock Returns', *The Journal of Finance*, 47(2), pp. 427-465.
Garman, M.B. and Klass, M.J. (1980) 'On the Estimation of Security Price Volatilities from Historical Data', *Journal of Business*, 53(1), pp. 67-78.
Gilchrist, S. and Zakrajšek, E. (2012) 'Credit Spreads and Business Cycle Fluctuations', *American Economic Review*, 102(4), pp. 1692-1720.
Gordon, M.J. (1962) *The Investment, Financing, and Valuation of the Corporation*. Homewood: Irwin.
Graham, B. and Dodd, D.L. (1934) *Security Analysis*. New York: McGraw-Hill.
Hamilton, J.D. (1989) 'A New Approach to the Economic Analysis of Nonstationary Time Series and the Business Cycle', *Econometrica*, 57(2), pp. 357-384.
Ilmanen, A. (2011) *Expected Returns: An Investor's Guide to Harvesting Market Rewards*. Chichester: Wiley.
Jaconetti, C.M., Kinniry, F.M. and Zilbering, Y. (2010) 'Best Practices for Portfolio Rebalancing', *Vanguard Research Paper*.
Jegadeesh, N. and Titman, S. (1993) 'Returns to Buying Winners and Selling Losers: Implications for Stock Market Efficiency', *The Journal of Finance*, 48(1), pp. 65-91.
Kahneman, D. and Tversky, A. (1979) 'Prospect Theory: An Analysis of Decision under Risk', *Econometrica*, 47(2), pp. 263-292.
Korteweg, A. (2010) 'The Net Benefits to Leverage', *The Journal of Finance*, 65(6), pp. 2137-2170.
Lo, A.W. and MacKinlay, A.C. (1990) 'Data-Snooping Biases in Tests of Financial Asset Pricing Models', *Review of Financial Studies*, 3(3), pp. 431-467.
Longin, F. and Solnik, B. (2001) 'Extreme Correlation of International Equity Markets', *The Journal of Finance*, 56(2), pp. 649-676.
Mandelbrot, B. (1963) 'The Variation of Certain Speculative Prices', *The Journal of Business*, 36(4), pp. 394-419.
Markowitz, H. (1952) 'Portfolio Selection', *The Journal of Finance*, 7(1), pp. 77-91.
Modigliani, F. and Miller, M.H. (1961) 'Dividend Policy, Growth, and the Valuation of Shares', *The Journal of Business*, 34(4), pp. 411-433.
Moreira, A. and Muir, T. (2017) 'Volatility-Managed Portfolios', *The Journal of Finance*, 72(4), pp. 1611-1644.
Moskowitz, T.J., Ooi, Y.H. and Pedersen, L.H. (2012) 'Time Series Momentum', *Journal of Financial Economics*, 104(2), pp. 228-250.
Parkinson, M. (1980) 'The Extreme Value Method for Estimating the Variance of the Rate of Return', *Journal of Business*, 53(1), pp. 61-65.
Piotroski, J.D. (2000) 'Value Investing: The Use of Historical Financial Statement Information to Separate Winners from Losers', *Journal of Accounting Research*, 38, pp. 1-41.
Reinhart, C.M. and Rogoff, K.S. (2009) *This Time Is Different: Eight Centuries of Financial Folly*. Princeton: Princeton University Press.
Ross, S.A. (1976) 'The Arbitrage Theory of Capital Asset Pricing', *Journal of Economic Theory*, 13(3), pp. 341-360.
Roy, A.D. (1952) 'Safety First and the Holding of Assets', *Econometrica*, 20(3), pp. 431-449.
Schwert, G.W. (1989) 'Why Does Stock Market Volatility Change Over Time?', *The Journal of Finance*, 44(5), pp. 1115-1153.
Sharpe, W.F. (1966) 'Mutual Fund Performance', *The Journal of Business*, 39(1), pp. 119-138.
Sharpe, W.F. (1994) 'The Sharpe Ratio', *The Journal of Portfolio Management*, 21(1), pp. 49-58.
Simon, D.P. and Wiggins, R.A. (2001) 'S&P Futures Returns and Contrary Sentiment Indicators', *Journal of Futures Markets*, 21(5), pp. 447-462.
Taleb, N.N. (2007) *The Black Swan: The Impact of the Highly Improbable*. New York: Random House.
Whaley, R.E. (2000) 'The Investor Fear Gauge', *The Journal of Portfolio Management*, 26(3), pp. 12-17.
Whaley, R.E. (2009) 'Understanding the VIX', *The Journal of Portfolio Management*, 35(3), pp. 98-105.
Yardeni, E. (2003) 'Stock Valuation Models', *Topical Study*, 51, Yardeni Research.
Zweig, M.E. (1973) 'An Investor Expectations Stock Price Predictive Model Using Closed-End Fund Premiums', *The Journal of Finance*, 28(1), pp. 67-78.
PSP [ANAY]PSP and TPD with ES NQ and YM. When NQ closoes up and ES closes down that marked uot a TPD
RSI: chart overlay
This indicator maps RSI thresholds directly onto price. Since the EMA of price aligns with RSI’s 50-line, it draws a volatility-based band around the EMA to reveal levels such as 70 and 30.
By converting RSI values into visible price bands, the overlay lets you see exactly where price would have to move to hit traditional RSI boundaries. These bands adapt in real time to both price movement and market volatility, keeping the classic RSI logic intact while presenting it in the context of price action. This approach helps traders interpret RSI signals without leaving the main chart window.
The calculation uses the same components as the RSI: alternative derivation script: Wilder’s EMA for smoothing, a volatility-based unit for scaling, and a normalization factor. The result is a dynamic band structure on the chart, representing RSI boundary levels in actual price terms.
Key components and calculation breakdown:
Wilder’s EMA
Used as the anchor point for measuring price position.
myEMA = ta.rma(close, Length)
Volatility Unit
Derived from the EMA of absolute close-to-close price changes.
CC_vol = ta.rma(math.abs(close - close ), Length)
Normalization Factor
Scales the volatility unit to align with the RSI formula’s structure.
normalization_factor = 1 / (Length - 1)
Upper and Lower Boundaries
Defines price bands corresponding to selected RSI threshold values.
up_b = myEMA + ((upper - 50) / 50) * (CC_vol / normalization_factor)
down_b = myEMA - ((50 - lower) / 50) * (CC_vol / normalization_factor)
Inputs
RSI length
Upper boundary – RSI level above 50
Lower boundary – RSI level below 50
ON/OFF toggle for 50-point line (EMA of close prices)
ON/OFF toggle for overbought/oversold coloring (use with line chart)
Interpretation:
Each band on the chart represents a chosen RSI level.
When price touches a band, RSI is at that threshold.
The distance between moving average and bands adjusts automatically with volatility and your selected RSI length.
All calculations remain fully consistent with standard RSI values.
Feedback and code suggestions are welcome, especially regarding implementation efficiency and customization.