Weekend GapsIdentify unfilled gaps between the close of one candle and the opening of the next. Optimised for weekends by highlighting friday gaps with a triangle and bold horizontal ray. Depending on the price action required to fill it, they are marked in red or green.
Multitimeframe
Advanced Seasonality Pro🎯 HOW TO USE THE ADVANCED SEASONALITY MODEL
📊 UNDERSTANDING THE COMPONENTS
1. MAIN SIGNALS
STRONG BUY (▲): Strong buy signal - Signal > 0.3
WEAK BUY (●): Weak buy signal - Signal 0.1 to 0.3
STRONG SELL (▼): Strong sell signal - Signal < -0.3
WEAK SELL (●): Weak sell signal - Signal -0.1 to -0.3
NEUTRAL: No clear signal
2. INFORMATION TABLE
text
SIGNAL : STRONG BUY ← Most important
MARKET : BULL/BEAR/SIDEWAYS
VOLATILITY : HIGH/LOW/NORMAL
PRICE LEVEL : NEAR RESIST/NEAR SUPPORT/MID-RANGE
RSI : Current RSI value
SIGNAL VALUE: 0.250 ← Signal strength
MONTH : Jan/Feb/... ← Monthly effect
CONFIDENCE : 75% ← Confidence level
🚀 TRADING STRATEGIES
A. FOR BEGINNERS
pinescript
// ONLY TRADE WHEN:
1. SIGNAL = STRONG BUY/STRONG SELL
2. CONFIDENCE > 50%
3. MARKET aligns (Bull market for BUY, Bear market for SELL)
4. Not near resistance (for BUY) or near support (for SELL)
B. FOR EXPERIENCED TRADERS
pinescript
// IDEAL CONDITIONS:
STRONG BUY + BULL MARKET + LOW VOLATILITY + RSI < 60 + NOT NEAR RESISTANCE
STRONG SELL + BEAR MARKET + HIGH VOLATILITY + RSI > 40 + NOT NEAR SUPPORT
⏰ BEST TRADING TIMES
Monthly Patterns:
Strong buys: January, October, December (January Effect, Santa Rally)
Strong sells: September (September Effect)
Caution: March-August (summer low volatility)
Daily/Weekly Patterns:
Week start (Monday): Stronger signals
Week end (Friday): Reduced strength
Month start (1st-5th): Positive bias
Month end (after 25th): Caution advised
📈 PRACTICAL ENTRY STRATEGIES
BUY ORDERS:
pinescript
// WHEN STRONG BUY APPEARS:
1. Wait for price pullback to SMA20 or support
2. Place BUY order with stop loss below recent low
3. Take profit at nearest resistance
4. Minimum risk reward ratio 1:2
SELL ORDERS:
pinescript
// WHEN STRONG SELL APPEARS:
1. Wait for price rally to near resistance
2. Place SELL order with stop loss above recent high
3. Take profit at nearest support
4. Minimum risk reward ratio 1:2
🛡️ RISK MANAGEMENT
Position Sizing:
pinescript
// FORMULA:
Risk per trade = 1-2% of account
Stop loss = 1-2% from entry point
Strong signal → 2% risk
Weak signal → 1% risk
CANCEL Conditions:
pinescript
1. Signal changes from STRONG to WEAK/NEUTRAL
2. RSI enters overbought/oversold zones (>70/<30)
3. Price breaks key levels
4. Sudden volatility spike
🔍 PRACTICAL EXAMPLES
Scenario 1: STRONG BUY
text
SIGNAL: STRONG BUY (0.35)
MARKET: BULL
VOLATILITY: LOW
PRICE LEVEL: MID-RANGE
RSI: 45
MONTH: January
CONFIDENCE: 80%
→ GOOD SIGNAL: Execute BUY order
Scenario 2: WEAK SELL
text
SIGNAL: WEAK SELL (-0.15)
MARKET: SIDEWAYS
VOLATILITY: HIGH
PRICE LEVEL: NEAR SUPPORT
RSI: 35
MONTH: September
CONFIDENCE: 25%
→ WEAK SIGNAL: DO NOT trade
📱 IMPORTANT NOTES
NEVER:
Trade against the signal
Skip stop loss orders
Trade when confidence < 30%
Trade multiple timeframes simultaneously
Let emotions influence decisions
ALWAYS:
Backtest strategy first
Paper trade before using real money
Combine with fundamental analysis
Monitor economic news
Review trades weekly
🎯 CONCLUSION
This model works BEST when:
Combined with other indicators (volume, trend lines)
Used on multiple timeframes
Applied with strict risk management
Patiently waiting for perfect setups
Only trade when at least 3/5 conditions are favorable! 🚀
💡 PRO TIPS
Use on 12H charts for optimal seasonality patterns
Combine with volume confirmation for higher accuracy
Adjust seasonal strength based on market conditions
Monitor economic calendars for news events
Keep trading journal to track performance
🔧 CUSTOMIZATION OPTIONS
You can adjust these parameters in the script:
seasonalStrength: Increase/decrease seasonal influence
usePriceAction: Toggle price action filters
useMarketRegime: Toggle market condition filters
lookbackYears: Adjust historical data period
Remember: No strategy is 100% accurate. Always use proper risk management and never risk more than you can afford to lose!
Mandelbrot Fractal DimensionThe Mandelbrot Fractal Dimension (D) measures the information density and path complexity of price movements. It quantifies how much a price path fills the space between its starting and ending points:
D ≈ 1.0 : Strong trending behavior (minimal complexity, high predictability)
D ≈ 1.5 : Random walk behavior (maximum complexity, no structure)
D > 1.5 : Mean-reverting behavior (high complexity, bounded movement)
Reference the given link for documentation .
RSI Candle 12-Band SpectrumExperience RSI like never before. This multi-band visualizer transforms relative strength into a living color map — directly over price action — revealing momentum shifts long before traditional RSI signals.
🔹 12 Dynamic RSI Bands – A full emotional spectrum from oversold to overbought, colored from deep blue to burning red.
🔹 Adaptive Pulse System – Highlights every shift in RSI state with an intelligent fade-out pulse that measures the strength of each rotation.
🔹 Precision Legend Display – Clear RSI cutoff zones with user-defined thresholds and color ranges.
🔹 Multi-Timeframe Engine – Optionally view higher-timeframe RSI context while scalping lower frames.
🔹 Stealth Mode – Borders-only visualization for minimal chart impact on dark themes.
🔹 Complete Customization – Adjustable band levels, color palettes, and fade behavior.
🧠 Designed for professional traders who move with rhythm, not randomness.
HTF Candle Countdown Timer//@version=5
indicator("HTF Candle Countdown Timer", overlay=true)
// ============================================================================
// INPUTS - SETTINGS MENU
// ============================================================================
// --- Mode Selection ---
mode = input.string(title="Mode", defval="Auto", options= ,
tooltip="Auto: Αυτόματη αντιστοίχιση timeframes Custom: Επιλέξτε το δικό σας timeframe")
// --- Custom Timeframe Selection ---
customTF = input.timeframe(title="Custom Timeframe", defval="15",
tooltip="Ενεργό μόνο σε Custom Mode")
// --- Table Position ---
tablePos = input.string(title="Table Position", defval="Bottom Right",
options= )
// --- Colors ---
textColor = input.color(title="Text Color", defval=color.white)
bgColor = input.color(title="Background Color", defval=color.black)
transparentBg = input.bool(title="Transparent Background", defval=false,
tooltip="Ενεργοποίηση διάφανου φόντου")
// --- Text Size ---
textSize = input.string(title="Text Size", defval="Normal",
options= )
// ============================================================================
// FUNCTIONS
// ============================================================================
// Μετατροπή string position σε table position constant
getTablePosition(pos) =>
switch pos
"Top Left" => position.top_left
"Top Right" => position.top_right
"Bottom Left" => position.bottom_left
"Bottom Right" => position.bottom_right
=> position.bottom_right
// Μετατροπή string size σε size constant
getTextSize(size) =>
switch size
"Auto" => size.auto
"Tiny" => size.tiny
"Small" => size.small
"Normal" => size.normal
"Large" => size.large
"Huge" => size.huge
=> size.normal
// Αυτόματη αντιστοίχιση timeframes
getAutoTimeframe() =>
currentTF = timeframe.period
string targetTF = ""
if currentTF == "1"
targetTF := "15"
else if currentTF == "3"
targetTF := "30"
else if currentTF == "5"
targetTF := "60"
else if currentTF == "15"
targetTF := "240"
else if currentTF == "60"
targetTF := "D"
else if currentTF == "240"
targetTF := "W"
else
// Default fallback για μη-mapped timeframes
targetTF := "60"
targetTF
// Μετατροπή timeframe string σε λεπτά για σύγκριση
timeframeToMinutes(tf) =>
float minutes = 0.0
if str.contains(tf, "D")
multiplier = str.tonumber(str.replace(tf, "D", ""))
minutes := na(multiplier) ? 1440.0 : multiplier * 1440.0
else if str.contains(tf, "W")
multiplier = str.tonumber(str.replace(tf, "W", ""))
minutes := na(multiplier) ? 10080.0 : multiplier * 10080.0
else if str.contains(tf, "M")
multiplier = str.tonumber(str.replace(tf, "M", ""))
minutes := na(multiplier) ? 43200.0 : multiplier * 43200.0
else
minutes := str.tonumber(tf)
minutes
// Format countdown σε ώρες:λεπτά:δευτερόλεπτα ή λεπτά:δευτερόλεπτα
formatCountdown(milliseconds) =>
totalSeconds = math.floor(milliseconds / 1000)
hours = math.floor(totalSeconds / 3600)
minutes = math.floor((totalSeconds % 3600) / 60)
seconds = totalSeconds % 60
string result = ""
if hours > 0
result := str.format("{0,number,00}:{1,number,00}:{2,number,00}", hours, minutes, seconds)
else
result := str.format("{0,number,00}:{1,number,00}", minutes, seconds)
result
// Μετατροπή timeframe σε readable format
formatTimeframe(tf) =>
string formatted = ""
if str.contains(tf, "D")
formatted := tf + "aily"
else if str.contains(tf, "W")
formatted := tf + "eekly"
else if str.contains(tf, "M")
formatted := tf + "onthly"
else if tf == "60"
formatted := "1H"
else if tf == "240"
formatted := "4H"
else
formatted := tf + "min"
formatted
// ============================================================================
// MAIN LOGIC
// ============================================================================
// Επιλογή target timeframe βάσει mode
targetTimeframe = mode == "Auto" ? getAutoTimeframe() : customTF
// Validation: Έλεγχος αν το target timeframe είναι μεγαλύτερο από το τρέχον
currentTFMinutes = timeframeToMinutes(timeframe.period)
targetTFMinutes = timeframeToMinutes(targetTimeframe)
var string warningMessage = ""
if targetTFMinutes <= currentTFMinutes
warningMessage := "⚠ HTF < Current TF"
else
warningMessage := ""
// Υπολογισμός του χρόνου κλεισίματος του HTF candle
htfTime = request.security(syminfo.tickerid, targetTimeframe, time)
htfTimeClose = request.security(syminfo.tickerid, targetTimeframe, time_close)
// Υπολογισμός υπολειπόμενου χρόνου σε milliseconds
remainingTime = htfTimeClose - timenow
// Format countdown
countdown = warningMessage != "" ? warningMessage : formatCountdown(remainingTime)
// Format timeframe για εμφάνιση
displayTF = formatTimeframe(targetTimeframe)
// ============================================================================
// TABLE DISPLAY
// ============================================================================
// Δημιουργία table
var table countdownTable = table.new(
position=getTablePosition(tablePos),
columns=2,
rows=2,
bgcolor=transparentBg ? color.new(bgColor, 100) : bgColor,
frame_width=1,
frame_color=color.gray,
border_width=1)
// Update table content
if barstate.islast
// Header
table.cell(countdownTable, 0, 0, "Timeframe:",
text_color=textColor,
bgcolor=transparentBg ? color.new(bgColor, 100) : bgColor,
text_size=getTextSize(textSize))
table.cell(countdownTable, 1, 0, displayTF,
text_color=textColor,
bgcolor=transparentBg ? color.new(bgColor, 100) : bgColor,
text_size=getTextSize(textSize))
// Countdown
table.cell(countdownTable, 0, 1, "Countdown:",
text_color=textColor,
bgcolor=transparentBg ? color.new(bgColor, 100) : bgColor,
text_size=getTextSize(textSize))
table.cell(countdownTable, 1, 1, countdown,
text_color=warningMessage != "" ? color.orange : textColor,
bgcolor=transparentBg ? color.new(bgColor, 100) : bgColor,
text_size=getTextSize(textSize))
// ============================================================================
// END OF SCRIPT
// ============================================================================
Multi-Timeframe Supertrend [TCMaster]📊 SuperTrend Multi-Timeframe System (TCMaster)
This indicator combines multi-timeframe SuperTrend signals into a single overlay chart, allowing traders to visualize trend alignment across different timeframes instantly.
It’s designed to help identify high-probability trend continuation and reversal zones by synchronizing multiple SuperTrend layers.
🔍 Key Features
✅ Up to 4 independent SuperTrend layers, each with customizable parameters and timeframes
✅ Multi-timeframe analysis directly on the same chart (no need to switch timeframes)
✅ Instant alerts when a SuperTrend flips from uptrend to downtrend or vice versa
✅ Color-coded background for quick trend visualization
✅ Works on all markets and timeframes
⚙️ Inputs
ATR Length & Multiplier for each SuperTrend
Timeframe selection for each layer
Background color enable/disable toggle
Real-time alert options for trend change events
⚠️ Notes
The indicator is non-repainting and works in real time.
Use it as a trend confirmation tool combined with your existing trading strategy.
This script is for educational and informational purposes only, not financial advice.
💡 Recommended Use
Combine with oscillators (like RSI or Stochastic) or volume filters to improve entry confirmation.
Best for traders who follow multi-timeframe confluence and momentum-based setups.
Custom Session Background Highlighter (Asia / London / NY)This was something i am used to using with Motivewave, and did not see a good one with TV. You can set any time frame, and change the background color to any color you want. I like to have a lightly different color background for Asia (6pm to 3am),, London, (3am to 9:30 am) and NY (9:30am to 5 pm). You can set your time as you wish, and change the colors as you like. This was created with the help of ChatGPT and seems to be working perfectly fine, but if you encounter any issues copy and paste the code to chatgpt and ask to revise it as needed.
Day Range Divider DTSCopied it for DTS purposes to ensure proper tracking, testing, and verification within the DTS workflow. This copy is intended for reference, analysis, and any required adjustments without affecting the original version.
All-in-One: EMA, ORB, PM, and Anchored VWAPAll-in-One: EMA, ORB, PM, and Anchored VWAP... ema 9/20/50/100/20 + opening range break + premarket high and lows + vwap all in one indicator enjoy.. all these can be turned on and off if you only want vwap and ema or pm and orb etc..
Session Highs and LowsShows the current and previous session highs and lows for the New York, London and Asian sessions
✨ Time × Price Complete Square — XAUUSD 3min✨ Time × Price — XAUUSD 3min
🧩 Overview
The Time × Price indicator visualizes the relationship between price movement and time cycles to help identify potential confluence zones.
By detecting pivot points (swing highs and lows) and applying a geometric cycle structure inspired by the Square of 9 / Gann methodology, it highlights where price and time harmonize.
This tool is designed for traders who want to observe market rhythm and cyclical symmetry rather than simple trend signals.
⚙️ Features
Automatic pivot detection (adjustable sensitivity)
Dynamic Time × Price rings showing cycle evolution
🟦 Blue → new cycle starts
🟨 Yellow → equilibrium phase
🟥 Red → cycle completion
Optional alert when a cycle completes
Time and price axis guides for clearer confluence visualization
🔍 Parameters
Parameter Description
pivotLen Length for detecting swing points. Higher values smooth out smaller fluctuations.
baseCycle Base cycle period that defines the ring spacing.
alertOn Enables or disables alert on cycle completion.
💡 How to Use
Apply on XAU/USD 3-minute to 15-minute charts for optimal responsiveness.
Observe when a new blue ring forms — it marks the start of a new cycle.
As rings shift toward red, a time-price cycle is approaching completion.
Combine with RSI, MACD, or momentum indicators to confirm possible reversals near ring intersections.
Use alerts to monitor key cycle completions automatically.
⚠️ Disclaimer
This script is for educational and analytical purposes only.
It does not provide financial advice or trade recommendations.
All trading decisions should be made at your own discretion and risk.
🧠 Concept
The concept is based on the idea that “time and price resonance drives market turning points.”
By adapting Gann-style time-price geometry to intraday timeframes, the indicator provides a visual structure to interpret rhythm and balance in market motion.
✅ Compliant with TradingView House Rules
No investment or profitability claims
No use of third-party or proprietary code
Transparent explanation of features and logic
Educational purpose clearly stated
Custom Time Separators + Hourly Open LinesThis Indicator is for those who wants to keep the chart clean and Study 1HR Profile.
best USE is : 1HR line Projected and 1 HR separator is plotted on the chart
i Use 4 Hrs. plotted and using for CRT Method to identify
SWEEP of C1 by C2 and, Entering ON C2 when its Trading back up,
or on your comfort of confirmation with MSS + FVG / OB
Lot of ICT Model can be traded and used with this including
PO3
Lumi trades : 1HR PO3
Ttrades CRT and Many more,
let me know if want to add anything if i think its useful we can add.
cheers
Best Time Slots — Auto-Adapt (v6, TF-safe) + Range AlertsTime & binning
Auto-adapt to timeframe
Makes all time windows scale to your chart’s bar size (so it “just works” on 1m, 15m, 4H, Daily).
• On = recommended. • Off = fixed default lengths.
Minimum Bin (minutes)
The size of each daily time slot we track (e.g., 5-min bins). The script uses the larger of this and your bar size.
• Higher = fewer, broader slots; smoother stats. • Lower = more, narrower slots; needs more history.
• Try: 5–15 on intraday, 60–240 on higher TFs.
Lookback windows (used when Auto-adapt = ON)
Target ER Window (minutes)
How far back we look to judge Efficiency Ratio (how “straight” the move was).
• Higher = stricter/smoother; fewer bars qualify as “movement”. • Lower = more sensitive.
• Try: 60–120 min intraday; 240–600 min for higher TFs.
Target ATR Window (minutes)
How far back we compute ATR (typical range).
• Higher = steadier ATR baseline. • Lower = reacts faster.
• Try: 30–120 min intraday; 240–600 min higher TFs.
Target Normalization Window (minutes)
How far back for the average ATR (the baseline we compare to).
• Higher = stricter “above average range” check. • Lower = easier to pass.
• Try: ~500–1500 min.
What counts as “movement”
ER Threshold (0–1)
Minimum efficiency a bar must have to count as movement.
• Higher = only very “clean, one-direction” bars count. • Lower = more bars count.
• Try: 0.55–0.65. (0.60 = balanced.)
ATR Floor vs SMA(ATR)
Requires range to be at least this many × average ATR.
• Higher (e.g., 1.2) = demand bigger-than-usual ranges. • Lower (e.g., 0.9) = allow smaller ranges.
• Try: 1.0 (above average).
How history is averaged
Recent Days Weight (per-day decay)
Gives more weight to recent days. Example: 0.97 ≈ each day old counts ~3% less.
• Higher (0.99) = slower fade (older days matter more). • Lower (0.95) = faster fade.
• Try: 0.97–0.99.
Laplace Prior Seen / Laplace Prior Hit
“Starter counts” so early stats aren’t crazy when you have little data.
• Higher priors = probabilities start closer to average; need more real data to move.
• Try: Seen=3, Hit=1 (defaults).
Min Samples (effective)
Don’t highlight a slot unless it has at least this many effective samples (after decay + priors).
• Higher = safer, but fewer highlights early.
• Try: 3–10.
When to highlight on the chart
Min Probability to Highlight
We shade/mark bars only if their slot’s historical movement probability is ≥ this.
• Higher = pickier, fewer highlights. • Lower = more highlights.
• Try: 0.45–0.60.
Show Markers on Good Bins
Draws a small square on bars that fall in a “good” slot (in addition to the soft background).
Limit to market hours (optional)
Restrict to Session + Session
Only learn/score inside this time window (e.g., “0930-1600”). Uses the chart/exchange timezone.
• Turn on if you only care about RTH.
Range (chop) alerts
Range START if ER ≤
Triggers range when efficiency drops below this level (price starts zig-zagging).
• Higher = easier to call “range”. • Lower = stricter.
Range START if ATR ≤ this × SMA(ATR)
Also triggers range when ATR shrinks below this fraction of its average (volatility contraction).
• Higher (e.g., 1.0) = stricter (must be at/under average). • Lower (e.g., 0.9) = easier to call range.
Alerts on bar close
If ON, alerts fire once per bar close (cleaner). If OFF, they can trigger intrabar (faster, noisier).
Quick “what happens if I change X?”
Want more highlighted times? ↓ Min Probability, ↓ ER Threshold, or ↓ ATR Floor (e.g., 0.9).
Want stricter highlights? ↑ Min Probability, ↑ ER Threshold, or ↑ ATR Floor (e.g., 1.2).
Want recent days to matter more? ↑ Recent Days Weight toward 0.99.
On 4H/Daily, widen Minimum Bin (e.g., 60–240) and maybe lower Min Probability a bit.
5 Moving Averages (Fully Customizable)I couldn't find any indicators that you could fully customize multiple moving average lines, so I made one.
You can change the color, line type, thickness, length, and opacity. Also make a custom color if you want.
You can make them SMA, EMA, WMA, HMA, VWMA.
Hope you enjoy!
Open=Low Multi-Signal EnhancedPower your trades with all new Open = Low with tolerance added in the price. This script will give Open = Low and also if slight deviation in the Open = Low with rising volume and rising momentum in the price.
VWAP + EMA shows the VWAP + EMA 9/20/50/100/200 all in one indicator... you can adjust VWAP's calculation method + color + the outer bands or remove them.. can remove fill as well.. personally i just keep the VWAP
Bitcoin CME gaps multi-timeframe auto finder1. Overview
The Bitcoin CME Gap Multi-Timeframe Detector automatically identifies price gaps in the Bitcoin CME (Chicago Mercantile Exchange) futures market and visually displays them on the TradingView chart.
Because the CME futures market closes for about an hour after each weekday session and remains closed over the weekend, price gaps frequently appear when trading resumes on Monday.
This indicator analyzes gaps across six major timeframes, from 5-minute to 1-day charts, allowing traders to easily identify structural imbalances and potential support/resistance zones.
It is the most accurate and feature-rich CME gaps indicator available on TradingView.
2. Key Features
■ Multi-Timeframe Gap Detection
Analyzes 5m, 15m, 30m, 1h, 4h, and 1D charts simultaneously.
This enables traders to observe both short-term volatility and mid-to-long-term structure, providing a multi-dimensional view of market dynamics.
■ Gap Direction Classification
Up Gap: When the next candle’s open is higher than the previous candle’s high (default color: green tone)
Down Gap: When the next candle’s open is lower than the previous candle’s low (default color: red tone)
Gaps are color-coded to intuitively visualize potential support and resistance zones.
■ Highlight Function
Gaps exceeding a user-defined threshold (%) are highlighted (default color: yellow).
This helps quickly identify zones with abnormal volatility or sharp price dislocations.
■ Labels and Box Extension
Each gap displays a percentage label indicating its relative size and significance.
Gap zones are extended to the right as boxes, allowing traders to visually track when and how the gap gets filled over time.
■ Alert System
When a gap forms on the selected timeframe (or across all timeframes), a TradingView alert is triggered.
This enables real-time response to significant gap events.
3. Trading Strategies
■ Gap Fill Behavior
CME gaps statistically tend to get filled over time.
Gap boxes help distinguish between filled and unfilled gaps at a glance.
Up Gap: Price tends to decline to fill the previous high–next open zone.
Down Gap: Price often rises later to fill the previous low–next open zone.
■ Support & Resistance Levels
Gap zones frequently act as strong support or resistance.
When price retests a gap area, observing the reaction of buyers and sellers can provide valuable trading insights.
Overlapping gap boxes across multiple timeframes indicate high-confidence support/resistance zones.
■ Market Sentiment & Volatility Analysis
Large gaps usually result from shifts in market sentiment or major news events.
This indicator allows traders to detect volatility spikes early and prepare for potential trend reversals.
■ Combination with Other Technical Tools
While fully functional on its own, this indicator works even better when combined with tools like moving averages (MA), RSI, MACD, or Fibonacci retracements.
For example, if the bottom of a gap coincides with the 0.618 Fibonacci level, it may signal a strong rebound zone.
4. Settings Options
Minimum Gap % | Sets the minimum percentage movement required to detect a gap (lower values show smaller gaps)
Display Timeframes | Choose which timeframes to display (5m, 15m, 30m, 1h, 4h, 1D)
Box Colors | Assign colors for up and down gaps
Box Extension (Bars) | Number of bars to extend gap boxes to the right
Show Labels | Toggle display of gap percentage labels
Label Position / Size | Adjust label position and size
Highlight Gap ≥ % | Highlight gaps exceeding a specified percentage
Highlight Colors | Set highlight color for labels and boxes
Enable Alerts | Enable or disable alerts
Alert Timeframe | Select timeframe(s) for alerts (“All” = all timeframes)
5. Summary
This indicator is a professional trading tool that provides quantitative and visual analysis of price gaps in the Bitcoin CME futures market.
By combining multi-timeframe detection, highlighting, and alert systems, it helps traders clearly identify zones of market imbalance and potential reversal areas.
Custom Two Sessions H/L/50% LevelsTrack high/low/midpoint levels across two customizable time sessions. Perfect for monitoring H4 blocks, session ranges, or any custom time periods as reference levels for lower timeframe trading.
What This Indicator Does:
Tracks and projects High, Low, and 50% Midpoint levels for two fully customizable time sessions. Unlike fixed-session indicators, you define EXACTLY when each session starts and ends.
Key Features:
• Two independent sessions with custom start/end times (hour and minute)
• High/Low/50% midpoint tracking for each session
• Visual session boxes showing calculation periods
• Horizontal lines projecting levels into the future
• Historical session levels remain visible for reference
• Works on any chart timeframe (M1, M5, M15, H1, H4, etc.)
• Full visual customization (colors, line styles, widths)
• DST timezone support
Common Use Cases:
H4 Candle Tracking - Set sessions to 4-hour blocks (e.g., 6-10am, 10am-2pm) to track individual H4 highs/lows
H1 Candle Tracking - 1-hour blocks for scalping reference levels
Session Trading - ETH vs RTH, London vs NY, Asian session, etc.
Custom Time Periods - Any time range you want to monitor
How to Use:
The indicator identifies key price levels from higher timeframe periods. Use previous session H/L/50% as reference levels for:
Identifying sweep and reclaim setups
Lower timeframe structural flip confirmations
Support/resistance zones for entries
Delivery targets after breaks of structure
Settings:
Configure each session's start/end times independently. The indicator automatically triggers at the first bar crossing into your specified time, making it compatible with all chart timeframes.
No-Trade Zones UTC+7This indicator helps you visualize and backtest your preferred trading hours. For example, if you have a 9-to-5 job, you obviously can’t trade during that time — and when backtesting, you should avoid those hours too. It also marks weekends if you prefer not to trade on those days.
By highlighting no-trade periods directly on the chart, you can easily see when you shouldn’t be taking trades, without constantly checking the time or date by hovering over the chart. It makes backtesting smoother and more realistic for your personal schedule.
Fixed High Timeframe Moving AveragesFixed High Timeframe Moving Averages (W/D/4H)
Summary
This indicator plots essential, high-timeframe (HTF) Moving Averages onto your chart, **no matter which timeframe you are currently viewing**.
It is designed for traders who need multi-timeframe context at a glance. Stop switching charts to see where the 200-Week or 50-Day MA is—now you can see all critical HTF levels directly on your 5-minute (or any other) chart.
---
Who it’s for
Traders who rely on moving averages but like to work on lower chart timeframes while keeping higher timeframe context in sight. If you scalp on 1–15m yet want Weekly/Daily/4H MAs always visible, this is for you.
---
What it shows
Pinned (“fixed”) moving averages from higher timeframes—Weekly (20/100/200) , Daily (50/100/200/365) and 4H (200) —rendered on any chart timeframe. Your favorite HTF MAs stay on screen no matter what TF you’re currently analyzing.
---
Features
* **MA types:** SMA, EMA, VWMA, Hull.
* **Fully configurable:** toggle each line, set periods, colors, and thickness.
* **Two alert modes (see below):** intrabar vs confirmed HTF close.
* **Works on any symbol & chart TF** using `request.security` to fetch HTF data.
---
Alerts & Modes
This indicator solves the biggest problem with MTF alerts: false signals. You can choose one of two modes:
1. **Intrabar mode** — compares current chart price to the HTF MA. Triggers as soon as price crosses the HTF line; great for early signals but may update until the HTF bar closes.
2. **Confirmed mode** — checks HTF close vs HTF MA. Signals only on the higher-TF bar close; fewer false starts, no intrabar repainting on that TF.
Per-line *Cross Above / Cross Below* conditions are provided for all enabled MAs (e.g., “20W — Cross Above”, “365D — Cross Below”, etc.).
**How to use alerts:** add the script → “Create Alert” → pick any condition from the script’s list.
---
Why this helps
* Keeps Weekly/Daily structure visible while you execute on LTF.
* Classic anchors (e.g., 200D, 20W/100W/200W) are popular for trend bias, dynamic support/resistance, and pullback context.
* Lets you standardize MA references across all your lower-TF playbooks.
---
Notes on confirmation & repainting
* Intrabar signals can change until the higher-TF bar closes (that’s expected with multi-TF data).
* Confirmed mode waits for the HTF close—cleaner, but later. Choose what fits your workflow.
---
Quick setup
1. Pick `MA Type` (SMA/EMA/VWMA/Hull).
2. Enable the HTF lines you want (Weekly 20/100/200; Daily 50/100/200/365; 4H 200).
3. Choose `Alert Mode` (Intrabar vs Confirmed).
4. Style colors/widths to taste and set alerts on the lines you care about.
---
Good practice
* Combine HTF MAs with price action (swings, structure, liquidity grabs) rather than using them in isolation.
* Always validate signals in your execution TF and use a risk plan tailored to volatility.
* Protect your capital: position sizing, stops, and disciplined risk management matter more than any single line on the chart.
---
Disclaimer
For educational/informational purposes only; not financial advice. Trading involves risk—manage it responsibly.
[AS] MACD-v & Hist [Alex Spiroglou | S.M.A.R.T. TRADER SYSTEMS] MACD-v & MACD-v Histogram
=======================================
Volatility Normalised Momentum 📈
Twice Awarded Indicator 🏆
=======================================
=======================================
✅ 1. INTRODUCTION TO THE MACD-v ✅
=======================================
I created the MACD-v in 2015,
as a way to deal with the limitations
of well known indicators like the Stochastic, RSI, MACD.
I decided to publicly share a very small part of my research
in the form of a research paper I wrote in 2022,
titled "MACD-v: Volatility Normalised Momentum".
That paper was awarded twice:
1. The "Charles H. Dow" Award (2022),
for outstanding research in Technical Analysis,
by the Chartered Market Technicians Association (CMTA)
2. The "Founders" Award (2022),
for advances in Active Investment Management,
by the National Association of Active Investment Managers (NAAIM)
=======================================
===================================================
❌ 2. WHY CREATE THE MACD-v ?
THE LIMITATIONS OF CONVENTIONAL MOMENTUM INDICATORS
====================================================
Technical Analysis indicators focused on momentum,
come in two general categories,
each with its own set of limitations:
(i) Range Bound Oscillators (RSI, Stochastics, etc)
These usually have a scaling of 0-100,
and thus have the advantage of having normalised readings,
that are comparable across time and securities.
However they have the following limitations (among others):
1. Skewing effect of steep trends
2. Indicator values do not adjust with and reflect true momentum
(indicator values are capped to 100)
(ii) Unbound Oscillators (MACD, RoC, etc)
These are boundless indicators,
and can expand with the market,
without being limited by a 0-100 scaling,
and thus have the advantage of really measuring momentum.
They have the main following limitations (among others):
1. Subjectivity of overbought / oversold levels
2. Not comparable across time
3. Not comparable across securities
=======================================
=======================================
💡 3. THE SOLUTION TO SOLVE THESE LIMITATIONS
=======================================
In order to deal with these limitations,
I decided to create an indicator,
that would be the "Best of two worlds".
A unique & hybrid indicator,
that would have objective normalised readings
(similar to Range Bound Oscillators - RSI)
but would also be able to have no upper/lower boundaries
(similar to Unbound Oscillators - MACD).
This would be achieved by "normalising" a boundless oscillator (MACD)
=======================================
==================================================
⛔ 4. DEEP DIVE INTO THE 5 LIMITATIONS OF THE MACD
==================================================
A Bloomberg study found that the MACD
is the most popular indicator after the RSI,
but the MACD has 5 BIG limitations.
Limitation 1: MACD values are not comparable across Time
The raw MACD values shift
as the underlying security's absolute value changes across time,
making historical comparisons obsolete
e.g S&P 500 maximum MACD was 1.56 in 1957-1971,
but reached 86.31 in 2019-2021 - not indicating 55x stronger momentum,
but simply different price levels.
Limitation 2: MACD values are not comparable across Assets
Traditional MACD cannot compare momentum between different assets.
S&P 500 MACD of 65 versus EUR/USD MACD of -0.5
reflects absolute price differences, not momentum differences
Limitation 3: MACD values cannot be Systematically Classified
Due to limitations #1 & #2, it is not possible to create
a momentum level classification scale
where one can define "fast", "slow", "overbought", "oversold" momentum
making systematic analysis impossible
Limitation 4: MACD Signal Line gives false crossovers in low-momentum ranges
In range-bound, low momentum environments,
most of the MACD signal line crossovers are false (noise)
Since there is no objective momentum classification system (limitation #3),
it is not possible to filter these signals out,
by avoiding them when momentum is low
Limitation 5: MACD Signal Line gives late crossovers in high momentum regimes.
Signal lag in strong trends not good at timing the turning point
— In high-momentum moves, MACD crossovers may come late.
Since there is no objective momentum classification system (limitation #3),
it is not possible to filter these signals out,
by avoiding them when momentum is high
===================================================================
===================================================================
🏆 5. MACD-v : THE SOLUTION TO THE LIMITATIONS OF THE MACD , RSI, etc
====================================================================
MACD-v is a volatility normalised momentum indicator.
It remedies these 5 limitations of the classic MACD,
while creating a tool with unique properties.
Formula: × 100
MACD-V enhances the classic MACD by normalizing for volatility,
transforming price-dependent readings into standardized momentum values.
This resolves key limitations of traditional MACD and adds significant analytical power.
Core Advantages of MACD-V
Advantage 1: Time-Based Stability
MACD-V values are consistent and comparable over time.
A reading of 100 has the same meaning today as it did in the past
(unlike traditional MACD which is influenced by changes in price and volatility over time)
Advantage 2: Cross-Market Comparability
MACD-V provides universal scaling.
Readings (e.g., ±50) apply consistently across all asset classes—stocks,
bonds, commodities, or currencies,
allowing traders to compare momentum across markets reliably.
Advantage 3: Objective Momentum Classification
MACD-V includes a defined 5-range momentum lifecycle
with standardized thresholds (e.g., -150 to +150).
This offers an objective framework for analyzing market conditions
and supports integration with broader models.
Advantage 4: False Signal Reduction in Low-Momentum Regimes
MACD-V introduces a "neutral zone" (typically -50 to +50)
to filter out these low-probability signals.
Advantage 5: Improved Signal Timing in High-Momentum Regimes
MACD-V identifies extremely strong trends,
allowing for more precise entry and exit points.
Advantage 6: Trend-Adaptive Scaling
Unlike bounded oscillators like RSI or Stochastic,
MACD-V dynamically expands with trend strength,
providing clearer momentum insights without artificial limits.
Advantage 7: Enhanced Divergence Detection
MACD-V offers more reliable divergence signals
by avoiding distortion at extreme levels,
a common flaw in bounded indicators (RSI, etc)
====================================================================
=======================================
⚒️ 5. HOW TO USE THE MACD-v: 7 CORE PATTERNS
HOW TO USE THE MACD-v Histogram: 2 CORE PATTERNS
=======================================
>>>>>> BASIC USE (RANGE RULES) <<<<<<
The MACD-v has 7 Core Patterns (Ranges) :
1. Risk Range (Overbought)
Condition: MACD-V > Signal Line and MACD-V > +150
Interpretation: Extremely strong bullish momentum—potential exhaustion or reversal zone.
2. Retracing
Condition: MACD-V < Signal Line and MACD-V > -50
Interpretation: Mild pullback within a bullish trend.
3. Rundown
Condition: MACD-V < Signal Line and -50 > MACD-V > -150
Interpretation: Momentum is weakening—bearish pressure building.
4. Risk Range (Oversold)
Condition: MACD-V < Signal Line and MACD-V < -150
Interpretation: Extreme bearish momentum—potential for reversal or capitulation.
5. Rebounding
Condition: MACD-V > Signal Line and MACD-V > -150
Interpretation: Bullish recovery from oversold or weak conditions.
6. Rallying
Condition: MACD-V > Signal Line and MACD-V > +50
Interpretation: Strengthening bullish trend—momentum accelerating.
7. Ranging (Neutral Zone)
Condition: MACD-V remains between -50 and +50 for 20+ bars
Interpretation: Sideways market—low conviction and momentum.
The MACD-v Histogram has 2 Core Patterns (Ranges) :
1. Risk (Overbought)
Condition: Histogram > +40
Interpretation: Short-term bullish momentum is stretched—possible overextension or reversal risk.
2. Risk (Oversold)
Condition: Histogram < -40
Interpretation: Short-term bearish momentum is stretched—potential for rebound or reversal.
=======================================
=======================================
📈 6. ADVANCED PATTERNS WITH MACD-v
=======================================
Thanks to its volatility normalization,
the MACD-V framework enables the development
of a wide range of advanced pattern recognition setups,
trading signals, and strategic models.
These patterns go beyond basic crossovers,
offering deeper insight into momentum structure,
regime shifts, and high-probability trade setups.
These are not part of this script
=======================================
===========================================================
⚙️ 7. FUNCTIONALITY - HOW TO ADD THE INDICATORS TO YOUR CHART
===========================================================
The script allows you to see :
1. MACD-v
The indicator with the ranges (150,50,0,-50,-150)
and colour coded according to its 7 basic patterns
2. MACD-v Histogram
The indicator The indicator with the ranges (40,0,-40)
and colour coded according to its 2 basic ranges / patterns
3. MACD-v Heatmap
You can see the MACD-v in a Multiple Timeframe basis,
using a colour-coded Heatmap
Note that lowest timeframe in the heatmap must be the one on the chart
i.e. if you see the daily chart, then the Heatmap will be Daily, Weekly, Monthly
4. MACD-v Dashboard
You can see the MACD-v for 7 markets,
in a multiple timeframe basis
=======================================
=======================================
🤝 CONTRIBUTIONS 🤝
=======================================
I would like to thank the following people:
1. Mike Christensen for coding the indicator
@TradersPostInc, @Mik3Christ3ns3n,
2. @Indicator-Jones For allowing me to use his Scanner
3. @Daveatt For allowing me to use his heatmap
=======================================
=======================================
⚠️ LEGAL - Usage and Attribution Notice ⚠️
=======================================
Use of this Script is permitted
for personal or non-commercial purposes,
including implementation by coders and TradingView users.
However, any form of paid redistribution,
resale, or commercial exploitation is strictly prohibited.
Proper attribution to the original author is expected and appreciated,
in order to acknowledge the source
and maintain the integrity of the original work.
Failure to comply with these terms,
or to take corrective action within 48 hours of notification,
will result in a formal report to TradingView’s moderation team,
and will actively pursue account suspension and removal of the infringing script(s).
Continued violations may result in further legal action, as deemed necessary.
=======================================
=======================================
⚠️ DISCLAIMER ⚠️
=======================================
This indicator is For Educational Purposes Only (F.E.P.O.).
I am just Teaching by Example (T.B.E.)
It does not constitute investment advice.
There are no guarantees in trading - except one.
You will have losses in trading.
I can guarantee you that with 100% certainty.
The author is not responsible for any financial losses
or trading decisions made based on this indicator. 🙏
Always perform your own analysis and use proper risk management. 🛡️
=======================================
FVG MagicFVG Magic — Fair Value Gaps with Smart Mitigation, Inversion & Auto-Clean-up
FVG Magic finds every tradable Fair Value Gap (FVG), shows who powered it, and then manages each gap intelligently as price interacts with it—so your chart stays actionable and clean.
Attribution
This tool is inspired by the idea popularized in “Volumatic Fair Value Gaps ” by BigBeluga (licensed CC BY-NC-SA 4.0). Credit to BigBeluga for advancing FVG visualization in the community.
Important: This is a from-scratch implementation—no code was copied from the original. I expanded the concept substantially with a different detection stack, a gap state machine (ACTIVE → 50% SQ → MITIGATED → INVERSED), auto-clean up rules, lookback/nearest-per-side pruning, zoom-proof volume meters, and timeframe auto-tuning for 15m/H1/H4.
What makes this version more accurate
Full-coverage detection (no “missed” gaps)
Default ICT-minimal rule (Bullish: low > high , Bearish: high < low ) catches all valid 3-candle FVGs.
Optional Strict filter (stricter structure checks) for traders who prefer only “clean” gaps.
Optional size percentile filter—off by default so nothing is hidden unless you choose to filter.
Correct handling of confirmations (wick vs close)
Mitigation Source is user-selectable: high/low (wick-based) or close (strict).
This avoids false “misses” when you expect wick confirmations (50% or full fill) but your logic required closes.
State-aware labelling to prevent misleading data
The Bull%/Bear% meter is shown only while a gap is ACTIVE.
As soon as a gap is 50% SQ, MITIGATED, or INVERSED, the meter is hidden and replaced with a clear tag—so you never read stale participation stats.
Robust zoom behaviour
The meter uses a fixed bar-width (not pixels), so it stays proportional and readable at any zoom level.
Deterministic lifecycle (no stale boxes)
Remove on 50% SQ (instant or delayed).
Inversion window after first entry: if price enters but doesn’t invert within N bars, the box auto-removes once fully filled.
Inversion clean up: after a confirmed flip, keep for N bars (context) then delete (or 0 = immediate).
Result: charts auto-maintain themselves and never “lie” about relevance.
Clarity near current price
Nearest-per-side (keep N closest bullish & bearish gaps by distance to the midpoint) focuses attention where it matters without altering detection accuracy.
Lookback (bars) ensures reproducible behaviour across accounts with different data history.
Timeframe-aware defaults
Sensible auto-tuning for 15m / H1 / H4 (right-extension length, meter width, inversion windows, clean up bars) to reduce setup friction and improve consistency.
What it does (under the hood)
Detects FVGs using ICT-minimal (default) or a stricter rule.
Samples volume from a 10× lower timeframe to split participation into Bull % / Bear % (sum = 100%).
Manages each gap through a state machine:
ACTIVE → 50% SQ (midline) → MITIGATED (full) → INVERSED (SR flip after fill).
Auto-clean up keeps only relevant levels, per your rules.
Dashboard (top-right) displays counts by side and the active state tags.
How to use it
First run (show everything)
Use Strict FVG Filter: OFF
Enable Size Filter (percentile): OFF
Mitigation Source: high/low (wick-based) or close (stricter), as you prefer.
Remove on 50% SQ: ON, Delay: 0
Read the context
While ACTIVE, use the Bull%/Bear% meter to gauge demand/supply behind the impulse that created the gap.
Confluence with your HTF structure, sessions, VWAP, OB/FVG, RSI/MACD, etc.
Trade interactions
50% SQ: often the highest-quality interaction; if removal is ON, the box clears = “job done.”
Full mitigation then rejection through the other side → tag changes to INVERSED (acts like SR). Keep for N bars, then auto-remove.
Keep the chart tidy (optional)
If too busy, enable Size Filter or set Nearest per side to 2–4.
Use Lookback (bars) to make behaviour consistent across symbols and histories.
Inputs (key ones)
Use Strict FVG Filter: OFF(default)/ON
Enable Size Filter (percentile): OFF(default)/ON + threshold
Mitigation Source: high/low or close
Remove on 50% SQ + Delay
Inversion window after entry (bars)
Remove inversed after (bars)
Lookback (bars), Nearest per side (N)
Right Extension Bars, Max FVGs, Meter width (bars)
Colours: Bullish, Bearish, Inversed fill
Suggested defaults (per TF)
15m: Extension 50, Max 12, Inversion window 8, Clean up 8, Meter width 20
H1: Extension 25, Max 10, Inversion window 6, Clean up 6, Meter width 15
H4: Extension 15, Max 8, Inversion window 5, Clean up 5, Meter width 10
Notes & edge cases
If a wick hits 50% or the far edge but state doesn’t change, you’re likely on close mode—switch to high/low for wick-based behaviour.
If a gap disappears, it likely met a clean up condition (50% removal, inversion window, inversion clean up, nearest-per-side, lookback, or max-cap).
Meters are hidden after ACTIVE to avoid stale percentages.






















