RRG Sector Snapshot RRG Sector Snapshot · Clear UI — User Guide
What this indicator does
Purpose: Visualize sector rotation by comparing each sector’s Relative Strength (RS-Ratio) and RS-Momentum versus a benchmark (e.g., VNINDEX).
Output: A quadrant map (table overlay) that positions each sector into one of four regimes:
LEADING (top-right): Strong and accelerating — leadership zone.
WEAKENING (bottom-right): Strong but decelerating — may be topping or consolidating.
LAGGING (bottom-left): Weak and decelerating — avoid unless mean-reverting.
IMPROVING (top-left): Weak but accelerating — candidates for next rotation into leadership.
How it works (under the hood)
X-axis (Strength): RS-Ratio = Sector Close / Benchmark Close, then normalized with a Z-Score over a lookback (normLen).
Y-axis (Momentum): Linear-regression slope of RS-Ratio over rsLen, then normalized with a Z-Score (normLen).
Mapping to grid: Both axes are Z-Scores scaled to a square grid (rrgSize × rrgSize) using a zoom factor (rrgScale). The center is neutral (0,0). Momentum increases upward (Y=0 is the top row in the table).
Quick start (3 minutes)
Add to chart:
TradingView → Pine Editor → paste the script → Save → Add to chart.
Set a benchmark: In inputs, choose Benchmark (X axis) — default INDEX:VNINDEX. Use VN30 or another index if it better reflects your universe.
Load sectors: Fill S1..S10 with sector or index symbols you track (up to 10). Set Slots to Use to the number you actually use.
Adjust view:
rrgSize (grid cells): 18–24 is a good starting point.
rrgScale (zoom): 2.5–3.5 typically; decrease to “zoom out” (points cluster near center), increase to “zoom in” (points spread to edges).
Read the map:
Prioritize sectors in LEADING; shortlist sectors in IMPROVING (could rotate into LEADING).
WEAKENING often marks late-cycle strength; LAGGING is typically avoid.
Inputs — what they do and how to change them
General
Analysis TF: Timeframe used to compute RRG (can be different from chart’s TF). Daily for swing, 1H/4H for tactical rotation, Weekly for macro view.
Benchmark (X axis): The index used for RS baseline (e.g., INDEX:VNINDEX, INDEX:VN30, major ETFs, or a custom composite).
RRG Calculation
RS Lookback (rsLen): Bars used for slope of RS (momentum).
Daily: 30–60 (default 40)
Intraday (1H/4H): 20–40
Weekly: 26–52
Normalization Lookback (Z-Score) (normLen): Window for Z-Score on both axes.
Daily: 80–120 (default 100)
Intraday: 40–80
Weekly: 52–104
Tip: Shorter lookbacks = more responsive but noisier; longer = smoother but slower.
RRG HUD (Table)
Show RRG Snapshot (rrgEnable): Toggle the table on/off.
Position (rrgPos): top_right | top_left | bottom_right | bottom_left.
Grid Size (Cells) (rrgSize): Table dimensions (N×N). Larger = more resolution but takes more space.
Z-Scale (Zoom) (rrgScale): Maps Z-Scores to the grid.
Smaller (2.0–2.5): Zoom out (more points near center).
Larger (3.5–4.0): Zoom in (emphasize outliers).
Appearance
Tag length (tagLen): Characters per sector tag. Use 4–6 for clarity.
Text size (textSizeOp): Tiny | Small | Normal | Large. Use Large for presentation screens or dense lists.
Axis thickness (axisThick): 1 = thin axis; 2 = thicker double-strip axis.
Quadrant alpha (bgAlpha): Transparency of quadrant backgrounds. 80–90 makes text pop.
Sectors (Max 10)
Slots to Use (sectorSlots): How many sector slots are active (≤10).
S1..S10: Each slot is a symbol (index, sector index, or ETF). Replace defaults to fit your market/universe.
How to interpret the map
Quadrants:
Leading (top-right): Relative strength above average and improving — trend-follow candidates.
Weakening (bottom-right): Still strong but momentum cooling — watch for distribution or pauses.
Lagging (bottom-left): Underperforming and still losing momentum — avoid unless doing mean-reversion.
Improving (top-left): Early recovery — candidates to transition into Leading if the move persists.
Overlapping sectors in one cell: The indicator shows “TAG +n” where TAG is the first tag, +n is the number of additional sectors sharing that cell. If many overlap:
Increase rrgSize, or
Decrease rrgScale to zoom out, or
Reduce Slots to Use to a smaller selection.
Suggested workflows
Daily swing
Benchmark: VNINDEX or VN30
rsLen 40–60, normLen 100–120, rrgSize 18–24, rrgScale 2.5–3.5
Routine:
Identify Leading sectors (top-right).
Spot Improving sectors near the midline moving toward top-right.
Confirm with price/volume/breakout on sector charts or top components.
Intraday (1H/4H) tactical
rsLen 20–40, normLen 60–100, rrgScale 2.0–3.0
Expect faster rotations and more noise; tighten filters with your own entry rules.
Weekly (macro rotation)
rsLen 26–52, normLen 52–104, rrgScale 3.0–4.0
Great for portfolio tilts and sector allocation.
Tuning tips
If everything clusters near center: Increase rrgScale (zoom in) or reduce normLen (more contrast).
If points are too spread: Decrease rrgScale (zoom out) or increase normLen (smoother normalization).
If the table is too big/small: Change rrgSize (cells).
If tags are hard to read: Increase textSizeOp to Large, tagLen to 5–6, and consider bgAlpha ~80–85.
Troubleshooting
No table on chart:
Ensure Show RRG Snapshot is enabled.
Change Position to a different corner.
Reduce Grid Size if the table exceeds the chart area.
Many sectors “missing”:
They’re likely overlapping in the same cell; the cell will show “TAG +n”.
Increase rrgSize, decrease rrgScale, or reduce Slots to Use.
Early bars show nothing:
You need enough data for rsLen and normLen. Scroll back or reduce lookbacks temporarily.
Best practices
Use RRG for context and rotation scouting, then confirm with your execution tools (trend structure, breakouts, volume, risk metrics).
Benchmark selection matters. If most of your watchlist tracks VN30, use INDEX:VN30 as the benchmark to get a truer relative read.
Revisit settings per timeframe. Intraday needs more responsiveness (shorter lookbacks, smaller Z-Scale); weekly needs stability (longer lookbacks, larger Z-Scale).
FAQ
Can I use ETFs or custom indices as sectors? Yes. Any symbol supported by TradingView works.
Can I track individual stocks instead of sectors? Yes (up to 10); just replace the S1..S10 symbols.
Why Z-Score? It standardizes each axis to “how unusual” the value is versus its own history — more robust than raw ratios across different scales.
[ i]
How to Set Up (Your Market Template)
This is the most important part for customizing the indicator to any market.
Step 1: Choose Your TF & Benchmark
Open the indicator's Settings.
Analysis TF: Set the timeframe you want to analyze (e.g., D for medium-term, W for long-term).
Benchmark (Trục X): This is the index you want to compare against.
Vietnamese Market: Leave the default INDEX:VNINDEX.
US Market: Change to SP:SPX or NASDAQ:NDX.
Crypto Market: Change to TOTAL (entire market cap) or BTC.D (Bitcoin Dominance).
Step 2: Input Your "Universe" (The 10 Slots)
This is where you decide what to track. You have 10 slots (S1 to S10).
For Vietnamese Sectors (Default):
Leave the default sector codes like INDEX:VNFINLEAD (Finance), INDEX:VNREAL (Real Estate), INDEX:VNIND (Industry), etc.
Template for Crypto "Sectors":
S1: BTC.D
S2: ETH.D
S3: TOTAL2 (Altcoin Market Cap)
S4: TOTAL.DEFI (DeFi)
S5: CRYPTOCAP:GAME (GameFi)
...and so on.
Template for Blue Chip Stocks:
Benchmark: INDEX:VN30
S1: HOSE:FPT
S2: HOSE:VCB
S3: HOSE:HPG
S4: HOSE:MWG
...and so on.
Template for Commodities:
Benchmark: TVC:DXY (US Dollar Index)
S1: TVC:GOLD
S2: TVC:USOIL
S3: TVC:SILVER
S4: COMEX:HG1! (Copper)
...and so on.
Step 3: Fine-Tuning
RS Lookback: A larger number (e.g., 100) gives a smoother, long-term view. A smaller number (e.g., 20) is more sensitive to short-term changes.
Z-Scale (Zoom): This is the "magnification" of the map.
If all your sectors are crowded in the middle, increase this number (e.g., 4.0) to "zoom in."
If your sectors are stuck on the edges, decrease this number (e.g., 2.0) to "zoom out."
Tag length: How many letters to display for the ticker (e.g., 4 will show VNFI).
Indikator dan strategi
Standard Daily VWAPVwap strategy based on mainly usd pairs for scalping it starts at the start of everyday and ends at the end of everyday and it is a line thats colour can be changed so u can design it acc to u it is best for scalping and taking small trades
HTF Candle Countdown Timer//@version=5
indicator("HTF Candle Countdown Timer", overlay=true)
// ============================================================================
// INPUTS - SETTINGS MENU
// ============================================================================
// --- Mode Selection ---
mode = input.string(title="Mode", defval="Auto", options= ,
tooltip="Auto: Αυτόματη αντιστοίχιση timeframes Custom: Επιλέξτε το δικό σας timeframe")
// --- Custom Timeframe Selection ---
customTF = input.timeframe(title="Custom Timeframe", defval="15",
tooltip="Ενεργό μόνο σε Custom Mode")
// --- Table Position ---
tablePos = input.string(title="Table Position", defval="Bottom Right",
options= )
// --- Colors ---
textColor = input.color(title="Text Color", defval=color.white)
bgColor = input.color(title="Background Color", defval=color.black)
transparentBg = input.bool(title="Transparent Background", defval=false,
tooltip="Ενεργοποίηση διάφανου φόντου")
// --- Text Size ---
textSize = input.string(title="Text Size", defval="Normal",
options= )
// ============================================================================
// FUNCTIONS
// ============================================================================
// Μετατροπή string position σε table position constant
getTablePosition(pos) =>
switch pos
"Top Left" => position.top_left
"Top Right" => position.top_right
"Bottom Left" => position.bottom_left
"Bottom Right" => position.bottom_right
=> position.bottom_right
// Μετατροπή string size σε size constant
getTextSize(size) =>
switch size
"Auto" => size.auto
"Tiny" => size.tiny
"Small" => size.small
"Normal" => size.normal
"Large" => size.large
"Huge" => size.huge
=> size.normal
// Αυτόματη αντιστοίχιση timeframes
getAutoTimeframe() =>
currentTF = timeframe.period
string targetTF = ""
if currentTF == "1"
targetTF := "15"
else if currentTF == "3"
targetTF := "30"
else if currentTF == "5"
targetTF := "60"
else if currentTF == "15"
targetTF := "240"
else if currentTF == "60"
targetTF := "D"
else if currentTF == "240"
targetTF := "W"
else
// Default fallback για μη-mapped timeframes
targetTF := "60"
targetTF
// Μετατροπή timeframe string σε λεπτά για σύγκριση
timeframeToMinutes(tf) =>
float minutes = 0.0
if str.contains(tf, "D")
multiplier = str.tonumber(str.replace(tf, "D", ""))
minutes := na(multiplier) ? 1440.0 : multiplier * 1440.0
else if str.contains(tf, "W")
multiplier = str.tonumber(str.replace(tf, "W", ""))
minutes := na(multiplier) ? 10080.0 : multiplier * 10080.0
else if str.contains(tf, "M")
multiplier = str.tonumber(str.replace(tf, "M", ""))
minutes := na(multiplier) ? 43200.0 : multiplier * 43200.0
else
minutes := str.tonumber(tf)
minutes
// Format countdown σε ώρες:λεπτά:δευτερόλεπτα ή λεπτά:δευτερόλεπτα
formatCountdown(milliseconds) =>
totalSeconds = math.floor(milliseconds / 1000)
hours = math.floor(totalSeconds / 3600)
minutes = math.floor((totalSeconds % 3600) / 60)
seconds = totalSeconds % 60
string result = ""
if hours > 0
result := str.format("{0,number,00}:{1,number,00}:{2,number,00}", hours, minutes, seconds)
else
result := str.format("{0,number,00}:{1,number,00}", minutes, seconds)
result
// Μετατροπή timeframe σε readable format
formatTimeframe(tf) =>
string formatted = ""
if str.contains(tf, "D")
formatted := tf + "aily"
else if str.contains(tf, "W")
formatted := tf + "eekly"
else if str.contains(tf, "M")
formatted := tf + "onthly"
else if tf == "60"
formatted := "1H"
else if tf == "240"
formatted := "4H"
else
formatted := tf + "min"
formatted
// ============================================================================
// MAIN LOGIC
// ============================================================================
// Επιλογή target timeframe βάσει mode
targetTimeframe = mode == "Auto" ? getAutoTimeframe() : customTF
// Validation: Έλεγχος αν το target timeframe είναι μεγαλύτερο από το τρέχον
currentTFMinutes = timeframeToMinutes(timeframe.period)
targetTFMinutes = timeframeToMinutes(targetTimeframe)
var string warningMessage = ""
if targetTFMinutes <= currentTFMinutes
warningMessage := "⚠ HTF < Current TF"
else
warningMessage := ""
// Υπολογισμός του χρόνου κλεισίματος του HTF candle
htfTime = request.security(syminfo.tickerid, targetTimeframe, time)
htfTimeClose = request.security(syminfo.tickerid, targetTimeframe, time_close)
// Υπολογισμός υπολειπόμενου χρόνου σε milliseconds
remainingTime = htfTimeClose - timenow
// Format countdown
countdown = warningMessage != "" ? warningMessage : formatCountdown(remainingTime)
// Format timeframe για εμφάνιση
displayTF = formatTimeframe(targetTimeframe)
// ============================================================================
// TABLE DISPLAY
// ============================================================================
// Δημιουργία table
var table countdownTable = table.new(
position=getTablePosition(tablePos),
columns=2,
rows=2,
bgcolor=transparentBg ? color.new(bgColor, 100) : bgColor,
frame_width=1,
frame_color=color.gray,
border_width=1)
// Update table content
if barstate.islast
// Header
table.cell(countdownTable, 0, 0, "Timeframe:",
text_color=textColor,
bgcolor=transparentBg ? color.new(bgColor, 100) : bgColor,
text_size=getTextSize(textSize))
table.cell(countdownTable, 1, 0, displayTF,
text_color=textColor,
bgcolor=transparentBg ? color.new(bgColor, 100) : bgColor,
text_size=getTextSize(textSize))
// Countdown
table.cell(countdownTable, 0, 1, "Countdown:",
text_color=textColor,
bgcolor=transparentBg ? color.new(bgColor, 100) : bgColor,
text_size=getTextSize(textSize))
table.cell(countdownTable, 1, 1, countdown,
text_color=warningMessage != "" ? color.orange : textColor,
bgcolor=transparentBg ? color.new(bgColor, 100) : bgColor,
text_size=getTextSize(textSize))
// ============================================================================
// END OF SCRIPT
// ============================================================================
VWAP Reset at Asian Session (Midnight UTC)Vwap strategy based on mainly usd pairs for scalping it starts at the start of everyday and ends at the end of everyday and it is a line thats colour can be changed so u can design it acc to u it is best for scalping and taking small trades
Volatility Resonance CandlesVolatility Resonance Candles visualize the dynamic interaction between price acceleration, volatility, and volume energy.
They’re designed to reveal moments when volatility expansion and directional momentum resonate — often preceding strong directional moves or reversals.
🔬 Concept
Traditional candles display direction and range, but they miss the energetic structure of volatility itself.
This indicator introduces a resonance model, where ATR ratio, price acceleration, and volume intensity combine to form a composite signal.
* ATR Resonance: compares short-term vs. long-term volatility
* Acceleration: captures the rate of price change
* Volume Energy: reinforces the move’s significance
When these components align, the candle color “resonates” — brighter, more intense candles signal stronger volatility–momentum coupling.
⚙️ Features
* Adaptive Scaling
Normalizes energy intensity dynamically across a user-defined lookback period, ensuring consistency in changing market conditions.
* Power-Law Transformation
Optional non-linear scaling (gamma) emphasizes higher-energy events while keeping low-intensity noise visually subdued.
* Divergence Mode
When enabled, colors can invert to highlight energy divergence from candle direction (e.g., bearish pressure during bullish closes).
* Customizable Styling
Full control over bullish/bearish base colors, transparency scaling, and threshold sensitivity.
🧠 Interpretation
* Bright / High-Intensity Candles → Strong alignment of volatility and directional energy.
Often signals the resonant phase of a move — acceleration backed by volatility expansion and volume participation.
* Dim / Low-Intensity Candles → Energy dispersion or consolidation.
These typically mark quiet zones, pauses, or inefficient volatility.
* Opposite-Colored Candles (if divergence mode on) → Potential inflection zones or hidden stress in the trend structure.
⚠️ Disclaimer
This script is for educational purposes only.
It does not constitute financial advice, and past performance is not indicative of future results. Always do your own research and test strategies before making trading decisions.
VWMA Series (Dynamic) mtf - Dual Gradient Colored"VWMA Series (Dynamic) mtf - Dual Gradient Colored" is a multi-timeframe (MTF) Volume-Weighted Moving Average (VWMA) ribbon indicator that plots up to 60 sequential VWMAs with arithmetic progression periods (e.g., 1, 4, 7, 10…). Each VWMA line is dual-gradient colored: Base hue = Greenish (#2dd204) if close > VWMA (bullish), Magenta (#ff00c8) if close < VWMA (bearish)
Brightness gradient = fades from base → white as period increases (short → long-term)
Uses daily resolution by default (timeframe="D"), making it ideal for higher-timeframe trend filtering on lower charts.Key FeaturesFeature
Description
Dynamic Periods
Start + i × Increment → e.g., 1, 4, 7, 10… up to 60 terms
Dual Coloring
Bull/Bear + Gradient (short = vivid, long = pale)
MTF Ready
Plots daily VWMAs on any lower timeframe (1H, 15M, etc.)
No Lag on Long Sets
Predefined "best setups" eliminate repainting/lag
Transparency Control
Adjustable line opacity for clean visuals
Scalable
Up to 60 VWMAs (max iterations)
Recommended Setups (No Lag)Type
Example Sequence (Start, Inc, Iter)
Long-Term Trend
1, 3, 30 → 1, 4, 7 … 88
93, 3, 30 → 93, 96 … 180
372, 6, 30 → 372, 378 … 546
Short-Term Momentum
1, 1, 30 → 1, 2, 3 … 30
94, 2, 30 → 94, 96 … 152
1272, 5, 30 → 1272, 1277 … 1417
Key Use CasesUse Case
How to Use
1. Multi-Timeframe Trend Alignment
On 1H chart, use 1, 3, 30 daily VWMAs → price above all green lines = strong uptrend
2. Dynamic Support/Resistance
Cluster of long-term pale VWMAs = major S/R zone
3. Early Trend Change Detection
Short-term vivid lines flip from red → green before longer ones = early bullish signal
4. Ribbon Compression/Expansion
Tight bundle → consolidation; fanning out → trend acceleration
5. Mean Reversion Entries
Price far from long-term VWMA cluster + short-term reversal = pullback trade
6. Volume-Weighted Fair Value
Long-period VWMAs reflect true average price paid over weeks/months
Visual Summary
Price ↑
████ ← Short VWMA (vivid green = close > VWMA)
███
██
█
. . . fading to white
█
██
███
████ ← Long VWMA (pale = institutional average)
Green lines = price above VWMA (bullish bias)
Magenta lines = price below VWMA (bearish bias)
Gradient = shorter (left) → brighter; longer (right) → whiter
Ribbon thickness = trend strength (wide = strong, narrow = weak)
Best For Swing traders using daily trend on intraday charts
Volume-based strategies (VWMA > SMA)
Clean, colorful trend visualization without clutter
Institutional fair value anchoring via long-period VWMAs
Pro Tip:
Use Start=1, Increment=3, Iterations=30 on a 4H chart with timeframe="D" → perfect daily trend filter with zero lag and beautiful gradient flow.
Murrey Math SMA up to 32s Murrey Math SMA up to 32s is a highly advanced Pine Script v5 indicator that combines Murrey Math Lines (MML) with a customizable moving average (MA) — including a non-repainting Rolling VWAP (RVWAP) — and dynamic color-coded support/resistance bands up to 1/32 subdivisions. It projects octave-based geometric price levels (like Gann) centered on your chosen MA, with adaptive scaling, angle-based trend coloring, and absolute/extended MML bands. Includes 1/8, 1/16, and 1/32 grid lines, shaded zones, labels, and a live increment display.Core FeaturesFeature
Description
MA Types
SMA, VWMA, VWAP, Period VWAP, RVWAP (rolling VWAP over fixed or adaptive time window)
Murrey Math Grid
Auto-scaled 0/8 to 8/8 + extensions (±3/8), with 1/16 & 1/32 subdivisions
Dynamic Coloring
Bands colored by MA slope angle (bullish/bearish) or absolute MML shift
RVWAP Engine
Non-repainting volume-weighted average over user-defined or adaptive time steps
Wick Filtering
Optional ignore wicks for cleaner MML framing
Resolution Support
Works with higher timeframe data via request.security()
Key Use Cases Use Case
How to Use
1. Precision Support & Resistance
Treat 4/8 (mid) as pivot, 0/8 & 8/8 as extremes. Price often reverses or accelerates at these levels.
2. Mean Reversion Trades
Buy near 0/8–1/8 (oversold), sell near 7/8–8/8 (overbought) when MA is flat or sloping mildly.
3. Trend Continuation
When MA angle > threshold and price breaks 5/8, expect move to 8/8. Confirm with volume.
4. Breakout Entries
Watch for close beyond 8/8 or 0/8 + MA angle steep → strong momentum breakout.
5. Scalping with 1/32 Grid
Use 1/32 lines as micro-targets in ranging markets or after news spikes.
6. Volume-Weighted Fair Value
RVWAP = true average price paid over time → anchor for institutional fair value.
Visual Layout (MA-Centered)
+3/8 ───┐
+2/8 ───┤ ← Strong resistance
+1/8 ───┤
8/8 ███┤ ← Overbought (red zone)
7/8 ───┤
6/8 ███┤
5/8 ───┤
4/8 ███┤ ← Midline (pivot)
3/8 ───┤
2/8 ███┤
1/8 ───┤
0/8 ███┤ ← Oversold (green zone)
-1/8 ───┤
-2/8 ───┤
-3/8 ───┘
Shaded: 0/8–1/8 (buy), 7/8–8/8 (sell), 3/8–5/8 (neutral/consolidation)
MA Line: Orange (RVWAP) or hidden
Labels: Bottom, 1/4, Mid, 3/4, Top (offset to the right)
Table: Shows current Increment size
Best For Swing & scalp traders on stocks, forex, crypto
Volume-based strategies (RVWAP shines in high-volume moves)
Gann/Murrey Math enthusiasts wanting automation + modern MA anchoring
Combined Advanced Trading BlueprintStacked EMAs, some SMA, VWAP, Smart Money Concept stuff all wrapped into one
VMMA Ribbon + Q1/Q3 Echo Rayssimulates a series of vwma lines in a wave. Basically puts them in an array and calculates highest lowest values among other things ... The VMMA Ribbon + Q1/Q3 Echo Rays is a Pine Script v5 indicator that combines a dynamic Volume-Weighted Moving Average (VWMA) ribbon with interactive support/resistance "echo rays" based on the ribbon’s inner quartiles (Q1 and Q3). The ribbon is built from multiple VWMAs of increasing lengths, forming a band with an upper edge, lower edge, midline, and Q1/Q3 lines (representing the 25th and 75th percentiles of the band).
Edges are colored by slope (bullish = green, bearish = red) or use a default color.
Echo rays extend horizontally from recent swing lows in Q1 and swing highs in Q3, acting as dynamic support/resistance levels that "echo" past extremes until broken or surpassed.
Key Use CasesUse Case
Description
1. Trend Strength & Direction
Ribbon expansion = volatility; compression = consolidation. Slope-colored edges show momentum shifts early.
2. Dynamic Support & Resistance
Q1/Q3 echo rays mark high-probability reversal zones. Price respecting rays = continuation; break = reversal.
3. Mean Reversion Entries
Buy near Q1 ray in uptrend (oversold within band); sell near Q3 ray in downtrend.
4. Breakout Confirmation
Price breaking upper/lower edge + Q3/Q1 ray termination confirms strong breakout.
5. Volume-Weighted Context
Uses VWMA → more reactive to volume spikes than SMA → better for stocks/crypto with sudden volume surges.
Sinal de Shorts e Longs (OI + OBV + RSI)This indicator combines Open Interest (OI), On-Balance Volume (OBV), and RSI to identify potential short and long pressures in the market.
When OI increases, OBV decreases, and RSI > 40, it signals short entries and possible bearish pressure.
When OI increases, OBV also increases, and RSI < 60, it signals long entries and potential bullish reversals.
Visual signals (S and L) are displayed directly on the chart for quick interpretation.
Useful for tracking futures market sentiment and spotting shifts in trader positioning.
ARVELOV EMA15 Candle BreakARVELOV EMA15 Candle Break
This Pine Script plots a 15-period Exponential Moving Average (EMA) on the price chart and triggers visual and alert signals—showing a green “CALLS” label when the price crosses above the EMA and a red “PUT” label when it crosses below—indicating potential bullish or bearish momentum shifts.
Nqaba Probable High/Low — Overshoot/Undershoot{Larry Method)This Probable High/Low indicator is an advanced tool inspired by Larry R. Williams’ original projection formulas.
It calculates probable daily highs and lows based on the prior day’s open, high, low, and close, allowing traders to anticipate key intraday price levels with precision.
OI Value (aproximado)This indicator estimates the Open Interest Value (USD) by multiplying the Open Interest (contracts) of the BTCUSDT Perpetual Futures by the current price.
It provides an approximate view of how much capital is engaged in open positions, helping traders visualize whether new money is entering or leaving the market.
Use Case:
Rising OI Value → New capital entering the market (trend strengthening)
Falling OI Value → Positions being closed or liquidated (trend weakening)
Designed for traders combining Open Interest analysis with price action and volume-based indicators such as OBV or Delta Volume.
Stablecoin Liquidity Delta (Aggregate Market Cap Flow)Hi All,
This indicator visualizes the bar-to-bar change in the aggregate market capitalization of major stablecoins, including USDT, USDC, DAI, and others. It serves as a proxy for monitoring on-chain liquidity and measuring capital inflows or outflows across the crypto market.
Stablecoins are the primary liquidity layer of the crypto economy. Their combined market capitalization acts as a mirror of the available fiat-denominated liquidity in digital markets:
🟩 An increase in the total stablecoin market capitalization indicates new issuance (capital entering the market).
🟥 A decrease reflects redemption or burning (liquidity exiting the system).
Tracking these flows helps anticipate macro-level liquidity trends that often lead overall market direction, providing context for broader price movements.
All values are derived from TradingView’s public CRYPTOCAP tickers, which represent the market capitalization of each stablecoin. While minor deviations can occur due to small price fluctuations around the $1 peg, these figures serve as a proxy for circulating supply and net issuance across the stablecoin ecosystem.
Uptrick: Volume Weighted BandsIntroduction
This indicator, Uptrick: Volume Weighted Bands, overlays dynamic, volume-informed trend channels directly on the chart. By fusing price and volume data through volume-weighted and exponential moving averages, the script forms a core trend line with adaptive bandwidth controlled by volatility. It is designed to help traders identify trend direction, breakout entries, and extended conditions that may warrant take-profits or pullback re-entries.
Overview
The Volume Weighted Bands system is built around a trend line calculated by averaging a Volume Weighted Moving Average (VWMA) and an Exponential Moving Average (EMA), both over a configurable lookback period. This hybrid trend baseline is then smoothed further and expanded into dynamic upper and lower bands using an Average True Range (ATR) multiplier. These bands adapt with market volatility and shift color based on prevailing price action, helping traders quickly identify bullish, bearish, or neutral conditions.
Originality and Unique Features
This script introduces originality by blending both price and volume in the core trend calculation, a technique that is more responsive than traditional moving average bands. Its multi-mode visualization (cloud, single-band, or line-only), combined with selective buy/sell signals, makes it flexible for discretionary and algorithmic strategies alike. Optional modules for take-profit signals based on z-score deviation and RSI slope, as well as buy-back detection logic with cooldown filters, offer practical tools for managing trades beyond simple entries.
Explanation of Inputs
Every user input in this script is included to give the trader control over behavior and visual presentation:
Trend Length (len): Defines the lookback window for both the VWMA and EMA, controlling the sensitivity of the core trend baseline. A lower value makes the bands more reactive, while a higher value smooths out short-term noise.
Extra Smoothing (smoothLen): Applies an additional EMA to the blended VWMA/EMA average. This second-level smoothing ensures the central trend line reacts gradually to shifts in price.
Band Width (ATR Multiplier) (bandMult): Multiplies the ATR to create the width of the upper and lower bands around the trend line. Larger values widen the bands, capturing more volatility, while smaller values narrow them.
ATR Length (atrLen): Sets the length of the ATR used in calculating band width and signal offsets. Longer values produce smoother band boundaries.
Show Buy/Sell Signals (showSignals): Toggles the primary crossover/crossunder entry signals, which are labeled when the close crosses the upper or lower band.
Visual Mode (visualMode): Allows selection between three display modes:
--> Cloud: Shows both bands and the central trend line with a shaded background.
--> Single Band: Displays only the active (upper or lower) band depending on trend state, with gradient fill to price.
--> Line Only: Shows only the trend line for a minimal visual profile.
Take Profit Signals (enableTP): Enables a z-score-based profit-taking signal system. Signals occur when price deviates significantly from the trend line and RSI confirms exhaustion.
TP Z-Score Threshold (tpThreshold): Sets the z-score deviation required to trigger a take-profit signal. Higher values reduce the frequency of signals, focusing on more extreme moves.
Re-Entries (enableBuyBack): Enables logic to signal when price reverts into the band after an initial breakout, suggesting a possible re-entry or pullback setup.
Buy Back Cooldown (bars) (buyBackCooldown): Defines a minimum bar count before a new buy-back signal is allowed, preventing rapid retriggering in choppy conditions.
Buy Offset and Sell Offset: Hidden inputs used to vertically adjust the placement of the Buy ("𝓤𝓹") and Sell ("𝓓𝓸𝔀𝓷") labels relative to the bands. These use ATR units to maintain proportionality across different instruments and timeframes.
Take-Profit Signal Module
The take-profit module uses a z-score of the distance between price and the trend line to detect extended conditions. In bullish trends, a signal appears when price is well above the band and RSI indicates exhaustion; the opposite applies for bearish conditions. A boolean flag is used to prevent retriggering until RSI resets. These signals are plotted with minimalist “X” markers near recent highs or lows, based on whether the market is extended upward or downward.
Re-Entry Logic
The re-entry system identifies instances where price momentarily dips or spikes into the opposite band but closes back inside, implying a continuation of the prevailing trend. This module can be particularly useful for traders managing entries after brief pullbacks. A built-in cooldown period helps filter out noise and prevents signal overloading during fast markets. Visual markers are shown as upward or downward arrows near the relevant candle wicks.
How to Use This Indicator
The basic usage of this indicator follows a directional, signal-driven approach. When a buy signal appears, it suggests entering a long position. The recommended stop loss placement is below the lower band, allowing for some breathing space to accommodate natural volatility. As the position progresses, take partial profits—typically 10% to 15% of the position—each time a take-profit signal (marked with an "X") is shown on the chart.
An optional feature is the buy-back signal, which can be used to re-enter after partial exits or missed entries. Utilizing this can help reduce losses during false breakouts or trend reversals by scaling in more gradually. However, it also means that in strong, clean trends, the full position may not be captured from the start, potentially reducing the total return. It is up to the trader to decide whether to enter fully on the initial signal or incrementally using buy-backs.
When a sell signal appears, the strategy advises fully exiting any long positions and immediately switching to a short position. The short trade follows the same logic: place your stop loss above the upper band with some margin, and again, take partial profits at each take-profit signal.
Visual Presentation and Signal Labels
All signals are plotted with clean, minimal labels that avoid clutter, and are color-coded using a custom palette designed to remain clear across light and dark chart themes. Bullish trends are marked in teal and bearish trends in magenta. Candles and wicks are also colored accordingly to align price action with the detected trend state. Buy and sell entries are marked with "𝓤𝓹" and "𝓓𝓸𝔀𝓷" labels.
Summary
In summary, the Uptrick: Volume Weighted Bands indicator provides a versatile, visually adaptive trend and volatility tool that can serve multiple styles of trading. Through its integration of price, volume, and volatility, along with modular take-profit and buy-back signaling, it aims to provide actionable structure across a range of market conditions.
Disclaimer
This indicator is for educational purposes only. Trading involves risk, and past performance does not guarantee future results. Always test strategies before applying them in live markets.
Nqaba Probable High/Low{Larry Method}The Probable High/Low indicator is an advanced tool inspired by Larry R. Williams’ original projection formulas.
It calculates probable daily highs and lows based on the prior day’s open, high, low, and close, allowing traders to anticipate key intraday price levels with precision.
This version provides full control over visibility, styling, and historical analysis — making it both educational and powerful for active traders.
ombhai028sboa public scholl ierigiwuhreti ieyrgleirgleiruglehfblyerfeibreyrbveyryrgyregeiyrgerygeirygeyrgyge
US/SPY- Financial Regime Index Swing Strategy Credits: concept inspired by EdgeTools Bloomberg Financial Conditions Index (Proxy)
Improvements: eight component basket, inverse volatility weights, winsorization option( statistical technique used to limit the influence of outliers in a dataset by replacing extreme values with less extreme ones, rather than removing them entirely), slope and price gates, exit guards, table and gradients.
Summary in one paragraph
A macro regime swing strategy for index ETFs, futures, FX majors, and large cap equities on daily calculation with optional lower time execution. It acts only when a composite Financial Conditions proxy plus slope and an optional price filter align. Originality comes from an eight component macro basket with inverse volatility weights and winsorized return z scores that produce a portable yardstick.
Scope and intent
Markets: SPY and peers, ES futures, ACWI, liquid FX majors, BTC, large cap equities.
Timeframes: calculation daily by default, trade on any chart.
Default demo: SPY on Daily.
Purpose: convert broad financial conditions into clear swing bias and exits.
Originality and usefulness
Unique fusion: return z scores for eight liquid proxies with inverse volatility weighting and optional winsorization, then slope and price gates.
Failure mode addressed: false starts in chop and early shorts during easy liquidity.
Testability: all knobs are inputs and the table shows components and weights.
Portable yardstick: z scores center at zero so thresholds transfer across symbols.
Method overview in plain language
Base measures
Return basis: natural log return over a configurable window, standardized to a z score. Winsorization optional to cap extremes.
Components
EQ US and EQ GLB measure equity tone.
CREDIT uses LQD over HYG. Higher credit quality outperformance is risk off so sign is flipped after z score.
RATES2Y uses two year yield, sign flipped.
SLOPE uses ten minus two year yield spread.
USD uses DXY, sign flipped.
VOL uses VIX, sign flipped.
LIQ uses BIL over SPY, sign flipped.
Each component is smoothed by the composite EMA.
Fusion rule
Weighted sum where weights are equal or inverse volatility with exponent gamma, normalized to percent so they sum to one.
Signal rule
Long when composite crosses up the long threshold and its slope is positive and price is above the SMA filter, or when composite is above the configured always long floor.
Short when composite crosses down the short threshold and its slope is negative and price is below the SMA filter.
Long exit on cross down of the long exit line or on a fresh short signal.
Short exit on cross up of the short exit line or on a fresh long signal, or when composite falls below the force short exit guard.
What you will see on the chart
Markers on suggestion bars: L for long, S for short, LX and SX for exits.
Reference lines at zero and soft regime bands at plus one and minus one.
Optional background gradient by regime intensity.
Compact table with component z, weight percent, and composite readout.
Table fields and quick reading guide
Component: EQ US, EQ GLB, CREDIT, RATES2Y, SLOPE, USD, VOL, LIQ.
Z: current standardized value, green for positive risk tone where applicable.
Weight: contribution percent after normalization.
Composite: current index value.
Reading tip: a broadly green Z column with slope positive often precedes better long context.
Inputs with guidance
Setup
Calc timeframe: default Daily. Leave blank to inherit chart.
Lookback: 50 to 1500. Larger length stabilizes regimes and delays turns.
EMA smoothing: 1 to 200. Higher smooths noise and delays signals.
Normalization
Winsorize z at ±3: caps extremes to reduce one off shocks.
Return window for equities: 5 to 260. Shorter reacts faster.
Weighting
Weight lookback: 20 to 520.
Weight mode: Equal or InvVol.
InvVol exponent gamma: 0.1 to 3. Higher compresses noisy components more.
Signals
Trade side: Long Short or Both.
Entry threshold long and short: portable z thresholds.
Exit line long and short: soft exits that give back less.
Slope lookback bars: 1 to 20.
Always long floor bfci ≥ X: macro easy mode keep long.
Force short exit when bfci < Y: macro stress guard.
Confirm
Use price trend filter and Price SMA length.
View
Glow line and Show component table.
Symbols
SPY ACWI HYG LQD VIX DXY US02Y US10Y BIL are defaults and can be changed.
Realism and responsible publication
No performance claims. Past is not future.
Shapes can move intrabar and settle on close.
Execution is on standard candles only.
Honest limitations and failure modes
Major economic releases and illiquid sessions can break assumptions.
Very quiet regimes reduce contrast. Use longer windows or higher thresholds.
Component proxies are ETFs and indexes and cannot match a proprietary FCI exactly.
Strategy notice
Orders are simulated on standard candles. All security calls use lookahead off. Nonstandard chart types are not supported for strategies.
Entries and exits
Long rule: bfci cross above long threshold with positive slope and optional price filter OR bfci above the always long floor.
Short rule: bfci cross below short threshold with negative slope and optional price filter.
Exit rules: long exit on bfci cross below long exit or on a short signal. Short exit on bfci cross above short exit or on a long signal or on force close guard.
Position sizing
Percent of equity by default. Keep target risk per trade low. One percent is a sensible starting point. For this example we used 3% of the total capital
Commisions
We used a 0.05% comission and 5 tick slippage
Legal
Education and research only. Not investment advice. Test in simulation first. Use realistic costs.
Previous Day OHLC with Labels//@version=5
indicator("Previous Day OHLC with Labels (Visible Fix)", overlay=true)
// ========== SETTINGS ==========
col_open = input.color(color.new(color.green, 0), "Open Line Color")
col_high = input.color(color.new(color.red, 0), "High Line Color")
col_low = input.color(color.new(color.blue, 0), "Low Line Color")
col_close = input.color(color.new(color.yellow, 0), "Close Line Color")
line_w = input.int(2, "Line Width", minval=1, maxval=5)
show_labels = input.bool(true, "Show Labels")
// ========== PREVIOUS DAY DATA ==========
prev_open = request.security(syminfo.tickerid, "D", open , lookahead=barmerge.lookahead_on)
prev_high = request.security(syminfo.tickerid, "D", high , lookahead=barmerge.lookahead_on)
prev_low = request.security(syminfo.tickerid, "D", low , lookahead=barmerge.lookahead_on)
prev_close = request.security(syminfo.tickerid, "D", close , lookahead=barmerge.lookahead_on)
prev_dow = request.security(syminfo.tickerid, "D", dayofweek , lookahead=barmerge.lookahead_on)
// Get day name
day_name = prev_dow == dayofweek.monday ? "Monday" :
prev_dow == dayofweek.tuesday ? "Tuesday" :
prev_dow == dayofweek.wednesday ? "Wednesday" :
prev_dow == dayofweek.thursday ? "Thursday" :
prev_dow == dayofweek.friday ? "Friday" :
prev_dow == dayofweek.saturday ? "Saturday" : "Sunday"
// ========== DRAW LINES ==========
if barstate.islast
// Extend across full chart view
line.new(bar_index - 500, prev_open, bar_index + 500, prev_open, color=col_open, width=line_w, extend=extend.both)
line.new(bar_index - 500, prev_high, bar_index + 500, prev_high, color=col_high, width=line_w, extend=extend.both)
line.new(bar_index - 500, prev_low, bar_index + 500, prev_low, color=col_low, width=line_w, extend=extend.both)
line.new(bar_index - 500, prev_close, bar_index + 500, prev_close, color=col_close, width=line_w, extend=extend.both)
if show_labels
label.new(bar_index + 2, prev_open, str.format("{0} Open {1,number,0.#####}", day_name, prev_open), style=label.style_label_left, textcolor=color.white, color=col_open)
label.new(bar_index + 2, prev_high, str.format("{0} High {1,number,0.#####}", day_name, prev_high), style=label.style_label_left, textcolor=color.white, color=col_high)
label.new(bar_index + 2, prev_low, str.format("{0} Low {1,number,0.#####}", day_name, prev_low), style=label.style_label_left, textcolor=color.white, color=col_low)
label.new(bar_index + 2, prev_close, str.format("{0} Close {1,number,0.#####}", day_name, prev_close), style=label.style_label_left, textcolor=color.white, color=col_close)
Point of Control (POC)**Point of Control (POC) Indicator**
This indicator identifies the price level where the most trading volume occurred over a specified lookback period (default: 365 days). The POC represents a significant support/resistance level where the market found the most acceptance.
**Key Features:**
- **POC Line**: Bright green horizontal line showing the highest volume price level
- **Volume Profile Analysis**: Divides price range into rows and calculates volume distribution
- **Value Area (Optional)**: Shows VAH and VAL levels containing 70% of total volume
- **Customizable**: Adjust lookback period, price resolution, colors, and line width
**How to Use:**
- POC acts as a magnet - price often returns to test these high-volume levels
- Strong support/resistance zone where significant trading activity occurred
- Useful for identifying key price levels for entries, exits, and stops
- Higher lookback periods (365 days) show longer-term significant levels
**Settings:**
- Lookback Period: Number of bars to analyze (default: 365)
- Price Rows: Calculation resolution - higher = more precise (default: 24)
- Toggle Value Area High/Low for additional context
---






















