52-Week High Percentage BandsGeneral price band indicator for momentum trading:
How to use the code
Open TradingView and navigate to a chart.
Click the "Pine Editor" tab at the bottom of your screen.
Delete any existing code in the editor window.
Copy and paste the Pine Script code provided above into the Pine Editor.
Click "Add to Chart" to apply the indicator.
How the code works
indicator("52-Week High Percentage Bands", overlay=true): This line names the indicator and tells TradingView to plot it directly on the price chart.
request.security(syminfo.tickerid, "D", ta.highest(high, lookbackPeriod)): This is the most critical part. It fetches the highest price from the daily timeframe over the last 365 days. This ensures accuracy even if your chart is set to a different timeframe (e.g., 4-hour or weekly).
upperBand and lowerBand: These variables calculate the specific price levels for the 10% and 23% bands by multiplying the 52-week high by 0.90 and 0.77, respectively.
plot(): This function draws the horizontal lines on the chart for each band.
fill(): This function takes two plots as arguments and colors the space between them to create the "band" effect.
highestHigh: This optional plot adds a line to show you the exact 52-week high.
אינדיקטורים ואסטרטגיות
Vertical Lines: 5, 20, 50, 200 Days Back - 30 minutesVerticals lines to indicate 5, 20, 50, and 200 day marks on a 30 minute chart. Used in Swing trading with multi-timeframe approach to mark the levels.
Generated using Claude.
macd sma20
### MACD_sma20 – Multi-Timeframe MACD Pullback & SMA20 Dashboard
This script is a complete trading toolkit built around a **MACD pullback strategy** combined with **multi-timeframe SMA20 filters**, volume analysis, and a compact information panel.
It is designed for traders who like to:
* Trade **MACD pullbacks above the moving average**
* Track **key SMA20 levels across multiple timeframes** (Daily, 3-Day, Weekly, Monthly)
* Quickly see whether **current price is above or below those reference levels**
* Use **clean visual signals** for entries and exits, instead of staring at raw indicator values
---
### Core Features
#### 1. MACD Pullback Long Signal (Green Triangle Up)
The script detects a **bullish MACD pullback** pattern:
* MACD line is still **above** the signal line
* Both MACD line and histogram **pull back** for several bars
* Then MACD turns back up again, with price trading **above the local SMA20**
When this “pullback and re-acceleration” is confirmed, a **green triangle below the bar** is plotted as a **long entry signal**.
There is also an optional filter:
* **Weekly SMA20 filter**:
If enabled, long signals are only triggered when **current price is above the Weekly SMA20**, helping you stay on the right side of the higher-timeframe trend.
---
#### 2. Bearish Pullback Confirmation Signal (Red Triangle Down)
On the short side, the script detects a **bearish pullback confirmation** based on:
* A recent **high-volume bearish candle** (large down bar with volume above a multiple of the 20-period volume average)
* At least a minimum number of **negative MACD histogram bars**
* MACD line moving closer to the signal line (loss of momentum)
* Price recovering back up near the **top of that high-volume bearish candle**, then starting to fall again while MACD stays positive
When all conditions align, the script prints a **red triangle above the bar**, indicating a **bearish pullback confirmation** – often a good area to take profits on longs or consider short/hedge setups.
---
#### 3. Signal History Tracking
For both long and short signals, the script internally tracks the **most recent three signals**:
* Timestamp of the signal
* Price at the signal
* Short-term percentage change into the signal
This is mainly for internal use and future expansion, but already gives you a structured signal history if you want to extend or connect the logic later.
---
### Multi-Timeframe SMA20 Dashboard (Bottom-Right Panel)
One of the most useful parts of this script is the **compact dashboard table** in the **bottom-right corner** of the chart. It updates in real time and shows:
1. **Current Price**
2. **Daily SMA20** – value + whether price is above/below
3. **3-Day SMA20** – value + whether price is above/below
4. **Weekly SMA20** – value + whether price is above/below
5. **Monthly SMA20** – value + whether price is above/below
6. **RSI** (current timeframe)
For each timeframe’s SMA20:
* If **price ≥ SMA20**, the status cell is **green** with a ✓
* If **price < SMA20**, the status cell is **red** with a ✗
This gives you, at a glance:
* Is the market in a **short-term uptrend or downtrend** (Daily SMA20)?
* Is the **swing / position trend** healthy (3D & Weekly SMA20)?
* Is the broader **macro structure** supportive (Monthly SMA20)?
You don’t need to manually switch timeframes or add multiple moving averages – the script does all of that for you automatically using `request.security`.
---
### Alerts
The script comes with two built-in alert conditions:
* **MACD回踩转多信号 (MACD pullback bullish signal)**
* **空头回抽确认信号 (Bearish pullback confirmation signal)**
You can attach TradingView alerts to these conditions to get notified whenever a new long or bearish-confirmation setup appears, even when you’re not watching the chart.
---
### How to Use It in Your Trading
1. **Choose your main trading timeframe**
* For intraday swing: 15m / 1h / 4h
* For swing / position: 4h / Daily
2. **Watch the bottom-right SMA20 panel**
* If most higher-timeframe SMA20 rows are **green**, you are trading **with the larger trend**.
* If they are **mixed or mostly red**, you’re either counter-trend or in a choppy transition zone.
3. **Use the green MACD pullback signals**
* Prefer long setups when:
* The **Weekly and Monthly SMA20 rows are green**, and
* The signal appears **above the Daily SMA20**
* This stacks multiple edges: trend + pullback + momentum re-acceleration.
4. **Use the red bearish confirmation signals for risk management**
* Take partial profits on longs when a red signal appears near resistance.
* Consider hedge/short opportunities if higher-timeframe SMA20 rows are already red or turning red.
5. **Use RSI as a context indicator**
* Combine with overbought/oversold zones or your own RSI thresholds for additional confirmation.
---
### Why This Script Is Useful
* **Trend awareness across timeframes**:
You always know where current price sits relative to the Daily / 3-Day / Weekly / Monthly SMA20 – without switching charts.
* **Clear, rule-based signals**:
The MACD logic is explicit and systematic, focused on **pullbacks within trends** rather than random crossovers.
* **Volume-aware bearish logic**:
High-volume bearish candles often mark important supply zones. The script builds this idea directly into the short-side confirmation logic.
* **Visual and intuitive**:
Green/Red triangles + Green/Red table cells make it easy to interpret even if you are not a heavy indicator user.
* **Flexible**:
All key parameters (MACD lengths, SMA length, volume threshold, lookback period, RSI length, weekly filter) are customizable, so you can adapt it to different markets (crypto, stocks, FX) and timeframes.
---
In short, this script is a **multi-timeframe MACD pullback system with an integrated SMA20 dashboard**, suitable for swing traders and position traders who want a structured, visually clean way to align entries with trend and momentum while keeping an eye on higher-timeframe levels.
Moving Aaverage (EMA) & VWAP by Vish
Multi-Timeframe Moving Averages with VWAP
This indicator combines essential moving averages with VWAP to provide comprehensive trend analysis on a single chart. Designed for traders who need quick visual reference of multiple timeframes and volume-weighted price levels.
Features:
• Six customizable moving averages: 8, 13, 21, 50, 100, and 200 periods
• Toggle between Simple Moving Average (SMA) and Exponential Moving Average (EMA) for all lines
• Individual on/off controls for each moving average
• Volume Weighted Average Price (VWAP) with customizable settings
• VWAP anchor options: Session, Week, Month, Quarter, and Year
• Clean, color-coded visualization for easy identification
• Fully customizable through settings panel
Use Cases:
• Identify trend direction across multiple timeframes
• Find dynamic support and resistance levels
• Spot potential entry and exit points
• Analyze price action relative to volume-weighted average
• Confirm trend strength with multiple MA convergence/divergence
Settings:
All parameters are adjustable including MA type (SMA/EMA), individual MA visibility, VWAP source, and VWAP anchor period.
Suitable for all markets and timeframes. Works on stocks, forex, crypto, commodities, and indices.
#moving average #MA #EMA #SMA #VWAP #trend #support #resistance #multi-timeframe
Bullish ATR Level indicatorThis indicator is used by OVTLYR Golden Ticket Trading strategy to determine the stop loss and option rollover levels. Super simple indicator that just shows the current price, -1/2 ATR for a stop loss and 1 and 2 ATR levels for possible take profit or option rollover points.
Trendline Indicator for Pionex 2//@version=5
indicator("Trendline Indicator for Pionex", overlay=true)
// ----- קו מגמה ידני -----
// יוצרים קו מגמה פשוט לגרירה ידנית
var line trendLine = line.new(x1=bar_index-10, y1=close , x2=bar_index, y2=close, extend=extend.right, color=color.blue, width=2)
// קבלת המחיר הנוכחי של הקו
trendPrice = line.get_price(trendLine, bar_index)
// ----- תנאי קנייה ומכירה -----
longCondition = close > trendPrice
shortCondition = close < trendPrice
// ----- הצגה גרפית של תנאי הקנייה והמכירה -----
plotshape(longCondition, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small)
plotshape(shortCondition, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small)
Stocktech- Neutral Candle VisualiserStocktech.in™ — Neutral Candle Visualizer
Stocktech Neutral Candle Visualizer highlights price candles based on body strength.
Large-body candles follow trend direction (green/red), while small or neutral candles are marked in blue.
Simple, clean, and optimized for discretionary traders who prefer clear visual cues without indicators.
Features:
Auto-colored candles based on body size
Trend candles = green (bull) / red (bear)
Neutral/low-strength candles = blue
Works on all markets & timeframes
Created by Stocktech.in™
ORB + FVG w Alerts ORB for chart timeframe. Draws FVG for breakout move or first FVG to form after close outside of ORB. Also draws FVGs if price closes back inside the ORB after closing outside the ORB.
Inspired by Casper SMC on YouTube. Not perfect, but it helps me focus on this set-up.
Asian High + London Low Rejection SignalsAsian High & London Low - High Accuracy signals - Enter the Buy if it rejects from London Low and Enter the Sell if it rejects from Asian High
EMA 9×20 Multi-TF Scanner — M/W/DThis scrip will facilitate for swing trade based on momentum achieved in monthly weekly and daily
MTF MACD – 1m / 15m / 1D / 1W//@version=6
indicator("MTF MACD – 1m / 15m / 1D / 1W", overlay=false)
// MACD inputs
fastLen = input.int(12, "Fast length")
slowLen = input.int(26, "Slow length")
signalLen = input.int(9, "Signal length")
// Multi-timeframe MACD using built-in ta.macd()
= request.security(syminfo.tickerid, "1", ta.macd(close, fastLen, slowLen, signalLen))
= request.security(syminfo.tickerid, "15", ta.macd(close, fastLen, slowLen, signalLen))
= request.security(syminfo.tickerid, "D", ta.macd(close, fastLen, slowLen, signalLen))
= request.security(syminfo.tickerid, "W", ta.macd(close, fastLen, slowLen, signalLen))
// Plot MACD lines for each timeframe
plot(macd_1m, title="MACD 1m", color=color.red, linewidth=2)
plot(macd_15m, title="MACD 15m", color=color.blue, linewidth=2)
plot(macd_1d, title="MACD 1D", color=color.green, linewidth=2)
plot(macd_1w, title="MACD 1W", color=color.orange, linewidth=2)
// (Optional) you can uncomment these if you also want signals/histograms:
// plot(signal_1m, title="Signal 1m", color=color.new(color.red, 50), style=plot.style_dotted)
// plot(signal_15m, title="Signal 15m", color=color.new(color.blue, 50), style=plot.style_dotted)
// plot(signal_1d, title="Signal 1D", color=color.new(color.green, 50), style=plot.style_dotted)
// plot(signal_1w, title="Signal 1W", color=color.new(color.orange, 50), style=plot.style_dotted)
// plot(hist_1m, title="Hist 1m", color=color.red, style=plot.style_histogram)
// plot(hist_15m, title="Hist 15m", color=color.blue, style=plot.style_histogram)
// plot(hist_1d, title="Hist 1D", color=color.green, style=plot.style_histogram)
// plot(hist_1w, title="Hist 1W", color=color.orange, style=plot.style_histogram)
Futures EMA 9×20 Scanner (Daily + 4H + 15m)This script is to facilitate the swing trading in 15min TF using the Daily and 4H.
Ram Trend Scoring (Current TF Enhanced)Overview
The Ram Trend Scoring indicator is a trend & momentum scoring tool for Forex and other instruments. It evaluates multiple technical factors on the current timeframe to classify pairs as:
8 EMA Momentum Pair – strong trending momentum
20 EMA Pullback Pair – weaker trend, possible pullback setups
It uses a points-based system, where points are added for positive factors or subtracted for failed EMA conditions.
Scoring Components
Trend Structure – price relative to EMA20
ADX Strength – trend strength (>25 strong, >20 moderate)
Distance from EMA8 – price proximity to short-term EMA
Candle Body Strength – larger bodies indicate stronger momentum
Pullback Depth – evaluates how deep the retracement is
EMA8 Wick Rejection – bullish/bearish rejection near EMA8
EMA Separation – priority #1; ≥20 pips difference required, penalty -2 if not
EMA Angle – priority #2; slope ≥30° required, penalty -2 if not
EMA Order – priority #3; correct EMA8/EMA20 alignment, penalty -2 if not
Total Score = Sum of all factor scores.
Classification Threshold: default 12
Total ≥ threshold → “8 EMA Momentum Pair”
Total < threshold → “20 EMA Pullback Pair”
Table Display
2 columns × 11 rows:
Left column = factor name
Right column = score or value
Shows total score, individual scores, and classification
Usage / How to Trade
Trend Identification
Use the indicator to quickly see momentum strength
Check EMA plots and table scores for alignment
Priority Factors
First check EMA Separation (≥20 pips)
Then EMA Angle (≥30° slope)
Then EMA Order
Only if all conditions are met, consider the setup strong
Trade Planning
8 EMA Momentum Pair → Trend continuation setups
20 EMA Pullback Pair → Wait for retracement or reversal signals
Confirmation
Combine with your usual support/resistance, FVG, or price action for entry
Higher total scores → higher probability setups
Alerts
Use the built-in alerts for “8 EMA Momentum Pair” and “20 EMA Pullback Pair”
Key Advantages
Works entirely on current timeframe → no HTF errors
Easy visual scoring table
Adjustable parameters: EMAs, ADX, ATR, angle, separation
Helps identify high-probability trend continuation or pullback trades
Michael's Custom Watermark🔷 MICHAEL'S CUSTOM WATERMARK INDICATOR
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📊 OVERVIEW
A comprehensive chart watermark overlay that displays essential fundamental and technical information for stocks in a clean, customizable table format. Perfect for traders who want quick access to key metrics without cluttering their charts.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✨ KEY FEATURES
📊 Fundamental Data Display — Shows Industry, Sector, Market Cap, and P/E Ratio
📅 Earnings Information — Displays next earnings date with countdown timer
📈 ATR Volatility Indicator — 14-day ATR with color-coded visual alerts (🔴🟡🟢)
🎨 Auto Theme Detection — Automatically adjusts text color based on chart background
⚙️ Fully Customizable — Position, colors, size, and displayed metrics all adjustable
🏢 GICS Sector Mapping — Heuristic-based sector classification aligned with industry standards
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🎯 WHAT MAKES THIS INDICATOR UNIQUE?
Unlike basic watermarks, this indicator provides:
Real-time fundamental data integration
Smart theme-aware color adaptation for both light and dark charts
Configurable volatility alerts using ATR thresholds
Earnings countdown feature to never miss important dates
Optimized display that only shows relevant data for the current symbol type
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📖 HOW TO USE
1. BASIC SETUP
Add the indicator to your chart. By default, it displays in the top-left corner with all features enabled.
2. POSITIONING
Vertical Location: Top, Middle, or Bottom
Horizontal Location: Left, Center, or Right
Vertical Offset: Fine-tune position with 0-50 pixel offset from top
3. CUSTOMIZATION OPTIONS
TEXT APPEARANCE:
Auto Text Color — Enable to automatically adapt text color to your chart theme
Manual Color — Set a fixed text color if auto-color is disabled
Text Size — Choose from Huge, Large, Normal, or Small
Theme Colors — Customize text color for light and dark backgrounds separately
DATA DISPLAY TOGGLES:
Show Industry & Sector — Display heuristic-based GICS-aligned sector and industry classification
Show Market Cap — View market capitalization in T/B/M format
Show P/E Ratio — Display Price-to-Earnings ratio (stocks only)
Show ATR (14-Day) — Display Average True Range with percentage and visual indicator
Show Next Earnings — Display upcoming earnings information
Show Earnings Countdown — Show days remaining until next earnings (requires earnings display)
4. ATR VOLATILITY ALERTS
Configure custom thresholds to monitor volatility:
Red Threshold — ATR percentage that triggers red alert 🔴 (default: 6%)
Yellow Threshold — ATR percentage that triggers yellow alert 🟡 (default: 3%)
Green — Shows automatically when ATR is below yellow threshold 🟢
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📐 UNDERSTANDING THE DISPLAY
🏢 SECTOR & INDUSTRY
Shows the GICS sector classification followed by the specific industry. The indicator uses heuristic-based mapping to align TradingView sectors with standard GICS classifications. Note that this mapping is based on keyword detection and industry analysis, so while generally accurate, it may not perfectly match official GICS classifications in all cases.
💰 MARKET CAP
Displays market capitalization using standard abbreviations:
T = Trillion
B = Billion
M = Million
📊 P/E RATIO
Shows the trailing twelve-month Price-to-Earnings ratio. Only displayed for stocks when enabled. Shows "N/A" if data is unavailable.
📈 ATR (14-DAY)
Displays the 14-period Average True Range in both absolute value and percentage terms, with a color-coded indicator:
🔴 Red: High volatility (above red threshold)
🟡 Yellow: Moderate volatility (between yellow and red thresholds)
🟢 Green: Low volatility (below yellow threshold)
📅 EARNINGS
Shows earnings information in three formats:
"X days remaining" — When countdown is enabled and earnings date is known
"Upcoming" — When date is in the future but countdown is disabled
"Recently Reported" — When earnings just occurred
"N/A" — When no earnings data is available
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚙️ TECHNICAL DETAILS
SUPPORTED INSTRUMENTS:
Optimized for stocks with full fundamental data
Works with other instruments (crypto, forex, futures) but only displays applicable metrics
Automatically suppresses irrelevant data (e.g., P/E for non-stocks)
PERFORMANCE:
Lightweight overlay with minimal resource usage
Updates only on last bar for efficiency
No historical recalculation needed
COMPATIBILITY:
Pine Script v6
Works on all timeframes
Compatible with all chart types
Auto-adapts to theme changes
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
💡 TIPS & BEST PRACTICES
Enable Auto Text Color for seamless theme switching between light and dark modes
Adjust vertical offset to avoid overlap with price action in high-volatility periods
Use ATR thresholds appropriate to your trading style and asset class
Disable features you don't use to keep the watermark clean and focused
Position in corners to maximize chart viewing space
Use smaller text size for multi-panel layouts
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔧 TROUBLESHOOTING
"N/A" SHOWING FOR P/E RATIO:
This is normal for non-stock instruments
May occur for stocks with negative earnings
Check if fundamental data is available for the symbol
EARNINGS SHOWING "N/A":
Earnings data may not be available for all stocks
Check TradingView's data coverage for your symbol
TEXT COLOR NOT VISIBLE:
Enable Auto Text Color feature
Manually set text color to contrast with your chart background
Adjust custom light/dark text colors in settings
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠️ DISCLAIMER
This indicator is for informational purposes only. The fundamental data displayed is sourced from TradingView's data providers. Always verify critical information before making trading decisions. Past performance is not indicative of future results.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
If you find this indicator helpful, please give it a boost 🚀 and share your feedback in the comments!
Version: 1.0
Pine Script Version: v6
Created by: Michael
TFU Multi-Symbol Screener + VWAP + Table Size Option + Blank RowTFU Multi-Symbol Screener + VWAP + Table Size Option + Blank Row
hell 1good for finding tops and bottoms in a trend .set to log scale and strech it like it looks in the chart
Ansupublicly-usable Pine Script that implements the same concepts described on that page (Ichimoku, McGinley, multiple moving averages, RSI, MACD, Stochastic, Bollinger Bands, and composite buy/sell signals). Below is a solid Pine-Script v5 implementation you can add to TradingView and tweak
Stoch Cross OB/OS Signals CleanStoch Cross OB/OS Signals
Displays fast (%K) and slow (%D) Stochastic lines with visual signals for overbought and oversold conditions. Alerts when the fast line crosses the slow line in OB/OS zones using customizable symbols. Ideal for spotting short-term reversals and timing entries/exits. Features adjustable periods, OB/OS levels, and symbol sizes for clear chart visualization.
XAUUSD Pro Setup Suite manuel_lnt.fx is an advanced Pine Script v6 indicator designed exclusively for XAUUSD, built to automatically detect the 5 highest-probability setups in gold day trading.
It combines institutional price action, volatility patterns, mean reversion logic, and momentum confirmation to generate clean, filtered, and actionable signals.
The indicator automatically detects:
⸻
1️⃣ Break & Retest Premium (BR)
Identifies valid breaks of key levels and signals the retest with rejection wick, EMA20 trend confirmation, and neutral RSI.
→ Excellent for trend continuation.
⸻
2️⃣ Fakeout Liquidity Trap (FO)
Detects liquidity grabs above highs or below lows with an opposite close + engulfing candle confirmation.
→ The strongest setup for fast and explosive reversals on gold.
⸻
3️⃣ MACD Zero-Line Shift (MACD)
Signals when the MACD crosses the zero line while price breaks micro-structure.
→ Perfect for spotting the start of a new trend.
⸻
4️⃣ Bollinger Squeeze → Breakout (BB)
Recognizes volatility compression and signals when a breakout is likely to explode.
→ Ideal for clean breakout trades.
⸻
5️⃣ Mean Reversion on EMA50 (MR)
Highlights price extensions far away from the EMA50 with ATR confirmation and a reversal candle.
→ Great for pullbacks back toward the mean value.
chanlun缠论 - 笔与中枢Overview
The Chanlun (缠论) Strokes & Central Zones indicator is an advanced technical analysis tool based on Chinese Chan Theory (Chanlun Theory). It automatically identifies market structure through "strokes" (笔) and "central hubs" (中枢), providing traders with a systematic framework for understanding price movements, trend structure, and potential reversal zones.
Theoretical Foundation
Chan Theory is a sophisticated price action methodology that breaks down market movements into hierarchical structures:
Local Extremes: Swing highs and lows identified through lookback periods
Strokes (笔): Valid price movements between opposite extremes that meet specific criteria
Central Hubs (中枢): Consolidation zones formed by overlapping strokes, representing key support/resistance areas
Key Components
1. Local Extreme Detection
Identifies swing highs and lows using a configurable lookback period (default: 5 bars)
Only considers extremes within the specified calculation range
Forms the foundation for stroke construction
2. Stroke (笔) Identification
The indicator applies a multi-stage filtering process to identify valid strokes:
Stage 1 - Extreme Consolidation:
Merges consecutive extremes of the same type (high or low)
Keeps only the most extreme value (highest high or lowest low)
Stage 2 - Stroke Validation:
Ensures minimum bar gap between strokes (default: 4 bars)
Alternative validation: 2+ bars with >1% price change
Eliminates noise and insignificant price movements
Color Coding:
White Lines: Regular up/down strokes
Yellow Lines: Strokes that form part of a central hub
Customizable width and colors for different stroke types
3. Central Hub (中枢) Formation
A central hub forms when at least 3 consecutive strokes have overlapping price ranges:
Formation Rules:
Stroke 1:
Stroke 2:
Stroke 3:
Hub Upper = MIN(High1, High2, High3)
Hub Lower = MAX(Low1, Low2, Low3)
Valid if: Hub Upper > Hub Lower
Hub Extension:
Subsequent strokes that overlap with the hub extend it
Hub ends when a stroke no longer overlaps
Creates rectangular zones on the chart
Visual Representation:
Green rectangular boxes: Mark the time and price range of each central hub
Dashed extension lines: Show the latest hub boundaries extending to the right
Price labels on axis: Display exact hub upper and lower boundary values
4. Extreme Point Markers (Optional)
Red markers for tops (▼)
Green markers for bottoms (▲)
Marks every validated stroke extreme point
Useful for detailed structure analysis
5. Information Table (Optional)
Displays real-time statistics:
Symbol name
Current timeframe
Lookback period setting
Minimum gap setting
Total stroke count
Parameter Settings
Performance Settings
Max Bars to Calculate (3600): Limits historical calculation to improve performance
Local Extreme Lookback Period (5): Bars used to identify swing highs/lows
Min Gap Bars (4): Minimum bars required between valid strokes
Display Settings
Show Strokes: Toggle stroke line visibility
Show Central Hub: Toggle hub box visibility
Show Hub Extension Lines: Toggle dashed boundary lines
Show Extreme Point Marks: Toggle top/bottom markers
Show Info Table: Toggle statistics table
Color Settings
Full customization of:
Up/down stroke colors and widths
Hub stroke colors and widths
Hub border and background colors
Extension line colors
Trading Applications
Trend Structure Analysis
Uptrend: Series of higher highs and higher lows connected by strokes
Downtrend: Series of lower highs and lower lows connected by strokes
Consolidation: Formation of central hubs indicating range-bound movement
Support and Resistance Identification
Central Hub Zones: Act as strong support/resistance areas
Hub Upper Boundary: Resistance level in consolidation, support after breakout
Hub Lower Boundary: Support level in consolidation, resistance after breakdown
Price tends to react at these levels due to market structure memory
Breakout Trading
Bullish Breakout: Price closes above hub upper boundary
Previous resistance becomes support
Entry on retest of upper boundary
Stop loss below hub zone
Bearish Breakdown: Price closes below hub lower boundary
Previous support becomes resistance
Entry on retest of lower boundary
Stop loss above hub zone
Reversal Detection
Hub Formation After Trend: Signals potential trend exhaustion
Multiple Hub Levels: Create probability zones for reversals
Stroke Count: Excessive strokes within hub suggest weakening momentum
Position Management
Use hub boundaries for stop loss placement
Scale out positions at hub edges
Re-enter on retests of broken hub levels
Interpretation Guide
Strong Trending Market
Long, clear strokes with minimal overlap
Few or no central hubs forming
Strokes consistently in same direction
Wide spacing between extremes
Consolidating Market
Multiple central hubs forming
Short, overlapping strokes
Yellow hub strokes dominate the chart
Narrow price range
Trend Transition
Hub formation after extended trend
Stroke direction changes frequently
Hub boundaries being tested repeatedly
Potential reversal zone
Advanced Usage Techniques
Multi-Timeframe Analysis
Higher Timeframe: Identify major hub zones for overall market structure
Lower Timeframe: Find precise entry points within larger structure
Alignment: Trade when lower timeframe strokes align with higher timeframe hub breaks
Hub Quality Assessment
Wide Hubs: Strong consolidation, higher probability support/resistance
Narrow Hubs: Weak consolidation, may break easily
Extended Hubs: More strokes = stronger zone
Isolated Hubs: Single hub = potential pivot point
Stroke Analysis
Stroke Length: Longer strokes = stronger momentum
Stroke Speed: Fewer bars per stroke = explosive moves
Stroke Clustering: Many short strokes = indecision
Best Practices
Parameter Optimization
Adjust lookback period based on timeframe and volatility
Lower periods (3-4): More strokes, more noise, faster signals
Higher periods (7-10): Fewer strokes, cleaner structure, slower signals
Confirmation Strategy
Don't trade on strokes alone
Combine with volume analysis
Use candlestick patterns at hub boundaries
Wait for breakout confirmation
Risk Management
Always place stops outside hub zones
Use hub width to size positions (wider hub = smaller position)
Exit if price re-enters broken hub from wrong direction
Avoid Common Pitfalls
Don't trade within central hubs (range-bound, unpredictable)
Don't ignore higher timeframe hub structures
Don't chase strokes after they've extended far from hub
Don't trust single-stroke hubs (need 3+ strokes for validity)
Performance Considerations
Max Bars Limit: Set to 3600 to balance detail with performance
Safe Distance Calculation: Only draws objects within 2000 bars of current price
Object Cleanup: Automatically removes old drawing objects to prevent memory issues
Efficient Arrays: Uses indexed arrays for fast lookup and processing
Ideal Market Conditions
Best Performance:
Liquid markets with clear structure (major forex pairs, indices, large-cap stocks)
Trending markets with periodic consolidations
Medium to high volatility for clear stroke formation
Less Effective:
Extremely choppy, directionless markets
Very low timeframes (< 5 minutes) with excessive noise
Illiquid instruments with erratic price action
Integration with Other Indicators
Complementary Tools:
Volume Profile: Confirm hub significance with volume nodes
Moving Averages: Use for trend bias within stroke structure
RSI/MACD: Momentum confirmation at hub boundaries
Fibonacci Retracements: Hub levels often align with Fib levels
Advantages
✓ Objective Structure: Removes subjectivity from market structure analysis
✓ Visual Clarity: Color-coded strokes and clear hub zones
✓ Multi-Timeframe Applicable: Works on all timeframes from minutes to months
✓ Complete Framework: Provides entry, exit, and risk management levels
✓ Theoretical Foundation: Based on proven Chan Theory methodology
✓ Customizable: Extensive parameter and visual customization options
Limitations
⚠ Learning Curve: Requires understanding of Chan Theory principles
⚠ Lag Factor: Strokes confirm after price movements complete
⚠ Parameter Sensitivity: Different settings produce significantly different results
⚠ Choppy Market Struggles: Can generate excessive hubs in range-bound conditions
⚠ Computation Intensive: May slow down on lower-end systems with max bars setting
Optimization Tips
Timeframe Selection
Scalping: 5-15 minute charts, lookback period 3-4
Day Trading: 15-60 minute charts, lookback period 4-5
Swing Trading: 4-hour to daily charts, lookback period 5-7
Position Trading: Daily to weekly charts, lookback period 7-10
Volatility Adjustment
High volatility: Increase minimum gap bars to reduce noise
Low volatility: Decrease lookback period to capture smaller moves
Visual Optimization
Use contrasting colors for different market conditions
Adjust line widths based on chart resolution
Toggle markers off for cleaner appearance once familiar with structure
Quick Start Guide
For Beginners:
Start with default settings (5 lookback, 4 min gap)
Enable "Show Info Table" to track stroke count
Focus on identifying clear hub formations
Practice waiting for price to break hub boundaries before trading
For Advanced Users:
Optimize lookback and gap parameters for your instrument
Use hub strokes (yellow) to identify key consolidation zones
Combine with multiple timeframes for confirmation
Develop entry rules based on hub breakout/retest patterns
This indicator provides a complete structural framework for understanding market behavior through the lens of Chan Theory, offering traders a systematic approach to identifying high-probability trading opportunities.
ENTRY CONFIRMATION V2// This source code is subject to the terms of the Mozilla Public License 2.0 at mozilla.org
// © Zerocapitalmx
//@version=5
indicator(title="ENTRY CONFIRMATION V2", format=format.price, timeframe="", timeframe_gaps=true)
len = input.int(title="RSI Period", minval=1, defval=50)
src = input(title="RSI Source", defval=close)
lbR = input(title="Pivot Lookback Right", defval=5)
lbL = input(title="Pivot Lookback Left", defval=5)
rangeUpper = input(title="Max of Lookback Range", defval=60)
rangeLower = input(title="Min of Lookback Range", defval=5)
plotBull = input(title="Plot Bullish", defval=true)
plotHiddenBull = input(title="Plot Hidden Bullish", defval=false)
plotBear = input(title="Plot Bearish", defval=true)
plotHiddenBear = input(title="Plot Hidden Bearish", defval=false)
bearColor = color.red
bullColor = color.green
hiddenBullColor = color.new(color.green, 80)
hiddenBearColor = color.new(color.red, 80)
textColor = color.white
noneColor = color.new(color.white, 100)
osc = ta.rsi(src, len)
rsiPeriod = input.int(50, minval = 1, title = "RSI Period")
bandLength = input.int(1, minval = 1, title = "Band Length")
lengthrsipl = input.int(1, minval = 0, title = "Fast MA on RSI")
lengthtradesl = input.int(50, minval = 1, title = "Slow MA on RSI")
r = ta.rsi(src, rsiPeriod) // RSI of Close
ma = ta.sma(r, bandLength ) // Moving Average of RSI
offs = (1.6185 * ta.stdev(r, bandLength)) // Offset
fastMA = ta.sma(r, lengthrsipl) // Moving Average of RSI 2 bars back
slowMA = ta.sma(r, lengthtradesl) // Moving Average of RSI 7 bars back
plot(slowMA, "Slow MA", color=color.black, linewidth=1) // Plot Slow MA
plot(osc, title="RSI", linewidth=2, color=color.purple)
hline(50, title="Middle Line", color=#787B86, linestyle=hline.style_dotted)
obLevel = hline(70, title="Overbought", color=#787B86, linestyle=hline.style_dotted)
osLevel = hline(30, title="Oversold", color=#787B86, linestyle=hline.style_dotted)
plFound = na(ta.pivotlow(osc, lbL, lbR)) ? false : true
phFound = na(ta.pivothigh(osc, lbL, lbR)) ? false : true
_inRange(cond) =>
bars = ta.barssince(cond == true)
rangeLower <= bars and bars <= rangeUpper
//------------------------------------------------------------------------------
// Regular Bullish
// Osc: Higher Low
oscHL = osc > ta.valuewhen(plFound, osc , 1) and _inRange(plFound )
// Price: Lower Low
priceLL = low < ta.valuewhen(plFound, low , 1)
bullCond = plotBull and priceLL and oscHL and plFound
plot(
plFound ? osc : na,
offset=-lbR,
title="Regular Bullish",
linewidth=1,
color=(bullCond ? bullColor : noneColor)
)
plotshape(
bullCond ? osc : na,
offset=-lbR,
title="Regular Bullish Label",
text=" EDM ",
style=shape.labelup,
location=location.absolute,
color=bullColor,
textcolor=textColor
)
//------------------------------------------------------------------------------
// Hidden Bullish
// Osc: Lower Low
oscLL = osc < ta.valuewhen(plFound, osc , 1) and _inRange(plFound )
// Price: Higher Low
priceHL = low > ta.valuewhen(plFound, low , 1)
hiddenBullCond = plotHiddenBull and priceHL and oscLL and plFound
plot(
plFound ? osc : na,
offset=-lbR,
title="Hidden Bullish",
linewidth=1,
color=(hiddenBullCond ? hiddenBullColor : noneColor)
)
plotshape(
hiddenBullCond ? osc : na,
offset=-lbR,
title="Hidden Bullish Label",
text=" EDM ",
style=shape.labelup,
location=location.absolute,
color=bullColor,
textcolor=textColor
)
//------------------------------------------------------------------------------
// Regular Bearish
// Osc: Lower High
oscLH = osc < ta.valuewhen(phFound, osc , 1) and _inRange(phFound )
// Price: Higher High
priceHH = high > ta.valuewhen(phFound, high , 1)
bearCond = plotBear and priceHH and oscLH and phFound
plot(
phFound ? osc : na,
offset=-lbR,
title="Regular Bearish",
linewidth=1,
color=(bearCond ? bearColor : noneColor)
)
plotshape(
bearCond ? osc : na,
offset=-lbR,
title="Regular Bearish Label",
text=" EDM ",
style=shape.labeldown,
location=location.absolute,
color=bearColor,
textcolor=textColor
)
//------------------------------------------------------------------------------
// Hidden Bearish
// Osc: Higher High
oscHH = osc > ta.valuewhen(phFound, osc , 1) and _inRange(phFound )
// Price: Lower High
priceLH = high < ta.valuewhen(phFound, high , 1)
hiddenBearCond = plotHiddenBear and priceLH and oscHH and phFound
plot(
phFound ? osc : na,
offset=-lbR,
title="Hidden Bearish",
linewidth=1,
color=(hiddenBearCond ? hiddenBearColor : noneColor)
)
plotshape(
hiddenBearCond ? osc : na,
offset=-lbR,
title="Hidden Bearish Label",
text=" EDM ",
style=shape.labeldown,
location=location.absolute,
color=bearColor,
textcolor=textColor
)






















