Breakout LabelsThis script labels the highest price of the lowest candle over a period of time. It then labels any bullish breakouts where the close price is higher than the high of the lowest candle.
Corak carta
Logistic Regression ICT FVG🚀 OVERVIEW
Welcome to the Logistic Regression Fair Value Gap (FVG) System — a next-gen trading tool that blends precision gap detection with machine learning intelligence.
Unlike traditional FVG indicators, this one evolves with each bar of price action, scoring and filtering gaps based on real market behavior.
🔧 CORE FEATURES
✨ Smart Gap Detection
Automatically identifies bullish and bearish Fair Value Gaps using volatility-aware candle logic.
📊 Probability-Based Filtering
Uses logistic regression to assign each gap a confidence score (0 to 1), showing only high-probability setups.
🔁 Real-Time Retest Tracking
Continuously watches how price interacts with each gap to determine if it deserves respect.
📈 Multi-Factor Assessment
Evaluates RSI, MACD, and body size at gap formation to build a full context snapshot.
🧠 Self-Learning Engine
The logistic regression model updates on each bar using gradient descent, refining its predictions over time.
📢 Built-In Alerts
Get instant alerts when a gap forms, gets retested, or breaks.
🎨 Custom Display Options
Control the color of bullish/bearish zones, and toggle on/off probability labels for cleaner charts.
🚩 WHAT MAKES IT DIFFERENT
This isn’t just another box-drawing indicator.
While others mark every imbalance, this system thinks before it draws — using statistical modeling to filter out noise and prioritize high-impact zones.
By learning from how price behaves around gaps (not just how they form), it helps you trade only what matters — not what clutters.
⚙️ HOW IT WORKS
1️⃣ Detection
FVGs are identified using ATR-based thresholds and sharp wick imbalances.
2️⃣ Behavior Monitoring
Every gap is tracked — and if respected enough times, it becomes part of the elite training set.
3️⃣ Context Capture
Each new FVG logs RSI, MACD, and body size to provide a feature-rich context for prediction.
4️⃣ Prediction (Logistic Regression)
The model predicts how likely the gap is to be respected and assigns it a probability score.
5️⃣ Classification & Alerts
Gaps above the threshold are plotted with score labels, and alerts trigger for entry/respect/break.
⚙️ CONFIGURATION PANEL
🔧 System Inputs
• Max Retests – How many times a gap must be respected to train the model
• Prediction Threshold – Minimum score to show a gap on the chart
• Learning Rate – Controls how fast the model adapts (default: 0.009)
• Max FVG Lifetime – Expiration duration for unused gaps
• Show Historic Gaps – Show/hide expired or invalidated gaps
🎨 Visual Options
• Bullish/Bearish Colors – Set gap colors to fit your chart style
• Confidence Labels – Show probability scores next to FVGs
• Alert Toggles – Enable alerts for:
– New FVG detected
– FVG respected (entry)
– FVG invalidated (break)
💡 WHY LOGISTIC REGRESSION?
Traditional FVG tools rely on candle shapes.
This system relies on probability — by training on RSI, MACD, and price behavior, it predicts whether a gap will act as a true liquidity zone.
Logistic regression lets the system continuously adapt using new data, making it more accurate the longer it runs.
That means smarter signals, fewer false positives, and a clearer view of where real opportunities lie.
Fast Fourier Transform [ScorsoneEnterprises]The SCE Fast Fourier Transform (FFT) is a tool designed to analyze periodicities and cyclical structures embedded in price. This is a Fourier analysis to transform price data from the time domain into the frequency domain, showing the rhythmic behaviors that are otherwise invisible on standard charts.
Instead of merely observing raw prices, this implementation applies the FFT on the logarithmic returns of the asset:
Log Return(𝑚) = log(close / close )
This ensures stationarity and stabilizes variance, making the analysis statistically robust and less influenced by trends or large price swings.
For a user-defined lookback window 𝑁:
Each frequency component 𝑘 is computed by summing real and imaginary projections of log-returns multiplied by complex exponential functions:
𝑒^−𝑖𝜃 = cos(𝜃)−𝑖sin(𝜃)
where:
θ = 2πkm / N
he result is the magnitude spectrum, calculated as:
Magnitude(𝑘) = sqrt(Real_Sum(𝑘)^2 + Imag_Sum(𝑘)^2)
This spectrum represents the strength of oscillations at each frequency over the lookback period, helping traders identify dominant cycles.
Visual Analysis & Interpretation
To give traders context for the FFT spectrum’s values, this script calculates:
25th Percentile (Purple Line)
Represents relatively low cyclical intensity.
Values below this threshold may signal quiet, noisy, or trendless periods.
75th Percentile (Red Line)
Represents heightened cyclical dominance.
Values above this threshold may indicate significant periodic activity and potential trend formation or rhythm in price action.
The FFT magnitude of the lowest frequency component (index 0) is plotted directly on the chart in teal. Observing how this signal fluctuates relative to its percentile bands provides a dynamic measure of cyclical market activity.
Chart examples
In this NYSE:CL chart, we see the regime of the price accurately described in the spectral analysis. We see the price above the 75th percentile continue to trend higher until it breaks back below.
In long trending markets like NYSE:PL has been, it can give a very good explanation of the strength. There was confidence to not switch regimes as we never crossed below the 75th percentile early in the move.
The script is also usable on the lower timeframes. There is no difference in the usability from the different timeframes.
Script Parameters
Lookback Value (N)
Default: 30
Defines how many bars of data to analyze. Larger N captures longer-term cycles but may smooth out shorter-term oscillations.
Candles by Day, Time, Month + StatsThis Pine Script allows you to filter and display candles based on:
📅 Specific days of the week
🕒 Custom intraday time ranges (e.g., 9:15 to 10:30)
📆 Selected months
📊 Shows stats for each filtered block:
🔼 Range (High – Low)
📏 Average candle body size
⚙️ Key Features:
✅ Filter by day, time, and month
🎛 Toggle to show/hide the stats label
🟩 Candles are drawn only for selected conditions
📍 Stats label is positioned above session high (adjustable)
⚠️ Important Setup Instructions:
✅ 1. Use it on a blank chart
To avoid overlaying with default candles:
Open the chart of your preferred symbol
Click on the chart type (top toolbar: "Candles", "Bars", etc.)
Select "Blank" from the dropdown (this will hide all native candles)
Apply this indicator
This ensures only the filtered candles from the script are visible.
Adjust for your local timezone
This script uses a hardcoded timezone: "Asia/Kolkata"
If you are in a different timezone, change it to your own (e.g. "America/New_York", "Europe/London", etc.) in all instances of:
time(timeframe.period, "Asia/Kolkata")
timestamp("Asia/Kolkata", ...)
Use Cases:
Opening range behavior on specific weekdays/months
Detecting market anomalies during exact windows
Building visual logs of preferred trade hours
Repeating Trend HighlighterThis custom indicator helps you see when the current price trend is similar to a past trend over the same number of candles. Think of it like checking whether the market is repeating itself.
You choose three settings:
• Lookback Period: This is how many candles you want to measure. For example, if you set it to 10, it looks at the price change over the last 10 bars.
• Offset Bars Ago: This tells the indicator how far back in time to look for a similar move. If you set it to 50, it compares the current move to what happened 50 bars earlier.
• Tolerance (%): This is how closely the moves must match to be considered similar. A smaller number means you only get a signal if the moves are almost the same, while a larger number allows more flexibility.
When the current price move is close enough to the past move you picked, the background of your chart turns light green. This makes it easy to spot repeating trends without studying numbers manually.
You’ll also see two lines under your chart if you enable them: a blue line showing the percentage change of the current move and an orange line showing the change in the past move. These help you compare visually.
This tool is useful in several ways. You can use it to confirm your trading setups, for example if you suspect that a strong rally or pullback is happening again. You can also use it to filter trades by combining it with other indicators, so you only enter when trends repeat. Many traders use it as a learning tool, experimenting with different lookback periods and offsets to understand how often similar moves happen.
If you are a scalper working on short timeframes, you can set the lookback to a small number like 3–5 bars. Swing traders who prefer daily or weekly charts might use longer lookbacks like 20–30 bars.
Keep in mind that this indicator doesn’t guarantee price will move the same way again—it only shows similarity in how price changed over time. It works best when you use it together with other signals or market context.
In short, it’s like having a simple spotlight that tells you: “This move looks a lot like what happened before.” You can then decide if you want to act on that information.
If you’d like, I can help you tweak the settings or combine it with alerts so it notifies you when these patterns appear.
Range Bar Gaps DetectorRange Bar Gaps Detector
Overview
The Range Bar Gaps Detector identifies price gaps across multiple range bar sizes (12, 24, 60, and 120) on any trading instrument, helping traders spot potential support/resistance zones or breakout opportunities. Designed for Pine Script v6, this indicator detects gaps on range bars and exports data for use in companion scripts like Range Bar Gaps Overlap, making it ideal for multi-timeframe gap analysis.
Key Features
Multi-Range Gap Detection: Identifies gaps on 12, 24, 60, and 120-range bars, capturing both bullish (gap up) and bearish (gap down) price movements.
Customizable Sensitivity: Includes a user-defined minimum deviation (default: 10% of 14-period SMA) for 12-range gaps to filter out noise.
7-Day Lookback: Automatically prunes gaps older than 7 days to focus on recent, relevant price levels.
Data Export: Serializes up to 10 gaps per range (tops, bottoms, start bars, highest/lowest prices, and age) for seamless integration with overlap analysis scripts.
Debugging Support: Plots gap counts and aggregation data in the Data Window for easy verification of detected gaps.
How It Works
The indicator aggregates price movements to simulate higher range bars (24, 60, 120) from a base range bar chart. It detects gaps when the price jumps significantly between bars, ensuring gaps meet the minimum deviation threshold for 12-range bars. Gaps are stored in arrays, serialized for external use, and pruned after 7 days to maintain efficiency.
Usage
Add to your range bar chart (e.g., 12-range) to detect gaps across multiple ranges.
Use alongside the Range Bar Gaps Overlap indicator to visualize gaps and their overlaps as boxes on the chart.
Check the Data Window to confirm gap counts and sizes for each range (12, 24, 60, 120).
Adjust the "Minimal Deviation (%) for 12-Range" input to control gap detection sensitivity.
Settings
Minimal Deviation (%) for 12-Range: Set the minimum gap size for 12-range bars (default: 10% of 14-period SMA).
Range Sizes: Fixed at 24, 60, and 120 for higher range bar aggregation.
Notes
Ensure the script is published under your TradingView username (e.g., GreenArrow2005) for use with companion scripts.
Best used on range bar charts to maintain consistent gap detection.
For advanced overlap analysis, pair with the Range Bar Gaps Overlap indicator to highlight zones where gaps from different ranges align.
Ideal For
Traders seeking to identify key price levels for support/resistance or breakout strategies.
Multi-timeframe analysts combining gap data across various range bar sizes.
Developers building custom indicators that leverage gap data for advanced charting.
Divergence Screener [Trendoscope®]🎲Overview
The Divergence Screener is a powerful TradingView indicator designed to detect and visualize bullish and bearish divergences, including hidden divergences, between price action and a user-selected oscillator. Built with flexibility in mind, it allows traders to customize the oscillator type, trend detection method, and other parameters to suit various trading strategies. The indicator is non-overlay, displaying divergence signals directly on the oscillator plot, with visual cues such as lines and labels on the chart for easy identification.
This indicator is ideal for traders seeking to identify potential reversal or continuation signals based on price-oscillator divergences. It supports multiple oscillators, trend detection methods, and alert configurations, making it versatile for different markets and timeframes.
🎲Features
🎯Customizable Oscillator Selection
Built-in Oscillators : Choose from a variety of oscillators including RSI, CCI, CMO, COG, MFI, ROC, Stochastic, and WPR.
External Oscillator Support : Users can input an external oscillator source, allowing integration with custom or third-party indicators.
Configurable Length : Adjust the oscillator’s period (e.g., 14 for RSI) to fine-tune sensitivity.
🎯Divergence Detection
The screener identifies four types of divergences:
Bullish Divergence : Price forms a lower low, but the oscillator forms a higher low, signaling potential upward reversal.
Bearish Divergence : Price forms a higher high, but the oscillator forms a lower high, indicating potential downward reversal.
Bullish Hidden Divergence : Price forms a higher low, but the oscillator forms a lower low, suggesting trend continuation in an uptrend.
Bearish Hidden Divergence : Price forms a lower high, but the oscillator forms a higher high, suggesting trend continuation in a downtrend.
🎯Flexible Trend Detection
The indicator offers three methods to determine the trend context for divergence detection:
Zigzag : Uses zigzag pivots to identify trends based on higher highs (HH), higher lows (HL), lower highs (LH), and lower lows (LL).
MA Difference : Calculates the trend based on the difference in a moving average (e.g., SMA, EMA) between divergence pivots.
External Trend Signal : Allows users to input an external trend signal (positive for uptrend, negative for downtrend) for custom trend analysis.
🎯Zigzag-Based Pivot Analysis
Customizable Zigzag Length : Adjust the zigzag length (default: 13) to control the sensitivity of pivot detection.
Repaint Option : Choose whether divergence lines repaint based on the latest data or wait for confirmed pivots, balancing responsiveness and reliability.
🎯Visual and Alert Features
Divergence Visualization : Divergence lines are drawn between price pivots and oscillator pivots, color-coded for easy identification:
Bullish Divergence : Green
Bearish Divergence : Red
Bullish Hidden Divergence : Lime
Bearish Hidden Divergence : Orange
Labels and Tooltips : Labels (e.g., “D” for divergence, “H” for hidden) appear on price and oscillator pivots, with tooltips providing detailed information such as price/oscillator values, ratios, and pivot directions.
Alerts : Configurable alerts for each divergence type (bullish, bearish, bullish hidden, bearish hidden) trigger on bar close, ensuring timely notifications.
🎲 How It Works
🎯Oscillator Calculation
The indicator calculates the selected oscillator (or uses an external source) and plots it on the chart.
Oscillator values are stored in a map for reference during divergence calculations.
🎯Pivot Detection
A zigzag algorithm identifies pivots in the oscillator data, with configurable length and repainting options.
Price and oscillator pivots are compared to detect divergences based on their direction and ratio.
🎯Divergence Identification
The indicator compares price and oscillator pivot directions (HH, HL, LH, LL) to identify divergences.
Trend context is determined using the selected method (Zigzag, MA Difference, or External).
Divergences are classified as bullish, bearish, bullish hidden, or bearish hidden based on price-oscillator relationships and trend direction.
🎯Visualization and Alerts
Valid divergences are drawn as lines connecting price and oscillator pivots, with corresponding labels.
Alerts are triggered for allowed divergence types, providing detailed information via tooltips.
🎯Validation
Divergence lines are validated to ensure no intermediate bars violate the divergence condition, enhancing signal reliability.
🎲 Usage Instructions as Indicator
🎯Add to Chart:
Add the “Divergence Screener ” to your TradingView chart.
The indicator appears in a separate pane below the price chart, plotting the oscillator and divergence signals.
🎯Configure Settings:
Adjust the oscillator type and length to match your trading style.
Select a trend detection method and configure related parameters (e.g., MA type/length or external signal).
Set the zigzag length and repainting preference.
Enable/disable alerts for specific divergence types.
I🎯nterpret Signals:
Bullish Divergence (Green) : Look for potential buy opportunities in a downtrend.
Bearish Divergence (Red) : Consider sell opportunities in an uptrend.
Bullish Hidden Divergence (Lime) : Confirm continuation in an uptrend.
Bearish Hidden Divergence (Orange): Confirm continuation in a downtrend.
Use tooltips on labels to review detailed pivot and divergence information.
🎯Set Alerts:
Create alerts for each divergence type to receive notifications via TradingView’s alert system.
Alerts include detailed text with price, oscillator, and divergence information.
🎲 Example Scenarios as Indicator
🎯 With External Oscillator (Use MACD Histogram as Oscillator)
In order to use MACD as an oscillator for divergence signal instead of the built in options, follow these steps.
Load MACD Indicator from Indicator library
From Indicator settings of Divergence Screener, set Use External Oscillator and select MACD Histograme from the dropdown
You can now see that the oscillator pane shows the data of selected MACD histogram and divergence signals are generated based on the external MACD histogram data.
🎯 With External Trend Signal (Supertrend Ladder ATR)
Now let's demonstrate how to use external direction signals using Supertrend Ladder ATR indicator. Please note that in order to use the indicator as trend source, the indicator should return positive integer for uptrend and negative integer for downtrend. Steps are as follows:
Load the desired trend indicator. In this example, we are using Supertrend Ladder ATR
From the settings of Divergence Screener, select "External" as Trend Detection Method
Select the trend detection plot Direction from the dropdown. You can now see that the divergence signals will rely on the new trend settings rather than the built in options.
🎲 Using the Script with Pine Screener
The primary purpose of the Divergence Screener is to enable traders to scan multiple instruments (e.g., stocks, ETFs, forex pairs) for divergence signals using TradingView’s Pine Screener, facilitating efficient comparison and identification of trading opportunities.
To use the Divergence Screener as a screener, follow these steps:
Add to Favorites : Add the Divergence Screener to your TradingView favorites to make it available in the Pine Screener.
Create a Watchlist : Build a watchlist containing the instruments (e.g., stocks, ETFs, or forex pairs) you want to scan for divergences.
Access Pine Screener : Navigate to the Pine Screener via TradingView’s main menu: Products -> Screeners -> Pine, or directly visit tradingview.com/pine-screener/.
Select Watchlist : Choose the watchlist you created from the Watchlist dropdown in the Pine Screener interface.
Choose Indicator : Select Divergence Screener from the Choose Indicator dropdown.
Configure Settings : Set the desired timeframe (e.g., 1 hour, 1 day) and adjust indicator settings such as oscillator type, zigzag length, or trend detection method as needed.
Select Filter Criteria : Select the condition on which the watchlist items needs to be filtered. Filtering can only be done on the plots defined in the script.
Run Scan : Press the Scan button to display divergence signals across the selected instruments. The screener will show which instruments exhibit bullish, bearish, bullish hidden, or bearish hidden divergences based on the configured settings.
🎲 Limitations and Possible Future Enhancements
Limitations are
Custom input for oscillator and trend detection cannot be used in pine screener.
Pine screener has max 500 bars available.
Repaint option is by default enabled. When in repaint mode expect the early signal but the signals are prone to repaint.
Possible future enhancements
Add more built-in options for oscillators and trend detection methods so that dependency on external indicators is limited
Multi level zigzag support
RSI For LoopTitle: RSI For Loop
SurgeQuant’s RSI with Threshold Colors and Bar Coloring indicator is a sophisticated tool designed to identify overbought and oversold conditions using a customizable Relative Strength Index (RSI). By averaging RSI over a user-defined lookback period, this indicator provides clear visual signals for bullish and bearish market conditions. The RSI line and price bars are dynamically colored to highlight momentum, making it easier for traders to spot potential trading opportunities.
How It Works
RSI Calculation:
Computes RSI based on a user-selected price source (Close, High, Low, or Open) with a configurable length (default: 5). Optional moving average smoothing refines the RSI signal for smoother analysis.
Lookback Averaging:
Averages the RSI over a user-defined lookback period (default: 5) to generate a stable momentum indicator, reducing noise and enhancing signal reliability.
Threshold-Based Signals:
Long Signal: Triggered when the averaged RSI exceeds the upper threshold (default: 52), indicating overbought conditions.
Short Signal: Triggered when the averaged RSI falls below the lower threshold (default: 48), indicating oversold conditions.
Visual Representation
The indicator provides a clear and customizable visual interface: Green RSI Line and Bars: Indicate overbought conditions when the averaged RSI surpasses the upper threshold, signaling potential long opportunities.
Red RSI Line and Bars: Indicate oversold conditions when the averaged RSI drops below the lower threshold, signaling potential short opportunities.
Neutral Gray RSI Line: Represents RSI values between thresholds for neutral market conditions.
Threshold Lines: Dashed gray lines mark the upper and lower thresholds on the RSI panel for easy reference.
Customization & Parameters
The RSI with Threshold Colors and Bar Coloring indicator offers flexible parameters to suit
various trading styles: Source: Select the input price (default: Close; options: Close, High, Low, Open).
RSI Length: Adjust the RSI calculation period (default: 5).
Smoothing: Enable/disable moving average smoothing (default: enabled) and set the smoothing length (default: 10).
Moving Average Type: Choose from multiple types (SMA, EMA, DEMA, TEMA, WMA, VWMA, SMMA, HMA, LSMA, ALMA; default: ALMA).
ALMA Sigma: Configure the ALMA smoothing parameter (default: 5).
Lookback Period: Set the period for averaging RSI (default: 5).
Thresholds: Customize the upper (default: 52) and lower (default: 48) thresholds for signal generation.
Color Settings: Transparent green and red colors (70% transparency) for bullish and bearish signals, with gray for neutral states.
Trading Applications
This indicator is versatile and can be applied across various markets and strategies: Momentum Trading: Highlights strong overbought or oversold conditions for potential entry or exit points.
Trend Confirmation: Use bar coloring to confirm RSI-based signals with price action on the main chart.
Reversal Detection: Identify potential reversals when RSI crosses the customizable thresholds.
Scalping and Swing Trading: Adjust parameters (e.g., RSI length, lookback) to suit short-term or longer-term strategies.
Final Note
SurgeQuant’s RSI with Threshold Colors and Bar Coloring indicator is a powerful tool for traders seeking to leverage RSI for momentum and reversal opportunities. Its combination of lookback-averaged RSI, dynamic threshold signals, and synchronized RSI and bar coloring offers a robust framework for informed trading decisions. As with all indicators, backtest thoroughly and integrate into a comprehensive trading strategy for optimal results.
log.info() - 5 Exampleslog.info() is one of the most powerful tools in Pine Script that no one knows about. Whenever you code, you want to be able to debug, or find out why something isn’t working. The log.info() command will help you do that. Without it, creating more complex Pine Scripts becomes exponentially more difficult.
The first thing to note is that log.info() only displays strings. So, if you have a variable that is not a string, you must turn it into a string in order for log.info() to work. The way you do that is with the str.tostring() command. And remember, it's all lower case! You can throw in any numeric value (float, int, timestamp) into str.string() and it should work.
Next, in order to make your output intelligible, you may want to identify whatever value you are logging. For example, if an RSI value is 50, you don’t want a bunch of lines that just say “50”. You may want it to say “RSI = 50”.
To do that, you’ll have to use the concatenation operator. For example, if you have a variable called “rsi”, and its value is 50, then you would use the “+” concatenation symbol.
EXAMPLE 1
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
//@version=6
indicator("log.info()")
rsi = ta.rsi(close,14)
log.info(“RSI= ” + str.tostring(rsi))
Example Output =>
RSI= 50
Here, we use double quotes to create a string that contains the name of the variable, in this case “RSI = “, then we concatenate it with a stringified version of the variable, rsi.
Now that you know how to write a log, where do you view them? There isn’t a lot of documentation on it, and the link is not conveniently located.
Open up the “Pine Editor” tab at the bottom of any chart view, and you’ll see a “3 dot” button at the top right of the pane. Click that, and right above the “Help” menu item you’ll see “Pine logs”. Clicking that will open that to open a pane on the right of your browser - replacing whatever was in the right pane area before. This is where your log output will show up.
But, because you’re dealing with time series data, using the log.info() command without some type of condition will give you a fast moving stream of numbers that will be difficult to interpret. So, you may only want the output to show up once per bar, or only under specific conditions.
To have the output show up only after all computations have completed, you’ll need to use the barState.islast command. Remember, barState is camelCase, but islast is not!
EXAMPLE 2
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
//@version=6
indicator("log.info()")
rsi = ta.rsi(close,14)
if barState.islast
log.info("RSI=" + str.tostring(rsi))
plot(rsi)
However, this can be less than ideal, because you may want the value of the rsi variable on a particular bar, at a particular time, or under a specific chart condition. Let’s hit these one at a time.
In each of these cases, the built-in bar_index variable will come in handy. When debugging, I typically like to assign a variable “bix” to represent bar_index, and include it in the output.
So, if I want to see the rsi value when RSI crosses above 0.5, then I would have something like
EXAMPLE 3
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
//@version=6
indicator("log.info()")
rsi = ta.rsi(close,14)
bix = bar_index
rsiCrossedOver = ta.crossover(rsi,0.5)
if rsiCrossedOver
log.info("bix=" + str.tostring(bix) + " - RSI=" + str.tostring(rsi))
plot(rsi)
Example Output =>
bix=19964 - RSI=51.8449459867
bix=19972 - RSI=50.0975830828
bix=19983 - RSI=53.3529808079
bix=19985 - RSI=53.1595745146
bix=19999 - RSI=66.6466337654
bix=20001 - RSI=52.2191767466
Here, we see that the output only appears when the condition is met.
A useful thing to know is that if you want to limit the number of decimal places, then you would use the command str.tostring(rsi,”#.##”), which tells the interpreter that the format of the number should only be 2 decimal places. Or you could round the rsi variable with a command like rsi2 = math.round(rsi*100)/100 . In either case you’re output would look like:
bix=19964 - RSI=51.84
bix=19972 - RSI=50.1
bix=19983 - RSI=53.35
bix=19985 - RSI=53.16
bix=19999 - RSI=66.65
bix=20001 - RSI=52.22
This would decrease the amount of memory that’s being used to display your variable’s values, which can become a limitation for the log.info() command. It only allows 4096 characters per line, so when you get to trying to output arrays (which is another cool feature), you’ll have to keep that in mind.
Another thing to note is that log output is always preceded by a timestamp, but for the sake of brevity, I’m not including those in the output examples.
If you wanted to only output a value after the chart was fully loaded, that’s when barState.islast command comes in. Under this condition, only one line of output is created per tick update — AFTER the chart has finished loading. For example, if you only want to see what the the current bar_index and rsi values are, without filling up your log window with everything that happens before, then you could use the following code:
EXAMPLE 4
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
//@version=6
indicator("log.info()")
rsi = ta.rsi(close,14)
bix = bar_index
if barstate.islast
log.info("bix=" + str.tostring(bix) + " - RSI=" + str.tostring(rsi))
Example Output =>
bix=20203 - RSI=53.1103309071
This value would keep updating after every new bar tick.
The log.info() command is a huge help in creating new scripts, however, it does have its limitations. As mentioned earlier, only 4096 characters are allowed per line. So, although you can use log.info() to output arrays, you have to be aware of how many characters that array will use.
The following code DOES NOT WORK! And, the only way you can find out why will be the red exclamation point next to the name of the indicator. That, and nothing will show up on the chart, or in the logs.
// CODE DOESN’T WORK
//@version=6
indicator("MW - log.info()")
var array rsi_arr = array.new()
rsi = ta.rsi(close,14)
bix = bar_index
rsiCrossedOver = ta.crossover(rsi,50)
if rsiCrossedOver
array.push(rsi_arr, rsi)
if barstate.islast
log.info("rsi_arr:" + str.tostring(rsi_arr))
log.info("bix=" + str.tostring(bix) + " - RSI=" + str.tostring(rsi))
plot(rsi)
// No code errors, but will not compile because too much is being written to the logs.
However, after putting some time restrictions in with the i_startTime and i_endTime user input variables, and creating a dateFilter variable to use in the conditions, I can limit the size of the final array. So, the following code does work.
EXAMPLE 5
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// CODE DOES WORK
//@version=6
indicator("MW - log.info()")
i_startTime = input.time(title="Start", defval=timestamp("01 Jan 2025 13:30 +0000"))
i_endTime = input.time(title="End", defval=timestamp("1 Jan 2099 19:30 +0000"))
var array rsi_arr = array.new()
dateFilter = time >= i_startTime and time <= i_endTime
rsi = ta.rsi(close,14)
bix = bar_index
rsiCrossedOver = ta.crossover(rsi,50) and dateFilter // <== The dateFilter condition keeps the array from getting too big
if rsiCrossedOver
array.push(rsi_arr, rsi)
if barstate.islast
log.info("rsi_arr:" + str.tostring(rsi_arr))
log.info("bix=" + str.tostring(bix) + " - RSI=" + str.tostring(rsi))
plot(rsi)
Example Output =>
rsi_arr:
bix=20210 - RSI=56.9030578034
Of course, if you restrict the decimal places by using the rounding the rsi value with something like rsiRounded = math.round(rsi * 100) / 100 , then you can further reduce the size of your array. In this case the output may look something like:
Example Output =>
rsi_arr:
bix=20210 - RSI=55.6947486019
This will give your code a little breathing room.
In a nutshell, I was coding for over a year trying to debug by pushing output to labels, tables, and using libraries that cluttered up my code. Once I was able to debug with log.info() it was a game changer. I was able to start building much more advanced scripts. Hopefully, this will help you on your journey as well.
Pivot Swings w Table Pivot Swings w Table — Intraday Structure & Range Analyzer
This indicator identifies key pivot highs and lows on the chart and highlights market structure shifts using a real-time table display. It helps traders visually confirm potential trade setups by tracking unbroken swing points and measuring the range between the most recent pivots.
🔍 Features:
🔹 Automatic Pivot Detection using configurable left/right bar logic.
🔹 Unbroken Pivot Filtering — only pivots that haven't been invalidated by price are displayed.
🔹 Dynamic Range Table with:
Latest valid Pivot High and Pivot Low
Total Range Width
Upper & Lower 25% range thresholds (useful for value/imbalance analysis)
🔹 Trend-Based Color Coding — the table background changes based on which pivot (high or low) occurred more recently:
🟥 Red: Downward bias (last pivot was a lower high)
🟩 Green: Upward bias (last pivot was a higher low)
🔹 Optional extension of pivot levels to the right of the chart for support/resistance confluence.
⚙️ How to Use:
Adjust the Left Bars and Right Bars inputs to fine-tune how swings are defined.
Look for price reacting near the Upper or Lower 25% zones to anticipate mean reversion or breakout setups.
Use the trend color of the table to confirm directional bias, especially useful during consolidation or retracement periods.
💡 Best For:
Intraday or short-term swing traders
Traders who use market structure, support/resistance, or trend-based strategies
Those looking to avoid low-quality trades in tight ranges
✅ Built for overlay use on price charts
📈 Works on all symbols and timeframes
🧠 No repainting — pivots are confirmed with completed bars
All SMAs Bullish/Bearish Screener (Enhanced)All SMAs Bullish/Bearish Screener Enhanced: Uncover High-Conviction Trend Alignments with Confidence
Description:
Are you ready to elevate your trading from mere guesswork to precise, data-driven decisions? The "All SMAs Bullish/Bearish Screener Enhanced" is not just another indicator; it's a sophisticated, yet user-friendly, trend-following powerhouse designed to cut through market noise and pinpoint high-probability trading opportunities. Built on the foundational strength of comprehensive Moving Average confluence and fortified with critical confirmation signals from Momentum, Volume, and Relative Strength, this script empowers you to identify truly robust trends and manage your trades with unparalleled clarity.
The Power of Multi-Factor Confluence: Beyond Simple Averages
In the unpredictable world of financial markets, true strength or weakness is rarely an isolated event. It's the harmonious alignment of multiple technical factors that signals a high-conviction move. While our original "All SMAs Bullish/Bearish Screener" intelligently identified stocks where price was consistently above or below a full spectrum of Simple Moving Averages (5, 10, 20, 50, 100, 200), this Enhanced version takes it a crucial step further.
We've integrated a powerful three-pronged confirmation system to filter out weaker signals and highlight only the most compelling setups:
Momentum (Rate of Change - ROC): A strong trend isn't just about price direction; it's about the speed and intensity of that movement. Positive momentum confirms that buyers are still aggressively pushing price higher (for bullish signals), while negative momentum validates selling pressure (for bearish signals).
Volume: No trend is truly trustworthy without the backing of smart money. Above-average volume accompanying an "All SMAs" alignment signifies strong institutional participation and conviction behind the move. It separates genuine trend starts from speculative whims.
Relative Strength Index (RSI): This versatile oscillator ensures the trend isn't just "there," but that it's developing healthily. We use RSI to confirm a bullish bias (above 50) or a bearish bias (below 50), adding another layer of confidence to the direction.
When the price aligns above ALL six critical SMAs, and is simultaneously confirmed by robust positive momentum, healthy volume, and a bullish RSI bias, you have an exceptionally strong "STRONGLY BULLISH" signal. This confluence often precedes sustained upward moves, signaling prime accumulation phases. Conversely, a "STRONGLY BEARISH" signal, where price is below ALL SMAs with negative momentum, confirming volume, and a bearish RSI bias, indicates powerful distribution and potential for significant downside.
How to Use This Enhanced Screener:
Add to Chart: Go to TradingView's Pine Editor, paste the script, and click "Add to Chart."
Customize Parameters: Fine-tune the lengths of your SMAs, RSI, Momentum, and Volume averages via the indicator's settings. Experiment to find what best suits your trading style and the assets you trade.
Choose Your Timeframe Wisely:
Daily (1D) and 4-Hour (240 min) are highly recommended. These timeframes cut through intraday noise and provide more reliable, actionable signals for swing and position trading.
Shorter timeframes (e.g., 15min, 60min) can be used by advanced day traders for very short-term entries, but be aware of increased volatility and noise.
Visual Confirmation:
Green/Red Triangles: Appear on your chart, indicating confirmed bullish or bearish signals.
Background Color: The chart background will subtly turn lime green for "STRONGLY BULLISH" and red for "STRONGLY BEARISH" conditions.
On-Chart Status Table: A clear table displays the current signal status ("STRONGLY BULLISH/BEARISH," or "SMAs Mixed") for immediate feedback.
Set Up Alerts (Your Primary Screener Tool): This is the game-changer! Create custom alerts on TradingView based on the "Confirmed Bullish Trade" and "Confirmed Bearish Trade" conditions. Receive instant notifications (email, pop-up, mobile) for any stock in your watchlist that meets these stringent criteria. This allows you to scan the entire market effortlessly and act decisively.
Strategic Stop-Loss Placement: The Trader's Lifeline
Even the most robust signals can fail. Protecting your capital is paramount. For this trend-following strategy, your stop-loss should be placed where the underlying trend structure is broken.
For a "STRONGLY BULLISH" Trade: Place your stop-loss just below the most recent significant swing low (higher low). This is the last point where buyers stepped in to support the price. If price breaks below this, your bullish thesis is invalidated.
For a "STRONGLY BEARISH" Trade: Place your stop-loss just above the most recent significant swing high (lower high). If price breaks above this, your bearish thesis is invalidated.
Alternatively, consider placing your stop-loss just below the 20-period SMA (for bullish trades) or above the 20-period SMA (for bearish trades). A significant close beyond this intermediate-term average often indicates a critical shift in momentum. Always ensure your chosen stop-loss adheres to your pre-defined risk per trade (e.g., 1-2% of capital).
Disciplined Profit Booking: Maximizing Gains
Just as important as knowing when you're wrong is knowing when to take profits.
Trailing Stop-Loss: As your trade moves into profit, trail your stop-loss upwards (for longs) or downwards (for shorts). You can trail it using:
Previous Swing Lows/Highs: Move your stop to just below each new higher low (for longs) or just above each new lower high (for shorts).
A Moving Average (e.g., 10-period or 20-period SMA): If price closes below your chosen trailing SMA, exit. This allows you to ride the trend while protecting accumulated profits.
Target Levels: Identify potential resistance levels (for longs) or support levels (for shorts) using pivot points, previous highs/lows, or Fibonacci extensions. Consider taking partial profits at these levels and letting the rest run with a trailing stop.
Loss of Confluence: If the "STRONGLY BULLISH/BEARISH" condition ceases to be met (e.g., RSI crosses below 50, or volume drops significantly), this can be a signal to reduce or exit your position, even if your stop-loss hasn't been hit.
The "All SMAs Bullish/Bearish Screener Enhanced" is your comprehensive partner in navigating the markets. By combining robust trend identification with critical confirmation signals and disciplined risk management, you're equipped to make smarter, more confident trading decisions. Add it to your favorites and unlock a new level of precision in your trading journey!
#PineScript #TradingView #SMA #MovingAverage #TrendFollowing #StockScreener #TechnicalAnalysis #Bullish #Bearish #QQQ #Momentum #Volume #RSI #SPY #TradingStrategy #Enhanced #Signals #Analysis #DayTrading #SwingTrading
[eLm] 0-1-2# 📈 Market Structure Indicator – Counter System
This indicator dynamically analyzes price action to detect key market structure shifts and trend strength using four essential formations:
## 🔍 Detected Structures
- **Higher High (HH):** A candle forming a new high above recent peaks
- **Lower Low (LL):** A candle forming a new low below recent bottoms
- **Higher Low (HL):** A higher dip, indicating potential trend continuation
- **Lower High (LH):** A lower peak, signaling potential weakness
## 🧠 Structure Protection Logic
After a HH or LL is formed, if price does not breach that level within a user-defined number of candles, the level is considered **"protected."**
This provides insight into trend strength and market reaction.
## 🔢 HL / LH Counter System
- Each HL or LH increases a counter.
- A new HH or LL **resets** the corresponding counter to zero.
> This helps visualize how many consecutive HL or LH structures have occurred — useful for measuring trend momentum.
## 🎯 Use Cases
- Trend following and confirmation
- Early trend reversal detection
- Building structure-based trading strategies
- Understanding price behavior and market intent
---
> **Note:** This indicator does not provide financial advice. It is designed to support technical analysis with clear, structure-based visual signals.
AZ Dynamic Trend Indicator with Heikin-Ashi### Dynamic Trend Indicator with Heikin-Ashi (v2.7)
**Effortlessly identify trends and reversals** with this versatile tool combining multi-timeframe analysis, adaptive moving averages, and Heikin-Ashi smoothing. Here's what it offers:
#### 🔍 **Core Features**
1. **Dual Timeframe Analysis**:
- Track trends on higher timeframes (e.g., 1H/D) while viewing signals on your current chart.
- Toggle between **Heikin-Ashi** or standard candles for cleaner trend visualization.
2. **8 Customizable MAs**:
- Choose from **ALMA, HMA, SMA, SWMA, VWMA, WMA, ZLEMA, or EMA** with adjustable periods.
- Unique "Trend Strength" metric: `(MA_Close - MA_Open) / (MA_High - MA_Low)` highlights momentum direction.
3. **Smart Signals**:
- **Entry/Exit**: Triangles mark crossovers between MA Close/Open.
- **Reversal Alerts**: Detects counter-trend moves within a user-defined window (default: 3 bars) after signals.
- Color-coded plots: Bullish (🟢), Bearish (🔴), Reversal Bull (🔵), Reversal Bear (🟠).
#### 🎨 **Visual Customization**
- Toggle **High/Low MA lines**, **Close line**, and **fill colors**.
- Adjust colors for all elements to match your chart theme.
- Hide signals or reversal markers as needed.
#### ⚙️ **Practical Use**
- **Trend Following**: Use the MA Close/Open crossover with trend fill colors to confirm direction.
- **Reversal Trading**: Capitalize on pullbacks with reversal signals (e.g., after a bearish signal, watch for Bull Reversal markers).
- **Multi-Timeframe Confirmation**: Avoid false signals by aligning higher-timeframe trends with your entries.
*Ideal for swing traders and trend riders!*
**Note**: Adjust `MA Period`, `Reversal Window`, and `Trend Timeframe` for your strategy. Disable Heikin-Ashi in choppy markets for faster reactions.
---
*Code v2.7 updates: Optimized reversal logic, added ALMA/ZLEMA support, and enhanced visual controls.*
LaCrazy Smash CandleLaCrazy Smash Candle highlights powerful engulfing candles that signal potential momentum reversals or breakout continuation.
Smash Long: The candle's low touches or dips below the prior candle's low, then closes above the previous high with a strong body (minimum % of the candle range).
Smash Short: The candle's high touches or exceeds the prior high, then closes below the previous low with a strong body.
These “Smash” moves often occur at key pivot points, signaling decisive rejections or trend continuation. Customize the body strength filter to match your strategy needs.
Opening Range Breakout🧭 Overview
The Open Range Breakout (ORB) indicator is designed to capture and display the initial price range of the trading day (typically the first 15 minutes), and help traders identify breakout opportunities beyond this range. This is a popular strategy among intraday and momentum traders.
🔧 Features
📊 ORB High/Low Lines
Plots horizontal lines for the session’s high and low
🟩 Breakout Zones
Background highlights when price breaks above or below the range
🏷️ Breakout Labels
Text labels marking breakout events
🧭 Session Control
Customizable session input (default: 09:15–09:30 IST)
📍 ORB Line Labels
Text labels anchored to the ORB high and low lines (aligned right)
🔔 Alerts
Configurable alerts for breakout events
⚙️ Adjustable Settings
Show/hide background, labels, session window, etc.
⏱️ Session Logic
• The ORB range is calculated during a defined session window (default: 09:15–09:30).
• During this window, the highest high and lowest low are recorded as ORB High and ORB Low.
📈 Breakout Detection
• Breakout Above: Triggered when price crosses above the ORB High.
• Breakout Below: Triggered when price crosses below the ORB Low.
• Each breakout can trigger:
• A background highlight (green/red)
• A text label (“Breakout ↑” / “Breakout ↓”)
• An optional alert
🔔 Alerts
Two built-in alert conditions:
1. Breakout Above ORB High
• Message: "🔼 Price broke above ORB High: {{close}}"
2. Breakout Below ORB Low
• Message: "🔽 Price broke below ORB Low: {{close}}"
You can create alerts in TradingView by selecting these from the Add Alert window.
📌 Best Use Cases
• Intraday momentum trading
• Breakout and scalping strategies
• First 15-minute range traders (NSE, BSE markets)
RSI OS/OB Background StripesThe "RSI OS/OB Background Stripes" indicator is a simple tool designed to help traders visualize overbought and oversold market conditions using the Relative Strength Index (RSI). It highlights these conditions by displaying colored background stripes directly on your chart, making it easy to spot potential trading opportunities.
How It Works:RSI Calculation: The indicator calculates the RSI, a popular momentum indicator that measures the speed and change of price movements, using a default period of 14 (customizable).
Overbought/Oversold Levels: It marks areas where the RSI is above a user-defined overbought level (default: 70) with red background stripes, and below an oversold level (default: 30) with green background stripes.
Visual Feedback: The colored stripes appear on the chart when the RSI enters overbought (red) or oversold (green) zones, helping you quickly identify market conditions.
Customization: You can adjust the RSI period, overbought/oversold levels, background colors, and transparency. You can also choose to show the RSI line in a separate panel or display RSI values on the chart for debugging.
Alerts: The indicator includes optional alerts that notify you when the RSI crosses into overbought or oversold territory.
Who It’s For: This indicator is perfect for beginner and intermediate traders who want a clear, visual way to track RSI-based overbought and oversold conditions without cluttering their charts.
Key Features:Easy-to-read background stripes for overbought (red) and oversold (green) conditions.
Fully customizable RSI settings, colors, and transparency.
Optional RSI plot and value display for deeper analysis.
Alerts to keep you informed of key RSI level crossings.
This indicator is a straightforward way to monitor market momentum and make informed trading decisions.
GeeksDoByte 15m & 30m ORB + Prev Day High/LowCME_MINI:NQ1!
How It Works
Opening Ranges
At 9:30 ET, the script begins tracking the high & low.
It uses two fixed sessions:
15 min from 09:30 to 09:45
30 min from 09:30 to 10:00
On the very first bar of each session it initializes the range, then continuously updates the high/low on each new intraday bar.
Dashed lines are drawn when the session opens and extended horizontally across subsequent bars.
Previous Day’s Levels
Independently, it fetches yesterday’s high and low via a daily security call.
These historic levels are plotted as simple horizontal lines for daily context.
How to Use
Breakout Entries
A close above the 15 min ORB high can signal an early breakout; a further push above the 30 min ORB high confirms extended momentum.
Conversely, breaks below the respective lows can indicate short setups.
Support & Resistance
Yesterday’s high/low often act as magnet levels. If price is near the previous high when the opening ranges break, you get a confluence zone worth watching.
Trade Management
Combine the two opening-range levels to tier your stops or scale in.
For example, you might place an initial stop below the 15 min low and a wider stop below the 30 min low.
Clean Day Separator (Vertical Only)Clean Day Separator (Vertical Only) is a minimalist indicator for traders who value clarity and structure on their charts.
This tool draws:
✅ Vertical dashed lines at the start of each new day
✅ Optional day-of-week labels (Monday, Tuesday, etc.)
It’s designed specifically for clean chart lovers — no horizontal lines, no boxes, just what you need to mark time and keep your focus.
Perfect for:
Intraday traders who track market rhythm
Price action purists
Anyone who wants to reduce visual noise
Customizable settings:
Toggle day labels on/off
Choose line and text colors
Set label size to match your chart style
Hourly Markers 09:00 - 20:00 Adjusted for UTC+2A line for every hour from 0900 to 2200
Description:
This TradingView Pine Script plots small red markers (downward arrows) at the top of the chart for every full hour between 09:00 AM and 08:00 PM (20:00) based on UTC+2 time. The markers appear precisely at the opening minute of each hour within the defined range, helping traders visually track key time intervals during the day.
Features:
✔ Displays markers from 09:00 to 20:00 local time (UTC+2 adjustment)
✔ Only plots markers at the first minute of each hour
✔ Uses clear, unobtrusive triangle-down symbols above the bars
✔ Works on any chart timeframe that captures hourly intervals
Use Case:
Ideal for traders who want a quick visual reference of hourly intervals during the main trading hours, especially when working with charts set to UTC or different time zones.
Open Range Breakout (ORB) with Alerts
🚀 ChartsAlgo – Open Range Breakout (ORB) with Alerts
The Open Range Breakout (ORB) Indicator by ChartsAlg is designed for intraday traders looking to capitalize on price movements after the market’s opening range. This tool is especially effective for futures (MNQ, MES) and high-volatility stocks or crypto where initial volatility sets the tone for the session.
This indicator identifies a user-defined opening range window, plots the high/low lines of that range, and visually alerts users when price breaks out above or below the range — with options to customize breakout repetitions, background fill, and alerts.
💡 What is an Open Range Breakout (ORB)?
The opening range represents the high and low established during the first few minutes of the trading session — usually 15 or 30 minutes. Many intraday strategies are based on the idea that breaking out of this initial range often signals strong momentum and trend continuation.
Traders often enter:
Long when price breaks above the range high.
Short when price breaks below the range low.
⚙️ How It Works
You define a session window (e.g., 09:30–09:45 EST).
The indicator tracks the high and low during this time.
Once the session ends, the high and low become your range breakout levels.
The indicator then:
Plots lines for visual clarity
Optionally fills background between the range
Triggers breakout signals if price crosses the levels
Provides alerts when breakouts occur
🛠️ Settings Breakdown
🔹 Session Settings
Range Session: Set your preferred window (e.g., 0930–0945). Can be premarket, first 30 mins, or any custom time.
Time zone: Use "America/New York" for EST (default) or change to "GMT+0" for international traders.
🔹 Breakout Settings
Bullish Breakout Signals: Number of allowed breakout alerts above the range.
Bearish Breakout Signals: Number of allowed breakout alerts below the range.
This prevents repeated alerts once breakout has been confirmed.
🔹 Display Settings
Show Background Fill: Fills area between high/low of the range for easier visual analysis.
Show Breakout Signals: Triangle markers plotted on the chart when breakouts happen.
Only Show Today’s Range: Keeps the chart clean by showing only the most current day’s range.
🔹 Color Settings
Range High/Low Line Colors: Choose any color for clarity.
Range Fill Color: Customize the highlight area for your chart style.
📊 Chart Features
Range High/Low Lines: Automatically plotted after range session ends.
Visual Fill Box: Optional background shading between the opening range.
Triangle Breakout Markers: Appear at the breakout candle.
Alerts: Can be used with TradingView’s alert system to notify you of breakouts in real-time.
🔔 Alerts
Two alert conditions are built in:
Bullish Breakout: Triggers when price breaks above the high of the range.
Bearish Breakout: Triggers when price breaks below the low of the range.
Example Alert Message:
📈 “Bullish Breakout above Open Range on AAPL!”
To activate:
Click “🔔 Alerts” on TradingView.
Set condition to this script.
Choose “ORB Breakout Up” or “ORB Breakout Down”.
Choose alert frequency and notification method.
⚠️ DISCLAIMER
ChartsAlgo tools are for informational and educational purposes only.
They are not financial advice or signals. Past performance does not guarantee future results. Use at your own risk and always implement solid risk management.
By using this indicator, you agree that you are solely responsible for any trades or decisions made based on the information provided.
X HL QA market structure tool designed to frame price action within a defined context of prior session dynamics. It accomplishes this by anchoring a set of reference levels to the high, low, and open prices of a user-specified higher timeframe (e.g., 4H, 1D, etc.) and projecting those levels onto the current chart for ongoing analysis.
At its core, the indicator establishes a reference range—derived from the previous completed instance of the selected timeframe—and overlays this on the current timeframe. This range serves as a foundational structure for price interpretation in the current session.
Building upon this framework, the script constructs a set of symmetrical quadrants (or deviation zones) both inside and outside of the prior range. These include:
The midpoint (EQ) of the prior range
Levels at ±0.25x, ±0.75x, ±1.0x, ±1.5x, and ±2.0x the range height
These levels act as contextual zones that traders can use to interpret price behavior—whether it's consolidating within the prior range, approaching fair value (EQ), or expanding into directional continuation or reversal zones beyond the range.
The script operates in both real-time and historical contexts. On live bars, it dynamically updates the key levels to provide an evolving view of current price positioning. Simultaneously, it supports the display of historical levels for past sessions, enabling robust backtesting and comparative analysis of price behavior relative to previous quadrant structures.
Ultimately, this tool serves as a positional map, helping traders assess where price is trading relative to significant levels from the prior session, offering insights into potential support/resistance, overextension, or mean reversion scenarios.
Key Technical Features
Multi-Timeframe Support:
request.security() is used to pull data from a user-defined higher timeframe regardless of the current chart interval.
Visual Flexibility:
Toggle between "line" and "channel" mode.
Line color, width, and visibility are all user-controlled.
Anchoring Options:
Deviation levels can be calculated from either the previous period's open or its EQ (midpoint), giving flexibility depending on analytical preference.
Efficient Labeling:
Labels are only rendered on the last bar and are automatically cleared and redrawn to prevent duplication.
Label style, size, text color, and background color are all user-configurable.
Trading Application
This indicator is especially suited for:
1. Mean Reversion Strategies
When price moves beyond +1.0 or +1.5 deviations from the EQ or open, it may signal overextension and a potential snap back to the midpoint or range.
2. Breakout Confirmation
Sustained price action beyond ±1.0 levels may indicate trend strength or continuation beyond historical balance zones.
3. Contextual Range Awareness
EQ and Open provide structure from which traders can judge whether price is in a state of balance or imbalance.
Labels offer at-a-glance interpretation of key levels across any chosen timeframe.
4. Fractal and Multi-Session Analysis
Analysts can layer daily, weekly, and monthly versions of this indicator to observe confluence or divergence of higher timeframe structure.
Boomerang Trading Indicator# Boomerang News Trading Indicator
## Overview
The Boomerang Trading Indicator is designed to identify potential reversal opportunities following major economic news releases. This indicator analyzes the initial market reaction to news events and provides visual cues for potential counter-trend trading opportunities based on Fibonacci retracement levels.
## How It Works
### News Event Detection
- Automatically detects major news release times (NFP, CPI, FOMC, etc.)
- Analyzes the first significant price movement following news releases
- Requires minimum candle size threshold to filter out weak reactions
### First Move Analysis
The indicator employs multiple analytical methods to determine the initial market direction:
**Simple Analysis (High Confidence):**
- When the news candle has ≥70% body-to-total ratio, uses straightforward bullish/bearish classification
**Advanced Analysis (Complex Cases):**
- Volume-weighted direction analysis
- Momentum and wick pattern analysis
- Market structure and gap analysis
- Weighted voting system combining all methods
### Entry Signal Generation
Based on the "boomerang" concept where markets often reverse after initial news reactions:
**For Bullish First Moves (Price Up Initially):**
- Generates SHORT entry signals when price retraces to 1.25-1.5 Fibonacci levels
- Visual: Red triangles above price bars
**For Bearish First Moves (Price Down Initially):**
- Generates LONG entry signals when price retraces to -0.25 to -0.5 Fibonacci levels
- Visual: Green triangles below price bars
## Key Features
### Visual Elements
- **Fibonacci Levels**: Displays key retracement levels based on the initial reaction range
- **Entry Zones**: Clear visual marking of optimal entry areas
- **Direction Arrows**: Shows the initial market reaction direction
- **Target Levels**: Displays profit target zones at 50% and 100% retracement levels
### Information Panel
Real-time display showing:
- Current setup status
- First move direction and body percentage
- Recommended trade direction
- Key price levels (reaction high/low)
- Profit targets with historical success rates
### Alert System
- Pre-news warnings (customizable timing)
- News event notifications
- Setup activation alerts
- Entry signal notifications
### Success Tracking
- Visual "BOOM!" animations when targets are hit
- Target 1 (50% level): ~95% historical success rate
- Target 2 (Main target): ~80% historical success rate
## Configuration Options
### Time Settings
- News release hour and minute (customizable for different events)
- Pre-news alert timing
- Setup duration (default 60 bars after news)
### Fibonacci Levels
- Adjustable retracement percentages
- Customizable target levels
- Mid-level importance weighting
### Risk Management
- Minimum reaction candle size filter
- Maximum risk point setting
- Visual risk/reward display
### Display Options
- Toggle Fibonacci level visibility
- Toggle target level display
- Toggle animation effects
- Customizable alert preferences
## Applicable News Events
This indicator is designed for high-impact economic releases:
- Non-Farm Payrolls (NFP) - First Friday, 8:30 AM ET
- Consumer Price Index (CPI) - Monthly, 8:30 AM ET
- Producer Price Index (PPI) - Monthly, 8:30 AM ET
- Gross Domestic Product (GDP) - Quarterly, 8:30 AM ET
- FOMC Interest Rate Decisions - 8 times yearly, 2:00 PM ET
## Trading Strategy Framework
### Core Principle
Markets often overreact to news initially, then reverse toward more rational price levels. This "boomerang effect" creates short-term trading opportunities.
### Entry Strategy
1. Wait for significant initial reaction (>10 points minimum)
2. Identify the initial direction using multi-factor analysis
3. Trade opposite to the initial reaction when price reaches sweet spot zones
4. Use Fibonacci retracement levels as entry triggers
### Risk Management
- Always use appropriate position sizing
- Set stop losses beyond recent swing levels
- Consider market volatility and news importance
- Monitor for setup invalidation signals
## Important Notes
### Educational Purpose
This indicator is for educational and analytical purposes. Users should:
- Thoroughly test strategies in demo environments
- Understand the risks involved in news trading
- Consider market conditions and volatility
- Use proper risk management techniques
### Market Considerations
- High volatility during news events increases both opportunity and risk
- Spreads may widen significantly during news releases
- Different brokers may have varying execution conditions
- Economic calendar timing may vary between sources
### Limitations
- Past performance does not guarantee future results
- Market conditions can change, affecting strategy effectiveness
- News events may have unexpected outcomes affecting normal patterns
- Technical analysis should be combined with fundamental analysis
## Version Information
- Compatible with TradingView Pine Script v5
- Designed for 1-minute timeframe optimal performance
- Works on major forex pairs, indices, and commodities
- Regular updates based on market condition changes
---
**Disclaimer:** This indicator is provided for educational purposes only. Trading involves substantial risk and is not suitable for all investors. Past performance is not indicative of future results. Users should conduct their own research and consider their financial situation before making trading decisions.
X PD&FVVisualizes the price's premium or discount relative to a moving average benchmark, highlighting mean-reversion and trend-continuation opportunities. While the underlying math is simple, the application is nuanced and can enhance decision-making in both trending and ranging market conditions.
Core Logic:
This tool calculates a custom **spread value**, defined as the distance between the current price and a chosen exponential moving average (EMA). Specifically:
When the current price is **above** the EMA, the spread is calculated as `low - EMA`.
When the price is **below** the EMA, the spread is calculated as `high - EMA`.
This approach creates a dynamic spread that reflects deviation from the EMA, with histogram bars:
Green when the spread is positive (suggesting a price premium),
Red when the spread is negative (suggesting a discount).
A secondary EMA (default 9-period) is applied to the spread itself, plotted as a smoother line over the histogram. This "EMA of spread" line can be interpreted as a moving reference level for detecting directional shifts in momentum.
Interpretation:
Zero Line = Fair Value: The horizontal zero axis represents equilibrium relative to the moving average. Movement toward or away from this line signals potential shifts in market bias.
Trend Following Use: In trending markets, traders can:
Buy when the spread dips below its EMA (discount within uptrend),
Sell when the spread rises above its EMA (premium within downtrend).
Mean Reversion Use: A return to the zero line (fair value) often acts as an **inflection point**, which traders can monitor for either:
Trend continuation (bounce away from zero), or
Reversal (cross through zero).
Customization:
EMA length (default 50) is adjustable to fit different timeframes or asset volatility.