Fractals Trend [BigBeluga]🔵 OVERVIEW
Fractals Trend is a trend-following overlay that leverages fractal swing points to define dynamic support and resistance zones. By storing and averaging recent high and low fractals, it determines trend direction and plots a smooth band that flips depending on market bias—displaying support during uptrends and resistance during downtrends .
🔵 CONCEPTS
Fractal Swings: Fractals are identified using a customizable length. A high fractal forms when the current high is the highest in a range; a low fractal when the current low is the lowest.
Fractal Memory: The indicator keeps a rolling window of recent high and low fractals inside arrays, limited by the user-defined storage quantity.
switch
upperF => FracrtalsUpper.push(high )
lowerF => FracrtalsLower.push(low )
FracrtalsUpper.size() > fCount => FracrtalsUpper.shift()
FracrtalsLower.size() > fCount => FracrtalsLower.shift()
Trend Detection: Price crossing above the average, min/max or median high fractals signals an uptrend; crossing below average, min/max or median low fractals signals a downtrend.
Dynamic Band Plotting: Depending on the trend, the script plots the average of either the upper or lower fractals as a trailing support or resistance line.
Visual Confirmation: Fractal labels appear as triangle markers at highs and lows, providing additional structural context.
🔵 FEATURES
Automatically detects high and low fractals using customizable length.
Stores a defined number of fractals to smooth out noise and reduce false signals.
Flips trend bias dynamically with colored band and smooth transitions.
Plots fractal-based support in bullish trends, resistance in bearish trends.
Triangle markers show real-time fractal highs and lows.
Fully configurable visuals, color themes, and fractal detection logic.
Clean, non-intrusive overlay that works on any market or timeframe.
🔵 HOW TO USE
Use the colored band as a directional filter: green = uptrend (support), orange = downtrend (resistance).
Combine with entry signals or break/retest strategies when price approaches the band.
Use triangle markers to confirm structural swing points.
Adjust Fractals Length to tune sensitivity—shorter values detect quicker shifts, longer values reduce noise.
Change the fractal bands type to adapt trend detection to different market conditions.
Use in conjunction with momentum or volume tools for confluence.
🔵 CONCLUSION
Fractals Trend offers a lightweight, intuitive way to track market bias using price structure alone. Its smart switching logic and clean visuals make it a powerful tool for trend traders seeking structure-based dynamic S/R—without laggy moving averages or overcomplicated signals.
Indikator dan strategi
jhehli LiquidityWhat are BSL and SSL?
In the context of Smart Money Concepts, liquidity simply refers to pending orders—specifically Stop Losses and Buy/Sell Stop orders—resting above old highs and below old lows.
BSL (Buy-Side Liquidity): This is found above Swing Highs. Retail traders who are short the market will place their "Buy Stop" protective orders here. Additionally, breakout traders place "Buy Limit" orders here. Smart Money views this area as a pool of willing buyers. To fill large sell orders, institutions must drive price up into this liquidity to pair their massive sell interest with these buy stops.
SSL (Sell-Side Liquidity): This is found below Swing Lows. Retail traders who are long the market place their "Sell Stop" protective orders here. Smart Money targets these levels to accumulate long positions. They need the market to sell off into these levels so they can buy from the willing sellers at a discount.
How this Indicator Works
This tool automates the process of market structure analysis by identifying key Swing Highs and Swing Lows.
Detection: It scans price action to find fractal highs and lows (classic swing points) where price has rejected a level.
Visualization: It projects a line from these points, clearly marking where the "stops" are likely residing.
Liquidity Raids: When price pierces these levels, it is considered a "Liquidity Raid" or "Stop Hunt."
How to Use This in Your Trading
Do not treat these lines simply as Support and Resistance. In the ICT methodology, old highs and lows are targets, not barriers.
For Reversals: Wait for a "Turtle Soup" or "Judas Swing." This occurs when price aggressively expands into a BSL or SSL level to trigger stops, only to quickly reverse back into the trading range. This indicates that Smart Money has finished their accumulation or distribution.
For Bias: If the higher timeframe trend is Bullish, expect SSL to be raided to fuel the move, while BSL becomes the target (Draw on Liquidity).
By using this indicator, you remove the guesswork of manually marking every swing point, allowing you to focus on price action and the reaction at these critical liquidity pools.
EP CPR Future CPR + 4 MA
1. CPR Trend Direction(Bias):
Bullish: If the current day's price is trading above the TC, it suggests a strong bullish trend where the CPR acts as a support zone.
Bearish: If the current day's price is trading below the BC, it suggests a strong bearish trend where the CPR acts as a resistance zone.
Range-Bound/Consolidation: If the price is trading within the CPR lines, it indicates a lack of clear directional bias and suggests a likely sideways or accumulation phase.
2. Moving average Trend Identification
Uptrend: If the price is above a moving average (and the MA line is sloping up), it confirms a bullish trend.
Downtrend: If the price is below a moving average (and the MA line is sloping down), it confirms a bearish trend.
Crossovers (Trading Signals)
A popular strategy involves using two moving averages—a short-term MA (e.g., 50-period) and a long-term MA (e.g., 200-period).
Golden Cross (Bullish Signal): Occurs when the shorter-term MA crosses above the longer-term MA.
Death Cross (Bearish Signal): Occurs when the shorter-term MA crosses below the longer-term MA.
BTC Dual Cycle: Stats DashboardOverview
"Price takes the elevator down, but takes the stairs up."
This indicator is a macro-analysis tool designed to visualize the true duration of Bitcoin’s market cycles. Unlike standard oscillators that focus on short-term price action, the Macro Cycle Tracker filters out the noise to answer two fundamental questions:
Are we in a phase of Expansion (Price Discovery)?
Are we in a phase of Recovery (Repairing the damage of a crash)?
It visually separates the market into two distinct regimes based on a configurable drawdown threshold (default: -50%) and provides real-time statistics on how long these phases historically last.
How It Works
The script tracks the All-Time High (ATH) and divides market history into two colored zones:
🟢 The Green Zone (Expansion / Price Discovery)
Trigger: Starts immediately when Bitcoin breaks the previous ATH.
Meaning: The market is healthy, profitable, and exploring new valuation levels.
End: The zone ends when price drops by 50% (configurable) from the cycle top.
🔴 The Red Zone (Recovery / Capitulation)
Trigger: Starts when price drops below the 50% threshold from the peak.
Meaning: The asset is "underwater." This zone remains active persistently—even during relief rallies—until the previous ATH is fully reclaimed.
Philosophy: A cycle is not over until the damage is repaired.
Key Features
Cycle Timer: Displays the exact number of days passed for every historical cycle directly on the chart.
Live Counter: Shows the current duration of the active phase (e.g., "ZONE GREEN: 450 Days...").
Statistical Dashboard: A table in the bottom-right corner automatically calculates the Mean and Median duration (in days) for both Green and Red phases. This allows you to compare the current cycle against historical averages.
How to Use
For Investors (HODLers): Use the Red Zone to understand the "Time Cost" of a bear market. It helps visualize that recovery takes patience and that price action below the old ATH is merely accumulation.
For Analysts: Use the Dashboard statistics to project potential cycle turning points based on historical median durations.
Settings
Drop Percent (%): Default is 50%. This defines the "Crash" threshold. You can adjust this to 20% or 30% for more sensitive cycle detection.
Text Size: Adjust the size of the dashboard text to fit your screen resolution.
Disclaimer: This tool is for educational purposes only and does not constitute financial advice. Past performance is not indicative of future results.
Strict Weekly 50/200 WMA Signals True Weekly Only-Strict Weekly 50/200 WMA Signals True Weekly Only => also on other time frames than weekly (like daily, etc.) always indicates the indicators based on the weekly chart
-especially useful for Crypto
-gives buy and sell signals when the 200 WMA or the 50 WMA are crossed
-typically above the 50 WMA indicates a bull market
-reaching below the 200 WMA indicates a bear market and typically for investors with a longer time frame (>2-4 years) a good entry point
BTC -50% Crash to Recovery ZoneGeneral Overview This is a macro-analysis tool designed to visualize the true duration of Bitcoin’s "Suffering & Recovery Cycles." Unlike standard oscillators that only signal oversold conditions, this script highlights the entire timeline required for the market to flush out leverage and return to All-Time Highs (ATH).
Operational Logic The algorithm tracks Bitcoin’s historical All-Time High (ATH).
The Trigger: It activates automatically when the price drops 50% below the last recorded ATH.
The "Recovery Zone": Once triggered, the chart background turns red (indicating a "Drawdown" state). This zone remains active persistently, even during intermediate relief rallies.
The Reset: The zone deactivates only when the price breaks above the previous ATH, marking the official start of a new Price Discovery phase.
How to Read It
Red Background: We are officially in a Bear Market or Recovery Phase. The asset is technically "underwater." For the long-term investor with a low time preference, this visually defines the accumulation window.
Red Horizontal Line: Indicates the "Target." This is the exact price level of the old ATH that Bitcoin must reclaim to close the bearish cycle.
No Background Color: We are in Price Discovery. The market is healthy and pushing for new highs.
The Financial Lesson This indicator visually demonstrates a fundamental market truth: "Price takes the elevator down, but takes the stairs up." It shows that after a halving of value (-50%), Bitcoin may take months or years to recover previous levels, helping investors filter out the noise of short-term pumps that fail to break the macro-bearish structure.
EMA Trend Pro v1Here is a clear, professional English description you can copy-paste directly (suitable for sharing with friends, investors, brokers, or posting on TradingView):
EMA Trend Pro v5.0 – Strategy Overview
This is a trend-following strategy designed for 15-minute charts on assets like XAUUSD, NASDAQ, BTC, and ETH.
Entry Rules
Buy when the 7, 14, and 21-period EMAs are aligned upward and the 14-period EMA crosses above the 144-period EMA (with ADX > 20 and volume confirmation).
Sell short when the EMAs are aligned downward and the 14-period EMA crosses below the 144-period EMA.
Risk Management
Initial stop-loss is placed at 1.8 × ATR below (long) or above (short) the entry price.
Position size is calculated to risk a fixed percentage of equity per trade.
Profit-Taking & Trade Management
When price reaches 1:1 reward-to-risk, 30% of the position is closed.
At the same moment, the stop-loss for the remaining 70% is moved to the entry price (breakeven).
The remaining position is split:
50% targets 1:2 reward-to-risk
50% targets 1:3 reward-to-risk (allowing big wins during strong trends)
Visualization
Clean colored bars extend to the right showing entry, stop-loss, and three take-profit levels.
Price labels clearly display "Entry", "SL", "TP1 1:1", "TP2 1:2", and "TP3 1:3".
Only the current trade is displayed for a clean chart.
Key Advantages
High win rate due to breakeven protection after 1R
Excellent reward-to-risk ratio that lets winners run
Fully automated, works on any market with clear trends
Professional look, easy to understand and explain
Perfect for swing traders who want consistent profits with limited downside risk.
Feel free to use this description on TradingView, in your trading journal, or when explaining the strategy to others!
If you want a shorter version (e.g., for TradingView description box) or a Chinese version, just let me know — I’ll give it to you right away! 😊
Zfr RSI Pozitif - Negatif Uyumsuzluk TaramasıIt helps to track the direction of RSI with moving average while displaying divergence and related scans on the standard RSI.
Dynamic Fair-Value Ribbon Pro @darshakssc1. What This Indicator Is (In Simple Terms)
The Dynamic Fair-Value Ribbon Pro is a visual tool that helps you see how price behaves around a statistically derived “fair-value zone”:
A colored ribbon/cloud marks a central “fair” area.
Areas above the ribbon are labeled as “Unfair High Zone”.
Areas below the ribbon are labeled as “Unfair Low Zone”.
A small state panel tells you where price currently sits relative to this ribbon.
All calculations are based only on historical price, volume, and volatility.
It does not predict future price, does not give buy/sell signals, and is not financial advice.
2. Adding the Indicator
Open a chart on TradingView.
Click on Indicators .
Search for “Dynamic Fair-Value Ribbon Pro” .
Click to add it to your chart.
You will see:
A cloud/ribbon around price.
Colored bars when price is outside the ribbon.
A panel in the top right describing the current state.
3. Core Concept: Fair vs Unfair Zones (Analytical Only)
The indicator tries to answer a descriptive question:
“Where is price trading relative to a historically derived central area?”
It does this by:
Calculating a central value (“fair mid”).
Building a band around that mid.
Coloring the chart depending on whether price is inside or outside that band.
It is not claiming that:
Price “must” return to the band.
Price is “overvalued” or “undervalued”.
Any state is good or bad.
It is simply a visual classification tool .
4. Engine Modes — How the Ribbon Is Calculated
Under “Fair-Value Engine” you can choose:
4.1 Mode 1: Range
Looks back over a chosen number of bars (default: 100).
Finds the highest high and lowest low in that window.
Defines a central “slice” of that range as the fair-value ribbon :
Range Mode: Lower Percent → bottom boundary of the slice (e.g., 30%).
Range Mode: Upper Percent → top boundary of the slice (e.g., 70%).
Effect:
The ribbon represents a middle portion of the historical range .
Above the ribbon = “Unfair High Zone” (analytical label only).
Below the ribbon = “Unfair Low Zone”.
This is purely statistical — it does not mean price is wrong or will revert.
4.2 Mode 2: VWAP + Stdev
In this mode, the central value is based on VWAP :
VWAP (Volume-Weighted Average Price) is used as the midline.
A standard deviation envelope is built around VWAP:
VWAP Mode: Stdev Multiplier controls how wide that envelope is.
Effect:
The ribbon shows where price is trading relative to a volume-weighted average .
Again, areas above and below are just described as “unfair” zones in a visual, analytical sense , not a predictive one.
5. ATR Adaptive Width — Making the Ribbon React to Volatility
Under “ATR Adaptive Width” :
Use ATR Adaptive Width:
On: the band width scales with volatility.
Off: band width stays fixed based on Range or VWAP settings.
ATR Length: how many bars to use for ATR.
Reference ATR (% of price): a reference level for normal volatility.
Min Width Scale / Max Width Scale: clamps the scaling so that the band doesn’t get too narrow or too wide.
What this does (analytically):
When volatility (ATR) is higher than the reference, the band can become wider .
When volatility is lower , the band can become narrower .
This is a mathematical rescaling only and does not imply any optimal levels or performance.
6. Visual Elements — What You See on the Chart
6.1 Fair-Value Ribbon (Cloud)
The cloud between Fair Ribbon Low and Fair Ribbon High is the fair zone .
Color can be changed via “Fair Ribbon Color” .
6.2 Midline
If “Show Center Line” is enabled:
A line runs through the middle of the ribbon.
In Range mode, this is the average of the upper and lower band.
In VWAP mode, it’s essentially the VWAP-based mid.
This line is for visual reference only and makes no claims about support, resistance, or reversion.
6.3 Bar Colors
Unfair High Zone: bars are colored with Unfair High Bar Color.
Unfair Low Zone: bars are colored with Unfair Low Bar Color.
Inside the ribbon:
If “Fade Bars Inside Fair Zone” is ON, bars may be more faded/neutral.
These colors are simply classification highlights ; they do not tell you what to do.
6.4 State Panel (Top Right)
If “Show State Panel” is enabled, you’ll see a small box that displays:
Current engine:
Range or VWAP+Stdev.
Current price state:
Inside Ribbon (Fair Zone)
Above Ribbon (Unfair High Zone)
Below Ribbon (Unfair Low Zone)
This is a quick summary of where price sits relative to the computed ribbon.
7. Typical Ways to Use It (Informational Only)
The indicator can help you visually:
See when price is spending time inside a historically defined central zone.
Notice when price is frequently trading outside that zone.
Compare different timeframes (e.g., 5m vs 1h vs 4h) to see how the fair zone shifts.
Experiment with:
Range length (shorter vs longer lookback).
VWAP vs Range mode.
ATR adaptation on/off.
Important:
Any interpretation of these visuals is entirely up to the user.
The script does not tell you to buy, sell, hold, or do anything specific.
8. Limitations and Important Notes
All calculations use past data only (price, volume, volatility).
The ribbon does not guarantee:
that price will revert,
that zones will hold,
or that any outcome will occur.
There are no built-in signals such as “long/short” or automatic entries/exits.
The script is best used as a supporting, visual layer alongside other tools or methods you choose.
9. Disclaimer
This indicator is:
Strictly informational and educational.
Not a trading system or strategy.
Not financial advice or a recommendation.
Not guaranteed to be accurate, complete, or suitable for any specific purpose.
Users should always perform their own research and due diligence.
Past behavior of any visual pattern or zone does not guarantee future behavior.
Universal Scalper Indicator [Crypto/Forex/Gold]Universal Scalper Pro is an all-in-one scalping system designed for the 15-Minute Timeframe. It automates the analysis of trend, volatility, and risk management into a single, high-contrast dashboard.
Unlike standard crossover indicators, this system filters out low-volatility "noise" using a built-in ADX engine and automatically calculates dynamic Stop Loss and Take Profit levels based on market volatility (ATR).
It is engineered to work universally on:
Crypto (BTC, ETH, SOL, Altcoins)
Commodities (Gold, Silver, Oil)
Forex (Major & Minor Pairs)
Stocks (High volume tech stocks like NVDA, TSLA)
📈 How It Works (The Strategy)
1. The Trend Engine (9/21 EMA) The core logic utilizes a Fast (9) and Slow (21) Exponential Moving Average crossover.
Bullish Signal: The 9 EMA crosses above the 21 EMA.
Bearish Signal: The 9 EMA crosses below the 21 EMA. This specific combination is chosen for its responsiveness to 15-minute intraday trends.
2. The Noise Filter (ADX > 15) To prevent "whipsaws" (fake signals during sideways markets), the script includes a Volatility Filter based on the Average Directional Index (ADX).
Signals are rejected if the ADX is below 15.
This ensures you only receive alerts when there is sufficient momentum to sustain a move.
3. Dynamic Risk Management (ATR) The script uses the Average True Range (ATR) to calculate Stop Loss and Take Profit levels that adapt to the specific asset's volatility.
Stop Loss: Placed at 1.5x ATR from the entry. (Tight enough to preserve capital, wide enough to survive standard market noise).
Take Profit: Placed at 2.0x ATR from the entry. (Provides a healthy 1:1.3 Risk/Reward ratio).
🚀 Key Features
Universal Dashboard: A bottom-right panel displays the live Trend Status, Entry Price, Stop Loss, and Take Profit. It automatically formats decimals for any asset (e.g., 2 decimals for Gold, 5 for Forex, 8 for Crypto).
"Sticky" Memory: The dashboard retains the prices of the last valid signal, allowing you to manage your trade even after the signal candle closes.
Trend Cloud: A visual Green/Red zone between the EMAs helps you instantly identify the market bias.
Unified Alerts: A single alert setup ("Any alert() function call") sends the Asset Name, Entry, SL, and TP directly to your phone.
🛠️ How to Use
Timeframe: Set your chart to 15 Minutes (15m).
Wait for the Signal: Look for the "BUY" (Green) or "SELL" (Red) label on the chart.
Check the Dashboard: Ensure the "STATUS" is BULLISH (for buys) or BEARISH (for sells). If the status says "WAIT", do not trade.
Execute: Enter the trade using the exact Stop Loss and Take Profit levels shown on the dashboard.
⚠️ Risk Disclaimer
Trading financial markets involves high risk and may not be suitable for all investors. This indicator is a technical analysis tool and does not constitute financial advice. Past performance is not indicative of future results. Always practice with a demo account before trading real capital.
RRE HARSI4951✅ Buy Signal
RSI crosses above 49
Heikin Ashi green (ha_close > ha_open)
✅ Sell Signal
RSI crosses below 51
Heikin Ashi red (ha_close < ha_open)
Everything else in your code remains unchanged.
RSI Driven ATR Trend [NeuraAlgo]
RSI Driven ATR Trend
Dynamic Trend Detection and Strength Analysis
Unlock the market’s hidden rhythm with the RSI Driven ATR Trend , a sophisticated tool designed to measure trend direction and strength using a combination of RSI momentum and ATR-based volatility . This indicator provides real-time insights into bullish and bearish phases, helping traders identify potential turning points and optimize entry and exit decisions.
1.Core In Logic:
Dynamically calculates trend levels based on RSI and ATR interactions.
Highlights trend direction with intuitive color coding: green for bullish, red for bearish.
Displays trend strength as a percentage to quantify momentum intensity.
Automatic visual cues for potential trend reversals with “Turn Up” and “Turn Down” labels.
Advanced smoothing and dynamic gating ensure responsive yet stable trend detection.
Compatible with all timeframes and instruments.
2.Inputs Explained:
Rsi Factor: Adjusts the sensitivity of the RSI in trend calculation. Higher values make the trend detection more responsive to momentum changes.
Multiplier: Multiplies the effect of Rsi Factor to fine-tune trend responsiveness.
Bar Back: Number of bars used for peak and dip calculations, determining how far back the indicator looks for trend changes.
Period: Lookback period used in trend gating and ATR calculations.
Source: Price source for calculations (default is close).
Main Colors: Customize bullish and bearish trend colors.
3.How it Works:
The indicator calculates RSI values and ATR-based dynamic ranges to determine upper and lower trend levels.
Trend direction is determined by price crossing above (bullish) or below (bearish) the dynamic trend line.
Trend strength is expressed as a percentage relative to the trend line, helping you assess momentum intensity.
Visual cues like "Turn Up" and "Turn Down" labels indicate potential trend reversals.
Bars are colored dynamically based on trend direction for quick interpretation.
Ideal for traders seeking a clear, actionable view of market trends without the clutter of multiple indicators. RSI Driven ATR Trend translates complex price behavior into an easy-to-read visual guide, helping you make smarter trading decisions.
Happy Trading!
Bitcoin Macro Fair Value [Structural]//@version=6
indicator("Bitcoin Macro Fair Value ", overlay=true)
// --- Model Coefficients (Derived from Python Analysis 2019-2025) ---
intercept = input.float(3.156434, "Intercept")
c_m2 = input.float(0.132827, "Real M2 Coef")
c_corp = input.float(0.742593, "Corp Spread Coef")
c_hy = input.float(-0.617968, "HY Spread Coef")
c_dxy = input.float(0.009772, "DXY Coef")
c_real30 = input.float(0.713311, "Real 30Y Coef")
c_be30 = input.float(-1.059273, "Breakeven 30Y Coef")
c_slope = input.float(0.402220, "Slope 10Y-2Y Coef")
// --- Data Fetching ---
m2 = request.security("FRED:M2SL", "M", close)
cpi = request.security("FRED:CPIAUCSL", "M", close)
real_m2 = m2 / cpi
corp = request.security("FRED:BAMLC0A0CM", "D", close)
hy = request.security("FRED:BAMLH0A0HYM2", "D", close)
dxy = request.security("TVC:DXY", "D", close)
real30 = request.security("FRED:DFII30", "D", close)
nom30 = request.security("FRED:DGS30", "D", close)
be30 = nom30 - real30
nom10 = request.security("FRED:DGS10", "D", close)
nom2 = request.security("FRED:DGS2", "D", close)
slope = nom10 - nom2
// --- Calculation ---
log_fv = intercept + (c_m2 * real_m2) + (c_corp * corp) + (c_hy * hy) + (c_dxy * dxy) + (c_real30 * real30) + (c_be30 * be30) + (c_slope * slope)
fair_value = math.exp(log_fv)
plot(fair_value, "Macro Fair Value", color=color.new(color.blue, 0), linewidth=2)
Weekday-to-Weekday % Change (selectable, Line + Axis)Weekday-to-Weekday % Change
Plots % change between the chosen weekday occurrences (week-over-week style) or intraday open→close if you select that comparison type.
Shows as a line in a separate pane (overlay=false).
Auto-scales the Y-axis in percent using invisible padded bounds so TradingView draws a readable axis and ticks.
Optional EMA smoothing and labels on the selected-day bars.
ICT FVG & Swing Detector Basic by Trader Riaz//@version=6
indicator("ICT FVG & Swing Detector Basic by Trader Riaz", overlay=true)
// Display toggles for Bullish FVGs
show_bull_fvg = input.bool(true, "Show Bullish FVGs?")
// Input settings for Bullish FVGs
fvg_bull_count = input.int(1, "Number of Bullish FVGs to show", minval=1)
// Color settings for Bullish FVGs
bullish_fvg_color = input.color(color.green, "Bullish FVG Color")
// Bullish FVG Extend Options
bull_fvg_extendGroup = "Bullish FVG Extend Options"
bull_fvg_extendOption = input.string("Default", "Bullish FVG Extend Option", options= , group=bull_fvg_extendGroup)
bull_fvg_extendCandles = input.int(8, "Bullish FVG Extend Candles (Limited Only)", minval=1, maxval=100, step=1, group=bull_fvg_extendGroup)
// Display toggles for Bearish FVGs
show_bear_fvg = input.bool(true, "Show Bearish FVGs?")
// Input settings for Bearish FVGs
fvg_bear_count = input.int(1, "Number of Bearish FVGs to show", minval=1)
// Color settings for Bearish FVGs
bearish_fvg_color = input.color(color.red, "Bearish FVG Color")
// Bearish FVG Extend Options
bear_fvg_extendGroup = "Bearish FVG Extend Options"
bear_fvg_extendOption = input.string("Default", "Bearish FVG Extend Option", options= , group=bear_fvg_extendGroup)
bear_fvg_extendCandles = input.int(8, "Bearish FVG Extend Candles (Limited Only)", minval=1, maxval=100, step=1, group=bear_fvg_extendGroup)
// Display toggles for Swing Highs
show_swing_high = input.bool(true, "Show Swing Highs?")
// Input settings for Swing Highs
swing_high_count = input.int(2, "Number of Swing Highs to show", minval=1)
// Color settings for Swing Highs
swing_high_color = input.color(color.green, "Swing High Line & Label Color")
// Swing High Extend Options
swing_high_extendGroup = "Swing High Extend Options"
swing_high_extendOption = input.string("Default", "Swing High Extend Option", options= , group=swing_high_extendGroup)
swing_high_extendCandles = input.int(8, "Swing High Extend Candles (Limited Only)", minval=1, maxval=100, step=1, group=swing_high_extendGroup)
// Display toggles for Swing Lows
show_swing_low = input.bool(true, "Show Swing Lows?")
// Input settings for Swing Lows
swing_low_count = input.int(2, "Number of Swing Lows to show", minval=1)
// Color settings for Swing Lows
swing_low_color = input.color(color.red, "Swing Low Line & Label Color")
// Swing Low Extend Options
swing_low_extendGroup = "Swing Low Extend Options"
swing_low_extendOption = input.string("Default", "Swing Low Extend Option", options= , group=swing_low_extendGroup)
swing_low_extendCandles = input.int(8, "Swing Low Extend Candles (Limited Only)", minval=1, maxval=100, step=1, group=swing_low_extendGroup)
// Target Settings
showNextTarget = input.bool(true, "Show Next Target")
nextTargetHighColor = input.color(color.red, "Next Target High Color")
nextTargetLowColor = input.color(color.red, "Next Target Low Color")
// === Time Calculation ===
// Calculate one bar duration in milliseconds
barDuration = time - time
// Define reasonable extension period (4 bars into future)
extensionPeriod = barDuration * 4
// Arrays to store values with timestamps
var bull_fvg_data = array.new(0)
var bear_fvg_data = array.new(0)
var swing_high_data = array.new(0)
var swing_low_data = array.new(0)
var bull_fvg_labels = array.new(0)
var bear_fvg_labels = array.new(0)
var swing_high_labels = array.new(0)
var swing_low_labels = array.new(0)
var bull_fvg_midlines = array.new(0)
var bear_fvg_midlines = array.new(0)
var bull_fvg_tops = array.new(0)
var bull_fvg_bottoms = array.new(0)
var bear_fvg_tops = array.new(0)
var bear_fvg_bottoms = array.new(0)
// Get the last bar index
last_bar = last_bar_index + 3
// Function to determine right boundary based on extend option
get_right_boundary(option, extend_candles, default_right) =>
if option == "None"
bar_index - 2
else if option == "Limited"
bar_index - 2 + extend_candles
else
default_right
// Bullish FVG Detection
if high < low and show_bull_fvg
right_bar = get_right_boundary(bull_fvg_extendOption, bull_fvg_extendCandles, last_bar)
new_box = box.new(left=bar_index-2,
top=low,
right=right_bar,
bottom=high ,
bgcolor=color.new(bullish_fvg_color, 90),
border_color=bullish_fvg_color)
bull_mid = (low + high ) / 2
new_midline = line.new(bar_index-2, bull_mid, right_bar, bull_mid,
color=color.new(bullish_fvg_color, 50),
style=line.style_dashed)
new_label = label.new(right_bar-1, bull_mid, "Bullish FVG",
color=color.new(bullish_fvg_color, 100),
textcolor=bullish_fvg_color,
style=label.style_none,
textalign=text.align_right,
size=size.small)
array.unshift(bull_fvg_data, new_box)
array.unshift(bull_fvg_midlines, new_midline)
array.unshift(bull_fvg_labels, new_label)
array.unshift(bull_fvg_tops, low)
array.unshift(bull_fvg_bottoms, high )
if array.size(bull_fvg_data) > fvg_bull_count
box.delete(array.pop(bull_fvg_data))
line.delete(array.pop(bull_fvg_midlines))
label.delete(array.pop(bull_fvg_labels))
array.pop(bull_fvg_tops)
array.pop(bull_fvg_bottoms)
// Bearish FVG Detection
if low > high and show_bear_fvg
right_bar = get_right_boundary(bear_fvg_extendOption, bear_fvg_extendCandles, last_bar)
new_box = box.new(left=bar_index-2,
top=low ,
right=right_bar,
bottom=high,
bgcolor=color.new(bearish_fvg_color, 90),
border_color=bearish_fvg_color)
bear_mid = (low + high) / 2
new_midline = line.new(bar_index-2, bear_mid, right_bar, bear_mid,
color=color.new(bearish_fvg_color, 50),
style=line.style_dashed)
new_label = label.new(right_bar-1, bear_mid, "Bearish FVG",
color=color.new(bearish_fvg_color, 100),
textcolor=bearish_fvg_color,
style=label.style_none,
textalign=text.align_right,
size=size.small)
array.unshift(bear_fvg_data, new_box)
array.unshift(bear_fvg_midlines, new_midline)
array.unshift(bear_fvg_labels, new_label)
array.unshift(bear_fvg_tops, low )
array.unshift(bear_fvg_bottoms, high)
if array.size(bear_fvg_data) > fvg_bear_count
box.delete(array.pop(bear_fvg_data))
line.delete(array.pop(bear_fvg_midlines))
label.delete(array.pop(bear_fvg_labels))
array.pop(bear_fvg_tops)
array.pop(bear_fvg_bottoms)
// Swing High Detection
is_swing_high = high < high and high > high
if is_swing_high and show_swing_high
right_bar = get_right_boundary(swing_high_extendOption, swing_high_extendCandles, last_bar + 3)
new_line = line.new(bar_index - 1, high , right_bar, high ,
color=swing_high_color)
new_label = label.new(right_bar, high , "Swing High",
color=color.new(color.white, 30),
style=label.style_label_left,
textcolor=swing_high_color,
size=size.tiny)
array.unshift(swing_high_data, new_line)
array.unshift(swing_high_labels, new_label)
if array.size(swing_high_data) > swing_high_count
line.delete(array.pop(swing_high_data))
label.delete(array.pop(swing_high_labels))
// Swing Low Detection
is_swing_low = low > low and low < low
if is_swing_low and show_swing_low
right_bar = get_right_boundary(swing_low_extendOption, swing_low_extendCandles, last_bar + 3)
new_line = line.new(bar_index -1, low , right_bar, low ,
color=swing_low_color)
new_label = label.new(right_bar, low , "Swing Low",
color=color.new(color.white, 30),
style=label.style_label_left,
textcolor=swing_low_color,
size=size.tiny)
array.unshift(swing_low_data, new_line)
array.unshift(swing_low_labels, new_label)
if array.size(swing_low_data) > swing_low_count
line.delete(array.pop(swing_low_data))
label.delete(array.pop(swing_low_labels))
// Clean up if toggles are turned off
if not show_bull_fvg and array.size(bull_fvg_data) > 0
for i = 0 to array.size(bull_fvg_data) - 1
box.delete(array.get(bull_fvg_data, i))
line.delete(array.get(bull_fvg_midlines, i))
label.delete(array.get(bull_fvg_labels, i))
array.clear(bull_fvg_data)
array.clear(bull_fvg_midlines)
array.clear(bull_fvg_labels)
array.clear(bull_fvg_tops)
array.clear(bull_fvg_bottoms)
if not show_bear_fvg and array.size(bear_fvg_data) > 0
for i = 0 to array.size(bear_fvg_data) - 1
box.delete(array.get(bear_fvg_data, i))
line.delete(array.get(bear_fvg_midlines, i))
label.delete(array.get(bear_fvg_labels, i))
array.clear(bear_fvg_data)
array.clear(bear_fvg_midlines)
array.clear(bear_fvg_labels)
array.clear(bear_fvg_tops)
array.clear(bear_fvg_bottoms)
// === Swing High/Low Detection ===
var float swingHighs = array.new()
var int swingHighTimes = array.new()
var float swingLows = array.new()
var int swingLowTimes = array.new()
var line swingHighLines = array.new()
var label swingHighLabels = array.new()
var line swingLowLines = array.new()
var label swingLowLabels = array.new()
isSwingHigh = high > high and high > high
isSwingLow = low < low and low < low
if isSwingHigh
array.unshift(swingHighs, high )
array.unshift(swingHighTimes, time )
if isSwingLow
array.unshift(swingLows, low )
array.unshift(swingLowTimes, time )
// === Next Target Detection ===
var line currentTargetLine = na
var label currentTargetLabel = na
if showNextTarget
if not na(currentTargetLine)
line.delete(currentTargetLine)
if not na(currentTargetLabel)
label.delete(currentTargetLabel)
priceRising = close > open
priceFalling = close < open
// Use slightly longer extension for targets
targetExtension = barDuration * 8
if priceRising and array.size(swingHighs) > 0
for i = 0 to array.size(swingHighs) - 1
target = array.get(swingHighs, i)
targetTime = array.get(swingHighTimes, i)
if target > close
currentTargetLine := line.new(
x1=targetTime, y1=target,
x2=time + targetExtension, y2=target,
color=nextTargetHighColor, width=2,
style=line.style_dashed,
xloc=xloc.bar_time)
currentTargetLabel := label.new(
x=time + targetExtension, y=target,
text="Potential Target", size=size.tiny,
style=label.style_label_left,
color=nextTargetHighColor,
textcolor=color.white,
xloc=xloc.bar_time)
break
else if priceFalling and array.size(swingLows) > 0
for i = 0 to array.size(swingLows) - 1
target = array.get(swingLows, i)
targetTime = array.get(swingLowTimes, i)
if target < close
currentTargetLine := line.new(
x1=targetTime, y1=target,
x2=time + targetExtension, y2=target,
color=nextTargetLowColor, width=2,
style=line.style_dashed,
xloc=xloc.bar_time)
currentTargetLabel := label.new(
x=time + targetExtension, y=target,
text="Potential Target", size=size.tiny,
style=label.style_label_left,
color=nextTargetLowColor,
textcolor=color.white,
xloc=xloc.bar_time)
break
Delta Zones Smart Money Concept (SMC) UT Trend Reversal Mul.Sig.🚀 What's New in This Version (V5 Update)
This version is a major overhaul focused on improving trade entry timing and risk management through enhanced UT Bot functionality:
Integrated UT Trailing Stop (ATR-based): The primary trend filter and moving stop-loss mechanism is now fully integrated.
Pre-Warning Line: A revolutionary feature that alerts traders when the price penetrates a specific percentage distance (customizable) from the UT Trailing Stop before the main reversal signal fires.
"Ready" Signal: Plots a "Ready" warning label on the chart and triggers an alert condition (UT Ready Long/Short) for pre-emptive trade preparation.
V5 Compatibility: All code has been optimized for Pine Script version 5, utilizing the modern array and type structures for efficient Order Block and Breaker Block detection.
💡 How to Use This Indicator
This indicator works best when confirming signals across different components:
1. Identify the Trend Bias (UT Trailing Stop)
Uptrend: UT Trailing Stop line is Green (Focus only on Buy/Long opportunities).
Downtrend: UT Trailing Stop line is Red (Focus only on Sell/Short opportunities).
2. Prepare for Entry (Warning Line)
Action: When you see the "Ready" label or the price hits the Pre-Warning Line (Dotted Orange Line), this is your alert to prepare for a trend flip, or to tighten the stop on your current trade.
3. Confirm the Entry (Multi-Signals)
Look for a primary entry signal that aligns with the desired trend:
High-Conviction Entry: Wait for the UT Buy/Sell label (confirmed trend flip) AND a Combined Buy/Sell arrow (confirmed by your selected Oscillator settings).
High-Liquidity Entry: Look for a Delta Zone Box forming near an active Order Block or Breaker Block (SMC zones), and then confirm with a UT or Combined Signal.
4. Manage Risk (Trailing Stop)
Always set your initial Stop Loss (SL) either just outside the opposite Order Block or at the UT Trailing Stop level itself.
If the price closes back across the UT Trailing Stop, exit your position immediately, as the trend bias has officially shifted.
Features & Components
1. Delta Zones (Liquidity/Wick Pressure)
Identifies periods of extreme buying or selling pressure based on wick-to-body ratios and standard deviation analysis.
Plots colored pressure boxes (Buy/Sell) to highlight potential exhaustion points or institutional activity.
2. Smart Money Concepts (SMC)
Automatically detects and plots Order Blocks (OBs) and Breaker Blocks (BBs) based on confirmed Market Structure Breaks (MSBs).
Includes Chop Control logic to remove less reliable Breaker Blocks.
3. UT Bot Trailing Stop & Warning Line
UT Trailing Stop (ATR-based): Plots a dynamic trend line (Green/Red) that acts as a moving stop-loss and primary trend filter.
Ready/Warning Signals: Alerts traders (via the "Ready" label and orange lines) when the price enters a "Pre-Reversal Zone" near the Trailing Stop.
4. Multi-Indicator Confirmation (Filters)
Includes customizable signals based on the crossover/crossunder of RSI, CCI, and Stochastic indicators against configurable Overbought/Oversold levels.
Allows selection of combination signals (e.g., RSI & CCI, All Combined, etc.) for high-conviction entries.
Gann Levels (Auto) by RRR📌 Gann Levels (Auto) — Intraday, Swing & Elliott Wave Precision Tool
Gann Levels (Auto) is a high-accuracy price-reaction indicator designed for intraday scalpers, swing traders, and Elliott Wave traders who want clean, auto-updating support and resistance levels without manually drawing anything.
The indicator automatically detects the latest swing high & swing low and plots the 8 Gann Octave Levels between them. These levels act as a complete price map—showing equilibrium, structure, trend continuation zones, and reversal points with extreme precision.
🔥 Why This Indicator Stands Out
✔ Fully automatic swing detection
Levels update as structure evolves — no manual adjustments.
✔ All Gann Octave levels
Plots 1/8 through 8/8 including the critical 4/8 midpoint.
✔ Intraday-optimized
Exceptional on 1m, 3m, 5m, and 15m charts.
✔ Ultra-clean support & resistance
Levels act as reliable barriers and breakout zones.
⭐ MOST IMPORTANT LEVELS FOR INTRADAY
4/8 – Midpoint (Major Decision Pivot)
Strongest Gann level.
Controls trend or reversal for the session.
Breakout → Trend Day
Rejection → Reversal Day
8/8 & 0/8 – Extreme Structure Edges
Most likely zones for intraday reversals.
Perfect for scalp entries when combined with volume exhaustion.
🎯 How to Trade ELLIOTT WAVE Using Gann Levels
This indicator is exceptionally powerful when combined with Elliott Wave Theory.
Here is how to use it wave-by-wave:
🔵 Wave 2 → Identify Bottom Using 0/8 or 1/8 Levels
Wave 2 typically retraces deep but remains above key structure.
Gann confirmation:
Price stops at 0/8 or 1/8 zone
Rejection wick + low volume breakdown attempt
Bullish intent starts forming
This gives a perfect Wave 3 entry zone.
🔴 Wave 3 → Breakout Above 4/8 Midpoint
Wave 3 is the strongest impulsive wave.
The 4/8 level works like a force-field.
Wave 3 confirmation:
Price breaks and retests 4/8
Strong volume
No deep pullbacks after break
This is one of the most reliable Elliott + Gann trades.
🟡 Wave 4 → Uses 3/8 or 5/8 as Support/Resistance
Wave 4 is corrective and shallow compared to Wave 2.
Gann alignment:
Wave 4 often consolidates between 3/8 and 5/8
Levels act like range boundaries
Avoid trading inside chop; wait for breakout
This gives perfect continuation entries for Wave 5.
🟣 Wave 5 → Ends Near 7/8 or 8/8 Extreme Zone
Wave 5 usually ends in overbought territory.
Gann confirmation:
Price hits 7/8 or 8/8
Momentum weakens
Divergence builds (RSI/MACD optional)
Last push = exhaustion
This is where reversals or major pullbacks begin.
💥 BONUS: Corrective Waves (A-B-C)
Wave A:
Often rejects from 4/8 or 5/8.
Wave B:
Typically trapped between 3/8–5/8.
Wave C:
Usually ends around 0/8 (for bullish trend)
or 8/8 (for bearish trend).
These zones give ultra-high confidence entries.
⚙️ Who This Indicator Is Perfect For
Elliott Wave traders
Intraday scalpers
Swing traders
Price action & structure traders
Traders who want automatic support-resistance levels
Traders who want clean, non-cluttered levels
⚠️ Disclaimer
This indicator is for educational purposes only.
Trading involves risk. Always use proper risk management.
Tactical Deviation🎯 TACTICAL DEVIATION - Volume-Backed VWAP Deviation Analysis
What Makes This Different?
Unlike basic VWAP indicators, Tactical Deviation combines:
• Multi-timeframe VWAP deviation bands (Daily/Weekly/Monthly)
• Volume spike intelligence - signals only appear with volume confirmation
• Pivot reversal detection at deviation extremes
• Optional multi-VWAP confluence system
• Smart defaults for quality over quantity
This unique combination filters weak setups and identifies high-probability entries at extreme price deviations from fair value.
📊 DEFAULT SETTINGS (Ready to Use)
✅ Daily VWAP with ±2σ deviation bands
✅ Volume spike detection (1.5x average required)
✅ 2σ minimum deviation for signals
❌ Weekly/Monthly VWAPs (enable for multi-timeframe)
❌ Pivot reversal requirement (enable for stronger signals)
❌ Fill zones (optional visual enhancement)
Why: Daily VWAP is most relevant for intraday trading. 2σ bands catch meaningful moves. Volume spikes ensure conviction. Clean chart focuses on what matters.
🚀 HOW TO USE
BASIC USAGE:
• Green triangles (below bars) = Long signals at oversold deviations
• Red triangles (above bars) = Short signals at overbought deviations
SIGNAL QUALITY:
• Normal size, bright colors = Volume spike (best quality)
• Small size, lighter colors = Volume momentum
• Tiny size = No volume confirmation
DEVIATION ZONES:
• ±2σ = Extreme deviation (signals appear here)
• ±1σ to ±2σ = Extended but not extreme
• Within ±1σ = Normal range
TRADING APPROACHES:
Mean Reversion:
→ Enter when price reaches ±2σ with volume spike
→ Target: Return to VWAP or opposite band
→ Stop: Beyond extreme deviation
Trend Continuation:
→ Use bands to identify pullbacks
→ Enter pullback to VWAP in trending market
→ Volume confirms continuation
Reversal Trading:
→ Enable "Require Pivot Reversal" for stronger signals
→ Signals only when deviation + pivot reversal occur
→ Higher probability, fewer signals
⚙️ EXPLORE SETTINGS FOR FULL USE
VWAP SETTINGS:
• Show Weekly/Monthly VWAP = Multi-timeframe context
• Show ±1σ Bands = Normal deviation range
• Show ±3σ Bands = Extreme extremes (rare but powerful)
SIGNAL SETTINGS:
• Min Deviation: 1σ (more signals) | 2σ (default) | 3σ (fewer, extreme only)
• Require Pivot Reversal: OFF (default) | ON (stronger but fewer)
• Volume Spike Threshold: 1.5x (default) | 2.0x+ (major spikes) | 1.2x (more signals)
CONFLUENCE SETTINGS:
• Require Multi-VWAP Confluence: OFF (default) | ON (2+ VWAPs must agree)
• Min VWAPs: 2 (Daily + Weekly/Monthly) | 3 (all must agree)
VISUAL SETTINGS:
• Show Fill Zones = Shaded areas between bands
• Fill Opacity = Transparency adjustment
• Line Widths = Customize thickness
💡 PRO TIPS
1. Start with defaults, then enable features as you learn
2. Volume spike requirement filters weak moves - keep it enabled
3. Enable Weekly/Monthly VWAPs for higher timeframe context
4. Enable confluence for swing trading setups
5. Pivot reversals: ON for reversals, OFF for continuations
6. Check top-right info table for current deviation levels
🎨 VISUAL GUIDE
• Cyan Line = Daily VWAP (fair value)
• Cyan Bands = Daily deviation zones
• Orange Line = Weekly VWAP (if enabled)
• Purple Line = Monthly VWAP (if enabled)
• Green Triangle = Long signal (oversold)
• Red Triangle = Short signal (overbought)
⚠️ IMPORTANT
Educational purposes only. Always use proper risk management. Signals are based on statistical deviation, not guarantees. Volume confirmation improves quality but doesn't guarantee outcomes. Combine with your own analysis.
The unique combination of VWAP deviation analysis, volume profile confirmation, pivot identification, and multi-timeframe confluence in a single clean interface makes Tactical Deviation different from basic VWAP indicators.
Happy Trading! 📈
Classic Dual Momentum – 12-Month Absolute Momentum - AntonacciThis indicator calculates the 12-month absolute momentum exactly as described in Gary Antonacci’s Dual Momentum framework.
It automatically adjusts the lookback period based on the chart’s timeframe:
Daily chart: 252 bars
Weekly chart: 52 bars
Monthly chart: 12 bars
Other timeframes: Estimated automatically using bar time difference
The script computes the 12-month rate of return and displays it as a color-coded column plot:
Green: Positive 12-month momentum
Red: Negative 12-month momentum
A customizable moving average is included to help visualize longer-term trends in the momentum signal.
How It’s Used (from Dual Momentum theory)
This indicator provides the absolute momentum filter used in classic Dual Momentum strategies:
If the 12-month return of an asset is above the risk-free return → trend is positive
If it is below the risk-free return → trend is negative
This absolute momentum check is a key component of the Global Equities Momentum (GEM) model presented in Gary Antonacci’s book Dual Momentum Investing.
Why This Indicator Exists
It gives traders a clean, accurate way to visualize the 12-month trend strength across any timeframe, without the distortions caused by bar length differences.
Scaling_mastery:Free TrendlinesScaling_mastery Trendlines is a clean, trading-ready smart trendline tool built for the Scaling_mastery community.
It automatically finds swing highs/lows and draws dynamic trendlines or channels that stay locked to price, on any symbol and any timeframe.
🔧 Modes
Trendline type
Wicks – classic trendlines anchored on candle wicks (high/low).
Bodies – trendlines anchored on candle bodies (open/close), great for closing structure.
Channel – 3-line channel:
outer lines form a band around price
middle line runs through the centre of the channel
thickness is adjustable (Small / Medium / Large).
Trend strength
Controls how strong the pivots must be to form a line.
Weak → more lines, reacts faster.
Medium → balanced, good for most pairs.
Strong → only the cleanest swings, higher-probability trendlines.
🎨 Visual controls
Max support / resistance lines – cap how many lines are kept on chart.
Show broken lines – hide broken trendlines or keep them for structure history.
Extend lines – None / Right / Both.
Support / Resistance colors – separate colors for active vs broken.
Channel thickness – Small / Medium / Large (0.5% / 1% / 2% of price).
Channel outer lines – color for channel edges.
Channel middle line – color + style (dotted / dashed / solid).
Broken lines are automatically faded + dotted, so you can instantly see what’s still respected and what’s already been taken out.
🧠 How to use
Add the indicator to any chart.
Start with:
Trendline type: Wicks
Trend strength: Strong
Max lines: 1–2 for both support & resistance
Once you like the behavior, experiment with:
Switching between Wicks / Bodies / Channel
Adjusting Channel thickness and Trend strength
Use the lines as a visual confluence tool with your own strategy:
HTF trend direction
LTF entries / retests
Liquidity grabs around broken lines
This script doesn’t generate entries or risk management – it’s designed to give you clean, reliable structure so you can execute your own edge.
⚠️ Disclaimer
This tool is for educational and visual purposes only and is not financial advice.
Always do your own research and manage risk.
I4I Inside Vortex Strike RateThis indicator identifies what I call an "Inside Vortex": It's similar to a Doji but more strict in having to be inside a keltner and also have a lower ATR than a blended average.
The bar itself is not that special. But it indicates that a potential big move might come in the next 2 periods.
After the patter: It then looks at what I call the Market Maker High and Low: A % of a blended ATR. It then looks back 100-200 or more bars and calculates the overall strike % in history for the High and low after the pattern happens.
This allows us to know how often these levels are hit within the next 2 periods to find if we have any edge on spread, call or put prices or use them as targets.
So its:
Pattern:
Levels
Strike Rate.
Very unique and EXTREME useful. Especially for options traders.
Volume Spike & Second Entry (Fast Scalping)this indicator puts volume spikes on your chart which gives a good indicator of a large move






















