ATR Momentum StatusThis indicator measures whether volatility (ATR) is increasing or decreasing, and classifies momentum strength into four clear states:
- WEAK
- STRONG
- EXPANSION
- DECREASING
It helps traders avoid fake moves and only trade when real participation enters the market, especially when used together with FVG CE Acceptance (SMC).
ATR Momentum States (Very Important)
Status Meaning Market Condition
WEAK Small ATR increase Low participation
STRONG Healthy ATR increase Real buyers/sellers entering
EXPANSION Large ATR spike Aggressive momentum / breakout
DECREASING ATR falling Momentum dying / trap risk
What This Indicator Is NOT
❌ Not a buy/sell signal
❌ Not direction bias
❌ Not entry by itself
👉 It is a trade quality filter
✅ Best Use Case (SMC / FVG Traders)
This indicator shines when combined with:
- FVG
- CE (Consequent Encroachment)
- Liquidity Sweep
- Acceptance Candle
Important Risk Filter (Golden Rule):
ATR Status Trade Quality
EXPANSION + Acceptance ⭐⭐⭐⭐⭐ (Best)
STRONG + Acceptance ⭐⭐⭐⭐
WEAK + Acceptance ❌ Avoid
DECREASING ❌ No Trade
Why This Works (Conceptually):
- FVG CE acceptance = price is accepted
- ATR expansion = participation is real
- Together = institutional momentum, not retail noise
Educational
Fair Value Gaps w Signals fair value gaps for resistance and support. It is important to understand ranges with this. An open bearish fair value gaps can indicate a bearish range. A bullish fair value gaps in premium can indicate retracement into the bearish range. A fair value gaps on a high time frame in discount of the range can be a indicator to go long. one can play the fair value gaps in discount or a range back into it for longs. negation of the fair value gaps candle bearish or bullish is stop loss. One would want to see a small time frame turn around story within the fair value gaps you are trading. FVG are support and resistance until the market is balanced. A bearish fair value gaps untouched can indicate the end of a range. The candle before the 1st bullsih fair value gaps could be the beginning of the range. all time frames
MMM Fear & Greed Meter - Multi-Asset @MaxMaseratiMMM Fear & Greed Meter - Multi-Asset Edition
Professional Sentiment Analysis for Futures, Stocks, and Crypto
The MMM Fear & Greed Meter is an advanced market sentiment indicator that transforms CNN's Fear & Greed methodology into an actionable trading tool. Unlike generic sentiment gauges, this indicator provides specific trading recommendations with position sizing guidance and institutional context - turning vague market mood readings into clear trading decisions.
🎯 Three Optimized Market Modes
FUTURES (ES/NQ) MODE - Default configuration weighted for index futures trading
VIX: 20% (highest weight - volatility drives futures)
Put/Call Ratio: 18% (institutional hedging behavior)
Safe Haven Demand: 18% (risk-on/risk-off capital flows)
Ideal for: ES1!, NQ1! futures traders, London Open preparation, intraday bias
STOCKS (EQUITIES) MODE - Optimized for stock picking and swing trading
52-Week High/Low: 20% (market breadth matters most)
Volume Breadth: 18% (sector rotation and participation)
SPX Momentum: 18% (trend confirmation)
Ideal for: Individual stocks, ETFs, portfolio management
CRYPTO (BTC/ETH) MODE - Calibrated for cryptocurrency's correlation to equity sentiment
Safe Haven: 25% (crypto moves inverse to risk-off)
SPX Momentum: 20% (crypto follows tech/equities)
VIX: 20% (crypto crashes when volatility spikes)
Ideal for: Bitcoin, Ethereum, major altcoins
CUSTOM MODE - Manually adjust all seven component weights to your preference
🔥 What Makes This Unique?
1. ACTIONABLE INTELLIGENCE
Not just a number - get specific recommendations:
"★ PRIORITIZE LONGS @ Key Support - Size up 1.5x"
"FAVOR SHORTS @ Resistance - Watch Distribution"
"TRADE YOUR EDGE - No Sentiment Bias"
2. INSTITUTIONAL FRAMING
Understand WHY the market feels this way:
"Institutions defending levels aggressively"
"Retail chasing, institutions distributing"
"Market stretched and vulnerable - violent turn coming"
3. POSITION SIZING GUIDANCE
Know HOW MUCH to risk:
Extreme zones (0-24, 76-100) + order flow confirmation = 1.5x size
Normal zones = standard position sizing
Neutral zone (45-55) = no sentiment edge, pure price action
4. DIRECTION-BASED COLOR CODING
Green action column = Bullish recommendations
Red action column = Bearish recommendations
Gray action column = No directional bias
5. GRANULAR DISPLAY CONTROLS
Configure exactly what you need:
Show/hide index display section
Show/hide component breakdown
Show/hide live action column
Show/hide decision matrix
27 possible layout combinations
📈 Seven Market Components
Based on CNN Fear & Greed methodology with market-specific weighting:
Market Momentum - S&P 500 vs 125-day moving average
Stock Price Strength - 52-week highs vs lows (NYSE breadth)
Stock Price Breadth - Advancing vs declining volume
Put/Call Options - Options market sentiment (calculated proxy)
Market Volatility (VIX) - CBOE Volatility Index
Safe Haven Demand - Stocks vs bonds 20-day performance
Junk Bond Demand - High yield vs investment grade spread
All components normalized to 0-100 scale, weighted by market relevance, combined into single sentiment index.
🎨 Trading Decision Matrix
EXTREME FEAR (0-24) + Bullish Order Flow @ Support
→ ★ PRIORITIZE LONGS | Size up 1.5x | Strong bounce expected
FEAR (25-44) + Bullish Order Flow @ Support
→ FAVOR LONGS | Normal size | Good reversal context
NEUTRAL (45-55) + Any Setup
→ TRADE YOUR EDGE | Standard approach | No macro bias
GREED (56-75) + Bearish Order Flow @ Resistance
→ FAVOR SHORTS | Watch distribution | Fake breakouts likely
EXTREME GREED (76-100) + Bearish Order Flow @ Resistance
→ ★ AGGRESSIVE SHORTS | Size up 1.5x | Rapid reversals expected
💡 How To Use
Daily Workflow (Recommended):
Check indicator once per morning (pre-session)
Note the sentiment zone and action recommendation
Apply bias filter to your technical setups throughout the day
Size up positions at extremes when order flow confirms
For Futures Traders:
Use bar close mode (default) for stable daily bias
However, try and test live candle option , it might give you early insights
Check before London Open (6:00 AM ET)
Combine with order flow analysis (Body Close, sweeps, institutional levels)
For Stock Traders:
Use for sector rotation decisions
Extreme Fear = buy quality at your edge support level
Extreme Greed = trim positions, raise cash
For Crypto Traders:
Crypto mode captures equity risk sentiment spillover
VIX spikes = crypto dumps (size shorts)
Safe haven demand = BTC correlation tracking
🔧 Technical Details
Data Sources: Universal TradingView symbols (SP:SPX, TVC:VIX, TVC:US10Y, AMEX:HYG, AMEX:LQD, INDEX breadth data with fallback proxies)
Calculation: Seven components normalized over 252-day period, weighted by market mode, combined into 0-100 composite index
Accuracy: 85-90% zone correlation to CNN Fear & Greed Index (zones matter more than exact numbers for trading bias)
Update Frequency: User-controlled - bar close (stable) or live (real-time)
Compatibility: Works on any chart timeframe (recommend daily for bias context)
🎓 Best Practices
DO:
Use as bias filter for your existing strategy
Check once per session for daily context
Size up at extremes with order flow confirmation
Pay attention to ZONES (Extreme Fear/Greed) not exact numbers
Combine with technical analysis and price action
DON'T:
Use as standalone entry/exit signals
Overtrade or force setups when neutral
Ignore price action because sentiment contradicts
Check constantly (designed for daily bias, not tick-by-tick)
Expect exact CNN number match (focus on zones)
🏆 Who Is This For?
Futures Traders - ES/NQ intraday traders needing daily bias context
Stock Traders - Equity swing traders and stock pickers
Crypto Traders - BTC/ETH traders following equity risk sentiment
Position Traders - Anyone wanting institutional sentiment context
Systematic Traders - Adding sentiment filter to mechanical systems
📚 Based On CNN Fear & Greed Methodology
This indicator builds upon CNN Business's proven Fear & Greed Index framework, enhancing it with:
Market-specific component weighting (Futures/Stocks/Crypto)
Actionable trading recommendations with position sizing
Institutional market context and framing
Flexible display options for different trading workflows
Universal data compatibility for all TradingView users
Bear & Bull Builder // visual strategy builderAre you a trend follower?
Trend following systems have been a cornerstone of trading since the first candlestick charts were invented in 18th-century Japan by Munehisa Homma (or Honma), a legendary rice merchant who used them to analyze market sentiment and predict price movements. Since then, legendary traders like Richard Dennis and Dr. David Paul have used technical analysis—the study of turning points and trends of candlestick charts—to develop an edge and strategy for trading equity, commodity, and forex markets.
How to Utilize the Bear & Bull Builder
This script is a way to pick and choose technical methods like SMAs and EMAs to define trend exits and entries. Additionally, you can specify an ATR (Average True Range) calculated stop loss based on your individual strategy and trading plan. Within the settings panel, you can set up this script to display only Long Position values, zones, and levels—or configure it for shorts, or both.
What Makes This Original
Unlike most trend-following indicators that lock you into a single approach, this script lets you combine different indicator types (RSI, WaveTrend, CCI, EMA, SMA) across three separate trend timeframes. The originality comes from the flexibility: you can test whether momentum-based trends (like RSI) work better than moving averages for your timeframe, or experiment with mixing them together. The script also bridges the gap between manual trading and automation by providing visual position values and fill zones that show exactly where signals generate versus where orders execute—critical information most scripts ignore.
Getting Started
For this quick and easy setup example, I built a strategy that is long-only, displays only long positional data and values, and uses a 21 & 55 period exponential moving average for the short and medium-term trend in addition to an 89 period simple moving average for my longer-term outlook. I have set my ATR-based multiplier to 0.75, and have left the fill zone display turned on to help visualize when to set up the built-in alerts for automating my strategy. I have made this the default settings of the script.
Positional Values
GREEN NUMBERS → Entry signal price
YELLOW NUMBERS → Stop loss price
BLUE NUMBERS → Exit signal price
IMPORTANT
I cannot describe how useful it is to use TradingView's built-in Long and Short position tools! The whole reason for this script is that it is as manually friendly as it is automated—especially for backtesting. You can use the long position tool to measure exact profits and losses on individual trades for the strategies you build. This can really help you see clearly if you have built a system with positive expectancy.
Tables
1. Settings Display Table
Displays the trend types that are configurable in the settings panel. Shows if positional values for longs and shorts are currently displayed.
2. Back testing Table
Displays the total amount of long and short entry signals since the first bar of the chart. Additionally, it displays the average amount of bars per trade (time in trade).
Alerts & Automation
There are 4 built-in alerts for automating your strategy to an external server:
1.Long Entries
2.Long Exits
3.Short Entries
4.Short Exits
Since this script uses confirmed bar states for alert generation (to avoid repainting), all alerts and displayed position values (the green, yellow, and blue numbers) will be sent on the closing price. Each alert has a placeholder preset for further customization.
Technical Details
How the trend detection works:
Bullish state triggers when close > all three selected trends
Bearish state triggers when close < all three selected trends
Uses barstate.isconfirmed to prevent repainting
Stop loss calculation:
Long stops: highest_trend - (ATR × multiplier)
Short stops: lowest_trend + (ATR × multiplier)
ATR period is fixed at 20 bars, multiplier is user-adjustable
Entry placement logic:
Long entries execute at the highest value among the three selected trends
Short entries execute at the lowest value among the three selected trends
This ensures entries occur near the support/resistance created by the trend lines
Why calculate all indicators upfront:
The script calculates all five indicator types (EMA, SMA, RSI, CCI, WaveTrend) for all three trend lengths on every bar, then selectively uses the ones you choose in settings. This prevents Pine Script consistency warnings while maintaining flexibility.
Biller Project//@version=6
indicator("Hoon Fib Project", shorttitle ="Hoon Fib", overlay = true, max_bars_back = 5000)
// -----------------------------------------------------------------------------
// ~~ Tooltips & Constants
// -----------------------------------------------------------------------------
var string t1 = "Period: Number of bars used to detect swing highs and swing lows."
var string t2 = "Projection Level: Fibonacci ratio used to calculate the projected future targets."
var string t2_b = "Trend Projection Ratio: The secondary Fibonacci ratio for extensions."
var string t15 = "Fib Volume Profile: Enable volume profile drawn between the last swing high and low."
var string t20 = "Fib Volume Delta: Enable volume delta profile between Fibonacci price bands."
// -----------------------------------------------------------------------------
// ~~ Inputs
// -----------------------------------------------------------------------------
// Group: General Settings
prd = input.int(100, "Period", group = "Fib Settings", tooltip = t1)
lvl = input.float(0.618, "Projection Level", options = , group = "Fib Settings", tooltip = t2)
trendFibbRatio = input.float(1.272, "Trend Projection Ratio", step = 0.001, group = "Fib Settings", tooltip = t2_b)
// Group: Fib Levels Style
fibLvl1 = input.float(0.236, "Level 1", group = "Fib Levels Style", inline = "f1")
fibColor236 = input.color(#f23645, "", group = "Fib Levels Style", inline = "f1")
fibLvl2 = input.float(0.382, "Level 2", group = "Fib Levels Style", inline = "f2")
fibColor382 = input.color(#81c784, "", group = "Fib Levels Style", inline = "f2")
fibLvl3 = input.float(0.500, "Level 3", group = "Fib Levels Style", inline = "f3")
fibColor500 = input.color(#4caf50, "", group = "Fib Levels Style", inline = "f3")
fibLvl4 = input.float(0.618, "Level 4", group = "Fib Levels Style", inline = "f4")
fibColor618 = input.color(#089981, "", group = "Fib Levels Style", inline = "f4")
fibLvl5 = input.float(0.786, "Level 5", group = "Fib Levels Style", inline = "f5")
fibColor786 = input.color(#64b5f6, "", group = "Fib Levels Style", inline = "f5")
// Golden Pocket - FIXED COLOR HERE
showGP = input.bool(true, "Show Golden Pocket (0.65)", group = "Fib Levels Style")
gpColor = input.color(color.new(#FFD700, 85), "GP Color", group = "Fib Levels Style")
fibLineWidth = input.int(2, "Fib Line Width", minval = 1, maxval = 5, group = "Fib Levels Style")
showlab = input.bool(true, "Show Labels", group = "Fib Levels Style", inline = "fiblab")
fibLabelColor = input.color(color.white, "Text Color", group = "Fib Levels Style", inline = "fiblab")
fibLabelSizeStr = input.string("Small", "Size", options = , group = "Fib Levels Style", inline = "fiblab")
fibLabelSize = switch fibLabelSizeStr
"Tiny" => size.tiny
"Small" => size.small
"Large" => size.large
=> size.normal
// Group: Swing High/Low Lines
loLineColor = input.color(color.new(color.green, 0), "Low Line", group = "Swing High/Low Lines Style", inline = "hi")
hiLineColor = input.color(color.new(color.red, 0), "High Line", group = "Swing High/Low Lines Style", inline = "hi")
hiloLineWidth = input.int(2, "Width", 1, 5, group = "Swing High/Low Lines Style", inline = "hi")
// Group: Fib Volume Profile
showFibProfile = input.bool(true, "Show Volume Profile", group = "Fib Volume Profile", tooltip = t15)
rows = input.int(24, "Rows", 2, 100, group = "Fib Volume Profile")
flipOrder = input.bool(false, "Flip Bull/Bear", group = "Fib Volume Profile")
bull_color = input.color(color.new(color.teal, 30), "Bull Vol", group = "Fib Volume Profile", inline = "volColor")
bear_color = input.color(color.new(color.orange, 30), "Bear Vol", group = "Fib Volume Profile", inline = "volColor")
showVolText = input.bool(true, "Show Values", group = "Fib Volume Profile", inline = "vtxt")
// Point of Control (POC)
showPOC = input.bool(true, "Show POC Line", group = "Fib Volume Profile")
pocColor = input.color(color.yellow, "POC Color", group = "Fib Volume Profile")
// Group: Fib Volume Delta
showFibDelta = input.bool(false, "Show Volume Delta", group = "Fib Volume Delta Profile", tooltip = t20)
deltaMaxWidth = input.int(30, "Max Width (Bars)", minval = 5, maxval = 200, group = "Fib Volume Delta Profile")
deltaBullColor = input.color(color.new(color.lime, 80), "Bull Delta", group = "Fib Volume Delta Profile", inline = "dc")
deltaBearColor = input.color(color.new(color.red, 80), "Bear Delta", group = "Fib Volume Delta Profile", inline = "dc")
// Group: Projection Style
projLineBullColor = input.color(color.new(color.green, 0), "Proj Bull", group = "Projection Style", inline = "plc")
projLineBearColor = input.color(color.new(color.red, 0), "Proj Bear", group = "Projection Style", inline = "plc")
projLineWidth = input.int(2, "Width", 1, 5, group = "Projection Style", inline = "plc")
projLineStyleStr = input.string("Arrow Right", "Style", options = , group = "Projection Style")
projLineStyle = switch projLineStyleStr
"Solid" => line.style_solid
"Dashed" => line.style_dashed
"Dotted" => line.style_dotted
=> line.style_arrow_right
// Group: Projection Box
projBoxBgOn = input.bool(true, "Box Bg", group = "Projection Box Style", inline = "pbg")
projBoxBgColor = input.color(color.new(color.blue, 80), "", group = "Projection Box Style", inline = "pbg")
projBoxTextColor = input.color(color.white, "Text", group = "Projection Box Style", inline = "pbg")
// NEW: Biller's Info Box Inputs
showBillerBox = input.bool(true, "Show Biller's Insight", group = "Biller's Insight")
billerPos = input.string("Top Right", "Position", options = , group = "Biller's Insight")
// -----------------------------------------------------------------------------
// ~~ Calculations
// -----------------------------------------------------------------------------
// Swing detection
hi = ta.highest(high, prd)
lo = ta.lowest(low, prd)
isHi = high == hi
isLo = low == lo
HB = ta.barssince(isHi)
LB = ta.barssince(isLo)
hiPrice = ta.valuewhen(isHi, high, 0)
loPrice = ta.valuewhen(isLo, low, 0)
hiBar = ta.valuewhen(isHi, bar_index, 0)
loBar = ta.valuewhen(isLo, bar_index, 0)
// Persistent Drawing Objects
var line hiLine = line.new(na, na, na, na, color = hiLineColor, width = hiloLineWidth)
var line loLine = line.new(na, na, na, na, color = loLineColor, width = hiloLineWidth)
var array fibbLines = array.new_line()
var array fibbLabels = array.new_label()
var array gpBoxes = array.new_box()
var array forecastLines = array.new_line()
var array areas = array.new_box()
var array perc = array.new_label()
var array fibProfileBoxes = array.new_box()
var array pocLines = array.new_line()
var array fibDeltaBoxes = array.new_box()
// Helper Functions
fibbFunc(v, last, h, l) => last ? h - (h - l) * v : l + (h - l) * v
cleaner(a, idx) =>
if idx >= 0 and idx < array.size(a)
el = array.get(a, idx)
if not na(el)
el.delete()
array.remove(a, idx)
// -----------------------------------------------------------------------------
// ~~ Logic Execution
// -----------------------------------------------------------------------------
if not na(HB) and not na(LB) and not na(hiPrice) and not na(loPrice)
// 1. Update Swing High/Low Lines
line.set_xy1(hiLine, hiBar, hiPrice)
line.set_xy2(hiLine, bar_index, hiPrice)
line.set_color(hiLine, hiLineColor)
line.set_xy1(loLine, loBar, loPrice)
line.set_xy2(loLine, bar_index, loPrice)
line.set_color(loLine, loLineColor)
// 2. Clear old drawings
while array.size(fibbLines) > 0
cleaner(fibbLines, 0)
while array.size(fibbLabels) > 0
cleaner(fibbLabels, 0)
while array.size(gpBoxes) > 0
cleaner(gpBoxes, 0)
while array.size(forecastLines) > 0
cleaner(forecastLines, 0)
while array.size(areas) > 0
cleaner(areas, 0)
while array.size(perc) > 0
cleaner(perc, 0)
// 3. Draw Fib Retracements
lvls = array.from(fibLvl1, fibLvl2, fibLvl3, fibLvl4, fibLvl5)
cols = array.from(fibColor236, fibColor382, fibColor500, fibColor618, fibColor786)
baseOffset = HB > LB ? LB : HB
xFibStart = bar_index - baseOffset
// Golden Pocket Logic
if showGP
gp618 = fibbFunc(0.618, HB < LB, hiPrice, loPrice)
gp65 = fibbFunc(0.65, HB < LB, hiPrice, loPrice)
gpBox = box.new(xFibStart, gp618, bar_index + 5, gp65, bgcolor = gpColor, border_color = na)
array.push(gpBoxes, gpBox)
for in lvls
f = fibbFunc(e, HB < LB, hiPrice, loPrice)
ln = line.new(xFibStart, f, bar_index, f, color = cols.get(i), width = fibLineWidth)
array.push(fibbLines, ln)
if showlab
lbl = label.new(bar_index + 1, f, str.tostring(e * 100, "#.##") + "%",
textcolor = fibLabelColor, style = label.style_label_left, size = fibLabelSize, color = cols.get(i))
array.push(fibbLabels, lbl)
// 4. Draw Projections
bars = math.abs(HB - LB)
fibb = fibbFunc(lvl, LB > HB, hiPrice, loPrice)
fibb2 = LB < HB ? fibbFunc(lvl, true, fibb, loPrice) : fibbFunc(lvl, false, hiPrice, fibb)
trendfibb = LB > HB ? fibbFunc(trendFibbRatio, true, hiPrice, loPrice) : fibbFunc(trendFibbRatio, false, hiPrice, loPrice)
forecast = array.from(HB < LB ? hiPrice : loPrice, fibb, fibb2, trendfibb)
segment = math.min(bars, math.floor(500.0 / 4.0))
future = bar_index
for i = 0 to forecast.size() - 2
y1 = forecast.get(i)
y2 = forecast.get(i + 1)
x2 = math.min(future + segment, bar_index + 500)
// Draw Projection Line
lnForecast = line.new(future, y1, x2, y2, color = y1 < y2 ? projLineBullColor : projLineBearColor, width = projLineWidth, style = projLineStyle)
array.push(forecastLines, lnForecast)
// Draw Target Box
midBoxLeft = x2 - math.round((future - x2) / 4.0)
txtLevel = i == forecast.size() - 2 ? str.tostring(trendFibbRatio, "#.###") : str.tostring(lvl * 100, "#.##")
boxHeight = math.abs(y1 - y2) / 10.0
bx = box.new(midBoxLeft, y2 + boxHeight, x2 + math.round((future - x2) / 4.0), y2 - boxHeight,
bgcolor = projBoxBgOn ? projBoxBgColor : na, border_width = 1,
text = txtLevel, text_color = projBoxTextColor)
array.push(areas, bx)
future += segment
// 5. Volume Profile Logic
if showFibProfile and hiBar != loBar
while array.size(fibProfileBoxes) > 0
cleaner(fibProfileBoxes, 0)
while array.size(pocLines) > 0
cleaner(pocLines, 0)
top = math.max(hiPrice, loPrice)
bottom = math.min(hiPrice, loPrice)
step = (top - bottom) / rows
// Define bins
volUp = array.new_float(rows, 0.0)
volDn = array.new_float(rows, 0.0)
startBar = math.min(hiBar, loBar)
endBar = math.max(hiBar, loBar)
for bi = startBar to endBar
offset = bar_index - bi
if offset < 4999
p = hlc3
v = nz(volume )
isBull = close > open
// Find correct bin
if p >= bottom and p <= top
idx = int((p - bottom) / step)
idx := math.min(idx, rows - 1)
if isBull
array.set(volUp, idx, array.get(volUp, idx) + v)
else
array.set(volDn, idx, array.get(volDn, idx) + v)
// Draw Volume Boxes and Calc POC
maxTot = 0.0
maxTotIdx = 0 // Track index of max volume
for i = 0 to rows - 1
tot = array.get(volUp, i) + array.get(volDn, i)
if tot > maxTot
maxTot := tot
maxTotIdx := i
span = endBar - startBar + 1
blendTxtColor = color.new(color.white, 30)
minWidthForText = 2
if maxTot > 0
for r = 0 to rows - 1
upV = array.get(volUp, r)
dnV = array.get(volDn, r)
if upV + dnV > 0
normUp = int((upV / maxTot) * span)
normDn = int((dnV / maxTot) * span)
yTop = bottom + step * (r + 1)
yBot = bottom + step * r
// Draw Bull Box
if normUp > 0
txtBull = (showVolText and normUp > minWidthForText) ? str.tostring(upV, format.volume) : ""
bxBull = box.new(startBar + (flipOrder ? 0 : normDn), yTop, startBar + (flipOrder ? normUp : normUp + normDn), yBot,
bgcolor = bull_color, border_style = line.style_dotted, border_color = color.new(bull_color, 50),
text = txtBull, text_color = blendTxtColor, text_size = size.tiny, text_halign = text.align_center, text_valign = text.align_center)
array.push(fibProfileBoxes, bxBull)
// Draw Bear Box
if normDn > 0
txtBear = (showVolText and normDn > minWidthForText) ? str.tostring(dnV, format.volume) : ""
bxBear = box.new(startBar + (flipOrder ? normUp : 0), yTop, startBar + (flipOrder ? normUp + normDn : normDn), yBot,
bgcolor = bear_color, border_style = line.style_dotted, border_color = color.new(bear_color, 50),
text = txtBear, text_color = blendTxtColor, text_size = size.tiny, text_halign = text.align_center, text_valign = text.align_center)
array.push(fibProfileBoxes, bxBear)
// Draw POC Line
if showPOC
pocY = bottom + step * (maxTotIdx + 0.5) // Midpoint of max bin
pocLn = line.new(startBar, pocY, bar_index + 10, pocY, color = pocColor, width = 2, style = line.style_solid)
array.push(pocLines, pocLn)
// 6. Volume Delta Logic
if showFibDelta and hiBar != loBar
while array.size(fibDeltaBoxes) > 0
cleaner(fibDeltaBoxes, 0)
fibPrices = array.new_float()
array.push(fibPrices, hiPrice)
array.push(fibPrices, loPrice)
for e in lvls
array.push(fibPrices, fibbFunc(e, HB < LB, hiPrice, loPrice))
array.sort(fibPrices)
bandsCount = array.size(fibPrices) - 1
bandBull = array.new_float(bandsCount, 0.0)
bandBear = array.new_float(bandsCount, 0.0)
startBar = math.min(hiBar, loBar)
endBar = math.max(hiBar, loBar)
for bi = startBar to endBar
offset = bar_index - bi
if offset < 4999
p = hlc3
v = nz(volume )
isBull = close > open
for b = 0 to bandsCount - 1
bLow = array.get(fibPrices, b)
bHigh = array.get(fibPrices, b + 1)
if p >= bLow and p < bHigh
if isBull
array.set(bandBull, b, array.get(bandBull, b) + v)
else
array.set(bandBear, b, array.get(bandBear, b) + v)
break
maxAbsDelta = 0.0
for b = 0 to bandsCount - 1
maxAbsDelta := math.max(maxAbsDelta, math.abs(array.get(bandBull, b) - array.get(bandBear, b)))
if maxAbsDelta > 0
for b = 0 to bandsCount - 1
delta = array.get(bandBull, b) - array.get(bandBear, b)
if delta != 0
widthBars = int((math.abs(delta) / maxAbsDelta) * deltaMaxWidth)
widthBars := math.max(widthBars, 1)
col = delta >= 0 ? deltaBullColor : deltaBearColor
dBox = box.new(startBar - widthBars, array.get(fibPrices, b+1), startBar, array.get(fibPrices, b),
bgcolor = col, border_color = na,
text = "Δ " + str.tostring(delta, format.volume), text_color = color.new(color.white, 20), text_size = size.small)
array.push(fibDeltaBoxes, dBox)
// -----------------------------------------------------------------------------
// ~~ Biller's Info Box Logic
// -----------------------------------------------------------------------------
var table infoTable = table.new(
position = billerPos == "Top Right" ? position.top_right : billerPos == "Bottom Right" ? position.bottom_right : billerPos == "Bottom Left" ? position.bottom_left : position.top_left,
columns = 1,
rows = 3,
bgcolor = color.new(color.black, 40),
border_width = 1,
border_color = color.new(color.white, 80)
)
if showBillerBox and barstate.islast
// Determine Bias: If the last Pivot was a LOW (LB < HB), market is technically trending UP from that low.
bool isBullish = LB < HB
string biasTitle = isBullish ? "🐂 BULLISH BIAS" : "🐻 BEARISH BIAS"
color biasColor = isBullish ? color.new(color.green, 20) : color.new(color.red, 20)
string biasMsg = isBullish ? "Don't look for shorts, Biller!" : "Don't look for longs, Biller!"
// Array of Quotes
string quotes = array.from(
"Biller, you're not gonna pass ur eval looking at the chart all day.",
"Fuck it, go in. I believe in u.",
"Trust JD's Signals.",
"Scared money makes no money, Biller.",
"Evaluation is just a mindset.",
"JD is watching... don't fumble.",
"Are you really gonna take that trade?",
"Wait for the setup, Biller.",
"Don't be a liquidity exit, Biller."
)
int quoteIdx = bar_index % array.size(quotes)
string currentQuote = array.get(quotes, quoteIdx)
// Row 1: Bias Header
table.cell(infoTable, 0, 0, biasTitle, bgcolor = biasColor, text_color = color.white, text_size = size.normal)
// Row 2: Instruction
table.cell(infoTable, 0, 1, biasMsg, text_color = color.white, text_size = size.small)
// Row 3: Motivation/Quote
table.cell(infoTable, 0, 2, "\"" + currentQuote + "\"", text_color = color.yellow, text_size = size.small, text_halign = text.align_center)
Asian and London Session High-Low (Auto UK DST) + PDH/PDLThis indicator automatically plots Asian session (7:00am–2:00pm MYT) and London session high/low using Malaysian time, with London adjusting automatically for UK Daylight Saving Time (4:00pm–9:00pm MYT in winter, 3:00pm–8:00pm MYT during DST).
It also shows Previous Day High/Low (PDH/PDL) and a 7:00am MYT daily reset line, while No-Trade zones are available but turned OFF by default and can be enabled when needed.
ATR Momentum Status v.2ATR Momentum Status Version 2 locked ATR Momentum Status (Bar-Close Confirmed)
In previous versions, the ATR momentum status could change intrabar while the candle was still forming. In v.2, the ATR momentum is calculated only after the candle closed and is locked until the next candle closes.
Why this matters:
Prevents repainting or intrabar flipping
Ensures what you see on the dashboard is fully confirmed
Makes replay mode and backtesting reliable
How Traders Use It:
This tool is best used as a confirmation layer, not a standalone signal. Common use cases:
- Confirming FVG / CE acceptance
- Validating displacement candles
- Filtering trades to only Strong / Expansion conditions
- Avoiding entries during weak or declining volatility
Key Concept:
Price can move without momentum, but momentum confirms intent. With the ATR status locked after candle close, v.2 ensures every ATR reading represents real, confirmed market participation, making it safer for execution-based strategies.
ICT CISD+FVG+OBThis script is a high-performance ICT suite designed for traders who want a professional, "noise-free" chart. It identifies core institutional patterns—Order Blocks, Fair Value Gaps, and Changes in State of Delivery (CISD)—across multiple timeframes.
The script features a proprietary Proximity Cleanup Engine that automatically deletes old or broken levels, keeping your workspace focused only on price action that is currently tradeable. It strictly follows directional delivery rules for CISD and includes a 50-candle "freshness" limit to ensure you never have to manually clear old data from your past bars.
Core Features
Intelligent CISD: Only triggers Bullish CISD on green candles and Bearish CISD on red candles.
Proximity Filter: Automatically wipes away any levels that are "miles away" from the current price.
Clean Workspace: Removes broken session highs/lows and mitigated zones instantly.
Full Customization: Toggle visibility and colors for every component via the settings menu.
Last Swing Anchor Zones - EnhancedLast Swing Anchor Zones automatically identifies major swing highs and lows on your chart and draws shaded reaction zones around them. These zones represent potential support and resistance areas where price may react.
How It Works:
• Detects pivot points using a customizable lookback period (default: 6 bars)
• Creates semi-transparent zones around each swing point
• Displays up to 3 most recent zones (configurable)
• Shows price labels for quick reference
• Zones extend forward to highlight future price interaction areas
How to Use:
• Teal/cyan zones = resistance levels (swing highs)
• Red/pink zones = support levels (swing lows)
• Look for price reactions when approaching these zones
• Use as confluence with your existing trading strategy
• Adjust zone width % to match your timeframe and volatility
Customizable Settings:
• Pivot Lookback: Change sensitivity (lower = more zones, higher = fewer major swings)
• Zone Width %: Adjust zone thickness
• Max Zones: Display 1-10 recent zones
• Colors: Customize zone and label colors
• Show Labels: Toggle price labels on/off
Order Blocks+swl - Dual MTF Fixed ExtendedOrder Blocks+SWL - Dual MTF with Swing Validation
Overview
This advanced TradingView indicator combines Multi-Timeframe Order Block detection with Swing High/Low validation to identify high-probability supply and demand zones. The tool displays order blocks from higher timeframes and current timeframe, then highlights those that align with swing points for enhanced reliability.
🔧 Key Features
Multi-Timeframe Order Block Detection
- Current Timeframe: Detects order blocks on the chart's native timeframe
- HTF1 & HTF2: Two customizable higher timeframes (default: 60m, 240m)
- Independent Toggles: Enable/disable each timeframe's OBs separately
Smart Order Block Logic
- Long Order Blocks: Formed when current candle's LOW > middle candle's HIGH
- Short Order Blocks: Formed when current candle's HIGH < middle candle's LOW
- Persistent Display: Boxes extend until price fills the zone
- Color Coding:
- Current TF: Green (long) / Red (short)
- HTF1: Orange (long) / Maroon (short)
- HTF2: Blue (long) / Purple (short)
Swing Point Integration
-Swing Lows (SWL) & Swing Highs (SWH): Automatically detected using pivots
-Validation Overlay: Highlights order blocks that coincide with swing points
- Lime boxes: Long OBs with SWL confirmation
- Fuchsia boxes: Short OBs with SWH confirmation
Visual Elements
- Order Block Boxes: Semi-transparent zones with bold borders
- Entry Markers: Triangle shapes below/above bars for visual confirmation
- Swing Labels: SWL/SWH labels at pivot points
- Valid OB Overlay: Distinctive colored boxes for validated zones
⚙️ Input Parameters
Display Controls
- `Show Long OBs`: Toggle long order block display
- `Show Short OBs`: Toggle short order block display
- `Show Current TF OBs`: Display order blocks from current timeframe
- `Use HTF1/HTF2 OBs`: Enable higher timeframe order blocks
- `HTF1/HTF2`: Customizable timeframe strings
Technical Settings
- `My Input`: Maximum unfilled boxes to display (50-50000, default: 1000)
- `Swing Lookback / Forward Length`: Pivot detection sensitivity (default: 10)
📊 How It Works
1. Order Block Detection: The indicator scans three timeframes for specific candlestick patterns that indicate potential supply/demand zones.
2. Swing Point Detection: Simultaneously identifies swing highs and lows using pivot logic.
3. Validation Overlay: When an order block forms on the same candle as a swing point, it creates a special highlighted zone indicating higher probability.
4. Memory Management: Automatically manages box count to prevent performance issues while maintaining historical context.
🎯 Trading Applications
- Trend Continuation: Validated order blocks in trend direction offer high-probability entries
- Reversal Zones: Swing-aligned order blocks at key levels suggest potential reversals
- Multi-Timeframe Analysis: Higher timeframe OBs provide stronger support/resistance
- Zone Trading: Trade bounces from or breaks through validated zones
💡 Usage Tips
1. Prioritize Validated Zones: Focus on lime/fuchsia boxes as they have swing confirmation
2. Timeframe Hierarchy: HTF2 (240m) > HTF1 (60m) > Current TF for zone strength
3. Combine with Price Action: Use zones alongside candlestick patterns and volume
4. Risk Management: Place stops beyond opposite side of order block
⚠️ Limitations
- Not a standalone trading system - combine with other analysis
- May repaint on current bar until close
- Higher timeframes require sufficient historical data
- Swing detection sensitivity depends on length parameter
---
Note: This tool is for educational purposes. Always practice proper risk management and backtest strategies before live trading.
DI +/- Breakout SignalBreakout Signals based on the DI+ and DI- values cross and pass the treshold. Signals will be displayed when bullish and bearish momentum start building, move the mouse over the signal for explanation. For better results use along with other confirmation indicators like MACD and VWAP.
EMA Slope CheckerWhat it does: Shows slope/angle of EMA 9, 20, and 50 simultaneously on separate lines.
What it tells you:
EMA 50 slope = Trend direction (bullish/bearish)
EMA 20 slope = Setup strength at FVG zones
EMA 9 slope = Entry timing/momentum
Key feature: Table with arrows showing if each EMA is rising (↑) or falling (↓).
For your FVG system: Tells you if all 3 EMAs are aligned before entering a trade.
Gold Projection DivergenceGOLD PROJECTION DIVERGENCE
Oscillator Companion for the Gold Macro Projection Model
OVERVIEW
The Gold Projection Divergence oscillator quantifies how far gold is trading from its projected fair value. While the main indicator shows where gold should be, this oscillator shows how extreme the mispricing is—providing precise timing signals for entries and exits.
HOW IT WORKS
The oscillator calculates the difference between actual gold price and the projected value, then normalizes it as a Z-score . This statistical measure shows how many standard deviations gold is trading away from its projected fair value.
Z > +2 — Gold is 2+ standard deviations above fair value (extremely overvalued)
Z > +1 — Gold is moderately overvalued
Z = 0 — Gold is trading at projected fair value
Z < -1 — Gold is moderately undervalued
Z < -2 — Gold is 2+ standard deviations below fair value (extremely undervalued)
VISUAL ELEMENTS
Histogram — Color-coded divergence magnitude
Yellow Line — Smoothed Z-score
Dashed Lines — +2 and -2 standard deviation levels
Dotted Lines — +1 and -1 standard deviation levels
Triangle Markers — Extreme crossover signals
Circle Markers — Zero-line crossings
HISTOGRAM COLORS
Dark Red — Z > +2 (extreme overvaluation)
Orange — Z between +1 and +2
Light Orange — Z between 0 and +1
Light Green — Z between -1 and 0
Green — Z between -2 and -1
Lime — Z < -2 (extreme undervaluation)
COMPONENT TABLE
The breakdown table shows divergence from each individual factor:
Silver — Is gold over/undervalued relative to silver?
M2 — Is gold over/undervalued relative to money supply?
DXY — Is gold over/undervalued relative to dollar strength?
Equity — Is gold over/undervalued relative to stocks?
TIPS — Is gold over/undervalued relative to real rates?
TRADING APPLICATIONS
Mean Reversion Strategy
Enter LONG when Z < -2 and begins rising
Enter SHORT when Z > +2 and begins falling
Use zero-line crossings for trend confirmation
Trend Following Filter
Only take long trades when Z < 0 (undervalued)
Only take short trades when Z > 0 (overvalued)
Divergence Confirmation
Bearish: Price makes new highs while Z-score makes lower highs
Bullish: Price makes new lows while Z-score makes higher lows
ALERTS
Extreme Undervaluation — Z crosses below -2
Extreme Overvaluation — Z crosses above +2
Moderate Undervaluation — Z crosses below -1
Moderate Overvaluation — Z crosses above +1
Divergence Turned Positive — Crossed above zero
Divergence Turned Negative — Crossed below zero
COMBINED USAGE
For best results, use both indicators together :
Main Indicator — Visual context of actual vs. projected on price chart
Divergence Oscillator — Precise measurement for timing decisions
The main indicator shows where gold should be; the oscillator shows how extreme the mispricing is and when to act.
Disclaimer: This indicator is for educational purposes only. Past correlations do not guarantee future relationships. Market conditions can alter historical relationships. Always use proper risk management.
Gold Macro Projection ModelGOLD MACRO PROJECTION MODEL
Multi-Factor Fair Value Estimation for Gold
OVERVIEW
The Gold Macro Projection Model estimates gold's fair value based on its historical relationships with key macroeconomic drivers. By synthesizing data from silver , M2 money supply , the US Dollar Index , TIPS (real rates proxy) , and major equity indices , this indicator projects where gold should theoretically be trading—helping traders identify potential overvaluation and undervaluation conditions.
HOW IT WORKS
This indicator employs three complementary projection methodologies :
Correlation-Weighted Z-Score Composite (50% weight)
Calculates rolling correlations between gold and each input factor. Factors with stronger correlations receive more influence. Each factor is normalized to a z-score, combined into a composite, then converted back to gold's price scale.
Silver/Gold Ratio Mean Reversion (35% weight)
The silver/gold ratio historically exhibits mean-reverting behavior. This component projects gold's implied price based on current silver prices and the historical average ratio.
M2 Money Supply Relationship (15% weight)
Gold tracks monetary expansion over long time horizons. This anchors the projection to the fundamental relationship between gold and the monetary base.
INPUT FACTORS
Silver — Strong positive correlation; precious metals move together
M2 Money Supply — Positive correlation; gold as inflation hedge
US Dollar Index (DXY) — Typically negative correlation; inverse relationship
TIPS ETF — Real interest rate proxy; gold responds to real yields
Equity Indices — Variable correlation; risk-on/risk-off dynamics
VISUAL ELEMENTS
Yellow Line — Actual gold price
Aqua Line — Projected fair value
Green Fill — Gold trading below projection (potentially undervalued)
Red Fill — Gold trading above projection (potentially overvalued)
Aqua Bands — Standard deviation envelope around projection
INFO TABLE
The indicator displays a real-time information panel showing:
Current actual vs. projected price
Divergence percentage and Z-score
Rolling correlations for each factor
Dynamic weight allocation
Buy/Sell signal based on divergence extremes
SIGNAL INTERPRETATION
STRONG BUY — Z-score below -2 (extremely undervalued)
BUY — Z-score between -2 and -1 (moderately undervalued)
NEUTRAL — Z-score between -1 and +1 (fairly valued)
SELL — Z-score between +1 and +2 (moderately overvalued)
STRONG SELL — Z-score above +2 (extremely overvalued)
SETTINGS
Correlation Period — Lookback for correlation calculations (default: 60)
Regression Period — Lookback for mean/standard deviation (default: 120)
Smoothing Period — EMA smoothing for projection line (default: 10)
Auto Weights — Toggle between correlation-based or manual weights
Band Multiplier — Standard deviation multiplier for bands (default: 1.5)
ALERTS
Gold Extremely Undervalued — Z crosses below -2
Gold Extremely Overvalued — Z crosses above +2
Gold Crossed Above Projection
Gold Crossed Below Projection
BEST PRACTICES
Use on daily timeframe for most reliable signals
Combine with the companion Gold Divergence Oscillator for timing
Disclaimer: This indicator is for educational purposes only. Past correlations do not guarantee future relationships. Always use proper risk management.
QUARTERLY THEORY TRUE OPENSQUARTERLY THEORY TRUE OPENS
Multi-cycle True Open indicator based on quarterly cycle theory, with precise cycle-begin termination logic.
OVERVIEW
TRUE OPENS (Cycle Q2) plots the True Open (Q2 open) across multiple market cycles and extends each level only until the next cycle begins.
This mirrors how price actually respects quarterly structure: a True Open is relevant only within its active cycle.
The indicator uses New York (exchange) time, is DST-aware, and relies on a 1-minute event engine to ensure accuracy and visibility across all intraday and higher timeframes — even when candle opens do not align with exact timestamps (e.g., 4H, Daily, Weekly charts).
WHAT IS A TRUE OPEN?
In quarterly cycle theory, each cycle is divided into four quarters (Q1–Q4).
The Q2 opening price — the True Open — often acts as:
A gravitational price level
A premium/discount reference
A mean price the market revisits during the cycle
This indicator tracks those Q2 opens across Micro, Session, Daily, Weekly, Monthly, and Yearly cycles, while respecting each cycle’s actual beginning and end.
CYCLES & DEFINITIONS
All times are New York (Exchange Time).
Micro Cycle
True Opens (Q2):
:22:30 and :52:30
Automatically rounded down on the 1-minute chart (:22, :52)
Cycle Begins:
18:45, 19:30, 20:15, 21:00
Repeats every 45 minutes, anchored at 18:45
Session Cycle (6-Hour)
True Opens (Q2):
19:30, 01:30, 07:30, 13:30
Cycle Begins:
18:00, 00:00, 06:00, 12:00
Daily Cycle
True Open (Q2):
00:00
Cycle Begins:
18:00
Weekly Cycle
True Open (Q2):
Monday 18:00
Cycle Begins:
Sunday 18:00
Monthly Cycle
True Open (Q2):
Second Monday of the month at 00:00
Cycle Begins:
First Sunday of the month at 18:00
Yearly Cycle
True Open (Q2):
First weekday of April at 00:00
Cycle Begins:
First Sunday of the year at 18:00
VISUAL LOGIC
Each True Open is plotted as a horizontal dotted line
The line:
Starts exactly at the True Open candle
Ends automatically when the next cycle begins
When a cycle ends, its line is finalized (solid)
Each cycle is handled independently
Optional labels are placed just after the line end, aligned mid-right
LABELS
Optional, concise labels for clarity:
TMSO — Micro True Open
TSO — Session True Open
TDO — Daily True Open
TWO — Weekly True Open
TMO — Monthly True Open
TYO — Yearly True Open
Text size is fully configurable (Tiny → Large).
TIMEFRAME VISIBILITY (AUTO MODE)
To keep charts clean and relevant, cycles auto-hide above sensible timeframes:
Micro: ≤ 1-minute
Session: ≤ 5-minute
Daily: ≤ 15-minute
Weekly: ≤ 1-hour
Monthly: ≤ 4-hour
Yearly: ≤ Weekly
A Custom mode allows full manual control.
TECHNICAL FEATURES
Pine Script v6
No repainting
No future leakage
No bar-index assumptions
DST-aware New York time handling
1-minute event engine ensures:
Monthly levels appear on 4H charts
Yearly levels appear correctly when history exists
Performance-safe (no loops, no heavy arrays)
HOW TO USE
Use Micro & Session True Opens for precision intraday entries
Use Daily & Weekly True Opens for bias and mean-reversion context
Look for confluence when multiple True Opens align near the same price
Respect cycle boundaries — once a cycle begins, its prior True Open loses relevance
IMPORTANT NOTES
Yearly True Opens require chart history that includes April
Continuous contracts (e.g., ES1!, NQ1!) are recommended for futures
Works on Forex, Futures, Indices, Crypto, and Stocks
DISCLAIMER
This indicator is for educational and informational purposes only.
It does not constitute financial advice. Past performance is not indicative of future results.
Always manage risk responsibly.
HaP RSIComprehensive Guide to HaP RSI Indicator
Introduction
The HaP RSI indicator is a custom technical analysis tool designed to replicate the logic and structure of the HaP MACD indicator but applied to the Relative Strength Index (RSI). This indicator combines traditional RSI concepts with advanced smoothing techniques, dynamic signal generation, and visual cues to help traders identify potential entry and exit points, trend strength, and momentum shifts.
This document provides an exhaustive explanation of the indicator's logic, its components, and practical strategies for trading with it.
Logic and Structure of HaP RSI
The HaP RSI indicator is built on the foundation of the RSI oscillator, which measures the speed and change of price movements to identify overbought and oversold conditions. The indicator enhances RSI by incorporating the following elements:
RSI Calculation: Uses a customizable length (default 10) and allows selection of smoothing type (EMA or SMA) for flexibility.
Signal Line: A moving average of the RSI (default length 9) that acts as a reference for crossovers and trend confirmation.
DEMA Logic: Double Exponential Moving Average applied to RSI and its signal line to generate dynamic dot signals for entries and exits.
Visual Elements: Midline at 50, Overbought/Oversold levels at 70 and 30, color-coded dots (Blue, Green, Orange, Red) for intuitive interpretation.
Conditions and Signal Generation
The indicator uses a sophisticated set of conditions to determine market states and generate actionable signals:
Buy Condition: Triggered when the DEMA of RSI is above the DEMA of its signal line AND the DEMA signal line is rising. This indicates strengthening bullish momentum.
First Signal Dot: Appears as a Blue dot when the buy condition becomes true for the first time after being false. This marks the start of a potential bullish phase.
Ongoing Signal Dot: Appears as Green if RSI is rising or Orange if RSI is falling while the buy condition remains true. This provides real-time feedback on momentum strength.
Exit Dot: Appears as Red when the buy condition turns false after being true, signaling a potential end to the bullish phase.
Crossovers: RSI crossing above its signal line (bullish) or below (bearish) are calculated but hidden by default, offering additional confirmation if enabled.
Trading Strategies Using HaP RSI
The HaP RSI indicator can be used in multiple ways to enhance trading decisions. Below are detailed strategies and best practices:
1. Entry Strategies
Enter long positions when a Blue dot appears, confirming the start of bullish momentum. Ideally, combine this with RSI above the midline (50) and price action breaking resistance.
Add to positions or scale in when Green dots appear, indicating continued bullish strength.
2. Exit Strategies
Exit or tighten stops when a Red dot appears, signaling weakening momentum.
Consider partial exits on Orange dots if momentum slows but the trend remains intact.
3. Trend Confirmation
Use the midline (50) as a regime filter: RSI above 50 generally favors long trades, while below 50 favors shorts.
Overbought/Oversold levels (70/30) can help identify exhaustion points for reversals or caution zones.
4. Risk Management
Always combine HaP RSI signals with stop-loss placement based on recent swing lows/highs.
Avoid chasing signals in low-volatility environments; confirm with volume or higher timeframe trend.
Advanced Usage and Best Practices
Combine HaP RSI with other indicators like moving averages or price action patterns for confluence.
Use alerts for Blue and Red dots to automate monitoring and reduce missed opportunities.
Backtest the indicator on multiple timeframes (H1 recommended) to optimize settings for your trading style.
Summary
HaP RSI is a powerful tool that blends RSI's simplicity with advanced signal logic, making it suitable for trend-following, momentum trading, and swing strategies. Its visual clarity and dynamic alerts allow traders to act decisively while managing risk effectively.
Silver Projection DivergenceSILVER PROJECTION DIVERGENCE
Standardized Fair Value Divergence Oscillator
OVERVIEW
The Silver Projection Divergence oscillator is the companion indicator to the Silver Macro Projection Model. It quantifies the gap between silver's actual price and its projected fair value, displaying this divergence as a standardized z-score. This format makes it easier to identify extreme conditions and time entries/exits based on mean reversion.
HOW IT WORKS
The oscillator converts raw divergence (Actual Silver - Projected Silver) to a z-score by normalizing against its historical distribution:
Z-Score > 0 - Silver trading ABOVE projected value (overvalued)
Z-Score < 0 - Silver trading BELOW projected value (undervalued)
Z-Score > 2 - Extreme condition (2 standard deviations)
VISUAL ELEMENTS
Main Plot
Green line/histogram - Negative divergence (undervalued)
Red line/histogram - Positive divergence (overvalued)
Color intensity increases when divergence is expanding
Reference Lines
+2 sigma / -2 sigma (dashed) - Extreme zones
+1 sigma / -1 sigma (dotted) - Moderate deviation
Zero line - Fair value equilibrium
Signal Markers
Green Triangle (bottom) - Z-score crosses below -2 (STRONG BUY)
Red Triangle (top) - Z-score crosses above +2 (STRONG SELL)
Background
Light red background - Extreme overvaluation (Z > 2)
Light green background - Extreme undervaluation (Z < -2)
SIGNAL INTERPRETATION
Z > +2.0 - Extreme Overvaluation - STRONG SELL / Take profits
Z +1.0 to +2.0 - Moderate Overvaluation - Caution / Reduce exposure
Z -1.0 to +1.0 - Fair Value Range - Neutral / Hold
Z -2.0 to -1.0 - Moderate Undervaluation - Accumulate / Scale in
Z < -2.0 - Extreme Undervaluation - STRONG BUY signal
COMPONENT TABLE
The bottom-right table breaks down divergence by factor:
Gold Ratio - Deviation from gold-implied fair value
M2 Supply - Divergence from monetary-implied value
DXY Signal - Dollar strength bullish/bearish indication
Equities - Equity market positioning signal
OVERALL - Combined signal with Z-score
TRADING APPLICATIONS
Mean Reversion Strategy
Enter LONG when Z < -2 and begins rising
Enter SHORT when Z > +2 and begins falling
Use zero-line crossings for trend confirmation
Trend Following Filter
Only take long trades when Z < 0 (undervalued)
Only take short trades when Z > 0 (overvalued)
Divergence Confirmation
Bearish: Price makes new highs while Z-score makes lower highs
Bullish: Price makes new lows while Z-score makes higher lows
ALERTS
Extreme Undervaluation - Z crosses below -2
Extreme Overvaluation - Z crosses above +2
Divergence Turned Positive - Crossed above zero
Divergence Turned Negative - Crossed below zero
COMBINED USAGE
For best results, use both with Silver Macro Projection Model - indicator:
Main Indicator - Visual context of actual vs. projected on price chart
Divergence Oscillator - Precise measurement for timing decisions
The main indicator (Silver Macro Projection Model - ) shows where silver should be; this oscillator shows how extreme the mispricing is and when to act.
Disclaimer: This indicator is for educational purposes only. Past correlations do not guarantee future relationships. Market conditions can alter historical relationships. Always use proper risk management.
Position and Leverage Size CalculatorThis script is assist you to see approximate position and leverage size while trading in prop firms.
TradeCraftly - Previous OHLC Levels📌 TradeCraftly – Previous OHLC Levels
TradeCraftly OHLC plots the most important higher-timeframe price levels directly on your chart, helping you identify key support, resistance, and reference zones with clarity.
🔹 What this indicator shows
Previous Day OHLC (High, Low, Open, Close)
Previous Week OHLC
Previous Month OHLC
Today’s Open (no historical clutter)
All levels are drawn as clean horizontal rays and extend only into the current session, keeping the chart focused and readable.
🔹 Key Features
Individual enable / disable controls for Day, Week, and Month levels
No historical clutter – only the most relevant levels are shown
Labels aligned to today’s first candle for quick level identification
Custom line width, color, and style (solid / dashed / dotted)
Works seamlessly on all intraday and higher timeframes
🔹 Why use Previous OHLC levels?
Previous period OHLC levels are widely used by:
Intraday traders
Swing traders
Index & futures traders
They often act as:
Strong support & resistance
Liquidity zones
Breakout / rejection levels
🔹 Best Use Cases
Market open bias using Today’s Open
Intraday trades around PDH / PDL
Weekly range reactions near PWH / PWL
Higher-timeframe context using Monthly levels
⚠️ Disclaimer
This indicator is for educational purposes only and does not provide trading signals or financial advice. Always manage risk and confirm with your own analysis.
Silver Macro Projection ModelSILVER MACRO PROJECTION MODEL
Multi-Factor Fair Value Estimation for Silver
OVERVIEW
The Silver Macro Projection Model estimates silver's fair value based on its historical relationships with key macroeconomic drivers. By synthesizing data from gold, M2 money supply, the US Dollar Index, and major equity indices, this indicator projects where silver should theoretically be trading, helping traders identify potential overvaluation and undervaluation conditions.
HOW IT WORKS
This indicator employs three complementary projection methodologies:
Correlation-Weighted Z-Score Composite (50% weight) - Calculates rolling correlations between silver and each input factor. Factors with stronger correlations receive more influence. Each factor is normalized to a z-score, combined into a composite, then converted back to silver's price scale.
Gold/Silver Ratio Mean Reversion (35% weight) - The gold/silver ratio historically exhibits mean-reverting behavior. This component projects silver's implied price based on current gold prices and the historical average ratio.
M2 Money Supply Relationship (15% weight) - Silver tracks monetary expansion over long time horizons. This anchors the projection to the fundamental relationship between silver and the monetary base.
INPUT FACTORS
Gold - Strong Positive - Precious metals move together; silver amplifies gold
M2 Supply - Positive - Inflation hedge; expands with monetary base
DXY - Negative - Dollar strength pressures commodity prices
S&P 500 - Variable - Risk sentiment indicator
Dow Jones - Variable - Industrial/economic health proxy
Nasdaq 100 - Variable - Growth/risk appetite indicator
Russell 2000 - Variable - Small-cap risk sentiment
VISUAL ELEMENTS
Silver Line (Gray) - Actual silver price
Yellow Line - Model's projected fair value
Green Fill - Silver trading BELOW projection (potentially undervalued)
Red Fill - Silver trading ABOVE projection (potentially overvalued)
INFORMATION TABLE
The indicator displays a real-time panel showing:
Current correlation coefficients for each factor
Dynamic weight allocation based on correlation strength
Z-scores for each input factor
Actual vs. projected silver price
Percentage divergence from fair value
Signal classification (Strong Buy to Strong Sell)
SETTINGS
Lookback Settings
Correlation Period (default: 60) - Bars used for rolling correlations
Regression Period (default: 120) - Bars for z-score normalization
Smoothing Period (default: 10) - EMA smoothing on projection
Weight Settings
Use Auto Correlation Weights - Weights adjust dynamically based on correlation strength
Manual Weights - Override with custom factor weights
ALERTS
Silver Extremely Undervalued (Z < -2)
Silver Extremely Overvalued (Z > +2)
Price crossed above projection
Price crossed below projection
BEST PRACTICES
Use on daily timeframe for most reliable signals
Combine with the companion Divergence Oscillator for timing
Extreme divergences (>2 sigma) historically precede mean reversion
Consider macro environment as correlations shift during different regimes
Longer regression periods (150-250) for investing; shorter (60-90) for trading
Disclaimer: This indicator is for educational purposes only. Past correlations do not guarantee future relationships. Always use proper risk management.
ADIBABA - 4x EMAThis indicator is based on the Exponential Moving Average (EMA) and is designed to help traders identify trend direction, momentum, and price structure with clarity.
The script provides fully customizable EMA length along with an optional Smoothing EMA (SMS), allowing traders to fine-tune the indicator according to their trading style and market conditions.
It is suitable for intraday, swing, and positional traders and works well across multiple asset classes.
How It Works
• The primary EMA follows price movement and defines the trend
• The smoothing EMA reduces market noise and improves signal quality
• Price above EMA indicates a bullish bias
• Price below EMA indicates a bearish bias
This combination helps filter false signals and provides stronger trend confirmation.
DAS Levels and BoxesTrading levels mainly used to trade MNQ Futures plus 1-Hour & 4-Hour price range boxes. I define the day trading range from 6:30AM PST to 1PM PST. I define the overnight range from midnight PST to 6:30AM PST. I define the futures market entire range as starting at 3PM PST going overnight and ending at 2PM PST the following day.
The 1-hour box is for scalping and catching smaller moves and are more risky. Enter long or short trade upon 1-hour candle close above & below the mid-line, respectively.
The 4-hour box is for catching larger moves and require more patience. Enter long or short trade upon 4-hour candle close above & below the mid-line, respectively. This is my first indicator so be patient. These are the lines and boxes that I use to trade so I thought it would save time to have them all present in one indicator. This is set up with Pacific Standard Time as default. I may need to adjust later for day light savings time.
Levels include:
Previous Day Low (PDL)
Previous Day High (PDH)
Overnight Low (ONL)
Overnight High (ONH)
Open AM Price
Open PM Price
ADX MomentumBlue: ADX is Rising (Strong Buy Zone).
White: ADX is Falling (Fade/Take Profit Zone).
Red: Bears are in control






















