Week high / Week low (Mo–Fr)The indicator tracks the weekly high and low levels of the market starting from Monday 00:00 and updates them throughout the week until Friday. It draws horizontal lines across the chart representing:
Weekly High
Weekly Low
Each level also displays a label that can be positioned in different ways depending on user settings.
🧠 How it works step-by-step
1. Every Monday a new week starts
When a new week begins:
The script stores the current candle’s high as the initial weekHigh
And the current candle’s low as weekLow
Previous week's lines and labels are deleted
New horizontal lines are created and extended to the right
Labels (for high & low) are placed initially at the start of the week
2. During Monday–Friday
On every candle:
If a new higher price is reached → weekly high updates
If a new lower price is reached → weekly low updates
The horizontal line moves to the new value
A saved index remembers where that high/low was created
3. Label Position Control
The user can choose how labels should be anchored:
Mode Meaning
Update point Label stays where the high/low occurred
Right edge Label always moves to the current bar (right end of week)
Right offset Like Right edge but shifted further right by X bars
You can also customize:
label background color
label text color
label size
whether the label points up/down (above or below the line)
line color, style, and width
4. Weekend behavior
On Saturday, the script stops extending the lines, effectively freezing the weekly high and low for that completed week.
Summary
This indicator is useful for traders who want automatic weekly levels, visually clean chart structure, and customizable label placement. It tracks market structure weekly, keeps levels persistent across the chart, and lets you choose exactly how those levels appear.
If you want, I can also create:
✔ previous week high/low
✔ midline (50% of the range)
✔ alerts when price breaks the weekly high/low
✔ highlight liquidity sweeps
Indicateurs d'étendue
Market Trend & Breadth Checklist [Kulturdesken]Description
Concept & Inspiration This indicator serves as a disciplined "Pre-Flight Checklist" for swing traders, combining two powerful methodologies into one objective dashboard.
The Foundation (@kulturdesken): The core checklist structure is inspired by the workflow of @kulturdesken, utilizing the QQQE (Nasdaq 100 Equal Weighted Index). By focusing on the equal-weighted index rather than the market-cap weighted QQQ, we avoid distortions caused by mega-cap stocks and gauge the true price trend of the average stock.
The Enhancement (StockBee): To further filter out "hollow rallies," we integrated Pradeep Bonde’s (StockBee) "Market Monitor" logic. This adds a layer of analysis based on the Total US Universe (Wilshire 5000) to ensure market breadth is expanding, not just price.
Why StockBee Logic Was Added While QQQE tells us if the average price is trending, the StockBee logic tells us if the market structure is healthy. We added the "Universe" checks (Total US Market Breadth) because price trends can sometimes be deceptive during low-volume corrections.
By incorporating the Market Monitor concept (specifically checking if the % of stocks above their 50-day Moving Average is rising), this tool acts as a "Traffic Light." It prevents the trader from entering aggressive long positions even if QQQE is green, provided the underlying participation (Market Breadth) is weak.
How It Works (The 7 Checks)
1. Price Momentum (Kulturdesken): QQQE > Rising 5 SMA
Verifies short-term momentum is aggressive (Price > 5SMA) and the 5SMA itself is curling up.
2. Daily Trend Structure: Daily Buy Signal
Verifies a "stacked" bullish alignment where Price > 10 SMA > 20 SMA.
3. Macro Trend: Weekly Buy Signal
Verifies the Weekly Price > 10 WMA > 20 WMA (Weighted Moving Averages).
4. Universe Breadth (StockBee/McClellan): Summation Uptrend
We aggregate Nasdaq + NYSE data to create a "Total Universe" McClellan Summation Index.
Check: Is the Summation Index rising? (Indicates long-term money flow entering the system).
5. Short-Term Thrust: Oscillator Positive
Uses the "Total Universe" McClellan Oscillator.
Check: Is the Oscillator > 0? (Indicates immediate buying pressure is dominant).
6. Leadership: Net Highs/Lows
Check: Are Net New Highs (Highs minus Lows) trending positive?
7. Performance Filter (Manual): Traction Check
A psychological guardrail. If you toggle this off in settings (indicating you are losing money/getting stopped out), the checklist forces a "WAIT" signal, protecting you from overtrading during choppy conditions.
Settings & Customization
Data Feeds: The script is pre-configured with USI (United States Indices) and INDEX tickers to ensure accurate breadth data, but these can be customized in the settings.
Main Ticker: Defaults to QQQE.
Disclaimer: This tool is for educational purposes and market analysis only. It does not constitute financial advice. Past performance is not indicative of future results.
Composite Market Momentum Indicator//@version=5
indicator("Composite Market Momentum Indicator", shorttitle="CMMI", overlay=false)
// Define Inputs
lenRSI = input.int(14, title="RSI Length")
lenMom = input.int(9, title="Momentum Length")
lenShortRSI = input.int(3, title="Short RSI Length")
lenShortRSISma = input.int(3, title="Short RSI SMA Length")
lenSMA1 = input.int(9, title="Composite SMA 1 Length")
lenSMA2 = input.int(34, title="Composite SMA 2 Length")
// Step 1: Create a 9-period momentum indicator of the 14-period RSI
rsiValue = ta.rsi(close, lenRSI)
momRSI = ta.mom(rsiValue, lenMom)
// Step 2: Create a 3-period RSI and a 3-period SMA of that RSI
shortRSI = ta.rsi(close, lenShortRSI)
shortRSISmoothed = ta.sma(shortRSI, lenShortRSISma)
// Step 3: Add Step 1 and Step 2 together to create the Composite Index
compositeIndex = momRSI + shortRSISmoothed
// Step 4: Create two simple moving averages of the Composite Index
sma1 = ta.sma(compositeIndex, lenSMA1)
sma2 = ta.sma(compositeIndex, lenSMA2)
// Step 5: Plot the composite index and its two simple moving averages
plot(compositeIndex, title="Composite Index", color=color.new(#f7cf05, 0), linewidth=2)
plot(sma1, title="SMA 13", color=color.new(#f32121, 0), linewidth=1, style=plot.style_line)
plot(sma2, title="SMA 33", color=color.new(#105eef, 0), linewidth=1, style=plot.style_line)
// Add horizontal lines for reference
hline(0, "Zero Line", color.new(color.gray, 50))
Easy Crypto Signal FREEAs you can see, the indicator is doing well, we'll see what happens next, I invite you to the discussion
MSSM - Multi-Session Structural Map (Precision Sweeps)MSSM – Multi-Session Structural Map (Precision Sweeps)
This indicator provides a structured view of the market based on four key components:
1). Previous session levels
2). Confirmed fractal swing points
3). Volume pocket highlights
4). Non-repainting precision liquidity sweep markers
It is designed to help analyze how price interacts with important reference areas and structural points. This tool does not generate signals or predictions. All information is visual and educational only.
HOW THE INDICATOR WORKS
PREVIOUS SESSION LEVELS
The script plots the previous session’s High, Low, and Mid. These levels help observe how the current session behaves around the prior day’s range. They act as reference areas only.
FRACTAL SWING MAP (NON-REPAINTING)
Confirmed fractals are used to mark historical swing highs and swing lows. Since fractals confirm after a certain number of bars, the swings do not repaint once formed. These swings provide a clearer view of market structure.
VOLUME POCKETS
The indicator highlights areas where volume expands relative to a rolling volume average. These regions show increased participation or activity. The highlights are informational and do not imply direction.
PRECISION LIQUIDITY SWEEPS (NON-REPAINTING)
A sweep is tagged only when:
• Price trades beyond a confirmed swing high or swing low
• Price closes back inside the previous swing level
• A wick rejection occurs
• Volume expands relative to a recent rolling average
These markers simply show where price interacted with liquidity around prior structural levels. They do not indicate a trading signal or bias.
HOW TO ADD THE INDICATOR
Open the Pine Editor in TradingView
Search the indicator name and add to favorites.
Click “Add to chart”
Adjust settings as needed (fractals, sweeps, volume pockets, or session levels)
HOW TO READ AND USE THE INDICATOR
SESSION LEVELS
Observe whether price respects, rejects, compresses around, or expands beyond the previous session high, low, or midpoint. These are observational reference levels only.
FRACTALS
Fractal highs and lows help visualize structural turning points. They provide a clearer picture of where liquidity may rest above or below past swing levels.
VOLUME POCKETS
When volume expands compared to the recent average, the candle is shaded. These areas may show increased participation, but no directional meaning is implied.
PRECISION SWEEPS
Sweeps highlight when price reaches beyond a prior confirmed swing level and then rejects that area with displacement. These markers identify interactions with liquidity, but they are not signals and do not forecast future outcomes.
CUSTOMIZATION OPTIONS
Users can adjust:
• Session level visibility
• Fractal sensitivity
• Volume pocket threshold
• Sweep sensitivity and visibility
• Transparency and styling
This makes the tool flexible across different symbols and timeframes.
IMPORTANT NOTES AND POLICY COMPLIANCE
• The indicator does not provide buy or sell signals
• The indicator does not predict price or direction
• All plotted elements are based on past price behavior
• All components are informational only
• Users should perform their own analysis and risk evaluation
• Past behavior does not guarantee future performance
SUMMARY
MSSM provides a structured view of price by combining previous session levels, confirmed swing structure, volume expansion zones, and non-repainting sweep identification. Its purpose is to assist traders in visually analyzing market structure while staying fully aligned with TradingView’s House Rules and content policies.
ZScore SemiConductoresZ-Score of Semiconductor Sector Volume
This custom Pine Script indicator applies a Z-Score calculation to the aggregated trading volume of leading semiconductor companies. The goal is to highlight statistical extremes in sector activity that may signal unusual market behavior.
🔧 How it works
- Fixed ticker list: NVDA, AVGO, TSM, AMD, ASML, MU, ARM, ON, TXN, QCOM, INTC.
- Aggregate volume: The script sums the trading volume of all tickers in the list for the selected timeframe.
- Z-Score calculation:
- Moving average and standard deviation are computed over a configurable window (default = 50 bars).
- Formula:
Z= (Current Volume - Mean) / Standard Deviation
Visualization:
- Z-Score plotted in green.
- Reference lines at 0, ±1σ, ±2σ.
- Labels (triangles) mark critical signals when Z > +2 or Z < -2.
📈 Why it matters
- Detects abnormal surges or drops in sector-wide volume.
- Highlights potential euphoria (+2σ) or panic (-2σ) moments.
- Useful as a filter for trading strategies or as a sector-level alert system.
⚠️ Disclaimer: This script is for educational purposes only and not financial advice
S&P 500 Breadth: Bull vs Bear (20DMA)S&P 500 Breadth: Bull vs Bear (20DMA)
Use as simple market breadth
BankNifty - 2x Nifty Differencedifference between Banknifty near month future - 2x nifty near month future
BAY_PIVOT S/R(4 Full Lines + ALL Labels)//@version=5
indicator("BAY_PIVOT S/R(4 Full Lines + ALL Labels)", overlay=true, max_labels_count=500, max_lines_count=500)
// ────────────────────── TOGGLES ──────────────────────
showPivot = input.bool(true, "Show Pivot (Full Line + Label)")
showTarget = input.bool(true, "Show Target (Full Line + Label)")
showLast = input.bool(true, "Show Last Close (Full Line + Label)")
showPrevClose = input.bool(true, "Show Previous Close (Full Line + Label)")
useBarchartLast = input.bool(true, "Use Barchart 'Last' (Settlement Price)")
showR1R2R3 = input.bool(true, "Show R1 • R2 • R3")
showS1S2S3 = input.bool(true, "Show S1 • S2 • S3")
showStdDev = input.bool(true, "Show ±1σ ±2σ ±3σ")
showFib4W = input.bool(true, "Show 4-Week Fibs")
showFib13W = input.bool(true, "Show 13-Week Fibs")
showMonthHL = input.bool(true, "Show 1M High / Low")
showEntry1 = input.bool(false, "Show Manual Entry 1")
showEntry2 = input.bool(false, "Show Manual Entry 2")
entry1 = input.float(0.0, "Manual Entry 1", step=0.25)
entry2 = input.float(0.0, "Manual Entry 2", step=0.25)
stdLen = input.int(20, "StdDev Length", minval=1)
fib4wBars = input.int(20, "4W Fib Lookback")
fib13wBars = input.int(65, "13W Fib Lookback")
// ────────────────────── DAILY CALCULATIONS ──────────────────────
high_y = request.security(syminfo.tickerid, "D", high , lookahead=barmerge.lookahead_on)
low_y = request.security(syminfo.tickerid, "D", low , lookahead=barmerge.lookahead_on)
close_y = request.security(syminfo.tickerid, "D", close , lookahead=barmerge.lookahead_on)
pivot = (high_y + low_y + close_y) / 3
r1 = pivot + 0.382 * (high_y - low_y)
r2 = pivot + 0.618 * (high_y - low_y)
r3 = pivot + (high_y - low_y)
s1 = pivot - 0.382 * (high_y - low_y)
s2 = pivot - 0.618 * (high_y - low_y)
s3 = pivot - (high_y - low_y)
prevClose = close_y
last = useBarchartLast ? request.security(syminfo.tickerid, "D", close , lookahead=barmerge.lookahead_off) : close
target = pivot + (pivot - prevClose)
// StdDev + Fibs + Monthly (unchanged)
basis = ta.sma(close, stdLen)
dev = ta.stdev(close, stdLen)
stdRes1 = basis + dev
stdRes2 = basis + dev*2
stdRes3 = basis + dev*3
stdSup1 = basis - dev
stdSup2 = basis - dev*2
stdSup3 = basis - dev*3
high4w = ta.highest(high, fib4wBars)
low4w = ta.lowest(low, fib4wBars)
fib382_4w = high4w - (high4w - low4w) * 0.382
fib50_4w = high4w - (high4w - low4w) * 0.500
high13w = ta.highest(high, fib13wBars)
low13w = ta.lowest(low, fib13wBars)
fib382_13w_high = high13w - (high13w - low13w) * 0.382
fib50_13w = high13w - (high13w - low13w) * 0.500
fib382_13w_low = low13w + (high13w - low13w) * 0.382
monthHigh = ta.highest(high, 30)
monthLow = ta.lowest(low, 30)
// ────────────────────── COLORS ──────────────────────
colRed = color.rgb(255,0,0)
colLime = color.rgb(0,255,0)
colYellow = color.rgb(255,255,0)
colOrange = color.rgb(255,165,0)
colWhite = color.rgb(255,255,255)
colGray = color.rgb(128,128,128)
colMagenta = color.rgb(255,0,255)
colPink = color.rgb(233,30,99)
colCyan = color.rgb(0,188,212)
colBlue = color.rgb(0,122,255)
colPurple = color.rgb(128,0,128)
colRed50 = color.new(colRed,50)
colGreen50 = color.new(colLime,50)
// ────────────────────── 4 KEY FULL LINES ──────────────────────
plot(showPivot ? pivot : na, title="PIVOT", color=colYellow, linewidth=3, style=plot.style_linebr)
plot(showTarget ? target : na, title="TARGET", color=colOrange, linewidth=2, style=plot.style_linebr)
plot(showLast ? last : na, title="LAST", color=colWhite, linewidth=2, style=plot.style_linebr)
plot(showPrevClose ? prevClose : na, title="PREV CLOSE",color=colGray, linewidth=1, style=plot.style_linebr)
// ────────────────────── LABELS FOR ALL 4 KEY LEVELS (SAME STYLE AS OTHERS) ──────────────────────
f_label(price, txt, bgColor, txtColor) =>
if barstate.islast and not na(price)
label.new(bar_index, price, txt, style=label.style_label_left, color=bgColor, textcolor=txtColor, size=size.small)
if barstate.islast
showPivot ? f_label(pivot, "PIVOT " + str.tostring(pivot, "#.##"), colYellow, color.black) : na
showTarget ? f_label(target, "TARGET " + str.tostring(target, "#.##"), colOrange, color.white) : na
showLast ? f_label(last, "LAST " + str.tostring(last, "#.##"), colWhite, color.black) : na
showPrevClose ? f_label(prevClose, "PREV CLOSE "+ str.tostring(prevClose, "#.##"), colGray, color.white) : na
// ────────────────────── OTHER LEVELS – line stops at label ──────────────────────
f_level(p, txt, tc, lc, w=1) =>
if barstate.islast and not na(p)
lbl = label.new(bar_index, p, txt, style=label.style_label_left, color=lc, textcolor=tc, size=size.small)
line.new(bar_index-400, p, label.get_x(lbl), p, extend=extend.none, color=lc, width=w)
if barstate.islast
if showR1R2R3
f_level(r1, "R1 " + str.tostring(r1, "#.##"), color.white, colRed)
f_level(r2, "R2 " + str.tostring(r2, "#.##"), color.white, colRed)
f_level(r3, "R3 " + str.tostring(r3, "#.##"), color.white, colRed, 2)
if showS1S2S3
f_level(s1, "S1 " + str.tostring(s1, "#.##"), color.black, colLime)
f_level(s2, "S2 " + str.tostring(s2, "#.##"), color.black, colLime)
f_level(s3, "S3 " + str.tostring(s3, "#.##"), color.black, colLime, 2)
if showStdDev
f_level(stdRes1, "+1σ " + str.tostring(stdRes1, "#.##"), color.white, colPink)
f_level(stdRes2, "+2σ " + str.tostring(stdRes2, "#.##"), color.white, colPink)
f_level(stdRes3, "+3σ " + str.tostring(stdRes3, "#.##"), color.white, colPink, 2)
f_level(stdSup1, "-1σ " + str.tostring(stdSup1, "#.##"), color.white, colCyan)
f_level(stdSup2, "-2σ " + str.tostring(stdSup2, "#.##"), color.white, colCyan)
f_level(stdSup3, "-3σ " + str.tostring(stdSup3, "#.##"), color.white, colCyan, 2)
if showFib4W
f_level(fib382_4w, "38.2% 4W " + str.tostring(fib382_4w, "#.##"), color.white, colMagenta)
f_level(fib50_4w, "50% 4W " + str.tostring(fib50_4w, "#.##"), color.white, colMagenta)
if showFib13W
f_level(fib382_13w_high, "38.2% 13W High " + str.tostring(fib382_13w_high, "#.##"), color.white, colMagenta)
f_level(fib50_13w, "50% 13W " + str.tostring(fib50_13w, "#.##"), color.white, colMagenta)
f_level(fib382_13w_low, "38.2% 13W Low " + str.tostring(fib382_13w_low, "#.##"), color.white, colMagenta)
if showMonthHL
f_level(monthHigh, "1M HIGH " + str.tostring(monthHigh, "#.##"), color.white, colRed50, 2)
f_level(monthLow, "1M LOW " + str.tostring(monthLow, "#.##"), color.white, colGreen50, 2)
// Manual entries
plot(showEntry1 and entry1 > 0 ? entry1 : na, "Entry 1", color=colBlue, linewidth=2, style=plot.style_linebr)
plot(showEntry2 and entry2 > 0 ? entry2 : na, "Entry 2", color=colPurple, linewidth=2, style=plot.style_linebr)
// Background
bgcolor(close > pivot ? color.new(color.blue, 95) : color.new(color.red, 95))
📊 Volume Tension & Net Imbalance📊 Volume Tension & Net Imbalance (With Table + MultiLang + Alerts)
//
This indicator measures bullish vs. bearish pressure using volume-based tension and net imbalance.
It identifies accumulation zones, displays real-time market strength, trend direction, and triggers alerts on buildup entries.
Fully customizable table size, colors, and bilingual support (English/Russian).
Harami Reversal Alerts BB Touch (Strict First Candle)Harami Reversal Alerts BB Touch (Strict First Candle)
Harami Reversal Alerts BB Touch (Strict First Candle)Harami Reversal Alerts BB Touch (Strict First Candle)Harami Reversal Alerts BB Touch (Strict First Candle)Harami Reversal Alerts BB Touch (Strict First Candle)Harami Reversal Alerts BB Touch (Strict First Candle)
Easy Crypto Signal FREE🆓 FREE Bitcoin & Crypto Trading Indicator
Easy Crypto Signal FREE helps you make better trading decisions with real-time BUY/SELL signals based on multiple technical indicators.
✅ What you get in FREE version:
• Real-time BUY/SELL signals (green/red arrows)
• Trading SCORE (0-100%) - market strength indicator
• Works on BTC, ETH, and all major altcoins
• Optimized for 4h timeframe (works on all timeframes)
• Simple visual interface
• Basic alert system
📊 How it works:
The indicator combines RSI, MACD, EMA trends, and volume analysis to generate a composite SCORE (0-100%).
• SCORE > 65% = BUY signal 🟢
• SCORE < 35% = SELL signal 🔴
• SCORE 35-65% = WAIT (neutral zone) 🟡
⚠️ FREE Version Limitations:
• No detailed RSI values
• No MACD trend details
• No trend strength indicators
• Fixed sensitivity (65%)
• Limited customization
💎 Want the FULL PRO version?
🚀 PRO includes:
• Full RSI + MACD + Trend analysis displayed
• Customizable sensitivity (40-80%)
• Advanced alert customization
• Professional clean interface
• Volume strength indicator
• NO watermarks
• Premium support
📊 Proven Backtest Results:
• 57.1% Win Rate
• 3.36 Profit Factor (Excellent)
• +9.55% return in 3 months
• Only -2.69% Max Drawdown (Low Risk)
🔗 Get PRO version:
📈 Best practices:
1. Use on 4h timeframe for best results
2. Combine with your own analysis
3. Always set Stop Loss (5-10%)
4. Test on demo account first
5. Don't trade based on signals alone
⚠️ Risk Disclaimer:
Cryptocurrency trading involves substantial risk. This indicator is for educational purposes only and does not guarantee profits. Past performance does not indicate future results. Always do your own research and never invest more than you can afford to lose.
📧 Questions or Feedback?
Comment below or message me directly!
🌟 If you find this helpful, please give it a like and share!
v1.0 - Initial FREE release
• Basic BUY/SELL signal system
• Score indicator 0-100%
• Optimized for 4h timeframe
• Works on all crypto pairs
Keltner Hull Suite [QuantAlgo]🟢 Overview
The Keltner Hull Suite combines Hull Moving Average positioning with double-smoothed True Range banding to identify trend regimes and filter market noise. The indicator establishes upper and lower volatility bounds around the Hull MA, with the trend line conditionally updating only when price violates these boundaries. This mechanism distinguishes between genuine directional shifts and temporary price fluctuations, providing traders and investors with a systematic framework for trend identification that adapts to changing volatility conditions across multiple timeframes and asset classes.
🟢 How It Works
The calculation foundation begins with the Hull Moving Average, a weighted moving average designed to minimize lag while maintaining smoothness:
hullMA = ta.hma(priceSource, hullPeriod)
The indicator then calculates true range and applies dual exponential smoothing to create a volatility measure that responds more quickly to volatility changes than traditional ATR implementations while maintaining stability through the double-smoothing process:
tr = ta.tr(true)
smoothTR = ta.ema(tr, keltnerPeriod)
doubleSmooth = ta.ema(smoothTR, keltnerPeriod)
deviation = doubleSmooth * keltnerMultiplier
Dynamic support and resistance boundaries are constructed by applying the multiplier-scaled volatility deviation to the Hull MA, creating upper and lower bounds that expand during volatile periods and contract during consolidation:
upperBound = hullMA + deviation
lowerBound = hullMA - deviation
The trend line employs a conditional update mechanism that prevents premature trend reversals. The system maintains the current trend line until price action violates the respective boundary, at which point the trend line snaps to the violated bound:
if upperBound < trendLine
trendLine := upperBound
if lowerBound > trendLine
trendLine := lowerBound
Directional bias determination compares the current trend line value against its previous value, establishing bullish conditions when rising and bearish conditions when falling. Signal generation occurs on state transitions, triggering alerts when the trend state shifts from neutral or opposite direction:
trendUp = trendLine > trendLine
trendDown = trendLine < trendLine
longSignal = trendState == 1 and trendState != 1
shortSignal = trendState == -1 and trendState != -1
The visualization layer creates a trend band by plotting both the current trend line and a two-bar shifted version, with the area between them filled to create a visual channel that reinforces directional conviction.
🟢 How to Use This Indicator
▶ Long and Short Signals: The indicator generates long/buy signals when the trend state transitions to bullish (trend line begins rising) and short/sell signals when transitioning to bearish (trend line begins falling). These state changes represent structural shifts in momentum where price has broken through the adaptive volatility bands, confirming directional commitment.
▶ Trend Band Dynamics: The spacing between the main trend line and its shifted counterpart creates a visual band whose width reflects trend strength and momentum consistency. Expanding bands indicate accelerating directional movement and strong trend persistence, while contracting or flattening bands suggest decelerating momentum, potential trend exhaustion, or impending consolidation. Monitoring band width provides early warning of regime transitions from trending to range-bound conditions.
▶ Preconfigured Presets: Three optimized parameter sets accommodate different trading styles and timeframes. Default (14, 20, 2.0) provides balanced trend identification suitable for daily charts and swing trading, Fast Response (10, 14, 1.5) delivers aggressive signal generation optimized for intraday scalping and momentum trading on 1-15 minute timeframes, while Smooth Trend (18, 30, 2.5) offers conservative trend confirmation ideal for position trading on 4-hour to daily charts with enhanced noise filtration.
▶ Built-in Alerts: Three alert conditions enable automated monitoring - Bullish Trend Signal triggers on long setup confirmation, Bearish Trend Signal activates on short setup confirmation, and Trend Change alerts on any directional transition. These notifications allow you to respond to regime shifts without continuous chart monitoring.
▶ Color Customization: Five visual themes (Classic, Aqua, Cosmic, Ember, Neon, plus Custom) accommodate different chart backgrounds and display preferences, ensuring optimal contrast and visual clarity across trading environments.
NIFTY Weekly Option Seller DirectionalHere’s a straight description you can paste into the TradingView “Description” box and tweak if needed:
---
### NIFTY Weekly Option Seller – Regime + Score + Management (Single TF)
This indicator is built for **weekly option sellers** (primarily NIFTY) who want a **structured regime + scoring framework** to decide:
* Whether to trade **Iron Condor (IC)**, **Put Credit Spread (PCS)** or **Call Credit Spread (CCS)**
* How strong that regime is on the current timeframe (score 0–5)
* When to **DEFEND** existing positions and when to **HARVEST** profits
> **Note:** This is a **single timeframe** tool. The original system uses it on **4H and 1D separately**, then combines scores manually (e.g., using `min(4H, 1D)` for conviction and lot sizing).
---
## Core logic
The script classifies the market into 3 regimes:
* **IC (Iron Condor)** – range/mean-reversion conditions
* **PCS (Put Credit Spread)** – bullish/trend-up conditions
* **CCS (Call Credit Spread)** – bearish/trend-down conditions
For each regime, it builds a **0–5 score** using:
* **EMA stack (8/13/34)** – trend structure
* **ADX (custom DMI-based)** – trend strength vs range
* **Previous-day CPR** – in CPR vs break above/below
* **VWAP (session)** – near/far value
* **Camarilla H3/L3** – for IC context
* **RSI (14)** – used as a **brake**, not a primary signal
* **Daily trend / Daily ADX** – used as **hard gates**, not double-counted as extra points
Then:
* Scores for PCS / CCS / IC are **cross-penalised** (they pull each other down if conflicting)
* Final scores are **smoothed** (current + previous bar) to avoid jumpy signals
The **background colour** shows the current regime and conviction:
* Blue = IC
* Green = PCS
* Red = CCS
* Stronger tint = higher regime score
---
## Scoring details (per timeframe)
**PCS (uptrend, bullish credit spreads)**
* +2 if EMA(8) > EMA(13) > EMA(34)
* +1 if ADX > ADX_TREND
* +1 if close > CPR High
* +1 if close > VWAP
* RSI brake:
* If RSI < 50 → PCS capped at 2
* If RSI > 75 → PCS capped at 3
* Daily gating:
* If daily EMA stack is **not** uptrend → PCS capped at 2
**CCS (downtrend, bearish credit spreads)**
* +2 if EMA(8) < EMA(13) < EMA(34)
* +1 if ADX > ADX_TREND
* +1 if close < CPR Low
* +1 if close < VWAP
* RSI brake:
* If RSI > 50 → CCS capped at 2
* If RSI < 25 → CCS capped at 3
* Daily gating:
* If daily EMA stack is **not** downtrend → CCS capped at 2
**IC (range / mean-reversion)**
* +2 if ADX < ADX_RANGE (low trend)
* +1 if close inside CPR
* +1 if near VWAP
* +0.5 if inside Camarilla H3–L3
* +1 if daily ADX < ADX_RANGE (daily also range-like)
* +0.5 if RSI between 45 and 55 (classic balance zone)
* Daily gating:
* If daily ADX ≥ ADX_TREND → IC capped at 2 (no “strong IC” in strong trends)
**Cross-penalty & smoothing**
* Each regime’s raw score is reduced by **0.5 × max(other two scores)**
* Final IC / PCS / CCS scores are then **smoothed** with previous bar
* Scores are always clipped to ** **
---
## Regime selection
* If one regime has the highest score → that regime is selected.
* If there is a tie or close scores:
* When ADX is high, trend regimes (PCS/CCS) are preferred in the direction of the EMA stack.
* When ADX is low, IC is preferred.
The selected regime’s score is used for:
* Background colour intensity
* Minimum score gate for alerts
* Display in the info panel
---
## DEFEND / HARVEST / REGIME alerts
The script also defines **management signals** using ATR-based buffers and Camarilla breaks:
* **DEFEND**
* Price moving too close to short strikes (PCS/CCS/IC) relative to ATR, or
* Trend breaks through Camarilla with ADX strong
→ Suggests rolling away / widening / converting to reduce risk.
* **HARVEST**
* Price has moved far enough from your short strikes (in ATR multiples) and market is still range-compatible
→ Suggests booking profits / rolling closer / reducing risk.
* **REGIME CHANGED**
* Regime flips (IC ↔ PCS/CCS) with cooldown and minimum score gate
→ Suggests switching playbook (range vs trend) for new entries.
Each of these has a plotshape label plus an `alertcondition()` for TradingView alerts.
---
## UI / Panel
The **top-right panel** (optional) shows:
* Strategy + final regime score (IC / PCS / CCS, x/5)
* ADX / RSI values
* CPR status (Narrow / Normal / Wide + %)
* EMA Stack (Up / Down / Mixed) and EMA tightness
* VWAP proximity (Near / Away)
* Final **IC / PCS / CCS** scores (for this timeframe)
* H3/L3, H4/L4, CPR Low/High and VWAP levels (rounded)
These values are meant to be **read quickly at the decision time** (e.g. near the close of the 4H bar or daily bar).
---
## Intended workflow
1. Run the script on **4H** and **1D** charts separately.
2. For each timeframe, read the panel’s **IC / PCS / CCS scores** and regime.
3. Decide:
* Final regime (IC vs PCS vs CCS)
* Combined score (e.g. `AlignScore = min(Score_4H, Score_1D)`)
4. Map that combined score to **your own lot-size buckets** and trade rules.
5. During the life of the position, use **DEFEND / HARVEST / REGIME** alerts to adjust.
The script does **not** auto-calculate lot size or P&L. It focuses on giving a structured, consistent **market regime + strength + levels + management** layer for weekly option selling.
---
## Disclaimer
This is a discretionary **decision-support tool**, not a guarantee of profit or a replacement for risk management.
No performance is implied or promised. Always size positions and manage risk according to your own capital, rules, and regulations.
IBIT premium(vs NAV)This Pine Script calculates and plots the real-time trading premium or discount of the IBIT ETF relative to its official Net Asset Value (NAV).
It shows whether IBIT is trading above NAV (premium) or below NAV (discount) in percentage terms.
This version is accurate because it uses TradingView’s built-in ETF NAV financial data, rather than estimating BTC per share.
⸻
Key Data Sources Used
• Market Price:
The script pulls the live IBIT market price from NASDAQ:IBIT.
• Official NAV:
It retrieves the daily Net Asset Value (NAV) using TradingView’s financial data function and expands it across all intraday timeframes so it can be compared with real-time prices.
• Platform used: TradingView
⸻
How the Premium Is Calculated
The script uses the standard ETF premium formula:
\text{Premium (\%)} = \frac{\text{Market Price} - \text{NAV}}{\text{NAV}} \times 100
• Positive value → IBIT is trading at a premium
• Negative value → IBIT is trading at a discount
• Zero → IBIT is trading exactly at NAV
⸻
What the Chart Displays
• A real-time premium (%) line in a separate indicator panel
• A 0% reference line showing fair value
• ±1% and ±2% guide lines for abnormal deviation detection
• A live value label on the latest bar showing the exact current premium
⸻
Why This Script Is Accurate
• Uses official ETF NAV, not a BTC-per-share estimate
• NAV updates once per day, exactly as reported by the issuer
• Works on all timeframes (1-minute to daily)
• Shows true market mispricing, not synthetic BTC tracking error
⸻
How Traders Typically Use It
• Detect temporary dislocations between IBIT price and NAV
• Monitor liquidity stress during high volatility
• Validate whether IBIT is trading efficiently versus BTC
• Support ETF–BTC–Futures arbitrage analysis
⸻
Important Limitation
• NAV is only updated once per trading day
• During fast BTC moves, the premium may widen temporarily and normalize later via authorized participant (AP) arbitrage
RSI 7 avec fenêtre en haut à droiteRsi 7 survente 80 avec fenêtre en haut a droite. En vert en dessous de 80 en rouge au dessus
EMA/SMA 350 & 111 (Day Settings) by JayEMA/SMA 350 & 111 (Day Settings) by J
Übergeordneter Trendwechsel erkennen auf High Time Frames
EMA Crossover + Angle + Candle Pattern + Breakout (Clean) finalmayank raj 9 15 ema strategy which will give me 1 crore
Volume Profile S/R + OB/OS + BreaksAs a support resistance trader I have created this indicator that shows SR lines. RSI over bought and over sold. I also added momentum candle.
It's easy to use. The arrows show over bought and over sold, that's where I start to be interested. Confirmation is if we are near a support/resistance area. shown as a red/green line.
Don't just trade the RSI, Be patient and only take the perfekt setups.
I't clean, it's simple it works.
Relative Strength Heatmap [BackQuant]Relative Strength Heatmap
A multi-horizon RSI matrix that compresses 20 different lookbacks into a single panel, turning raw momentum into a visual “pressure gauge” for overbought and oversold clustering, trend exhaustion, and breadth of participation across time horizons.
What this is
This indicator builds a strip-style heatmap of 20 RSIs, each with a different length, and stacks them vertically as colored tiles in a single pane. Every tile is colored by its RSI value using your chosen palette, so you can see at a glance:
How many “fast” versus “slow” RSIs are overbought or oversold.
Whether momentum is concentrated in the short lookbacks or spread across the whole curve.
When momentum extremes cluster, signalling strong market pressure or exhaustion.
On top of the tiles, the script plots two simple breadth lines:
A white line that counts how many RSIs are above 70 (overbought cluster).
A black line that counts how many RSIs are below 30 (oversold cluster).
This turns a single symbol’s RSI ladder into a compact “market pressure gauge” that shows not only whether RSI is overbought or oversold, but how many different horizons agree at the same time.
Core idea
A single RSI looks at one length and one timescale. Markets, however, are driven by flows that operate on multiple horizons at once. By computing RSI over a ladder of lengths, you approximate a “term structure” of strength:
Short lengths react to immediate swings and very recent impulses.
Medium lengths reflect swing behaviour and local trends.
Long lengths reflect structural bias and higher timeframe regime.
When many lengths agree, for example 10 or more RSIs all above 70, it suggests broad participation and strong directional pressure. When only a few fast lengths stretch to extremes while longer ones stay neutral, the move is more fragile and more likely to mean-revert.
This script makes that structure visible as a heatmap instead of forcing you to run many separate RSI panes.
How it works
1) Generating RSI lengths
You control three parameters in the calculation settings:
RS Period – the base RSI length used for the shortest strip.
RSI Step – the amount added to each successive RSI length.
RSI Multiplier – a global scaling factor applied after the step.
Each of the 20 RSIs uses:
RSI length = round((base_length + step × index) × multiplier) , where the index goes from 0 to 19.
That means:
RSI 1 uses (len + step × 0) × mult.
RSI 2 uses (len + step × 1) × mult.
…
RSI 20 uses (len + step × 19) × mult.
You can keep the ladder dense (small step and multiplier) or stretch it across much longer horizons.
2) Heatmap layout and grouping
Each RSI is plotted as an “area” strip at a fixed vertical level using histbase to stack them:
RSI 1–5 form Group 1.
RSI 6–10 form Group 2.
RSI 11–15 form Group 3.
RSI 16–20 form Group 4.
Each group has a toggle:
Show only Group 1 and 2 if you care mainly about fast and medium horizons.
Show all groups for a full spectrum from very short to very long.
Hide any group that feels redundant for your workflow.
The actual numeric RSI values are not plotted as lines. Instead, each strip is drawn as a horizontal band whose fill color represents the current RSI regime.
3) Palette-based coloring
Each tile’s color is driven by the RSI value and your chosen palette. The script includes several palettes:
Viridis – smooth green to yellow, good for subtle reading.
Jet – strong blue to red sequence with high contrast.
Plasma – purple through orange to yellow.
Custom Heat – cool blues to neutral grey to hot reds.
Gray – grayscale from white to black for minimalistic layouts.
Cividis, Inferno, Magma, Turbo, Rainbow – additional scientific and rainbow-style maps.
Internally, RSI values are bucketed into ranges (for example, below 10, 10–20, …, 90–100). Each bucket maps to a unique colour for that palette. In all schemes, low RSI values are mapped to the “cold” or darker side and high RSI values to the “hot” or brighter side.
The result is a true momentum heatmap:
Cold or dark tiles show low RSI and oversold or compressed conditions.
Mid tones show neutral or mid-range RSI.
Warm or bright tiles show high RSI and overbought or stretched conditions.
4) Bull and bear breadth counts
All 20 RSI values are collected into an array each bar. Two counters are then calculated:
Bull count – how many RSIs are above 70.
Bear count – how many RSIs are below 30.
These are plotted as:
A white line (“RSI > 70 Count”) for the overbought cluster.
A black line (“RSI < 30 Count”) for the oversold cluster.
If you enable the “Show Bull and Bear Count” option, you get an immediate reading of how many of the 20 horizons are stretched at any moment.
5) Cluster alerts and background tagging
Two alert conditions monitor “strong cluster” regimes:
RSI Heatmap Strong Bull – triggers when at least 10 RSIs are above 70.
RSI Heatmap Strong Bear – triggers when at least 10 RSIs are below 30.
When one of these conditions is true, the indicator can tint the background of the chart using a soft version of the current palette. This visually marks stretches where momentum is extreme across many lengths at once, not just on a single RSI.
What it plots
In one oscillator window, the indicator provides:
Up to 20 horizontal RSI strips, each representing a different RSI length.
Color-coded tiles reflecting the current RSI value for each length.
Group toggles to show or hide each block of five RSIs.
An optional white line that counts how many RSIs are above 70.
An optional black line that counts how many RSIs are below 30.
Optional background highlights when the number of overbought or oversold RSIs passes the strong-cluster threshold.
How it measures breadth and pressure
Single-symbol breadth
Breadth is usually defined across a basket of symbols, such as how many stocks advance versus decline. This indicator uses the same concept across time horizons for a single symbol. The question becomes:
“How many different RSI lengths are stretched in the same direction at once?”
Examples:
If only 2 or 3 of the shortest RSIs are above 70, bull count stays low. The move is fast and local, but not yet broadly supported.
If 12 or more RSIs across short, medium and long lengths are above 70, the bull count spikes. The move has broad momentum and strong upside pressure.
If 10 or more RSIs are below 30, bear count spikes and you are in a broad oversold regime.
This is breadth of momentum within one market.
Market pressure gauge
The combination of heatmap tiles and breadth lines acts as a pressure gauge:
High bull count with warm colors across most strips indicates strong upside pressure and crowded long positioning.
High bear count with cold colors across most strips indicates strong downside pressure and capitulation or forced selling.
Low counts with a mixed heatmap indicate neutral pressure, fragmented flows, or range-bound conditions.
You can treat the strong-cluster alerts as “extreme pressure” signals. When they fire, the market is heavily skewed in one direction across many horizons.
How to read the heatmap
Horizontal patterns (through time)
Look along the time axis and watch how the colors evolve:
Persistent hot tiles across many strips show sustained bullish pressure and trend strength.
Persistent cold tiles across many strips show sustained bearish pressure and weak demand.
Frequent flipping between hot and cold colours indicates a choppy or mean-reverting environment.
Vertical structure (across lengths at one bar)
Focus on a single bar and read the column of tiles from top to bottom:
Short RSIs hot, long RSIs neutral or cool: early trend or short-term fomo. Price has moved fast, longer horizons have not caught up.
Short and long RSIs all hot: mature, entrenched uptrend. Broad participation, high pressure, greater risk of blow-off or late-entry vulnerability.
Short RSIs cold but long RSIs mid to high: pullback in a higher timeframe uptrend. Dip-buy and continuation setups are often found here.
Short RSIs high but long RSIs low: countertrend rallies within a broader downtrend. Good hunting ground for fades and short entries after a bounce.
Bull and bear breadth lines
Use the two lines as simple, numeric breadth indicators:
A rising white line shows more RSIs pushing above 70, so bullish pressure is expanding in breadth.
A rising black line shows more RSIs pushing below 30, so bearish pressure is expanding in breadth.
When both lines are low and flat, few horizons are extreme and the market is in mid-range territory.
Cluster zones
When either count crosses the strong threshold (for example 10 out of 20 RSIs in extreme territory):
A strong bull cluster marks a broadly overbought regime. Trend followers may see this as confirmation. Mean-reversion traders may see it as a late-stage or blow-off context.
A strong bear cluster marks a broadly oversold regime. Downtrend traders see strong pressure, but the risk of sharp short-covering bounces also increases.
Trading applications
Trend confirmation
Use the heatmap and breadth lines as a trend filter:
Prefer long setups when the heatmap shows mostly mid to high RSIs and the bull count is rising.
Avoid fresh shorts when there is a strong bull cluster, unless you are specifically trading exhaustion.
Prefer short setups when the heatmap is mostly low RSIs and the bear count is rising.
Avoid aggressive longs when a strong bear cluster is active, unless you are trading reflexive bounces.
Mean-reversion timing
Treat cluster extremes as exhaustion zones:
Look for reversal patterns, failed breakouts, or order flow shifts when bull count is very high and price starts to stall or diverge.
Look for reflexive bounce potential when bear count is very high and price stops making new lows or shows absorption at the lows.
Use the palette and counts together: hot tiles plus a peaking white line can mark blow-off conditions, cold tiles plus a peaking black line can mark capitulation.
Regime detection and risk toggling
Use the overall shape of the ladder over time:
If upper strips stay warm and lower strips stay neutral or warm for extended periods, the market is in an uptrend regime. You can justify higher risk for long-biased strategies.
If upper strips stay cold and lower strips stay neutral or cold, the market is in a downtrend regime. You can justify higher risk for short-biased strategies or defensive positioning.
If colours and counts flip frequently, you are likely in a range or choppy regime. Consider reducing size or using more tactical, short-term strategies.
Multi-horizon synchronization
You can think of each RSI length as a proxy for a different “speed” of the same market:
When only fast RSIs are stretched, the move is local and less robust.
When fast, medium and slow RSIs align, the move has multi-horizon confirmation.
You can require a minimum bull or bear count before allowing your main strategy to engage.
Spotting hidden shifts
Sometimes price appears flat or drifting, but the heatmap quietly cools or warms:
If price is sideways while many hot tiles fade toward neutral, momentum is decaying under the surface and trend risk is increasing.
If price is sideways while many cold tiles climb back toward neutral, selling pressure is decaying and the tape is repairing itself.
Settings overview
Calculation Settings
RS Period – base RSI length for the shortest strip.
RSI Step – the increment added to each successive RSI length.
RSI Multiplier – scales all generated RSI lengths.
Calculation Source – the input series, such as close, hlc3 or others.
Plotting and Coloring Settings
Heatmap Color Palette – choose between Viridis, Jet, Plasma, Custom Heat, Gray, Cividis, Inferno, Magma, Turbo or Rainbow.
Show Group 1 – toggles RSI 1–5.
Show Group 2 – toggles RSI 6–10.
Show Group 3 – toggles RSI 11–15.
Show Group 4 – toggles RSI 16–20.
Show Bull and Bear Count – enables or disables the two breadth lines.
Alerts
RSI Heatmap Strong Bull – fires when the number of RSIs above 70 reaches or exceeds the configured threshold (default 10).
RSI Heatmap Strong Bear – fires when the number of RSIs below 30 reaches or exceeds the configured threshold (default 10).
Tuning guidance
Fast, tactical configurations
Use a small base RS Period, for example 2 to 5.
Use a small RSI Step, for tight clustering around the fast horizon.
Keep the multiplier near 1.0 to avoid extreme long lengths.
Focus on Group 1 and Group 2 for intraday and short-term trading.
Swing and position configurations
Use a mid-range RS Period, for example 7 to 14.
Use a moderate RSI Step to fan out into slower horizons.
Optionally use a multiplier slightly above 1.0.
Keep all four groups enabled for a full view from fast to slow.
Macro or higher timeframe configurations
Use a larger base RS Period.
Use a larger RSI Step so the top of the ladder reaches very slow lengths.
Focus on Group 3 and Group 4 to see structural momentum.
Treat clusters as regime markers rather than frequent trading signals.
Notes
This indicator is a contextual tool, not a standalone trading system. It does not model execution, spreads, slippage or fundamental drivers. Use it to:
Understand whether momentum is narrow or broad across horizons.
Confirm or filter existing signals from your primary strategy.
Identify environments where the market is crowded into one side.
Distinguish between isolated spikes and truly broad pressure moves.
The Relative Strength Heatmap is designed to answer a simple but powerful question:
“How many versions of RSI agree with what I am seeing on the chart?”
By compressing those answers into a single panel with clear colour coding and breadth lines, it becomes a practical, visual gauge of momentum breadth and market pressure that you can overlay on any trading framework.
MA200 Deviation Percentile200-Day MA Deviation with Dynamic Thresholds
OVERVIEW
This indicator measures price deviation from the 200-day moving average as a percentage, with dynamically calculated overbought/oversold thresholds based on historical percentiles.
Best suited for broad market indices (SPY, QQQ, IWM, etc.) where the 200-day MA serves as a reliable long-term trend indicator. Individual stocks may exhibit more erratic behavior around this level.
CALCULATION
Deviation (%) = (Close - 200MA) / 200MA x 100
Dynamic thresholds are derived from actual historical distribution rather than assuming normal distribution:
- Overbought threshold = 97.5th percentile of historical deviations
- Oversold threshold = 2.5th percentile of historical deviations
SETTINGS
MA Length (default: 200)
Moving average period.
Lookback Period (default: 1260)
Historical window for threshold calculation. 1260 bars approximates 5 years of daily data.
Threshold Percentile (default: 5%)
Two-tailed threshold. 5% places overbought/oversold boundaries at the 97.5th and 2.5th percentiles respectively.
INTERPRETATION
Deviation Value
- Positive: Price trading above 200MA
- Negative: Price trading below 200MA
- Magnitude indicates extent of deviation
Percentile Ranking (0-100%)
- Shows where current deviation ranks historically
- Above 90%: Historically elevated
- Below 10%: Historically depressed
Dynamic Threshold Lines
- Red line: Upper boundary based on historical distribution
- Green line: Lower boundary based on historical distribution
- These adapt automatically to each asset's volatility characteristics
APPLICATION
Mean Reversion
Extreme deviations tend to normalize over time. When deviation exceeds dynamic thresholds, probability of mean reversion increases.
Trend Assessment
Sustained positive/negative deviation confirms trend direction. Zero-line crossovers may signal trend changes.
NOTES
- Optimized for daily timeframe on market indices
- Requires sufficient historical data (minimum equal to lookback period)
- Extreme readings do not guarantee immediate reversals
- Use in conjunction with other analysis methods






















