EMA Divergence Channel (Only Above EMA 200)shows ema divergence above 200 ema. When the 7 ema diverges from 21 and 50 really fast, the channel shows up
Breadth Indicators
Relative Strength Scanner (10 tickers)Relative Strength Scanner Dashboard (10-Ticker Intraday)
This powerful dashboard provides an efficient, at-a-glance view of the Relative Strength (RS) of up to 10 user-defined symbols against a chosen benchmark (e.g., SPY). It's designed for active traders who need to quickly identify market leaders and laggards across any timeframe, including intraday.
How it Works:
The indicator uses the time-tested concept of Relative Strength by comparing the percentage return of each stock against the percentage return of a reference index/ETF over the same period.
Return Calculation: For each symbol, the script calculates the percent change over a user-defined Lookback Period (e.g., 20 bars) on a user-selected RS Timeframe (e.g., 60-minute, 4-hour, or Daily).
Relative Strength: The RS value is the difference between the symbol's return and the benchmark's return.
$ NYSE:RS = \text{Symbol Return} - \text{Benchmark Return}$$
Real-Time Dashboard: The results are displayed in a non-overlay table, highlighting the strongest performing asset (the Market Leader) with a distinct background color.
Key Features:
Intraday Capable: The RS Timeframe input allows you to accurately measure strength on smaller timeframes (e.g., 15m, 60m), ensuring the lookback window is calculated correctly based on the higher timeframe bars.
Performance Reliability: The underlying logic ensures that the lookback calculation is performed within the request.security context, eliminating the common Pine Script error of mixing chart and security timeframes.
At-a-Glance Leader Identification: The table visually highlights the top-performing symbol with the highest relative strength, making leader rotation instantly obvious.
Configurable Watchlist: Easily input up to 10 symbols and any major index or ETF as your Benchmark Symbol.
Clear Metrics: The dashboard shows three columns: Ticker Name, Absolute Return (%), and RS vs. Benchmark (%).
MAG7 + VWAP Confluence Regime FilterMAG7 + VWAP Confluence Regime Filter (with Market Breadth Table)
The Ultimate Market State Detector for Intraday Futures & Index Traders
This tool is a high-precision regime filter built for traders who want to avoid chop, trade only during clean directional flows, and align entries with the true leaders of the U.S. equity market — the MAG7.
Instead of guessing trend, this indicator measures real-time leadership, institutional flow, and market conviction by monitoring the top seven market-driving stocks:
AAPL, MSFT, AMZN, META, GOOGL, TSLA, NVDA
For each symbol, the indicator checks whether price is above or below VWAP on a chosen intraday timeframe, then aggregates the results into a market breadth confluence score.
When combined with the VWAP status of ES/MES (the chart you attach it to), this system becomes an extremely reliable Risk-On / Risk-Off classifier, filtering out low-quality environments and highlighting moments of strong directional bias.
SymFlex Band - MAD, RSI, ATRThe SymFlex Band is an adaptive volatility and momentum framework that merges
three independent band models into a unified analytical tool.
• The MAD Band measures deviation from the moving average using Median Absolute Deviation,
providing a stable view of range-based volatility.
• The RSI Momentum Band adjusts its upper and lower boundaries asymmetrically,
expanding in the direction of momentum and contracting against it.
• The ATR Band captures classical volatility expansion for breakout and trend-continuation conditions.
Rather than placing the three indicators separately on a chart, the script synchronizes
their center-line logic, compares their band distances, identifies the nearest active band,
and displays real-time correlation between their dynamic ranges.
This structure helps traders understand whether price behavior is dominated by
range compression, momentum imbalance, or volatility expansion.
The table summarizes:
• active band ranges
• breakout status
• distance from each band
• cross-band correlation
This indicator is designed purely for analysis. It does not generate trade entries.
Heikin Ashi Background ColorHighlights the background of traditional candle sticks with the corresponding heiken ashi candle colour in order to avoid switching back and forth between heiken ashi and traditional candle sticks
Crypto Signals & Overlays –29-11-2025Nebula Crypto Signals & Overlays
Nebula is a multi-timeframe trend and momentum indicator designed for high-cap crypto pairs (BTC, ETH, SOL, DOGE, etc.).
• Uses 21/50/200 EMAs + higher-timeframe EMA for trend filtering
• RSI and Bollinger Bands for momentum and squeeze detection
• Generates BUY/SELL labels on trend-side pullbacks
• ATR line as a dynamic stop/target guide, plus pivot-based support/resistance zones
• Background colors: green = bullish regime, red = bearish regime, yellow = low-volatility squeeze
Not financial advice. Always backtest and use proper risk management before trading live.
Bitcoin Optimized ScalperBasically tracks orderflow and pairs with Hurst exponents and KAMA aggression to tell you when to enter short or long. Join my discord for more.
discord.gg
Weekly Future and ZoneDescription
🔹This multi-tool indicator plots Best-Strike–based R/S levels, BEP zones, Panic zones, Synthetic Future High/Low, Previous Day OHLC, Daily Open, CPR (Daily/Weekly), and key EMAs.
Designed for option writers, index traders, and intraday traders who want all major reference levels in one place.
🔹Includes toggles for every module, auto-cleaned drawing objects, CPR box shading, customizable MAs, and optimized last-bar rendering.
Best Strike : CE/PE Close price which is near.
Need Input CE/PE High, Low, Close Price
💡 Key Features:
Best-strike derived R1, R2, S1, S2
BEP (Break-even) Levels
Panic Zones for directional risk
Synthetic Future High/Low using CE/PE premium imbalance
Previous Day OHLC for intraday structure mapping
Daily Session Open
CPR (Daily/Weekly) + automatic CPR zone shading
EMA Trend Pack + customizable SMA/EMA/WMA/VWMA
⚠️ Disclaimer
This indicator is provided for educational and analytical purposes only.
It does not provide trading advice or buy/sell signals.
Use responsibly and in conjunction with your market analysis.
NQBA This indicator is designed for educational purposes only and aims to support traders in analyzing price action using a combination of advanced technical tools.
The script provides:
Overbought and oversold zones derived from deviation factors and momentum filters.
Dynamic levels based on several adaptive moving averages (Adaptive EMA, Normal EMA, and Trend EMA).
Enhanced trend lines calculated using ATR-based channel formulas with adjustable volatility filters.
Visual signals intended to highlight trend direction, momentum shifts, and potential reversal areas.
Dynamic support and resistance channels that adapt to market volatility.
This indicator does not guarantee performance, profitability, or specific trading outcomes.
It should not be considered financial or investment advice.
Results may vary depending on market conditions and user inputs, and it is recommended to combine this indicator with additional analysis tools before taking any trading decision.هذا المؤشر مصمم لأغراض تعليمية فقط، ويهدف إلى مساعدة المتداول في تحليل حركة السعر باستخدام مزيج من الأدوات الفنية المتقدمة.
يقوم المؤشر بعرض:
مناطق التشبّع الشرائي والبيعي بناءً على معاملات الانحراف ومؤشرات الزخم.
مستويات ديناميكية تعتمد على متوسطات متحركة تكيفية (Adaptive EMA – Normal EMA – Trend EMA).
خطوط اتجاه محسّنة تعتمد على قيم النطاق اللحظي (ATR) مع استخدام خوارزميات لضبط حجم القناة.
إشارات مرئية تساعد على متابعة الاتجاه العام والزخم وتحديد مناطق التحول المحتملة.
قنوات دعم ومقاومة تعتمد على خطوط متغيرة حسب تذبذب السوق.
لا يعتمد هذا المؤشر على معادلات تعطي نتائج مؤكدة، ولا يمثل نصيحة استثمارية أو مالية.
قد تختلف نتائج الأداء من مستخدم لآخر ويجب استخدامه مع أدوات واستراتيجيات تحليل إضافية قبل اتخاذ أي قرار تداول.
FOMO IndicatorOverlays overbought/oversold signals using NCFD on a chart. High FOMO tends to signal high likelihood of a pullback; low tends to signal high likelihood of a bounce. Generally used for risk management and timing entries.
Mustang Algo - Momentum Trend Zone Backtest🐎 MUSTANG ALGO - Momentum Trend Zone Strategy
A complete trading system combining MACD momentum analysis with visual trend zones, full backtesting capabilities, and advanced risk management tools.
══════════════════════════════════════════════════════════════════════════
🔹 OVERVIEW
Mustang Algo transforms traditional MACD analysis into a powerful visual trading system. It instantly identifies market bias through colored background zones and provides clear entry/exit signals with customizable stop loss and take profit management.
══════════════════════════════════════════════════════════════════════════
🔹 KEY FEATURES
✅ Visual Trend Zones (Green = Bullish | Red = Bearish)
✅ Clear Buy/Sell Triangles on Chart
✅ Full Backtesting Engine
✅ Multiple Stop Loss Types
✅ Multiple Take Profit Types
✅ Trailing Stop Option
✅ Time Filter for Backtesting
✅ Real-time Info Panel
✅ Customizable Alerts
══════════════════════════════════════════════════════════════════════════
🔹 HOW IT WORKS
The strategy uses a smoothed MACD system to detect trend changes:
- MACD Line (White): Fast EMA minus Slow EMA - shows raw momentum
- Signal Line (Yellow): EMA of MACD - shows smoothed trend direction
- Trend Zone: Changes when the smoothed signal line crosses zero
- Entry Signals: Generated at zone transitions
When the trend line crosses above zero → GREEN zone → BUY signal 🔺
When the trend line crosses below zero → RED zone → SELL signal 🔻
══════════════════════════════════════════════════════════════════════════
🔹 STOP LOSS OPTIONS
🛑 Percentage: Fixed percentage from entry price
🛑 ATR-Based: Dynamic SL based on market volatility
🛑 Fixed Points: Set number of points/pips
🛑 Swing Low/High: Uses recent swing levels as stops
══════════════════════════════════════════════════════════════════════════
🔹 TAKE PROFIT OPTIONS
🎯 Percentage: Fixed percentage target
🎯 ATR-Based: Dynamic TP based on volatility
🎯 Fixed Points: Set number of points/pips
🎯 Risk Reward: Automatic TP based on R:R ratio (e.g., 2:1, 3:1)
══════════════════════════════════════════════════════════════════════════
🔹 TRAILING STOP
📈 Percentage-Based: Trail by a fixed percentage
📈 ATR-Based: Trail using ATR multiplier for dynamic adjustment
══════════════════════════════════════════════════════════════════════════
🔹 SETTINGS
MACD Parameters:
- Fast Length (default: 12)
- Slow Length (default: 26)
- Signal Length (default: 9)
- Trend Smoothing (default: 5)
Risk Management:
- Enable/Disable Stop Loss
- Enable/Disable Take Profit
- Enable/Disable Trailing Stop
- Customize all SL/TP parameters
Visual Options:
- Show/Hide Buy/Sell Triangles
- Show/Hide SL/TP Lines
- Show/Hide Labels
Time Filter:
- Set Start Date for backtest
- Set End Date for backtest
══════════════════════════════════════════════════════════════════════════
🔹 SIGNALS EXPLAINED
🟢 GREEN TRIANGLE (Below Bar):
Bullish zone detected - Consider LONG entry
🔴 RED TRIANGLE (Above Bar):
Bearish zone detected - Consider SHORT entry
🟢 GREEN BACKGROUND:
Currently in bullish trend zone
🔴 RED BACKGROUND:
Currently in bearish trend zone
══════════════════════════════════════════════════════════════════════════
🔹 INFO PANEL
The real-time info panel (top right) displays:
- Current Trend Zone status
- MACD value
- Signal Line value
- Active SL Type
- Active TP Type
══════════════════════════════════════════════════════════════════════════
🔹 ALERTS
Set up alerts for:
🔔 Buy Signals: "🐎 Mustang Algo: BUY Signal on {ticker} at {price}"
🔔 Sell Signals: "🐎 Mustang Algo: SELL Signal on {ticker} at {price}"
══════════════════════════════════════════════════════════════════════════
🔹 BEST PRACTICES
1. Use higher timeframes (1H, 4H, Daily) for more reliable signals
2. Combine with price action and support/resistance levels
3. Adjust ATR multipliers based on asset volatility
4. Use Risk Reward ratio for consistent risk management
5. Backtest on your preferred asset before live trading
══════════════════════════════════════════════════════════════════════════
🔹 RECOMMENDED TIMEFRAMES
⏱️ Scalping: 5M, 15M (more signals, more noise)
⏱️ Day Trading: 1H, 4H (balanced signals)
⏱️ Swing Trading: Daily, Weekly (fewer but stronger signals)
══════════════════════════════════════════════════════════════════════════
🔹 MARKETS
Works on all markets:
📈 Forex
📈 Crypto
📈 Stocks
📈 Indices
📈 Commodities
📈 Futures
══════════════════════════════════════════════════════════════════════════
🐎 RIDE THE TREND WITH MUSTANG ALGO!
══════════════════════════════════════════════════════════════════════════
⚠️ DISCLAIMER
This indicator/strategy is for educational and informational purposes only. It is not financial advice. Trading involves substantial risk of loss and is not suitable for all investors. Past performance is not indicative of future results. Always use proper risk management, do your own research, and consider consulting a financial advisor before making any trading decisions. Use at your own risk.
══════════════════════════════════════════════════════════════════════════
📝 VERSION HISTORY
v1.0 - Initial Release
- MACD-based trend detection
- Visual trend zones
- Multiple SL/TP options
- Full backtesting support
- Trailing stop functionality
- Time filter
- Info panel
- Alert system
══════════════════════════════════════════════════════════════════════════
💬 FEEDBACK
If you find this strategy useful, please leave a comment or suggestion!
Your feedback helps improve future updates.
🐎 Happy Trading!
Student Wyckoff Target Shooter
**Target Shooter — Equal Move Target Tool (Larry Williams idea)**
**1. What this indicator does**
Target Shooter is a tool that measures the last meaningful price swing and projects an **equal move target** in the direction of the breakout.
The logic is simple:
* The market makes a move from point A to point B (a swing high to a swing low, or vice versa).
* Then price breaks out above or below this swing range.
* Target Shooter takes the size of that swing and **adds it in the direction of the breakout**, showing a logical **price target zone** where the move may:
* slow down,
* react,
* or potentially reverse.
This is a practical implementation of the “Equal Moves” idea often referenced by Larry Williams.
---
**2. Core idea (example)**
Example from the classic explanation:
* Price drops from **80 down to 20** → the move is **60 points**.
* The swing range is now: **High = 80, Low = 20**.
* Later, price **breaks above 80**.
Target Shooter assumes:
> “If the market could move 60 points in one direction, after a breakout it may travel another 60 points in the opposite direction.”
So the upside target becomes:
* Move size: 80 − 20 = 60
* Breakout above 80
* **Target = 80 + 60 = 140**
The indicator finds such swings automatically and draws:
* **UT (Upper Target)** on upside breakouts
* **DT (Down Target)** on downside breakouts
---
**3. What you see on the chart**
1. **Target lines**
* When price breaks **above** a previous swing range, the indicator plots a horizontal **UT (Upper Target)** line — the projected equal move target.
* When price breaks **below** the previous swing range, it plots a **DT (Down Target)** line — the downside target.
* Each line is drawn from the breakout bar and extended to the right for a user-defined number of bars.
2. **Price labels**
* A small label “UT” or “DT” is shown at the end of the line with the exact target price.
* This makes it easy to see where the projected target is without checking the scale.
3. **Optional swing range (debug view)**
* There is an option to display the **swing range** that the target is based on (similar to a Donchian channel on previous bars).
* This shows the upper (swing high) and lower (swing low) boundaries the indicator used to define the last move.
---
**4. Key inputs (plain language)**
* **Swing window length (bars)**
How many bars back the indicator looks to find the last meaningful swing (highest high and lowest low).
This is like the length of a Donchian channel used to define the previous range.
Smaller values → more frequent, shorter targets.
Larger values → bigger swings and more distant targets.
* **Minimum move size (in ticks)**
This is a noise filter.
If the distance between the swing high and swing low is smaller than this threshold, no targets are drawn.
The indicator will only react to moves that are big enough to matter for your trading.
* **Breakout type: Close vs High/Low**
* **Breakout by Close**:
The target appears only when the **bar closes** above/below the swing range.
More conservative and fewer false signals.
* **Breakout by High/Low**:
The target appears as soon as the **high** or **low** of the bar breaks the swing range.
Faster and more aggressive, but more sensitive to noise.
* **Target line length (bars)**
How far to the right the UT/DT lines should be extended.
Shorter length → local target zones.
Longer length → important levels visible far into the future.
* **Appearance settings**
* Separate color, width and style for **UT** and **DT** lines.
* Option to show or hide labels with price and “UT/DT” text.
---
**5. How to use Target Shooter in trading**
> Important: this is **not** an entry signal indicator.
> Target Shooter is a **targeting and context tool**, not a standalone system.
Typical uses:
1. **Planning take-profit zones**
* You already have an entry signal from your own strategy (Wyckoff, Larry Williams patterns, levels, volume, whatever you use).
* Target Shooter shows a **logical equal move target** where the current wave can reasonably “shoot”.
* You can:
* place your main take-profit around the target,
* scale out part of the position,
* tighten stops when price approaches the target.
2. **Finding potential reaction / reversal areas**
* Equal move targets often act as **zones of interest**.
* If price reaches a UT/DT level and then shows weakness/absorption/volume spikes or reversal candles, this might be a good place to take profits or look for counter-trend opportunities (for experienced traders).
3. **Assessing trend strength**
* If price **easily exceeds** the equal move target and keeps going without any reaction, it suggests a very strong trend.
* If price **fails to reach** the target and reverses early, the move is weaker than expected.
---
**6. Timeframes**
Target Shooter can be used on:
* **Intraday** (M5, M15, M30, H1) — for shorter-term targets within the day,
* **Higher timeframes** (H4, D1 and above) — for swing and position trades.
General rule:
The **higher the timeframe and the larger the swing**, the **more important** the target level tends to be.
---
**7. Notes and limitations**
* The indicator does **not** predict the future.
It simply projects a geometric equal move from the last swing.
* It should be combined with your own trading framework:
* support/resistance,
* Wyckoff / VSA,
* trend tools,
* volume/flow, etc.
* Always keep proper risk management.
A target is a **scenario**, not a guarantee.
.
CPA 3 PROTitle: CPA 3 PRO: Ultimate Price Action & Liquidity Suite
Overview CPA 3 PRO is a comprehensive, all-in-one trading system designed primarily for Crypto markets. It combines classic Price Action concepts with advanced Liquidity Analysis, Volume profiling, and a multi-timeframe scoring system. Unlike simple signal indicators, CPA 3 PRO aggregates over 10 different technical factors to calculate a "Confidence Score" before generating a trade setup.
It features a built-in Multi-Symbol Scanner that allows you to monitor the health of 5 different assets simultaneously directly from your chart dashboard.
Key Features
1. Confluence Scoring System (The Engine) The indicator uses a point-based system to generate Buy/Sell signals. A signal is only confirmed if the cumulative score exceeds a specific threshold based on your chosen Risk Level.
Factors analyzed: Breakouts, EMA Crosses, VWAP position, OBV Trends, MACD Momentum, RSI levels, and Multi-Timeframe trends (4H/1D).
Thresholds: You can set the risk to Low, Medium, or High, which adjusts the required points to trigger a signal.
2. Liquidity & Volume Analysis
Bid/Ask Spread Monitor: Detects low liquidity periods where slippage might occur.
Order Walls: Identifies potential large buy/sell walls based on volume anomalies relative to price movement.
Manipulation Detection: Flags "Suspicious Volume" and "Wash Trading" patterns to help you avoid traps.
3. Advanced Risk Management
Dynamic SL/TP: Automatically calculates Stop Loss and Take Profit levels based on ATR (Volatility) and Fibonacci levels.
View Modes: Choose between ATR-based, Fibonacci-based, or an Average of both for your targets.
Risk/Reward Calculation: Displays the potential R/R ratio for every setup.
4. Dashboard & Scanner A sophisticated on-screen table provides real-time data:
Scanner: Checks 5 user-defined symbols (default: BTC, ETH, BNB, SOL, ADA) for buy/sell conditions simultaneously.
Technical Details: Displays current Breakout status, EMA trends, and OBV direction.
Risk Data: Shows entry price, calculated SL/TP levels, and current volatility status.
How to Use
Select Risk Level: Go to settings and choose your risk appetite (Low/Medium/High).
Wait for Confluence: Look for the "STRONG BUY" (Triangle Up) or "STRONG SELL" (Triangle Down) labels.
Check the Dashboard:
Ensure the Liquidity section is stable (Green).
Check the Time Filter (avoid low liquidity hours if you are a scalper).
Verify the Signal Power score in the table.
Risk Management: Use the displayed SL and TP levels to manage your position. The lines are plotted automatically when a signal is active.
Settings
Volume Multiplier: Adjust sensitivity for volume spike detection.
Risk Level: Filters signals based on the strength of the confluence.
Scanner Symbols: Customize the 5 assets you want to monitor in the dashboard.
TP Calculation Method: Choose between ATR, Fibonacci, or a mix.
stock whisperersdfasow, why your line.new failed:
If Pine isn’t exactly v5, TradingView treats line like it doesn’t exist and throws “undeclared identifier”. That’s what you saw.
If you still want the fancy extending lines instead of plots, I can give you a version that forces Pine v5. But this one already does what you asked:
Shows the levels on top of candles, not in a lower pane.
Copy. Paste. Add. Done.
If it still breaks, the issue is your TradingView editor, not the code.
BTR Auto Buy/Sell Trend System
BTR Auto Buy/Sell Trend System — Your New Profit Machine!
Discover the only TradingView system you need to spot powerful trend reversals with precision, confidence, and automation.
Designed for Stocks, Crypto & Commodities, this strategy consistently delivers 60%–80% accuracy in trending markets.
This is not just a script…
👉 It’s your complete plug-and-play trading system.
💡 Why Traders Love This System
✔ Early Trend Identification
Catch major reversals before the crowd.
✔ Non-Repainting Confirmed Signals
All entries are triggered only on candle close, so what you see is what you trade.
✔ Smart ATR + Momentum Engine
Filters bad trades automatically, giving you only high-quality signals.
✔ Works on All Timeframes
From 5-minute scalping to daily swing trading.
✔ Full Auto-Trading Ready
Pre-built JSON alerts for API Algo Trading.
No coding. No setup headache. Just copy → paste → trade.
⚡ How You Make Money With This Strategy
Step 1: Wait for Trend Flip
🔵 BUY when the system flips from bearish → bullish
🔴 SELL when it flips from bullish → bearish
Step 2: Enter on Confirmed Signal
Trade only on the bar after signal closes.
Step 3: Ride the Trend
Let the strategy take the move.
It avoids sideways markets and shines in strong trends.
Step 4: Auto Alerts (Optional)
Turn on Dhan alerts and let the system execute trades automatically.
📈 What You Can Expect (Typical Performance)
✔ 60–80% success rate in trending markets
✔ Works in Stocks, Crypto, Commodities
✔ High accuracy in 15m, 30m, 1H, 4H charts
✔ Avoids most fake breakouts & sideways noise
This system is built for consistency, simplicity, and scalable automation.
⭐ Perfect For:
Beginner traders
Algo traders
Swing traders
Scalpers
Systematic
API users
Anyone who wants clean, high-probability trend signals
⚠ Disclaimer
Trading involves risk. Past results do not guarantee future returns.
Use proper risk management for best results.
Meu scriptPricemap CONTROL (2, 1, 1, 5, 15, 60, 3, 50, 200, 14, 12, 26, 9, bottom_right, 21, 14, 14, 1, 1,5)
Sniper Entry AU - AYUSHThis indicator combines EMA 9, EMA 15, and VWAP to identify trend direction and intraday strength. EMA 9 and EMA 15 show short-term momentum and crossover signals, while VWAP acts as an institutional reference point for fair value. Together, they help traders spot trend continuation, pullbacks, and high-quality entry zones during intraday sessions.
ل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))
//-----------------------------------------------------------------------------}
古诗缠论更新11-28Chan Theory (or "The Entanglement Theory") is a technical analysis framework developed by Li Biao, combining market fractals, self-similarity, and Eastern philosophy. It identifies price patterns through core concepts like Fenxing (reversal signals), Bi (directional strokes), and Zhongshu (consolidation zones). Based on fractal and multi-level structures, it reveals market order and turning points, offering systematic entry/exit signals. Widely used in stocks, futures, and forex, Chan Theory helps traders decode market behavior through structured, logical patterns.
Dynamic Support and Resistance with Trend LinesMain Purpose
The indicator identifies and visualizes dynamic support and resistance levels using multiple strategies, plus it includes trend analysis and trading signals.
Key Components:
1. Two Support/Resistance Strategies:
Strategy A: Matrix Climax
Identifies the top 10 (configurable) most significant support and resistance levels
Uses a "matrix" calculation method to find price levels where the market has historically reacted
Shows these as horizontal lines or zones on the chart
Strategy B: Volume Extremes
Finds support/resistance levels based on volume analysis
Looks for areas where extreme volume occurred, which often become key price levels
2. Two Trend Line Systems:
Trend Line 1: Pivot Span
Draws trend lines connecting pivot high and pivot low points
Uses configurable pivot parameters (left: 5, right: 5 bars)
Creates a channel showing the trend direction
Styled in pink/purple with dashed lines
Trend Line 2: 5-Point Channel
Creates a channel based on 5 pivot points
Provides another perspective on trend direction
Solid lines in pink/purple
3. Trading Signals:
Buy Signal: Triggers when Fast EMA (9-period) crosses above Slow EMA (21-period)
Sell Signal: Triggers when Fast EMA crosses below Slow EMA
Displays visual shapes (labels) on the chart
Includes alert conditions you can set up in TradingView
4. Visual Features:
Dashboard: Shows key information in a table (top-right by default)
Visual Matrix Map: Displays a heat map of support/resistance zones
Color themes: Dark Mode or Light Mode
Timezone adjustment: For accurate time display
5. Customization Options:
Universal lookback length (100 bars default)
Projection bars (26 bars forward)
Adjustable transparency for different elements
Multiple calculation methods available
Fully customizable colors and line styles
What Traders Use This For:
Entry/Exit Points: The EMA crossovers provide clear buy/sell signals
Risk Management: Support/resistance levels help set stop-losses and take-profit targets
Trend Confirmation: Multiple trend lines confirm trend direction
Key Price Levels: Identifies where price is likely to react (bounce or break through)
The indicator is quite feature-rich and combines technical analysis elements (pivots, EMAs, volume, support/resistance) into one comprehensive tool for trading decisions.
LETHINH-Swing pa,smc🟦 📌 Title (English)
Swing High / Swing Low – 3-Candle Fractal (5-Bar Pivot) | Auto Alerts
⸻
🟩 📌 Short Description
A clean and reliable swing high / swing low detector based on the classic 3-candle (5-bar) fractal pivot. Automatically marks SH/SL and triggers alerts when a swing is confirmed. No repainting after confirmation.
⸻
🟧 📌 Full Description (for TradingView Publishing)
🔶 Swing High / Swing Low – 3-Candle Fractal (5-Bar Pivot)
This indicator identifies Swing Highs (SH) and Swing Lows (SL) using the classic 3-candle fractal pattern, also known as the 5-bar pivot.
It marks swing points only after full confirmation, making it highly reliable and suitable for structure-based trading.
⸻
🔶 📍 How It Works
A swing is confirmed when the center candle is higher (or lower) than the two candles on each side:
Swing High (SH)
high > high , high , high
Swing Low (SL)
low < low , low , low
The confirmation occurs after 2 right candles close, so the indicator does not repaint once a swing is identified.
⸻
🔶 📍 Key Features
• Detects clean and accurate swings
• Uses pure price action — no indicators, no lag
• Marks swing high (SH) and swing low (SL) directly on the chart
• Non-repainting after confirmation
• Works on all timeframes and all markets
• Extremely lightweight and fast
• Includes alert conditions for both SH and SL
Perfect for traders using:
• Market Structure (BOS / CHoCH)
• Order Blocks (OB)
• Smart Money Concepts (SMC)
• Liquidity hunts
• Wyckoff
• Support/Resistance
• Price Action entries
⸻
🔶 📍 Why This Indicator Is Useful
Swing points are the foundation of market structure.
Accurately detecting them helps traders:
• Identify trend shifts
• Spot BOS / CHoCH correctly
• Find key zones (OB, liquidity levels, supply/demand)
• Time entries more precisely
• Avoid fake structure breaks
This indicator ensures swings are plotted only when fully confirmed, reducing noise and confusion.
⸻
🔶 📍 Alerts
You can create alerts for both conditions:
• Swing High Confirmed
• Swing Low Confirmed
Recommended settings:
• Once per bar close
• Open-ended alert
With alerts enabled, TradingView will automatically notify you every time a new swing forms.
⸻
🔶 📍 No Repainting
Once a swing is confirmed and plotted, it will not change or disappear.
This makes the indicator reliable for real-time alerts and backtesting.
⸻
🔶 📍 Pine Script (v5)
Paste your indicator code here if you want it visible.
Or leave the code hidden if you are publishing as protected.
⸻
🔶 📍 Final Notes
• This indicator focuses on confirmation, not prediction
• It is designed for clean structure reading
• All markets supported: Forex, Crypto, Stocks, Indexes, Commodities
• Suitable for scalping, intraday, swing, and even higher-timeframe trading
If you find this tool helpful, feel free to give it a like and add it to your favorites ❤️
Your support helps me share more tools with the community!
Distance Dashboard (50DMA / 52W High / 20DMA)Distance Dashboard – Summary
The Distance Dashboard indicator provides a quick snapshot of where price is positioned relative to three key reference points:
Distance of current HIGH from the 50-day moving average (50DMA)
Helps gauge how extended price is above or below medium-term trend support.
Distance of current LOW from the 52-week HIGH
Shows how far price has pulled back from long-term highs.
Distance of current HIGH from the 20-day moving average (20DMA)
Measures short-term extension and potential overbought/overextended behaviour.
The indicator displays these values in a clean, movable table directly on the price chart.
It does not affect chart scaling and is designed for quick visual assessment of trend extension and relative strength.






















