Crosby Ratio | QuantumResearch ⚖️ Crosby Ratio | QuantumResearch
A Heikin-Ashi Smoothed Momentum Oscillator for Trend Strength & Market Rotation
Inspired by the Original Work of Bitcoin Magazine Pro
🔗 www.bitcoinmagazinepro.com
📘 Overview
The Crosby Ratio, as originally conceptualized by Bitcoin Magazine Pro, is a powerful tool used to evaluate the momentum and directional strength of price movement by analyzing the slope of market trends in degrees.
This enhanced implementation by QuantumResearch builds on the original concept with a Pine Script version tailored for trading charts, integrating Heikin-Ashi smoothing, ATR scaling, and customizable visual modes to fit traders' unique styles.
🧠 What Is the Crosby Ratio?
At its core, the Crosby Ratio uses angular measurement to quantify price movement — translating price trend strength into degrees. This approach allows traders to:
📈 Identify when the market is exhibiting strong upward or downward pressure
🚨 Spot overextended or overheated trend conditions
⚖ Filter out short-term noise and focus on macro momentum
🔍 1. Key Innovations by QuantumResearch
✅ Heikin-Ashi Smoothing: Reduces noise and stabilizes price action before computing momentum angles
✅ Custom atan2() Angular Function: Measures the directional angle between smoothed price changes and ATR-based scaling
✅ Dynamic Threshold Bands: Color-coded zones highlight overbought/oversold momentum regions
✅ Fully Customizable Palette: Choose from 8 visual themes with automatic color adaptation
📊 2. Interpretation Guide
Crosby Value Interpretation
> +18° 🚀 Strong bullish trend acceleration
+13° to +18° 📈 Moderate upward momentum
-9° to +13° ⚖ Neutral/transition phase
-15° to -9° 📉 Moderate bearish pressure
< -15° 🛑 Strong bearish acceleration
The indicator also features background shading when values exceed key thresholds, improving visual clarity during trend inflection points.
📌 Ideal Use Cases
🔄 Rotational Momentum Strategies: Spot the strongest assets during rapid shifts
⚡ Breakout Filtering: Confirm whether breakouts have directional strength
🧘 Noise Reduction: Heikin-Ashi smoothing filters chaotic wicks, especially in crypto
📉 Bearish Exhaustion Detection: Quickly identify when bearish momentum might be overdone
🔗 Original Inspiration & Acknowledgment
This indicator draws its core idea and naming convention from the original Crosby Ratio developed and introduced by Bitcoin Magazine Pro in their excellent write-up:
🔗 The Crosby Ratio – Bitcoin Magazine Pro
Their work on quantifying market sentiment via angle-based momentum inspired this script adaptation for TradingView with added visual features, smoothing techniques, and alerts.
⚠️ Disclaimer
This indicator is a momentum oscillator and should be used in conjunction with other confirmation tools. Market dynamics can vary, and no single metric ensures profitable trades. Always apply proper risk management.
Recherche dans les scripts pour "机械革命无界15+时不时闪屏"
Dskyz (DAFE) MAtrix with ATR-Powered Precision Dskyz (DAFE) MAtrix with ATR-Powered Precision
This cutting‐edge futures trading strategy built to thrive in rapidly changing market conditions. Developed for high-frequency futures trading on instruments such as the CME Mini MNQ, this strategy leverages a matrix of sophisticated moving averages combined with ATR-based filters to pinpoint high-probability entries and exits. Its unique combination of adaptable technical indicators and multi-timeframe trend filtering sets it apart from standard strategies, providing enhanced precision and dynamic responsiveness.
imgur.com
Core Functional Components
1. Advanced Moving Averages
A distinguishing feature of the DAFE strategy is its robust, multi-choice moving averages (MAs). Clients can choose from a wide array of MAs—each with specific strengths—in order to fine-tune their trading signals. The code includes user-defined functions for the following MAs:
imgur.com
Hull Moving Average (HMA):
The hma(src, len) function calculates the HMA by using weighted moving averages (WMAs) to reduce lag considerably while smoothing price data. This function computes an intermediate WMA of half the specified length, then a full-length WMA, and finally applies a further WMA over the square root of the length. This design allows for rapid adaptation to price changes without the typical delays of traditional moving averages.
Triple Exponential Moving Average (TEMA):
Implemented via tema(src, len), TEMA uses three consecutive exponential moving averages (EMAs) to effectively cancel out lag and capture price momentum. The final formula—3 * (ema1 - ema2) + ema3—produces a highly responsive indicator that filters out short-term noise.
Double Exponential Moving Average (DEMA):
Through the dema(src, len) function, DEMA calculates an EMA and then a second EMA on top of it. Its simplified formula of 2 * ema1 - ema2 provides a smoother curve than a single EMA while maintaining enhanced responsiveness.
Volume Weighted Moving Average (VWMA):
With vwma(src, len), this MA accounts for trading volume by weighting the price, thereby offering a more contextual picture of market activity. This is crucial when volume spikes indicate significant moves.
Zero Lag EMA (ZLEMA):
The zlema(src, len) function applies a correction to reduce the inherent lag found in EMAs. By subtracting a calculated lag (based on half the moving average window), ZLEMA is exceptionally attuned to recent price movements.
Arnaud Legoux Moving Average (ALMA):
The alma(src, len, offset, sigma) function introduces ALMA—a type of moving average designed to be less affected by outliers. With parameters for offset and sigma, it allows customization of the degree to which the MA reacts to market noise.
Kaufman Adaptive Moving Average (KAMA):
The custom kama(src, len) function is noteworthy for its adaptive nature. It computes an efficiency ratio by comparing price change against volatility, then dynamically adjusts its smoothing constant. This results in an MA that quickly responds during trending periods while remaining smoothed during consolidation.
Each of these functions—integrated into the strategy—is selectable by the trader (via the fastMAType and slowMAType inputs). This flexibility permits the tailored application of the MA most suited to current market dynamics and individual risk management preferences.
2. ATR-Based Filters and Risk Controls
ATR Calculation and Volatility Filter:
The strategy computes the Average True Range (ATR) over a user-defined period (atrPeriod). ATR is then used to derive both:
Volatility Assessment: Expressed as a ratio of ATR to closing price, ensuring that trades are taken only when volatility remains within a safe, predefined threshold (volatilityThreshold).
ATR-Based Entry Filters: Implemented as atrFilterLong and atrFilterShort, these conditions ensure that for long entries the price is sufficiently above the slow MA and vice versa for shorts. This acts as an additional confirmation filter.
Dynamic Exit Management:
The exit logic employs a dual approach:
Fixed Stop and Profit Target: Stops and targets are set at multiples of ATR (fixedStopMultiplier and profitTargetATRMult), helping manage risk in volatile markets.
Trailing Stop Adjustments: A trailing stop is calculated using the ATR multiplied by a user-defined offset (trailOffset), which captures additional profits as the trade moves favorably while protecting against reversals.
3. Multi-Timeframe Trend Filtering
The strategy enhances its signal reliability by leveraging a secondary, higher timeframe analysis:
15-Minute Trend Analysis:
By retrieving 15-minute moving averages (fastMA15m and slowMA15m) via request.security, the strategy determines the broader market trend. This secondary filter (enabled or disabled through useTrendFilter) ensures that entries are aligned with the prevailing market direction, thereby reducing the incidence of false signals.
4. Signal and Execution Logic
Combined MA Alignment:
The entry conditions are based primarily on the alignment of the fast and slow MAs. A long condition is triggered when the current price is above both MAs and the fast MA is above the slow MA—complemented by the ATR filter and volume conditions. The reverse applies for a short condition.
Volume and Time Window Validation:
Trades are permitted only if the current volume exceeds a minimum (minVolume) and the current hour falls within the predefined trading window (tradingStartHour to tradingEndHour). An additional volume spike check (comparing current volume to a moving average of past volumes) further filters for optimal market conditions.
Comprehensive Order Execution:
The strategy utilizes flexible order execution functions that allow pyramiding (up to 10 positions), ensuring that it can scale into positions as favorable conditions persist. The use of both market entries and automated exits (with profit targets, stop-losses, and trailing stops) ensures that risk is managed at every step.
5. Integrated Dashboard and Metrics
For transparency and real-time analysis, the strategy includes:
On-Chart Visualizations:
Both fast and slow MAs are plotted on the chart, making it easy to see the market’s technical foundation.
Dynamic Metrics Dashboard:
A built-in table displays crucial performance statistics—including current profit/loss, equity, ATR (both raw and as a percentage), and the percentage gap between the moving averages. These metrics offer immediate insight into the health and performance of the strategy.
Input Parameters: Detailed Breakdown
Every input is meticulously designed to offer granular control:
Fast & Slow Lengths:
Determine the window size for the fast and slow moving averages. Smaller values yield more sensitivity, while larger values provide a smoother, delayed response.
Fast/Slow MA Types:
Choose the type of moving average for fast and slow signals. The versatility—from basic SMA and EMA to more complex ones like HMA, TEMA, ZLEMA, ALMA, and KAMA—allows customization to fit different market scenarios.
ATR Parameters:
atrPeriod and atrMultiplier shape the volatility assessment, directly affecting entry filters and risk management through stop-loss and profit target levels.
Trend and Volume Filters:
Inputs such as useTrendFilter, minVolume, and the volume spike condition help confirm that a trade occurs in active, trending markets rather than during periods of low liquidity or market noise.
Trading Hours:
Restricting trade execution to specific hours (tradingStartHour and tradingEndHour) helps avoid illiquid or choppy markets outside of prime trading sessions.
Exit Strategies:
Parameters like trailOffset, profitTargetATRMult, and fixedStopMultiplier provide multiple layers of risk management and profit protection by tailoring how exits are generated relative to current market conditions.
Pyramiding and Fixed Trade Quantity:
The strategy supports multiple entries within a trend (up to 10 positions) and sets a predefined trade quantity (fixedQuantity) to maintain consistent exposure and risk per trade.
Dashboard Controls:
The resetDashboard input allows for on-the-fly resetting of performance metrics, keeping the strategy’s performance dashboard accurate and up-to-date.
Why This Strategy is Truly Exceptional
Multi-Faceted Adaptability:
The ability to switch seamlessly between various moving average types—each suited to particular market conditions—enables the strategy to adapt dynamically. This is a testament to the high level of coding sophistication and market insight infused within the system.
Robust Risk Management:
The integration of ATR-based stops, profit targets, and trailing stops ensures that every trade is executed with well-defined risk parameters. The system is designed to mitigate unexpected market swings while optimizing profit capture.
Comprehensive Market Filtering:
By combining moving average crossovers with volume analysis, volatility thresholds, and multi-timeframe trend filters, the strategy only enters trades under the most favorable conditions. This multi-layered filtering reduces noise and enhances signal quality.
-Final Thoughts-
The Dskyz Adaptive Futures Elite (DAFE) MAtrix with ATR-Powered Precision strategy is not just another trading algorithm—it is a multi-dimensional, fully customizable system built on advanced technical principles and sophisticated risk management techniques. Every function and input parameter has been carefully engineered to provide traders with a system that is both powerful and transparent.
For clients seeking a state-of-the-art trading solution that adapts dynamically to market conditions while maintaining strict discipline in risk management, this strategy truly stands in a class of its own.
****Please show support if you enjoyed this strategy. I'll have more coming out in the near future!!
-Dskyz
Caution
DAFE is experimental, not a profit guarantee. Futures trading risks significant losses due to leverage. Backtest, simulate, and monitor actively before live use. All trading decisions are your responsibility.
ICT MACRO MAX RETRI ( ALERT )🖤 ICT Reversal Detector – Minimalist Edition
This indicator is designed for traders who follow Inner Circle Trader (ICT) concepts, particularly focused on liquidity sweeps and displacement reversals.
It detects:
• Swing Highs & Lows that occur during the most reactive windows of each hour
→ Specifically the last 20 minutes and first 15 minutes
(ICT teaches these moments often reveal macro-level reversals. I’ve expanded the window slightly to give the indicator more room to catch valid setups.)
• Liquidity Sweeps of previous highs/lows
• Displacement (State Change): defined as a manipulation wick followed by 1–3 strong candles closing in the opposite direction
Visually:
• Clean black lines pointing right from the liquidity sweep wick
• White triangle markers inside black label boxes only when valid displacement occurs
• No clutter, no unnecessary shapes — just focused signal
Built for:
• 5-minute charts, especially NASDAQ (NAS100) and S&P 500 (SPX500)
• Confirm setups manually on the 15-minute chart for extra precision
This is a partial automation tool for ICT-style reversal traders who prefer clarity, minimalism, and sharp intuition over noise.
Let it alert you to setups — then decide like a sniper.
NY ORB, VWAP & EMAsIndicator is designed to display key technical analysis tools on your Trading View chart. It includes:
One of the key benefits of this indicator is that it allows Basic Trading View users to set VWAP, EMAs, and ORB in a single indicator. This is particularly useful for users who are limited to a single indicator on their Basic plan, as it provides a comprehensive view of market sentiment, trend, and potential breakouts without the need for multiple indicators.
Features
New York Opening Range Breakout (ORB): Plots the high and low of the first 15 minutes (configurable) of the New York trading session.
Volume Weighted Average Price (VWAP): Displays the VWAP line, which can be toggled on or off.
Exponential Moving Averages (EMAs): Plots four EMAs (9, 21, 50, and 200 periods), which can also be toggled on or off.
Customization
ORB Length: Choose from 5 or 15 minutes for the ORB calculation.
Show VWAP and EMAs: Toggle the visibility of the VWAP and EMA lines on or off.
Usage
This indicator is designed to help traders identify key market levels, trends, and potential breakouts during the New York trading session. The ORB can be used to gauge market sentiment, while the VWAP provides a benchmark for average price action. The EMAs offer additional trend analysis and can be used to identify potential support and resistance levels.
Failed Breakout DetectionThis indicator is a reverse-engineered copy of the FBD Detection indicator published by xfuturesgod. The original indicator aimed at detecting "Failed Breakdowns". This version tracks the opposite signals, "Failed Breakouts". It was coded with the ES Futures 15 minute chart in mind but may be useful on other instruments and time frames.
The original description, with terminology reversed to explain this version:
'Failed Breakouts' are a popular set up for short entries.
In short, the set up requires:
1) A significant high is made ('initial high')
2) Initial high is undercut with a new high
3) Price action then 'reclaims' the initial high by moving +8-10 points from the initial high
This script aims at detecting such set ups. It was coded with the ES Futures 15 minute chart in mind but may be useful on other instruments and time frames.
Business Logic:
1) Uses pivot highs to detect 'significant' initial highs
2) Uses amplitude threshold to detect a new high above the initial high; used /u/ben_zen script for this
3) Looks for a valid reclaim - a red candle that occurs within 10 bars of the new high
4) Price must reclaim at least 8 points for the set up to be valid
5) If a signal is detected, the initial high value (pivot high) is stored in array that prevents duplicate signals from being generated.
6) FBO Signal is plotted on the chart with "X"
7) Pivot high detection is plotted on the chart with "P" and a label
8) New highs are plotted on the chart with a red triangle
Notes:
User input
- My preference is to use the defaults as is, but as always feel free to experiment
- Can modify pivot length but in my experience 10/10 work best for pivot highs
- New high detection - 55 bars and 0.05 amplitude work well based on visual checks of signals
- Can modify the number of points needed to reclaim a high, and the # of bars limit over which this must occur.
Alerts:
- Alerts are available for detection of new highs and detection of failed breakouts
- Alerts are also available for these signals but only during 7:30PM-4PM EST - 'prime time' US trading hours
Limitations:
- Current version of the script only compares new highs to the most recent pivot high, does not look at anything prior to that
- Best used as a discretionary signal
Multi-Symbol EMA Status Table🔍 Multi-Symbol EMA Trend Scanner Table
This script displays a clean, customizable table showing whether the price of up to 16 different assets is above or below a user-defined EMA, on a per-symbol and per-timeframe basis.
✅ Supports up to 16 symbols, each with:
Custom exchange + ticker (e.g., BINANCE:BTCUSDT.P, PEPPERSTONE:EURUSD)
Custom timeframe (e.g., 15, 60, 240, D, W)
Custom EMA length (e.g., 50, 100, 200)
🧩 Fully customizable visuals:
Table position (top, middle, bottom + left, center, right)
Text size and text color
Background color for "above" and "below" EMA
Optional ✅❌ emojis
📊 The table updates live on your main chart — no switching required!
💡 Great for:
Monitoring trend direction across multiple markets
Spotting trend alignment (e.g., price above 200 EMA on 4H + 1D)
Multi-asset swing trading or scalping strategies
📘 How to Use:
Open a chart and add the indicator from your scripts.
In the settings panel:
Enter any symbol (with exchange prefix, like BINANCE:BTCUSDT.P or OANDA:EURUSD)
Set a timeframe (e.g., "15" for 15min, "60" for 1h, "D" for daily)
Choose your EMA length (e.g., 200)
Repeat for as many symbols as you need (up to 16).
Customize table visuals:
Position on the screen
Font size and color
Enable/disable emojis ✅❌
Watch the table update live!
🧠 Optional Tips:
Use different colors or groupings to track asset classes (crypto, forex, stocks).
Combine it with your favorite entry/exit signals for confirmation.
Try setting all symbols to the same EMA (e.g., 200) but with different timeframes to monitor multi-timeframe alignment.
Scalping 15min: EMA + MACD + RSI + ATR-based SL/TP📈 Strategy: 15-Minute Scalping — EMA + MACD + RSI + ATR-based SL/TP
This scalping strategy is designed for 15-minute charts and combines trend-following and momentum confirmation with dynamic stop loss and take profit levels based on volatility.
🔧 Indicators Used:
EMA 50 — identifies the main trend
MACD Histogram — confirms momentum direction
RSI (14) — filters overbought/oversold conditions
ATR (14) — dynamically sets SL and TP based on market volatility
📊 Entry Conditions:
Long Entry:
Price is above EMA 50
MACD histogram is positive
RSI is above 50 but below 70
Short Entry:
Price is below EMA 50
MACD histogram is negative
RSI is below 50 but above 30
🛑 Risk Management:
Stop Loss: 1×ATR (user-configurable)
Take Profit: 2×ATR (user-configurable)
These values can be adjusted in the script inputs depending on your risk/reward preference or market conditions.
⚠️ Notes:
Strategy is optimized for scalping fast-moving pairs (e.g. crypto, forex).
Works best in trending markets.
Use backtesting and forward testing before live trading.
ICT & SMC Multi-Timeframe by [KhedrFX]Transform your trading experience with the ICT & SMC Multi-Timeframe by indicator. This innovative tool is designed for traders who want to harness the power of multi-timeframe analysis, enabling them to make informed trading decisions based on key market insights. By integrating concepts from the Inner Circle Trader (ICT) and Smart Money Concepts (SMC), this indicator provides a comprehensive view of market dynamics, helping you identify potential trading opportunities with precision.
Key Features
- Multi-Timeframe Analysis: Effortlessly switch between various timeframes (5 minutes, 15 minutes, 30 minutes, 1 hour, 4 hours, daily, and weekly) to capture the full spectrum of market movements.
- High and Low Levels: Automatically calculates and displays the highest and lowest price levels over the last 20 bars, highlighting critical support and resistance zones.
- Market Structure Visualization: Identifies the last swing high and swing low, allowing you to recognize current market trends and potential reversal points.
- Order Block Detection: Detects significant order blocks, pinpointing areas of strong buying or selling pressure that can indicate potential market reversals.
- Custom Alerts: Set alerts for when the price crosses above or below identified order block levels, enabling you to act swiftly on trading opportunities.
How to Use the Indicator
1. Add the Indicator to Your Chart
- Open TradingView.
- Click on the "Indicators" button at the top of the screen.
- Search for "ICT & SMC Multi-Timeframe by " in the search bar.
- Click on the indicator to add it to your chart.
2. Select Your Timeframe
- Use the dropdown menu to choose your preferred timeframe (5, 15, 30, 60, 240, D, W) for analysis.
3. Interpret the Signals
- High Level (Green Line): Represents the highest price level over the last 20 bars, acting as a potential resistance level.
- Low Level (Red Line): Represents the lowest price level over the last 20 bars, acting as a potential support level.
- Last Swing High (Blue Cross): Indicates the most recent significant high, useful for identifying potential reversal points.
- Last Swing Low (Orange Cross): Indicates the most recent significant low, providing insight into market structure.
- Order Block High (Purple Line): Marks the upper boundary of a detected order block, suggesting potential selling pressure.
- Order Block Low (Yellow Line): Marks the lower boundary of a detected order block, indicating potential buying pressure.
4. Set Alerts
- Utilize the alert conditions to receive notifications when the price crosses above or below the order block levels, allowing you to stay informed about potential trading opportunities.
5. Implement Risk Management
- Always use proper risk management techniques. Consider setting stop-loss orders based on the identified swing highs and lows or the order block levels to protect your capital.
Conclusion
The ICT & SMC Multi-Timeframe by indicator is an essential tool for traders looking to enhance their market analysis and decision-making process. By leveraging multi-timeframe insights, market structure visualization, and order block detection, you can navigate the complexities of the market with confidence. Start using this powerful indicator today and take your trading to the next level.
⚠️ Trade Responsibly
This tool helps you analyze the market, but it’s not a guarantee of profits. Always do your own research, manage risk, and trade with caution.
TTM Squeeze Momentum MTF [Cometreon]TTM Squeeze Momentum MTF combines the core logic of both the Squeeze Momentum by LazyBear and the TTM Squeeze by John Carter into a single, unified indicator. It offers a complete system to analyze the phase, direction, and strength of market movements.
Unlike the original versions, this indicator allows you to choose how to calculate the trend, select from 15 different types of moving averages, customize every parameter, and adapt the visual style to your trading preferences.
If you are looking for a powerful, flexible and highly configurable tool, this is the perfect choice for you.
🔷 New Features and Improvements
🟩 Unified System: Trend Detection + Visual Style
You can decide which logic to use for the trend via the "Show TTM Squeeze Trend" input:
✅ Enabled → Trend calculated using TTM Squeeze
❌ Disabled → Trend based on Squeeze Momentum
You can also customize the visual style of the indicator:
✅ Enable "Show Histogram" for a visual mode using Histogram, Area, or Column
❌ Disable it to display the classic LazyBear-style line
Everything updates automatically and dynamically based on your selection.
🟩 Full Customization
Every base parameter of the original indicator is now fully configurable: lengths, sources, moving average types, and more.
You can finally adapt the squeeze logic to your strategy — not the other way around.
🟩 Multi-MA Engine
Choose from 15 different Moving Averages for each part of the calculation:
SMA (Simple Moving Average)
EMA (Exponential Moving Average)
WMA (Weighted Moving Average)
RMA (Smoothed Moving Average)
HMA (Hull Moving Average)
JMA (Jurik Moving Average)
DEMA (Double Exponential Moving Average)
TEMA (Triple Exponential Moving Average)
LSMA (Least Squares Moving Average)
VWMA (Volume-Weighted Moving Average)
SMMA (Smoothed Moving Average)
KAMA (Kaufman’s Adaptive Moving Average)
ALMA (Arnaud Legoux Moving Average)
FRAMA (Fractal Adaptive Moving Average)
VIDYA (Variable Index Dynamic Average)
🟩 Dynamic Signal Line
Apply a moving average to the momentum for real-time cross signals, with full control over its length and type.
🟩 Multi-Timeframe & Multi-Ticker Support
You're no longer limited to the chart's current timeframe or ticker. Apply the squeeze to any symbol or timeframe without repainting.
🔷 Technical Details and Customizable Inputs
This indicator offers a fully modular structure with configurable parameters for every component:
1️⃣ Squeeze Momentum Settings – Choose the source, length, and type of moving average used to calculate the base momentum.
2️⃣ Trend Mode Selector – Toggle "Show TTM Squeeze Trend" to select the trend logic displayed on the chart:
✅ Enabled – Shows the trend based on TTM Squeeze (Bollinger Bands inside/outside Keltner Channel)
❌ Disabled – Displays the trend based on Squeeze Momentum logic
🔁 The moving average type for the Keltner Channel is handled automatically, so you don't need to select it manually, even if the custom input is disabled.
3️⃣ Signal Line – Toggle the Signal Line on the Squeeze Momentum. Select its length and MA type to generate visual cross signals.
4️⃣ Bollinger Bands – Configure the length, multiplier, source, and MA type used in the bands.
5️⃣ Keltner Channel – Adjust the length, multiplier, source, and MA type. You can also enable or disable the True Range option.
6️⃣ Advanced MA Parameters – Customize the parameters for advanced MAs (JMA, ALMA, FRAMA, VIDYA), including Phase, Power, Offset, Sigma, and Shift values.
7️⃣ Ticker & Input Source – Select the ticker and manage inputs for alternative chart types like Renko, Kagi, Line Break, and Point & Figure.
8️⃣ Style Settings – Choose how the squeeze is displayed:
Enable "Show Histogram" for Histogram, Area, or Column style
Disable it to show the classic LazyBear-style line
Use Reverse Color to invert line colors
Toggle Show Label to highlight Signal Line cross signals
Customize trend colors to suit your preferences
9️⃣ Multi-Timeframe Options - Timeframe – Use the squeeze on higher timeframes for stronger confirmation
🔟 Wait for Timeframe Closes -
✅ Enabled – Prevents multiple signals within the same candle
❌ Disabled – Displays the indicator smoothly without delay
🔧 Default Settings Reference
To replicate the default settings of the original indicators as they appear when first applied to the chart, use the following configurations:
🟩 TTM Squeeze (John Carter Style)
Squeeze
Length: 20
MA Type: SMA
Show TTM Squeeze Trend: Enabled
Bollinger Bands
Length: 20
Multiplier: 2.0
MA Type: SMA
Keltner Channel
Length: 20
Multiplier: 1.0
Use True Range: ON
MA Type: EMA
Style
Show Histogram: Enabled
Reverse Color: Enabled
🟩 Squeeze Momentum (LazyBear Style)
Squeeze
Length: 10
MA Type: SMA
Show TTM Squeeze Trend: Disabled
Bollinger Bands
Length: 20
Multiplier: 1.5
MA Type: SMA
Keltner Channel
Length: 10
Multiplier: 1.5
Use True Range: ON
MA Type: SMA
Style
Show Histogram: Disabled
Reverse Color: Disabled
⚠️ These values are intended as a starting point. The Cometreon indicator lets you fully customize every input to fit your trading style.
🔷 How to Use Squeeze Momentum Pro
🔍 Identifying Trends
Squeeze Momentum Pro supports two different methods for identifying the trend visually, each based on a distinct logic:
Squeeze Momentum Trend (LazyBear-style):
Displays 3 states based on the position of the Bollinger Bands relative to the Keltner Channel:
🔵 Blue = No Squeeze (BB outside KC and KC outside BB)
⚪️ White = Squeeze Active (BB fully inside KC)
⚫️ Gray = Neutral state (none of the above)
TTM Squeeze Trend (John Carter-style):
Calculates the difference in width between the Bollinger Bands and the Keltner Channel:
🟩 Green = BB width is greater than KC → potential expansion phase
🟥 Red = BB are tighter than KC → possible compression or pre-breakout
📈 Interpreting Signals
Depending on the active configuration, the indicator can provide various signals, including:
Trend color → Reflects the current compression/expansion state (based on selected mode)
Momentum value (above or below 0) → May indicate directional pressure
Signal Line cross → Can highlight momentum shifts
Color change in the momentum → May suggest a potential trend reversal
🛠 Integration with Other Tools
Squeeze Momentum Pro works well alongside other indicators to strengthen market context:
✅ Volume Profile / OBV – Helps confirm accumulation or distribution during squeezes
✅ RSI – Useful to detect divergence between momentum and price
✅ Moving Averages – Ideal for defining primary trend direction and filtering signals
☄️ If you find this indicator useful, leave a Boost to support its development!
Every piece of feedback helps improve the tool and deliver an even better trading experience.
🔥 Share your ideas or feature requests in the comments!
Smarter Money Concepts - FVGs [PhenLabs]📊 Smarter Money Concepts - FVGs
Version: PineScript™ v6
📌 Description
Smarter Money Concepts - FVGs is a sophisticated indicator designed to identify and track Fair Value Gaps (FVGs) in price action. These gaps represent market inefficiencies where price moves quickly, creating imbalances that often attract subsequent price action for mitigation. By highlighting these key areas, traders can identify potential zones for reversals, continuations, and price targets.
The indicator employs volume filtering ideology to highlight only the most significant FVGs, reducing noise and focusing on gaps formed during periods of higher relative volume. This combination of price structure analysis and volume confirmation provides traders with high-probability areas of interest that institutional smart money may target during future price movements.
🚀 Points of Innovation
Volume-Filtered Gap Detection : Eliminates low-significance FVGs by requiring a minimum volume threshold, focusing only on gaps formed with institutional participation
Equilibrium Line Visualization : Displays the midpoint of each gap as a potential precision target for trades
Automated Gap Mitigation Tracking : Monitors when price revisits and mitigates gaps, automatically managing visual elements
Time-Based Gap Management : Intelligently filters gaps based on a configurable timeframe, maintaining chart clarity
Dual Direction Analysis : Simultaneously tracks both bullish and bearish gaps, providing a complete market structure view
Memory-Optimized Design : Implements efficient memory management for smooth chart performance even with numerous FVGs
🔧 Core Components
Fair Value Gap Detection : Identifies price inefficiencies where the current candle’s low is higher than the previous candle’s high (bearish FVG) or where the current candle’s high is lower than the previous candle’s low (bullish FVG).
Volume Filtering Mechanism : Calculates relative volume compared to a moving average to qualify only gaps formed during significant market activity.
Mitigation Tracking : Continuously monitors price action to detect when gaps get filled, with options to either hide or maintain visual representation of mitigated gaps.
🔥 Key Features
Customizable Gap Display : Toggle visibility of bullish and bearish gaps independently to focus on your preferred market direction
Volume Threshold Control : Adjust the minimum volume ratio required for gap qualification, allowing fine-tuning between sensitivity and significance
Flexible Mitigation Methods : Choose between “Wick” or “Close” methods for determining when a gap has been mitigated, adapting to different trading styles
Visual Customization : Full control over colors, transparency, and style of gap boxes and equilibrium lines
🎨 Visualization
Gap Boxes : Rectangular highlights showing the exact price range of each Fair Value Gap. Bullish gaps indicate potential upward price targets, while bearish gaps show potential downward targets.
Equilibrium Lines : Dotted lines running through the center of each gap, representing the mathematical midpoint that often serves as a precision target for price movement.
📖 Usage Guidelines
General Settings
Days to Analyze : Default: 15, Range: 1-100. Controls how many days of historical gaps to display, balancing between comprehensive analysis and chart clarity
Visual Settings
Bull Color : Default:(#596fd33f). Color for bullish Fair Value Gaps, typically using high transparency for clear chart visibility
Bear Color : Default:(#d3454575). Color for bearish Fair Value Gaps, typically using high transparency for clear chart visibility
Equilibrium Line : Default: Enabled. Toggles visibility of the center equilibrium line for each FVG
Eq. Line Color : Default: Black with 99% transparency. Sets the color of equilibrium lines, usually kept subtle to avoid chart clutter
Eq. Line Style : Default: Dotted, Options: Dotted, Solid, Dashed. Determines the line style for equilibrium lines
Mitigation Settings
Mitigation Method : Default: Wick, Options: Wick, Close. Determines how gap mitigation is calculated - “Wick” uses high/low values while “Close” uses open/close values for more conservative mitigation criteria
Hide Mitigated : Default: Enabled. When enabled, gaps become transparent once mitigated, reducing visual clutter while maintaining historical context
Volume Filter
Volume Filter : Default: Enabled. When enabled, only shows gaps formed with significant volume relative to recent average
Min Ratio : Default: 1.5, Range: 0.1-10.0. Minimum volume ratio compared to average required to display an FVG; higher values filter out more gaps
Periods : Default: 15, Range: 5-50. Number of periods used to calculate the average volume baseline
✅ Best Use Cases
Identifying potential reversal zones where price may react after extended moves
Finding precise targets for take-profit placement in trend-following strategies
Detecting institutional interest areas for potential breakout or breakdown confirmations
Plotting significant support and resistance zones based on structural imbalances
Developing fade strategies at key market structure points
Confirming trade entries when price approaches significant unfilled gaps
⚠️ Limitations
Works best on higher timeframes where gaps reflect more significant market inefficiencies
Very choppy or ranging markets may produce small gaps with limited predictive value
Volume filtering depends on accurate volume data, which may be less reliable for some symbols
Performance may be affected when displaying a very large number of historical gaps
Some gaps may never be fully mitigated, particularly in strongly trending markets
💡 What Makes This Unique
Volume Intelligence : Unlike basic FVG indicators, this script incorporates volume analysis to identify the most significant structural imbalances, focusing on quality over quantity.
Visual Clarity Management : Automatic handling of mitigated gaps and memory management ensures your chart remains clean and informative even over extended analysis periods.
Dual-Direction Comprehensive Analysis : Simultaneously tracks both bullish and bearish gaps, providing a complete market structure picture rather than forcing a directional bias.
🔬 How It Works
1. Gap Detection Process :
The indicator examines each candle in relation to previous candles, identifying when a gap forms between the low of candle and high of candle (bearish FVG) or between the high of candle and low of candle (bullish FVG). This specific candle relationship identifies true structural imbalances.
2. Volume Qualification :
For each potential gap, the algorithm calculates the relative volume compared to the configured period average. Only gaps formed with volume exceeding the minimum ratio threshold are displayed, ensuring focus on institutionally significant imbalances.
3. Equilibrium Calculation :
For each qualified gap, the script calculates the precise mathematical midpoint, which becomes the equilibrium line - a key target that price often gravitates toward during mitigation attempts.
4. Mitigation Tracking :
The indicator continuously monitors price action against existing gaps, determining mitigation based on the selected method (wick or close). When price reaches the equilibrium point, the gap is considered mitigated and can be visually updated accordingly.
💡 Note:
Fair Value Gaps represent market inefficiencies that often, but not always, get filled. Use this indicator as part of a complete trading strategy rather than as a standalone system. The most valuable signals typically come from combining FVG analysis with other confirmatory indicators and overall market context. For optimal results, start with the default settings and gradually adjust parameters to match your specific trading timeframe and style.
SCE GANN PredictionsThis is a script designed to give an insight on price direction from being above or below a GANN Value.
What Are GANN Waves?
The SCE GANN Predictions indicator is inspired by the work of W.D. Gann, a renowned trader who believed that price movements follow geometric and mathematical patterns. GANN waves use past price behavior—specifically momentum or "velocity"—to forecast where prices might head next.
How Does the Indicator Work?
Calculating Velocity
The script starts by measuring the "velocity" of price movement over a user-defined lookback period (denoted as n). This velocity is the average difference between the close and open prices over n bars. Think of it as the market’s speed in a given direction.
Predicting the Future Price
Using this velocity, the indicator estimates a future price after a specific time horizon—calculated as n + n*2 bars into the future (e.g., if n = 15, it predicts 45 bars ahead). It scales the velocity by a ratio (Gr) to determine the "end price." This is the raw GANN prediction.
Optimizing the Ratio (Gr)
The key to a good prediction is finding the right Gr. The script tests a range of Gr values (from Gr_min to Gr_max, stepping by Gr_step) and evaluates each one by calculating the sum of squared errors (SSE) between the predicted prices and the actual historical close prices. The Gr with the lowest SSE is deemed "optimal" and used for the final prediction.
Smoothing with an SMA
The raw GANN prediction is then smoothed using a simple moving average (SMA) over the lookback period (n). This SMA is plotted on your chart, serving as a dynamic trend line. The plot’s color changes based on the current price: teal if the close is above the SMA (bullish), and red if below (bearish).
Visuals
This example shows how the value explains price strength and changes color. When the price is above the line, and it’s green, we’re showing an up trend. The opposite is when the price is below the line, and it’s red, showing a down trend.
We can see that there may be moments where price drops under the value for just that one bar.
In scenarios with sideways price action, even though the price crosses, there is no follow through. This is a shortcoming of the overall concept.
Customizable Inputs
Timeframe: Choose the timeframe for analysis (default is 2 minutes).
Show GANN Wave: Toggle the GANN SMA plot on or off (default is true).
Lookback Period (Gn): Set the number of bars for velocity and SMA calculations (default is 15).
Min Ratio (Gr_min): The lower bound for the Gr optimization (default is 0.05).
Max Ratio (Gr_max): The upper bound for Gr (default is 0.2).
Step for Gr (Gr_step): The increment for testing Gr values (default is 0.01).
How to Use SCE GANN Predictions
Trend Direction
The colored SMA provides a quick visual cue. Teal suggests an uptrend, while red hints at a downtrend. Use this to align your trades with the broader momentum.
Crossover Signals
Watch for the close price crossing the GANN SMA. A move above could signal a buy opportunity, while a drop below might indicate a sell. Combine this with other indicators for confirmation.
Fine-Tuning
Experiment with the lookback period (Gn) and Gr range to optimize for your market. Shorter lookbacks might suit fast-moving assets, while longer ones could work for slower trends.
Like any technical tool, SCE GANN Predictions isn’t a crystal ball. It’s based on historical data and mathematical assumptions, so it won’t always be spot-on.
vidya_calculateLibrary "vidya_calculate"
:
Calculates the Variable Index Dynamic Average (VIDYA).
Computes the VIDYA, which adjusts the degree of smoothing based on the strength of price momentum (absolute value of CMO),
and then returns the 15-period(variable) Simple Moving Average (SMA) of that VIDYA.
VIDYA tends to follow prices more closely when price fluctuations are large, and is smoothed more when fluctuations are small.
CMO = Chande Momentum Oscillator.
vidya(src, vidyaLength, vidyaMomentum, vidyaTrendPeriod)
: Calculates the Variable Index Dynamic Average (VIDYA)
Parameters:
src (float) : : Source
vidyaLength (int) : : VIDYA Length
vidyaMomentum (int) : : VIDYA Momentum
vidyaTrendPeriod (int) : : VIDYA Trend Period (Display)
Returns: : the 15-period(variable) Simple Moving Average (SMA) of that VIDYA
RSI3M3+ v.1.8RSI3M3+ v.1.8 Indicator
This script is an advanced trading indicator based on Walter J. Bressert's cycle analysis methodology, combined with an RSI (Relative Strength Index) variation. Let me break it down and explain how it works.
Core Concepts
The RSI3M3+ indicator combines:
A short-term RSI (3-period)
A 3-period moving average to smooth the RSI
Bressert's cycle analysis principles to identify optimal trading points
RSI3M3+ Indicator VisualizationImage Walter J. Bressert's Cycle Analysis Concepts
Walter Bressert was a pioneer in cycle analysis trading who believed markets move in cyclical patterns that can be measured and predicted. His key principles integrated into this indicator include:
Trading Cycles: Markets move in cycles with measurable time spans from low to low
Timing Bands: Projected periods when the next cyclical low or high is anticipated
Oscillator Use: Using oscillators like RSI to confirm cycle position
Entry/Exit Rules: Specific rules for trade entry and exit based on cycle position
Key Parameters in the Script
Basic RSI Parameters
Required bars: Minimum number of bars needed (default: 20)
Overbought region: RSI level considered overbought (default: 70)
Oversold region: RSI level considered oversold (default: 30)
Bressert-Specific Parameters
Cycle Detection Length: Lookback period for cycle identification (default: 30)
Minimum/Maximum Cycle Length: Expected cycle duration in days (default: 15-30)
Buy Line: Lower threshold for buy signals (default: 40)
Sell Line: Upper threshold for sell signals (default: 60)
How the Indicator Works
RSI3M3 Calculation:
Calculates a 3-period RSI (sRSI)
Smooths it with a 3-period moving average (sMA)
Cycle Detection:
Identifies bottoms: When the RSI is below the buy line (40) and starting to turn up
Identifies tops: When the RSI is above the sell line (60) and starting to turn down
Records these points to calculate cycle lengths
Timing Bands:
Projects when the next cycle bottom or top should occur
Creates visual bands on the chart showing these expected time windows
Signal Generation:
Buy signals occur when the RSI turns up from below the oversold level (30)
Sell signals occur when the RSI turns down from above the overbought level (70)
Enhanced by Bressert's specific timing rules
Bressert's Five Trading Rules (Implemented in the Script)
Cycle Timing: The low must be 15-30 market days from the previous Trading Cycle bottom
Prior Top Validation: A Trading Cycle high must have occurred with the oscillator above 60
Oscillator Behavior: The oscillator must drop below 40 and turn up
Entry Trigger: Entry is triggered by a rise above the price high of the upturn day
Protective Stop: Place stop slightly below the Trading Cycle low (implemented as 99% of bottom price)
How to Use the Indicator
Reading the Chart
Main Plot Area:
Green line: 3-period RSI
Red line: 3-period moving average of the RSI
Horizontal bands: Oversold (30) and Overbought (70) regions
Dotted lines: Buy line (40) and Sell line (60)
Yellow vertical bands: Projected timing windows for next cycle bottom
Signals:
Green up arrows: Buy signals
Red down arrows: Sell signals
Trading Strategy
For Buy Signals:
Wait for the RSI to drop below the buy line (40)
Look for an upturn in the RSI from below this level
Enter the trade when price rises above the high of the upturn day
Place a protective stop at 99% of the Trading Cycle low
For Sell Signals:
Wait for the RSI to rise above the sell line (60)
Look for a downturn in the RSI from above this level
Consider exiting or taking profits when a sell signal appears
Alternative exit: When price moves below the low of the downturn day
Cycle Timing Enhancement:
Pay attention to the yellow timing bands
Signals occurring within these bands have higher probability of success
Signals outside these bands may be less reliable
Practical Tips for Using RSI3M3+
Timeframe Selection:
The indicator works best on daily charts for intermediate-term trading
Can be used on weekly charts for longer-term position trading
On intraday charts, adjust cycle lengths accordingly
Market Applicability:
Works well in trending markets with clear cyclical behavior
Less effective in choppy, non-trending markets
Consider additional indicators for trend confirmation
Parameter Adjustment:
Different markets may have different natural cycle lengths
You may need to adjust the min/max cycle length parameters
Higher volatility markets may need wider overbought/oversold levels
Trade Management:
Enter trades when all Bressert's conditions are met
Use the protective stop as defined (99% of cycle low)
Consider taking partial profits at the projected cycle high timing
Advanced Techniques
Multiple Timeframe Analysis:
Confirm signals with the same indicator on higher timeframes
Enter in the direction of the larger cycle when smaller and larger cycles align
Divergence Detection:
Look for price making new lows while RSI makes higher lows (bullish)
Look for price making new highs while RSI makes lower highs (bearish)
Confluence with Price Action:
Combine with support/resistance levels
Use with candlestick patterns for confirmation
Consider volume confirmation of cycle turns
This RSI3M3+ indicator combines the responsiveness of a short-term RSI with the predictive power of Bressert's cycle analysis, offering traders a sophisticated tool for identifying high-probability trading opportunities based on market cycles and momentum shifts.
THANK YOU FOR PREVIOUS CODER THAT EFFORT TO CREATE THE EARLIER VERSION THAT MAKE WALTER J BRESSERT CONCEPT IN TRADINGVIEW @ADutchTourist
Abhi's Bollinger Band Reversal SignalThis Pine Script indicator is designed to detect reversal trade opportunities using Bollinger Band breakouts. It identifies both buy and sell setups with clearly defined entry, stop-loss (SL), and target (TP) conditions. It also manages trades visually with real-time signal plotting, and limits entries per trading day.
⚙️ How It Works
🔽 Sell Signal Conditions
- The previous candle must close above the upper Bollinger Band, and its entire body must be above the band
- The current candle must fail to break the previous high, and must break below the previous low
- Entry is taken at the previous candle’s low, with SL at its high
- Target is calculated based on a configurable Risk:Reward ratio
🔼 Buy Signal Conditions
- The previous candle must close below the lower Bollinger Band, and its entire body must be below the band
- The current candle must fail to break the previous low, and must break above the previous high
- Entry is at the previous candle’s high, with SL at its low
- Target is calculated using the same Risk:Reward ratio
⏰ Time-Based Exit
- If a trade is still active by a user-defined exit time (e.g. 15:15), the trade is closed
- Labels are plotted to show whether this exit was a profit or loss
🧩 User Inputs
- Start Time for signals
- Exit Time for open trades
- Bollinger Band Settings: Period and Std Dev
- Max Entries Per Day
- Risk:Reward Ratio: Dropdown for 1:1, 1:1.5, ..., 1:3
🎨 Visual Features
✅ BUY and SELL signals are plotted when valid conditions are detected
🟢 TP and 🔴 SL labels show trade outcome
🕒 TIME EXIT labels appear at user-set exit time with green/red coloring based on profitability
📉 Bollinger Bands plotted for visual context
📌 Notes:
- Designed for intraday trading, resets entry counter daily
- Uses bar_index > tradeBarIndex to avoid SL/TP being triggered on the same candle as entry
- Tracks only one trade at a time (tradeActive) — ensures clear, non-overlapping logic
Pivot S/R with Volatility Filter## *📌 Indicator Purpose*
This indicator identifies *key support/resistance levels* using pivot points while also:
✅ Detecting *high-volume liquidity traps* (stop hunts)
✅ Filtering insignificant pivots via *ATR (Average True Range) volatility*
✅ Tracking *test counts and breakouts* to measure level strength
---
## *⚙ SETTINGS – Detailed Breakdown*
### *1️⃣ ◆ General Settings*
#### *🔹 Pivot Length*
- *Purpose:* Determines how many bars to analyze when identifying pivots.
- *Usage:*
- *Low values (5-20):* More pivots, better for scalping.
- *High values (50-200):* Fewer but stronger levels for swing trading.
- *Example:*
- Pivot Length = 50 → Only the most significant highs/lows over 50 bars are marked.
#### *🔹 Test Threshold (Max Test Count)*
- *Purpose:* Sets how many times a level can be tested before being invalidated.
- *Example:*
- Test Threshold = 3 → After 3 tests, the level is ignored (likely to break).
#### *🔹 Zone Range*
- *Purpose:* Creates a price buffer around pivots (±0.001 by default).
- *Why?* Markets often respect "zones" rather than exact prices.
---
### *2️⃣ ◆ Volatility Filter (ATR)*
#### *🔹 ATR Period*
- *Purpose:* Smoothing period for Average True Range calculation.
- *Default:* 14 (standard for volatility measurement).
#### *🔹 ATR Multiplier (Min Move)*
- *Purpose:* Requires pivots to show *meaningful price movement*.
- *Formula:* Min Move = ATR × Multiplier
- *Example:*
- ATR = 10 pips, Multiplier = 1.5 → Only pivots with *15+ pip swings* are valid.
#### *🔹 Show ATR Filter Info*
- Displays current ATR and minimum move requirements on the chart.
---
### *3️⃣ ◆ Volume Analysis*
#### *🔹 Volume Change Threshold (%)*
- *Purpose:* Filters for *unusual volume spikes* (institutional activity).
- *Example:*
- Threshold = 1.2 → Requires *120% of average volume* to confirm signals.
#### *🔹 Volume MA Period*
- *Purpose:* Lookback period for "normal" volume calculation.
---
### *4️⃣ ◆ Wick Analysis*
#### *🔹 Wick Length Threshold (Ratio)*
- *Purpose:* Ensures rejection candles have *long wicks* (strong reversals).
- *Formula:* Wick Ratio = (Upper Wick + Lower Wick) / Candle Range
- *Example:*
- Threshold = 0.6 → 60% of the candle must be wicks.
#### *🔹 Min Wick Size (ATR %)*
- *Purpose:* Filters out small wicks in volatile markets.
- *Example:*
- ATR = 20 pips, MinWickSize = 1% → Wicks under *0.2 pips* are ignored.
---
### *5️⃣ ◆ Display Settings*
- *Show Zones:* Toggles support/resistance shaded areas.
- *Show Traps:* Highlights liquidity traps (▲/▼ symbols).
- *Show Tests:* Displays how many times levels were tested.
- *Zone Transparency:* Adjusts opacity of zones.
---
## *🎯 Practical Use Cases*
### *1️⃣ Liquidity Trap Detection*
- *Scenario:* Price spikes *above resistance* then reverses sharply.
- *Requirements:*
- Long wick (Wick Ratio > 0.6)
- High volume (Volume > Threshold)
- *Outcome:* *Short Trap* signal (▼) appears.
### *2️⃣ Strong Support Level*
- *Scenario:* Price bounces *3 times* from the same level.
- *Indicator Action:*
- Labels the level with test count (3/5 = 3 tests out of max 5).
- Turns *red* if broken (Break Count > 0).
Deep Dive: How This Indicator Works*
This indicator combines *four professional trading concepts* into one powerful tool:
1. *Classic Pivot Point Theory*
- Identifies swing highs/lows where price previously reversed
- Unlike basic pivot indicators, ours uses *confirmed pivots only* (filtered by ATR)
2. *Volume-Weighted Validation*
- Requires unusual trading volume to confirm levels
- Filters out "phantom" levels with low participation
3. *ATR Volatility Filtering*
- Eliminates insignificant price swings in choppy markets
- Ensures only meaningful levels are plotted
4. *Liquidity Trap Detection*
- Spots institutional stop hunts where markets fake out traders
- Uses wick analysis + volume spikes for high-probability signals
---
Deep Dive: How This Indicator Works*
This indicator combines *four professional trading concepts* into one powerful tool:
1. *Classic Pivot Point Theory*
- Identifies swing highs/lows where price previously reversed
- Unlike basic pivot indicators, ours uses *confirmed pivots only* (filtered by ATR)
2. *Volume-Weighted Validation*
- Requires unusual trading volume to confirm levels
- Filters out "phantom" levels with low participation
3. *ATR Volatility Filtering*
- Eliminates insignificant price swings in choppy markets
- Ensures only meaningful levels are plotted
4. *Liquidity Trap Detection*
- Spots institutional stop hunts where markets fake out traders
- Uses wick analysis + volume spikes for high-probability signals
---
## *📊 Parameter Encyclopedia (Expanded)*
### *1️⃣ Pivot Engine Settings*
#### *Pivot Length (50)*
- *What It Does:*
Determines how many bars to analyze when searching for swing highs/lows.
- *Professional Adjustment Guide:*
| Trading Style | Recommended Value | Why? |
|--------------|------------------|------|
| Scalping | 10-20 | Captures short-term levels |
| Day Trading | 30-50 | Balanced approach |
| Swing Trading| 50-200 | Focuses on major levels |
- *Real Market Example:*
On NASDAQ 5-minute chart:
- Length=20: Identifies levels holding for ~2 hours
- Length=50: Finds levels respected for entire trading day
#### *Test Threshold (5)*
- *Advanced Insight:*
Institutions often test levels 3-5 times before breaking them. This setting mimics the "probe and push" strategy used by smart money.
- *Psychology Behind It:*
Retail traders typically give up after 2-3 tests, while institutions keep testing until stops are run.
---
### *2️⃣ Volatility Filter System*
#### *ATR Multiplier (1.0)*
- *Professional Formula:*
Minimum Valid Swing = ATR(14) × Multiplier
- *Market-Specific Recommendations:*
| Market Type | Optimal Multiplier |
|------------------|--------------------|
| Forex Majors | 0.8-1.2 |
| Crypto (BTC/ETH) | 1.5-2.5 |
| SP500 Stocks | 1.0-1.5 |
- *Why It Matters:*
In EUR/USD (ATR=10 pips):
- Multiplier=1.0 → Requires 10 pip swings
- Multiplier=1.5 → Requires 15 pip swings (fewer but higher quality levels)
---
### *3️⃣ Volume Confirmation System*
#### *Volume Threshold (1.2)*
- *Institutional Benchmark:*
- 1.2x = Moderate institutional interest
- 1.5x+ = Strong smart money activity
- *Volume Spike Case Study:*
*Before Apple Earnings:*
- Normal volume: 2M shares
- Spike threshold (1.2): 2.4M shares
- Actual volume: 3.1M shares → STRONG confirmation
---
### *4️⃣ Liquidity Trap Detection*
#### *Wick Analysis System*
- *Two-Filter Verification:*
1. *Wick Ratio (0.6):*
- Ensures majority of candle shows rejection
- Formula: (UpperWick + LowerWick) / Total Range > 0.6
2. *Min Wick Size (1% ATR):*
- Prevents false signals in flat markets
- Example: ATR=20 pips → Min wick=0.2 pips
- *Trap Identification Flowchart:*
Price Enters Zone →
Spikes Beyond Level →
Shows Long Wick →
Volume > Threshold →
TRAP CONFIRMED
---
## *💡 Master-Level Usage Techniques*
### *Institutional Order Flow Analysis*
1. *Step 1:* Identify pivot levels with ≥3 tests
2. *Step 2:* Watch for volume contraction near levels
3. *Step 3:* Enter when trap signal appears with:
- Wick > 2×ATR
- Volume > 1.5× average
### *Multi-Timeframe Confirmation*
1. *Higher TF:* Find weekly/monthly pivots
2. *Lower TF:* Use this indicator for precise entries
3. *Example:*
- Weekly pivot at $180
- 4H shows liquidity trap → High-probability reversal
---
## *⚠ Critical Mistakes to Avoid*
1. *Using Default Settings Everywhere*
- Crude oil needs higher ATR multiplier than bonds
2. *Ignoring Trap Context*
- Traps work best at:
- All-time highs/lows
- Major psychological numbers (00/50 levels)
3. *Overlooking Cumulative Volume*
- Check if volume is building over multiple tests
AI Trend Momentum SniperThe AI Trend Momentum Sniper is a powerful technical analysis tool designed for day trading. This strategy combines multiple momentum and trend indicators to identify high-probability entry and exit points. The indicator utilizes a combination of Supertrend, MACD, RSI, ATR (Average True Range), and On-Balance Volume (OBV) to generate real-time signals for buy and sell opportunities.
Key Features:
Supertrend for detecting market direction (bullish or bearish).
MACD for momentum confirmation, highlighting changes in market momentum.
RSI to filter out overbought/oversold conditions and ensure high-quality trades.
ATR as a volatility filter to adjust for changing market conditions.
OBV (On-Balance Volume) to confirm volume strength and trend validity.
Dynamic Stop-Loss & Take-Profit based on ATR to manage risk and lock profits.
This indicator is tailored for intraday traders looking for quick market moves, especially in volatile and high liquidity assets like Bitcoin (BTC) and Ethereum (ETH). It helps traders capture short-term trends with efficient risk management tools.
How to Apply:
Set Your Chart: Apply the AI Trend Momentum Sniper to a 5-minute (M5) or 15-minute (M15) chart for optimal performance.
Buy Signal: When the indicator generates a green arrow below the bar, it indicates a buy signal based on positive trend and momentum alignment.
Sell Signal: A red arrow above the bar signals a sell condition when the trend and momentum shift bearish.
Stop-Loss and Take-Profit: The indicator automatically calculates dynamic stop-loss and take-profit levels based on the ATR value for each trade, ensuring proper risk management.
Alerts: Set up custom alerts for buy or sell signals, and get notified instantly when opportunities arise.
Best Markets for Use:
BTC/USDT, ETH/USDT – High liquidity and volatility.
Major altcoins with sufficient volume.
Avoid using it on low-liquidity assets where price action may become erratic.
Timeframes:
This indicator is best suited for lower timeframes (5-minute to 15-minute charts) to capture quick price movements in trending markets.
Reversal & Breakout Strategy with ORB### Reversal & Breakout Strategy with ORB
This strategy combines three distinct trading approaches—reversals, trend breakouts, and opening range breakouts (ORB)—into a single, cohesive system. The goal is to capture high-probability setups across different market conditions, leveraging a mashup of technical indicators for confirmation and risk management. Below, I’ll explain why this combination works, how the components interact, and how to use it effectively.
#### Why the Mashup?
- **Reversals**: Identifies overextended moves using RSI (overbought/oversold) and SMA50 crosses, filtered by VWAP and SMA200 trend direction. This targets mean-reversion opportunities in trending markets.
- **Breakouts**: Uses EMA9/EMA20 crossovers with VWAP and SMA200 confirmation to catch momentum-driven trend continuations.
- **Opening Range Breakout (ORB)**: Detects early momentum by breaking the high/low of a user-defined opening range (default: 15 bars) with volume confirmation. This adds a time-based edge, ideal for intraday trading.
The synergy comes from blending these methods: reversals catch pullbacks, breakouts ride trends, and ORB exploits early volatility—all filtered by trend (SMA200) and anchored by VWAP for context.
#### How It Works
1. **Indicators**:
- **EMA9/EMA20**: Fast-moving averages for breakout signals.
- **SMA50**: Medium-term trend filter for reversals.
- **SMA200**: Long-term trend direction to align trades.
- **RSI (14)**: Measures overbought (>70) or oversold (<30) conditions.
- **VWAP**: Acts as a dynamic support/resistance level.
- **ATR (14)**: Sets stop-loss distance (default: 1.5x ATR).
- **Volume**: Confirms ORB breakouts (1.5x average volume of opening range).
2. **Entry Conditions**:
- **Long**: Triggers on reversal (SMA50 cross + RSI < 30 + below VWAP + uptrend), breakout (EMA9 > EMA20 + above VWAP + uptrend), or ORB (break above opening range high + volume).
- **Short**: Triggers on reversal (SMA50 cross + RSI > 70 + above VWAP + downtrend), breakout (EMA9 < EMA20 + below VWAP + downtrend), or ORB (break below opening range low + volume).
3. **Risk Management**:
- Risks 5% of equity per trade (based on the initial capital set in the strategy tester).
- Stop-loss: Based on lowest low/highest high over 7 bars ± 1.5x ATR.
- Targets: Two exits at 1:1 and 1:2 risk:reward (50% of position at each).
- Break-even: Stop moves to entry price after the first target is hit.
4. **Backtesting Settings**:
- Commission: Hardcoded at 0.1% per trade (realistic for most brokers).
- Slippage: Hardcoded at 2 ticks (realistic for most markets).
- Tested on datasets yielding 100+ trades (e.g., 2-min or 5-min charts over months).
#### How to Use It
- **Timeframe**: Works best on intraday (2-min, 5-min) or daily charts. Adjust `Opening Range Bars` (e.g., 15 bars = 30 min on 2-min chart) for your timeframe.
- **Settings**:
- Set your initial equity in the TradingView strategy tester’s "Properties" tab under "Initial Capital" (e.g., $10,000). The script automatically risks 5% of this equity per trade.
- Adjust `Stop Loss ATR Multiplier` or `Risk:Reward Targets` based on your risk tolerance.
- Note that commission (0.1%) and slippage (2 ticks) are fixed in the script for backtesting consistency.
- **Execution**: Enter on signal, monitor plotted stop (red) and targets (green/blue). The strategy supports pyramiding (up to 2 positions) for scaling into trends.
#### Backtesting Notes
Results are realistic with commission (0.1%) and slippage (2 ticks) included. For a sufficient sample, test on volatile instruments (e.g., stocks, forex) over 3-6 months on lower timeframes. The default 1.5x ATR stop may seem wide, but it’s justified to avoid premature exits in volatile markets—feel free to tweak it with justification. The script assumes an initial capital of $10,000 in the strategy tester for the 5% risk calculation (e.g., $500 risk per trade); adjust this in the "Properties" tab as needed.
This mashup isn’t just a random mix; it’s a deliberate fusion of complementary strategies, offering traders flexibility across market phases. Questions? Let me know!
Forex Fire EMA/MA/RSI StrategyEURUSD
The entry method in the Forex Fire EMA/MA/RSI Strategy combines several conditions across two timeframes. Here's a breakdown of how entries are determined:
Long Entry Conditions:
15-Minute Timeframe Conditions:
EMA 13 > EMA 62 (short-term momentum is bullish)
Price > MA 200 (trading above the major trend indicator)
Fast RSI (7) > Slow RSI (28) (momentum is increasing)
Fast RSI > 50 (showing bullish momentum)
Volume is increasing compared to 20-period average
4-Hour Timeframe Confluence:
EMA 13 > EMA 62 (larger timeframe confirms bullish trend)
Price > MA 200 (confirming overall uptrend)
Slow RSI (28) > 40 (showing bullish bias)
Fast RSI > Slow RSI (momentum is supporting the move)
Additional Precision Requirement:
Either EMA 13 has just crossed above EMA 62 (crossover)
OR price has just crossed above MA 200
Short Entry Conditions:
15-Minute Timeframe Conditions:
EMA 13 < EMA 62 (short-term momentum is bearish)
Price < MA 200 (trading below the major trend indicator)
Fast RSI (7) < Slow RSI (28) (momentum is decreasing)
Fast RSI < 50 (showing bearish momentum)
Volume is increasing compared to 20-period average
4-Hour Timeframe Confluence:
EMA 13 < EMA 62 (larger timeframe confirms bearish trend)
Price < MA 200 (confirming overall downtrend)
Slow RSI (28) < 60 (showing bearish bias)
Fast RSI < Slow RSI (momentum is supporting the move)
Additional Precision Requirement:
Either EMA 13 has just crossed under EMA 62 (crossunder)
OR price has just crossed under MA 200
The key aspect of this strategy is that it requires alignment between the shorter timeframe (15m) and the larger timeframe (4h), which helps filter out false signals and focuses on trades that have strong multi-timeframe support. The crossover/crossunder requirement further refines entries by looking for actual changes in direction rather than just conditions that might have been in place for a long time.
TR FVG Finder 1.0TR FVG Finder 1.0 - Identify High-Probability Trading Zones
Unlock the power of Fair Value Gaps (FVGs) with this advanced TradingView indicator! Designed for traders seeking high-probability setups, the Fair Value Gap Detector identifies key price imbalances on your chart, helping you spot potential reversal and continuation zones with precision.
Key Features:
Accurate FVG Detection: Automatically detects bullish and bearish Fair Value Gaps based on a proven 3-candle pattern, highlighting areas where price is likely to return.
Customizable Display: Shows the most recent 3 FVGs by default (combined bullish and bearish), with an option to adjust the number of FVGs displayed.
Visual Clarity: Draws semi-transparent boxes (green for bullish FVGs, red for bearish FVGs) that extend 15 candles to the right, making it easy to track key levels.
Versatile for All Markets: Works on any timeframe and instrument—perfect for forex, stocks, crypto, and commodities like XAU/USD (gold).
User-Friendly: Simple to use with customizable settings, ideal for both beginner and experienced traders.
How It Works:
The indicator identifies FVGs by analyzing a 3-candle pattern:
- Bullish FVG: When the high of the candle two bars back is below the low of the current candle.
- Bearish FVG: When the low of the candle two bars back is above the high of the current candle. These gaps often act as magnets for price, making them powerful zones for trading strategies like breakouts, pullbacks, or reversals.
Why Use This Indicator?
- Enhance your technical analysis with a proven concept used by institutional traders.
- Spot high-probability trading opportunities with clear visual cues.
- Save time by automating FVG detection—no manual drawing required.
Best Practices:
- Use on lower timeframes (e.g., 15-minute or 1-hour) for more frequent FVGs, especially in volatile markets like forex or crypto.
- Combine with other indicators (e.g., support/resistance, volume) for confirmation.
- Ideal for strategies like ICT (Inner Circle Trader) concepts, Smart Money trading, and price action analysis.
Regards,
Trader Riaz
EMA Clouds with Strict Buy/Sell SignalsEMA Clouds with Strict Buy/Sell Signals - Precision Trading Unleashed
Unlock the power of trend-following precision with the EMA Clouds with Strict Buy/Sell Signals indicator, a sophisticated tool built for traders who demand reliability and clarity in their decision-making. Inspired by the legendary Ripster EMA Clouds, this indicator takes the classic cloud concept to the next level by incorporating stricter, high-confidence signals—perfect for navigating the markets on 15-minute or higher timeframes.
Why You’ll Want This on Your Chart:
Dual EMA Clouds for Crystal-Clear Trends: Watch as two dynamic clouds—formed by carefully paired Exponential Moving Averages (8/21 and 34/50)—paint a vivid picture of market momentum. The green short-term cloud and red long-term cloud provide an intuitive, at-a-glance view of trend direction and strength.
Stricter Signals, Fewer False Moves: Tired of chasing weak signals? This indicator only triggers buy and sell signals when the stars align: a cloud crossover (short-term crossing above or below long-term) and price confirmation above or below both clouds. The result? Fewer trades, higher conviction, and a cleaner chart.
Customizable Timeframe Power: Whether you’re a scalper on the 15-minute chart or a swing trader on the daily, tailor the clouds to your preferred higher timeframe (15min, 30min, 1hr, 4hr, or daily) for seamless integration into your strategy.
Visual Mastery Meets Actionable Alerts: Green buy triangles below the bars and red sell triangles above them make spotting opportunities effortless. Pair this with built-in alerts, and you’ll never miss a high-probability trade again.
How It Works:
Buy Signal: Triggers when the short-term cloud crosses above the long-term cloud and the price surges above both, signaling a robust bullish breakout.
Sell Signal: Activates when the short-term cloud dips below the long-term cloud and the price falls beneath both, confirming bearish dominance.
Cloud Visualization: The green cloud (8/21 EMA) tracks fast-moving trends, while the red cloud (34/50 EMA) anchors the broader market direction—together, they filter noise and spotlight tradable moves.
Why Traders Will Love It:
Designed for those who value precision over guesswork, this indicator cuts through market clutter to deliver signals you can trust. Whether you’re trading stocks, forex, crypto, or futures, its adaptability and strict logic make it a must-have tool for serious traders. Customize the EMA lengths, tweak the timeframe, and watch your edge sharpen.
Add EMA Clouds with Strict Buy/Sell Signals to your chart today and experience the confidence of trading with a tool that’s as disciplined as you are. Your next big move is waiting—don’t let it slip away.
ICT Bread and Butter Sell-SetupICT Bread and Butter Sell-Setup – TradingView Strategy
Overview:
The ICT Bread and Butter Sell-Setup is an intraday trading strategy designed to capitalize on bearish market conditions. It follows institutional order flow and exploits liquidity patterns within key trading sessions—London, New York, and Asia—to identify high-probability short entries.
Key Components of the Strategy:
🔹 London Open Setup (2:00 AM – 8:20 AM NY Time)
The London session typically sets the initial directional move of the day.
A short-term high often forms before a downward push, establishing the daily high.
🔹 New York Open Kill Zone (8:20 AM – 10:00 AM NY Time)
The New York Judas Swing (a temporary rally above London’s high) creates an opportunity for short entries.
Traders fade this move, anticipating a sell-off targeting liquidity below previous lows.
🔹 London Close Buy Setup (10:30 AM – 1:00 PM NY Time)
If price reaches a higher timeframe discount array, a retracement higher is expected.
A bullish order block or failure swing signals a possible reversal.
The risk is set just below the day’s low, targeting a 20-30% retracement of the daily range.
🔹 Asia Open Sell Setup (7:00 PM – 2:00 AM NY Time)
If institutional order flow remains bearish, a short entry is taken around the 0-GMT Open.
Expect a 15-20 pip decline as the Asian range forms.
Strategy Rules:
📉 Short Entry Conditions:
✅ New York Judas Swing occurs (price moves above London’s high before reversing).
✅ Short entry is triggered when price closes below the open.
✅ Stop-loss is set 10 pips above the session high.
✅ Take-profit targets liquidity zones on higher timeframes.
📈 Long Entry (London Close Reversal):
✅ Price reaches a higher timeframe discount array between 10:30 AM – 1:00 PM NY Time.
✅ A bullish order block confirms the reversal.
✅ Stop-loss is set 10 pips below the day’s low.
✅ Take-profit targets 20-30% of the daily range retracement.
📉 Asia Open Sell Entry:
✅ Price trades slightly above the 0-GMT Open.
✅ Short entry is taken at resistance, targeting a quick 15-20 pip move.
Why Use This Strategy?
🚀 Institutional Order Flow Tracking – Aligns with smart money concepts.
📊 Precise Session Timing – Uses market structure across London, New York, and Asia.
🎯 High-Probability Entries – Focuses on liquidity grabs and engineered stop hunts.
📉 Optimized Risk Management – Defined stop-loss and take-profit levels.
This strategy is ideal for traders looking to trade with institutions, fade liquidity grabs, and capture high-probability short setups during the trading day. 📉🔥
Quarterly Theory ICT 03 [TradingFinder] Precision Swing Points🔵 Introduction
Precision Swing Point (PSP) is a divergence pattern in the closing of candles between two correlated assets, which can indicate a potential trend reversal. This structure appears at market turning points and highlights discrepancies between the price behavior of two related assets.
PSP typically forms in key timeframes such as 5-minute, 15-minute, and 90-minute charts, and is often used in combination with Smart Money Concepts (SMT) to confirm trade entries.
PSP is categorized into Bearish PSP and Bullish PSP :
Bearish PSP : Occurs when an asset breaks its previous high, and its middle candle closes bullish, while the correlated asset closes bearish at the same level. This divergence signals weakness in the uptrend and a potential price reversal downward.
Bullish PSP : Occurs when an asset breaks its previous low, and its middle candle closes bearish, while the correlated asset closes bullish at the same level. This suggests weakness in the downtrend and a potential price increase.
🟣 Trading Strategies Using Precision Swing Point (PSP)
PSP can be integrated into various trading strategies to improve entry accuracy and filter out false signals. One common method is combining PSP with SMT (divergence between correlated assets), where traders identify divergence and enter a trade only after PSP confirms the move.
Additionally, PSP can act as a liquidity gap, meaning that price tends to react to the wick of the PSP candle, making it a favorable entry point with a tight stop-loss and high risk-to-reward ratio. Furthermore, PSP combined with Order Blocks and Fair Value Gaps in higher timeframes allows traders to identify stronger reversal zones.
In lower timeframes, such as 5-minute or 15-minute charts, PSP can serve as a confirmation for more precise entries in the direction of the higher timeframe trend. This is particularly useful in scalping and intraday trading, helping traders execute smarter entries while minimizing unnecessary stop-outs.
🔵 How to Use
PSP is a trading pattern based on divergence in candle closures between two correlated assets. This divergence signals a difference in trend strength and can be used to identify precise market turning points. PSP is divided into Bullish PSP and Bearish PSP, each applicable for long and short trades.
🟣 Bullish PSP
A Bullish PSP forms when, at a market turning point, the middle candle of one asset closes bearish while the correlated asset closes bullish. This discrepancy indicates weakness in the downtrend and a potential price reversal upward.
Traders can use this as a signal for long (buy) trades. The best approach is to wait for price to return to the wick of the PSP candle, as this area typically acts as a liquidity level.
f PSP forms within an Order Block or Fair Value Gap in a higher timeframe, its reliability increases, allowing for entries with tight stop-loss and optimal risk-to-reward ratios.
🟣 Bearish PSP
A Bearish PSP forms when, at a market turning point, the middle candle of one asset closes bullish while the correlated asset closes bearish. This indicates weakness in the uptrend and a potential price decline.
Traders use this pattern to enter short (sell) trades. The best entry occurs when price retests the wick of the PSP candle, as this level often acts as a resistance zone, pushing price lower.
If PSP aligns with a significant liquidity area or Order Block in a higher timeframe, traders can enter with greater confidence and place their stop-loss just above the PSP wick.
Overall, PSP is a highly effective tool for filtering false signals and improving trade entry precision. Combining PSP with SMT, Order Blocks, and Fair Value Gaps across multiple timeframes allows traders to execute higher-accuracy trades with lower risk.
🔵 Settings
Mode :
2 Symbol : Identifies PSP and PCP between two correlated assets.
3 Symbol : Compares three assets to detect more complex divergences and stronger confirmation signals.
Second Symbol : The second asset used in PSP and correlation calculations.
Third Symbol : Used in three-symbol mode for deeper PSP and PCP analysis.
Filter Precision X Point : Enables or disables filtering for more precise PSP and PCP detection. This filter only identifies PSP and PCP when the base asset's candle qualifies as a Pin Bar.
Trend Effect : By changing the Trend Effect status to "Off," all Pin bars, whether bullish or bearish, are displayed regardless of the current market trend. If the status remains "On," only Pin bars in the direction of the main market trend are shown.
Bullish Pin Bar Setting : Using the "Ratio Lower Shadow to Body" and "Ratio Lower Shadow to Higher Shadow" settings, you can customize your bullish Pin bar candles. Larger numbers impose stricter conditions for identifying bullish Pin bars.
Bearish Pin Bar Setting : Using the "Ratio Higher Shadow to Body" and "Ratio Higher Shadow to Lower Shadow" settings, you can customize your bearish Pin bar candles. Larger numbers impose stricter conditions for identifying bearish Pin bars.
🔵 Conclusion
Precision Swing Point (PSP) is a powerful analytical tool in Smart Money trading strategies, helping traders identify precise market turning points by detecting divergences in candle closures between correlated assets. PSP is classified into Bullish PSP and Bearish PSP, each playing a crucial role in detecting trend weaknesses and determining optimal entry points for long and short trades.
Using the PSP wick as a key liquidity level, integrating it with SMT, Order Blocks, and Fair Value Gaps, and analyzing higher timeframes are effective techniques to enhance trade entries. Ultimately, PSP serves as a complementary tool for improving entry accuracy and reducing unnecessary stop-outs, making it a valuable addition to Smart Money trading methodologies.
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