Multitimeframe Stochastic RSIIndicator is Combining 4 different timeframe Stochastic RSI and show buy signal when all of them are oversold and sell signal when all of them are overbought.
Default settings are set up for 15 minute timeframe:
K1 - 15M (period = 14)
K2 - 30M (period = 28)
K3 - 1H (period = 56)
K4 - 2H (period = 112)
It indicates top and bottoms of given period.
Its good to use as a confirmation indicator.
Feel free to comment and use it.
Greetings!
Timeframe
MarketScope - Cloud + CPR + Pivot PointsMarketScope combines three powerful concepts — trend, bias, and structure — into one all-in-one indicator that helps traders see the market clearly at a glance.
It merges the Ichimoku Cloud, Central Pivot Range (CPR), and Pivot Points into a single visual framework that shows:
Trend Direction → via the Cloud (green = uptrend, red = downtrend).
Market Bias & Balance Zone → via CPR (above = bullish, below = bearish, inside = neutral).
Decision Zones / Reaction Levels → via Pivot Points (R1, R2, S1, S2).
With MarketScope, you can instantly identify:
✅ Trend environment — clear skies or storm clouds
✅ Market bias — who’s in control (buyers or sellers)
✅ Key reaction zones — where price may bounce, reject, or break
RSI + MACD Multi-Timeframe StrategyThis strategy combines the Relative Strength Index (RSI) from the daily timeframe with the Moving Average Convergence Divergence (MACD) from the 4-hour timeframe to generate precise long entry and exit signals.
The system uses a multi-timeframe approach to align longer-term trend conditions with shorter-term momentum shifts — allowing traders to catch dips with confirmation and exit before reversals.
🧠 Strategy Logic
✅ Long Entry Condition:
- RSI on the daily (1D) timeframe is oversold (below your defined threshold)
- MACD on the 4H timeframe crosses above the signal line
→ A long trade is opened when these two align
✅ Long Exit Condition:
- RSI on the daily timeframe is overbought
- MACD on the 4H timeframe crosses below the signal line
→ The long trade is closed when these two conditions are met
💡 This strategy currently supports long entries only. Short logic can be added if needed.
📊 Indicator Components
🔹 RSI (Relative Strength Index):
- A momentum oscillator that measures the speed and magnitude of price changes.
- Helps identify overbought (potential sell) and oversold (potential buy) conditions.
- Applied on the 1D timeframe (by default) to reflect broader market trend or exhaustion levels.
🔹 MACD (Moving Average Convergence Divergence):
- A trend-following momentum indicator based on moving averages.
- The MACD Line (fast EMA - slow EMA) crossing above the Signal Line indicates bullish momentum.
- Used here on the 4-hour timeframe (by default) for shorter-term momentum confirmation.
🔹 Multi-Timeframe (MTF) Logic:
- Uses request.security() to pull higher timeframe data (1D for RSI, 4H for MACD).
- Ensures no repainting, as it only uses closed candles from the higher timeframe.
- Aligns longer-term signals with shorter-term entries, reducing false signals.
📈 Plotting Options
The script includes a plot selector input allowing you to toggle between:
- RSI Plot (with overbought/oversold lines)
- MACD Plot (MACD line and signal line)
- This helps visualize signal conditions clearly on your chart.
🛠 Customization
- RSI & MACD settings are fully configurable
- RSI and MACD timeframes can be adjusted independently
⚠️ Disclaimer
This strategy is provided for educational and informational purposes only.
It is not financial advice or a recommendation to buy or sell any asset.
Past performance does not guarantee future results. Always test strategies in a simulated environment before live use, and consult with a licensed financial advisor for investment decisions.
Period Range AnalyzerThis indicator analyzes a specific periodic range, which can start from a fixed date or a defined lookback period. It draws percentage levels and colored zones between the highest and lowest price. It also displays a detailed information table, which shows the price's position within the range in "Trend" mode, and the relative strength of currency pairs in "Forex" mode. The current price position is also indicated by a label with a percentage value and the name of the corresponding zone.
User Guide
Calculation Method
This setting determines how the indicator defines the range used for the calculation.
Lookback Period: In this mode, the indicator uses the last N candles (the number can be specified in the "Lookback Period (bars)" field). The range (the highest and lowest price) is "floating," meaning it is recalculated with each new candle based on the last N candles.
Date Based: In this mode, the calculation starts from a fixed date and time you select. The indicator finds the opening price of the start date and continuously tracks the highest and lowest price from that point on. This mode is ideal for measuring performance from a specific event (e.g., start of a week/month/year, news).
Data Handling Note: If you select a date in "Date Based" mode for which no data is available on the current timeframe (e.g., switching to a very low timeframe), the indicator will automatically use the earliest available candle as the starting point. All calculations (Open, Max, Min, Range, Percentage, Change, Trend) are based on this actual start date.
Start Date & Time
This setting is only active in "Date Based" mode.
Here you can specify the fixed starting point for the calculation.
The specified time is in the Exchange timezone.
Important limitation: Due to TradingView platform limits, visual elements (levels, zones) are only drawn for a maximum of 250 candles back. If the set date is older than this, the calculation still applies to the entire period (from the set date), but the drawing only covers the last 250 candles. The table always displays accurate data for the entire period.
When switching to a higher timeframe, the range may restart from a slightly later bar due to TradingView's bar alignment. For best accuracy, set your timeframe first, then select the start date.
Table Mode
This setting controls what data the information table displays.
Trend: This is the default mode, which works on any symbol (stock, index, crypto, etc.). It displays information related to the trend and the range.
Forex: This is a special mode used to measure the strength of currency and crypto pairs. It only works on symbols with exactly 6 characters (e.g., "EURUSD", "BTCUSD"). It treats the first 3 characters as the base currency (e.g., EUR) and the last 3 as the quote currency (e.g., USD). If the symbol does not have 6 characters, the table will automatically display in "Trend" mode.
Trend
This trend determination operates based on the formation order of the high and low within the analyzed range:
Its switch is located in the “Table Additional Rows” menu.
Bullish: Indicated if the low was formed before the high (on different candles). Or if they formed on the same candle, it was a bullish candle.
Bearish: Indicated if the high was formed before the low (on different candles). Or if they formed on the same candle, it was a bearish candle.
Neutral: Indicated if the high and low formed on the same candle, and it was a "doji" candle (close = open).
Upper & Lower Threshold
These settings (Upper Threshold (%) and Lower Threshold (%) in the "Label Coloring" section) primarily determine the state (Bullish/Bearish/Neutral) of the top row of the table.
The logic is not based on the percentage change of the price movement, but on the current price's position within the range, where the bottom of the range is 0% and the top is 100%.
Upper Threshold (%): The percentage level (e.g., 60.0) above which the indicator considers the price position "Bullish" (or "Strong").
Lower Threshold (%): The percentage level (e.g., 40.0) below which the indicator considers the price position "Bearish" (or "Weak").
If the price is between the two (e.g., between 40% and 60%), the signal is Neutral.
Secondary function: These thresholds also control the color of the label next to the price, provided the "Dynamic Label Coloring" option is enabled.
Range Percentage Analyzer This indicator is a tool for analyzing the market range and trend. It calculates the extent of price movement between a specified starting point and the current price, displaying it as a percentage.
The calculation can be based on a fixed lookback period (e.g., the last 30 candles) or from a fixed start date. It also provides a clear table that shows the general trend in "Trend" mode, and the relative strength of the base and quote currencies of forex pairs (e.g., EURUSD) in "Forex" mode.
User Guide
Calculation Method
This setting determines how the indicator defines the starting point for the calculation.
Lookback Period: In this mode, the indicator uses the last N candles (the number can be specified in the "Lookback Period (bars)" field, maximum 250).
The starting point is "floating," meaning it shifts with each new candle. For example, with a setting of 30, the 30th candle from the current one will always be the starting point.
Date Based: In this mode, the calculation starts from a fixed date and time you select.
This mode is ideal for measuring performance from a specific event (e.g., news, start of a week/month).
Note: If you select a date in "Date Based" mode for which no data is available on the current timeframe (e.g., switching to a very low timeframe), the indicator will automatically use the earliest available candle as the starting point.
Start Date & Time
This setting is only active in "Date Based" mode.
Here you can specify the fixed starting point for the calculation.
The specified time is in the Exchange timezone.
Important limitation: Due to TradingView platform limits, visual elements (box, line) are only drawn for a maximum of 250 candles back.
If the set date is older than this, the calculation still applies to the entire period (from the set date), but the drawing only covers the last 250 candles.
When switching to a higher timeframe, the range may restart from a slightly later bar due to TradingView's bar alignment. For best accuracy, set your timeframe first, then select the start date.
Table Mode
This setting controls what data the information table displays.
Trend: This is the default mode, which works on any symbol (stock, index, crypto, etc.). It displays information related to the trend.
Forex: This is a special mode used to measure the strength of currency pairs.
It only works on symbols with exactly 6 characters (e.g., "EURUSD", "BTCUSD"). It treats the first 3 characters as the base currency (e.g., EUR) and the last 3 as the quote currency (e.g., USD).
If the symbol does not have 6 characters, the table will automatically display in "Trend" mode.
Extremes Trend Row
If this is enabled, the table displays an additional row that determines the trend based on the formation order of the high and low within the analyzed range.
The logic is as follows:
Bullish: Indicated if the low was formed before the high.
(Or if they formed on the same candle, which was a bullish candle).
Bearish: Indicated if the high was formed before the low.
(Or if they formed on the same candle, which was a bearish candle).
Neutral: Indicated if the high and low formed on the same candle, and it was a "doji" candle (close = open).
Upper & Lower Threshold
These settings control the logic for the "Change Trend" and "Forex Display" rows at the top of the table.
They determine when the total percentage change for the entire period is considered "Bullish/Strong", "Bearish/Weak", or "Neutral".
Upper Threshold (%): The percentage value (default 0.1%) above which the indicator considers the change "Bullish/Strong".
Lower Threshold (%): The percentage value (default -0.1%) below which the indicator considers the change "Bearish/Weak".
If the change is between the two, the signal is Neutral.
Smart Money Flow Index (SMFI) - Advanced SMC [PhenLabs]📊Smart Money Flow Index (SMFI)
Version: PineScript™v6
📌Description
The Smart Money Flow Index (SMFI) is an advanced Smart Money Concepts implementation that tracks institutional trading behavior through multi-dimensional analysis. This comprehensive indicator combines volume-validated Order Block detection, Fair Value Gap identification with auto-mitigation tracking, dynamic Liquidity Zone mapping, and Break of Structure/Change of Character detection into a unified system.
Unlike basic SMC indicators, SMFI employs a proprietary scoring algorithm that weighs five critical factors: Order Block strength (validated by volume), Fair Value Gap size and recency, proximity to Liquidity Zones, market structure alignment (BOS/CHoCH), and multi-timeframe confluence. This produces a Smart Money Score (0-100) where readings above 70 represent optimal institutional setup conditions.
🚀Points of Innovation
Volume-Validated Order Block Detection – Only displays Order Blocks when formation candle exceeds customizable volume multiplier (default 1.5x average), filtering weak zones and highlighting true institutional accumulation/distribution
Auto-Mitigation Tracking System – Fair Value Gaps and Order Blocks automatically update status when price mitigates them, with visual distinction between active and filled zones preventing trades on dead levels
Proprietary Smart Money Score Algorithm – Combines weighted factors (OB strength 25%, FVG proximity 20%, Liquidity 20%, Structure 20%, MTF 15%) into single 0-100 confidence rating updating in real-time
ATR-Based Adaptive Calculations – All distance measurements use 14-period Average True Range ensuring consistent function across any instrument, timeframe, or volatility regime without manual recalibration
Dynamic Age Filtering – Automatically removes liquidity levels and FVGs older than configurable thresholds preventing chart clutter while maintaining relevant levels
Multi-Timeframe Confluence Integration – Analyzes higher timeframe bias with customizable multipliers (2-10x) and incorporates HTF trend direction into Smart Money Score for institutional alignment
🔧Core Components
Order Block Engine – Detects institutional supply/demand zones using characteristic patterns (down-move-then-strong-up for bullish, up-move-then-strong-down for bearish) with minimum volume threshold validation, tracks mitigation when price closes through zones
Fair Value Gap Scanner – Identifies price imbalances where current candle's low/high leaves gap with two-candle-prior high/low, filters by minimum size percentage, monitors 50% fill for mitigation status
Liquidity Zone Mapper – Uses pivot high/low detection with configurable lookback to mark swing points where stop losses cluster, extends horizontal lines to visualize sweep targets, manages lifecycle through age-based removal
Market Structure Analyzer – Tracks pivot progression to identify trend through higher-highs/higher-lows (bullish) or lower-highs/lower-lows (bearish), detects Break of Structure and Change of Character for trend/reversal confirmation
Scoring Calculation Engine – Evaluates proximity to nearest Order Blocks using ATR-normalized distance, assesses FVG recency and distance, calculates liquidity proximity with age weighting, combines structure bias and MTF trend into smoothed final score
🔥Key Features
Customizable Display Limits – Control maximum Order Blocks (1-10), Liquidity Zones (1-10), and FVG age (10-200 bars) to maintain clean charts focused on most relevant institutional levels
Gradient Strength Visualization – All zones render with transparency-adjustable coloring where stronger/newer zones appear more solid and weaker/older zones fade progressively providing instant visual hierarchy
Educational Label System – Optional labels identify each zone type (Bullish OB, Bearish OB, Bullish FVG, Bearish FVG, BOS) with color-coded text helping traders learn SMC concepts through practical application
Real-Time Smart Money Score Dashboard – Top-right table displays current score (0-100) with color coding (green >70, yellow 30-70, red <30) plus trend arrow for at-a-glance confidence assessment
Comprehensive Alert Suite – Configurable notifications for Order Block formation, Fair Value Gap detection, Break of Structure events, Change of Character signals, and high Smart Money Score readings (>70)
Buy/Sell Signal Integration – Automatically plots triangle markers when Smart Money Score exceeds 70 with aligned market structure and fresh Order Block detection providing clear entry signals
🎨Visualization
Order Block Boxes – Shaded rectangles extend from formation bar spanning high-to-low of institutional candle, bullish zones in green, bearish in red, with customizable transparency (80-98%)
Fair Value Gap Zones – Rectangular areas marking imbalances, active FVGs display in bright colors with adjustable transparency, mitigated FVGs switch to gray preventing trades on filled zones
Liquidity Level Lines – Dashed horizontal lines extend from pivot creation points, swing highs in bearish color (short targets above), swing lows in bullish color (long targets below), opacity decreases with age
Structure Labels – "BOS" labels appear above/below price when Break of Structure confirmed, colored by direction (green bullish, red bearish), positioned at 1% beyond highs/lows for visibility
Educational Info Panel – Bottom-right table explains key terminology (OB, FVG, BOS, CHoCH) and score interpretation (>70 high probability) with semi-transparent background for readability
📖Usage Guidelines
General Settings
Show Order Blocks – Default: On, toggles visibility of institutional supply/demand zones, disable when focusing solely on FVGs or Liquidity
Show Fair Value Gaps – Default: On, controls FVG zone display including active and mitigated imbalances
Show Liquidity Zones – Default: On, manages liquidity line visibility, disable on lower timeframes to reduce clutter
Show Market Structure – Default: On, toggles BOS/CHoCH label display
Show Smart Money Score – Default: On, controls score dashboard visibility
Order Block Settings
OB Lookback Period – Default: 20, Range: 5-100, controls bars scanned for Order Block patterns, lower values detect recent activity, higher values find older blocks
Min Volume Multiplier – Default: 1.5, Range: 1.0-5.0, sets minimum volume threshold as multiple of 20-period average, higher values (2.0+) filter for strongest institutional candles
Max Order Blocks to Display – Default: 3, Range: 1-10, limits simultaneous Order Blocks shown, lower settings (1-3) maintain focus on most recent zones
Fair Value Gap Settings
Min FVG Size (%) – Default: 0.3, Range: 0.1-2.0, defines minimum gap size as percentage of close price, lower values detect micro-imbalances, higher values focus on significant gaps
Max FVG Age (bars) – Default: 50, Range: 10-200, removes FVGs older than specified bars, lower settings (10-30) for scalping, higher (100-200) for swing trading
Show FVG Mitigation – Default: On, displays filled FVGs in gray providing visual history, disable to show only active untouched imbalances
Liquidity Zone Settings
Liquidity Lookback – Default: 50, Range: 20-200, sets pivot detection period for swing highs/lows, lower values (20-50) mark shorter-term liquidity, higher (100-200) identify major swings
Max Liquidity Age (bars) – Default: 100, Range: 20-500, removes liquidity lines older than specified bars, adjust based on timeframe
Liquidity Sensitivity – Default: 0.5, Range: 0.1-1.0, controls pivot detection sensitivity, lower values mark only major swings, higher values identify minor swings
Max Liquidity Zones to Display – Default: 3, Range: 1-10, limits total liquidity levels shown maintaining chart clarity
Market Structure Settings
Pivot Length – Default: 5, Range: 3-15, defines bars to left/right for pivot validation, lower values (3-5) create sensitive structure breaks, higher (10-15) filter for major shifts
Min Structure Move (%) – Default: 1.0, Range: 0.1-5.0, sets minimum percentage move required between pivots to confirm structure change
Multi-Timeframe Settings
Enable MTF Analysis – Default: On, activates higher timeframe trend analysis incorporation into Smart Money Score
Higher Timeframe Multiplier – Default: 4, Range: 2-10, multiplies current timeframe to determine analysis timeframe (4x on 15min = 1hour)
Visual Settings
Bullish Color – Default: Green (#089981), sets color for bullish Order Blocks, FVGs, and structure elements
Bearish Color – Default: Red (#f23645), defines color for bearish elements
Neutral Color – Default: Gray (#787b86), controls color of mitigated zones and neutral elements
Show Educational Labels – Default: On, displays text labels on zones identifying type (OB, FVG, BOS), disable once familiar with patterns
Order Block Transparency – Default: 92, Range: 80-98, controls Order Block box transparency
FVG Transparency – Default: 92, Range: 80-98, sets Fair Value Gap zone transparency independently from Order Blocks
Alert Settings
Alert on Order Block Formation – Default: On, triggers notification when new volume-validated Order Block detected
Alert on FVG Formation – Default: On, sends alert when Fair Value Gap appears enabling quick response to imbalances
Alert on Break of Structure – Default: On, notifies when BOS or CHoCH confirmed
Alert on High Smart Money Score – Default: On, alerts when Smart Money Score crosses above 70 threshold indicating high-probability setup
✅Best Use Cases
Order Block Retest Entries – After Break of Structure, wait for price retrace into fresh bullish Order Block with Smart Money Score >70, enter long on zone reaction targeting next liquidity level
Fair Value Gap Retracement Trading – When price creates FVG during strong move then retraces, enter as price approaches unfilled gap expecting institutional orders to continue trend
Liquidity Sweep Reversals – Monitor price approaching swing high/low liquidity zones against prevailing Smart Money Score trend, after stop hunt sweep watch for rejection into premium Order Block/FVG
Multi-Timeframe Confluence Setups – Identify alignment when current timeframe Order Block coincides with higher timeframe FVG plus MTF analysis showing matching trend bias
Break of Structure Continuations – After BOS confirms trend direction, trade pullbacks to nearest Order Block or FVG in direction of structure break using Smart Money Score >70 as entry filter
Change of Character Reversal Plays – When CHoCH detected indicating potential reversal, look for Smart Money Score pivot with opposing Order Block formation then enter on structure confirmation
⚠️Limitations
Lagging Pivot Calculations – Pivot-based features (Liquidity Zones, Market Structure) require bars to right of pivot for confirmation, meaning these elements identify levels retrospectively with delay equal to lookback period
Whipsaw in Ranging Markets – During choppy conditions, Order Blocks fail frequently and structure breaks produce false signals as Smart Money Score fluctuates without clear institutional bias, best used in trending markets
Volume Data Dependency – Order Block volume validation requires accurate volume data which may be incomplete on Forex pairs or limited in crypto exchange feeds
Subjectivity in Scoring Weights – Proprietary 25-20-20-20-15 weighting reflects general institutional behavior but may not optimize for specific instruments or market regimes, user cannot adjust factor weights
Visual Complexity on Lower Timeframes – Sub-hour timeframes generate excessive zones creating cluttered charts, requires aggressive display limit reduction and higher minimum thresholds
No Fundamental Integration – Indicator analyzes purely technical price action and volume without incorporating economic events, news catalysts, or fundamental shifts that override technical levels
💡What Makes This Unique
Unified SMC Ecosystem – Unlike indicators displaying Order Blocks OR FVGs OR Liquidity separately, SMFI combines all three institutional concepts plus market structure into single cohesive system
Proprietary Confidence Scoring – Rather than manual setup assessment, automated Smart Money Score quantifies probability by weighting five institutional dimensions into actionable 0-100 rating
Volume-Filtered Quality – Eliminates weak Order Blocks forming without institutional volume confirmation, ensuring displayed zones represent genuine accumulation/distribution
Adaptive Lifecycle Management – Automatically updates mitigation status and removes aged zones preventing trades on dead levels through continuous validity and age monitoring
Educational Integration – Built-in tooltips, labeled zones, and reference panel make indicator functional for both learning Smart Money Concepts and executing strategies
🔬How It Works
Order Block Detection – Scans for patterns where strong directional move follows counter-move creating last down-candle before rally (bullish OB) or last up-candle before sell-off (bearish OB), validates formations only when candle exhibits volume exceeding configurable multiple (default 1.5x) of 20-bar average volume
Fair Value Gap Identification – Compares current candle’s high/low against two-candles-prior low/high to detect price imbalances, calculates gap size as percentage of close and filters micro-gaps below minimum threshold (default 0.3%), monitors whether subsequent price fills 50% triggering mitigation status
Liquidity Zone Mapping – Employs pivot detection using configurable lookback (default 50 bars) to identify swing highs/lows where retail stops cluster, extends horizontal reference lines from pivot creation and applies age-based filtering to remove stale zones
Market Structure Analysis – Tracks pivot progression using structure-specific lookback (default 5 bars) to determine trend, confirms uptrend when new pivot high exceeds previous by minimum move percentage, detects Break of Structure when price breaks recent pivot level, flags Change of Character for potential reversals
Multi-Timeframe Confluence – When enabled, requests security data from higher timeframe (current TF × HTF multiplier, default 4x), compares HTF close against HTF 20-period MA to determine bias, contributes ±50 points to score ensuring alignment with institutional positioning on superior timeframe
Smart Money Score Calculation – Evaluates Order Block component via ATR-normalized distance producing max 100-point contribution weighted at 25%, assesses FVG factor through age penalty and distance at 20% weight, calculates Liquidity proximity at 20%, incorporates structure bias (±50-100 points) at 20%, adds MTF component at 15%, applies 3-period smoothing to reduce volatility
Visual Rendering and Lifecycle – Draws Order Block boxes, Fair Value Gap rectangles with color coding (green/red active, gray mitigated), extends liquidity dashed lines with fade-by-age opacity, plots BOS labels, displays Smart Money Score dashboard, continuously updates checking mitigation conditions and removing elements exceeding age/display limits
💡Note:
The Smart Money Flow Index combines multiple Smart Money Concepts into unified institutional order flow analysis. For optimal results, use the Smart Money Score as confluence filter rather than standalone entry signal – scores above 70 indicate high-probability setups but should be combined with risk management, higher timeframe bias, and market regime understanding.
LibTmFrLibrary "LibTmFr"
This is a utility library for handling timeframes and
multi-timeframe (MTF) analysis in Pine Script. It provides a
collection of functions designed to handle common tasks related
to period detection, session alignment, timeframe construction,
and time calculations, forming a foundation for
MTF indicators.
Key Capabilities:
1. **MTF Period Engine:** The library includes functions for
managing higher-timeframe (HTF) periods.
- **Period Detection (`isNewPeriod`):** Detects the first bar
of a given timeframe. It includes custom logic to handle
multi-month and multi-year intervals where
`timeframe.change()` may not be sufficient.
- **Bar Counting (`sinceNewPeriod`):** Counts the number of
bars that have passed in the current HTF period or
returns the final count for a completed historical period.
2. **Automatic Timeframe Selection:** Offers functions for building
a top-down analysis framework:
- **Automatic HTF (`autoHTF`):** Suggests a higher timeframe
(HTF) for broader context based on the current timeframe.
- **Automatic LTF (`autoLTF`):** Suggests an appropriate lower
timeframe (LTF) for granular intra-bar analysis.
3. **Timeframe Manipulation and Comparison:** Includes tools for
working with timeframe strings:
- **Build & Split (`buildTF`, `splitTF`):** Functions to
programmatically construct valid Pine Script timeframe
strings (e.g., "4H") and parse them back into their
numeric and unit components.
- **Comparison (`isHigherTF`, `isActiveTF`, `isLowerTF`):**
A set of functions to check if a given timeframe is
higher, lower, or the same as the script's active timeframe.
- **Multiple Validation (`isMultipleTF`):** Checks if a
higher timeframe is a practical multiple of the current
timeframe. This is based on the assumption that checking
if recent, completed HTF periods contained more than one
bar is a valid proxy for preventing data gaps.
4. **Timestamp Interpolation:** Contains an `interpTimestamp()`
function that calculates an absolute timestamp by
interpolating at a given percentage across a specified
range of bars (e.g., 50% of the way through the last
20 bars), enabling time calculations at a resolution
finer than the chart's native bars.
---
**DISCLAIMER**
This library is provided "AS IS" and for informational and
educational purposes only. It does not constitute financial,
investment, or trading advice.
The author assumes no liability for any errors, inaccuracies,
or omissions in the code. Using this library to build
trading indicators or strategies is entirely at your own risk.
As a developer using this library, you are solely responsible
for the rigorous testing, validation, and performance of any
scripts you create based on these functions. The author shall
not be held liable for any financial losses incurred directly
or indirectly from the use of this library or any scripts
derived from it.
buildTF(quantity, unit)
Builds a Pine Script timeframe string from a numeric quantity and a unit enum.
The resulting string can be used with `request.security()` or `input.timeframe`.
Parameters:
quantity (int) : series int Number to specifie how many `unit` the timeframe spans.
unit (series TFUnit) : series TFUnit The size category for the bars.
Returns: series string A Pine-style timeframe identifier, e.g.
"5S" → 5-seconds bars
"30" → 30-minute bars
"120" → 2-hour bars
"1D" → daily bars
"3M" → 3-month bars
"24M" → 2-year bars
splitTF(tf)
Splits a Pine‑timeframe identifier into numeric quantity and unit (TFUnit).
Parameters:
tf (string) : series string Timeframe string, e.g.
"5S", "30", "120", "1D", "3M", "24M".
Returns:
quantity series int The numeric value of the timeframe (e.g., 15 for "15", 3 for "3M").
unit series TFUnit The unit of the timeframe (e.g., TFUnit.minutes, TFUnit.months).
Notes on strings without a suffix:
• Pure digits are minutes; if divisible by 60, they are treated as hours.
• An "M" suffix is months; if divisible by 12, it is converted to years.
autoHTF(tf)
Picks an appropriate **higher timeframe (HTF)** relative to the selected timeframe.
It steps up along a coarse ladder to produce sensible jumps for top‑down analysis.
Mapping → chosen HTF:
≤ 1 min → 60 (1h) ≈ ×60
≤ 3 min → 180 (3h) ≈ ×60
≤ 5 min → 240 (4h) ≈ ×48
≤ 15 min → D (1 day) ≈ ×26–×32 (regular session 6.5–8 h)
> 15 min → W (1 week) ≈ ×64–×80 for 30m; varies with input
≤ 1 h → W (1 week) ≈ ×32–×40
≤ 4 h → M (1 month) ≈ ×36–×44 (~22 trading days / month)
> 4 h → 3M (3 months) ≈ ×36–×66 (e.g., 12h→×36–×44; 8h→×53–×66)
≤ 1 day → 3M (3 months) ≈ ×60–×66 (~20–22 trading days / month)
> 1 day → 12M (1 year) ≈ ×(252–264)/quantity
≤ 1 week → 12M (1 year) ≈ ×52
> 1 week → 48M (4 years) ≈ ×(208)/quantity
= 1 M → 48M (4 years) ≈ ×48
> 1 M → error ("HTF too big")
any → error ("HTF too big")
Notes:
• Inputs in months or years are restricted: only 1M is allowed; larger months/any years throw.
• Returns a Pine timeframe string usable in `request.security()` and `input.timeframe`.
Parameters:
tf (string) : series string Selected timeframe (e.g., "D", "240", or `timeframe.period`).
Returns: series string Suggested higher timeframe.
autoLTF(tf)
Selects an appropriate **lower timeframe LTF)** for intra‑bar evaluation
based on the selected timeframe. The goal is to keep intra‑bar
loops performant while providing enough granularity.
Mapping → chosen LTF:
≤ 1 min → 1S ≈ ×60
≤ 5 min → 5S ≈ ×60
≤ 15 min → 15S ≈ ×60
≤ 30 min → 30S ≈ ×60
> 30 min → 60S (1m) ≈ ×31–×59 (for 31–59 minute charts)
≤ 1 h → 1 (1m) ≈ ×60
≤ 2 h → 2 (2m) ≈ ×60
≤ 4 h → 5 (5m) ≈ ×48
> 4 h → 15 (15m) ≈ ×24–×48 (e.g., 6h→×24, 8h→×32, 12h→×48)
≤ 1 day → 15 (15m) ≈ ×26–×32 (regular sessions ~6.5–8h)
> 1 day → 60 (60m) ≈ ×(26–32) per day × quantity
≤ 1 week → 60 (60m) ≈ ×32–×40 (≈5 sessions of ~6.5–8h)
> 1 week → 240 (4h) ≈ ×(8–10) per week × quantity
≤ 1 M → 240 (4h) ≈ ×33–×44 (~20–22 sessions × 6.5–8h / 4h)
≤ 3 M → D (1d) ≈ ×(20–22) per month × quantity
> 3 M → W (1w) ≈ ×(4–5) per month × quantity
≤ 1 Y → W (1w) ≈ ×52
> 1 Y → M (1M) ≈ ×12 per year × quantity
Notes:
• Ratios for D/W/M are given as ranges because they depend on
**regular session length** (typically ~6.5–8h, not 24h).
• Returned strings can be used with `request.security()` and `input.timeframe`.
Parameters:
tf (string) : series string Selected timeframe (e.g., "D", "240", or timeframe.period).
Returns: series string Suggested lower TF to use for intra‑bar work.
isNewPeriod(tf, offset)
Returns `true` when a new session-aligned period begins, or on the Nth bar of that period.
Parameters:
tf (string) : series string Target higher timeframe (e.g., "D", "W", "M").
offset (simple int) : simple int 0 → checks for the first bar of the new period.
1+ → checks for the N-th bar of the period.
Returns: series bool `true` if the condition is met.
sinceNewPeriod(tf, offset)
Counts how many bars have passed within a higher timeframe (HTF) period.
For daily, weekly, and monthly resolutions, the period is aligned with the trading session.
Parameters:
tf (string) : series string Target parent timeframe (e.g., "60", "D").
offset (simple int) : simple int 0 → Running count for the current period.
1+ → Finalized count for the Nth most recent *completed* period.
Returns: series int Number of bars.
isHigherTF(tf, main)
Returns `true` when the selected timeframe represents a
higher resolution than the active timeframe.
Parameters:
tf (string) : series string Selected timeframe.
main (bool) : series bool When `true`, the comparison is made against the chart's main timeframe
instead of the script's active timeframe. Optional. Defaults to `false`.
Returns: series bool `true` if `tf` > active TF; otherwise `false`.
isActiveTF(tf, main)
Returns `true` when the selected timeframe represents the
exact resolution of the active timeframe.
Parameters:
tf (string) : series string Selected timeframe.
main (bool) : series bool When `true`, the comparison is made against the chart's main timeframe
instead of the script's active timeframe. Optional. Defaults to `false`.
Returns: series bool `true` if `tf` == active TF; otherwise `false`.
isLowerTF(tf, main)
Returns `true` when the selected timeframe represents a
lower resolution than the active timeframe.
Parameters:
tf (string) : series string Selected timeframe.
main (bool) : series bool When `true`, the comparison is made against the chart's main timeframe
instead of the script's active timeframe. Optional. Defaults to `false`.
Returns: series bool `true` if `tf` < active TF; otherwise `false`.
isMultipleTF(tf)
Returns `true` if the selected timeframe (`tf`) is a practical multiple
of the active skript's timeframe. It verifies this by checking if `tf` is a higher timeframe
that has consistently contained more than one bar of the skript's timeframe in recent periods.
The period detection is session-aware.
Parameters:
tf (string) : series string The higher timeframe to check.
Returns: series bool `true` if `tf` is a practical multiple; otherwise `false`.
interpTimestamp(offStart, offEnd, pct)
Calculates a precise absolute timestamp by interpolating within a bar range based on a percentage.
This version works with RELATIVE bar offsets from the current bar.
Parameters:
offStart (int) : series int The relative offset of the starting bar (e.g., 10 for 10 bars ago).
offEnd (int) : series int The relative offset of the ending bar (e.g., 1 for 1 bar ago). Must be <= offStart.
pct (float) : series float The percentage of the bar range to measure (e.g., 50.5 for 50.5%).
Values are clamped to the range.
Returns: series int The calculated, interpolated absolute Unix timestamp in milliseconds.
Fixed High Timeframe Moving AveragesFixed High Timeframe Moving Averages (W/D/4H)
Summary
This indicator plots essential, high-timeframe (HTF) Moving Averages onto your chart, **no matter which timeframe you are currently viewing**.
It is designed for traders who need multi-timeframe context at a glance. Stop switching charts to see where the 200-Week or 50-Day MA is—now you can see all critical HTF levels directly on your 5-minute (or any other) chart.
---
Who it’s for
Traders who rely on moving averages but like to work on lower chart timeframes while keeping higher timeframe context in sight. If you scalp on 1–15m yet want Weekly/Daily/4H MAs always visible, this is for you.
---
What it shows
Pinned (“fixed”) moving averages from higher timeframes—Weekly (20/100/200) , Daily (50/100/200/365) and 4H (200) —rendered on any chart timeframe. Your favorite HTF MAs stay on screen no matter what TF you’re currently analyzing.
---
Features
* **MA types:** SMA, EMA, VWMA, Hull.
* **Fully configurable:** toggle each line, set periods, colors, and thickness.
* **Two alert modes (see below):** intrabar vs confirmed HTF close.
* **Works on any symbol & chart TF** using `request.security` to fetch HTF data.
---
Alerts & Modes
This indicator solves the biggest problem with MTF alerts: false signals. You can choose one of two modes:
1. **Intrabar mode** — compares current chart price to the HTF MA. Triggers as soon as price crosses the HTF line; great for early signals but may update until the HTF bar closes.
2. **Confirmed mode** — checks HTF close vs HTF MA. Signals only on the higher-TF bar close; fewer false starts, no intrabar repainting on that TF.
Per-line *Cross Above / Cross Below* conditions are provided for all enabled MAs (e.g., “20W — Cross Above”, “365D — Cross Below”, etc.).
**How to use alerts:** add the script → “Create Alert” → pick any condition from the script’s list.
---
Why this helps
* Keeps Weekly/Daily structure visible while you execute on LTF.
* Classic anchors (e.g., 200D, 20W/100W/200W) are popular for trend bias, dynamic support/resistance, and pullback context.
* Lets you standardize MA references across all your lower-TF playbooks.
---
Notes on confirmation & repainting
* Intrabar signals can change until the higher-TF bar closes (that’s expected with multi-TF data).
* Confirmed mode waits for the HTF close—cleaner, but later. Choose what fits your workflow.
---
Quick setup
1. Pick `MA Type` (SMA/EMA/VWMA/Hull).
2. Enable the HTF lines you want (Weekly 20/100/200; Daily 50/100/200/365; 4H 200).
3. Choose `Alert Mode` (Intrabar vs Confirmed).
4. Style colors/widths to taste and set alerts on the lines you care about.
---
Good practice
* Combine HTF MAs with price action (swings, structure, liquidity grabs) rather than using them in isolation.
* Always validate signals in your execution TF and use a risk plan tailored to volatility.
* Protect your capital: position sizing, stops, and disciplined risk management matter more than any single line on the chart.
---
Disclaimer
For educational/informational purposes only; not financial advice. Trading involves risk—manage it responsibly.
Previous D/W/M HLOCHey traders,
Here's a simple Multi-Timeframe indicator that essentially turns time and price into a box. It'll take the previous high, low, opening price, or closing price from one of the three timeframes of your choice (day, week, or month). For whatever reason I can't get the opening price to function consistently so if you find improvements feel free to let me know, this will help traders who prefer to use opening price over closing price.
Naturally this form of charting is classical and nature and some key figures you could use to study its usage are
- Richard W. Schabacker (1930s)
- Edwards & Magee (1948)
- Peter Brandt
- Stacey Burke (more on the intraday side - typically our preference)
It's usage put plainly:
- Quantifying Accumulation or Distribution
- Revealing Energy Build-Up (Compression)
- Framing Breakouts and False Breakouts
- Structuring Time
- Identifying opportunities to trade a daily, weekly, or monthly range.
VWAP Composites📊 VWAP Composite - Advanced Multi-Period Volume Weighted Average Price Indicator
═══════════════════════════════════════════════════════════════════
🎯 OVERVIEW
VWAP Composite is an advanced volume-weighted average price (VWAP) indicator that goes beyond traditional single-period VWAP calculations by offering composite multi-period analysis and unprecedented customization. This indicator solves a common problem traders face: traditional VWAP resets at arbitrary intervals (session start, day, week), but significant price action and volume accumulation often spans multiple periods. VWAP Composite allows you to anchor VWAP calculations to any timeframe—or combine multiple periods into a single composite VWAP—giving you a true representation of average price weighted by volume across the exact periods that matter to your analysis.
═══════════════════════════════════════════════════════════════════
⚙️ HOW IT WORKS - CALCULATION METHODOLOGY
📌 CORE VWAP CALCULATION
The indicator calculates VWAP using the standard volume-weighted formula:
• Typical Price = (High + Low + Close) / 3
• VWAP = Σ(Typical Price × Volume) / Σ(Volume)
This calculation is performed across user-defined time periods, ensuring each bar's contribution to the average is proportional to its trading volume.
📌 STANDARD DEVIATION BANDS
The indicator calculates volume-weighted standard deviation to measure price dispersion around the VWAP:
• Variance = Σ / Σ(Volume)
• Standard Deviation = √Variance
• Upper Band = VWAP + (StdDev × Multiplier)
• Lower Band = VWAP - (StdDev × Multiplier)
These bands help identify overbought/oversold conditions relative to the volume-weighted mean, with high-volume price excursions having greater impact on band width than low-volume moves.
📌 COMPOSITE PERIOD METHODOLOGY (Auto Mode)
Unlike traditional VWAP that resets at fixed intervals, Auto Mode creates composite VWAPs by combining the current period with N previous periods:
• Period Span = 1: Current period only (standard VWAP behavior)
• Period Span = 2: Current period + 1 previous period combined
• Period Span = 3: Current period + 2 previous periods combined
• And so on...
Example: A 3-period Weekly composite VWAP calculates from the start of 2 weeks ago through the current week's end, creating a single VWAP that represents 21 days of continuous price and volume data. This provides context about where price stands relative to the volume-weighted average over multiple weeks, not just the current week.
═══════════════════════════════════════════════════════════════════
🔧 KEY FEATURES & ORIGINALITY
✅ DUAL OPERATING MODES
1️⃣ MANUAL MODE (5 Independent VWAPs)
Define up to 5 separate VWAP calculations with custom start/end times:
• Perfect for anchoring VWAP to specific events (earnings, Fed announcements, major reversals)
• Each VWAP has independent color settings for lines and deviation band backgrounds
• Individual control over calculation extension and visual extension (explained below)
• Useful for tracking multiple institutional accumulation/distribution zones simultaneously
2️⃣ AUTO MODE (Composite Period VWAP)
Automatically calculates VWAP across combined time periods:
• Supported periods: Daily, Weekly, Monthly, Quarterly, Yearly
• Configurable period span (1-20 periods)
• Always up-to-date, recalculates on each new bar
• Ideal for systematic analysis across consistent timeframes
✅ DUAL EXTENSION SYSTEM (Manual Mode Innovation)
Most VWAP indicators only offer "on/off" for extending calculations. This indicator provides two distinct extension options:
🔹 EXTEND CALCULATION TO CURRENT BAR
When enabled, continues including new bars in the VWAP calculation after the defined end time. The VWAP value updates dynamically as new volume enters the market.
Use case: You anchored VWAP to a major low 3 weeks ago. You want the VWAP to continue evolving with new volume data to track ongoing institutional positioning.
🔹 EXTEND VISUAL LINE ONLY
When enabled (and calculation extension is disabled), projects the "frozen" VWAP value forward as a reference line. The VWAP value remains fixed at what it was at the end time, but the line and deviation bands visually extend to current price.
Use case: You want to see how price is behaving relative to the VWAP that existed at a specific point in time (e.g., "Where is price now vs. the 5-day VWAP that existed at last Friday's close?").
This dual system gives you unprecedented control over whether you're tracking a "living" VWAP that incorporates new data or using historical VWAP levels as static reference points.
✅ CUSTOMIZABLE STANDARD DEVIATION BANDS
• Adjustable multiplier (0.1 to 5.0)
• Independent background colors with opacity control for each VWAP
• Dashed band lines for easy visual distinction from main VWAP
• Bands extend when visual extension is enabled, maintaining zone visibility
✅ COMPREHENSIVE LABELING SYSTEM
Each VWAP displays:
• Current VWAP value
• Upper deviation band value (High)
• Lower deviation band value (Low)
• Extension status indicator (Calc Extended / Visual Extended)
• Color-coded for quick identification
═══════════════════════════════════════════════════════════════════
📖 HOW TO USE THIS INDICATOR
🎯 SCENARIO 1: EVENT-ANCHORED VWAP (Manual Mode)
Use case: A stock gaps down 15% on earnings and you want to track where institutions are positioning during the recovery.
Setup:
1. Switch to Manual Mode
2. Enable VWAP 1
3. Set Start Time to the earnings gap bar
4. Set End Time to current time (or leave far in future)
5. Enable "Extend Calculation to Current Bar"
6. Watch how price respects the VWAP as a dynamic support/resistance
Interpretation:
• Price above VWAP = buyers in control since the event
• Price testing VWAP from above = potential support
• Volume-weighted standard deviation bands show normal price range
• Price outside bands = potential exhaustion/mean reversion setup
🎯 SCENARIO 2: MULTI-WEEK INSTITUTIONAL ACCUMULATION ZONE (Auto Mode)
Use case: You trade swing setups and want to identify where institutions have been accumulating over the past 3 weeks.
Setup:
1. Switch to Auto Mode
2. Select "Weekly" period type
3. Set Period Span to 3
4. Enable standard deviation bands
Interpretation:
• 3-week composite VWAP shows the true average institutional entry
• Price bouncing off VWAP repeatedly = strong support (institutions defending their average)
• Price breaking below VWAP on high volume = potential distribution
• Deviation bands contracting = consolidation; expanding = volatility increase
🎯 SCENARIO 3: COMPARING MULTIPLE TIME HORIZONS (Manual Mode)
Use case: You want to see short-term vs medium-term vs long-term VWAP alignments.
Setup:
1. Switch to Manual Mode
2. VWAP 1: Last 5 trading days (blue)
3. VWAP 2: Last 10 trading days (orange)
4. VWAP 3: Last 20 trading days (purple)
5. Enable "Extend Calculation" for all
6. Set different background colors for visual separation
Interpretation:
• All VWAPs aligned upward = strong trend across all timeframes
• Price between VWAPs = finding equilibrium between different trader timeframes
• Short-term VWAP crossing long-term VWAP = momentum shift
• Price rejecting at higher-timeframe VWAP = that timeframe's traders defending their average
🎯 SCENARIO 4: HISTORICAL VWAP REFERENCE LEVELS (Manual Mode)
Use case: You want to see where the 1-month VWAP was at each month-end as static reference levels.
Setup:
1. Switch to Manual Mode
2. VWAP 1: Set to last month's start/end dates
3. VWAP 2: Set to 2 months ago start/end dates
4. VWAP 3: Set to 3 months ago start/end dates
5. Disable "Extend Calculation"
6. Enable "Extend Visual Line Only"
Interpretation:
• Each VWAP represents the volume-weighted average for that complete month
• These become static support/resistance levels
• Price returning to old monthly VWAPs = institutional memory/gap fill behavior
• Useful for identifying longer-term value areas
═══════════════════════════════════════════════════════════════════
🎨 CUSTOMIZATION OPTIONS
GENERAL SETTINGS
• Show/hide labels
• Line style: Solid, Dashed, or Dotted
• Standard deviation multiplier (impacts band width)
• Toggle standard deviation bands on/off
MANUAL MODE (Per VWAP)
• Custom start and end times
• Line color picker
• Background color picker (with transparency control)
• Extend calculation option
• Extend visual option
• Show/hide individual VWAPs
AUTO MODE
• Period type selection (Daily/Weekly/Monthly/Quarterly/Yearly)
• Period span (1-20 periods)
• Line color
• Background color (with transparency control)
═══════════════════════════════════════════════════════════════════
💡 TRADING APPLICATIONS
✓ Mean Reversion: Use deviation bands to identify stretched prices likely to return to VWAP
✓ Trend Confirmation: Price sustained above VWAP = bullish bias; below = bearish bias
✓ Support/Resistance: VWAP often acts as dynamic S/R, especially on higher volume periods
✓ Institutional Positioning: Multi-day/week VWAPs show where large players have established positions
✓ Entry Timing: Wait for pullbacks to VWAP in trending markets
✓ Stop Placement: Use VWAP ± standard deviation as volatility-adjusted stop levels
✓ Breakout Confirmation: Breakouts from consolidation with price reclaiming VWAP = stronger signal
✓ Multi-Timeframe Analysis: Compare short vs long-period VWAPs to gauge momentum alignment
═══════════════════════════════════════════════════════════════════
⚠️ IMPORTANT NOTES
• The indicator redraws on each bar to maintain accurate visual representation (uses `barstate.islast`)
• Maximum lookback is limited to 5000 bars for performance optimization
• Time range calculations work across all timeframes but are most effective on intraday to daily charts
• Standard deviation bands assume volume-weighted distribution; extreme events may violate assumptions
• Auto mode always calculates to current bar; use Manual mode for fixed historical periods
═══════════════════════════════════════════════════════════════════
This indicator is open-source. Feel free to examine the code, learn from it, and adapt it to your needs.
HTF Candles with PVSRA Volume Coloring (PCS Series)This indicator displays higher timeframe (HTF) candles using a PVSRA-inspired color model that blends price and volume strength, allowing traders to visualize higher-timeframe activity directly on lower-timeframe charts without switching screens.
OVERVIEW
This script visualizes higher-timeframe (HTF) candles directly on lower-timeframe charts using a custom PVSRA (Price, Volume & Support/Resistance Analysis) color model.
Unlike standard HTF indicators, it aggregates real-time OHLC and volume data bar-by-bar and dynamically draws synthetic HTF candles that update as the higher-timeframe bar evolves.
This allows traders to interpret momentum, trend continuation, and volume pressure from broader market structures without switching charts.
INTEGRATION LOGIC
This script merges higher-timeframe candle projection with PVSRA volume analysis to provide a single, multi-timeframe momentum view.
The HTF structure reveals directional context, while PVSRA coloring exposes the underlying strength of buying and selling pressure.
By combining both, traders can see when a higher-timeframe candle is building with strong or weak volume, enabling more informed intraday decisions than either tool could offer alone.
HOW IT WORKS
Aggregates price data : Groups lower-timeframe bars to calculate higher-timeframe Open, High, Low, Close, and total Volume.
Applies PVSRA logic : Compares each HTF candle’s volume to the average of the last 10 bars:
• >200% of average = strong activity
• >150% of average = moderate activity
• ≤150% = normal activity
Assigns colors :
• Green/Blue = bullish high-volume
• Red/Fuchsia = bearish high-volume
• White/Gray = neutral or low-volume moves
Draws dynamic outlines : Outlines update live while the current HTF candle is forming.
Supports symbol override : Calculations can use another instrument for correlation analysis.
This multi-timeframe aggregation avoids repainting issues in request.security() and ensures accurate real-time HTF representation.
FEATURES
Dual HTF Display : Visualize two higher timeframes simultaneously (e.g., 4H and 1D).
Dynamic PVSRA Coloring : Volume-weighted candle colors reveal bullish or bearish dominance.
Customizable Layout : Adjust candle width, spacing, offset, and color schemes.
Candle Outlines : Highlight the forming HTF candle to monitor developing structure.
Symbol Override : Display HTF candles from another instrument for cross-analysis.
SETTINGS
HTF 1 & HTF 2 : enable/disable, set timeframes, choose label colors, show/hide outlines.
Number of Candles : choose how many HTF candles to plot (1–10).
Offset Position : distance to the right of the current price where HTF candles begin.
Spacing & Width : adjust separation and scaling of candle groups.
Show Wicks/Borders : toggle wick and border visibility.
PVSRA Colors : enable or disable volume-based coloring.
Symbol Override : use a secondary ticker for HTF data if desired.
USAGE TIPS
Set the indicator’s visual order to “Bring to front.”
Always choose HTFs higher than your active chart timeframe.
Use PVSRA colors to identify strong momentum and potential reversals.
Adjust candle spacing and width for your chart layout.
Outlines are not shown on chart timeframes below 5 minutes.
TRADING STRATEGY
Strategy Overview : Combine HTF structure and PVSRA volume signals to
• Identify zones of high institutional activity and potential reversals.
• Wait for confirmation through consolidation or a pullback to key levels.
• Trade in alignment with dominant higher-timeframe structure rather than chasing volatility.
Setup :
• Chart timeframe: lower (5m, 15m, 1H)
• HTF 1: 4H or 1D
• HTF 2: 1D or 1W
• PVSRA Colors: enabled
• Outlines: enabled
Entry Concept :
High-volume candles (green or red) often indicate market-maker activity , such zones often reflect liquidity absorption by larger players and are not necessarily ideal entry points.
Wait for the next consolidation or pullback toward a support or resistance level before acting.
Bullish scenario :
• After a high-volume or rejection candle near a low, price consolidates and forms a higher low.
• Enter long only when structure confirms strength above support.
Bearish scenario :
• After a high-volume or rejection candle near a top, price consolidates and forms a lower high.
• Enter short once resistance holds and momentum weakens.
Exit Guidelines :
• Exit when next HTF candle shifts in color or momentum fades.
• Exit if price structure breaks opposite to your trade direction.
• Always use stop-loss and take-profit levels.
Additional Tips :
• Never enter directly on strong green/red high-volume candles, these are usually areas of institutional absorption.
• Wait for market structure confirmation and volume normalization.
• Combine with RSI, moving averages, or support/resistance for timing.
• Avoid trading when HTF candles are mixed or low-volume (unclear bias).
• Outlines hidden below 5m charts.
Risk Management :
• Use stop-loss and take-profit on all positions.
• Limit risk to 1–2% per trade.
• Adjust position size for volatility.
FINAL NOTES
This script helps traders synchronize lower-timeframe execution with higher-timeframe momentum and volume dynamics.
Test it on demo before live use, and adjust settings to fit your trading style.
DISCLAIMER
This script is for educational purposes only and does not constitute financial advice.
SUPPORT & UPDATES
Future improvements may include alert conditions and additional visualization modes. Feedback is welcome in the comments section.
CREDITS & LICENSE
Created by @seoco — open source for community learning.
Licensed under Mozilla Public License 2.0 .
Advanced Chandelier Exit with S/R [Alpha Extract]Advanced Chandelier Exit with S/R is a precision-crafted trailing stop and market structure detection system that fuses advanced Chandelier Exit logic with intelligent, multi-timeframe support and resistance tracking. This indicator delivers adaptive trend detection, volatility-aware exit positioning, and real-time structural mapping in a clean, responsive format. By combining directional filtering, pivot zone detection, and customizable styling, Advanced Chandelier Exit with S/R is designed to give traders reliable context, strong risk management, and visually intuitive confirmation signals across all timeframes and asset classes.
🔶 Adaptive Trailing Stop Architecture
At the core of Advanced Chandelier Exit with S/R is a refined Chandelier Exit mechanism that dynamically calculates trailing stops based on recent highs and lows, ATR volatility, and trend sensitivity. The system features directional memory, anchoring the stop to maintain position until a confirmed trend break occurs. This method prevents premature flips and keeps the trade aligned with sustained momentum.
longStop := close > longStop ? math.max(longStop, longStop ) : longStop
shortStop := close < shortStop ? math.min(shortStop, shortStop ) : shortStop
🔶 Volatility-Weighted Filtering
To reduce noise and improve reaction quality, Advanced Chandelier Exit with S/R includes an optional volatility normalization filter. This system adjusts ATR output based on how elevated it is relative to its own average, effectively down-weighting erratic price moves while maintaining responsiveness in directional phases.
volatilityFilter = enableVolatilityFilter ? ta.sma(baseATR, length) / baseATR : 1.0
atr = mult * baseATR * sensitivity * volatilityFilter
🔶 Trend Strength-Aware State Transitions
Trend flips in Advanced Chandelier Exit with S/R are not based solely on price crossing the stop level. Instead, the system includes a momentum-derived trend strength filter that validates the legitimacy of directional shifts. This guards against weak reversals and gives stronger confidence in breakout moves.
priceChange = math.abs(close - close )
avgPriceChange = ta.sma(priceChange, length)
trendStrength = math.min(priceChange / avgPriceChange * 100, 200)
🔶 Multi-Timeframe Support & Resistance Zones
Advanced Chandelier Exit with S/R embeds a sophisticated pivot-based structure mapping engine that automatically identifies significant price reaction levels and tracks their validity over time. It filters redundant zones, removes invalidated levels, and renders real-time support and resistance overlays based on market structure.
if isUniqueLevel(ph, resistanceLevels)
array.unshift(resistanceLevels, ph)
if isUniqueLevel(pl, supportLevels)
array.unshift(supportLevels, pl)
🔶 Dynamic Visual Encoding
The indicator uses strength-scaled fills, customizable colors, and line styling to convey directional bias with clarity. Color opacity intensifies as trend strength increases, offering intuitive context at a glance. Dynamic background fills mark trend states, while S/R zones are rendered with user-defined transparency for clean integration.
🔶 Signal Detection and Alerts
Directional signals are generated upon confirmed flips between long and short regimes, validated by stop crosses and strength filters. Additionally, the indicator provides S/R breakout alerts, identifying when price breaks through a key structural level.
🔶 Performance and Customization Optimizations
Advanced Chandelier Exit with S/R is built with modularity and efficiency in mind. It supports full customization of stop logic, volatility sensitivity, structural lookback, S/R zone filtering, and visual display. The use of array-based data structures for S/R levels ensures consistent performance even across high-activity assets and longer lookback periods.
Advanced Chandelier Exit with S/R represents the next evolution in trailing stop and structure-aware trading tools. By blending the proven logic of the Chandelier Exit system with intelligent trend strength filters and robust S/R detection, it becomes more than just a stop indicator—it becomes a complete trade management companion. Traders benefit from fewer false flips, clearer directional bias, and precise structural overlays that reinforce both breakout and reversal strategies. Whether used for swing entries, intraday positioning, or zone-based re-entries, Advanced Chandelier Exit with S/R empowers traders with responsive, intelligent logic that adapts to market conditions without compromise.
EMA 9/18 Weekly on all time frameweekly ema 9/18 on all your time frame
If you want to have your weekly time frame ema on all your time frame this indicator is made for you !
Multi-Timeframe MACD with Color Mix (Nikko)Multi-Timeframe MACD with Color Mix (Nikko) Indicator
This documentation explains the benefits of the "Multi-Timeframe MACD with Color Mix (Nikko)" indicator for traders and provides easy-to-follow steps on how to use it. Written as of 05:06 AM +07 on Saturday, October 04, 2025, this guide focuses on helping you, as a trader, get the most out of this tool with clear, practical advice before diving into the technical details.
Benefits for Traders
1. Multi-Timeframe Insight
This indicator lets you see momentum trends across 15-minute, 1-hour, 1-day, and 1-week timeframes all on one chart. This big-picture view helps you catch both quick market moves and long-term trends without flipping between charts, saving you time and giving you a fuller understanding of the market.
2. Visual Momentum Representation
The background changes from red to green based on short-term (15m) momentum, giving you a quick, easy-to-see signal—red means bearish (prices might drop), and green means bullish (prices might rise). The histogram uses a mix of red, green, and blue colors to show the combined strength of the 1-hour, 1-day, and 1-week timeframes, helping you spot strong trends at a glance (e.g., a bright mix for strong momentum, darker for weaker).
3. Enhanced Decision-Making
The background and histogram colors work together to confirm trends across different timeframes, making it less likely you’ll act on a false signal. This helps you feel more confident when deciding when to buy, sell, or hold.
4. Proactive Alert System
You can set alerts to notify you when the percentage of bullish timeframes hits your chosen levels (e.g., below 10% for bearish, above 90% for bullish). This keeps you in the loop on big momentum shifts without needing to watch the chart all day—perfect for when you’re busy.
5. Flexibility and Efficiency
You can turn timeframes on or off, adjust settings like speed of the moving averages, and tweak transparency to fit your trading style—whether you’re a fast scalper or a patient swing trader. Everything is shown on one chart, saving you effort, and the colors make it simple to read, even if you’re new to trading.
How to Use It
Getting Started
Add the Indicator: Load the "Multi-Timeframe MACD with Color Mix (Nikko)" onto your TradingView chart using the Pine Script editor or indicator library.
Pick Your Timeframes: Turn on the timeframes that match your trading—use 15m and 1h for quick trades, or 1d and 1w for longer holds—using the enable_15m, enable_1h, enable_1d, enable_1w, and enable_background options.
Reading the Colors
Background Gradient: Watch for red to signal bearish 15m momentum and green for bullish momentum. Adjust the Background_transparency (default 75%, or 25% opacity) if the chart feels too busy—try lowering it to 50 for clearer candlesticks in fast markets.
Histogram and EMA Colors:
The histogram and its Exponential Moving Average (EMA) line show a mix of red (1-week), green (1-day), and blue (1-hour) based on how strong the momentum is in each timeframe.
Brighter colors mean stronger momentum—white (all bright) shows all timeframes are pushing up hard, while darker shades (like gray or black) mean weaker or mixed momentum.
Turn off a timeframe (e.g., enable_1h = false) to see how it changes the color mix and focus on what matters to you.
Setting Alerts
Set Your Levels: Choose a threshold_low (default 10%) and threshold_high (default 90%) based on your comfort zone or past market patterns to catch big turns.
Get Notifications: Use TradingView alerts to get pings when the market hits your set levels, so you can act without staring at the screen.
Practical Tips
Pair with Other Tools: Use it with support/resistance lines or the RSI to double-check your moves and build a solid plan.
Tweak Settings: Adjust fast_length, slow_length, and signal_smoothing to match your asset’s speed, and bump up the lookback (default 50) for steadier trends in wild markets.
Practice First: Test different timeframe combos on a demo account to find what works best for you.
Understanding the Colors (Simple Explanation)
How Colors Work
The histogram and its EMA line use a color mix based on a simple idea from color theory, like mixing paints with red, green, and blue (RGB):
Red comes from the 1-week timeframe, green from 1-day, and blue from 1-hour.
When all three timeframes show strong upward momentum, they blend into bright white—the brightest color, like a super-bright light telling you the market’s roaring up.
If some timeframes are weak or pulling down, the mix gets darker (like gray or black), warning you the momentum might not be solid.
Brighter is Better
Bright Colors = Strong Opportunity: The brighter the histogram and EMA (closer to white), the more all your chosen timeframes are in agreement that prices are rising. This is your signal to think about buying or holding, as it points to a powerful trend you can ride.
Dark Colors = Caution: A darker mix (toward black) means some timeframes are lagging or bearish, suggesting you might wait or consider selling. It’s like a dim light saying, “Hold on, check again.”
Benefit in Practice: Watching the brightness helps you jump on the best trades fast. For example, a bright white histogram on a green background is like a green traffic light—go for it! A dark gray on red is like a red light—pause and rethink. This quick color check can save you from bad moves and boost your profits when the trend is strong.
Why It Helps
These colors are your fast friend in trading. A bright histogram means all your timeframes are cheering for an uptrend, giving you the confidence to act. A dull one tells you to be careful, helping you avoid traps. It’s like having a color-coded guide to pick the hottest market moments!
Technical Details
Input Parameters
Fast Length (default: 12): Short-term moving average speed.
Slow Length (default: 26): Long-term moving average speed.
Source (default: close): Price data used.
Signal Smoothing (default: 9): Smooths the signal line.
MA Type (default: EMA): Choose EMA or SMA.
Timeframe and Scaling
Timeframes: 15m, 1h, 1d, 1w, with on/off switches.
Lookback Period (default: 50): Sets the data window for trends.
Background Transparency (default: 75%): Controls background see-through level.
MACD Calculation
Per Timeframe: Uses request.security():
MACD Line: ta.ema(src, fast_length) - ta.ema(src, slow_length).
Signal Line: ta.ema(MACD, signal_length).
Histogram: (macd - signal) / 3.0.
Background Gradient
15m Normalization: norm_value = (hist_15m - hist_15m_min) / max(hist_15m_range, 1e-10), limited to 0-1.
RGB Mix: Red drops from 255 to 0, green rises from 0 to 255, blue stays 0.
Apply: color.new(color.rgb(r_val, g_val, b_val), Background_transparency).
Histogram and EMA Colors
Color Assignment:
1h: Blue (#0000FF) if hist_1h >= 0, else black.
1d: Green (#00FF00) if hist_1d >= 0, else black.
1w: Red (#FF0000) if hist_1w >= 0, else black.
Final Color: final_color = color.rgb(min(r, 255), min(g, 255), min(b, 255)).
Plotting: Histogram and EMA use final_color; MACD (#2962FF), signal (#FF6D00).
Alerts
Bullish Percentage: bullish_pct = (bullish_count / bullish_total) * 100, counting hist >= 0.
Triggers: Below threshold_low or above threshold_high.
--------------------------------------------------------------------
Conclusion
The "Multi-Timeframe MACD with Color Mix (Nikko)" is your all-in-one tool to spot trends, confirm moves, and trade smarter with its bright, easy-to-read colors. By using it wisely, you can sharpen your market edge and trade with more confidence.
This README is tailored for traders and reflects the indicator's practical value as of 05:06 AM +07 on October 04, 2025.
Trend Compass (Manual)## Trend Compass (Manual) - A Discretionary Trader's Dashboard
### Summary
Trend Compass is a simple yet powerful dashboard designed for discretionary traders who want a constant, visual reminder of their market analysis directly on their chart. Instead of relying on automated indicators, this tool gives you **full manual control** to define the market state across different timeframes or conditions.
It helps you stay aligned with your higher-level analysis (e.g., HTF bias, current market structure) and avoid making impulsive decisions that go against your plan.
### Key Features
- **Fully Manual Control:** You decide the trend. No lagging indicators, no confusing signals. Just your own analysis, displayed clearly.
- **Multiple Market States:** Define each row as an `Uptrend`, `Downtrend`, `Pullback`, or `Neutral` market.
- **Customizable Rows:** Display up to 8 rows. You can label each one however you like (e.g., "D1", "H4", "Market Structure", "Liquidity Bias").
- **Flexible Panel:** Change all colors, text sizes, and place the panel in any of the 9 positions on your chart.
- **Clean & Minimalist:** Designed to provide essential information at a glance without cluttering your chart.
### How to Use
1. **Add to Chart:** Add the indicator to your chart.
2. **Open Settings:** Go into the indicator settings.
3. **Configure Rows:**
- In the "Rows (Manual Control)" section, set the "Number of rows" you want to display.
- For each row, give it a custom **Label** (e.g., "m15").
- Select its current state from the dropdown menu (`Uptrend`, `Downtrend`, etc.).
- To remove a row, simply set its state to `Hidden`.
4. **Customize Style:**
- In the "Panel & Visual Style" section, adjust colors, text sizes, and the panel's position to match your chart's theme.
This tool is perfect for price action traders, ICT/SMC traders, or anyone who values a clean chart and a disciplined approach to their analysis.
EMA 200 MultiTF G/R + Cross Alerts by LifeHack Trader1. Indicator Setup
The script starts by defining the version of Pine Script (v5) and creating an indicator called "EMA 200 MultiTF G/R + Cross Alerts by LifeHack Trader."
The overlay=true parameter ensures that the indicator is plotted directly on the price chart.
2. Function to Get EMA200
A custom function getEma200 is defined to retrieve the 200-period Exponential Moving Average (EMA) for a specified timeframe (tf).
This function uses the request.security function to fetch the close price's EMA from different timeframes.
3. Calculate EMA200 for Multiple Timeframes
The script calculates the EMA200 for four timeframes: 15 minutes ("15"), 1 hour ("60"), 4 hours ("240"), and 1 day ("D").
These values are stored in variables (ema15, ema1h, ema4h, ema1d) and represent the EMA for each timeframe.
4. Determine Price Above or Below EMA200 (G/R)
For each timeframe, the script checks whether the closing price is above or below the EMA200.
It uses boolean checks to determine if the price is above the EMA200, assigning the status "G" (Green) for above and "R" (Red) for below.
5. Cross Signal Detection (Up/Down)
The script detects crossovers and crossunders between the price and EMA200 for each timeframe.
A crossover signal is detected when the price crosses above the EMA200 (bullish), and a crossunder signal is detected when the price crosses below the EMA200 (bearish).
These signals are stored in separate variables (crossUp, crossDown).
6. Display a Table with G/R Status and Cross Alerts
A table is created and displayed in the top-right corner of the chart. The table shows the status (G or R) for each timeframe and the cross signal (▲ for crossover, ▼ for crossunder, or - for no cross event).
The table is updated with the respective values for each timeframe every time a new bar is formed.
7. Alert Conditions
The script defines alert conditions based on the crossovers and crossunders.
When a price crosses above the EMA200 (cross-up), an alert is triggered for a potential buy opportunity. When the price crosses below the EMA200 (cross-down), an alert is triggered for a potential sell opportunity.
Alerts are configured for each timeframe (15 minutes, 1 hour, 4 hours, and 1 day).
This script provides a comprehensive system for monitoring price action relative to the EMA200 on multiple timeframes, highlighting crossovers, and delivering visual feedback and alerts based on the price's relationship with the EMA.
Multiple Asset note_table Sections### Features
- **Expanded to 10 independent Sections**: Each Section has a title, content, and associated asset
- **Asset-based filtering**: Section only displays when the Section's asset name is empty or matches the current chart asset
- **Empty asset setting retained**: If Section asset name is left blank, that Section will display across all assets
- **Automatic display of current asset**: Current asset name is automatically shown in the header and footer
### Usage Instructions
1. Each Section can be assigned a specific asset name, such as "BTCUSDT", "ETHUSDT", etc.
2. A Section will only display when the current chart asset matches the asset specified for that Section
3. If you want a Section to display across all assets, simply leave the asset name blank for that Section
4. Each Section has independent title and content that can be customized as needed
5. When switching to different trading instruments, the indicator automatically displays notes relevant to the current instrument
Indian market session on Gift Nifty chartsGift Nifty Market Session Highlighter
This indicator highlights the official Indian market session on Gift Nifty charts — from 9:15 AM to 3:30 PM IST. It shades the background during this time window so traders can instantly identify when the local market is open.
Features:
Marks 9:15 AM to 3:30 PM (IST) session on intraday charts.
Adjustable highlight color and transparency.
Works seamlessly across lower timeframes (1m, 5m, 15m, etc.).
Helps traders align Gift Nifty activity with NSE market hours.
Use Cases:
Quickly distinguish active market hours from overnight or global sessions.
Backtest trading strategies specific to Indian session volatility.
Improv
e focus on expiry-day setups and intraday opportunities.
Disclaimer:
This tool is provided for educational and informational purposes only. It is not financial advice, nor does it guarantee trading success. Always do your own research and consult a licensed financial professional before making investment decisions.
Multi HTF High/Low LevelsThis indicator plots the previous high and low from up to four user-defined higher timeframes (HTF), providing crucial levels of support and resistance. It's designed to be both powerful and clean, giving you a clear view of the market structure from multiple perspectives without cluttering your chart.
Key Features:
Four Customizable Timeframes: Configure up to four distinct higher timeframes (e.g., 1-hour, 4-hour, Daily, Weekly) to see the levels that matter most to your trading style.
Automatic Visibility: The indicator is smart. It automatically hides levels from any timeframe that is lower than your current chart's timeframe. For example, if you're viewing a Daily chart, the 4-hour levels won't be shown.
Clean On-Chart Lines: The high and low for each timeframe are displayed as clean, extended horizontal lines, but only for the duration of the current higher-timeframe period. This keeps your historical chart clean while still showing the most relevant current levels.
Persistent Price Scale Labels: For easy reference, the price of each high and low is always visible on the price scale and in the data window. This is achieved with an invisible plot, giving you the accessibility of a plot without the visual noise.
How to Use:
Go into the indicator settings.
Under each "Timeframe" group, check the "Show" box to enable that specific timeframe.
Select your desired timeframe from the dropdown menu.
The indicator will automatically calculate and display the previous high and low for each enabled timeframe.
Frozen 4H VWAP – Precision AnchoredFrozen 4H VWAP – Precision Anchored Like Ice
The Frozen 4H VWAP – Precision Anchored delivers a clean, stable, and reliable view of the 4-hour Volume Weighted Average Price, designed for traders who want higher timeframe insights without intrabar noise or repainting.
🔹 Key Features:
Non-Repainting: VWAP value is “frozen” at the close of each 4H candle — no mid-bar updates or flickering.
4H Timeframe Anchoring: Seamlessly pulls 4-hour VWAP values into any timeframe you’re trading on.
Clear Trend Reference: Updates only when a new 4H candle begins, acting as a trustworthy anchor for support/resistance.
Custom Source Option: Choose from different price sources (default: HLC3) to fit your strategy.
Whether you're scalping, day trading, or swing trading, this indicator gives you a powerful edge by grounding your decisions in higher timeframe VWAP data — clear, calm, and frozen in time.
High Timeframe Candle Overlay (Configurable)HTF Candle Overlay — Read Higher Timeframe on Lower Timeframe Charts
What it does
This indicator draws each selected Higher-Timeframe (HTF) candle directly on your lower-timeframe (LTF) chart. It shows a translucent range box (HTF high–low) and an inner body box (HTF open–close), so you can track how the bigger candle is forming while you analyze lower-timeframe structure, liquidity sweeps, and intrabar reactions.
Why it’s helpful
• See where the current HTF candle opened, where price sits inside its body, and how far wicks extend—without leaving your LTF chart.
• Combine HTF context (e.g., 1H/4H) with LTF execution (e.g., 1m–15m) to spot confluence, S/R flips, and failed breaks faster.
• The overlay is locked to the price scale and anchored by bar index, so it pans/zooms exactly with your chart (no drifting while dragging).
⸻
How it works (under the hood)
• Fetches HTF OHLC via request.security.
• When a new HTF bar starts, the previous HTF boxes are frozen at the true close.
• The current HTF bar updates intrabar (so you see live formation) and is clamped to the correct span.
• Horizontal anchoring uses bar index, and a hidden price plot binds the script to the main price scale for stable zoom/pan behavior.
⸻
Inputs
• High Timeframe (HTF): Default 1H (set any TF you like).
• Show High–Low Box: On/off.
• Show Body Box (Open–Close): On/off.
• Opacity for range/body boxes.
• Bull/Bear Colors and Outline + Width.
• Max HTF Candles to Keep: Auto-deletes older boxes to maintain performance.
⸻
Usage tips
• Popular combos: view 1H or 4H candles while trading 1–15m charts.
• Turn off the range box if you only want a clean HTF body overlay.
• Pair with your session/structure tools; this indicator is visual context only (no signals or alerts).
⸻
Notes & limitations
• Non-repainting for closed HTF bars: once an HTF candle closes, its boxes are fixed. The current/in-progress HTF bar updates until it closes (expected live behavior).
• Data alignment depends on your symbol’s feed and session settings. Heikin Ashi/renko/etc. may not match classic OHLC.
• Heavy history + many boxes can affect performance; reduce “Max HTF Candles to Keep” if needed.
⸻
Disclaimer
This script is for education and charting visualization only. It does not provide financial advice, trade signals, or performance guarantees. Always do your own research and manage risk.
MTF Oscillator Stack [BigBeluga]🔵 OVERVIEW
The MTF Oscillator Stack brings powerful multi-timeframe momentum analysis directly into your price chart. You can select one oscillator— RSI , MFI , or Stochastic RSI —and display it across up to 4 different timeframes. Each panel is neatly stacked horizontally above price , offering quick insight into cross-timeframe conditions like trend direction, exhaustion zones, and momentum shifts.
🔵 CONCEPTS
Single Oscillator Mode: Select one oscillator type (RSI, MFI, or Stoch RSI) to analyze across all selected timeframes.
Top-Chart Horizontal Panels: Oscillator plots are aligned horizontally at the top of the chart for seamless top-down reading.
Signal Comparison Arrows: Arrows (🢁 / 🢃) indicate oscillator position relative to its signal line.
Overbought/Oversold Zones: Transparent 30–70 fill zones highlight key reversal areas.
Dynamic Display Logic: Only enabled panels are shown; spacing adjusts based on active timeframes.
Timeframe Tagging: Each oscillator panel is labeled with its corresponding timeframe (e.g., 1H, 2H, 4H).
🔵 FEATURES
Choose one oscillator (RSI, MFI, or Stoch RSI) and apply it across up to 4 timeframes.
Each oscillator panel includes: price-synced plot, signal line, and zone shading.
Scale alignment allows users to place charts at the bottom or top.
Clear arrow signals show whether oscillator is bullish or bearish.
Individual length and signal settings per timeframe.
Toggle for alignment mode: evenly spaced or floating layout.
All panels use a consistent layout for faster decision-making.
🔵 HOW TO USE
Select your preferred oscillator and activate 2–4 key timeframes (e.g., 1H, 4H, D1, W1).
Use signal crossovers as a bullish (🢁) or bearish (🢃) trend cue.
Look for aligned extremes (e.g., all timeframes overbought) to spot momentum exhaustion.
Ideal for momentum confluence strategies and top-down confirmation.
Use horizontal layout to stay focused on price while assessing broader structure.
🔵 CONCLUSION
MTF Oscillator Stack simplifies complex multi-timeframe momentum analysis into one clean, actionable visual. Whether you're tracking RSI, MFI, or Stoch RSI, this tool helps you stay aligned with the broader trend—without ever leaving your main chart.
Multi-Timeframe Bollinger BandsMy hope is to optimize the settings for this indicator and reintroduce it as a "strategy" with suggested position entry and exit points shown in the price pane.
I’ve been having good results setting the “Bollinger Band MA Length” in the Input tab to between 5 and 10. You can use the standard 20 period, but your results will not be as granular.
This indicator has proven very good at finding local tops and bottoms by combining data from multiple timeframes. Use timeframes that are lower than the timeframe you are viewing in your price pane. Be cognizant that the indicator, like other oscillators, does occasionally produce divergences at tops and bottoms.
Any feedback is appreciated.
Overview
This indicator is an oscillator that measures the normalized position of the price relative to Bollinger Bands across multiple timeframes. It takes the price's position within the Bollinger Bands (calculated on different timeframes) and averages those positions to create a single value that oscillates between 0 and 1. This value is then plotted as the oscillator, with reference lines and colored regions to help interpret the price's relative strength or weakness.
How It Works
Bollinger Band Calculation:
The indicator uses a custom function f_getBBPosition() to calculate the position of the price within Bollinger Bands for a given timeframe.
Price Position Normalization:
For each timeframe, the function normalizes the price's position between the upper and lower Bollinger Bands.
It calculates three positions based on the high, low, and close prices of the requested timeframe:
pos_high = (High - Lower Band) / (Upper Band - Lower Band)
pos_low = (Low - Lower Band) / (Upper Band - Lower Band)
pos_close = (Close - Lower Band) / (Upper Band - Lower Band)
If the upper band is not greater than the lower band or if the data is invalid (e.g., na), it defaults to 0.5 (the midline).
The average of these three positions (avg_pos) represents the normalized position for that timeframe, ranging from 0 (at the lower band) to 1 (at the upper band).
Multi-Timeframe Averaging:
The indicator fetches Bollinger Band data from four customizable timeframes (default: 30min, 60min, 240min, daily) using request.security() with lookahead=barmerge.lookahead_on to get the latest available data.
It calculates the normalized position (pos1, pos2, pos3, pos4) for each timeframe using f_getBBPosition().
These four positions are then averaged to produce the final avg_position:avg_position = (pos1 + pos2 + pos3 + pos4) / 4
This average is the oscillator value, which is plotted and typically oscillates between 0 and 1.
Moving Averages:
Two optional moving averages (MA1 and MA2) of the avg_position can be enabled, calculated using simple moving averages (ta.sma) with customizable lengths (default: 5 and 10).
These can be potentially used for MA crossover strategies.
What Is Being Averaged?
The oscillator (avg_position) is the average of the normalized price positions within the Bollinger Bands across the four selected timeframes. Specifically:It averages the avg_pos values (pos1, pos2, pos3, pos4) calculated for each timeframe.
Each avg_pos is itself an average of the normalized positions of the high, low, and close prices relative to the Bollinger Bands for that timeframe.
This multi-timeframe averaging smooths out short-term fluctuations and provides a broader perspective on the price's position within the volatility bands.
Interpretation
0.0 The price is at or below the lower Bollinger Band across all timeframes (indicating potential oversold conditions).
0.15: A customizable level (green band) which can be used for exiting short positions or entering long positions.
0.5: The midline, where the price is at the average of the Bollinger Bands (neutral zone).
0.85: A customizable level (orange band) which can be used for exiting long positions or entering short positions.
1.0: The price is at or above the upper Bollinger Band across all timeframes (indicating potential overbought conditions).
The colored regions and moving averages (if enabled) help identify trends or crossovers for trading signals.
Example
If the 30min timeframe shows the close at the upper band (position = 1.0), the 60min at the midline (position = 0.5), the 240min at the lower band (position = 0.0), and the daily at the upper band (position = 1.0), the avg_position would be:(1.0 + 0.5 + 0.0 + 1.0) / 4 = 0.625
This value (0.625) would plot in the orange region (between 0.85 and 0.5), suggesting the price is relatively strong but not at an extreme.
Notes
The use of lookahead=barmerge.lookahead_on ensures the indicator uses the latest available data, making it more real-time, though its effectiveness depends on the chart timeframe and TradingView's data feed.
The indicator’s sensitivity can be adjusted by changing bb_length ("Bollinger Band MA Length" in the Input tab), bb_mult ("Bollinger Band Standard Deviation," also in the Input tab), or the selected timeframes.






















