Not-So-Average True Range (nsATR)Not-So-Average True Range (nsATR)
*By Sherlock_MacGyver*
---
Long Story Short
The nsATR is a complete overhaul of traditional ATR analysis. It was designed to solve the fundamental issues with standard ATR, such as lag, lack of contextual awareness, and equal treatment of all volatility events.
Key innovations include:
* A smarter ATR that reacts dynamically when price movement exceeds normal expectations.
* Envelope zones that distinguish between moderate and extreme volatility conditions.
* A long-term ATR baseline that adds historical context to current readings.
* A compression detection system that flags when the market is coiled and ready to break out.
This indicator is designed for traders who want to see volatility the way it actually behaves — contextually, asymmetrically, and with predictive power.
---
What Is This Thing?
Standard ATR (Average True Range) has limitations:
* It smooths too slowly (using Wilder's RMA), which delays detection of meaningful moves.
* It lacks context — no way to know if current volatility is high or low relative to history.
* It treats all volatility equally, regardless of scale or significance.
nsATR** was built from scratch to overcome these weaknesses by applying:
* Amplification of large True Range spikes.
* Visual envelope zones for detecting volatility regimes.
* A long-term context line to anchor current readings.
* Multi-factor compression analysis to anticipate breakouts.
---
Core Features
1. Breach Detection with Amplification
When True Range exceeds a user-defined threshold (e.g., ATR × 1.2), it is amplified using a power function to reflect nonlinear volatility. This amplified value is then smoothed and cascades into future ATR values, affecting the indicator beyond a single bar.
2. Direction Tagging
Volatility spikes are tagged as upward or downward based on basic price momentum (close vs previous close). This provides visual context for how volatility is behaving in real-time.
3. Envelope Zones
Two adaptive envelopes highlight the current volatility regime:
* Stage 1: Moderate volatility (default: ATR × 1.5)
* Stage 2: Extreme volatility (default: ATR × 2.0)
Breaching these zones signals meaningful expansion in volatility.
4. Long-Term Context Baseline
A 200-period simple moving average of the classic ATR establishes whether current readings are above or below long-term volatility expectations.
5. Multi-Signal Compression Detection
Flags potential breakout conditions when:
* ATR is below its long-term baseline
* Price Bollinger Bands are compressed
* RSI Bollinger Bands are also compressed
All three signals must align to plot a "Volatility Confluence Dot" — an early warning of potential expansion.
---
Chart Outputs
In the Indicator Pane:
* Breach Amplified ATR (Orange line)
* Classic ATR baseline (White line)
* Long-Term context baseline (Cyan line)
* Stage 1 and Stage 2 Envelopes (Purple and Yellow lines)
On the Price Chart:
* Triangles for breach direction (green/red)
* Diamonds for compression zones
* Optional background coloring for visual clarity
---
Alerts
Built-in alert conditions:
1. ATR breach detected
2. Stage 1 envelope breached
3. Stage 2 envelope breached
4. Compression zone detected
---
Customization
All components are modular. Traders can adjust:
* Display toggles for each visual layer
* Colors and line widths
* Breach threshold and amplification power
* Envelope sensitivity
* Compression sensitivity and lookback windows
Some options are disabled by default to reduce clutter but can be turned on for more aggressive signal detection.
---
Real-Time Behavior (Non-Repainting Clarification)
The indicator updates in real time on the current bar as new data comes in. This is expected behavior for live trading tools. Once a bar closes, values do not change. In other words, the indicator *does not repaint history* — but the current bar can update dynamically until it closes.
---
Use Cases
* Day traders: Use compression zones to anticipate volatility surges.
* Swing traders: Use envelope breaches for regime awareness.
* System developers: Replace standard ATR in your logic for better responsiveness.
* Risk managers: Use directional volatility signals to better model exposure.
---
About the Developer
Sherlock_MacGyver develops original trading systems that question default assumptions and solve real trader problems.
Cerca negli script per "如何用wind搜索股票的发行价和份数"
Value at Risk (VaR/CVaR) - Stop Loss ToolThis script calculates Value at Risk (VaR) and Conditional Value at Risk (CVaR) over a configurable T-bar forward horizon, based on historical T-bar log returns. It plots projected price thresholds that reflect the worst X% of historical return outcomes, helping set statistically grounded stop-loss levels.
A 95% 5-day VaR of −3% means: “In the worst 5% of all historical 5-day periods, losses were 3% or more.” If you're bullish, and your thesis is correct, price should not behave like one of those worst-case scenarios. So if the market starts trading below that 5-day VaR level, it may indicate that your long bias is invalidated, and a stop-loss near that level can help protect against further downside consistent with tail-risk behavior.
How it's different:
Unlike ATR or standard deviation-based methods, which measure recent volatility magnitude, VaR/CVaR incorporate both the magnitude and **likelihood** (5% chance for example) of adverse moves. This makes it better suited for risk-aware position sizing and exits grounded in actual historical return distributions.
How to use for stop placement:
- Set your holding horizon (T) and confidence level (e.g., 95%) in the inputs.
- The script plots a price level below which only the worst 5% (or chosen %) of T-bar returns have historically occurred (VaR).
- If price approaches or breaches the VaR line, your bullish/bearish thesis may be invalidated.
- CVaR gives a deeper threshold: the average loss **if** things go worse than VaR — useful for a secondary or emergency stop.
FURTHER NOTES FROM SOURCE CODE:
//======================================================================//
// If you're bullish (expecting the price to go up), then under normal circumstances, prices should not behave like they do on the worst-case days.
// If they are — you're probably wrong, or something unexpected is happening. Basically, returns shouldn't be exhibiting downside tail-like behavior if you're bullish.
// VaR(95%, T) gives the threshold below which the price falls only 5% of the time historically, over T days/bars and considering N historical samples.
// CVaR tells you the expected/average price level if that adverse move continues
// Caveats:
// For a variety of reasons, VaR underestimates volatility, despite using historical returns directly rather than making normality assumptions
// as is the case with the standard historicalvol/bollinger band/stdev/ATR approaches)
// Volatility begets volatility (volatility clustering), and VaR is not a conditional probability on recent volatility so it likely underestimates the true volatility of an adverse event
// Regieme shifts occur (bullish phase after prolonged bearish behavior), so upside/short VaR would underestimate the best-case days in the beginning of that move, depending on lookahead horizon/sampling period
// News/events happen, and maybe your sampling period doesn't contain enough event-driven returns to form reliable stats
// In general of course, this tool assumes past return distributions are reflective of forward risk (not the case in non-stationary time series)
// Thus, this tool is not predictive — it shows historical tail risk, not guaranteed outcomes.
// Also, when forming log-returns, overlapping windows of returns are used (to get more samples), but this introduces autocorrelation (if it wasn't there already). This means again, the true VaR is underestimated.
// Description:
// This script calculates and plots both Value at Risk (VaR) and
// Conditional Value at Risk (CVaR) for a given confidence level, using
// historical log returns. It computes both long-side (left tail) and
// short-side (right tail) risk, and converts them into price thresholds (red and green lines respectively).
//
// Key Concepts:
// - VaR: "There is a 95% chance the loss will be less than this value over T days. Represents the 95th-percentile worst empirical returns observed in the sampling period, over T bars.
// - CVaR: "Given that the loss exceeds the VaR, the average of those worst 5% losses is this value. (blue line)" Expected tail loss. If the worst case breached, how bad can it get on average
// - For shorts, the script computes the mirror (right-tail) equivalents.
// - Use T-day log returns if estimating risk over multiple days forward.
// - You can see instances where the VaR for time T, was surpassed historically with the "backtest" boolean
//
// Usage for Stop-Loss:
// - LONG POSITIONS:
// • 95th percentile means, 5% of the time (1 in 20 times) you'd expect to get a VaR level loss (touch the red line), over the next T bars.
// • VaR threshold = minimum price expected with (1 – confidence)% chance.
// • CVaR threshold = expected price if that worst-case zone is breached.
// → Use as potential stop-loss (VaR) or disaster stop (CVaR). If you're bullish (and you're right), price should not be exhibiting returns consistent with the worst 5% of days/T_bars historically.
//======================================================================//
SOXL Trend Surge v3.0.2 – Profit-Only RunnerSOXL Trend Surge v3.0.2 – Profit-Only Runner
This is a trend-following strategy built for leveraged ETFs like SOXL, designed to ride high-momentum waves with minimal interference. Unlike most short-term scalping scripts, this model allows trades to develop over multiple days to even several months, capitalizing on the full power of extended directional moves — all without using a stop-loss.
🔍 How It Works
Entry Logic:
Price is above the 200 EMA (long-term trend confirmation)
Supertrend is bullish (momentum confirmation)
ATR is rising (volatility expansion)
Volume is above its 20-bar average (liquidity filter)
Price is outside a small buffer zone from the 200 EMA (to avoid whipsaws)
Trades are restricted to market hours only (9 AM to 2 PM EST)
Cooldown of 15 bars after each exit to prevent overtrading
Exit Strategy:
Takes partial profit at +2× ATR if held for at least 2 bars
Rides the remaining position with a trailing stop at 1.5× ATR
No hard stop-loss — giving space for volatile pullbacks
⚙️ Strategy Settings
Initial Capital: $500
Risk per Trade: 100% of equity (fully allocated per entry)
Commission: 0.1%
Slippage: 1 tick
Recalculate after order is filled
Fill orders on bar close
Timeframe Optimized For: 45-minute chart
These parameters simulate an aggressive, high-volatility trading model meant for forward-testing compounding potential under realistic trading costs.
✅ What Makes This Unique
No stop-loss = fewer premature exits
Partial profit-taking helps lock in early wins
Trailing logic gives room to ride large multi-week moves
Uses strict filters (volume, ATR, EMA bias) to enter only during high-probability windows
Ideal for leveraged ETF swing or position traders looking to hold longer than the typical intraday or 2–3 day strategies
⚠️ Important Note
This is a high-risk, high-reward strategy meant for educational and testing purposes. Without a stop-loss, trades can experience deep drawdowns that may take weeks or even months to recover. Always test thoroughly and adjust position sizing to suit your risk tolerance. Past results do not guarantee future returns. Backtest range: May 8, 2020 – May 23, 2025
(FVC) Fractal Volatility Compression (DAFE) (FVC) Fractal Volatility Compression
See the Market’s Volatility DNA.
The Fractal Volatility Compression (FVC) is a next-generation tool for traders who want to see volatility compression and expansion across multiple timeframes and volatility engines—not just price, but the very structure of volatility itself.
What Makes FVC Unique?
Dual-Engine Volatility:
Plots both classic price-based (Stdev) and meta-volatility (VoVix) compression/expansion, so you can see when the market is “coiling” or “exploding” on multiple levels.
Fractal, Multi-Timeframe Analysis:
Measures volatility on short, medium, and long timeframes, then normalizes each as a Z-score. The result: a true “coiled spring” detector that works on any asset, any timeframe.
Threshold Lines You Control:
Yellow center line: Your neutral baseline.
Green compression line: When crossed, the market is “spring-loading.”
Red expansion line: When crossed, volatility is breaking out.
All lines are solid, clean, and end before the dashboard for a professional look.
Agreement Fill: When both engines agree (both above or both below the center line), a bright fill highlights the zone—red for expansion, green for compression.
Signature Dashboard & Info Line:
Dashboard (right-middle) shows all Z-scores and FVC values, color-coded for instant clarity.
Compact info label for mobile or minimalist users.
Inputs & Customization
Thresholds: Set the yellow, green, and red lines to match your asset, timeframe, and risk tolerance.
Timeframes & Lengths: Tune the short, medium, and long volatility windows for your style.
Toggle Lines: Show/hide Stdev or VoVix FVC lines independently.
Dashboard & Info Line: Toggle for your workflow and screen size.
How to Use
Compression (below green): Market is “coiling” across timeframes—watch for explosive moves.
Expansion (above red): Volatility is breaking out—expect regime shifts or trend acceleration.
Agreement Fill: When both lines agree, the signal is strongest.
Not a Buy/Sell Signal: These are regime and structure signals—combine with your own
strategy and risk management.
Why should you use FVC?
See what others can’t:
Most tools show only one dimension of volatility. FVC reveals the fractal DNA of market compression and expansion. Works on any asset, any timeframe. Professional, clean, and fully customizable.
Fractal Volatility Compression (FVC):
Because the next big move is born in the market’s hidden compression.
For educational purposes only. Not financial advice. Always use proper risk management
Use with discipline. Trade your edge.
— Dskyz, for DAFE Trading Systems
Key Recent Highs and LowsKey Recent Highs & Lows — Session‐Aware Market Structure
TL;DR
This tool plots the most important intraday price extremes for every U.S.‑equity trading segment—Early Premarket • Western Premarket • Regular Hours • Post‑Market Hours • Yesterday’s Range—and labels them so you can trade break‑outs, retests and mean‑reversion with instant context.
📐 Theory & Why These Levels Matter
Liquidity Pools
Visible session extremes attract resting orders (stop‑losses, take‑profits, opening prints). Price often accelerates into them and reacts at them.
Market Memory
The previous day’s high/low is a widely‑watched pivot for gap fills, overnight inventory corrections and multi‑day breakouts.
Mean‑Reversion Windows
Statistically, pre‑ and post‑market ranges are thin; an aggressive spike outside those bands often retraces when full liquidity returns.
Break‑Out Confirmation
A true breakout isn’t just a tick above RTH‑high—it usually closes or at least consolidates above the prior extreme. Seeing all bands lets you gauge whether a push is “real” or just probing thinner sessions.
Put simply, these levels help you decide:
Break‑out ➜ trade in the direction of expansion past a session extreme with follow‑through.
Fade/Mean‑Revert ➜ fade a spike that tags an extreme without commitment (e.g., hits Western‑Premkt‑High then stalls before RTH).
🔍 What the Script Draws
Session (UTC‑4 EST) Default Color / Style Typical Use‑Case
Early Premarket 4 – 7 AM Thick semi‑transparent orange line detect overnight retail spikes / fade plays
Western Premarket 7 – 9 : 30 AM Dashed orange‑red breakout watch as U.S. brokers open
Regular Session (RTH) 9 : 30 – 16 : 00 Bold teal dotted line core intraday structure; classic highs/lows
Post‑Market 16 – 23 : 59 Soft indigo band after‑hours news moves, earnings fades
Previous‑Day RTH Solid teal gap‑fill targets, trend continuation filters
(All colors, thicknesses and transparencies are editable in the settings.)
✨ Features
Real‑Time Updates
Levels refresh tick‑by‑tick inside their own session—no repainting later.
One‑Click Visibility Toggles
Show or hide any session extreme independently.
Clean Auto‑Labels
Optional right‑edge tags (“RTH High”, “Premkt Low”, etc.) keep your chart readable even when lines overlap.
Automatic Daily Reset
At midnight Eastern, buffers clear and yesterday’s extremes roll into the “Prev‑Day” pair.
Zero‑Noise Design
Transparencies and line styles are tuned so you can overlay on any symbol / timeframe without drowning candles.
📈 How to Trade with It
Intraday Breakout Strategy
Mark confluence (e.g., price pushes through Western Premkt High and Yesterday’s High).
Wait for a pullback that holds above the reclaimed band.
Enter with stop under that session line; target next band or measured‑move.
Fade / Mean‑Reversion
Pre‑market headline sends price 5 % above Early Premkt High.
Volume dries up before RTH open.
Short into exhaustion; cover near Western Premkt High or VWAP.
Gap‑Fill & Trend Days
Cash open gaps above Prev‑Day High.
If first 15‑min candle closes back inside yesterday’s range, bias shifts to downside fade.
If it holds above, treat gap as breakout and track RTH High extensions.
Pair it with volume‑profile, VWAP, or momentum oscillators for even higher‑confidence setups.
⚙️ Settings Cheat‑Sheet
Setting Effect
Show Regular / Premarket / Post‑market High/Low Master visibility per session
Show Previous Day High/Low Toggle yesterday’s anchor range
Show Session Labels Turn the right‑edge tags on/off
Style Panel Change each line’s color, width, transparency, dash/dot
🛠️ Best Practices
Works on any intraday timeframe (1‑min to 1‑hour).
Crypto or 24 h markets: adjust session times to match your exchange.
Combine with alerts (e.g., “price crossing RTH High”) for hands‑free monitoring.
Put KRHL on your chart and you’ll never wonder which high matters most again—because they’re all right there, clearly labeled and color‑coded. Trade breakouts or fades with confidence, armed with the exact market structure everyone else is watching.
CUSTOM PRO RANGE V2.0 with AlertsCore Functions
Tracks High/Low Ranges
Daily (DR) or Initial (IDR) ranges within custom time windows (e.g., 9:30 AM–4:00 PM).
Optional extended hours (e.g., overnight).
Visual Tools
Draws boxes/lines for range boundaries, midpoints, and opening prices.
Custom colors/styles for clarity.
Smart Alerts
Notifies when price breaks high/low/mid of the range.
Avoids spam with once-per-bar alerts.
Flexible Timeframes
Works for intraday, daily, or even quarterly ranges with minor tweaks.
🎯 Who It Helps
Day Traders: Spot breakouts/reversals.
Swing Traders: Identify key support/resistance.
Analysts: Study price behavior in specific sessions.
[blackcat] L3 Ichimoku FusionCOMPREHENSIVE ANALYSIS OF THE L3 ICHIMOKU FUSION INDICATOR
🌐 Overview:
The L3 Ichimoku Fusion is a sophisticated multi-layered technical analysis tool integrating classic Japanese market forecasting techniques with enhanced dynamic elements designed specifically for identifying potential turning points in financial instruments' pricing action.
Key Purpose:
To provide traders with an intuitive yet powerful framework combining established ichimoku principles while incorporating additional validation checkpoints derived from cross-timeframe convergence studies.
THEORETICAL FOUNDATION EXPLAINED
🎓 Conceptual Background:
:
• Conversion & Base Lines tracking intermediate term averages
• Lagging Span providing delayed feedback mechanism
• Lead Spans projecting future equilibrium states
:
• Adaptive parameter scaling options
• Automated labeling system for critical junctures
• Real-time alert infrastructure enabling immediate response capability
PARAMETER CONFIGURATION GUIDE
⚙️ Input Parameters Explained In Detail:
Regional Setting Selection:**
→ Oriental Configuration: Standardized approach emphasizing slower oscillation cycles
→ Occidental Variation: Optimized settings reducing lag characteristics typical of original methodology
Multiplier Adjustment Functionality:**
↔ Allows fine-graining oscillator responsiveness without altering core relationship dynamics
↕ Enables adaptation to various instrument volatility profiles efficiently
Displacement Value Control:**
↓ Controls lead/lag offset positioning relative to current prices
↑ Provides flexibility in adjusting visual representation alignment preferences
DYNAMIC CALCULATION PROCESSES
💻 Algorithmic Foundation:
:
Utilizes highest/lowest extremes over specified lookback windows
Produces more responsive conversions compared to simple MAs
:
→ Confirms directional bias across multiple independent criteria
← Ensures higher probability outcomes reduce random noise influence
:
♾ Creates persistent annotations documenting significant events
🔄 Handles complex state transitions maintaining historical record integrity
VISUALIZATION COMPONENTS OVERVIEW
🎨 Display Architecture Details:
:
→ Solid colored trendlines representing conversion/base relationships
↑ Fill effect overlay differentiating expansion/compression phases
↔ Offset spans positioned according to calculated displacement values
:
→ Green shading indicates positive configuration scenarios
↘ Red filling highlights negative arrangement situations
⟳ Orange transition areas mark transitional periods requiring caution
:
✔️ LE: Long Entry opportunity confirmed
❌ SE: Short Setup validated
☑ XL/XS: Position closure triggers active
✓ RL/RS: Potential re-entry chances emerging
STRATEGIC APPLICATION FRAMEWORK
📋 Practical Deployment Guidelines:
Initial Integration Phase:
Select appropriate timeframe matching trading horizon preference
Configure input parameters aligning with target asset behavior traits
Test thoroughly under simulated conditions prior to live usage
Active Monitoring Procedures:
• Regular observation of cloud formation evolution
• Tracking label placements against actual price movements
• Noting pattern development leading up to signaled entry/exit moments
Decision Making Process Flowchart:
→ Identify clear breakout/crossover events exceeding confirmation thresholds
← Evaluate contextual factors supporting/rejecting indicated direction
↑ Execute trades only after achieving required number of confirming inputs
PERFORMANCE OPTIMIZATION TECHNIQUES
🚀 Refinement Strategies:
Calibration Optimization Approach:
→ Start testing with default suggested configurations
↓ Gradually adjust individual components observing outcome changes
↑ Document findings systematically building personalized version profile
Context Adaptability Methods:
➕ Add supplementary indicators enhancing overall reliability
➖ Remove unnecessary complexity layers if causing confusion
✨ Incorporate custom rules adapting to specific security behaviors
Efficiency Improvement Tactics:
🔧 Streamline redundant processing routines where possible
♻️ Leverage shared data streams whenever feasible
⚡ Optimize refresh frequencies balancing update speed vs computational load
RISK MITIGATION PROTOCOLS
🛡️ Safety Measures Implementation Guide:
Position Sizing Principles:
∅ Never exceed preset maximum exposure limits defined by risk tolerance
± Scale positions proportionally per account size/market capitalization
× Include slippage allowances within planning stages accounting for liquidity variations
Validation Requirements Hierarchy:
☐ Verify signals meet minimum number of concurrent validations
⛔ Ignore isolated occurrences lacking adequate evidence backing
▶ Look for convergent evidence strengthening conviction level
Emergency Response Planning:
↩ Establish predefined exit strategies including trailing stops mechanisms
🌀 Plan worst-case scenario responses ahead avoiding panic reactions
⇄ Maintain contingency plans addressing unexpected adverse developments
USER EXPERIENCE ENHANCEMENT FEATURES
🌟 Additional Utility Functions:
Alert System Infrastructure:
→ Automatic notifications delivered directly to user devices
↑ Message content customized explaining triggered condition specifics
↔ Timing optimization ensuring minimal missed opportunities due to latency issues
Historical Review Capability:
→ Ability to analyze past performance retrospectively
↓ Assess effectiveness across varying market regimes objectively
↗ Generate statistics measuring success/failure rates quantitatively
Community Collaboration Support:
↪ Share personal optimizations benefiting wider trader community
↔ Exchange experiences improving collective understanding base
✍️ Provide constructive feedback aiding ongoing refinement process
CONCLUSION AND NEXT STEPS
This comprehensive guide serves as your roadmap toward mastering the capabilities offered by the L3 Ichimoku Fusion indicator effectively. Success relies heavily on disciplined application combined with continuous learning and adjustment processes throughout implementation journey.
Wishing you prosperous trading endeavors! 👋💰
London/NY Sessions + SMC Levels📜 Indicator Description: London/NY Sessions + SMC Levels
Overview: This indicator highlights the key trading sessions — London, New York, NY Lunch, and Asian Range — providing structured visual guides based on Smart Money Concepts (SMC) and ICT principles.
It dynamically plots:
Session Backgrounds and Boxes for London, NY, Lunch, and Asian sessions
Reference Levels for the High, Low, and Close from today, previous day, or weekly data
Midnight Open line for ICT-style power of three setups
Real-time alerts for session starts, session closes, and important price level crossings
Features:
🕰️ Session Visualization:
Toggle London, NY, Lunch, and Asian session ranges individually, with customizable colors and transparent backgrounds.
🔔 Built-in Alerts:
Alerts for:
Price crossing the previous day's high/low
Price crossing the Midnight Open
Start and end of major sessions (London, NY, Lunch, Asian)
🟩 Reference Levels:
Plot selectable session reference levels:
Today’s intraday High/Low/Close
Previous Day’s High/Low/Close
This Week’s or Previous Week’s levels for broader context.
🌙 Midnight Open:
Track the Midnight New York Open as a reference point for daily bias shifts.
🎯 Customizable Settings:
Choose your session time zones (UTC, New York, London, etc.)
Customize all border colors, background colors, and session hours.
Use Cases:
Identify killzones and optimal trade entry windows for Smart Money Concepts (SMC) and ICT strategies.
Monitor liquidity pool sweeps and session transitions.
Confirm or refine your intraday or swing trading setups by referencing session highs/lows.
Recommended For:
ICT traders
Smart Money Concepts (SMC) practitioners
Forex, indices, crypto, and futures traders focusing on session-based volatility patterns
Anyone wanting a clean, professional session mapping tool
📈
Designed to help you trade with session precision and Smart Money accuracy.
Integrates seamlessly into any ICT, Wyckoff, or Liquidity-based trading approach.
Global M2 Money Supply Top20 + Offset & WaveThe M2 Top20 is a global aggregation of the M2 money supply from the 20 largest economies in the world , providing a comprehensive view of the total liquidity in the global financial system. It is expressed in trillions of USD.
This script calculates and visualizes the M2 Money Supply of the Top 20 Global Economies, adjusted to various timeframes (4H, 1D, 1W, 1M) with customizable offset adjustments (in days) from -1000 days to +1000 days. This indicator includes data from the Americas, Europe, Africa, and the Asia Middle East , offering a diverse and balanced representation of major economic regions. The M2 of each country has been converted to USD.
Additionally, the user can set a minimum and maximum offset to create a wave around the main offset and expand the comparison.
Combining these options, this indicator enables users to visualize a range of the global money supply, making it useful for market analysis, economic forecasting, and understanding macroeconomic trends. This indicator is particularly valuable for traders and analysts interested in understanding the dynamics of global monetary systems and their potential impact on financial markets.
Key Features:
Global M2 Money Supply calculation from the Top 20 Economies.
Adjustable Offset: Adjust the offset to align the indicator with the best bar. Adjustment in days, usable on different timeframes (1D, 1W, 4H, 1M).
Wave Projection: Displays a "probability cloud"—a smoothed area that shows the probable path of Bitcoin, derived from shifts in global liquidity.
Min/Max Offset Adjustments: Customizable offsets allow you to determine the range of future windows, helping to shape the wave and better identify liquidity-driven turning points.
Use Cases:
Economic Forecasting: Identify trends in global money supply and their potential market impact (e.g., historically leads Bitcoin price by +/- 78 days to +/-108 days).
Market Analysis: Track the growth or contraction of money supply across key economies.
Macro-Economic Analysis: Understand the relationship between monetary policies and market performance.
How to use:
Add the indicator to your chart.
Set the timeframe to 1D to customize the offset.
Set the Offset (in days).
Set the Offset Range Minimum and Maximum.
Show/Hide the Range Wave
.
Use offset = 0 to have the indicator align directly with the current data, without any shift, providing a baseline for comparison with the most recent market conditions.
Countries included in the M2 Top20:
China (CN), Japan (JP), South Korea (KR), Hong Kong (HK), Taiwan (TW), India (IN), Saudi Arabia (SA), Thailand (TH), Vietnam (VN), United Arab Emirates (AE), Malawi (MW) – Africa, United States (US), Canada (CA), Brazil (BR), Mexico (MX), Eurozone (EU), United Kingdom (GB), Russia (RU), Poland (PL), Switzerland (CH).
These countries were selected from the ranking of the World Economy Indicator of Trading View .
SynchroTrend Oscillator (STO) [PhenLabs]📊 SynchroTrend Oscillator
Version: PineScript™ v5
📌 Description
The SynchroTrend Oscillator (STO) is a multi-timeframe synchronization tool that combines trend information from three distinct timeframes into a single, easy-to-interpret oscillator ranging from -100 to +100.
This indicator solves the common problem of having to analyze multiple timeframe charts separately by consolidating trend direction and strength across different time horizons. The STO helps traders identify when markets are truly synchronized across timeframes, potentially indicating stronger trend conditions and higher probability trading opportunities.
Using either Moving Average crossovers or RSI analysis as the trend definition metric, the STO provides a comprehensive view of market structure that adapts to various trading strategies and market conditions.
🚀 Points of Innovation
Triple-timeframe synchronization in a single view eliminates chart switching
Dual trend detection methods (MA vs Price or RSI) for flexibility across different markets
Dynamic color intensity that automatically increases with signal strength
Scaled oscillator format (-100 to +100) for intuitive trend strength interpretation
Customizable signal thresholds to match your risk tolerance and trading style
Visual alerts when markets reach full synchronization states
🔧 Core Components
Trend Scoring System: Calculates a binary score (+1, -1, or 0) for each timeframe based on selected metrics, providing clear trend direction
Multi-Timeframe Synchronization: Combines and scales trend scores from all three timeframes into a single oscillator
Dynamic Visualization: Adjusts color transparency based on signal strength, creating an intuitive visual guide
Threshold System: Provides customizable levels for identifying potentially significant trading opportunities
🔥 Key Features
Triple Timeframe Analysis: Synchronizes three user-defined timeframes (default: 60min, 15min, 5min) into one view
Dual Trend Detection Methods: Choose between Moving Average vs Price or RSI-based trend determination
Adjustable Signal Smoothing: Apply EMA, SMA, or no smoothing to the oscillator output for your preferred signal responsiveness
Dynamic Color Intensity: Colors become more vibrant as signal strength increases, helping identify strongest setups
Customizable Thresholds: Set your own buy/sell threshold levels to match your trading strategy
Comprehensive Alerts: Six different alert conditions for crossing thresholds, zero line, and full synchronization states
🎨 Visualization
Oscillator Line: The main line showing the synchronized trend value from -100 to +100
Dynamic Fill: Area between oscillator and zero line changes transparency based on signal strength
Threshold Lines: Optional dotted lines indicating buy/sell thresholds for visual reference
Color Coding: Green for bullish synchronization, red for bearish synchronization
📖 Usage Guidelines
Timeframe Settings
Timeframe 1: Default: 60 (1 hour) - Primary higher timeframe for trend definition
Timeframe 2: Default: 15 (15 minutes) - Intermediate timeframe for trend definition
Timeframe 3: Default: 5 (5 minutes) - Lower timeframe for trend definition
Trend Calculation Settings
Trend Definition Metric: Default: “MA vs Price” - Method used to determine trend on each timeframe
MA Type: Default: EMA - Moving Average type when using MA vs Price method
MA Length: Default: 21 - Moving Average period when using MA vs Price method
RSI Length: Default: 14 - RSI period when using RSI method
RSI Source: Default: close - Price data source for RSI calculation
Oscillator Settings
Smoothing Type: Default: SMA - Applies smoothing to the final oscillator
Smoothing Length: Default: 5 - Period for the smoothing function
Visual & Threshold Settings
Up/Down Colors: Customize colors for bullish and bearish signals
Transparency Range: Control how transparency changes with signal strength
Line Width: Adjust oscillator line thickness
Buy/Sell Thresholds: Set levels for potential entry/exit signals
✅ Best Use Cases
Trend confirmation across multiple timeframes
Finding high-probability entry points when all timeframes align
Early detection of potential trend reversals
Filtering trade signals from other indicators
Market structure analysis
Identifying potential divergences between timeframes
⚠️ Limitations
Like all indicators, can produce false signals during choppy or ranging markets
Works best in trending market conditions
Should not be used in isolation for trading decisions
Past performance is not indicative of future results
May require different settings for different markets or instruments
💡 What Makes This Unique
Combines three timeframes in a single visualization without requiring multiple chart windows
Dynamic transparency feature that automatically emphasizes stronger signals
Flexible trend definition methods suitable for different market conditions
Visual system that makes multi-timeframe analysis intuitive and accessible
🔬 How It Works
1. Trend Evaluation:
For each timeframe, the indicator calculates a trend score (+1, -1, or 0) using either:
MA vs Price: Comparing close price to a moving average
RSI: Determining if RSI is above or below 50
2. Score Aggregation:
The three trend scores are combined and then scaled to a range of -100 to +100
A value of +100 indicates all timeframes show bullish conditions
A value of -100 indicates all timeframes show bearish conditions
Values in between indicate varying degrees of alignment
3. Signal Processing:
The raw oscillator value can be smoothed using EMA, SMA, or left unsmoothed
The final value determines line color, fill color, and transparency settings
Threshold levels are applied to identify potential trading opportunities
💡 Note:
The SynchroTrend Oscillator is most effective when used as part of a comprehensive trading strategy that includes proper risk management techniques. For best results, consider using the oscillator in conjunction with support/resistance levels, price action analysis, and other complementary indicators that align with your trading style.
M2 Liqudity WaveGlobal Liquidity Wave Indicator (M2-Based)
The Global Liquidity Wave Indicator is designed to track and visualize the impact of global M2 liquidity on risk assets—especially those highly correlated to monetary expansion, like Bitcoin, MSTR, and other macro-sensitive equities.
Key features include:
Leading Signal: Historically leads Bitcoin price action by approximately 70 days, offering traders and analysts a forward-looking edge.
Wave-Based Projection: Visualizes a "probability cloud"—a smoothed band representing the most likely trajectory for Bitcoin based on changes in global liquidity.
Min/Max Offset Controls: Adjustable offsets let you define the range of lookahead windows to shape the wave and better capture liquidity-driven inflection points.
Explicit Offset Visualization: Option to manually specify an exact offset to fine-tune the overlay, ideal for testing hypotheses or aligning with macro narratives.
Macro Alignment: Particularly effective for assets with high sensitivity to global monetary policy and liquidity cycles.
This tool is not just a chart overlay—it's a lens into the liquidity engine behind the market, helping anticipate directional bias in advance of price moves.
How to use?
- Enable the indicator for BTCUSD.
- Set Offset Range Start and End to 70 and 115 days
- Set Specific Offset to 78 days (this can change so you'll need to play around)
FAQ
Why a global liquidity wave?
The global liquidity wave accounts for variability in how much global liquidity affects an underlying asset. Think of the Global Liquidity Wave as an area that tracks the most probable path of Bitcoin, MSTR, etc. based on the total global liquidity.
Why the offset?
Global liquidity takes time to make its way into assets such as #Bitcoin, Strategy, etc. and there can be many reasons for that. It's never a specific number of days of offset, which is why a global liquidity wave is helpful in tracking probable paths for highly correlated risk assets.
[blackcat] L2 Ehlers Autocorrelation Periodogram V2OVERVIEW
The Ehlers Autocorrelation Periodogram is a sophisticated technical analysis tool that identifies market cycles and their dominant frequencies using autocorrelation and spectral analysis techniques.
BACKGROUND
Developed by John F. Ehlers and detailed in his book "Cycle Analytics for Traders" (2013), this indicator combines autocorrelation functions with discrete Fourier transforms to extract cyclic information from price data.
FUNCTION
The indicator works through these key steps:
Calculates autocorrelation using minimum three-bar averaging
Applies discrete Fourier transform to extract cyclic information
Uses center-of-gravity algorithm to determine dominant cycle
ADVANTAGES
• Rapid response within half-cycle periods
• Accurate relative cyclic power estimation over time
• Correlation constraints between -1 and +1 eliminate amplitude compensation needs
• High resolution independent of windowing functions
HOW TO USE
Add the indicator to your chart
Adjust AvgLength input parameter:
• Default: 3 bars
• Higher values increase smoothing
• Lower values increase sensitivity
Interpret the results:
• Colored bars represent spectral power
• Red to yellow spectrum indicates cycle strength
• White line shows dominant cycle period
INTERPRETATION
• Strong colors indicate significant cyclic activity
• Sharp color transitions suggest potential cycle changes
• Dominant cycle line helps identify primary market rhythm
LIMITATIONS
• Requires sufficient historical data
• Performance may vary in non-cyclical markets
• Results depend on proper parameter settings
NOTES
• Uses highpass and super smoother filtering techniques
• Spectral estimates are normalized between 0 and 1
• Color intensity varies based on spectral power
THANKS
This implementation is based on Ehlers' original work and has been adapted for TradingView's Pine Script platform.
StonkGame Major Market Open/ClosePlots vertical lines for Tokyo, London, and New York session opens and closes — auto-adjusted to your chart's timezone.
Open lines = lighter, dashed style.
Close lines = solid, full-color style.
Helps identify key liquidity windows, session-driven volatility, and clean market structure — without chart clutter.
Fully customizable colors and line styles for a professional, minimal look.
Timed Reversion Markers (Custom Session Alerts)This script plots vertical histogram markers at specific intraday time points defined by the user. It is designed for traders who follow time-based reversion or breakout setups tied to predictable market behavior at key clock times, such as institutional opening moves, midday reversals, or end-of-day volatility.
Unlike traditional price-action indicators, this tool focuses purely on time-based triggers, a technique often used in time cycle analysis, market internals, and volume-timing strategies.
The indicator includes eight fully customizable time inputs, allowing users to mark any intraday minute with precision using a decimal hour format (for example, 9.55 for 9:55 AM). Each input is automatically converted into hour and minute format, and a visual histogram marker is plotted once per day at that exact time.
Example use cases:
Mark institutional session opens (e.g., 9:30, 10:00, 15:30)
Time-based mean reversion or volatility windows
Backtest recurring time-based reactions
Highlight algorithmic spike zones
The vertical plots serve as non-intrusive, high-contrast visual markers for scalping setups, session analysis, and decision-making checkpoints. All markers are displayed at the top of the chart without interfering with price candles.
Session Coloring Bar with ICT Macro [dani]The Session Coloring Bar is customizable Pine Script indicator designed to visually enhance your charts by applying unique colors to specific trading sessions or timeframes. This tool allows traders to easily identify and differentiate between macro sessions (e.g., 24-hour cycles) and custom-defined sessions (e.g., Session A, Session B), making it ideal for analyzing market activity during specific periods.
In the context of trading, the term "ICT Macro" , as discussed by Michael J. Huddleston (ICT), refers to specific timeframes or "windows" where market behavior often follows predictable patterns. Traders typically focus on the last 10 minutes of an hour and the first 10 minutes of the next hour (e.g., 0150-0210 , 0050-0110 , or 0950-1010 ) to identify key price movements, liquidity shifts, or market inefficiencies.
This script highlights these macro timeframes, enabling traders to visually analyze price action during these critical periods. Use this tool to support your strategy, but always combine it with your own analysis and risk management.
With this indicator, you can:
Highlight Macro Sessions : Automatically color bars based on predefined 24-hour macro sessions.
Customize Session Settings : Define up to three custom sessions (A & B) with individual start/end times, visibility toggles, and unique bar colors.
Timeframe Filtering : Hide session coloring above a specified timeframe to avoid clutter on higher timeframes.
Personal Notes : Add comments to each session for better organization and quick reference.
Dynamic Color Logic : Bars are colored based on their direction (up, down, or neutral) within the active session.
How to Use:
Enable/Disable Sessions :
Use the Show Coloring toggle to enable or disable session coloring for Macro, Session A, Session B, or Session C.
Set Session Times :
Define the start and end times for each session in the format HHMM-HHMM (e.g., 1600-0930 for an overnight session).
Choose Colors :
Assign unique colors for upward (Bar Up) and downward (Bar Down) bars within each session.
Adjust Timeframe Visibility :
Use the Hide above this TF input to specify the maximum timeframe where session coloring will be visible.
Add Notes :
Use the Comment field to add personal notes or labels for each session.
Example Use Cases:
Overnight Sessions :
Highlight overnight trading hours (e.g., 1600-0930) to analyze price action during low liquidity periods.
Asian/European/US Sessions : Define separate sessions for major trading regions to track regional market behavior.
Macro Analysis : Use the predefined 24-hour macro sessions to study hourly price movements across a full trading day.
Disclaimer:
The Session Coloring Bar is not a trading signal generator and does not predict market direction or provide buy/sell signals. Instead, it is a visualization tool designed to help you identify and analyze specific trading sessions or timeframes on your chart. By highlighting key sessions and their corresponding price movements, this indicator enables you to focus on periods of interest and make more informed trading decisions.
Thank you for choosing this indicator! I hope it becomes a valuable part of your trading toolkit. Remember, trading is a journey, and having the right tools can make all the difference. Whether you're a seasoned trader or just starting out, this indicator is designed to help you stay organized and focused on what matters most—price action. Happy trading, and may your charts be ever in your favor! 😊
ZRK 30m This TradingView indicator draws alternating 30-minute boxes aligned precisely to real clock times (e.g., 10:00, 10:30, 11:00), helping traders visually segment intraday price action. It highlights every other 30-minute block with customizable colors, line styles, and opacity, allowing users to clearly differentiate between trading intervals. The boxes automatically adjust based on the chart’s timeframe, maintaining accuracy on 1-minute to 60-minute charts. Optional time labels can also be displayed for additional context. This tool is useful for identifying patterns, measuring volatility, or applying breakout strategies based on defined, consistent time windows across global trading sessions.
Trendline Breaks with Multi Fibonacci Supertrend StrategyTMFS Strategy: Advanced Trendline Breakouts with Multi-Fibonacci Supertrend
Elevate your algorithmic trading with institutional-grade signal confluence
Strategy Genesis & Evolution
This advanced trading system represents the culmination of a personal research journey, evolving from my custom " Multi Fibonacci Supertrend with Signals " indicator into a comprehensive trading strategy. Built upon the exceptional trendline detection methodology pioneered by LuxAlgo in their " Trendlines with Breaks " indicator, I've engineered a systematic framework that integrates multiple technical factors into a cohesive trading system.
Core Fibonacci Principles
At the heart of this strategy lies the Fibonacci sequence application to volatility measurement:
// Fibonacci-based factors for multiple Supertrend calculations
factor1 = input.float(0.618, 'Factor 1 (Weak/Fibonacci)', minval = 0.01, step = 0.01)
factor2 = input.float(1.618, 'Factor 2 (Medium/Golden Ratio)', minval = 0.01, step = 0.01)
factor3 = input.float(2.618, 'Factor 3 (Strong/Extended Fib)', minval = 0.01, step = 0.01)
These precise Fibonacci ratios create a dynamic volatility envelope that adapts to changing market conditions while maintaining mathematical harmony with natural price movements.
Dynamic Trendline Detection
The strategy incorporates LuxAlgo's pioneering approach to trendline detection:
// Pivotal swing detection (inspired by LuxAlgo)
pivot_high = ta.pivothigh(swing_length, swing_length)
pivot_low = ta.pivotlow(swing_length, swing_length)
// Dynamic slope calculation using ATR
slope = atr_value / swing_length * atr_multiplier
// Update trendlines based on pivot detection
if bool(pivot_high)
upper_slope := slope
upper_trendline := pivot_high
else
upper_trendline := nz(upper_trendline) - nz(upper_slope)
This adaptive trendline approach automatically identifies key structural market boundaries, adjusting in real-time to evolving chart patterns.
Breakout State Management
The strategy implements sophisticated state tracking for breakout detection:
// Track breakouts with state variables
var int upper_breakout_state = 0
var int lower_breakout_state = 0
// Update breakout state when price crosses trendlines
upper_breakout_state := bool(pivot_high) ? 0 : close > upper_trendline ? 1 : upper_breakout_state
lower_breakout_state := bool(pivot_low) ? 0 : close < lower_trendline ? 1 : lower_breakout_state
// Detect new breakouts (state transitions)
bool new_upper_breakout = upper_breakout_state > upper_breakout_state
bool new_lower_breakout = lower_breakout_state > lower_breakout_state
This state-based approach enables precise identification of the exact moment when price breaks through a significant trendline.
Multi-Factor Signal Confluence
Entry signals require confirmation from multiple technical factors:
// Define entry conditions with multi-factor confluence
long_entry_condition = enable_long_positions and
upper_breakout_state > upper_breakout_state and // New trendline breakout
di_plus > di_minus and // Bullish DMI confirmation
close > smoothed_trend // Price above Supertrend envelope
// Execute trades only with full confirmation
if long_entry_condition
strategy.entry('L', strategy.long, comment = "LONG")
This strict requirement for confluence significantly reduces false signals and improves the quality of trade entries.
Advanced Risk Management
The strategy includes sophisticated risk controls with multiple methodologies:
// Calculate stop loss based on selected method
get_long_stop_loss_price(base_price) =>
switch stop_loss_method
'PERC' => base_price * (1 - long_stop_loss_percent)
'ATR' => base_price - long_stop_loss_atr_multiplier * entry_atr
'RR' => base_price - (get_long_take_profit_price() - base_price) / long_risk_reward_ratio
=> na
// Implement trailing functionality
strategy.exit(
id = 'Long Take Profit / Stop Loss',
from_entry = 'L',
qty_percent = take_profit_quantity_percent,
limit = trailing_take_profit_enabled ? na : long_take_profit_price,
stop = long_stop_loss_price,
trail_price = trailing_take_profit_enabled ? long_take_profit_price : na,
trail_offset = trailing_take_profit_enabled ? long_trailing_tp_step_ticks : na,
comment = "TP/SL Triggered"
)
This flexible approach adapts to varying market conditions while providing comprehensive downside protection.
Performance Characteristics
Rigorous backtesting demonstrates exceptional capital appreciation potential with impressive risk-adjusted metrics:
Remarkable total return profile (1,517%+)
Strong Sortino ratio (3.691) indicating superior downside risk control
Profit factor of 1.924 across all trades (2.153 for long positions)
Win rate exceeding 35% with balanced distribution across varied market conditions
Institutional Considerations
The strategy architecture addresses execution complexities faced by institutional participants with temporal filtering and date-range capabilities:
// Time Filter settings with flexible timezone support
import jason5480/time_filters/5 as time_filter
src_timezone = input.string(defval = 'Exchange', title = 'Source Timezone')
dst_timezone = input.string(defval = 'Exchange', title = 'Destination Timezone')
// Date range filtering for precise execution windows
use_from_date = input.bool(defval = true, title = 'Enable Start Date')
from_date = input.time(defval = timestamp('01 Jan 2022 00:00'), title = 'Start Date')
// Validate trading permission based on temporal constraints
date_filter_approved = time_filter.is_in_date_range(
use_from_date, from_date, use_to_date, to_date, src_timezone, dst_timezone
)
These capabilities enable precise execution timing and market session optimization critical for larger market participants.
Acknowledgments
Special thanks to LuxAlgo for the pioneering work on trendline detection and breakout identification that inspired elements of this strategy. Their innovative approach to technical analysis provided a valuable foundation upon which I could build my Fibonacci-based methodology.
This strategy is shared under the same Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) license as LuxAlgo's original work.
Past performance is not indicative of future results. Conduct thorough analysis before implementing any algorithmic strategy.
Hourly Volatility Explorer📊 Hourly Volatility Explorer: Master The Market's Pulse
Unlock the hidden rhythms of price action with this sophisticated volatility analysis tool. The Hourly Volatility Explorer reveals the most potent trading hours across multiple time zones, giving you a strategic edge in timing your trades.
🌟 Key Features:
⏰ Multi-Timezone Analysis
• GMT (UTC+0)
• EST (UTC-5) - New York
• BST (UTC+1) - London
• JST (UTC+9) - Tokyo
• AEST (UTC+10) - Sydney
Perfect for tracking major market sessions and their overlaps!
📈 Dynamic Visualization
• Color-gradient hourly bars for instant pattern recognition
• Real-time volatility comparison
• Interactive data table with comprehensive statistics
• Automatic highlighting of peak volatility periods
🎯 Strategic Applications:
Day Trading:
• Identify optimal trading windows
• Avoid low-liquidity periods
• Capitalize on session overlaps
• Fine-tune entry/exit timing
Risk Management:
• Set appropriate stop losses based on hourly volatility
• Adjust position sizes for different market hours
• Optimize risk-reward ratios
• Plan around high-impact hours
Global Market Analysis:
• Track volatility across all major sessions
• Spot institutional trading patterns
• Identify quiet vs. active periods
• Monitor 24/7 market dynamics
💡 Perfect For:
• Forex traders navigating global sessions
• Crypto traders in 24/7 markets
• Day traders optimizing execution times
• Algorithmic traders fine-tuning strategies
• Risk managers calibrating exposure
📊 Advanced Features:
• Rolling 3-month analysis for reliable patterns
• Precise pip movement calculations
• Sample size tracking for statistical validity
• Real-time current hour comparison
• Color-coded visual system for instant insights
⚡ Pro Trading Tips:
• Use during major session overlaps for maximum opportunity
• Compare patterns across different instruments
• Combine with volume analysis for deeper insights
• Track seasonal variations in hourly patterns
• Build trading schedules around peak hours
🎓 Educational Value:
• Understand market microstructure
• Learn global market dynamics
• Master timezone relationships
• Develop timing intuition
🛠️ Customization:
• Adjustable lookback period
• Flexible pip multiplier
• Multiple timezone options
• Visual preference settings
Whether you're scalping the 1-minute chart or managing longer-term positions, the Hourly Volatility Explorer provides the precise timing intelligence needed for today's global markets.
Transform your trading schedule from guesswork to science. Know exactly when markets move, why they move, and how to position yourself for maximum opportunity.
#TechnicalAnalysis #Trading #Volatility #MarketTiming #DayTrading #Forex #Crypto #TradingView #PineScript #MarketAnalysis #TradingStrategy #RiskManagement #GlobalMarkets #FinancialMarkets #TradingTools #MarketStructure #PriceAction #Scalping #SwingTrading #AlgoTrading
real_time_candlesIntroduction
The Real-Time Candles Library provides comprehensive tools for creating, manipulating, and visualizing custom timeframe candles in Pine Script. Unlike standard indicators that only update at bar close, this library enables real-time visualization of price action and indicators within the current bar, offering traders unprecedented insight into market dynamics as they unfold.
This library addresses a fundamental limitation in traditional technical analysis: the inability to see how indicators evolve between bar closes. By implementing sophisticated real-time data processing techniques, traders can now observe indicator movements, divergences, and trend changes as they develop, potentially identifying trading opportunities much earlier than with conventional approaches.
Key Features
The library supports two primary candle generation approaches:
Chart-Time Candles: Generate real-time OHLC data for any variable (like RSI, MACD, etc.) while maintaining synchronization with chart bars.
Custom Timeframe (CTF) Candles: Create candles with custom time intervals or tick counts completely independent of the chart's native timeframe.
Both approaches support traditional candlestick and Heikin-Ashi visualization styles, with options for moving average overlays to smooth the data.
Configuration Requirements
For optimal performance with this library:
Set max_bars_back = 5000 in your script settings
When using CTF drawing functions, set max_lines_count = 500, max_boxes_count = 500, and max_labels_count = 500
These settings ensure that you will be able to draw correctly and will avoid any runtime errors.
Usage Examples
Basic Chart-Time Candle Visualization
// Create real-time candles for RSI
float rsi = ta.rsi(close, 14)
Candle rsi_candle = candle_series(rsi, CandleType.candlestick)
// Plot the candles using Pine's built-in function
plotcandle(rsi_candle.Open, rsi_candle.High, rsi_candle.Low, rsi_candle.Close,
"RSI Candles", rsi_candle.candle_color, rsi_candle.candle_color)
Multiple Access Patterns
The library provides three ways to access candle data, accommodating different programming styles:
// 1. Array-based access for collection operations
Candle candles = candle_array(source)
// 2. Object-oriented access for single entity manipulation
Candle candle = candle_series(source)
float value = candle.source(Source.HLC3)
// 3. Tuple-based access for functional programming styles
= candle_tuple(source)
Custom Timeframe Examples
// Create 20-second candles with EMA overlay
plot_ctf_candles(
source = close,
candle_type = CandleType.candlestick,
sample_type = SampleType.Time,
number_of_seconds = 20,
timezone = -5,
tied_open = true,
ema_period = 9,
enable_ema = true
)
// Create tick-based candles (new candle every 15 ticks)
plot_ctf_tick_candles(
source = close,
candle_type = CandleType.heikin_ashi,
number_of_ticks = 15,
timezone = -5,
tied_open = true
)
Advanced Usage with Custom Visualization
// Get custom timeframe candles without automatic plotting
CandleCTF my_candles = ctf_candles_array(
source = close,
candle_type = CandleType.candlestick,
sample_type = SampleType.Time,
number_of_seconds = 30
)
// Apply custom logic to the candles
float ema_values = my_candles.ctf_ema(14)
// Draw candles and EMA using time-based coordinates
my_candles.draw_ctf_candles_time()
ema_values.draw_ctf_line_time(line_color = #FF6D00)
Library Components
Data Types
Candle: Structure representing chart-time candles with OHLC, polarity, and visualization properties
CandleCTF: Extended candle structure with additional time metadata for custom timeframes
TickData: Structure for individual price updates with time deltas
Enumerations
CandleType: Specifies visualization style (candlestick or Heikin-Ashi)
Source: Defines price components for calculations (Open, High, Low, Close, HL2, etc.)
SampleType: Sets sampling method (Time-based or Tick-based)
Core Functions
get_tick(): Captures current price as a tick data point
candle_array(): Creates an array of candles from price updates
candle_series(): Provides a single candle based on latest data
candle_tuple(): Returns OHLC values as a tuple
ctf_candles_array(): Creates custom timeframe candles without rendering
Visualization Functions
source(): Extracts specific price components from candles
candle_ctf_to_float(): Converts candle data to float arrays
ctf_ema(): Calculates exponential moving averages for candle arrays
draw_ctf_candles_time(): Renders candles using time coordinates
draw_ctf_candles_index(): Renders candles using bar index coordinates
draw_ctf_line_time(): Renders lines using time coordinates
draw_ctf_line_index(): Renders lines using bar index coordinates
Technical Implementation Notes
This library leverages Pine Script's varip variables for state management, creating a sophisticated real-time data processing system. The implementation includes:
Efficient tick capturing: Samples price at every execution, maintaining temporal tracking with time deltas
Smart state management: Uses a hybrid approach with mutable updates at index 0 and historical preservation at index 1+
Temporal synchronization: Manages two time domains (chart time and custom timeframe)
The tooltip implementation provides crucial temporal context for custom timeframe visualizations, allowing users to understand exactly when each candle formed regardless of chart timeframe.
Limitations
Custom timeframe candles cannot be backtested due to Pine Script's limitations with historical tick data
Real-time visualization is only available during live chart updates
Maximum history is constrained by Pine Script's array size limits
Applications
Indicator visualization: See how RSI, MACD, or other indicators evolve in real-time
Volume analysis: Create custom volume profiles independent of chart timeframe
Scalping strategies: Identify short-term patterns with precisely defined time windows
Volatility measurement: Track price movement characteristics within bars
Custom signal generation: Create entry/exit signals based on custom timeframe patterns
Conclusion
The Real-Time Candles Library bridges the gap between traditional technical analysis (based on discrete OHLC bars) and the continuous nature of market movement. By making indicators more responsive to real-time price action, it gives traders a significant edge in timing and decision-making, particularly in fast-moving markets where waiting for bar close could mean missing important opportunities.
Whether you're building custom indicators, researching price patterns, or developing trading strategies, this library provides the foundation for sophisticated real-time analysis in Pine Script.
Implementation Details & Advanced Guide
Core Implementation Concepts
The Real-Time Candles Library implements a sophisticated event-driven architecture within Pine Script's constraints. At its heart, the library creates what's essentially a reactive programming framework handling continuous data streams.
Tick Processing System
The foundation of the library is the get_tick() function, which captures price updates as they occur:
export get_tick(series float source = close, series float na_replace = na)=>
varip float price = na
varip int series_index = -1
varip int old_time = 0
varip int new_time = na
varip float time_delta = 0
// ...
This function:
Samples the current price
Calculates time elapsed since last update
Maintains a sequential index to track updates
The resulting TickData structure serves as the fundamental building block for all candle generation.
State Management Architecture
The library employs a sophisticated state management system using varip variables, which persist across executions within the same bar. This creates a hybrid programming paradigm that's different from standard Pine Script's bar-by-bar model.
For chart-time candles, the core state transition logic is:
// Real-time update of current candle
candle_data := Candle.new(Open, High, Low, Close, polarity, series_index, candle_color)
candles.set(0, candle_data)
// When a new bar starts, preserve the previous candle
if clear_state
candles.insert(1, candle_data)
price.clear()
// Reset state for new candle
Open := Close
price.push(Open)
series_index += 1
This pattern of updating index 0 in real-time while inserting completed candles at index 1 creates an elegant solution for maintaining both current state and historical data.
Custom Timeframe Implementation
The custom timeframe system manages its own time boundaries independent of chart bars:
bool clear_state = switch settings.sample_type
SampleType.Ticks => cumulative_series_idx >= settings.number_of_ticks
SampleType.Time => cumulative_time_delta >= settings.number_of_seconds
This dual-clock system synchronizes two time domains:
Pine's execution clock (bar-by-bar processing)
The custom timeframe clock (tick or time-based)
The library carefully handles temporal discontinuities, ensuring candle formation remains accurate despite irregular tick arrival or market gaps.
Advanced Usage Techniques
1. Creating Custom Indicators with Real-Time Candles
To develop indicators that process real-time data within the current bar:
// Get real-time candles for your data
Candle rsi_candles = candle_array(ta.rsi(close, 14))
// Calculate indicator values based on candle properties
float signal = ta.ema(rsi_candles.first().source(Source.Close), 9)
// Detect patterns that occur within the bar
bool divergence = close > close and rsi_candles.first().Close < rsi_candles.get(1).Close
2. Working with Custom Timeframes and Plotting
For maximum flexibility when visualizing custom timeframe data:
// Create custom timeframe candles
CandleCTF volume_candles = ctf_candles_array(
source = volume,
candle_type = CandleType.candlestick,
sample_type = SampleType.Time,
number_of_seconds = 60
)
// Convert specific candle properties to float arrays
float volume_closes = volume_candles.candle_ctf_to_float(Source.Close)
// Calculate derived values
float volume_ema = volume_candles.ctf_ema(14)
// Create custom visualization
volume_candles.draw_ctf_candles_time()
volume_ema.draw_ctf_line_time(line_color = color.orange)
3. Creating Hybrid Timeframe Analysis
One powerful application is comparing indicators across multiple timeframes:
// Standard chart timeframe RSI
float chart_rsi = ta.rsi(close, 14)
// Custom 5-second timeframe RSI
CandleCTF ctf_candles = ctf_candles_array(
source = close,
candle_type = CandleType.candlestick,
sample_type = SampleType.Time,
number_of_seconds = 5
)
float fast_rsi_array = ctf_candles.candle_ctf_to_float(Source.Close)
float fast_rsi = fast_rsi_array.first()
// Generate signals based on divergence between timeframes
bool entry_signal = chart_rsi < 30 and fast_rsi > fast_rsi_array.get(1)
Final Notes
This library represents an advanced implementation of real-time data processing within Pine Script's constraints. By creating a reactive programming framework for handling continuous data streams, it enables sophisticated analysis typically only available in dedicated trading platforms.
The design principles employed—including state management, temporal processing, and object-oriented architecture—can serve as patterns for other advanced Pine Script development beyond this specific application.
------------------------
Library "real_time_candles"
A comprehensive library for creating real-time candles with customizable timeframes and sampling methods.
Supports both chart-time and custom-time candles with options for candlestick and Heikin-Ashi visualization.
Allows for tick-based or time-based sampling with moving average overlay capabilities.
get_tick(source, na_replace)
Captures the current price as a tick data point
Parameters:
source (float) : Optional - Price source to sample (defaults to close)
na_replace (float) : Optional - Value to use when source is na
Returns: TickData structure containing price, time since last update, and sequential index
candle_array(source, candle_type, sync_start, bullish_color, bearish_color)
Creates an array of candles based on price updates
Parameters:
source (float) : Optional - Price source to sample (defaults to close)
candle_type (simple CandleType) : Optional - Type of candle chart to create (candlestick or Heikin-Ashi)
sync_start (simple bool) : Optional - Whether to synchronize with the start of a new bar
bullish_color (color) : Optional - Color for bullish candles
bearish_color (color) : Optional - Color for bearish candles
Returns: Array of Candle objects ordered with most recent at index 0
candle_series(source, candle_type, wait_for_sync, bullish_color, bearish_color)
Provides a single candle based on the latest price data
Parameters:
source (float) : Optional - Price source to sample (defaults to close)
candle_type (simple CandleType) : Optional - Type of candle chart to create (candlestick or Heikin-Ashi)
wait_for_sync (simple bool) : Optional - Whether to wait for a new bar before starting
bullish_color (color) : Optional - Color for bullish candles
bearish_color (color) : Optional - Color for bearish candles
Returns: A single Candle object representing the current state
candle_tuple(source, candle_type, wait_for_sync, bullish_color, bearish_color)
Provides candle data as a tuple of OHLC values
Parameters:
source (float) : Optional - Price source to sample (defaults to close)
candle_type (simple CandleType) : Optional - Type of candle chart to create (candlestick or Heikin-Ashi)
wait_for_sync (simple bool) : Optional - Whether to wait for a new bar before starting
bullish_color (color) : Optional - Color for bullish candles
bearish_color (color) : Optional - Color for bearish candles
Returns: Tuple representing current candle values
method source(self, source, na_replace)
Extracts a specific price component from a Candle
Namespace types: Candle
Parameters:
self (Candle)
source (series Source) : Type of price data to extract (Open, High, Low, Close, or composite values)
na_replace (float) : Optional - Value to use when source value is na
Returns: The requested price value from the candle
method source(self, source)
Extracts a specific price component from a CandleCTF
Namespace types: CandleCTF
Parameters:
self (CandleCTF)
source (simple Source) : Type of price data to extract (Open, High, Low, Close, or composite values)
Returns: The requested price value from the candle as a varip
method candle_ctf_to_float(self, source)
Converts a specific price component from each CandleCTF to a float array
Namespace types: array
Parameters:
self (array)
source (simple Source) : Optional - Type of price data to extract (defaults to Close)
Returns: Array of float values extracted from the candles, ordered with most recent at index 0
method ctf_ema(self, ema_period)
Calculates an Exponential Moving Average for a CandleCTF array
Namespace types: array
Parameters:
self (array)
ema_period (simple float) : Period for the EMA calculation
Returns: Array of float values representing the EMA of the candle data, ordered with most recent at index 0
method draw_ctf_candles_time(self, sample_type, number_of_ticks, number_of_seconds, timezone)
Renders custom timeframe candles using bar time coordinates
Namespace types: array
Parameters:
self (array)
sample_type (simple SampleType) : Optional - Method for sampling data (Time or Ticks), used for tooltips
number_of_ticks (simple int) : Optional - Number of ticks per candle (used when sample_type is Ticks), used for tooltips
number_of_seconds (simple float) : Optional - Time duration per candle in seconds (used when sample_type is Time), used for tooltips
timezone (simple int) : Optional - Timezone offset from UTC (-12 to +12), used for tooltips
Returns: void - Renders candles on the chart using time-based x-coordinates
method draw_ctf_candles_index(self, sample_type, number_of_ticks, number_of_seconds, timezone)
Renders custom timeframe candles using bar index coordinates
Namespace types: array
Parameters:
self (array)
sample_type (simple SampleType) : Optional - Method for sampling data (Time or Ticks), used for tooltips
number_of_ticks (simple int) : Optional - Number of ticks per candle (used when sample_type is Ticks), used for tooltips
number_of_seconds (simple float) : Optional - Time duration per candle in seconds (used when sample_type is Time), used for tooltips
timezone (simple int) : Optional - Timezone offset from UTC (-12 to +12), used for tooltips
Returns: void - Renders candles on the chart using index-based x-coordinates
method draw_ctf_line_time(self, source, line_size, line_color)
Renders a line representing a price component from the candles using time coordinates
Namespace types: array
Parameters:
self (array)
source (simple Source) : Optional - Type of price data to extract (defaults to Close)
line_size (simple int) : Optional - Width of the line
line_color (simple color) : Optional - Color of the line
Returns: void - Renders a connected line on the chart using time-based x-coordinates
method draw_ctf_line_time(self, line_size, line_color)
Renders a line from a varip float array using time coordinates
Namespace types: array
Parameters:
self (array)
line_size (simple int) : Optional - Width of the line, defaults to 2
line_color (simple color) : Optional - Color of the line
Returns: void - Renders a connected line on the chart using time-based x-coordinates
method draw_ctf_line_index(self, source, line_size, line_color)
Renders a line representing a price component from the candles using index coordinates
Namespace types: array
Parameters:
self (array)
source (simple Source) : Optional - Type of price data to extract (defaults to Close)
line_size (simple int) : Optional - Width of the line
line_color (simple color) : Optional - Color of the line
Returns: void - Renders a connected line on the chart using index-based x-coordinates
method draw_ctf_line_index(self, line_size, line_color)
Renders a line from a varip float array using index coordinates
Namespace types: array
Parameters:
self (array)
line_size (simple int) : Optional - Width of the line, defaults to 2
line_color (simple color) : Optional - Color of the line
Returns: void - Renders a connected line on the chart using index-based x-coordinates
plot_ctf_tick_candles(source, candle_type, number_of_ticks, timezone, tied_open, ema_period, bullish_color, bearish_color, line_width, ema_color, use_time_indexing)
Plots tick-based candles with moving average
Parameters:
source (float) : Input price source to sample
candle_type (simple CandleType) : Type of candle chart to display
number_of_ticks (simple int) : Number of ticks per candle
timezone (simple int) : Timezone offset from UTC (-12 to +12)
tied_open (simple bool) : Whether to tie open price to close of previous candle
ema_period (simple float) : Period for the exponential moving average
bullish_color (color) : Optional - Color for bullish candles
bearish_color (color) : Optional - Color for bearish candles
line_width (simple int) : Optional - Width of the moving average line, defaults to 2
ema_color (color) : Optional - Color of the moving average line
use_time_indexing (simple bool) : Optional - When true the function will plot with xloc.time, when false it will plot using xloc.bar_index
Returns: void - Creates visual candle chart with EMA overlay
plot_ctf_tick_candles(source, candle_type, number_of_ticks, timezone, tied_open, bullish_color, bearish_color, use_time_indexing)
Plots tick-based candles without moving average
Parameters:
source (float) : Input price source to sample
candle_type (simple CandleType) : Type of candle chart to display
number_of_ticks (simple int) : Number of ticks per candle
timezone (simple int) : Timezone offset from UTC (-12 to +12)
tied_open (simple bool) : Whether to tie open price to close of previous candle
bullish_color (color) : Optional - Color for bullish candles
bearish_color (color) : Optional - Color for bearish candles
use_time_indexing (simple bool) : Optional - When true the function will plot with xloc.time, when false it will plot using xloc.bar_index
Returns: void - Creates visual candle chart without moving average
plot_ctf_time_candles(source, candle_type, number_of_seconds, timezone, tied_open, ema_period, bullish_color, bearish_color, line_width, ema_color, use_time_indexing)
Plots time-based candles with moving average
Parameters:
source (float) : Input price source to sample
candle_type (simple CandleType) : Type of candle chart to display
number_of_seconds (simple float) : Time duration per candle in seconds
timezone (simple int) : Timezone offset from UTC (-12 to +12)
tied_open (simple bool) : Whether to tie open price to close of previous candle
ema_period (simple float) : Period for the exponential moving average
bullish_color (color) : Optional - Color for bullish candles
bearish_color (color) : Optional - Color for bearish candles
line_width (simple int) : Optional - Width of the moving average line, defaults to 2
ema_color (color) : Optional - Color of the moving average line
use_time_indexing (simple bool) : Optional - When true the function will plot with xloc.time, when false it will plot using xloc.bar_index
Returns: void - Creates visual candle chart with EMA overlay
plot_ctf_time_candles(source, candle_type, number_of_seconds, timezone, tied_open, bullish_color, bearish_color, use_time_indexing)
Plots time-based candles without moving average
Parameters:
source (float) : Input price source to sample
candle_type (simple CandleType) : Type of candle chart to display
number_of_seconds (simple float) : Time duration per candle in seconds
timezone (simple int) : Timezone offset from UTC (-12 to +12)
tied_open (simple bool) : Whether to tie open price to close of previous candle
bullish_color (color) : Optional - Color for bullish candles
bearish_color (color) : Optional - Color for bearish candles
use_time_indexing (simple bool) : Optional - When true the function will plot with xloc.time, when false it will plot using xloc.bar_index
Returns: void - Creates visual candle chart without moving average
plot_ctf_candles(source, candle_type, sample_type, number_of_ticks, number_of_seconds, timezone, tied_open, ema_period, bullish_color, bearish_color, enable_ema, line_width, ema_color, use_time_indexing)
Unified function for plotting candles with comprehensive options
Parameters:
source (float) : Input price source to sample
candle_type (simple CandleType) : Optional - Type of candle chart to display
sample_type (simple SampleType) : Optional - Method for sampling data (Time or Ticks)
number_of_ticks (simple int) : Optional - Number of ticks per candle (used when sample_type is Ticks)
number_of_seconds (simple float) : Optional - Time duration per candle in seconds (used when sample_type is Time)
timezone (simple int) : Optional - Timezone offset from UTC (-12 to +12)
tied_open (simple bool) : Optional - Whether to tie open price to close of previous candle
ema_period (simple float) : Optional - Period for the exponential moving average
bullish_color (color) : Optional - Color for bullish candles
bearish_color (color) : Optional - Color for bearish candles
enable_ema (bool) : Optional - Whether to display the EMA overlay
line_width (simple int) : Optional - Width of the moving average line, defaults to 2
ema_color (color) : Optional - Color of the moving average line
use_time_indexing (simple bool) : Optional - When true the function will plot with xloc.time, when false it will plot using xloc.bar_index
Returns: void - Creates visual candle chart with optional EMA overlay
ctf_candles_array(source, candle_type, sample_type, number_of_ticks, number_of_seconds, tied_open, bullish_color, bearish_color)
Creates an array of custom timeframe candles without rendering them
Parameters:
source (float) : Input price source to sample
candle_type (simple CandleType) : Type of candle chart to create (candlestick or Heikin-Ashi)
sample_type (simple SampleType) : Method for sampling data (Time or Ticks)
number_of_ticks (simple int) : Optional - Number of ticks per candle (used when sample_type is Ticks)
number_of_seconds (simple float) : Optional - Time duration per candle in seconds (used when sample_type is Time)
tied_open (simple bool) : Optional - Whether to tie open price to close of previous candle
bullish_color (color) : Optional - Color for bullish candles
bearish_color (color) : Optional - Color for bearish candles
Returns: Array of CandleCTF objects ordered with most recent at index 0
Candle
Structure representing a complete candle with price data and display properties
Fields:
Open (series float) : Opening price of the candle
High (series float) : Highest price of the candle
Low (series float) : Lowest price of the candle
Close (series float) : Closing price of the candle
polarity (series bool) : Boolean indicating if candle is bullish (true) or bearish (false)
series_index (series int) : Sequential index identifying the candle in the series
candle_color (series color) : Color to use when rendering the candle
ready (series bool) : Boolean indicating if candle data is valid and ready for use
TickData
Structure for storing individual price updates
Fields:
price (series float) : The price value at this tick
time_delta (series float) : Time elapsed since the previous tick in milliseconds
series_index (series int) : Sequential index identifying this tick
CandleCTF
Structure representing a custom timeframe candle with additional time metadata
Fields:
Open (series float) : Opening price of the candle
High (series float) : Highest price of the candle
Low (series float) : Lowest price of the candle
Close (series float) : Closing price of the candle
polarity (series bool) : Boolean indicating if candle is bullish (true) or bearish (false)
series_index (series int) : Sequential index identifying the candle in the series
open_time (series int) : Timestamp marking when the candle was opened (in Unix time)
time_delta (series float) : Duration of the candle in milliseconds
candle_color (series color) : Color to use when rendering the candle
UT Bot Alerts – Time Filtered with ExitsThis indicator combines several technical approaches to generate precise entry and exit signals, while incorporating time filters that ensure signals are sent only during desired time windows and with defined cooldown periods. It is based on the original idea by QuantNomad.
Main Components:
ATR-based Trailing Stop:
Using the Average True Range (ATR) and an adjustable multiplier ("Key Value"), a dynamic trailing stop is calculated that adapts to the current price. This trailing stop forms the basis for the signal generation.
EMA-based Entry Signals:
A very short exponential moving average (EMA, period 1) is used in combination with the trailing stop to identify clear buy (long) and sell (short) signals via crossovers. An additional buffer zone helps reduce false signals.
Persistent Trade State:
The current state (long, short, or neutral) is maintained so that the system remains in the trend until a new signal is generated.
Linear Regression as Reference:
A linear regression line computed over a defined period serves as a reference for determining exit levels.
Exit Signals with Delay:
Exit signals are generated when the price deviates from the linear regression line by a defined percentage (Exit Signal Deviation) and the condition persists for at least a specified number of bars (Exit Signal Delay). Only one exit signal is issued per trade to avoid excessive exits.
Time Filters and Cooldown:
Session Filter: A user-defined session (e.g., "2200-0500") can disable signals during specified periods.
Cooldown Period: After a signal is triggered, a cooldown phase (in minutes) can be set during which no new signals are sent.
Visual Display and Alerts:
Entry Signals: Buy and sell signals are displayed as labels (green for long, red for short).
Exit Signals: Exit signals appear as triangles, with the exit long signal text displayed in white.
Reference Lines:
The upper exit level (Exit Short Level) is drawn as a solid line in turquoise (color.aqua).
The lower exit level (Exit Long Level) is drawn as a solid line in yellow.
Additionally, the ATR trailing stop and the linear regression line are clearly plotted on the chart.
Alerts can be configured for all signal types.
In Summary:
The indicator delivers precise entry signals based on an ATR trailing stop and a short EMA, supplemented by dynamic exit levels determined via linear regression. With integrated time filters (session and cooldown) and a flexible exit mechanism, this indicator offers controlled trade management—ideal for traders who wish to receive signals only during desired time periods.
Original Author: QuantNomad
ICT SB Time (Lee B)A minimal and clean indicator that simply plots the ICT Silver Bullet time windows for you on the chart with vertical lines.
It also has the option to show other important times, like 00:00, 8:30, and 9:30. Toggles in settings let you change line color, turn any of them off temporarily, and can limit their visibility to only the lower timeframes for less clutter.
I hope you find this indicator useful... and happy trading!
Lee B
Highs&Lows by HourHighs & Lows by Hour
Description:
Highs & Lows by Hour is a TradingView indicator that helps traders identify the most frequent hours at which daily high and low price points occur. By analyzing historical price data directly from the TradingView chart, this tool provides valuable insights into market timing, allowing traders to optimize their strategies around key price movements.
This indicator is specifically designed for the one-hour (H1) timeframe . It does not display any data on other timeframes , as it relies on analyzing daily highs and lows within hourly periods.
This indicator processes the available data based on the number of historical bars loaded in the TradingView chart. The number of analyzed bars depends on the TradingView subscription plan , which determines how much historical data is accessible.
Key Features:
Works exclusively on the H1 timeframe , ensuring accurate analysis of daily highs and lows
Hourly highs and lows analysis to identify the most frequent hours when the market reaches its daily high and low
Sorted by frequency, displaying the most significant trading hours in descending order based on their recurrence
Customizable table and colors to fit the chart theme and trading style
Useful for scalpers, day traders, and swing traders to anticipate potential price reversals and breakouts
How It Works:
The indicator scans historical price data directly from the TradingView chart to detect the hour at which daily highs and daily lows occur.
It counts the frequency of highs and lows for each hour of the trading day based on the number of available bars in the TradingView chart.
The recorded data is displayed in a structured table, sorted by frequency from highest to lowest.
Users can customize colors to enhance readability and seamlessly integrate the indicator into their analysis.
Why Use This Indicator?
Identify key market patterns by recognizing the most critical hours when price extremes tend to form
Improve timing for trades by aligning entries and exits with high-probability time windows
Enhance market awareness by understanding when market volatility is likely to peak based on historical trends
Important Notes:
This indicator works only on the one-hour (H1) timeframe . It will not display any data on other timeframes
Works well on Forex, stocks, crypto, and futures , especially for intraday traders
The indicator analyzes only the historical bars available on the TradingView chart, which varies depending on the TradingView subscription plan (Free, Pro, Pro+, Premium)
This indicator does not generate buy or sell signals but serves as a data-driven tool for market analysis
How to Use:
Apply the Highs & Lows by Hour indicator to a one-hour (H1) chart on TradingView
Review the table displaying the most frequent hours for daily highs and lows
Adjust colors and settings for better visualization
Use the data to refine trading decisions and align strategy with historical price behavior
Killzones & Previous High-Low Liquidity [odnac]This indicator is designed for use in intraday trading to visualize key "Killzones" (specific time windows during different global market sessions) and highlight liquidity levels based on previous highs and lows from the previous day and week.
It helps traders identify potential market entry and exit points based on time-based trading zones and price action levels.
Key Features:
Killzone (Market Session Timeframes):
Asia (2000-0000 UTC): Displays a shaded box over the Asia trading session.
Europe (0200-0500 UTC): Highlights the European trading session.
New York AM (0830-1100 UTC): Represents the morning session of the NY market.
New York PM (1330-1600 UTC): Represents the afternoon session of the NY market.
Each of these timeframes can be customized in terms of session start and end times, and the shaded areas will help identify high liquidity periods when the market tends to be more active.
Previous High-Low Liquidity Zones:
Previous Week's High/Low: Displays lines at the high and low of the previous week.
These are important liquidity levels that can influence price action.
Previous Day's High/Low: Shows the high and low from the previous trading day.
These are also significant levels to watch for potential support and resistance.
Filters and Customization:
Position Filtering: The indicator allows users to filter out previous highs or lows if the current price doesn't align with those levels.
For example, it can filter out previous week highs if the current price is lower than that level.
Vertical Lines: Optional vertical lines to highlight key time points such as the start and end of the previous week and day.
How It Works:
The indicator visually draws "killzones" as shaded regions on the chart, indicating periods of increased market activity.
This can help traders align their strategies with the most liquid periods of the day.
The previous high and low lines (both for the previous week and the previous day) are drawn as solid lines and can be toggled on/off in the settings.
Labels are added to indicate the specific levels and periods.
The indicator provides clear visual cues, helping traders assess if the price is near important liquidity levels and whether the current market conditions align with those levels.
Customizable Settings:
You can control whether each Killzone and liquidity level is shown on the chart.
Color customization for the various zones and lines is also available.
The indicator also lets you decide whether to hide weekend data, set time-frame limits, and choose whether or not to show vertical lines at the beginning and end of each trading session.
This indicator is aimed at traders who want to trade based on high-liquidity periods and understand where key support and resistance levels are likely to emerge based on previous price action.