Momentum Structural AnalysisMomentum Structural Analysis (MSA‑style Oscillator)
This indicator implements a simple, MSA‑style momentum oscillator that measures how far price has moved above or below its own long‑term trend on the active timeframe, expressed in percentage terms. Instead of looking at raw price, it "oscillates" price around a timeframe‑appropriate simple moving average (SMA) and plots the percentage distance from that SMA as an orange line around a zero baseline. Zero means price is exactly at its structural trend; positive values mean price is extended above trend; negative values mean it is trading below trend.
The script automatically selects the SMA length based on the chart timeframe:
On daily charts it uses the configurable Daily SMA Length (default 252 trading days, roughly 1 year).
On weekly charts it uses Weekly SMA Length (default 208 weeks).
On monthly charts it uses Monthly SMA Length (default 120 months).
This approach is inspired by the ideas behind Momentum Structural Analysis (MSA), which studies where a market trades relative to long‑term moving averages and then treats the momentum line (the oscillator) as the primary object of analysis. The goal is to highlight structural overbought/oversold conditions and regime changes that are often clearer on momentum than on the raw price chart.
--------------------------------------------------
What the script computes and how it works
For each bar, the indicator:
Chooses an SMA length based on the current timeframe (daily/weekly/monthly).
Calculates the SMA of the close.
Computes the percentage distance:
\text{Diff %} = \frac{\text{Close} - \text{SMA}}{\text{SMA}} \times 100
Plots this Diff % as an orange line, with a dashed horizontal zero line as the base.
This produces a momentum oscillator that oscillates around zero and reflects the "structural" position of price versus its own long‑term mean.
--------------------------------------------------
How to use it on index charts (e.g., NIFTY50)
On indices like NIFTY50, use the indicator to see how stretched the index is versus its structural trend.
Typical uses:
Identify extremes: a). Historically high positive readings can signal euphoric, late‑stage conditions where risk is elevated. b). Deep negative readings can highlight panic/capitulation zones where downside may be exhausted.
Draw structural levels: a). Mark horizontal bands on the oscillator where past turns have occurred (e.g., +15%, −10%, etc. specific to NIFTY50). b). Watch how price behaves when the oscillator revisits these zones: repeated rejections can validate them as structural bounds; clean breaks can indicate a change of regime.
This is not a buy/sell signal generator by itself; it is a framework to understand where the index sits within its long‑term momentum structure and to support risk‑management decisions.
--------------------------------------------------
How to use it on ratio charts
Apply the same indicator to ratio symbols such as NIFTY50/GOLD, BANKNIFTY/NIFTY50, sector vs index, or any spread you plot as a ratio.
On a ratio chart:
The oscillator now measures relative momentum: how far that ratio is above or below its own long‑term mean.
High positive readings = strong outperformance of the numerator vs the denominator (e.g., equities strongly outperforming gold).
Deep negative readings = strong underperformance (e.g., equities structurally lagging gold).
This is very much in the spirit of MSA’s work on spreads between asset classes: it helps visualize major rotations (equities → gold, financials → commodities, etc.) and whether a relative‑performance trend is stretched, reverting, or breaking into a new phase.
--------------------------------------------------
Using multiple timeframes for better decisions
You can stack information across timeframes to get a more robust view:
Monthly : a). Use monthly charts to see secular/structural phases. b). Long multi‑year stretches above or below zero, and large bases or trendline breaks on the monthly oscillator, can mark major bull or bear cycles and big rotations between asset classes.
Weekly : a). Use weekly charts for the primary trend. b). Weekly structures (multi‑month highs/lows, channels, or trendlines on the oscillator) are useful for medium‑term positioning and for confirming or rejecting signals seen on the monthly view.
Daily : a). Use daily charts mainly for timing entries/exits once the higher‑timeframe direction is clear. b). Short‑term extremes on the daily oscillator that align with the larger weekly/monthly structure can offer better‑timed opportunities, while signals that contradict higher‑timeframe momentum are more likely to be noise.
--------------------------------------------------
Kitaran
Advanced ICC Multi-Timeframe 1.0Advanced ICC Multi-Timeframe Trading System
A comprehensive implementation and interpretation of the Indication, Correction, Continuation (ICC) trading methodology made popular by Trades by Sci, enhanced with advanced multi-timeframe analysis and automation features.
⚠️ CRITICAL TRADING WARNINGS:
DO NOT blindly follow BUY/SELL signals from this indicator
This indicator shows potential entry points but YOU must validate each trade
PAPER TRADE EXTENSIVELY before risking real capital
BACKTEST THOROUGHLY on your chosen instruments and timeframes
The ICC methodology requires understanding and discretion - automated signals are guidance only
This tool aids analysis but does not replace proper trade planning, risk management, or trader judgment
⚠️ Important Disclaimers:
This indicator is not endorsed by or affiliated with Trades by Sci
This is an early implementation and interpretation of the ICC methodology
May not work exactly as Trades by Sci executes his trades and entries
Requires further debugging, backtesting, and real-world validation
Completely free to use - no purchase required
I'm just one person obsessed with this method and wanted some better visualization of the chart/entries
About ICC:
The ICC method identifies complete market cycles through three phases: Indication (breakout), Correction (pullback), and Continuation (entry). This indicator automates the identification of these phases and adds powerful features for modern traders.
Key Features:
Multi-Timeframe Capabilities:
Automatic timeframe detection with optimized settings for 5m, 15m, 30m, 1H, 4H, and Daily charts
Higher timeframe overlay to view HTF ICC levels on lower timeframe charts for precise entry timing
Smart defaults that adjust swing length and consolidation detection based on your timeframe
Advanced Phase Tracking:
Complete ICC cycle tracking: Indication, Correction, Consolidation, Continuation, and No Setup phases
Live structure detection shows potential peaks/troughs before full confirmation
Intelligent invalidation logic detects failed setups when market structure reverses
Dynamic phase backgrounds for instant visual confirmation
Three Types of Entry Signals:
Traditional Entries - Price crosses back through the original indication level (strongest signals)
"BUY" (green) / "SELL" (red)
Breakout Entries - Price breaks out of consolidation range in the same direction
"BUY" (green) / "SELL" (red)
Reversal Entries (Optional, can be toggled off) - Price breaks consolidation in opposite direction, indicating failed setup
"⚠ BUY" (yellow) / "⚠ SELL" (orange)
More aggressive, counter-trend signals
Can be disabled for more conservative trading
Professional Features:
Volatility-based support/resistance zones (ATR-adjusted) that adapt to market conditions
Historical zone tracking (0-3 configurable) with visual hierarchy
Comprehensive real-time info table displaying all key metrics
Full alert system for entries, indications, and consolidation detection
Visual distinction between high-confidence trend entries and cautionary reversal entries
📖 USAGE GUIDE
Entry Signal Types:
The indicator provides three types of entry signals with visual distinction:
Strong Entries (High Confidence):
"BUY" (bright green) / "SELL" (bright red)
Includes traditional entries (crossing back through indication level) and breakout entries (breaking consolidation in trend direction)
These are trend continuation or breakout signals with higher probability
Recommended for all traders
Reversal Entries (Caution - Counter-Trend):
"⚠ BUY" (yellow) / "⚠ SELL" (orange)
Triggered when price breaks out of correction/consolidation in the OPPOSITE direction
Indicates a failed setup and potential trend reversal
More aggressive, counter-trend plays
Can be toggled off in settings for more conservative trading
Recommended only for experienced traders or after thorough backtesting
Swing Length Settings:
The swing length determines how many bars on each side are needed to confirm a swing high/low. This is the most important setting for tuning the indicator to your style.
Auto Mode (Recommended for beginners): Toggle "Use Auto Timeframe Settings" ON
5-minute: 30 bars
15-minute: 20 bars
30-minute: 12 bars
1-hour: 7 bars
4-hour: 5 bars
Daily: 3 bars
Manual Mode: Toggle "Use Auto Timeframe Settings" OFF
Lower values (3-7): More aggressive, detects smaller swings
Pros: More signals, faster entries, catches smaller moves
Cons: More noise, more false signals, requires tighter stops
Best for: Scalping, active day trading, volatile markets
Higher values (12-20): More conservative, only major swings
Pros: More reliable signals, fewer false breakouts, clearer structure
Cons: Fewer signals, delayed entries, might miss smaller opportunities
Best for: Swing trading, position trading, trending markets
Default Manual Setting: 7 bars (balanced for 1H charts)
Minimum: 3 bars
Consolidation Bars Setting:
Determines how many bars without new structure are needed before flagging consolidation.
Lower values (3-10): Faster detection, catches brief pauses, more sensitive
Best for: Lower timeframes, volatile markets, avoiding any chop
Higher values (20-40): More reliable, only flags true extended consolidation
Best for: Higher timeframes, trending markets, patient traders
Current defaults scale with timeframe (more bars needed on shorter timeframes)
Historical S/R Zones:
Shows previous support and resistance levels to provide context.
Default: 2 historical zones (shows current + 2 previous)
Range: 0-3 zones
Visual Hierarchy: Older zones are more transparent with dashed borders
Usage: Higher numbers (2-3) show more historical context but can clutter the chart. Start with 2 and adjust based on your preference.
Live Structure Feature (Yellow Warning ⚠):
Provides early warning of potential structure changes before full confirmation.
What it does: Detects potential swing highs/lows after just 2 bars instead of waiting for full swing_length confirmation
Live Peak: Shows when a high is followed by 2 lower closes (potential top forming)
Live Trough: Shows when a low is followed by 2 higher closes (potential bottom forming)
Important: These are UNCONFIRMED - they may be invalidated if price reverses
Use case: Get early awareness of potential reversals while waiting for confirmation
Displayed in: Info table only (no visual markers on chart to reduce clutter)
Only shows: Peaks higher than last swing high, or troughs lower than last swing low (filters out noise)
Higher Timeframe (HTF) Analysis:
View higher timeframe ICC structure while trading on lower timeframes.
How to enable: Toggle "Show Higher Timeframe ICC" ON
Setup: Set "Higher Timeframe" to your reference timeframe
Example: Trading on 15-minute? Set HTF to 240 (4-hour) or 60 (1-hour)
Example: Trading on 5-minute? Set HTF to 60 (1-hour) or 15 (15-minute)
What it shows:
HTF indication levels displayed as dashed lines
Blue = HTF Bullish Indication
Purple = HTF Bearish Indication
HTF phase and levels shown in info table
Trading workflow:
Check HTF phase for overall market direction
Wait for HTF correction phase
Drop to lower timeframe to find precise entries
Enter when lower TF shows continuation in alignment with HTF
Best practice: HTF should be 3-4x your trading timeframe for best results
Reversal Entries Toggle:
Default: ON (shows all signal types)
Toggle OFF for more conservative trading (only trend continuation signals)
Recommended: Backtest with both settings to see which works better for your style
New traders should consider disabling reversal entries initially
Volatility-Based Zones:
When enabled, support/resistance zones automatically adjust their height based on ATR (Average True Range).
More volatile = wider zones
Less volatile = tighter zones
Toggle OFF for fixed-width zones
Community Feedback Welcome:
This is an evolving project and your input is valuable! Please share:
Bug reports and issues you encounter
Feature requests and suggestions for improvement
Results from your backtesting and live trading experience
Feedback on the reversal entry feature (too aggressive? working well?)
Ideas for better aligning with the ICC methodology
Perfect for traders learning or implementing the ICC methodology with the benefit of modern automation, multi-timeframe analysis, and flexible entry signal options.
BTC – LEVR: Leverage Efficiency & Volume RatioLEVR: Leverage Efficiency & Volume Ratio
Observation-only. Data: IntoTheBlock.
Overview
The Leverage Efficiency & Volume Ratio (LEVR) is a market structure oscillator designed to detect "Paper Bubbles" and "Organic Bottoms" by separating speculative greed from network utility. While most indicators analyze price action, LEVR analyzes market fragility. It operates on the thesis that Sustainable Rallies are driven by Spot/Network Activity, while Fragile Rallies are driven by Derivatives Leverage.
Synergy
How it works with VERI
LEVR is designed to be the tactical counterpart to the fundamental VERI Indicator (Valuation & Entity Ratio Index).
Use VERI for Strategy: To identify Value. (Is Bitcoin cheap? Are Whales buying?)
Use LEVR for Risk: To identify Structure. (Is the current price move real, or is it a leverage bubble about to pop?)
The "Perfect Setup"
The strongest buy signals occur when VERI is in the Accumulation Zone (Whales buying) AND LEVR is in the Organic Zone (Leverage is flushed out) (as it was the case in the Dec 2022 Bear Market Bottom).
Why LEVR is Unique
Standard indicators often fail to contextualize Open Interest:
vs. Raw Open Interest: Raw OI always trends up over time as the market grows. LEVR solves this by normalizing OI against Active Addresses. This reveals when leverage is outpacing actual adoption.
vs. ELR (Estimated Leverage Ratio): Classic ELR divides Open Interest by Exchange Reserves. However, Exchange Reserves are notoriously difficult to track accurately. LEVR uses Active Addresses (Network Utility) as a cleaner, more reliable denominator for network health.
Methodology
The Mathematics: The indicator calculates a normalized Z-Score ratio between two IntoTheBlock datasets:
The Numerator (Greed): Perpetual Open Interest. The total dollar value of all open futures contracts. This represents the "Gambling" capital.
The Denominator (Utility): Active Addresses. The number of unique addresses transacting on-chain. This represents the "Real" user base.
The Formula : LEVR = Z-Score ( Perpetual Open Interest / Active Addresses )
How to Interpret the Visuals
The line color changes dynamically to reflect the current risk regime:
🟥 Speculative Premium (Red Line > 2.0) :
Signal: "Leverage Bubble."
Context: Open Interest is rising significantly faster than User Growth. The rally is fueled by debt.
Risk: High probability of a "Long Squeeze" or liquidation cascade.
🟦 Organic Base (Blue Line < -1.5) :
Signal: "Spot Driven Market."
Context: Speculators have been flushed out, but active network usage remains high. The line turns Blue to signal a healthy opportunity zone.
Risk: Low. Historically marks robust bottoms where hands are strong.
🟧 Neutral (Orange Line) :
The market is in a transition phase between organic growth and speculation.
Settings & Inputs
Users can customize the sensitivity of the Z-Score to fit their trading style (in brackets their current standard value):
Lookback Period (365) : The rolling window used to establish the "Baseline." A 365-day window captures the yearly trend.
Signal Smoothing (7) : A short moving average to reduce daily data noise.
Bubble Zone Top/Bottom (3.0 / 2.0) : The thresholds for the Red Zone. Raising the "Top" value will only show the most extreme, generational leverage bubbles.
Organic Zone Top/Bottom (-1.5 / -2.5) : The thresholds for the Green Zone. Lowering these values requires a deeper "flush" to trigger a signal.
Optimization
This indicator is mathematically optimized for the Daily (1D) timeframe. Using it on lower timeframes may result in noise due to the daily resolution of on-chain data.
Important Note on Historical Data
Please be aware that aggregated global Perpetual Open Interest data only becomes reliable and widely available starting around 2020-2021.
Pre-2021: The indicator will show a flat line or empty values. This is not a bug; it reflects the lack of historical derivatives market data for that period.
2021-Present: The indicator functions fully as intended.
Credits
Concept inspired by the "Estimated Leverage Ratio" (ELR) popularised by CryptoQuant and analysts like Willy Woo. LEVR adapts this concept for TradingView by substituting Exchange Reserves with Network Activity for better reliability.
Disclaimer
This tool is for research purposes only. It visualizes market structure data and does not constitute financial advice.
Tags
bitcoin, btc, open interest, leverage, on-chain, intotheblock, risk, derivatives, levr, veri
One for AllOne for All (OFA) - Complete ICT Analysis Suite
Version 3.3.0 by theCodeman
📊 Overview
One for All (OFA) is a comprehensive TradingView indicator designed for traders who follow Inner Circle Trader (ICT) concepts. This all-in-one tool combines essential ICT analysis features—sessions, kill zones, previous period levels, and higher timeframe candles with Fair Value Gaps (FVGs) and Volume Imbalances (VIs)—into a single, highly customizable indicator. Whether you're a beginner learning ICT concepts or an experienced trader refining your edge, OFA provides the visual structure needed for precise market analysis and execution.
✨ Key Features
- 🏷️ Customizable Watermark**: Display your trading identity with customizable titles, subtitles, symbol info, and full style control
- 🌍 Trading Sessions**: Visualize Asian, London, and New York sessions with high/low lines, range boxes, and open/close markers
- 🎯 Kill Zones**: Highlight 5 critical ICT kill zones with precise timing and visual boxes
- 📈 Previous Period H/L**: Track Daily, Weekly, and Monthly highs/lows with customizable styles and lookback periods
- 🕐 Higher Timeframe Candles**: Display up to 5 HTF timeframes with OHLC trace lines, timers, and interval labels
- 🔍 FVG & VI Detection**: Automatically detect and visualize Fair Value Gaps and Volume Imbalances on HTF candles
- ⚙️ Universal Timezone Support**: Works globally with GMT-12 to GMT+14 timezone selection
- 🎨 Full Customization**: Control colors, styles, visibility, and layout for every feature
🚀 How to Use
Watermark Setup
The watermark overlay helps you identify your charts and maintain focus on your trading principles:
1. Enable/disable watermark via "Show Watermark" toggle
2. Customize the title (default: "Name") to display your trading name or account identifier
3. Set up to 3 subtitles (default: "Patience", "Confidence", "Execution") as trading reminders
4. Choose position (9 locations available), size, color, and transparency
5. Toggle symbol and timeframe display as needed
Use Case: Display your trading principles or account name for multi-monitor setups or content creation.
Trading Sessions Analysis
Sessions define market character and liquidity availability:
1. Enable "Show All Sessions" to visualize all three sessions
2. Adjust timezone to match your local market (default: UTC-5 for EST)
3. Customize session times if needed (defaults cover standard hours)
4. Enable session range boxes to see consolidation zones
5. Use session high/low lines to identify key levels for the current session
6. Enable open/close markers to track session transitions
Use Case: Identify which session you're trading in, track session highs/lows for liquidity, and anticipate session transition volatility.
Kill Zones Trading
Kill zones are ICT's high-probability trading windows:
1. Enable individual kill zones or use "Show All Kill Zones"
2. **Asian Kill Zone** (2000-0000 GMT): Early positioning and smart money accumulation
3. **London Kill Zone** (0300-0500 GMT): European market opening volatility
4. **NY AM Kill Zone** (0930-1100 EST): Post-NYSE open expansion
5. **NY Lunch Kill Zone** (1200-1300 EST): Midday consolidation or manipulation
6. **NY PM Kill Zone** (1330-1600 EST): Afternoon positioning and closes
7. Customize colors and times to match your trading style
8. Set max days display to control historical visibility (default: 30 days)
Use Case: Focus entries during high-probability windows. Watch for liquidity sweeps at kill zone openings and institutional positioning.
Previous Period High/Low Levels
Previous period levels act as magnetic price targets and support/resistance:
1. Enable Daily (PDH/PDL), Weekly (PWH/PWL), or Monthly (PMH/PML) levels individually
2. Set lookback period (how many previous periods to display)
3. Choose line style: Solid (current emphasis), Dashed (standard), or Dotted (subtle)
4. Customize colors per timeframe for visual hierarchy
5. Adjust line width (1-5) for visibility preference
6. Enable gradient effect to fade older periods
7. Position labels left or right based on chart layout
8. Customize label text for your preferred notation
Use Case: Identify key levels where price is likely to react. Daily levels work on intraday timeframes, Weekly on daily charts, Monthly for swing trading.
Higher Timeframe (HTF) Candles
HTF candles reveal the larger market context while trading lower timeframes:
1. Enable up to 5 HTF slots simultaneously (default: 5m, 15m, 1H, 4H, Daily)
2. Choose display mode: "Below Chart" (stacked rows) or "Right Side" (compact column)
3. Customize timeframe, colors (bull/bear), and titles for each slot
4. **OHLC Trace Lines**: Visual lines connecting HTF candle levels to chart bars
5. **HTF Timer**: Countdown showing time remaining until HTF candle close
6. **Interval Labels**: Display day of week (Daily+) or time (intraday) on each candle
7. For Daily candles: Choose open time (Midnight, 8:30, 9:30) to match your market structure preference
Use Case: Trade lower timeframes while respecting higher timeframe structure. Watch for HTF candle closes to confirm directional bias.
FVG & VI Detection
Fair Value Gaps and Volume Imbalances highlight inefficiencies that price often revisits:
1. **Fair Value Gaps (FVGs)**: Detected when HTF candle wicks don't overlap between 3 consecutive candles
- Bullish FVG: Gap between candle 1 high and candle 3 low (green box by default)
- Bearish FVG: Gap between candle 1 low and candle 3 high (red box by default)
2. **Volume Imbalances (VIs)**: Similar detection but focuses on body gaps
- Bullish VI: Gap between candle 1 close and candle 3 open
- Bearish VI: Gap between candle 1 open and candle 3 close
3. Enable FVG/VI detection per HTF slot individually
4. Customize colors and transparency for each imbalance type
5. Boxes appear on chart at formation and remain visible as retracement targets
**Use Case**: Identify high-probability retracement zones. Price often returns to fill FVGs and VIs before continuing the trend. Use as entry zones or profit targets.
🎨 Customization
OFA is built for flexibility. Every feature includes extensive customization options:
Visual Customization
- **Colors**: Independent color control for every element (sessions, kill zones, lines, labels, FVGs, VIs)
- **Transparency**: Adjust box and label transparency (0-100%) for clean charts
- **Line Styles**: Choose Solid, Dashed, or Dotted for previous period lines
- **Sizes**: Control text size, line width, and box borders
- **Positions**: Place watermark in 9 positions, labels left/right
Layout Control
- **HTF Display Mode**: "Below Chart" for detailed analysis, "Right Side" for space efficiency
- **Drawing Limits**: Set max days for sessions/kill zones to manage chart clutter
- **Lookback Periods**: Control how many previous periods to display (1-10)
- **Gradient Effects**: Enable fading for older previous period lines
Timing Adjustments
- **Timezone**: Universal GMT offset selector (-12 to +14) for global markets
- **Session Times**: Customize each session's start/end times
- **Kill Zone Times**: Adjust kill zone windows to match your market's characteristics
- **Daily Open**: Choose Midnight, 8:30, or 9:30 for Daily HTF candle open time
💡 Best Practices
1. Start Simple: Enable one feature at a time to learn how each element affects your analysis
2. Match Your Timeframe: Use Daily levels on intraday charts, Weekly on daily charts, HTF candles one or two levels above your trading timeframe
3. Kill Zone Focus: Concentrate your trading activity during kill zones for higher probability setups
4. HTF Confirmation: Wait for HTF candle closes before committing to directional bias
5. FVG/VI Entries: Look for price to return to unfilled FVGs/VIs for entry opportunities with favorable risk/reward
6. Customize Colors: Use a consistent color scheme that matches your chart theme and reduces visual fatigue
7. Reduce Clutter: Disable features you're not actively using in your current trading plan
8. Session Context: Understand which session controls the market—trade with session direction or anticipate reversals at session transitions
⚙️ Settings Guide
OFA organizes settings into logical groups for easy navigation:
- **═══ WATERMARK ═══**: Title, subtitles, position, style, symbol/timeframe display
- **═══ SESSIONS ═══**: Enable/disable sessions, times, colors, high/low lines, boxes, markers
- **═══ KILL ZONES ═══**: Individual kill zone toggles, times, colors, max days display
- **═══ PREVIOUS H/L - DAILY ═══**: Daily high/low lines, style, color, lookback, labels
- **═══ PREVIOUS H/L - WEEKLY ═══**: Weekly high/low lines, style, color, lookback, labels
- **═══ PREVIOUS H/L - MONTHLY ═══**: Monthly high/low lines, style, color, lookback, labels
- **═══ HTF CANDLES ═══**: Global display mode, layout settings
- **═══ HTF SLOT 1-5 ═══**: Individual HTF configuration (timeframe, colors, title, FVG/VI detection, trace lines, timer, interval labels)
Each setting includes tooltips explaining its function. Hover over any input for detailed guidance.
📝 Final Notes
One for All (OFA) represents a complete ICT analysis toolkit in a single indicator. By combining watermark customization, session visualization, kill zone highlighting, previous period levels, and higher timeframe candles with FVG/VI detection, OFA eliminates the need for multiple indicators cluttering your chart.
**Version**: 3.3.0
**Author**: theCodeman
**Pine Script**: v6
**License**: Mozilla Public License 2.0
Start with default settings to learn the indicator's structure, then customize extensively to match your personal trading style. Remember: tools provide information, but your edge comes from disciplined execution of a proven strategy.
Happy Trading! 📈
BTC - VERI - Valuation & Entity Ratio IndexVERI: Valuation & Entity Ratio IndexObservation-only.
Data: IntoTheBlock.
Overview & Philosophy
The name VERI is derived from the Latin Veritas (Truth). In a crypto market often driven by deceptive speculative noise, this indicator seeks to establish the "On-Chain Truth" of a price trend.
It operates on the thesis that price action is only sustainable when verified by high-conviction capital flows.VERI is a fundamental composite oscillator that fuses Entity Behavior (Who is holding?) with Network Valuation (Is the price fair?) to identify Bitcoin market cycle extremes.
The "Alpha"
Why this Composite stands out: on-chain metrics often tell only half the story.
MVRV tells you if the price is cheap, but not if anyone is actually buying.
Whale Activity tells you if large players are moving, but not if they are accumulating at a value discount.
VERI fuses these two dimensions into a single Z-Score. It identifies the rare, high-probability moments where Smart Money Conviction intersects with Deep Value.
Methodology
The Mathematics of VERI: The indicator constructs a composite index using three fundamental metrics from IntoTheBlock:
The "Who" (Entity Ratio) : We calculate the flow ratio between Whales (>1% supply holders) and Retail (<0.1% supply holders). A rising ratio indicates supply is transferring from weak hands to strong hands.
The "Why" (Valuation Multiplier) : We utilize the MVRV (Market Value to Realized Value) ratio. To isolate value opportunities, we use the inverse (1 / MVRV).
The Fusion : These factors are multiplied to create the raw VERI index.
Normalization & Inversion
We apply a rolling Z-Score (standard deviation from the mean) and invert the result.
How to Interpret the Indicator
Because the output is inverted, the visual logic matches price action intuitively:
🟥 Distribution Zone (High Values > 1.5):
The Signal: "Low Conviction Overvaluation."
Context: The price is historically expensive relative to the cost basis (High MVRV), and Whales are distributing coins to Retail.Implication: Historically precedes macro tops or deep corrections.
🟩 Accumulation Zone (Low Values < -1.5):
The Signal: "High Conviction Undervaluation."Context: The price is historically cheap (Low MVRV), and Whales are aggressively accumulating relative to Retail.
Implication: Historically precedes macro bottoms and generational entry points.
Zero Line : Represents the historical baseline. A crossover of the zero line often confirms a regime shift (e.g., from Bear to Bull).
Visual Guide & Features
Dynamic Coloring: The line turns Red in the Distribution Zone, Blue in the Accumulation Zone, and Orange during neutral trends.
Zone Labels: Static labels are pinned to the left side of the chart for immediate context.
The "Data Check" Monitor (Status Table): Since this indicator relies on third-party fundamental data, we have included a diagnostic table in the bottom-right corner.
Data Check Monitor Guide
STATUS: LIVE (Green): The indicator is functioning correctly. All data feeds (Whales, Retail, MVRV) are being retrieved successfully.
STATUS: WAIT (Red): The indicator cannot retrieve data. This might happen for some reasons, e.g. your TradingView plan may not support IntoTheBlock integration.
Settings
Lookback Period (Default: 365): The window used for Z-Score normalization. We use a full year to smooth out seasonal volatility.
Smoothing (Default: 7): A 7-day smoothing is applied to the signal to filter out daily noise.
Zone Thresholds: Users can customize the specific Z-Score levels for the Distribution and Accumulation bands.
Disclaimer
This script is for research and educational purposes only. It uses historical on-chain data to visualize market structure and does not constitute financial advice. Past performance of whale entities does not guarantee future results.
Tags
bitcoin, btc, on-chain, mvrv, whales, valuation, fundamentals, cycle, oscillator, veri
Hash SupertrendHash Supertrend is a visually enhanced Supertrend-based indicator designed by Hash Capital Research, tuned specifically for crypto trend trading on Solana (SOL) and Bitcoin (BTC). It combines institutional-style color coding, an optional session time filter, and production-ready alerts for systematic and discretionary traders alike.
What This Indicator Is
Hash Supertrend is a trend-following volatility band indicator built on TradingView’s native ta.supertrend() function.
It’s optimized and visually styled for:
High-volatility crypto pairs (especially SOL/USDT, SOL/USD, BTC/USDT, BTC/USD)
Timeframes typically used by crypto traders (from 5m scalping to 4H swing and 1D trend following)
The script is an indicator, not a strategy:
It does not place trades or show backtest results.
It provides clear trend states, flips, and alerts that you can plug into your own execution stack or manual trading.
Key Features
✅ Tuned for Crypto (Solana & Bitcoin)
Parameters are chosen to respond well to the volatility profile of SOL and BTC, reducing noise while still catching strong moves.
✅ Non-repainting Supertrend Core
Uses TradingView’s built-in ta.supertrend — values may move intrabar as the bar forms, but once a bar closes, the historical line and signals do not repaint.
✅ Fluorescent Trend Visualization
Bright green for bullish phases
Bright red for bearish phases
Adaptive color intensity based on user setting
✅ Glow Layer & Trend Zones
Glow effect around the Supertrend line for instant visual recognition
Optional filled zones between price and line for “trend cloud” style visualization
✅ Time Filter (Session Control)
Option to only mark signals during specific hours for those wanting to integrate with webhooks
Designed for traders who avoid certain sessions (e.g., low-liquidity hours)
✅ Signal Dots & Alerts
Tiny green dots for bullish flips
Tiny red dots for bearish flips
Professional, preconfigured alerts for:
Long Entry
Short Entry
Any Trend Change
Filtered signals outside trading hours (for monitoring only)
The core logic is built on:
ATR Length (ATR Length) Default: 16
Lower values (7–10): more sensitive, more signals, more noise
Higher values (12–20): smoother, fewer but stronger trend signals
Factor (Factor) Default: 3.11
Lower values (1.5–2.5): tighter bands, earlier entries, higher whipsaws
Higher values (3.0–4.0+): wider bands, later entries, stronger trend confirmation
The indicator reads direction from ta.supertrend and classifies:
Bullish Trend: direction < 0
Bearish Trend: direction > 0
A trend flip happens when direction changes sign:
longSignal: Supertrend flips from above price to below price (bearish → bullish)
shortSignal: Supertrend flips from below price to above price (bullish → bearish)
RSI Golden & Dead Cross AlertRSI 14 Golden And Dead Cross Indicator
It will give you an alert when there are rsi golden and dead cross.
It is a intergated signal: Crossing up and Crossing down of RSI.
Daily High/Low/50%Daily High/Low/50% Levels Indicator
This Pine Script v6 indicator displays three horizontal lines from the previous daily candle:
High: The highest price of the last daily candle
Low: The lowest price of the last daily candle
50%: The midpoint between high and low
Key Features:
Lines extend from one daily candle to the next (Monday to Tuesday, Tuesday to Wednesday, etc.)
Fully customizable styling for each line independently:
Color selection
Line style (Solid, Dashed, Dotted)
Line width/thickness
Small labels ("H", "L", "50%") mark the start of each new day
Works on any timeframe (intraday charts show daily levels as reference)
Use Case:
Perfect for intraday traders who want to see the previous day's key levels as support/resistance zones. The 50% level often acts as a pivot point for price action.
Séparateur H4 & DailyH4 & Daily Separator - TradingView Indicator
This Pine Script v6 indicator draws infinite vertical lines to mark H4 and Daily candle separations on your chart.
Features:
H4 Separations: Marks candles starting at 3am, 7am, 11am, 3pm, 7pm, and 11pm
Daily Separations: Marks candles starting at midnight (00:00)
Fully Customizable:
Toggle H4 and/or Daily lines independently
Choose line color, thickness (1-4), and style (Solid, Dotted, Dashed)
Control the number of visible vertical lines (1-500)
Use Case:
Perfect for traders who want to visualize higher timeframe separations while trading on lower timeframes. Helps identify H4 and Daily candle opens without switching charts.
Installation:
Simply copy the code into TradingView's Pine Editor and add it to your chart. All settings are adjustable in the indicator's settings panel.
Trend Trader//@version=6
indicator("Trend Trader", shorttitle="Trend Trader", overlay=true)
// User-defined input for moving averages
shortMA = input.int(10, minval=1, title="Short MA Period")
longMA = input.int(100, minval=1, title="Long MA Period")
// User-defined input for the instrument selection
instrument = input.string("US30", title="Select Instrument", options= )
// Set target values based on selected instrument
target_1 = instrument == "US30" ? 50 :
instrument == "NDX100" ? 25 :
instrument == "GER40" ? 25 :
instrument == "GOLD" ? 5 : 5 // default value
target_2 = instrument == "US30" ? 100 :
instrument == "NDX100" ? 50 :
instrument == "GER40" ? 50 :
instrument == "GOLD" ? 10 : 10 // default value
// User-defined input for the start and end times with default values
startTimeInput = input.int(12, title="Start Time for Session (UTC, in hours)", minval=0, maxval=23)
endTimeInput = input.int(17, title="End Time Session (UTC, in hours)", minval=0, maxval=23)
// Convert the input hours to minutes from midnight
startTime = startTimeInput * 60
endTime = endTimeInput * 60
// Function to convert the current exchange time to UTC time in minutes
toUTCTime(exchangeTime) =>
exchangeTimeInMinutes = exchangeTime / 60000
// Adjust for UTC time
utcTime = exchangeTimeInMinutes % 1440
utcTime
// Get the current time in UTC in minutes from midnight
utcTime = toUTCTime(time)
// Check if the current UTC time is within the allowed timeframe
isAllowedTime = (utcTime >= startTime and utcTime < endTime)
// Calculating moving averages
shortMAValue = ta.sma(close, shortMA)
longMAValue = ta.sma(close, longMA)
// Plotting the MAs
plot(shortMAValue, title="Short MA", color=color.blue)
plot(longMAValue, title="Long MA", color=color.red)
// MACD calculation for 15-minute chart
= request.security(syminfo.tickerid, "15", ta.macd(close, 12, 26, 9))
macdColor = macdLine > signalLine ? color.new(color.green, 70) : color.new(color.red, 70)
// Apply MACD color only during the allowed time range
bgcolor(isAllowedTime ? macdColor : na)
// Flags to track if a buy or sell signal has been triggered
var bool buyOnce = false
var bool sellOnce = false
// Tracking buy and sell entry prices
var float buyEntryPrice_1 = na
var float buyEntryPrice_2 = na
var float sellEntryPrice_1 = na
var float sellEntryPrice_2 = na
if not isAllowedTime
buyOnce :=false
sellOnce :=false
// Logic for Buy and Sell signals
buySignal = ta.crossover(shortMAValue, longMAValue) and isAllowedTime and macdLine > signalLine and not buyOnce
sellSignal = ta.crossunder(shortMAValue, longMAValue) and isAllowedTime and macdLine <= signalLine and not sellOnce
// Update last buy and sell signal values
if (buySignal)
buyEntryPrice_1 := close
buyEntryPrice_2 := close
buyOnce := true
if (sellSignal)
sellEntryPrice_1 := close
sellEntryPrice_2 := close
sellOnce := true
// Apply background color for entry candles
barcolor(buySignal or sellSignal ? color.yellow : na)
/// Creating buy and sell labels
if (buySignal)
label.new(bar_index, low, text="BUY", style=label.style_label_up, color=color.green, textcolor=color.white, yloc=yloc.belowbar)
if (sellSignal)
label.new(bar_index, high, text="SELL", style=label.style_label_down, color=color.red, textcolor=color.white, yloc=yloc.abovebar)
// Creating labels for 100-point movement
if (not na(buyEntryPrice_1) and close >= buyEntryPrice_1 + target_1)
label.new(bar_index, high, text=str.tostring(target_1), style=label.style_label_down, color=color.green, textcolor=color.white, yloc=yloc.abovebar)
buyEntryPrice_1 := na // Reset after label is created
if (not na(buyEntryPrice_2) and close >= buyEntryPrice_2 + target_2)
label.new(bar_index, high, text=str.tostring(target_2), style=label.style_label_down, color=color.green, textcolor=color.white, yloc=yloc.abovebar)
buyEntryPrice_2 := na // Reset after label is created
if (not na(sellEntryPrice_1) and close <= sellEntryPrice_1 - target_1)
label.new(bar_index, low, text=str.tostring(target_1), style=label.style_label_up, color=color.red, textcolor=color.white, yloc=yloc.belowbar)
sellEntryPrice_1 := na // Reset after label is created
if (not na(sellEntryPrice_2) and close <= sellEntryPrice_2 - target_2)
label.new(bar_index, low, text=str.tostring(target_2), style=label.style_label_up, color=color.red, textcolor=color.white, yloc=yloc.belowbar)
sellEntryPrice_2 := na // Reset after label is created
PST Super Simple System v2.5+PinkSlips Trading was built to give traders real structure, real tools, and real support — without the confusion or false promises you find everywhere else. Everything we provide is focused on helping you trade with clarity and confidence.
Professional-Grade Indicators
We develop custom TradingView indicators designed to simplify your decision-making. Clean, reliable, and built to support consistent trading.
Daily Live Trading Sessions
Members can watch the market with us in real time. We walk through bias, key levels, trade execution, and risk management so you can learn the process step-by-step.
Personal Guidance and Trade Planning
Whether you need help building a strategy, fixing your discipline, or understanding your data, we offer direct support and tailored plans to help you improve faster.
A Focused, Results-Driven Community
PinkSlips Trading is built for traders who want to get better — not for hype. You’ll be surrounded by people who take trading seriously and are committed to long-term growth.
PinkSlips Sauce IndicatorChecklist v4PinkSlips’ personal checklist assistant for catching clean trend moves.
It stacks EMAs (20/50/200), checks RSI strength, filters chop with ATR, then prints a simple YES/NO checklist so you know when the sauce is actually there.
What it does
EMA trend filter (bullish / bearish structure)
RSI confirmation for high-probability longs & shorts
ATR chop filter so you avoid dead zones
On-chart checklist box: trend up/down, ATR OK, long/short ready, last signal
Optional LONG/SHORT labels on the candles for execution
Use this as your pre–entry checklist so you stop forcing trades and only take the clean PinkSlips setups.
PST Bread Checklist v4Uses 50/200 EMA for higher-timeframe trend
Uses RSI zones + cross for entry
Adds volatility filter (ATR vs its own average)
Optional session filter (RTH 09:30–16:00)
Has a cooldown so you don’t get 10 labels in a row
Shows a checklist box + last signal
Aroon + Chaiki OscillatorThis is an Chaiki Oscillator that facilitates more straightforward trendline analysis utilizing the Aroon setup for bars.
This is a simple Pinescript designed for incorporation into your charting analysis.
As always, none of this is investment or financial advice. Please do your own due diligence and research.
Weekly Open + Monday High/Low (After Monday Close)b]Description
This indicator marks key weekly reference levels based on Monday’s price behavior.
It automatically detects each trading week and tracks:
• Weekly Open – the first traded price of the new week
• Monday High – the highest price reached on Monday
• Monday Low – the lowest price reached on Monday
Logic
The Monday range is fully captured only after Monday has closed .
No levels are plotted during Monday.
Starting from Tuesday, the indicator displays thin dots showing the completed Monday High, Monday Low, and Weekly Open for the remainder of the week.
When a new week begins, the indicator resets automatically and begins tracking the new week’s Monday.
Customization
The user can choose colors for:
• Monday High/Low
• Weekly Open
Purpose
This indicator helps traders visualize weekly structure, monitor weekly opening levels, and quickly identify Monday’s range for weekly bias analysis or strategy development.
It can also be used to manually backtest Monday range strategies .
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))
VB Sigma Smart Momentum IndicatorVB Sigma Smart Momentum Indicator (VBSSMI)
The VBSSMI provides a consolidated decision-support framework that surfaces market participation, trend integrity, and liquidity conditions in a single visual environment. The tool integrates four analytical modules: MCDX Flow Mapping, Donchian Regime Layers, Banker Flow Modeling, and Chop Zone Trend Classification. Together, these components convert raw price movement into an actionable interpretation of who is in control, whether momentum is durable, and what phase the instrument is currently cycling through.
How to Use the Indicator (Practical Workflow)
1. Start with Institutional / Banker Flow (Pink/Red/Yellow/Green Candles)
This is the primary signal layer. It tells you when high-capacity participants are increasing, reducing, or reversing risk.
Yellow Candle — Entry Bias
Indicates a potential institutional initiation when their trend metric crosses above their accumulation threshold.
Operational signal: instrument enters “monitor for entry” state.
Green Candle — Accumulation State
Fund-trend > bullbearline.
Operational signal: trend integrity improving; pullbacks are generally buyable.
White Candle — Distribution / Cooling
Fund-trend weakening but not broken.
Operational signal: tighten stops; momentum deteriorating.
Red Candle — Exit / Trend Failure
Fund-trend < bullbearline.
Operational signal: momentum regime invalidated; avoid long risk.
Blue Candle — Weak Rebound
A temporary uptick within broader weakness.
Operational signal: do not mistake this for a durable reversal.
2. Validate alignment with Flow Chips (Retail / Trader / Institutional)
These three flow columns (MCDX layers) answer: who is actually participating?
Retailer Flow (Locked Chips – Green)
High values imply retail conviction, often late-cycle.
Good for confirming trend strength, not timing entries.
Trader Zone Flow (Float Chips – Yellow)
When this spikes, volatility and tactical positioning increase.
Signal: strong short-term engagement, supports breakout/trend continuation.
Institutional Flow (Profitable Chips – Red/Pink)
This is the “true north” of momentum.
Rising values = institutions controlling price discovery.
Signal: long setups have statistical tailwind.
The operational guidance is straightforward:
Institutional Flow > Trader Flow > Retail Flow
is the healthiest configuration for sustainable upside momentum.
3. Confirm Breakout / Breakdown Conditions with Donchian Regime Columns
The vertical Donchian stack illustrates trend regime in a time-compressed format.
Bright Blue/Cyan
Structure expanding upward (breakout cluster).
Dark Purple/Red
Structure breaking downward (breakdown cluster).
Mixed Columns
Transitional or indecisive conditions.
Interpret it as a “momentum backdrop”:
If Donchian columns and Banker Flow candles disagree, avoid entries.
4. Consult the Chop Zone Strip Before Committing Capital
The Chop Zone uses EMA angle to determine whether the market is trending or congested.
Greens/Blues → Trend phase (favorable environment for continuation trades).
Yellows/Oranges/Reds → High noise probability; expect false signals.
Operationally:
Never enter breakout setups during yellow/orange/red chop.
5. Final Decision Framework (Checklist)
A long setup typically requires:
Green or Yellow Banker Flow Candle
Institutional Flow rising
Donchian columns in bullish regime colors
Chop Zone in a trend color (not red/yellow/orange)
A short setup is the exact inverse.
Recommended Use Cases
Momentum trading
Swing position building
Institutional-flow confirmation
Trend-filtering before deploying breakout systems
Screening for strong/weak symbols in multi-asset rotation strategies
Kịch bản của tôi//@version=6
indicator(title="Relative Strength Index", shorttitle="Gấu Trọc RSI", format=format.price, precision=2, timeframe="", timeframe_gaps=true)
rsiLengthInput = input.int(14, minval=1, title="RSI Length", group="RSI Settings")
rsiSourceInput = input.source(close, "Source", group="RSI Settings")
calculateDivergence = input.bool(false, title="Calculate Divergence", group="RSI Settings", display = display.data_window, tooltip = "Calculating divergences is needed in order for divergence alerts to fire.")
change = ta.change(rsiSourceInput)
up = ta.rma(math.max(change, 0), rsiLengthInput)
down = ta.rma(-math.min(change, 0), rsiLengthInput)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
rsiPlot = plot(rsi, "RSI", color=#7E57C2)
rsiUpperBand1 = hline(98, "RSI Upper Band1", color=#787B86)
rsiUpperBand = hline(70, "RSI Upper Band", color=#787B86)
midline = hline(50, "RSI Middle Band", color=color.new(#787B86, 50))
rsiLowerBand = hline(30, "RSI Lower Band", color=#787B86)
rsiLowerBand2 = hline(14, "RSI Lower Band2", color=#787B86)
fill(rsiUpperBand, rsiLowerBand, color=color.rgb(126, 87, 194, 90), title="RSI Background Fill")
midLinePlot = plot(50, color = na, editable = false, display = display.none)
fill(rsiPlot, midLinePlot, 100, 70, top_color = color.new(color.green, 0), bottom_color = color.new(color.green, 100), title = "Overbought Gradient Fill")
fill(rsiPlot, midLinePlot, 30, 0, top_color = color.new(color.red, 100), bottom_color = color.new(color.red, 0), title = "Oversold Gradient Fill")
// Smoothing MA inputs
GRP = "Smoothing"
TT_BB = "Only applies when 'SMA + Bollinger Bands' is selected. Determines the distance between the SMA and the bands."
maTypeInput = input.string("SMA", "Type", options = , group = GRP, display = display.data_window)
var isBB = maTypeInput == "SMA + Bollinger Bands"
maLengthInput = input.int(14, "Length", group = GRP, display = display.data_window, active = maTypeInput != "None")
bbMultInput = input.float(2.0, "BB StdDev", minval = 0.001, maxval = 50, step = 0.5, tooltip = TT_BB, group = GRP, display = display.data_window, active = isBB)
var enableMA = maTypeInput != "None"
// Smoothing MA Calculation
ma(source, length, MAtype) =>
switch MAtype
"SMA" => ta.sma(source, length)
"SMA + Bollinger Bands" => ta.sma(source, length)
"EMA" => ta.ema(source, length)
"SMMA (RMA)" => ta.rma(source, length)
"WMA" => ta.wma(source, length)
"VWMA" => ta.vwma(source, length)
// Smoothing MA plots
smoothingMA = enableMA ? ma(rsi, maLengthInput, maTypeInput) : na
smoothingStDev = isBB ? ta.stdev(rsi, maLengthInput) * bbMultInput : na
plot(smoothingMA, "RSI-based MA", color=color.yellow, display = enableMA ? display.all : display.none, editable = enableMA)
bbUpperBand = plot(smoothingMA + smoothingStDev, title = "Upper Bollinger Band", color=color.green, display = isBB ? display.all : display.none, editable = isBB)
bbLowerBand = plot(smoothingMA - smoothingStDev, title = "Lower Bollinger Band", color=color.green, display = isBB ? display.all : display.none, editable = isBB)
fill(bbUpperBand, bbLowerBand, color= isBB ? color.new(color.green, 90) : na, title="Bollinger Bands Background Fill", display = isBB ? display.all : display.none, editable = isBB)
// Divergence
lookbackRight = 5
lookbackLeft = 5
rangeUpper = 60
rangeLower = 5
bearColor = color.red
bullColor = color.green
textColor = color.white
noneColor = color.new(color.white, 100)
_inRange(bool cond) =>
bars = ta.barssince(cond)
rangeLower <= bars and bars <= rangeUpper
plFound = false
phFound = false
bullCond = false
bearCond = false
rsiLBR = rsi
if calculateDivergence
//------------------------------------------------------------------------------
// Regular Bullish
// rsi: Higher Low
plFound := not na(ta.pivotlow(rsi, lookbackLeft, lookbackRight))
rsiHL = rsiLBR > ta.valuewhen(plFound, rsiLBR, 1) and _inRange(plFound )
// Price: Lower Low
lowLBR = low
priceLL = lowLBR < ta.valuewhen(plFound, lowLBR, 1)
bullCond := priceLL and rsiHL and plFound
//------------------------------------------------------------------------------
// Regular Bearish
// rsi: Lower High
phFound := not na(ta.pivothigh(rsi, lookbackLeft, lookbackRight))
rsiLH = rsiLBR < ta.valuewhen(phFound, rsiLBR, 1) and _inRange(phFound )
// Price: Higher High
highLBR = high
priceHH = highLBR > ta.valuewhen(phFound, highLBR, 1)
bearCond := priceHH and rsiLH and phFound
plot(
plFound ? rsiLBR : na,
offset = -lookbackRight,
title = "Regular Bullish",
linewidth = 2,
color = (bullCond ? bullColor : noneColor),
display = display.pane,
editable = calculateDivergence)
plotshape(
bullCond ? rsiLBR : na,
offset = -lookbackRight,
title = "Regular Bullish Label",
text = " Bull ",
style = shape.labelup,
location = location.absolute,
color = bullColor,
textcolor = textColor,
display = display.pane,
editable = calculateDivergence)
plot(
phFound ? rsiLBR : na,
offset = -lookbackRight,
title = "Regular Bearish",
linewidth = 2,
color = (bearCond ? bearColor : noneColor),
display = display.pane,
editable = calculateDivergence)
plotshape(
bearCond ? rsiLBR : na,
offset = -lookbackRight,
title = "Regular Bearish Label",
text = " Bear ",
style = shape.labeldown,
location = location.absolute,
color = bearColor,
textcolor = textColor,
display = display.pane,
editable = calculateDivergence)
alertcondition(bullCond, title='Regular Bullish Divergence', message="Found a new Regular Bullish Divergence, `Pivot Lookback Right` number of bars to the left of the current bar.")
alertcondition(bearCond, title='Regular Bearish Divergence', message='Found a new Regular Bearish Divergence, `Pivot Lookback Right` number of bars to the left of the current bar.')
FPT - DCA ModelFPT - DCA Model is a simple but powerful tool to backtest a weekly “buy the dip” DCA plan with dynamic position sizing and partial profit-taking.
🔹 Core Idea
- Invest a fixed amount every week (on Friday closes)
- Buy more aggressively when price trades at a discount from its 52-week high
- Take partial profits when price stretches too far above the daily EMA50
- Track the performance of your DCA plan vs a simple buy-and-hold from the same start date
⚙ How it works
1. Weekly DCA (on Daily timeframe)
- On each Friday after the Start Date:
- Add the “Weekly contribution” to the cash pool.
- If the close is below the “Discount from 52W high” level:
→ FULL DCA: use the full weekly contribution + an extra booster from your stash (up to “Max extra stash used on dip”).
→ Marked on the chart with a small green triangle under the bar.
- Otherwise:
→ HALF DCA: invest only 50% of the weekly contribution and keep the other 50% as stash (uninvested cash).
→ Marked with a small blue triangle under the bar.
2. 52-Week High Discount Logic
- The script computes the 52-week high as the highest daily high of the last 252 trading days.
- The “discount level” is: 52W high × (1 – Discount%).
- When price is at or below this level, dips are treated as buying opportunities and the model allocates more.
3. Selling Logic (Partial Take Profit)
- When the close is above the daily EMA50 by the selected percentage:
→ Sell the given “Sell portion of qty (%)” of your current holdings.
→ Marked with a small red triangle above the bar.
- This behaves like a gradual profit-taking system: if price stays extended above EMA50, multiple partial sells can occur over time.
📊 Panel (top-right)
The panel summarizes the state of your DCA plan:
- Weeks: number of DCA weeks since Start Date
- Total deposit: total money contributed (sum of all weekly contributions)
- Shares qty: total number of shares accumulated
- Avg price: volume-weighted average entry price
- Shares value: current market value of all shares (qty × close)
- Cash: uninvested cash (including saved stash)
- Total equity: Shares value + Cash
- DCA % PnL: performance of the DCA plan vs total deposits
- Stock % since start: performance of the underlying asset since the Start Date
✅ Recommended Use
- Timeframe: Daily (the DCA engine is designed to run on daily bars and Friday closes).
- Works best on stocks, ETFs or indices where a 52-week high is a meaningful reference.
- You can tune:
- Weekly contribution
- Discount from 52W high
- Booster amount
- EMA50 extension threshold and sell portion
⚠ Notes & Disclaimer
- This script is a backtesting and educational tool. It does not place real orders.
- Past performance does not guarantee future results.
- Always combine DCA and risk management with your own research and judgment.
Built by FPT (Funded Pips Trading) for long-term, rules-based DCA planning.
📊 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).
Trend Follow Line Point📌 Trend Follow Line Point
The Trend Follow Line Point indicator removes the confusing, repainting-based swing connections commonly found in traditional swing tools.
It maintains consistent swing-point calculation, keeps structural swing lines intact even when trend lines are broken, and integrates market structure + trend + volatility + volume into one intuitive, visual indicator.
This tool is designed for:
Trend Following
Swing Structure Analysis
Volatility-Based Entry & Exit
Market Strength Evaluation
📊 Component Explanation
🔹 1. Swing High / Swing Low Detection
Based on the user-defined sensitivity (swgLen):
A Swing High forms when the current high exceeds the previous swgLen highs.
A Swing Low forms when the current low falls below the previous swgLen lows.
🔹 2. Swing-Based Structure Lines
Connect Swing Highs → Structural visualization
Connect Swing Lows → Structural visualization
These lines reveal the underlying market structure without repainting or disappearing unexpectedly.
🔹 3. Dynamic ATR + Volume Weighting
ATR values combined with the volume ratio (vol / volMA) create a dynamic volatility channel that reflects real-time market pressure.
🔹 4. Enhanced SuperTrend Calculation
Uses ATR-based stability to produce more realistic and smoother trend lines, reducing noise and improving signal clarity.
🔹 5. Trend Color Mapping
Up Trend → User-selected color
Down Trend → User-selected color
Visual trend direction and strength can be identified immediately.
🧭 How to Use
When Swing Highs/Lows are detected, structure lines are automatically drawn between previous swings.
Use these lines to evaluate support/resistance breaks and overall structural direction.
Manage risk with volatility guidance:
Higher ATR (volume-weighted) → wider trend spacing → increased risk
Lower ATR → tighter spacing → reduced risk
This helps with position sizing, entry timing, and exit decisions.
+






















