Trim Rails Prox - ATR from SMA50 xATR from SMA50 – Trim Rails Pro V1
What it does
This tool plots “xATR rails” above (and optionally below) the Daily SMA50 using Daily ATR as the unit of distance. The classic use: identify “stretched” moves (e.g., +7×, +8× … +12× ATR above SMA50) where you systematically trim into strength. You also get optional intraday helpers (EMA10, SMA20) plus alerts when price crosses each xATR step.
Credit / lineage
Trim plan concept: inspired by the structured scaling/trim approach popularized by Steve Jacobs.
Signal engineering + automation: implemented by Master + Gemini with a share-based, stepwise trim engine and auto-reset logic.
How the rails work
The script computes xATR = (Close − Daily SMA50) / Daily ATR (all on daily data).
It then projects price rails at: SMA50 + (x × ATR) for x = 7, 8, 9, … 15 (you can restrict which ones render).
Optional short-side rails render at SMA50 − (x × ATR).
The Trim Plan (share-based & automatic)
Turn it on in Trim Plan (Steve Jacobs Style):
Original Position (shares) – how many shares you started with (e.g., 1000).
Trim % of Original at each step – percent of the original size to sell each time a level triggers (e.g., 20%).
Trim Levels (xATR above SMA50) – comma list of the rail steps to trim at (default: 7,8,9,10,11,12,15).
Auto-Reset when Daily Close < Daily SMA – when enabled, once daily close drops below the Daily SMA50, all trim flags reset so a new campaign can begin. (You can also toggle Manual Reset.)
Example (20% trims)
Original Position = 1000, Trim % = 20.
Each triggered level sells 200 shares (20% of 1000) regardless of remaining size.
After trims at 7×, 8×, 9× you will have sold 600 shares total; the Trim Panel will show Steps Done and Remain (sh) live.
On each trigger the script drops a label like:
TRIM 2/7 – Sell 200 sh @ $123.45
Tip: Change the list (e.g., 7,8,10,12,15) to widen or compress trims.
Key inputs
Start/End Trim Rail At – render only a window (e.g., 7→12) to reduce clutter.
Show 1–6× Minor Rails – quick visual context for smaller extensions.
Show Short-Side Rails (−N×) – for fading downside extensions.
Show Daily SMA50 / EMA10 / SMA20 – helper references (off by default for a cleaner view).
Alerts (prewired)
Cross 7x … Cross 12x – fires when xATR crosses each threshold upward.
Close < EMA10 / Close < SMA20 – caution exits on momentum cooling.
What’s on screen
Purple rails: major +xATR trim levels (and optional red −xATR rails).
Right-side label: next target rail, price, and distance (%).
Bottom-right Trim Panel: plan on/off, steps completed, and remaining shares.
Notes
Rails & trim logic use daily SMA/ATR for stability; they display on any timeframe.
If you change Original Position or Trim %, your future trims follow the new settings (past labels stay as history).
The plan is share-based (not cash). For option traders, treat “shares” as units and size your trims accordingly.
Happy scaling. Trim with discipline, let trends do the heavy lifting.
ابحث في النصوص البرمجية عن "200元+股票大盘"
Daily SMAs & Intraday VWAPDaily SMAs & Intraday VWAP (v1.1)
What it does
This overlay blends higher-timeframe signal lines with intraday execution clarity. It plots three Daily Simple Moving Averages (fast/mid/slow) on any chart timeframe, plus an intraday VWAP that resets each session. The result is a lightweight “map” of multi-day trend structure (the SMAs) and real-time mean/flow (VWAP) in one glance.
How to use it
Trend context: Daily SMAs give you bias and structure on any intraday chart. Price above rising SMAs = supportive trend; below falling SMAs = headwinds.
Execution & risk: VWAP acts as the intraday “fair value.” Pullbacks to VWAP in an uptrend can be quality entries; rejections from VWAP in a downtrend often mark fades.
Confluence: Highest signal quality comes when VWAP behavior aligns with the Daily SMAs (e.g., price above VWAP and above the daily 20/200 = trend-with-support).
Inputs
Daily SMAs: Fast (default 5), Mid (20), Slow (200), each with custom color/width.
VWAP (intraday only): Toggle on/off, color and thickness controls.
Notes
Daily SMAs are pulled via request.security() on the Daily timeframe and displayed on any chart.
VWAP only plots on intraday timeframes (resets at the session open).
Keep your chart clean: adjust line widths/colors to match your theme.
JW Clean Adaptive Channel//@version=5
indicator("JW Clean Adaptive Channel", overlay=true)
// Inputs
emaFast = input.int(20, "EMA Fast")
emaMid = input.int(50, "EMA Mid")
emaSlow = input.int(200, "EMA Slow")
atrLen = input.int(14, "ATR Length")
regLen = input.int(100, "Regression Window")
multATR = input.float(2.0, "Channel Width x ATR", step=0.1)
baseATR = input.int(50, "ATR Baseline")
volCap = input.float(2.5, "Max Vol Mult", step=0.1)
// EMAs
ema20 = ta.ema(close, emaFast)
ema50 = ta.ema(close, emaMid)
ema200 = ta.ema(close, emaSlow)
plot(ema20, "EMA 20", color=color.lime)
plot(ema50, "EMA 50", color=color.yellow)
plot(ema200, "EMA 200", color=color.orange, linewidth=2)
// Adaptive regression channel
atr = ta.atr(atrLen)
bAtr = ta.sma(atr, baseATR)
vRat = bAtr == 0.0 ? 1.0 : math.min(atr / bAtr, volCap)
width = atr * multATR * vRat
basis = ta.linreg(close, regLen, 0)
upper = basis + width
lower = basis - width
slope = basis - basis
chanColor = slope > 0 ? color.lime : slope < 0 ? color.red : color.gray
pU = plot(upper, "Upper", color=chanColor)
pL = plot(lower, "Lower", color=chanColor)
pB = plot(basis, "Basis", color=color.gray)
fill(pU, pL, color=color.new(chanColor, 85))
// Candle and background color
ribbonBull = ema20 > ema50 and ema50 > ema200
ribbonBear = ema20 < ema50 and ema50 < ema200
barcolor(ribbonBull ? color.lime : ribbonBear ? color.red : na)
bgcolor(slope > 0 ? color.new(color.green, 85) : slope < 0 ? color.new(color.red, 85) : na)
// MACD buy/sell markers
= ta.macd(close, 12, 26, 9)
buySig = ta.crossover(macdLine, sigLine) and slope > 0
sellSig = ta.crossunder(macdLine, sigLine) and slope < 0
plotshape(buySig, title="Buy", style=shape.triangleup, color=color.lime, location=location.belowbar, size=size.tiny)
plotshape(sellSig, title="Sell", style=shape.triangledown, color=color.red, location=location.abovebar, size=size.tiny)
// Trend strength label (single-line calls; no dangling commas)
strength = slope * vRat * 1000.0
string tText = "Sideways"
color tCol = color.gray
if strength > 2
tText := "Strong Uptrend"
tCol := color.lime
else if strength > 0.5
tText := "Weak Uptrend"
tCol := color.new(color.lime, 40)
else if strength < -2
tText := "Strong Downtrend"
tCol := color.red
else if strength < -0.5
tText := "Weak Downtrend"
tCol := color.new(color.red, 40)
var label tLbl = na
if barstate.islast
if not na(tLbl)
label.delete(tLbl)
tLbl := label.new(x=bar_index, y=high, text=tText, style=label.style_label_right, textcolor=color.white, color=tCol, size=size.normal, yloc=yloc.price)
// 10-day breakout alerts
hi10 = ta.highest(high, 10)
lo10 = ta.lowest(low, 10)
alertcondition(close > hi10, title="10-Day High Break", message="{{ticker}} 10D HIGH @ {{close}}")
alertcondition(close < lo10, title="10-Day Low Break", message="{{ticker}} 10D LOW @ {{close}}")
alertcondition(buySig, title="Buy Alert", message="BUY {{ticker}} @ {{close}}")
alertcondition(sellSig, title="Sell Alert", message="SELL {{ticker}} @ {{close}}")
Daily/Weekly EMAs on Lower TimeframesThis indicator allows traders to view Daily and Weekly EMAs (Exponential Moving Averages) directly on lower timeframes such as 1m, 5m, 15m, or 1h charts — providing a higher timeframe perspective without switching charts.
The script includes individual checkboxes for each EMA length — 5, 8, 9, 21, 50, and 200 — organized into two clear sections:
🟢 Daily EMAs
🔵 Weekly EMAs
You can selectively enable or disable any EMA to match your trading style and reduce chart clutter.
Each EMA is color-coded for clarity and consistency:
5 EMA: Green
8 EMA: Blue
9 EMA: Blue
21 EMA: Orange
50 EMA: Purple
200 EMA: Red
Weekly EMAs appear slightly transparent to distinguish them from daily ones.
This makes it easy to visualize higher timeframe trend direction, confluence zones, and dynamic support/resistance levels while trading intraday.
💡 Key Features
View Daily and Weekly EMAs on smaller timeframes.
Individual checkbox toggles for all 6 EMA lengths.
Separate sections for Daily and Weekly EMAs.
Color-coded lines for easy visual recognition.
Works seamlessly on any symbol or timeframe below Daily.
Bitcoin Cycle History Visualization [SwissAlgo]BTC 4-Year Cycle Tops & Bottoms
Historical visualization of Bitcoin's market cycles from 2010 to present, with projections based on weighted averages of past performance.
-----------------------------------------------------------------
CALCULATION METHODOLOGY
Why Bottom-to-Bottom Cycle Measurement?
This indicator defines cycles as bottom-to-bottom periods. This is one of several valid approaches to Bitcoin cycle analysis:
- Focuses on market behavior (price bottoms) rather than supply schedule events (halving-to-halving)
- Bottoms may offer good reference points for some analytical purposes
- Tops tend to be extended periods that are harder to define precisely
- Aligns with how some traditional asset cycles are measured and the timing observed in the broader "risk-on" assets category
- Halving events are shown separately (yellow backgrounds) for reference
- Neither halving-based nor bottom-based measurement is inherently superior
Different analysts prefer different cycle definitions based on their analytical goals. This approach prioritizes observable market turning points.
Cycle Date Definitions
- Approximate monthly ranges used for each event (e.g., Nov 2022 bottom = Nov 1-30, 2022)
- Cycle 1: Jul 2010 bottom → Jun 2011 top → Nov 2011 bottom
- Cycle 2: Nov 2011 bottom → Dec 2013 top → Jan 2015 bottom
- Cycle 3: Jan 2015 bottom → Dec 2017 top → Dec 2018 bottom
- Cycle 4: Dec 2018 bottom → Nov 2021 top → Nov 2022 bottom
- Future cycles will be added as new top/bottom dates become firm
Duration Calculations
- Days = timestamp difference converted to days (milliseconds ÷ 86,400,000)
- Bottom → Top: days from cycle bottom to peak
- Top → Bottom: days from peak to next cycle bottom
- Bottom → Bottom: full cycle duration (sum of above)
Price Change Calculations
- % Change = ((New Price - Old Price) / Old Price) × 100
- Example: $200 → $19,700 = ((19,700 - 200) / 200) × 100 = 9,750% gain
- Approximate historical prices used (rounded to significant figures)
Weighted Average Formula
Recent cycles weighted more heavily to reflect the evolved market structure:
- Cycle 1 (2010-2011): EXCLUDED (too early-stage, tiny market cap)
- Cycle 2 (2011-2015): Weight = 1x
- Cycle 3 (2015-2018): Weight = 3x
- Cycle 4 (2018-2022): Weight = 5x
Formula: Weighted Avg = (C2×1 + C3×3 + C4×5) / (1+3+5)
Example for Bottom→Top days: (761×1 + 1065×3 + 1066×5) / 9 = 1,032 days
Projection Method
- Projected Top Date = Nov 2022 bottom + weighted avg Bottom→Top days
- Projected Bottom Date = Nov 2022 bottom + weighted avg Bottom→Bottom days
- Current days elapsed compared to weighted averages
- Warning symbol (⚠) shown when the current cycle exceeds the historical average
Technical Implementation
- Historical cycle dates are hardcoded (not algorithmically detected)
- Dates represent approximate monthly ranges for each event
- The indicator will be updated as the Cycle 5 top and bottom dates become confirmed
- Updates require manual code maintenance - not automatic
- Users should verify they're using the latest version for current cycle data
-----------------------------------------------------------------
FEATURES
- Background highlights for historical tops (red), bottoms (green), and halving events (yellow)
- Data table showing cycle durations and price changes
- Visual cycle boundary boxes with subtle coloring
- Projected timeframes displayed as dashed vertical lines
- Toggle on/off for each visual element
- Customizable background colors
-----------------------------------------------------------------
DISPLAY SETTINGS
- Show/hide cycle tops, bottoms, halvings, data table, and cycle boxes
- Customizable background colors for each event type
- Clean, institutional-grade visual design suitable for analysis
UPDATES & MAINTENANCE
This indicator is maintained as new cycle events occur. When Cycle 5's top and bottom are confirmed with sufficient time elapsed, the code and projections will be updated accordingly. Check for the latest version periodically.
OPEN SOURCE
Code available for review, modification, and improvement. Educational transparency is prioritized.
-----------------------------------------------------------------
IMPORTANT LIMITATIONS
⚠ EXTREMELY SMALL SAMPLE SIZE
Based on only 4 complete cycles (2011-2022). In statistical analysis, this is insufficient for reliable predictions.
⚠ CHANGED MARKET STRUCTURE
Bitcoin's market has fundamentally evolved since early cycles:
- 2010-2015: Tiny market cap, retail-only, unregulated
- 2024-2025: Institutional adoption, spot ETFs, regulatory frameworks, macro correlation
The environment that created past patterns no longer exists in the same form.
⚠ NO PREDICTIVE GUARANTEE
Historical patterns can and do break. Market cycles are not laws of physics. Past performance does not guarantee future results. The next cycle may not follow historical averages.
⚠ LENGTHENING CYCLE THEORY
Some analysts believe cycles are extending over time (diminishing returns, maturing market). If true, simple averaging underestimates future cycle lengths.
⚠ SELF-FULFILLING PROPHECY RISK
The halving narrative may be partially circular - it works because people believe it works. Sufficient changes in market structure or participant behavior can invalidate the pattern.
⚠ APPROXIMATE DATA
Historical prices rounded to significant figures. Exact bottom/top dates vary by exchange. Month-long ranges are used for simplicity.
EDUCATIONAL USE ONLY
This indicator is designed for historical analysis and understanding Bitcoin's past behavior. It is NOT:
- Trading advice or financial recommendations
- A guarantee or prediction of future price movements
- Suitable as a sole basis for investment decisions
- A replacement for fundamental or technical analysis
The projections show "what if the pattern continues exactly" - not "what will happen."
Always conduct independent research, understand the risks, and consult qualified financial advisors before making investment decisions. Only invest what you can afford to lose.
Nithin's LQ Sweep//@version=6
indicator("Liquidity Sweep Zones (HTF -> LTF)", overlay=true, max_boxes_count=200, max_labels_count=500)
// ----------------- Inputs -----------------
htf_tf = input.timeframe("240", "Structure Timeframe (HTF) - example: 240=4H")
pivot_left = input.int(3, "Pivot Left", minval=1)
pivot_right = input.int(1, "Pivot Right", minval=1)
min_wick_pts = input.float(0.0, "Min sweep wick size (points)", step=0.1)
zone_width = input.int(80, "Zone width (bars to the right)", minval=1)
show_struct = input.bool(true, "Show HTF structure level")
show_labels = input.bool(true, "Show sweep labels")
alpha_fill = input.int(78, "Zone fill transparency (0-255)", minval=0, maxval=255)
// ----------------- HTF Pivot (structure) -----------------
// request HTF pivots (these return series aligned to LTF bars)
htf_pH = request.security(syminfo.tickerid, htf_tf, ta.pivothigh(high, pivot_left, pivot_right), barmerge.gaps_off, barmerge.lookahead_off)
htf_pL = request.security(syminfo.tickerid, htf_tf, ta.pivotlow(low, pivot_left, pivot_right), barmerge.gaps_off, barmerge.lookahead_off)
// Keep latest non-na HTF pivot levels
var float lastHTFHigh = na
var float lastHTFLow = na
if not na(htf_pH)
lastHTFHigh := htf_pH
if not na(htf_pL)
lastHTFLow := htf_pL
// Optional: draw HTF levels as lines
var line htfHighLine = na
var line htfLowLine = na
if show_struct
if not na(lastHTFHigh)
if not na(htfHighLine)
line.set_xy1(htfHighLine, bar_index - 500, lastHTFHigh)
line.set_xy2(htfHighLine, bar_index + 1, lastHTFHigh)
else
htfHighLine := line.new(bar_index - 500, lastHTFHigh, bar_index + 1, lastHTFHigh, xloc=xloc.bar_index, extend=extend.none, color=color.new(color.red, 60), width=1)
if not na(lastHTFLow)
if not na(htfLowLine)
line.set_xy1(htfLowLine, bar_index - 500, lastHTFLow)
line.set_xy2(htfLowLine, bar_index + 1, lastHTFLow)
else
htfLowLine := line.new(bar_index - 500, lastHTFLow, bar_index + 1, lastHTFLow, xloc=xloc.bar_index, extend=extend.none, color=color.new(color.green, 70), width=1)
// ----------------- Sweep detection (on current timeframe) -----------------
high_sweep = false
low_sweep = false
// High sweep: price makes a wick above last HTF high, but closes back below that HTF level
if not na(lastHTFHigh)
high_sweep := (high > lastHTFHigh) and (close < lastHTFHigh) and (high - lastHTFHigh >= min_wick_pts)
// Low sweep: price makes a wick below last HTF low, but closes back above that HTF level
if not na(lastHTFLow)
low_sweep := (low < lastHTFLow) and (close > lastHTFLow) and (lastHTFLow - low >= min_wick_pts)
// ----------------- Create red zone rectangles -----------------
var array boxes = array.new()
// Function to create a box and push to array; removes oldest if > max
f_newBox(_x1, _y1, _x2, _y2, _fillColor, _borderColor) =>
b = box.new(_x1, _y1, _x2, _y2, xloc=xloc.bar_index, border_width=1, bgcolor=_fillColor, border_color=_borderColor)
array.push(boxes, b)
// keep reasonable number of boxes
maxBoxes = 200
if array.size(boxes) > maxBoxes
old = array.shift(boxes)
box.delete(old)
b
if high_sweep
topY = math.max(high, lastHTFHigh)
bottomY = lastHTFHigh
// create box from the HTF level to the wick high
col = color.new(color.red, alpha_fill)
bord = color.new(color.red, 40)
f_newBox(bar_index - 0, topY, bar_index + zone_width, bottomY, col, bord)
if show_labels
label.new(bar_index, high, "High Sweep", style=label.style_label_down, textcolor=color.white, color=color.new(color.red, 0), size=size.tiny)
if low_sweep
bottomY = math.min(low, lastHTFLow)
topY = lastHTFLow
col = color.new(color.red, alpha_fill) // same red fill as screenshot-red zones
bord = color.new(color.red, 40)
f_newBox(bar_index - 0, topY, bar_index + zone_width, bottomY, col, bord)
if show_labels
label.new(bar_index, low, "Low Sweep", style=label.style_label_up, textcolor=color.white, color=color.new(color.red, 0), size=size.tiny)
// Visual sweep markers (optional small shapes)
plotshape(high_sweep, title="High Sweep marker", style=shape.triangledown, location=location.abovebar, size=size.tiny, color=color.red)
plotshape(low_sweep, title="Low Sweep marker", style=shape.triangleup, location=location.belowbar, size=size.tiny, color=color.red)
// ----------------- Info panel -----------------
var table info = table.new(position.top_right, 1, 1)
if barstate.islast
table.cell(info, 0, 0, "HTF: " + htf_tf + " | Pivot L/R: " + str.tostring(pivot_left) + "/" + str.tostring(pivot_right), text_color=color.white, bgcolor=color.new(color.blue, 85))
Luxy Flexible Moving AveragesUltra-lightweight moving average suite supporting six calculation methods (EMA, SMA, WMA, VWMA, RMA, HMA).
Overview
Luxy Flexible Moving Averages is a performance-optimized indicator designed for traders who need clean, reliable moving average lines without the overhead of complex calculations or unnecessary features. This indicator prioritizes speed and visual clarity, making it ideal for traders who run multiple indicators simultaneously or work on lower-powered devices.
Unlike traditional moving average indicators that calculate all lines regardless of whether they are enabled, Luxy only processes the moving averages you actually need, resulting in near-instantaneous chart loading times.
What Makes This Different
The primary design philosophy behind Luxy Flexible Moving Averages is efficiency without compromise. The indicator includes four independently configurable moving average lines, each supporting six different calculation methods. Every calculation is conditionally executed, meaning that disabled lines consume zero processing power. This approach delivers exceptional performance even when paired with resource-intensive indicators like volume profiles, market structure tools, or custom scanners.
Features
The indicator provides four distinct moving average lines, each fully customizable:
Fast MA is typically used for short-term momentum and quick directional changes. Traders often configure this as an EMA with lengths between 5 and 20 bars, depending on their trading timeframe.
Medium MA serves as a middle-ground reference, often used to identify the intermediate trend or as a dynamic support and resistance level. This line commonly uses EMA or SMA calculations with lengths between 10 and 50bars.
Medium-Long MA acts as a visual bridge between short-term noise and long-term structure. Many traders disable this line entirely if they prefer a cleaner chart, but it can be useful for identifying larger trend phases. Typical configurations use SMA or RMA with lengths between 50 and one 150 bars.
Long MA represents the dominant trend or bias. This is often configured as a 200 period SMA, which is a widely-watched level across most markets and timeframes. Alternatively, traders may use RMA for a smoother visual appearance.
Each line supports six calculation methods:
EMA (Exponential Moving Average) applies exponentially decreasing weights to older prices, making it highly responsive to recent price action. This is the preferred method for momentum-based strategies and short-term trading.
SMA (Simple Moving Average ) treats all prices equally within the lookback period, resulting in a smoother line that is less reactive to sudden price spikes. This is commonly used for identifying long-term trends.
WMA (Weighted Moving Average) applies linearly decreasing weights, offering a middle ground between EMA and SMA. It responds faster than SMA but with less sensitivity than EMA.
VWMA (Volume-Weighted Moving Average) incorporates volume data into the calculation, giving more weight to bars with higher trading activity. This method is particularly useful in liquid markets where volume represents genuine participation.
RMA (Relative Moving Average, also known as Wilder's Smoothing) is a variant of EMA with a slower response curve. It is commonly used in oscillators like RSI and ADX, and provides very smooth trend lines on charts.
HMA (Hull Moving Average) is designed to reduce lag while maintaining smoothness. It is the most responsive option available in this indicator but can produce more false signals during choppy or sideways markets.
How It Works
The indicator operates on a conditional calculation model. When you load the indicator, it checks which moving average lines are enabled via the input settings. Only the enabled lines are calculated on each bar, and disabled lines are assigned a not-applicable value, preventing any processing overhead.
Each moving average is calculated using native TradingView functions, ensuring maximum compatibility and reliability across all asset classes and timeframes. The indicator does not use any security calls, loops, or external data requests, which are common sources of performance degradation in more complex indicators.
Recommended Configurations
The optimal moving average configuration depends on your trading style and timeframe. Below are general guidelines based on common trading approaches.
Scalping (1 minute to 5 minute charts)
Scalpers require fast-reacting moving averages that can identify micro-trends and momentum shifts within seconds. The recommended configuration prioritizes EMA or HMA for all lines, with very short lengths to capture quick moves.
For the Fast MA, use EMA with a length between 5 and 8. This line should react almost immediately to price changes and helps confirm entry timing during breakouts or pullbacks.
For the Medium MA , use EMA with a length between 10 and 15. This serves as your primary directional filter. When price is above this line, you look for long opportunities. When below, you look for shorts.
The Medium-Long MA is often disabled in scalping setups to reduce visual noise. If used, configure it as SMA between 40 and 80 to provide context on the broader 5-minute or 15-minute trend.
The Long MA can be set to SMA with a length between 100 and 150, or simply disabled. On very short timeframes, this line often provides more historical context than real-time utility.
Day Trading (5 minute to 1 hour charts)
Day traders benefit from a balanced approach that filters out noise while remaining responsive to intraday volatility. A common configuration combines EMA for short-term lines and SMA for long-term structure.
For the Fast MA , use EMA with a length between 8 and 12. This captures momentum without overreacting to every minor price swing.
For the Medium MA , use EMA with a length between 12 and 21. This is often used as a dynamic support or resistance level during trending sessions.
For the Medium-Long MA , configure SMA or RMA between 60 and one 120. This line helps identify whether the intraday trend aligns with the broader daily bias.
The Long MA is typically set to SMA with a length of 200. This is a critical level that many institutional traders watch, and price reactions around this line are often significant.
Swing Trading (4 hour to daily charts)
Swing traders operate on longer timeframes and need moving averages that filter out daily noise while highlighting multi-day or multi-week trends. SMA and RMA are commonly preferred for their smoothness, though EMA can be used for faster momentum entries.
For the Fast MA , use EMA or SMA with a length between 10 and 20. This line helps time entries during pullbacks within the larger trend.
For the Medium MA , use EMA or SMA with a length between 20 and 34. This often serves as a key decision point for whether a pullback is likely to reverse or continue.
For the Medium-Long MA , configure SMA between 100 and 180. This provides visual context on the broader weekly trend and can act as a significant support or resistance zone.
The Long MA should be SMA with a length of 200 or higher. On daily charts, the two-hundred-day moving average is one of the most widely-referenced indicators in global markets, and price behavior around this level is often predictable.
Using Moving Averages for Trend Identification
Moving averages are primarily used to determine trend direction and strength. The relationship between price and the moving average lines provides insight into market structure.
When price is trading above a moving average, the trend is generally considered bullish on that timeframe. When price is below, the trend is bearish. The steeper the slope of the moving average, the stronger the trend. A flat moving average indicates consolidation or a potential trend change.
Crossovers between moving averages are commonly used as trend confirmation signals. When a faster moving average crosses above a slower moving average, this suggests increasing bullish momentum. When the faster line crosses below, it suggests increasing bearish momentum. However, crossovers should not be used in isolation, as they can produce false signals during sideways markets.
Many traders use moving averages as dynamic support and resistance levels. During uptrends, price often pulls back to a key moving average before resuming higher. During downtrends, price often rallies to a moving average before resuming lower. These levels can be used to plan entries, exits, or stop-loss placement.
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.
💎DrFX Diamond Algo 💎Diamond Algo - Multi-Feature Trading System
Advanced trading system combining Supertrend signals with multiple confirmation filters, risk management tools, and a comprehensive market analysis dashboard.
═══ CORE FEATURES ═══
• Smart Buy/Sell signals using modified Supertrend algorithm
• Multi-timeframe trend analysis (M1 to D1)
• Support & Resistance zone detection
• Risk management with automatic TP/SL levels (1:1, 2:1, 3:1)
• Real-time market dashboard with key metrics
• Multiple trend cloud overlays for visual confirmation
═══ SIGNAL GENERATION ═══
BUY Signal:
• Supertrend bullish crossover
• Price above SMA filter
• Optional smart signals (EMA 200 confirmation)
SELL Signal:
• Supertrend bearish crossunder
• Price below SMA filter
• Optional smart signals (EMA 200 confirmation)
═══ DASHBOARD COMPONENTS ═══
• Multi-timeframe trend status (8 timeframes)
• Current position indicator
• Market state analysis (Trending/Ranging/No trend)
• Volatility percentage
• Institutional activity monitor
• Trading session tracker (NY/London/Tokyo/Sydney)
• Trend pressure indicator
═══ VISUAL OVERLAYS ═══
• Trend Cloud: Long-term trend visualization
• Trend Follower: Adaptive trend line
• Comulus Cloud: Dual ALMA-based trend zones
• Cirrus Cloud: Short-term trend bands
• Smart Trail: Fibonacci-based trailing stop
• Dynamic trend lines with breakout alerts
═══ RISK MANAGEMENT ═══
• Automatic Stop-Loss placement (ATR-based)
• Three Take-Profit levels with Risk:Reward ratios
• Entry price labeling
• Optional distance and decimal customization
• Visual lines connecting entry to targets
═══ INPUT PARAMETERS ═══
Sensitivity (1-20): Controls signal frequency
Smart Signals Only: Filters for high-probability setups
Bar Coloring: Trend-based or gradient coloring
Dashboard Location/Size: Customizable placement
Multiple overlay toggles for clean charts
═══ BEST PRACTICES ═══
• Lower sensitivity (1-5) for swing trading
• Higher sensitivity (10-20) for scalping
• Enable Smart Signals for conservative approach
• Use dashboard to confirm multi-timeframe alignment
• Monitor volatility % before entering trades
═══ ALERT CONDITIONS ═══
• Buy Alert: Triggered on bullish signal
• Sell Alert: Triggered on bearish signal
• Trend line breakout alerts (automated)
═══ VERSION INFO ═══
Pine Script: v5
Max Labels: 500
Repainting: Minimal (uses confirmed bars for signals)
```
CCI PKTELUGUTRADERThe Commodity Channel Index (CCI) is a momentum oscillator that helps traders identify potential buy and sell opportunities by measuring how far the price of a security deviates from its average price over a specific period. It’s widely used for spotting new trends, overbought and oversold conditions, and possible price reversals in various financial markets.
Description of CCI
The CCI calculates the difference between the current price and its historical average price, normalized by mean deviation. Unlike indicators such as RSI, the CCI is an unbounded oscillator, meaning its values can go above +100 or below -100, providing broader insights into momentum shifts in prices.
The formula for CCI is:
CCI
=
Typical Price
−
SMA of Typical Price
0.015
×
Mean Deviation
CCI=
0.015×Mean Deviation
Typical Price−SMA of Typical Price
where:
Typical Price = (High + Low + Close) / 3
SMA is the Simple Moving Average of the Typical Price over the chosen period
Mean Deviation is the average deviation from the SMA.
Buy and Sell Signals
A buy signal is typically generated when the CCI moves above +100, indicating the start of a strong uptrend.
A sell signal occurs when the CCI drops below -100, signaling a strong downtrend.
Many traders close their buy positions when the CCI falls back below +100 and close their sell positions when it rises above -100, or use price action confirmation to validate signals.
Values above +100 suggest overbought conditions, while below -100 indicate oversold; extreme values (like +200 or -200) suggest even stronger momentum.
CCI divergences (price moves not confirmed by the indicator) may indicate potential reversals.
Summary Table: CCI Signals
CCI Level Market Condition Potential Action
Above +100 Overbought/Uptrend Consider Buying
Below -100 Oversold/Downtrend Consider Selling
Back between -100 and +100 Neutral/Indecision Exit or Wait
The CCI is best used alongside other technical indicators for confirmation, as it can generate false signals during sideways markets.
References:
Guide to Commodity Channel Index
What Is CCI?
CCI Trading Strategies
CCI: Technical Indicator
Commodity channel index
Adaptive HMA SignalsAdaptive HMA Signals
This indicator pairs nicely with the Contrarian 100 MA and can be located here:
Overview
The "Adaptive HMA Signals" indicator is a sophisticated technical analysis tool designed for traders aiming to capture trend changes with precision. By leveraging Hull Moving Averages (HMAs) that adapt dynamically to market conditions (volatility or volume), this indicator generates actionable buy and sell signals based on price interactions with adaptive HMAs and slope analysis. Optimized for daily charts, it is highly customizable and suitable for trading forex, stocks, cryptocurrencies, or other assets. The indicator is ideal for swing traders and trend followers seeking to time entries and exits effectively.
How It Works
The indicator uses two adaptive HMAs—a primary HMA and a minor HMA—whose periods adjust dynamically based on user-selected market conditions (volatility via ATR or volume via RSI). It calculates the slope of the primary HMA to identify trend strength and generates exit signals when the price crosses the minor HMA under specific slope conditions. Signals are plotted as circles above or below the price, with inverted colors (white for buy, blue for sell) to enhance visibility on any chart background.
Key Components
Adaptive HMAs: Two HMAs (primary and minor) with dynamic periods that adjust based on volatility (ATR-based) or volume (RSI-based) conditions. Periods range between user-defined minimum and maximum values, adapting by a fixed percentage (3.141%).
Slope Analysis: Calculates the slope of the primary HMA over a 34-bar period to gauge trend direction and strength, normalized using market range data.
Signal Logic: Generates buy signals (white circles) when the price falls below the minor HMA with a flat or declining slope (indicating a potential trend reversal) and sell signals (blue circles) when the price rises above the minor HMA with a flat or rising slope.
Signal Visualization: Plots signals at an offset based on ATR for clarity, using semi-transparent colors to avoid chart clutter.
Mathematical Concepts
Dynamic Period Adjustment:
Primary HMA period adjusts between minLength (default: 144) and maxLength (default: 200).
Minor HMA period adjusts between minorMin (default: 55) and minorMax (default: 89).
Periods decrease by 3.141% under high volatility/volume and increase otherwise.
HMA Calculation:
Uses the Hull Moving Average formula: WMA(2 * WMA(src, length/2) - WMA(src, length), sqrt(length)).
Provides a smoother, faster-responding moving average compared to traditional MAs.
Slope Calculation:
Computes the slope of the primary HMA using a 34-bar period, normalized by the market range (highest high - lowest low over 34 bars).
Slope angle is converted to degrees using arccosine for intuitive trend strength interpretation.
Signal Conditions:
Buy: Slope ≥ 17° (flat or rising), price < minor HMA, low volatility/volume.
Sell: Slope ≤ -17° (flat or declining), price > minor HMA, low volatility/volume.
Signals are triggered only on confirmed bars to avoid repainting.
Entry and Exit Rules
Buy Signal (White Circle): Triggered when the price crosses below the minor HMA, the slope of the primary HMA is flat or rising (≥17°), and volatility/volume is low. The signal appears as a white circle above the price bar, offset by 0.72 * ATR(5).
Sell Signal (Blue Circle): Triggered when the price crosses above the minor HMA, the slope of the primary HMA is flat or declining (≤-17°), and volatility/volume is low. The signal appears as a blue circle below the price bar, offset by 0.72 * ATR(5).
Exit Rules: Exit a buy position on a sell signal and vice versa. Combine with other tools (e.g., support/resistance, RSI) for additional confirmation. Always apply proper risk management.
Recommended Usage
The "Adaptive HMA Signals" indicator is optimized for daily charts but can be adapted to other timeframes (e.g., 1H, 4H) with adjustments to period lengths. It performs best in trending or range-bound markets with clear reversal points. Traders should:
Backtest the indicator on their chosen asset and timeframe to validate signal reliability.
Combine with other technical tools (e.g., trendlines, Fibonacci retracements) for stronger trade setups.
Adjust minLength, maxLength, minorMin, and minorMax based on market volatility and timeframe.
Use the Charger input to toggle between volatility (ATR) and volume (RSI) adaptation for optimal performance in specific market conditions.
Customization Options
Source: Choose the price source (default: close).
Show Signals: Toggle visibility of buy/sell signals (default: true).
Charger: Select adaptation trigger—Volatility (ATR-based) or Volume (RSI-based) (default: Volatility).
Main HMA Periods: Set minimum (default: 144) and maximum (default: 200) periods for the primary HMA.
Minor HMA Periods: Set minimum (default: 55) and maximum (default: 89) periods for the minor HMA.
Slope Period: Fixed at 34 bars for slope calculation, adjustable via code if needed.
Why Use This Indicator?
The "Adaptive HMA Signals" indicator combines the responsiveness of HMAs with dynamic adaptation to market conditions, offering a robust tool for identifying trend reversals. Its clear visual signals, customizable periods, and adaptive logic make it versatile for various markets and trading styles. Whether you’re a beginner or an experienced trader, this indicator enhances your ability to time entries and exits with precision.
Tips for Users
Test the indicator thoroughly on your chosen market and timeframe to optimize settings (e.g., adjust period lengths for non-daily charts).
Use in conjunction with price action or other indicators (e.g., RSI, MACD) for stronger trade confirmation.
Monitor volatility/volume conditions to ensure the Charger setting aligns with market dynamics.
Ensure your chart timeframe aligns with the selected period lengths for accurate signal generation.
Apply strict risk management to protect against false signals in choppy markets.
Happy trading with the Adaptive HMA Signals indicator! Share your feedback and strategies in the TradingView community!
EMA Crossover Strategy (15m)50 and 200 ema crossing when leaving anchor. when 50 and 200 crosses will give you direction of where market is going. wait for a pull back and take trade. sl on highest or lowest point of apex tp open . when you see multiple equal ( low or High) get put of trade.
EMAs Personalizáveis (até 5)📘 Indicator Explanation – Customizable EMAs (up to 5)
This indicator was developed in Pine Script v6 to make it easier to visualize multiple Exponential Moving Averages (EMAs) on a single chart.
🔑 Main features:
Supports up to 5 different EMAs.
Ability to enable or disable each EMA individually.
Fully customizable period for each EMA.
Flexible color selection for better visual organization.
Adjustable line thickness to highlight the most relevant levels.
📌 How to use:
Open the indicator settings.
Select which EMAs you want to display (from 1 to 5).
Define the period (e.g., 20, 50, 100, 200, etc.).
Choose a color for each EMA.
Observe price behavior relative to the EMAs to identify:
Trends → price above long EMAs indicates bullish strength.
Reversals → EMA crossovers may signal a change in direction.
Dynamic support and resistance → EMAs often act as reaction zones for price.
💡 Practical example:
Short EMA (20) → shows short-term movement.
Mid-term EMA (50 or 100) → confirms trend direction.
Long EMA (200 or 500) → indicates the overall market trend.
👉 This indicator is flexible and can be used for scalping, swing trading, or position trading, depending on the chosen periods.
MACD-V MomentumThe MACD-V (Moving Average Convergence Divergence – Volatility Normalized) is an award-winning momentum indicator created by Alex Spiroglou, CFTe, DipTA (ATAA). It improves on the traditional MACD by normalizing momentum with volatility, solving several well-known limitations of classic indicators:
✅ Time stability – readings are consistent across history
✅ Cross-market comparability – works equally on stocks, crypto, forex, and commodities
✅ Objective momentum framework – universal thresholds at +150 / -150, +50 / -50
✅ Cleaner signals – reduces false signals in ranges and lag in high momentum
By dividing the MACD spread by ATR, the indicator expresses momentum in volatility units, allowing meaningful comparison across timeframes and markets.
MACD-V defines seven objective momentum states:
Risk (Oversold): below -150
Rebounding: -150 to +50 and above signal
Rallying: +50 to +150 and above signal
Risk (Overbought): above +150
Retracing: above -50 and below signal
Reversing: -150 to -50 and below signal
Ranging: between -50 and +50 for N bars
Optional background tints highlight the active regime (Bull above 200-MA, Bear below 200-MA).
Rare extremes (e.g., MACD-V < -100 in a bull regime) are tagged for additional context.
Use Cases
Identify and track momentum lifecycles across any market
Spot rare extremes for potential reversal opportunities
Filter out low-momentum whipsaws in ranging conditions
Compare momentum strength across multiple symbols
Support systematic and rule-based strategy development
3MA/EMA Alerts指标名称(中文/英文)
中文名:多均线趋势指标(带上穿与金叉提醒)
英文名:Multi MA/EMA Trend Indicator (with Price & Golden Cross Alerts)
指标功能介绍(中文)
多均线趋势指标(带上穿与金叉提醒) 是一个可自定义的均线工具,适用于趋势分析和交易信号提醒。
核心功能:
多均线显示
默认显示 EMA20,EMA80/200 可选择显示
每条均线可独立选择 EMA 或 SMA
自定义颜色和线宽
价格上穿均线提醒
当价格向上突破任意开启的均线时触发提醒
可用于捕捉短线趋势启动点
金叉提醒
当短期均线向上穿过中长期均线时触发提醒
可用于捕捉潜在的趋势反转或加速
中文 UI
参数和提醒信息均为中文,便于快速理解和使用
适用场景
趋势确认
趋势反转捕捉
短线入场和长期持仓参考
Indicator Description (English)
Multi MA/EMA Trend Indicator (with Price & Golden Cross Alerts) is a customizable moving average tool for trend analysis and trading alerts.
Key Features:
Multiple Moving Averages
Default display: EMA20; EMA80/200 optional
Each MA can be set as EMA or SMA individually
Customizable colors and line widths
Price Cross Alerts
Alerts when price crosses above any active MA
Helps identify short-term trend initiation points
Golden Cross Alerts
Alerts when a short-term MA crosses above a mid/long-term MA
Useful for detecting trend acceleration or reversal signals
User-Friendly Interface
Parameters and alerts are labeled in Chinese (can be translated)
Applications
Trend confirmation
Trend reversal detection
Short-term entries and long-term position guidance
Contrarian Period High & LowContrarian Period High & Low
This indicator pairs nicely with the Contrarian 100 MA and can be located here:
Overview
The "Contrarian Period High & Low" indicator is a powerful technical analysis tool designed for traders seeking to identify key support and resistance levels and capitalize on contrarian trading opportunities. By tracking the highest highs and lowest lows over user-defined periods (Daily, Weekly, or Monthly), this indicator plots historical levels and generates buy and sell signals when price breaks these levels in a contrarian manner. A unique blue dot counter and action table enhance decision-making, making it ideal for swing traders, trend followers, and those trading forex, stocks, or cryptocurrencies. Optimized for daily charts, it can be adapted to other timeframes with proper testing.
How It Works
The indicator identifies the highest high and lowest low within a specified period (e.g., daily, weekly, or monthly) and draws horizontal lines for the previous period’s extremes on the chart. These levels act as dynamic support and resistance zones. Contrarian signals are generated when the price crosses below the previous period’s low (buy signal) or above the previous period’s high (sell signal), indicating potential reversals. A blue dot counter tracks consecutive buy signals, and a table displays the count and recommended action, helping traders decide whether to hold or flip positions.
Key Components
Period High/Low Levels: Tracks the highest high and lowest low for each period, plotting red lines for highs and green lines for lows from the bar where they occurred, extending for a user-defined length (default: 200 bars).
Contrarian Signals: Generates buy signals (blue circles) when price crosses below the previous period’s low and sell signals (white circles) when price crosses above the previous period’s high, designed to capture potential reversals.
Blue Dot Tracker: Counts consecutive buy signals (“blue dots”). If three or more occur, it suggests a stronger trend, with the table recommending whether to “Hold Investment” or “Flip Investment.”
Action Table: A 2x2 table in the bottom-right corner displays the blue dot count and action (“Hold Investment” if count ≥ 4, else “Flip Investment”) for quick reference.
Mathematical Concepts
Period Detection: Uses an approximate bar count to define periods (1 bar for Daily, 5 bars for Weekly, 20 bars for Monthly on a daily chart). When a new period starts, the previous period’s high/low is finalized and plotted.
High/Low Tracking:
Highest high (periodHigh) and lowest low (periodLow) are updated within the period.
Lines are drawn at these levels when the period ends, starting from the bar where the extreme occurred (periodHighBar, periodLowBar).
Signal Logic:
Buy signal: ta.crossunder(close , prevPeriodLow) and not lowBroken and barstate.isconfirmed
Sell signal: ta.crossover(close , prevPeriodHigh) and not highBroken and barstate.isconfirmed
Flags (highBroken, lowBroken) prevent multiple signals for the same level within a period.
Blue Dot Counter: Increments on each buy signal, resets on a sell signal or if price exceeds the entry price after three or more buy signals.
Entry and Exit Rules
Buy Signal (Blue Circle): Triggered when the price crosses below the previous period’s low, suggesting a potential oversold condition and buying opportunity. The signal appears as a blue circle below the price bar.
Sell Signal (White Circle): Triggered when the price crosses above the previous period’s high, indicating a potential overbought condition and selling opportunity. The signal appears as a white circle above the price bar.
Blue Dot Tracker:
Increments blueDotCount on each buy signal and sets an entryPrice on the first buy.
Resets on a sell signal or if price exceeds entryPrice after three or more buy signals.
If blueDotCount >= 3, the table suggests holding; if >= 4, it reinforces “Hold Investment.”
Exit Rules: Exit a buy position on a sell signal or when price exceeds the entry price after three or more buy signals. Combine with other tools (e.g., trendlines, support/resistance) for additional confirmation. Always apply proper risk management.
Recommended Usage
The "Contrarian Period High & Low" indicator is optimized for daily charts but can be adapted to other timeframes (e.g., 1H, 4H) with adjustments to the period bar count. It excels in markets with clear support/resistance levels and potential reversal zones. Traders should:
Backtest the indicator on their chosen asset and timeframe to validate signal reliability.
Combine with other technical tools (e.g., moving averages, Fibonacci levels) for stronger trade confirmation.
Adjust barsPerPeriod (e.g., ~120 bars for Weekly on hourly charts) based on the chart timeframe and market volatility.
Monitor the action table to guide position management based on blue dot counts.
Customization Options
Period Type: Choose between Daily, Weekly, or Monthly periods (default: Monthly).
Line Length: Set the length of high/low lines in bars (default: 200).
Show Highs/Lows: Toggle visibility of period high (red) and low (green) lines.
Max Lines to Keep: Limit the number of historical lines displayed (default: 10).
Hide Signals: Toggle buy/sell signal visibility for a cleaner chart.
Table Display: A fixed table in the bottom-right corner shows the blue dot count and action, with yellow (Hold) or green (Flip) backgrounds based on the count.
Why Use This Indicator?
The "Contrarian Period High & Low" indicator offers a unique blend of support/resistance visualization and contrarian signal generation, making it a versatile tool for identifying potential reversals. Its clear visual cues (lines and signals), blue dot tracker, and actionable table provide traders with an intuitive way to monitor market structure and manage trades. Whether you’re a beginner or an experienced trader, this indicator enhances your ability to spot key levels and time entries/exits effectively.
Tips for Users
Test the indicator thoroughly on your chosen market and timeframe to optimize settings (e.g., adjust barsPerPeriod for non-daily charts).
Use in conjunction with price action or other indicators for stronger trade setups.
Monitor the action table to decide whether to hold or flip positions based on blue dot counts.
Ensure your chart timeframe aligns with the selected period type (e.g., daily chart for Monthly periods).
Apply strict risk management to protect against false breakouts.
Happy trading with the Contrarian Period High & Low indicator! Share your feedback and strategies in the TradingView community!
Adaptive Jump Moving AverageAdaptive Jump Moving Average - Description
This indicator solves the classic moving average lag problem during significant price moves. Traditional MAs (like the 200-day) take forever to catch up after a major drop or rally because they average across all historical periods equally.
How it works:
Tracks price smoothly during normal market conditions
When price moves 20%+ away from the MA, it immediately "resets" to the current price level
Treats that new level as the baseline and continues smooth tracking from there
Advantages over normal MA:
No lag on major moves: A 40% crash doesn't get diluted over 200 days - the MA instantly adapts
Reduces false signals: You won't get late "death cross" signals months after a crash already happened
Better support/resistance: The MA stays relevant to current price action instead of reflecting outdated levels
Keeps the smoothness: During normal volatility, it behaves like a traditional MA without the noise of shorter periods
AI Trading Alerts v6 — SL/TP + Confidence + Panel (Fixed)Overview
This Pine Script is designed to identify high-probability trading opportunities in Forex, commodities, and crypto markets. It combines EMA trend filters, RSI, and Stochastic RSI, with automatic stop-loss (SL) & take-profit (TP) suggestions, and provides a confidence panel to quickly assess the trade setup strength.
It also includes TradingView alert conditions so you can set up notifications for Long/Short setups and EMA crosses.
⚙️ Features
EMA Trend Filter
Uses EMA 50, 100, 200 for trend confirmation.
Bull trend = EMA50 > EMA100 > EMA200
Bear trend = EMA50 < EMA100 < EMA200
RSI Filter
Bullish trades require RSI > 50
Bearish trades require RSI < 50
Stochastic RSI Filter
Prevents entries during overbought/oversold extremes.
Bullish entry only if %K and %D < 80
Bearish entry only if %K and %D > 20
EMA Proximity Check
Price must be near EMA50 (within ATR × adjustable multiplier).
Signals
Continuation Signals:
Long if all bullish conditions align.
Short if all bearish conditions align.
Cross Events:
Long Cross when price crosses above EMA50 in bull trend.
Short Cross when price crosses below EMA50 in bear trend.
Automatic SL/TP Suggestions
SL size adjusts depending on asset:
Gold/Silver (XAU/XAG): 5 pts
Bitcoin/Ethereum: 100 pts
FX pairs (default): 20 pts
TP = SL × Risk:Reward ratio (default 1:2).
Confidence Score (0–4)
Based on conditions met (trend, RSI, Stoch, EMA proximity).
Labels:
Strongest (4/4)
Strong (3/4)
Medium (2/4)
Low (1/4)
Visual Panel on Chart
Shows ✅/❌ for each condition (trend, RSI, Stoch, EMA proximity, signal now).
Confidence row with color-coded strength.
Alerts
Long Setup
Short Setup
Long Cross
Short Cross
🖥️ How to Use
1. Add the Script
Open TradingView → Pine Editor.
Paste the full script.
Click Add to chart.
Save as "AI Trading Alerts v6 — SL/TP + Confidence + Panel".
2. Configure Inputs
EMA Lengths: Default 50/100/200 (works well for swing trading).
RSI Length: 14 (standard).
Stochastic Length/K/D: Default 14/3/3.
Risk:Reward Ratio: Default 2.0 (can change to 1.5, 3.0, etc.).
EMA Proximity Threshold: Default 0.20 × ATR (adjust to be stricter/looser).
3. Read the Panel
Top-right of chart, you’ll see ✅ or ❌ for:
Trend → Are EMAs aligned?
RSI → Above 50 (bull) or below 50 (bear)?
Stoch OK → Not extreme?
Near EMA50 → Close enough to EMA50?
Above/Below OK → Price position vs. EMA50 matches trend?
Signal Now → Entry triggered?
Confidence row:
🟢 Green = Strongest
🟩 Light green = Strong
🟧 Orange = Medium
🟨 Yellow = Low
⬜ Gray = None
4. Alerts Setup
Go to TradingView Alerts (⏰ icon).
Choose the script under “Condition”.
Select alert type:
Long Setup
Short Setup
Long Cross
Short Cross
Set notification method (popup, sound, email, mobile).
Click Create.
Now TradingView will notify you automatically when signals appear.
5. Example Workflow
Wait for Confidence = Strong/Strongest.
Check if market session supports volatility (e.g., XAU in London/NY).
Review SL/TP suggestions:
Long → Entry: current price, SL: close - risk_pts, TP: close + risk_pts × RR.
Short → Entry: current price, SL: close + risk_pts, TP: close - risk_pts × RR.
Adjust based on your own price action analysis.
📊 Best Practices
Use on H1 + D1 combo → align higher timeframe bias with intraday entries.
Risk only 1–2% of account per trade (position sizing required).
Filter with market sessions (Asia, Europe, US).
Strongest signals work best with trending pairs (e.g., XAUUSD, USDJPY, BTCUSD).
Golden/Death Cross with SMAGolden Cross: Triggered when the 50 SMA crosses above the 200 SMA.
Death Cross: Triggered when the 50 SMA crosses below the 200 SMA.
Multi EMA and Key Levels IndicatorKey Features:
Daily and Previous Day Levels
Plots today’s high and low.
Plots the previous day’s high (Y HOD) and low (Y LOD), with labels anchored to the price axis.
Premarket (Globex) High and Low
Tracks premarket session highs and lows (defined as 5:00 PM to 8:30 AM Chicago time).
Updates dynamically during the session and plots “GLOBEX HIGH” and “GLOBEX LOW” lines with labels.
Exponential & Simple Moving Averages
User can select 3 EMAs (default 8, 21, 200).
Plots EMAs with distinct colors.
Plots the 200-day SMA for longer-term trend context.
200WMA Overlay + Z (heatmap mapping)This script enhances the classic 200-week moving average (200WMA), a long-term market reference line, by adding Z-Score mapping and optional helper bands for extended cycle analysis.
Features
200WMA Anchor: Plots the true 200-week simple moving average on any chart, a widely followed metric for long-term Bitcoin and crypto cycles.
Helper Multiples: Optional overlay of key historical ratios (×0.625, ×1.6, ×2.0, ×2.5) often referenced as cycle support/resistance zones.
Z-Score Mapping: Translates the ratio of price to 200WMA into a Z-Score scale (from +2.5 to –2.5), offering a statistical perspective on whether the market is undervalued, neutral, or overheated relative to its long-term mean.
On-Chart Label: Current Z-Score displayed directly on the last bar for quick reference.
How to Use
Long-Term Valuation: The 200WMA serves as a “fair value” baseline; large deviations highlight extended phases of market sentiment.
Heatmap Context:
Positive Z values typically mark undervaluation or favorable accumulation zones.
Negative Z values highlight overvaluation or profit-taking / distribution zones.
Strategic View: Best used to contextualize long-term market cycles, not for short-term signals.
Confluence Approach: This indicator should not be used alone — combine it with other technical or fundamental tools for stronger decision-making.
Originality
Unlike a basic 200WMA overlay, this version:
Incorporates multi-band ratios for extended cycle mapping.
Introduces a custom Z-Score scale tied directly to price/WMA ratios.
Provides both visual structure and statistical interpretation on a single overlay.
Volume Candle Rings [CHE]Volume Candle Rings – Spot Volume Extremes Fast 🔍
Marks exceptionally high volume right on the candle as concentric rings. Instantly see how extreme the spike is (levels 1–10), where it happens (anchor on HL2/Close/BodyMid), and how big it is relative to volatility (ATR-scaled). No magic, no blind signals—just clean context for better decisions.
Why it helps 🎯
Catch true extremes: Positive-side Z-Score maps spikes into 10 levels. By default, only 8/9/10 show—the ones that matter.
Context over clutter: Rings sit on the candle, scale with ATR (market regime), and widen in bars (time). Read absorption, breakout thrusts, or capitulation in context.
Signal the new, not the noise: Optional OFF→ON only drawing cuts chart noise and highlights fresh events.
How it works ⚙️
Z-Score: `z = (Vol – SMA(Vol, lookback)) / StDev(Vol, lookback)` → clipped at `zScoreCap`, normalized, and binned to 1..10 (0 = none). Only z > 0 counts.
Geometry: Vertical diameter = `Level × ATR(atrLength) × atrPerLevel`; horizontal radius = `Level × xBarsPerLevel` bars; curvatureFactor controls roundness.
Anchor: Choose HL2, Close, or BodyMid for the vertical center.
Performance: Keeps up to maxStoredCircles; FIFO cleanup to stay smooth.
Typical use cases 📈
Breakout confirmation: Clusters of 8–10 at range edges → rising initiative.
Absorption / fade: Extreme ring (9–10) without follow-through → potential stall or reversal.
Blow-off / climax: Single huge ring after a long run → higher odds of mean reversion.
News filtering: Show the real outliers, not every minor bump.
Inputs (mapped 1:1) 🧩
Z-Score & Levels
Lookback (SMA/StDev) – default 200
Z-Score Clipping – default 5.0
Behavior
Draw every bar – default ON; OFF = only on OFF→ON switches
Max circles to retain – default 120
Anchoring & Geometry
Anchor on candle – HL2 / Close / BodyMid
ATR Length – default 50
ATR per Level (Y) – default 0.25
Bars per Level (X) – default 0.15
Circle curvature – default 0.70
Level Selection (1–10)
Default: 8/9/10 ON, 1–7 OFF. Colors grade from teal/green → orange → red; fill opacity separate.
Quick presets ⏱️
Intraday (1–5m): Lookback 150–250, Cap 4.0–5.0, ATR/Level 0.20–0.30, Bars/Level 0.10–0.20, Draw every bar OFF.
Swing (1H–1D): Lookback 200–300, Cap 5.0, ATR/Level 0.25–0.35, Bars/Level 0.15–0.25, keep 8–10.
Aggressive scouting: Also enable Level 7 for early accumulation.
Pro tips 💡
Control object load: Reduce maxStoredCircles or switch Draw every bar OFF on busy charts.
Seek confluence: Combine rings with S/R, range edges, VWAP, session H/L. A ring is information, not an entry by itself.
Color discipline: Reserve red (9/10) for true extremes; keep lower levels subtle.
Limits & notes 🧭
This is visualization, not alerts or auto signals.
Many polylines can slow charts—tune Behavior settings.
Works across markets/timeframes; adapt parameters to the asset’s character.
Who it’s for 🙌
Traders who read volume in price context—breakouts, fades, reversals. See when the market is truly stepping on the gas.
Volume Candle Rings \ turns raw volume into precise, scale-aware markers. Spot extremes faster, avoid confusing “loud” with “important,” and make cleaner, context-driven decisions. 🚀
Disclaimer
The content provided, including all code and materials, is strictly for educational and informational purposes only. It is not intended as, and should not be interpreted as, financial advice, a recommendation to buy or sell any financial instrument, or an offer of any financial product or service. All strategies, tools, and examples discussed are provided for illustrative purposes to demonstrate coding techniques and the functionality of Pine Script within a trading context.
Any results from strategies or tools provided are hypothetical, and past performance is not indicative of future results. Trading and investing involve high risk, including the potential loss of principal, and may not be suitable for all individuals. Before making any trading decisions, please consult with a qualified financial professional to understand the risks involved.
By using this script, you acknowledge and agree that any trading decisions are made solely at your discretion and risk.
Best regards and happy trading
Chervolino
BIST30 % Above Moving Average (Breadth)
BIST30 % Above Moving Average (Breadth)
This indicator shows the percentage of BIST30 stocks trading above a selected moving average.
It is a market breadth tool, designed to measure the overall health and participation of the market.
How it works
By default, it uses the 50-day SMA.
You can switch between SMA/EMA and choose different periods (5 / 20 / 50 / 200).
The script checks each BIST30 stock individually and counts how many are closing above the chosen MA.
Interpretation
Above 80% → Overbought zone (short-term correction likely).
Below 20% → Oversold zone (potential rebound).
Around 50% → Neutral / indecisive market.
If the index (BIST:XU030) rises while this indicator falls → the rally is narrow-based, led by only a few stocks (a warning sign).
Use cases
Short-term traders → Use MA=5 or 20 for momentum signals.
Swing / Medium-term investors → Use MA=50 for market health.
Long-term investors → Use MA=200 to track bull/bear market cycles.
Notes
This script covers only BIST30 stocks by default.
The list can be updated for BIST100 or specific sectors (e.g., banks, industrials).
Breadth indicators should not be used as standalone buy/sell signals — combine them with price action, volume, and other technical tools for confirmation.