Low Volatility Profiles [BigBeluga]🔵 OVERVIEW
Low Volatility Profiles is a market compression and breakout-anticipation tool that identifies phases of low volatility using ADX and then builds a real-time volume profile inside the detected range.
This helps traders spot accumulation/distribution zones and prepare for explosive moves when volatility expands.
When volatility is low ➜ price coils ➜ volume organizes ➜ breakouts become highly actionable.
This tool visualizes that process with dynamic range boxes + volume bins + PoC extension.
🔵 CONCEPTS
Low-Volatility Detection — Uses ADX threshold & cross logic to define volatility contraction regimes.
Range Construction — Draws a price box that expands with highs/lows during the compression phase.
Micro Volume Profile — Builds a volume histogram inside the range using bins (micro volume nodes).
Delta Calculation — Tracks positive vs negative volume to gauge buyer/seller pressure within range.
Point of Control (PoC) — Highlights the price level with max traded volume inside the range.
PoC Extension — Optionally extends PoC into future bars to show potential reaction zone after breakout.
Breakout Validation — Ends the profile zone when price breaks above or below the modeled range.
Noise Removal — Automatically removes invalid or small ranges to prevent chart clutter.
This tool turns consolidation into actionable structure by exposing where smart money accumulates before trending moves.
🔵 FEATURES
ADX-Driven Range Detection — Identify when market transitions into low-volatility compression.
Configurable ADX Threshold — Set sensitivity for contraction zones.
Cross-Type Option — Detect low volatility via cross under / crossover logic.
Dynamic Range Box — Expands live with price as contraction unfolds.
Micro Volume Profile (Bins) — Distributes volume across bins inside range for micro POC mapping.
Volume Delta Visualization — Shows imbalance inside consolidation (accumulation vs distribution).
Real-Time PoC Highlight — Instantly shows most traded price inside the compression.
PoC Extension Mode — Extend PoC forward to project reaction levels post-breakout.
Clean Auto-Reset Logic — Removes boxes if range invalid or breakout occurs too fast.
Optional Filled Boxes — Heatmap-style profile visualization inside range body.
ADX Line + Threshold Plot — Visual assistance for volatility state monitoring.
🔵 HOW TO USE
Identify Accumulation Zones — When price enters low-volatility ADX condition and profile builds.
Watch the PoC — PoC acts as battle zone; move above/below can signal initiator strength.
Breakout Strategy — Trade break above/below the range after compression.
Mean Reversion Inside Range — Fade edges while price remains inside compression box.
Combine With Trend Tools — Use trend confirmation (MA/EMA/Flow indicators) after breakout.
Use Delta Clues — Positive delta tilt suggests accumulation; negative suggests distribution.
Monitor Range Size — Longer build + high PoC volume = stronger potential breakout energy.
🔵 CONCLUSION
Low Volatility Profiles isolates accumulation phases and maps volume concentration before volatility expansion.
By combining ADX compression, micro volume distribution, and PoC tracing, traders gain an edge in anticipating powerful breakout cycles and institutional positioning.
Trade the quiet moment before the storm — where smart money prepares the move, and the real opportunity emerges.
אינדיקטורים ואסטרטגיות
SoopAlgo — Premium Buy & Sell Targets (v6)SoopAlgo — Premium Targets (v6)
Description / Usage:
SoopAlgo — Premium Targets is a powerful trading tool designed to provide clear and actionable buy and sell signals directly on your chart. It highlights optimal entry points with distinct labels and automatically plots target levels, helping traders plan exits with precision.
Advantages:
Clear Visual Signals: Buy and sell opportunities are displayed prominently, reducing confusion and improving decision-making speed.
Integrated Target Levels: Automatic target lines allow traders to set realistic profit expectations without manual calculations.
Customizable Alerts: Receive alerts when signals occur, ensuring you never miss a trade opportunity.
Clean, Modern Display: Minimal clutter with intuitive color-coding (Buy in blue, Sell in purple) for easy chart readability.
Flexible Settings: Easily adjust target distances, label sizes, and indicator sensitivity to fit different trading styles.
Ideal For:
Traders who want a streamlined, easy-to-read tool for spotting market entries and exits with visual targets and alerts, while keeping the chart clean and focused.
Low Volatility Breakout + TP/SL Levels█ OVERVIEW
"Low Volatility Breakout + TP/SL Levels" is a breakout indicator designed to detect and trade breakouts from periods of low volatility (consolidation). Unlike classic strategies based on fixed support/resistance levels, this indicator dynamically identifies consolidations characterized by small candle bodies and only generates a signal when the breakout occurs with a large, decisive candle. It also automatically plots 3 Take Profit levels and a Stop Loss (with two calculation modes), making it a complete breakout trading tool.
█ CONCEPTS
The strongest market moves most often start after a prolonged period of very low volatility — when candles become small and the market "falls asleep". The indicator first detects such consolidations (small bodies for at least X bars), draws a box around them, and then waits for a breakout with a candle significantly larger than the average. Additional filters (e.g., the box height cannot exceed the average candle body by too much) eliminate false consolidations and volatility traps. Immediately after the breakout, TP1, TP2, TP3, and SL levels are plotted.
█ FEATURES
Dynamic detection of low-volatility consolidations
- candles with small bodies (< average body × consolidationMultiplier)
- minimum number of bars in consolidation: confirmBars (default 5)
Automatic drawing of consolidation boxes
- green (bullish) or red (bearish) with transparent background (85)
- adjustable border thickness (border_width 1–5)
- box height filter (boxHeightMultiplier, default 6.0 × average body) – removes overly stretched/false consolidations
Breakout conditions
- current candle must be larger than average body × threshold (default 1.5)
- must be the largest candle in the entire consolidation
- must close above the highest high (long) or below the lowest low (short)
Breakout signals
- small green triangles below the bar (long)
- small red triangles above the bar (short)
Automatic Take Profit and Stop Loss levels (drawn 5 bars forward)
- two calculation modes:
• Candle Multiplier – based on average true range (high-low) over tp_sl_length period
• Percentage – fixed percentage from breakout close price (percentages must be manually adjusted to the asset and timeframe)
- 3 TP levels (default 2×, 3×, 4× or 2%, 3%, 4%)
- 1 SL level (default 2× or 1.5%)
Live TP/SL price table (top-right corner)
- displays exact current values of SL, TP1, TP2, TP3 immediately after each new signal
- colors identical to drawn lines (red background for SL, green for TP levels)
- updates automatically with every new breakout
Built-in alerts
- “Bullish Breakout Alert” and “Bearish Breakout Alert”
█ HOW TO USE
Add the indicator to your TradingView chart → Indicators → search “Low Volatility Breakout + TP/SL Levels”.
After each valid breakout you will immediately see:
- the colored box
- signal triangle
- horizontal TP/SL lines
- updated table in the top-right corner showing precise price levels for the current trade
Key settings to adjust:
Consolidation Settings
- Volatility Window (length) – period for average body calculation (default 20)
- Consolidation Multiplier – how small bodies must be to count as consolidation (default 2.0)
- Breakout Multiplier – minimum size of breakout candle (default 1.5)
- Box Height Multiplier – maximum allowed box height (default 6.0)
- Min Consolidation Bars – minimum bars required (default 5)
Risk Management Settings
- Choose TP/SL mode: Candle Multiplier or Percentage
- Adjust TP1–3 and SL multipliers/percentages to match your risk management style
Signal interpretation:
- Green triangle below bar + green box + green TP levels in table = long signal
- Red triangle above bar + red box + red SL level in table = short signal
- Boxes remain on chart until broken — they highlight accumulation/distribution zones
█ APPLICATIONS
- Trading breakouts from consolidation on all markets and timeframes
- Recommended to trade in the direction of the higher-timeframe trend or with additional confirmations (e.g., key level breaks). Aggressive mode (trading both directions) is also possible — provided box and TP/SL settings are properly optimized
- Experiment with different TP/SL ratios — higher reward-to-risk setups (e.g., SL 1×, TP3 6–8×) with lower win rate are often more profitable in the long run
- Strongly encourage testing various box parameters (consolidationMultiplier, boxHeightMultiplier, confirmBars) — small changes can dramatically affect signal frequency and quality
█ NOTES
Always test and optimize parameters for the specific instrument and timeframe.
Hyper Squeeze Sniper (Dual Side: Long + Short)Hyper Squeeze Sniper (Dual Side Strategy)
This script is a comprehensive Volatility Breakout System designed to identify and trade explosive price moves following periods of consolidation. It combines the classical "Squeeze" theory with Linear Regression Momentum, Volume Analysis, and an ATR-based Trailing Stop to filter false signals and manage risk effectively.
The script operates on a logic of "Compression -> Explosion -> Trend Following" suitable for both Long and Short positions.
🛠 Detailed Methodology (How it works)
1. The Squeeze Detection (Consolidation) The core concept relies on the relationship between Bollinger Bands (BB) and Keltner Channels (KC).
Condition: When the Bollinger Bands (Standard Deviation) contract and fall inside the Keltner Channels (ATR based), it indicates a period of extremely low volatility (The Squeeze).
Visual: The background turns Gray to indicate "Do Not Trade / Wait Mode".
2. Momentum Confirmation (Linear Regression) Instead of using standard lagging indicators, this script utilizes Linear Regression of the price deviation to determine the direction of the breakout.
If the Linear Regression Slope > 0, the bias is Bullish.
If the Linear Regression Slope < 0, the bias is Bearish.
3. Volume Validation To avoid fake breakouts, a Volume Spike filter is applied. A signal is only valid if the current volume exceeds its moving average by a defined multiplier (Default x1.2).
4. Risk Management: ATR Trailing Stop Once a trade is entered, the script calculates a dynamic Trailing Stop based on the Average True Range (ATR).
- Long: The stop line trails below the price and never moves down.
- Short: The stop line trails above the price and never moves up.
- Exit: The position is closed immediately when the price breaches this volatility-based safety line.
How to Use
1. Wait: Look for the Gray Background. This is the accumulation phase.
2. Entry:
LONG: Wait for a Green Triangle ▲ (Price breaks Upper BB + Vol Spike + Bullish Momentum).
SHORT: Wait for a Red Triangle ▼ (Price breaks Lower BB + Vol Spike + Bearish Momentum).
3. Exit: Close the position when the "X" mark appears or when candles cross the trailing safety line.
Settings
- BB Length/Mult: Adjust the sensitivity of the squeeze detection.
- Vol Spike Factor: Increase this to filter out low-volume breakouts.
- ATR Period/Mult: Adjust the trailing stop distance (Higher = Wider stop for swing trading).
[ICT] [SMC] True Market Structure [TDT]Introduction
The True Market Structure indicator is designed to help Smart Money Concepts (SMC) and ICT traders visualize the "True" mechanical structure of the market. Unlike standard ZigZag indicators that often repaint or react to minor noise, this script utilizes a strict Fractal Swing algorithm to identify valid Highs and Lows.
It automatically maps out the market trend by distinguishing between BOS (Break of Structure) for trend continuation and CHoCH (Change of Character) for trend reversals, while highlighting the "Protected" or "Strong" structural points.
How It Works
The indicator relies on a generic fractal calculation (Swing High/Low) determined by the user-defined length.
Trend Identification: The script tracks a state machine (Bullish/Bearish).
Weak Structure (Target): In a bullish trend, the recent High is the "Weak High" (the target to break).
Strong Structure (Protected): The Low responsible for breaking the High becomes the "Strong Low."
BOS vs. CHoCH:
BOS: When price breaks a Weak High (in an uptrend), it confirms continuation.
CHoCH: When price breaks a Strong Low (in an uptrend), it signals a potential reversal.
Key Features
True Fractal Detection: Uses a centered lookback period (Input: Swing Fractal Length) to find significant pivot points.
Confirmation Modes: Choose between candle Close (more conservative, filters wicks) or High/Low (more aggressive) for structure breaks.
Structure Mapping:
Solid Lines: Represent BOS (Trend Continuation).
Dashed Lines: Represent CHoCH (Trend Reversal).
Origin Dots (Protected Levels):
These dots mark the exact swing point that caused the break.
Usage: In an uptrend, the dot marks the Strong Low. If price closes below this dot, the trend flips.
Settings Guide
Swing Fractal Length: The lookback period to define a Swing High/Low.
Default: 3 (Standard ICT Intermediate Term High/Low).
Increase this number to see higher timeframe structure (e.g., set to 10-20 for major swings).
Break Confirmation:
Close: Price body must close beyond the structure level to confirm a break.
High/Low: A wick breaking the level is sufficient.
Visuals: Toggle lines and dots on/off and customize colors to fit your chart theme.
How to Use (Trading Strategy)
Trend Following: Wait for a BOS (Solid Line). Identify the Origin Dot created by that move. This is your "Protected Low/High." Look for entries (FVG/Order Blocks) between the current price and that Dot.
Reversal Trading: Watch for a CHoCH (Dashed Line). This indicates the "Strong Structure" has failed, and the bias has shifted.
Stop Placement: The Origin Dots serve as excellent invalidation points for Stop Losses.
Disclaimer
This tool is for educational purposes and market analysis only. It does not provide financial advice or guarantee future results. Always manage your risk.
Multi Condition Stock Screener & Alert SystemMulti Condition Stock Screener & Strategy Builder
This script is a comprehensive Stock Screener and Strategy Builder designed to scan predefined groups of stocks (specifically focused on BIST/Istanbul Stock Exchange symbols) or a custom list of symbols based on user-defined technical conditions.
It allows users to combine multiple technical indicators to create complex entry or exit conditions without writing code. The script iterates through a list of symbols and triggers alerts when the conditions are met.
Key Features
• Custom Strategy Building: Users can define up to 6 separate conditions. • Logical Operators: Conditions can be linked using logical operators (AND / OR) to create flexible strategies. • Predefined Groups: Includes 14 groups of stocks (covering BIST symbols) for quick scanning. • Custom Scanner: Users can select the "SPECIAL" group to manually input up to 40 custom symbols to scan. • Directional Scanning: Capable of scanning for both Buy/Long and Sell/Short signals. • Alert Integration: Generates JSON-formatted alert messages suitable for webhook integrations (e.g., sending notifications to Telegram bots).
Supported Indicators for Conditions
The script utilizes built-in ta.* functions to calculate the following indicators:
• MA (Moving Average): Supports EMA, SMA, RMA, and WMA. • RSI (Relative Strength Index) • CCI (Commodity Channel Index) • ATR (Average True Range) • BBW (Bollinger Bands Width) • ADX (Average Directional Index) • MFI (Money Flow Index) • MOM (Momentum)
How it Works
The script uses request.security() to fetch data for the selected group of symbols based on the current timeframe. It evaluates the user-defined logic (Condition 1 to 6) for each symbol.
• Comparison Logic: You can compare an indicator against a value (e.g., RSI > 50 ) or against another indicator (e.g., MA1 CrossOver MA2 ). • Signal Generation: If the logical result is TRUE based on the "AND/OR" settings, a visual label is plotted on the chart, and an alert condition is triggered.
Alert Configuration
The script produces a JSON output containing the Ticker, Signal Type, Period, and Price. This is optimized for users who want to parse alerts programmatically or send them to external messaging apps via webhooks.
Disclaimer This tool is for informational purposes only and does not constitute financial advice. Since it uses request.security across multiple symbols, please allow time for the script to load data on the chart.
ATR Trailing Stop (Long or Short Selectable)The ATR Trailing Stop (Long or Short Selectable) will start calculating on a set date that you specify. This is great because you want to trail the price from the breakout day or even after exceeding specific price level (can be your breakeven level or even to capture more of the upside after the price target is met).
Entry price: If you act at the close of the day, you can leave this value as 0 and it will take the close of the day for the initial protective stop-loss calculation. You can choose to add a value such as the pattern boundary and in that case it will subtract the initial protective stop-loss from the pattern boundary and not the close of the day. If you use a scaling in tactic during the day (buying in tranches intraday as the breakout takes place) and your average purchase price is different than the close of the day, you can also plug that number in to calculate the initial protective stop-loss.
This is a modified version as many followers asked for ATR trailing for short setups. Now you can select the Long/Short trade setup from the drop down menu.
ATR period: You can select the ATR period. It can be 10 day, 14 day or 30 day or any ATR period of your choice.
ATR Multiplier for Stop-loss: This is the multiplier that you want to trail the price with. From the highest level price reached it will trail the price with a 3 x ATR () distance. The higher the number, the wider the trailing stop-loss. A multiplier of 1 will trail the price so close that and adverse movement can result in triggering the stop-loss.
Custom Value for First day Trailing Stop: This is my favorite part. For aggressive risk management, your initial protective stop can be smaller than what the ATR Trailing Stop will use in its calculation after entry day. In this case you can take 1xATR () or even with FX and Futures you can apply 0.5xATR() as the first day to calculate initial protective stop. The protective stop turns into a trailing stop after the first day.
Josh FXJoshFX Multi-Timeframe Levels & Fair Value Gap Indicator
This powerful TradingView indicator provides a comprehensive view of key market levels and trends across multiple timeframes. Designed for traders who want precise entries and market context, it includes:
Previous Daily Levels: Automatically marks the previous day’s High, Low, and 50% midpoint.
Multi-Timeframe Trend: Displays the trend direction for 5-minute, 15-minute, 1-hour, and 4-hour charts directly on your current chart.
Daily Candle Display: Shows the current daily candle for quick visual reference.
Pivot Points: Accurately marks technical highs and lows (pivot points) to the exact unit on the chart.
Fair Value Gaps (FVGs): Highlights areas of imbalance for potential high-probability trade setups.
JoshFX Telegram Watermark: Includes branding for the JoshFX community.
This all-in-one tool is perfect for traders combining price action, liquidity concepts, and multi-timeframe analysis to find high-quality setups efficiently.
Multivariate Kalman Filter🙏🏻 I see no1 ever posted an open source Multivariate Kalman filter on TV, so here it is, for you. Tested and mathematically correct implementation, with numerical safeties in place that do not affect the final results at all. That’s the main purpose of this drop, just to make the tool available here. Linear algebra everywhere, Neo would approve 4 sure.
...
Personally I haven't found any real use case of it for myself, aside from a very specific one I will explain later, but others usually do…
Almost every1 in the quant industry who uses Kalman is in fact misusing it, because by its real definition, it should be applied to Not the exact known values (e.g as real ticks provided by transparent audited regulated exchange), but “measurements” of those ‘with errors’.
If your measurements don’t have errors or you have real precise data, by its internal formulas Kalman will output the exact inputs. So most who use it come up with some imaginary errors of sorts, like from some kind of imaginary fair price etc. The important easy to miss point, the errors of your measurements have to be symmetric around its mean ‘ at least ’, if errors are biased, Kalman won’t provide.
For most tasks there are better tools, including other state space models , but still Multivariate Kalman is a very powerful instrument, you can make it do all kinds of stuff. Also as a state space model it can also provide confidence & prediction intervals without explicit calculations of dem.
...
In this script I included 2 example use cases, the first one is the classic tho perfectly working misuse, the second one is what I do with it:
One
Naive, estimates “hidden” adaptive moving regression endpoint. The result you can see on the chart above. You can imagine that your real datapoints are in fact non perfect measures of some hidden state, and by defining measurement noise and process noise, and by constructing the input matrixes in certain ways, you can express what that state should be.
Two
Upscaling tick lattice, aka modelling prices as if native tick size would’ve been lower. Kinda very specific task, mostly needed in HFT or just for analytical purposes. Some like ZN have huge tick sizes, they are traded a lot but barely do more than 20 ticks range in a session. The idea is to model raw data as AR2 process , learn the phi1 and phi2, make one point forecasts based on dem, and the process noise would be the variance of errors from these forecasts. The measurement noise here is legit, it’s quantization noise based on tick size, no need in olympic gold in mental gymnastics xd
^^ artificially upscaling ZN futures tick lattice
...
I really made it available there so You guys can take it and some crazy ish with it, just let state space models abduct your conciseness and never look back
∞
UM Nadaraya-Watson OscillatorDescription
This is a different take on the Nadaraya-Watson Estimator from both Jdhorty and LuxAlgo. Both great scripts, I encourage everyone to check them out. Think of this script as a measure of trend direction, direction change, and trend acceleration or deceleration. It is not a Moving Average, but you could think of it as loosely as an intelligent adaptive regression curve with the focus on trend direction. The Gaussian calculations prefer and add more weight to the most recent bars. The end result is the oscillator is more responsive with less lag and less prone to pure price noise.
How it Works
The indicator was added to the chart twice; once with an MA, once without. The oscillator indicates trend change by crossing up through the zero line or down through the zero line. Once the indicator turns positive, we are in a positive trend until it crosses below zero and then the trend turns negative. I implemented a Moving Average overlay for additional signal determination; if the configured MA (EMA, SMA, WMA, or Nadaraya-Watson Estimator) trends higher, it is green. When trending down, it is red. The indicator also changes the color of the price bars; when the indicator below zero and red, the price bars are red. When the indicator is above zero and green, the price bars are green.
I marked up the chart and indicator to identify LONG, SHORT, and divergences between price and oscillator.
Default Settings
The default settings are 16 for Bandwidth and a WMA with 110. This is shown in the chart example. There directional arrows, but they are off by default. The Price bars are colored green or red to match the oscillator and the bar coloring is on by default.
All settings are user-configurable including bandwidth, MA type, MA length, bar coloring, and arrows.
Suggested Settings and uses
I personally like the 30 min chart with a bandwidth of 16 and a WMA of 110. The bandwidth 8 and 8 period EMA or WMA also work well on 6 hour and daily charts. Add this to your chart arsenal and use your favorite indicators for confirmation. This indicator works well on the 30 minute chart for inverse ETFs as well (SQQQ, SOXS, TZA). Also, the oscillator is good for identifying divergences between price and and indicator. (see chart for illustration)
Experiment with settings and adapt them to your trading style.
Alerts
If you right click the indicator, and select add alert, I have configured 4 standard alerts: A bullish cross above zero, A bearish cross below zero, An MA bullish turned up to trend higher, (green), and an MA bearish turned down to trend lower (red).
Filter Trend1. Indicator Name
Premium EMA Ribbon Filter (Pro Version)
(Advanced Trend & Momentum Filtering System Based on EMA Ribbons)
2. One-Line Introduction
A professional trend-analysis indicator that blends an advanced noise-filtering algorithm with an EMA ribbon system to extract only the pure bullish/bearish trend while smoothing out market noise.
3. Overall Description (7+ lines)
The Premium EMA Ribbon Filter is more than just a set of EMAs.
It analyzes the structure of a fast, medium, and slow EMA ribbon—along with the spacing and alignment between them—to determine whether the market is in a bullish trend, bearish trend, or a neutral/noise-heavy zone.
The core of this indicator is its noise-reduction algorithm and trend-strength calculation system.
Instead of relying on simple EMA cross signals, it evaluates how consistently the ribbon maintains bullish/bearish alignment over a specified period and highlights only strong trends with color coding, while weak or noisy areas are displayed in gray.
This helps traders avoid confusing or false signals and clearly focus only on the “meaningful zones.”
A Triple-Smoothing System is applied to create smoother, more refined ribbon movements, forming a stable “premium trend curve” that is less affected by short-term volatility.
As a result, this indicator works effectively for scalping, swing trading, and long-term trend following—staying true to the principle of removing noise and highlighting only the core market flow.
4. Short Advantages (6 items)
① Complete Noise Filtering
Using EMA ribbon comparison + tolerance logic, false reversals are largely eliminated, leaving only stable trend phases.
② Highly Readable Color System
Bullish trends are mint, bearish trends are red, and neutral/noise zones are gray—instantly visualizing market conditions.
③ Trend Strength Visualization
Not only trend direction but also trend strength is displayed via dynamic color transparency.
④ Smooth, Premium-Style Ribbon Design
Triple-smoothing creates a refined, luxury-level smoothness in movement.
⑤ Works Across All Timeframes
From 1-minute scalping to daily/weekly macro trend analysis.
⑥ Excellent Real-Trading Compatibility
Works extremely well when combined with ATR, SuperTrend, and volume-based indicators.
Indicator Manual (Required Section)
📌 Understanding the Core Concept
The indicator uses three EMAs (e.g., 20/50/100) arranged as a ribbon to analyze the structural alignment of the trend.
When the EMAs are cleanly aligned Top → Middle → Bottom, the market is in a bullish trend.
When aligned Bottom → Middle → Top, the market is in a bearish trend.
The indicator further evaluates the ribbon spread (gap) and the consistency of alignment to compute trend strength.
Noisy market conditions are shaded gray to clearly indicate “uncertain/indecisive” zones.
⚙️ Settings Description
Option Description
Fast EMA Most sensitive EMA; detects early trend signals
Mid EMA Stabilizes the primary trend direction
Slow EMA Defines the broader, long-term trend flow
Trend Lookback The period used to analyze trend strength
Noise Tolerance (%) Higher values = stronger noise removal
Smoothing Steps Controls how smooth the ribbon becomes
📈 Example Recognition
A bullish continuation/entry scenario forms when:
EMAs align in the order Fast → Mid → Slow (top side)
Ribbon color shifts into mint (strong bullish trend)
The ribbon begins to expand while price stays above the ribbon
📉 Example Recognition
A bearish continuation/entry occurs when:
EMAs align Fast → Mid → Slow (bottom side)
Ribbon color remains red
After contracting, the ribbon expands again during renewed downside strength
🧪 Recommended Usage
Combine with volume-based indicators (OBV, Volume Profile) → enhanced strong-trend detection
Use with SuperTrend or ATR Stop → clearer stop-loss placement
Combine with RSI/Stoch → avoid counter-trend entries in overheated conditions
Higher leverage traders should use higher tolerance settings
🔒 Cautions
EMA ribbons are trend-following tools; signals may weaken in ranging/sideways markets.
Never rely solely on this indicator—always confirm with volume, price patterns, or structure.
Very low Lookback values may cause excessive re-entry signals.
In high-volatility environments, ribbon spacing can contract/expand rapidly—use with caution.
Apex Trend & Liquidity Master The Apex Trend & Liquidity Master is a hybrid trading system designed to align traders with the dominant market trend while identifying key structural price levels. Unlike simple moving average crossovers, this tool utilizes a volatility-adaptive "Trend Cloud" (based on Hull Moving Averages and ATR) to filter out market noise and chop.
Simultaneously, the script employs a "Smart Liquidity" engine that automatically detects and plots institutional Supply and Demand zones based on pivot points. These zones are dynamic; they extend forward in time until price breaks through them, at which point they are automatically removed (mitigated) to keep the chart clean.
Key Features
Adaptive Trend Cloud: Expands and contracts based on market volatility to define clear Bullish and Bearish regimes.
Smart Liquidity Zones: Automatically draws Supply (Resistance) and Demand (Support) boxes that vanish once the price invalidates them.
Signal Filters: Integrated Volume and RSI filters ensure "Buy" and "Sell" signals only appear during high-conviction moves.
Live HUD: An on-chart dashboard displaying the current Trend Bias, Momentum strength, and Volume status.
How to Use
1. Trend Identification The primary background fill serves as your trend bias.
Green Cloud/Candles: Bullish Trend. Look for long opportunities or bounces off Demand zones.
Red Cloud/Candles: Bearish Trend. Look for short opportunities or rejections from Supply zones.
2. Liquidity Zones (Supply & Demand) The indicator plots boxes extending from major pivot points.
Green Boxes (Demand): Areas where buyers previously stepped in. These act as support.
Red Boxes (Supply): Areas where sellers previously stepped in. These act as resistance.
Mitigation: If a candle closes through a zone, the box is deleted, signaling that the liquidity at that level has been consumed.
3. Entry Signals Labels ("BUY" and "SELL") appear when the trend flips.
These signals are filtered. If "Volume Filter" is enabled, a signal will only appear if the current volume is above the 20-period average.
If "RSI Filter" is enabled, Buy signals are blocked if the market is already overbought, preventing "top ticking."
4. The Dashboard (HUD) Located on the chart, this panel provides a summary of the current candle:
Trend Bias: The direction of the cloud.
Momentum: Based on RSI (Weak, Neutral, or Strong).
Volume: Indicates if the current volume is High (above average) or Low.
Disclaimer This indicator is provided for educational and informational purposes only. It does not constitute financial advice, investment recommendations, or a guarantee of future results.
Consolidation Breakout PRO — Clean Boxes + 200 EMA Trend Filter High-probability range breakout detector that draws perfect, always-visible consolidation boxes and only alerts when price breaks out with strong volume and (optionally) in the direction of the prevailing trend.
Features
Automatically draws and extends clean consolidation boxes in real time
Boxes stop extending the moment the breakout occurs — no more “ghost” lines
Optional but powerful 200 EMA trend filter (dramatically reduces false breakouts)
Stronger volume confirmation (default 1.8× the 20-period average, fully adjustable)
Auto-deletes old boxes so your chart stays perfectly clean even after hundreds of signals
Clear “BREAKOUT ↑” and “BREAKDOWN ↓” labels + ready-to-use alerts
Works on any market and any timeframe (best on 1H, 4H, Daily)
How to trade it (edge > 65 % when used correctly)
Wait for the labeled breakout candle to close
Enter on pullback/retest of the box edge (or on strong close + retest)
Stop-loss just outside the opposite side of the box
Take-profit: minimum 1:2, ideally measured move (box height added/subtracted) or trailing with the 20 EMA
This is the cleanest and most professional public consolidation breakout tool available in 2025 — no repainting, no lag, no chart clutter.
Created and continuously improved with love for the TradingView community.
Auto Position CalculatorA position sizing tool that automatically detects the instrument you're trading and calculates the correct position size based on your risk parameters.
What It Does
This indicator calculates how many contracts, lots, or shares to trade based on your account size, risk percentage, and stop loss distance. It auto-detects the instrument type and adjusts the point/pip value accordingly.
Supported Instruments
Futures: NQ, MNQ, ES, MES, YM, MYM, RTY, M2K, CL, MCL, GC, MGC
Forex: All major pairs (USD, EUR, GBP, JPY, etc.)
Index CFDs: NAS100, US500, US30, GER40, UK100
Metals: XAU, XAG
Crypto and Stocks: Automatic detection
How to Use
Set your account size and risk % in settings
Click the settings icon and place Entry, Stop Loss, and Take Profit on the chart
The position size and risk calculations appear automatically
Levels auto-reset at your chosen session (Asia, London, or New York open)
Limitations
CFD and forex pip values assume standard lot sizing - your broker may differ
Auto-detection relies on ticker naming conventions, which vary by broker/data feed
Session reset times are based on ET (Eastern Time)
Pivot Move Ranges█ OVERVIEW
“Pivot Move Ranges” is an indicator that displays only the historical price ranges of moves that match the direction of the current swing.
It measures the price range of each individual swing and draws them as horizontal Δ-boxes positioned at the level of the most recently detected pivot.
The indicator operates with a delay equal to the set pivot detection length – after each new Pivot High, only red Δ-boxes appear showing the sizes of previous downward moves; after each new Pivot Low, only green Δ-boxes appear showing the sizes of previous upward moves. When the swing direction changes, the displayed set of levels instantly switches to the opposite direction.
█ CONCEPTS
The indicator was created to instantly provide the trader with objective, real historical price ranges – perfectly reinforcing classic tools such as Fibonacci extension/retracement, daily/weekly pivots, moving averages, order blocks, or Volume Profile.
It detects classic Pivot High and Pivot Low points:
- New Pivot High → only previous downward moves are shown (red Δ-boxes)
- New Pivot Low → only previous upward moves are shown (green Δ-boxes)
This ensures that at any moment you see only the historical ranges that match the current market direction. Price moves very often repeat themselves – the indicator makes these recurring levels immediately visible and ready to serve as natural reinforcement for other technical analysis tools.
█ FEATURES
- Pivot High / Pivot Low detection with adjustable length (default 12)
- Δ-boxes – thin horizontal lines showing the exact size of previous moves that match the current swing
- Automatic switching of the Δ-box set whenever a new opposite pivot appears
- Memory of the last N moves (default 6, max. 50) – oldest are automatically removed
- Labels showing move size (Δ) and start date/time
- Full color customization (separate for up and down), border and text transparency
- Choice of date format (DD.MM.YYYY or MM/DD/YYYY)
- Small circles marking the exact pivot locations
█ HOW TO USE
Add the indicator to your TradingView chart → paste the code → Add to Chart.
Settings:
- Pivot Length – higher values = fewer but more significant pivots (detected with a delay equal to this length)
- Max Corrections to Keep – how many previous matching moves are displayed at once
- Upward / Downward Box Color – colors of the Δ-boxes
- Box Border Transparency (%) – 0 = solid lines, 50–70 = subtle
- Show Δ Text + Move Start Date – turn labels on/off
Interpretation:
At any given moment the chart shows only the historical ranges of moves in the current direction:
- after a Pivot High → red Δ-boxes = “how far the market previously fell”
- after a Pivot Low → green Δ-boxes = “how far the market previously rose”
█ APPLICATIONS
- Instant reinforcement of technical levels – historical moves matching the current swing direction often coincide with Fibonacci levels, daily/weekly pivots, moving averages, or order blocks
- Fast cluster detection – set a high Max Corrections value (30–50) to see where the largest number of similarly sized moves cluster, then reduce to 6–10 and focus only on the most recent levels
█ NOTES
- On very strong trends, Δ-boxes can be extremely long – this is normal and correct behavior
- Always use as a supporting layer alongside other technical analysis tools
Support Resistance📌 1. Indicator Name
Premium Auto Support & Resistance
📌 2. One-Line Description
An automated S/R system that generates support and resistance zones based on swing highs and lows, displaying them in a premium visual style directly on the chart.
📌 3. Overall Summary (7+ lines)
This indicator automatically detects price levels where the market has repeatedly reacted and generates support and resistance zones.
Instead of simple horizontal lines, it visualizes reaction ranges as zones, helping traders clearly understand the actual price areas where activity occurs.
It uses swing points (high/low pivots) as the fundamental basis and continuously updates only the most meaningful recent S/R levels.
A smoothing process is applied, reducing noise and creating more natural, reliable S/R zones.
Support and resistance are displayed as filled transparency-based zones, enabling intuitive identification of zone strength and market position.
When price touches one of these zones, a small signal appears to highlight potential reversal points.
All elements are plotted directly over the candles with overlay=true, making it an instantly usable and visually premium tool.
📌 4. Advantages (6 items)
① Automatic Swing-Based S/R Detection
Automatically analyzes key pivot points and extracts only the most meaningful support and resistance levels.
② Support/Resistance Zone Structure
Provides intuitive reaction ranges instead of single lines, making it far more practical for real trading.
③ Smooth Premium-Style Lines
S/R lines are smoothed to remove noise, maintaining a natural and refined premium visual appearance.
④ Automatic Candle-Touch Alerts
Displays signals whenever price touches support or resistance, helping you quickly identify potential reversal areas.
⑤ Overlay-Based Immediate Clarity
Drawn directly onto the chart without occupying indicator windows, keeping visual focus on price action.
⑥ Simple Yet Powerful Framework
A pivot + smoothing + zone combination that strengthens automatic S/R detection while remaining easy for beginners to use.
TR-ATR-DATR+MAs shows the Range of selected Candle + 3 Moving Averages
True Range
Avg True Range
Daily Range
able zone# able zone
## 📋 Overview
**able zone** is an advanced Support & Resistance zone detection indicator optimized for **15-minute timeframe trading**. It combines Price Action, Volume Profile, and intelligent zone analysis to identify high-probability trading areas with precise entry and exit points.
## 🎯 Core Features
### 1. **Zone Detection Methods**
- **Auto Detect**: Automatically finds the best zones using combined analysis
- **Price Action**: Based on pivot points and price structure
- **Volume Profile**: Identifies High Volume Nodes (HVN) where most trading occurred
- **Combined**: Uses all methods together for comprehensive analysis
### 2. **Zone Types & Colors**
- 🟢 **Support Zones** (Green): Price tends to bounce up from these areas
- 🔴 **Resistance Zones** (Red): Price tends to reverse down from these areas
- 🟣 **HVN Zones** (Purple): High volume areas from Volume Profile
- **Strong Zones**: Darker colors indicate zones with more touches (higher reliability)
### 3. **Zone Strength Indicators**
- **Labels**: "S3" = Support with 3 touches, "R5" = Resistance with 5 touches
- **Touch Count**: More touches = stronger zone
- **Min Touch Count Setting**: Adjust to filter weak zones (default: 3)
## ⚙️ Settings Guide
### **Zone Detection Settings**
- **Detection Method**: Choose your preferred analysis method
- **Lookback Period** (50-500): How many bars to analyze (default: 200)
- For 15min: 200 bars = ~50 hours of data
- Shorter = Recent zones only
- Longer = Historical zones included
- **Min Touch Count** (2-10): Minimum touches to qualify as a zone (default: 3)
- **Zone Thickness %** (0.1-2.0): How thick the zones appear (default: 0.5)
- Based on ATR for dynamic sizing on 15min chart
### **Zone Colors**
Fully customizable colors for:
- Support Zone (default: Green)
- Resistance Zone (default: Red)
- Strong Support/Resistance (darker shades)
- Volume Profile Zone (default: Purple)
### **Zone Touch Detection**
- **Enable Touch Alerts**: Get notifications when price enters zones
- **Touch Distance %** (0.1-1.0): How close to zone counts as "touch" (default: 0.3%)
- On 15min chart, this gives early warning signals
- **Show Touch Markers**: Visual indicators when price touches zones
- 🔺 = Support touch (potential buy)
- 🔻 = Resistance touch (potential sell)
- 💎 = HVN touch (watch for breakout/rejection)
### **Volume Profile Integration**
- **Show VP Zones**: Display high volume node zones
- **VP Resolution** (20-50): Number of price levels analyzed (default: 30)
- **POC Line** (orange): Point of Control - highest volume price level
- **POC Width**: Line thickness (1-3)
- **Show HVN**: Display High Volume Node zones
- **HVN Threshold** (0.5-0.9): Volume % to qualify as HVN (default: 0.7)
### **Display Options**
- **Zone Labels**: Show S/R labels with touch count
- **Zone Border Lines**: Dotted lines at zone boundaries
- **Extend Zones Right**: Project zones into future
- **Max Visible Zones** (5-50): Maximum number of zones displayed (default: 20)
- Adjust based on chart clarity needs
- **Info Table**: Real-time information dashboard
## 📊 Info Table Explained
The info table (top-right corner) provides real-time zone analysis:
### **Row 1: ZONE Header**
- Shows current timeframe (15m)
- Total active zones
- "able" branding
### **Row 2: 🎯 TOUCH Status**
- **RES**: Currently touching resistance (⚠️ potential reversal down)
- **SUP**: Currently touching support (🚀 potential bounce up)
- **HVN**: Currently in high volume area (⚡ watch for direction)
- **FREE**: Not near any zone (⏳ wait for setup)
- Progress bar shows proximity strength
- Arrows indicate zone type
### **Row 3: 🟢 SUP - Support Zones**
- Number of active support zones below current price
- Progress bar shows relative quantity
- More support = stronger floor
### **Row 4: 🔴 RES - Resistance Zones**
- Number of active resistance zones above current price
- Progress bar shows relative quantity
- More resistance = stronger ceiling
### **Row 5: 🟣 HVN - High Volume Nodes**
- Number of HVN zones (from Volume Profile)
- These are areas where most trading activity occurred
- Often act as magnets for price
### **Row 6: 📍 NEAR - Nearest Zone**
- Shows closest zone type (SUP/RES/HVN)
- Distance in % to nearest zone
- Arrow shows if zone is above or below
### **Row 7: POSITION - Price Position**
- **HIGH**: Price near range top (70%+) - watch for resistance
- **MID**: Price in middle range (30-70%) - neutral zone
- **LOW**: Price near range bottom (<30%) - watch for support
- Shows exact position % in lookback range
### **Row 8: ═ SIGNAL ═**
- **🚀 BUY**: Touching support zone (entry opportunity)
- **⚠️ SELL**: Touching resistance zone (exit/short opportunity)
- **⚡ WATCH**: At HVN (prepare for breakout or rejection)
- **⏳ WAIT**: No clear setup (be patient)
## 🎓 Trading Strategy for 15-Minute Timeframe
### **Basic Setup**
1. Set timeframe to **15 minutes**
2. Use **Auto Detect** or **Combined** method
3. Set **Lookback Period**: 200 bars (~50 hours)
4. Set **Min Touch Count**: 3 (proven zones)
### **Entry Signals**
#### **Long Entry (Buy)**
- Price touches green support zone
- Table shows "🚀 BUY" signal
- Look for bullish candle pattern (hammer, engulfing)
- Volume increases on bounce
- **Best Entry**: Bottom of support zone
- **Stop Loss**: Below support zone (1-2 ATR)
- **Target**: Next resistance zone or 2:1 RR
#### **Short Entry (Sell)**
- Price touches red resistance zone
- Table shows "⚠️ SELL" signal
- Look for bearish candle pattern (shooting star, engulfing)
- Volume increases on rejection
- **Best Entry**: Top of resistance zone
- **Stop Loss**: Above resistance zone (1-2 ATR)
- **Target**: Next support zone or 2:1 RR
#### **HVN Breakout Strategy**
- Price approaches purple HVN zone
- Table shows "⚡ WATCH"
- Wait for breakout with strong volume
- **If breaks up**: Go long, target next resistance
- **If breaks down**: Go short, target next support
### **Zone Strength Rules**
- **S5+ or R5+**: Very strong zones (high probability)
- **S3-S4 or R3-R4**: Reliable zones (good setups)
- **S2 or R2**: Weak zones (use caution)
### **Best Trading Times (15min)**
- **London Open**: 08:00-12:00 GMT (high volume)
- **NY Open**: 13:00-17:00 GMT (high volatility)
- **Overlap**: 13:00-16:00 GMT (best setups)
- **Avoid**: Asian session low volatility periods
### **Risk Management**
- Never risk more than 1-2% per trade
- Use stop loss ALWAYS (place outside zones)
- Take partial profits at 1:1, let rest run to 2:1 or 3:1
- If price consolidates in zone > 3 candles, exit
## ⚠️ Important Notes
### **When Zones Work Best**
✅ Clear trending markets
✅ After significant price movements
✅ At session opens (London/NY)
✅ When multiple zones align
✅ Strong zone with 5+ touches
### **When to Be Cautious**
❌ During major news releases (use economic calendar)
❌ Very low volume periods
❌ Price consolidating inside zone
❌ Weak zones with only 2 touches
❌ Conflicting signals from multiple indicators
### **15-Minute Specific Tips**
- **Lookback 200**: Captures 2-3 trading days of zones
- **Touch Distance 0.3%**: Early signals on 15min moves
- **Max Zones 20**: Keeps chart clean but comprehensive
- **Watch POC**: Often acts as pivot on 15min
- **Volume spike + zone touch** = high probability setup
## 🔧 Recommended Settings for 15min
### **Conservative Trader**
- Detection Method: Combined
- Min Touch Count: 4
- Max Zones: 15
- Touch Distance: 0.2%
### **Aggressive Trader**
- Detection Method: Auto Detect
- Min Touch Count: 2
- Max Zones: 25
- Touch Distance: 0.5%
### **Volume Profile Focused**
- Detection Method: Volume Profile
- Show HVN: Yes
- HVN Threshold: 0.6
- Show POC: Yes
## 📈 Example Trade Scenario (15min)
**Setup**: BTC/USD on 15-minute chart
1. Price approaching green support zone at $42,000
2. Zone label shows "S4" (touched 4 times)
3. Table shows "🚀 BUY" signal
4. Volume increasing on approach
5. Bullish hammer candle forms
**Entry**: $42,050 (bottom of zone)
**Stop Loss**: $41,900 (below zone)
**Target 1**: $42,350 (2:1 RR)
**Target 2**: Next resistance at $42,650
**Result**: Price bounces, hits Target 1 in 3 candles (~45min)
## 💡 Pro Tips
1. **Combine with trend**: Trade in direction of higher timeframe trend
2. **Multiple touches**: Zones with 5+ touches are highest probability
3. **Volume confirmation**: Always check volume on zone touch
4. **POC magnet**: Price often returns to POC line
5. **False breakouts**: If price barely breaks zone and returns = strong signal
6. **Zone-to-zone**: Trade from support to resistance, resistance to support
7. **Time of day**: Best setups occur during peak volume hours
8. **Chart timeframe**: Use 1H to confirm trend, 15min for entry
9. **News avoidance**: Close trades before high-impact news
10. **Zone clusters**: Multiple zones together = strong area
---
**Created by able** | Optimized for 15-minute trading
**Version**: 1.0 | Compatible with TradingView Pine Script v5
For support and updates, enable alerts and monitor the info table in real-time!
لbsm15// This work is licensed under a Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) creativecommons.org
// © LuxAlgo
//@version=5
indicator("لbsm15", overlay = true, max_lines_count = 500, max_boxes_count = 500, max_bars_back = 3000)
//------------------------------------------------------------------------------
//Settings
//-----------------------------------------------------------------------------{
liqGrp = 'Liquidity Detection'
liqLen = input.int (7, title = 'Detection Length', minval = 3, maxval = 13, inline = 'LIQ', group = liqGrp)
liqMar = 10 / input.float (6.9, 'Margin', minval = 4, maxval = 9, step = 0.1, inline = 'LIQ', group = liqGrp)
liqBuy = input.bool (true, 'Buyside Liquidity Zones, Margin', inline = 'Buyside', group = liqGrp)
marBuy = input.float(2.3, '', minval = 1.5, maxval = 10, step = .1, inline = 'Buyside', group = liqGrp)
cLIQ_B = input.color (color.new(#4caf50, 0), '', inline = 'Buyside', group = liqGrp)
liqSel = input.bool (true, 'Sellside Liquidity Zones, Margin', inline = 'Sellside', group = liqGrp)
marSel = input.float(2.3, '', minval = 1.5, maxval = 10, step = .1, inline = 'Sellside', group = liqGrp)
cLIQ_S = input.color (color.new(#f23645, 0), '', inline = 'Sellside', group = liqGrp)
lqVoid = input.bool (false, 'Liquidity Voids, Bullish', inline = 'void', group = liqGrp)
cLQV_B = input.color (color.new(#4caf50, 0), '', inline = 'void', group = liqGrp)
cLQV_S = input.color (color.new(#f23645, 0), 'Bearish', inline = 'void', group = liqGrp)
lqText = input.bool (false, 'Label', inline = 'void', group = liqGrp)
mode = input.string('Present', title = 'Mode', options = , inline = 'MOD', group = liqGrp)
visLiq = input.int (3, ' # Visible Levels', minval = 1, maxval = 50, inline = 'MOD', group = liqGrp)
//-----------------------------------------------------------------------------}
//General Calculations
//-----------------------------------------------------------------------------{
maxSize = 50
atr = ta.atr(10)
atr200 = ta.atr(200)
per = mode == 'Present' ? last_bar_index - bar_index <= 500 : true
//-----------------------------------------------------------------------------}
//User Defined Types
//-----------------------------------------------------------------------------{
// @type used to store pivot high/low data
//
// @field d (array) The array where the trend direction is to be maintained
// @field x (array) The array where the bar index value of pivot high/low is to be maintained
// @field y (array) The array where the price value of pivot high/low is to be maintained
type ZZ
int d
int x
float y
// @type bar properties with their values
//
// @field o (float) open price of the bar
// @field h (float) high price of the bar
// @field l (float) low price of the bar
// @field c (float) close price of the bar
// @field i (int) index of the bar
type bar
float o = open
float h = high
float l = low
float c = close
int i = bar_index
// @type liquidity object definition
//
// @field bx (box) box maitaing the liquity level margin extreme levels
// @field bxz (box) box maitaing the liquity zone margin extreme levels
// @field bxt (box) box maitaing the labels
// @field brZ (bool) mainains broken zone status
// @field brL (bool) mainains broken level status
// @field ln (line) maitaing the liquity level line
// @field lne (line) maitaing the liquity extended level line
type liq
box bx
box bxz
box bxt
bool brZ
bool brL
line ln
line lne
//-----------------------------------------------------------------------------}
//Variables
//-----------------------------------------------------------------------------{
var ZZ aZZ = ZZ.new(
array.new (maxSize, 0),
array.new (maxSize, 0),
array.new (maxSize, na)
)
bar b = bar.new()
var liq b_liq_B = array.new (1, liq.new(box(na), box(na), box(na), false, false, line(na), line(na)))
var liq b_liq_S = array.new (1, liq.new(box(na), box(na), box(na), false, false, line(na), line(na)))
var b_liq_V = array.new_box()
var int dir = na, var int x1 = na, var float y1 = na, var int x2 = na, var float y2 = na
//-----------------------------------------------------------------------------}
//Functions/methods
//-----------------------------------------------------------------------------{
// @function maintains arrays
// it prepends a `value` to the arrays and removes their oldest element at last position
// @param aZZ (UDT, array, array>) The UDT obejct of arrays
// @param _d (array) The array where the trend direction is maintained
// @param _x (array) The array where the bar index value of pivot high/low is maintained
// @param _y (array) The array where the price value of pivot high/low is maintained
//
// @returns none
method in_out(ZZ aZZ, int _d, int _x, float _y) =>
aZZ.d.unshift(_d), aZZ.x.unshift(_x), aZZ.y.unshift(_y), aZZ.d.pop(), aZZ.x.pop(), aZZ.y.pop()
// @function (build-in) sets the maximum number of bars that is available for historical reference
max_bars_back(time, 1000)
//-----------------------------------------------------------------------------}
//Calculations
//-----------------------------------------------------------------------------{
x2 := b.i - 1
ph = ta.pivothigh(liqLen, 1)
pl = ta.pivotlow (liqLen, 1)
if ph
dir := aZZ.d.get(0)
x1 := aZZ.x.get(0)
y1 := aZZ.y.get(0)
y2 := nz(b.h )
if dir < 1
aZZ.in_out(1, x2, y2)
else
if dir == 1 and ph > y1
aZZ.x.set(0, x2), aZZ.y.set(0, y2)
if per
count = 0
st_P = 0.
st_B = 0
minP = 0.
maxP = 10e6
for i = 0 to maxSize - 1
if aZZ.d.get(i) == 1
if aZZ.y.get(i) > ph + (atr / liqMar)
break
else
if aZZ.y.get(i) > ph - (atr / liqMar) and aZZ.y.get(i) < ph + (atr / liqMar)
count += 1
st_B := aZZ.x.get(i)
st_P := aZZ.y.get(i)
if aZZ.y.get(i) > minP
minP := aZZ.y.get(i)
if aZZ.y.get(i) < maxP
maxP := aZZ.y.get(i)
if count > 2
getB = b_liq_B.get(0)
if st_B == getB.bx.get_left()
getB.bx.set_top(math.avg(minP, maxP) + (atr / liqMar))
getB.bx.set_rightbottom(b.i + 10, math.avg(minP, maxP) - (atr / liqMar))
else
b_liq_B.unshift(
liq.new(
box.new(st_B, math.avg(minP, maxP) + (atr / liqMar), b.i + 10, math.avg(minP, maxP) - (atr / liqMar), bgcolor=color(na), border_color=color(na)),
box.new(na, na, na, na, bgcolor = color(na), border_color = color(na)),
box.new(st_B, st_P, b.i + 10, st_P, text = 'Buyside liquidity', text_size = size.tiny, text_halign = text.align_left, text_valign = text.align_bottom, text_color = color.new(cLIQ_B, 25), bgcolor = color(na), border_color = color(na)),
false,
false,
line.new(st_B , st_P, b.i - 1, st_P, color = color.new(cLIQ_B, 0)),
line.new(b.i - 1, st_P, na , st_P, color = color.new(cLIQ_B, 0), style = line.style_dotted))
)
alert('buyside liquidity level detected/updated for ' + syminfo.ticker)
if b_liq_B.size() > visLiq
getLast = b_liq_B.pop()
getLast.bx.delete()
getLast.bxz.delete()
getLast.bxt.delete()
getLast.ln.delete()
getLast.lne.delete()
if pl
dir := aZZ.d.get (0)
x1 := aZZ.x.get (0)
y1 := aZZ.y.get (0)
y2 := nz(b.l )
if dir > -1
aZZ.in_out(-1, x2, y2)
else
if dir == -1 and pl < y1
aZZ.x.set(0, x2), aZZ.y.set(0, y2)
if per
count = 0
st_P = 0.
st_B = 0
minP = 0.
maxP = 10e6
for i = 0 to maxSize - 1
if aZZ.d.get(i) == -1
if aZZ.y.get(i) < pl - (atr / liqMar)
break
else
if aZZ.y.get(i) > pl - (atr / liqMar) and aZZ.y.get(i) < pl + (atr / liqMar)
count += 1
st_B := aZZ.x.get(i)
st_P := aZZ.y.get(i)
if aZZ.y.get(i) > minP
minP := aZZ.y.get(i)
if aZZ.y.get(i) < maxP
maxP := aZZ.y.get(i)
if count > 2
getB = b_liq_S.get(0)
if st_B == getB.bx.get_left()
getB.bx.set_top(math.avg(minP, maxP) + (atr / liqMar))
getB.bx.set_rightbottom(b.i + 10, math.avg(minP, maxP) - (atr / liqMar))
else
b_liq_S.unshift(
liq.new(
box.new(st_B, math.avg(minP, maxP) + (atr / liqMar), b.i + 10, math.avg(minP, maxP) - (atr / liqMar), bgcolor=color(na), border_color=color(na)),
box.new(na, na, na, na, bgcolor=color(na), border_color=color(na)),
box.new(st_B, st_P, b.i + 10, st_P, text = 'Sellside liquidity', text_size = size.tiny, text_halign = text.align_left, text_valign = text.align_top, text_color = color.new(cLIQ_S, 25), bgcolor=color(na), border_color=color(na)),
false,
false,
line.new(st_B , st_P, b.i - 1, st_P, color = color.new(cLIQ_S, 0)),
line.new(b.i - 1, st_P, na , st_P, color = color.new(cLIQ_S, 0), style = line.style_dotted))
)
alert('sellside liquidity level detected/updated for ' + syminfo.ticker)
if b_liq_S.size() > visLiq
getLast = b_liq_S.pop()
getLast.bx.delete()
getLast.bxz.delete()
getLast.bxt.delete()
getLast.ln.delete()
getLast.lne.delete()
for i = 0 to b_liq_B.size() - 1
x = b_liq_B.get(i)
if not x.brL
x.lne.set_x2(b.i)
if b.h > x.bx.get_top()
x.brL := true
x.brZ := true
alert('buyside liquidity level breached for ' + syminfo.ticker)
x.bxz.set_lefttop(b.i - 1, math.min(x.ln.get_y1() + marBuy * (atr), b.h))
x.bxz.set_rightbottom(b.i + 1, x.ln.get_y1())
x.bxz.set_bgcolor(color.new(cLIQ_B, liqBuy ? 73 : 100))
else if x.brZ
if b.l > x.ln.get_y1() - marBuy * (atr) and b.h < x.ln.get_y1() + marBuy * (atr)
x.bxz.set_right(b.i + 1)
x.bxz.set_top(math.max(b.h, x.bxz.get_top()))
if liqBuy
x.lne.set_x2(b.i + 1)
else
x.brZ := false
for i = 0 to b_liq_S.size() - 1
x = b_liq_S.get(i)
if not x.brL
x.lne.set_x2(b.i)
if b.l < x.bx.get_bottom()
x.brL := true
x.brZ := true
alert('sellside liquidity level breached for ' + syminfo.ticker)
x.bxz.set_lefttop(b.i - 1, x.ln.get_y1())
x.bxz.set_rightbottom(b.i + 1, math.max(x.ln.get_y1() - marSel * (atr), b.l))
x.bxz.set_bgcolor(color.new(cLIQ_S, liqSel ? 73 : 100))
else if x.brZ
if b.l > x.ln.get_y1() - marSel * (atr) and b.h < x.ln.get_y1() + marSel * (atr)
x.bxz.set_rightbottom(b.i + 1, math.min(b.l, x.bxz.get_bottom()))
if liqSel
x.lne.set_x2(b.i + 1)
else
x.brZ := false
if lqVoid and per
bull = b.l - b.h > atr200 and b.l > b.h and b.c > b.h
bear = b.l - b.h > atr200 and b.h < b.l and b.c < b.l
if bull
l = 13
if bull
st = math.abs(b.l - b.l ) / l
for i = 0 to l - 1
array.push(b_liq_V, box.new(b.i - 2, b.l + i * st, b.i, b.l + (i + 1) * st, border_color = na, bgcolor = color.new(cLQV_B, 90) ))
else
st = math.abs(b.l - b.h ) / l
for i = 0 to l - 1
if lqText and i == 0
array.push(b_liq_V, box.new(b.i - 2, b.h + i * st, b.i, b.h + (i + 1) * st, text = 'Liquidity Void ', text_size = size.tiny, text_halign = text.align_right, text_valign = text.align_bottom, text_color = na, border_color = na, bgcolor = color.new(cLQV_B, 90) ))
else
array.push(b_liq_V, box.new(b.i - 2, b.h + i * st, b.i, b.h + (i + 1) * st, border_color = na, bgcolor = color.new(cLQV_B, 90) ))
if bear
l = 13
if bear
st = math.abs(b.h - b.h) / l
for i = 0 to l - 1
array.push(b_liq_V, box.new(b.i - 2, b.h + i * st, b.i, b.h + (i + 1) * st, border_color = na, bgcolor = color.new(cLQV_S, 90) ))
else
st = math.abs(b.l - b.h) / l
for i = 0 to l - 1
if lqText and i == l - 1
array.push(b_liq_V, box.new(b.i - 2, b.h + i * st, b.i, b.h + (i + 1) * st, text = 'Liquidity Void ', text_size = size.tiny, text_halign = text.align_right, text_valign = text.align_top, text_color = na, border_color = na, bgcolor = color.new(cLQV_S, 90) ))
else
array.push(b_liq_V, box.new(b.i - 2, b.h + i * st, b.i, b.h + (i + 1) * st, border_color = na, bgcolor = color.new(cLQV_S, 90) ))
if b_liq_V.size() > 0
qt = b_liq_V.size()
for bn = qt - 1 to 0
if bn < b_liq_V.size()
cb = b_liq_V.get(bn)
ba = math.avg(cb.get_bottom(), cb.get_top())
if math.sign(b.c - ba) != math.sign(b.c - ba) or math.sign(b.c - ba) != math.sign(b.l - ba) or math.sign(b.c - ba) != math.sign(b.h - ba)
b_liq_V.remove(bn)
else
cb.set_right(b.i + 1)
if b.i - cb.get_left() > 21
cb.set_text_color(color.new(color.gray, 25))
//-----------------------------------------------------------------------------}
Absorption PROOF - Absorption PRO (Clean & Smart)Ultra-clean, high-precision absorption reversal strategy.Detects institutional buying/selling pressure using volume-weighted delta proxy and VWAP deviation zones.Smart RSI + early-session range filter automatically separates valid range-bound reversals from trend exhaustion.Green/Red circles → High-probability entries (fully tradable)
Small crosses + colored zones → Rejected signals (avoid)
Blue dotted lines → Session range ±100% deviation levels (optional)
By default: only signals and rejection zones displayed — zero clutter.Minimalist, professional, and deadly accurate on futures & forex (1m–15m).Less noise. Better trades.
Buy Sell SignalBuy Sell Signal - EMA Crossover with Dynamic Risk Management
OVERVIEW
This indicator combines a dual EMA crossover system with ATR-based dynamic stop loss and take profit levels to provide complete trade management signals. Unlike basic EMA crossover scripts, this tool automatically calculates and displays entry points, stop losses, and take profit targets based on market volatility, offering traders a complete trading framework in a single indicator.
HOW IT WORKS
The indicator uses three core components working together:
Trend Detection: A fast EMA (default 5) and slow EMA (default 13) identify trend direction. When the fast EMA crosses above the slow EMA, it signals bullish momentum; when it crosses below, it signals bearish momentum.
Entry Validation: Optional candle confirmation filter ensures the crossover is accompanied by a bullish/bearish candle close, reducing false signals in choppy markets.
Risk Management: Uses ATR (Average True Range, default 14 periods) to calculate:
Stop Loss: Positioned below/above recent swing low/high minus ATR multiplier (default 0.5x)
Take Profit: Calculated using customizable risk-reward ratio (default 3:1)
KEY FEATURES
✅ Automatic Position Tracking: Monitors active trades and displays current position status (LONG/SHORT/No position)
✅ Visual Trade Management: Shows entry price (white dashed line), stop loss (red line), and take profit (green line) in real-time
✅ Trade Outcome Signals: Displays clear markers when TP is hit (🎯), SL is triggered (❌), or position is invalidated by opposite signal
✅ Information Dashboard: Live table showing entry price, SL, TP, and actual R:R ratio
✅ Smart Position Invalidation: Automatically closes and invalidates previous positions when opposite trend signal appears
✅ Customizable Alerts: Five alert conditions for BUY/SELL signals, TP hits, SL triggers, and invalidations
INPUTS
Fast EMA Length (default 5): Responsive to recent price action
Slow EMA Length (default 13): Defines broader trend direction
ATR Period (default 14): Volatility measurement period
SL Multiplier (default 0.5): Distance from swing point to stop loss
Risk:Reward Ratio (default 3.0): Target profit relative to risk
Candle Confirmation (default ON): Requires bullish/bearish candle on crossover
HOW TO USE
Apply the indicator to your chart (works on all timeframes)
Adjust EMA periods based on your trading style (shorter for scalping, longer for swing trading)
Set your preferred risk-reward ratio
Enable alerts for automated notifications
When a BUY/SELL signal appears, the indicator automatically calculates and displays your complete trade plan
Monitor the information table for live position updates
Exit when TP is reached or SL is triggered
TRADING METHODOLOGY
This script implements a momentum-following strategy based on exponential moving average crossovers, enhanced with volatility-adjusted risk parameters. The ATR-based stop loss adapts to market conditions—wider stops in volatile markets, tighter stops in calm markets. The position invalidation feature prevents traders from holding outdated positions when market sentiment shifts.
BEST PRACTICES
Use on trending markets for best results
Higher timeframes (4H, Daily) produce fewer but more reliable signals.
For scalpe use 5 and 15 minutes(Risk).
Consider market context and fundamental factors alongside signals
Adjust ATR multiplier based on asset volatility
Test different EMA combinations for your preferred instruments
ORIGINALITY
While EMA crossover systems are common, this script's value lies in its complete integration of entry logic, dynamic risk management, position tracking, and automated invalidation—features typically requiring multiple separate indicators. The ATR-based stop loss calculation and automatic R:R visualization provide practical trade execution guidance that basic crossover indicators lack.
Important Notes:
This indicator does not guarantee profitable trades
Always practice proper risk management
Backtest settings on historical data before live trading
Past performance does not indicate future results
Fibonacci Degree System This Pine Script creates a sophisticated technical analysis tool that combines Fibonacci retracements with a degree-based cycle system. Here's a comprehensive breakdown:
Core Concept
The indicator maps price movements onto a 360-degree circular framework, treating market cycles like geometric angles. It creates a visual "mesh" where Fibonacci ratios intersect in both price (horizontal) and time (vertical) dimensions.
How It Works
1. Finding Reference Points
The script looks back over a specified period (default 100 bars) to identify:
Highest High: The peak price point
Lowest Low: The trough price point
Time Locations: Exactly which bars these extremes occurred on
These two points form the boundaries of your analysis window.
2. Creating the Fibonacci Grid
Horizontal Lines (Price Levels):
The script divides the price range between high and low into seven key Fibonacci ratios:
0% (Low) - Bottom boundary in red
23.6% - Minor retracement in orange
38.2% - Shallow retracement in yellow
50% - Midpoint in lime green
61.8% - Golden ratio in aqua (most significant)
78.6% - Deep retracement in blue
100% (High) - Top boundary in purple
Each line represents a potential support/resistance level where price might react.
Vertical Lines (Time Cycles):
The same Fibonacci ratios are applied to the time dimension between the high and low bars. If your high and low are 50 bars apart, vertical lines appear at:
Bar 0 (0%)
Bar 12 (23.6%)
Bar 19 (38.2%)
Bar 25 (50%)
Bar 31 (61.8%)
Bar 39 (78.6%)
Bar 50 (100%)
These suggest when price might make significant moves.
3. The Degree Mapping System
The innovative feature maps the time progression to degrees:
0° = Start point (0% time)
85° = 23.6% through the cycle
138° = 38.2% through the cycle
180° = Midpoint (50%)
222° = 61.8% through the cycle (golden angle)
283° = 78.6% through the cycle
360° = Complete cycle (100%)
This treats market movements as circular patterns, similar to how planets orbit or pendulums swing.
Visual Output
When you apply this indicator, you'll see:
A rectangular mesh extending beyond your high-low range (by 150% default)
Color-coded horizontal lines showing price Fibonacci levels
Matching vertical lines showing time Fibonacci intervals
Price labels on the right showing percentage levels
Degree labels at the bottom showing the angular position in the cycle
Intersection points creating a grid of potentially significant price-time coordinates
Trading Application
Traders use this to identify:
Support/Resistance Zones: Where horizontal and vertical lines intersect
Time Targets: When price might reverse (at vertical Fibonacci times)
Cycle Completion: When approaching 360°, a new cycle may begin
Harmonic Patterns: Geometric relationships between price and time
Customization Features
The script offers extensive control:
Lookback period: Adjust cycle length (10-500 bars)
Mesh extension: How far to project the grid forward
Visual toggles: Show/hide horizontal lines, vertical lines, labels
Styling: Line thickness, style (solid/dashed/dotted), colors
Label positioning: Fine-tune text placement for readability
The intersection at 61.8% time and 61.8% price at 222° becomes a key target zone.
This tool essentially converts the abstract concept of market cycles into a concrete, visual geometric framework that traders can analyze and act upon.
DISCLAIMER: This information is provided for educational purposes only and should not be considered financial, investment, or trading advice.
No guarantee of profits: Past performance and theoretical models do not guarantee future results. Trading and investing involve substantial risk of loss.
Not a recommendation: This script illustration does not constitute a recommendation to buy, sell, or hold any financial instrument.
Do your own research: Always conduct thorough independent research and consider consulting with a qualified financial advisor before making any trading decisions.
Retracement Strategy [OmegaTools]Retracement Strategy is a systematic trend–retracement framework designed to identify directional opportunities after a confirmed momentum shift, and to manage exits using either trend reversals or overextension conditions. It is built around a smoothed RSI regime filter and a simple, price-based retracement trigger, making it applicable across a wide range of markets and timeframes while remaining transparent and easy to interpret.
The strategy begins by defining the underlying trend through a two-stage RSI signal. A standard RSI is computed over the user-defined Length input, then smoothed with a short moving average to reduce noise. Two symmetric thresholds are derived from the Threshold parameter: an upper band at 100 minus the threshold and a lower band at the threshold itself. When the smoothed RSI crosses above the upper band, the environment is classified as bullish and the internal trend state is set to uptrend. When the smoothed RSI crosses below the lower band, the environment is classified as bearish and the trend state becomes downtrend. When RSI moves back into the central zone between the two bands, the trend is considered neutral. In addition to the current trend, the strategy tracks the last non-neutral trend direction, which is used to detect genuine trend changes rather than transient oscillations.
Once a trend is established, the strategy looks for retracement entries in the direction of that trend. For long setups in an uptrend, it computes the lowest low over the previous Length minus one bars, excluding the current bar. A long signal is generated when price dips below this recent low while the trend state remains bullish. Symmetrically, for short setups in a downtrend, it computes the highest high over the previous Length minus one bars and enters short when price spikes above this recent high while the trend state remains bearish. This logic is designed to capture pullbacks against the prevailing RSI-defined trend, entering when the market tests or slightly violates recent extremes, rather than chasing breakouts. The candles are visually coloured to reflect the detected trend, highlighting bullish and bearish environments while keeping neutral phases distinguishable on the chart. An ATR-based measure is used solely to position the “UP” and “DN” labels on the chart for clearer visualisation of entry points; it does not directly influence position sizing or stop calculation in this implementation.
Take profit and stop loss behaviour are fully parameterized through the “Take Profit” and “Stop Loss” inputs, each offering three modes: None, Trend Change and Extension. When “Trend Change” is selected for the take profit, the strategy will only exit profitable positions when a confirmed trend reversal occurs. For a long position, this means that the strategy will close the trade when the trend state flips from uptrend to downtrend, and the last recorded trend direction validates that this is a genuine reversal rather than a neutral fluctuation; the same logic applies symmetrically for short positions. When “Extension” is selected as the take profit mode, the strategy closes profitable long trades when the smoothed RSI reaches or exceeds the upper threshold, interpreted as an overbought extension within the bullish regime, and closes profitable short trades when the smoothed RSI falls to or below the lower threshold, interpreted as an oversold extension within the bearish regime. When “None” is chosen, the strategy does not apply any explicit take profit logic, leaving trades to be managed by the stop loss settings or by user discretion in backtesting.
The stop loss parameter works in a parallel way. With “Trend Change” selected as stop loss, any open long position is closed when the trend flips from uptrend to downtrend, regardless of whether the trade is currently in profit or loss, and any open short is closed when the trend flips from downtrend to uptrend. This turns the RSI trend regime into a hard invalidation rule: once the underlying momentum structure reverses, the position is exited. With “Extension” selected for stop loss, long positions are closed when RSI falls back below the upper band and moves towards the opposite side of the range, while short positions are closed when RSI rises above the lower band and moves towards the upper side. In practice, this acts as a dynamic exit based on the oscillator moving out of a favourable context for the existing trade. Selecting “None” for stop loss disables these automatic exits, leaving only the take profit logic, if any, to manage the position. Because take profit and stop loss configuration are independent, the user can construct different profiles, such as pure trend-change exits on both sides, pure overextension exits, or a mix (for example, take profit on overextension and stop loss on trend reversal).
This strategy is designed as an analytical and backtesting framework rather than a finished plug-and-play trading system. It does not include position sizing, risk-per-trade controls, multi-timeframe confirmation, volatility filters or instrument-specific fine-tuning. Its primary purpose is to provide a clear, rule-based structure for testing retracement logic within RSI-defined trends, and to allow users to explore how different exit regimes (trend-change based versus extension based) affect performance on their instruments and timeframes of interest.
Nothing in this script or its description should be interpreted as financial advice, investment recommendation or solicitation to buy or sell any financial instrument. Past performance on backtests does not guarantee future results. The behaviour of this strategy can vary significantly across symbols, timeframes and market conditions, and correlations, volatility and liquidity can change without warning. Before considering any live application, users should thoroughly backtest and forward test the strategy on their own data, adjust parameters to their risk profile and instrument characteristics, and integrate proper money management and trade management rules. Use of this script is entirely at the user’s own risk.






















