EMA 9×20 Multi-TF Scanner — M/W/DThis scrip will facilitate for swing trade based on momentum achieved in monthly weekly and daily
Indikatoren und Strategien
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.
ASHOK 15 Novashok trial 15 nov 1845h
I have created this strategy to convert my chart pattern and MACD, EMA observations to tradeable logic.
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
)
Michael's FVG Detector═══════════════════════════════════════
Michael's FVG Detector
═══════════════════════════════════════
A clean and efficient Fair Value Gap (FVG) indicator for TradingView that helps traders identify market imbalances with precision.
───────────────────────────────────────
Overview
───────────────────────────────────────
Fair Value Gaps (FVGs) are price inefficiencies that occur when there's a gap between the wicks of candlesticks, indicating rapid price movement with minimal trading activity. These gaps often act as support/resistance zones where price may return to "fill the gap."
This indicator automatically detects and visualizes both bullish and bearish FVGs on any timeframe, making it easy to spot potential trading opportunities.
───────────────────────────────────────
Features
───────────────────────────────────────
Core Functionality
Automatic FVG Detection : Identifies Fair Value Gaps in real-time as they form
Bullish & Bearish FVGs : Detects both upward and downward price gaps
3-Candle Pattern : Uses classic FVG logic (current candle low > high from 2 bars ago for bullish, vice versa for bearish)
Gap Size Display : Shows the exact size of each FVG in ticks directly on the box
Confirmed Bars Only : Only draws FVGs on confirmed bars to prevent repainting
Customization
Color Settings : Fully customizable colors for bullish and bearish FVGs with transparency control
Text Color : Configurable color for the tick size labels
Default Styling : Comes with sensible defaults (20% transparency, dark gray labels)
Performance Optimization
Smart Cleanup : Automatically removes boxes outside the visible chart area
Efficient Rendering : Maintains optimal performance even on lower timeframes
No Repainting : Uses confirmed bars only for reliable signals
───────────────────────────────────────
How It Works
───────────────────────────────────────
Detection Logic
Bullish FVG:
Current bar's low is higher than the high from 2 bars ago
Creates an upward gap that price left behind during bullish momentum
Bearish FVG:
Current bar's high is lower than the low from 2 bars ago
Creates a downward gap that price left behind during bearish momentum
Visual Display
Each detected FVG is displayed as:
A semi-transparent colored box spanning the gap area
The box extends from bar -2 to the current bar
Gap size in ticks shown at the bottom-left of each box
Singular/plural formatting ("1 tick" vs "X ticks")
───────────────────────────────────────
Performance Notes
───────────────────────────────────────
Cleanup runs every 50 bars to maintain optimal performance
Only creates boxes on confirmed bars (no real-time repainting)
Efficiently manages memory by removing off-screen boxes
Suitable for both manual and automated trading strategies
───────────────────────────────────────
Disclaimer
───────────────────────────────────────
This indicator is for educational and informational purposes only. It is not financial advice. Always do your own research and risk management before making trading decisions.
───────────────────────────────────────
Author : Michael
Version : 1.0
License : Free for personal use
Last Updated : November 2025
Nuh's Multi-Timeframe DashboardAll 10 indicators (EMA, RSI, ADX, RI, Squeezee, WaveTrend, Alpha Trend, SuperTrend, Stoch RSI, Vix Fix) across 7 time frames (5m, 15m, 1h, 2h, 4h, 1D, 1W) consolidated into a single table.
session high and low (only for current day) -HITHVEERits about session highs and lows and only for the current day and main sessions are asia london and newyork
UltimateFlow by Kate V0.2Ultimate Flow Script: Tracks market structure breaks, buy/sell entries (CE/SE), and trends with a Zero Lag SMA. Highlights Bullish & Bearish Order Blocks (OB, BB, MM) with dynamic boxes and tiny labels. Zigzag swings visualize market structure for smart entries. Play with the various settings to suit your trading style. Alerts available for MSB changes and price in OB zones.
Disclaimer: This script is for educational and informational purposes only. It should be used in line with your own trading strategy, risk management, and discretion. Past performance is not indicative of future results.
This script is designed for price action, market structure, and order block analysis on TradingView. It includes:
Buy & Sell Signals (CE/SE) – Highlights potential entries based on market structure breaks and trend changes. Mini triangles or markers indicate possible reversals.
Zero Lag SMA (ZSMA) – Smooths price action for trend confirmation without delay. Helps identify trend direction and support/resistance areas.
Order Blocks (OBs) – Highlights key Bullish (Bu-OB) and Bearish (Be-OB) order blocks on the chart. Boxes dynamically extend as price evolves and include tiny labels (Bu-OB, Be-BB, MM, etc.) for clarity.
Zigzag Market Structure – Draws swing highs and lows to visualize market structure breaks (MSB).
How it works:
OB boxes extend automatically and change when price breaks them.
CE/SE markers help identify high-probability trade entries.
ZSMA confirms trend direction.
Alerts can be set for MSB changes or when price enters an OB zone.
Order FlowSimple Order flow - table with sell volume, buy volume and delta. It requires premium (1second) or higher for getting volume from lower time frame.
smaemarvwapClaireLibrary "smaemarvwapClaire"
repeat_character(count)
Parameters:
count (int)
f_1_k_line_width()
is_price_in_merge_range(p1, p2, label_merge_range)
Parameters:
p1 (float)
p2 (float)
label_merge_range (float)
get_pre_label_string(kc, t, is_every)
Parameters:
kc (VWAP_key_levels_draw_settings)
t (int)
is_every (bool)
f_is_new_period_from_str(str)
Parameters:
str (string)
total_for_time_when(source, days, ma_set)
Parameters:
source (float)
days (int)
ma_set (ma_setting)
f_calculate_sma_ema_rolling_vwap(src, length, ma_settings)
Parameters:
src (float)
length (simple int)
ma_settings (ma_setting)
f_calculate_sma_ema_rvwap(ma_settings)
Parameters:
ma_settings (ma_setting)
f_get_ma_pre_label(ma_settings, sma, ema, rolling_vwap)
Parameters:
ma_settings (ma_setting)
sma (float)
ema (float)
rolling_vwap (float)
f_smart_ma_calculation(ma_settings2)
Parameters:
ma_settings2 (ma_setting)
f_calculate_endpoint(start_time, kc, is_every, endp, extend1, extend2, line_label_extend_length)
Parameters:
start_time (int)
kc (VWAP_key_levels_draw_settings)
is_every (bool)
endp (int)
extend1 (bool)
extend2 (bool)
line_label_extend_length (int)
f_single_line_label_fatory(left_point, right_point, line_col, line_width, lines_style_select, labeltext_col, label_text_size, label_array, line_array, label_col, label_text, l1, label1)
根据两个点创建线段和/或标签,并将其添加到对应的数组中
Parameters:
left_point (chart.point) : 左侧起点坐标
right_point (chart.point) : 右侧终点坐标
line_col (color) : 线段颜色
line_width (int) : 线段宽度
lines_style_select (string) : 线段样式(实线、虚线等)
labeltext_col (color) : 标签文字颜色
label_text_size (string) : 标签文字大小
label_array (array) : 存储标签对象的数组
line_array (array) : 存储线段对象的数组
label_col (color) : 标签背景颜色(默认:半透明色)
label_text (string) : 标签文字内容(默认:空字符串)
l1 (bool) : 是否创建线段(默认:false)
label1 (bool) : 是否创建标签(默认:false)
Returns: void
f_line_and_label_merge_func(t, data, l_text, kc, is_every, endp, merge_str_map, label_array, line_array, extend1, extend2, line_label_extend_length, label_merge_control, line_width, lines_style_select, label_text_size)
Parameters:
t (int)
data (float)
l_text (string)
kc (VWAP_key_levels_draw_settings)
is_every (bool)
endp (int)
merge_str_map (map)
label_array (array)
line_array (array)
extend1 (bool)
extend2 (bool)
line_label_extend_length (int)
label_merge_control (bool)
line_width (int)
lines_style_select (string)
label_text_size (string)
plot_ohlc(kc, ohlc_data, extend1, extend2, merge_str_map, label_array, line_array, is_every, line_label_extend_length, label_merge_control, line_width, lines_style_select, label_text_size)
Parameters:
kc (VWAP_key_levels_draw_settings)
ohlc_data (bardata)
extend1 (bool)
extend2 (bool)
merge_str_map (map)
label_array (array)
line_array (array)
is_every (bool)
line_label_extend_length (int)
label_merge_control (bool)
line_width (int)
lines_style_select (string)
label_text_size (string)
plot_vwap_keylevels(kc, vwap_data, extend1, extend2, merge_str_map, label_array, line_array, is_every, line_label_extend_length, label_merge_control, line_width, lines_style_select, label_text_size)
Parameters:
kc (VWAP_key_levels_draw_settings)
vwap_data (vwap_snapshot)
extend1 (bool)
extend2 (bool)
merge_str_map (map)
label_array (array)
line_array (array)
is_every (bool)
line_label_extend_length (int)
label_merge_control (bool)
line_width (int)
lines_style_select (string)
label_text_size (string)
plot_vwap_bardata(kc, ohlc_data, vwap_data, extend1, extend2, merge_str_map, label_array, line_array, is_every, line_label_extend_length, label_merge_control, line_width, lines_style_select, label_text_size)
Parameters:
kc (VWAP_key_levels_draw_settings)
ohlc_data (bardata)
vwap_data (vwap_snapshot)
extend1 (bool)
extend2 (bool)
merge_str_map (map)
label_array (array)
line_array (array)
is_every (bool)
line_label_extend_length (int)
label_merge_control (bool)
line_width (int)
lines_style_select (string)
label_text_size (string)
f_start_end_total_min(session)
Parameters:
session (string)
f_get_vwap_array(anchor1, data_manager, is_historical)
Parameters:
anchor1 (string)
data_manager (data_manager)
is_historical (bool)
f_get_bardata_array(anchorh, data_manager, is_historical)
Parameters:
anchorh (string)
data_manager (data_manager)
is_historical (bool)
vwap_snapshot
Fields:
t (series int)
vwap (series float)
upper1 (series float)
lower1 (series float)
upper2 (series float)
lower2 (series float)
upper3 (series float)
lower3 (series float)
VWAP_key_levels_draw_settings
Fields:
enable (series bool)
index (series int)
anchor (series string)
session (series string)
vwap_col (series color)
bands_col (series color)
bg_color (series color)
text_color (series color)
val (series bool)
poc (series bool)
vah (series bool)
enable2x (series bool)
enable3x (series bool)
o_control (series bool)
h_control (series bool)
l_control (series bool)
c_control (series bool)
extend_control (series bool)
only_show_the_lastone_control (series bool)
bg_control (series bool)
line_col_labeltext_col (series color)
bardata
Fields:
o (series float)
h (series float)
l (series float)
c (series float)
v (series float)
start_time (series int)
end_time (series int)
ma_setting
Fields:
day_control (series bool)
kline_numbers (series int)
ma_color (series color)
ema_color (series color)
rvwap_color (series color)
ma_control (series bool)
ema_control (series bool)
rvwap_control (series bool)
session (series string)
merge_label_template
Fields:
left_point (chart.point)
right_point (chart.point)
label_text (series string)
p (series float)
label_color (series color)
merge_init_false (series bool)
anchor_snapshots
Fields:
vwap_current (array)
vwap_historical (array)
bardata_current (array)
bardata_historical (array)
data_manager
Fields:
snapshots_map (map)
draw_settings_map (map)
Psychological Levels (Zones + Alerts) - StableThis technical indicator plot support and resistance levels based on the psychological numbers
RSI MTF 15m + 1h (Oriol)//@version=5
indicator("RSI MTF 15m + 1h (Oriol)", overlay = false, timeframe = "", timeframe_gaps = true)
// ─── PARÀMETRES ─────────────────────────────────────────────
rsiLength = input.int(14, "Període RSI")
src = input.source(close, "Font de preu")
tfFast = input.timeframe("15", "Timeframe ràpid (RSI 15m)")
tfSlow = input.timeframe("60", "Timeframe lent (RSI 1h)")
showSignals = input.bool(true, "Mostrar senyals LONG/SHORT")
// ─── RSI MULTITIMEFRAME ────────────────────────────────────
// RSI del timeframe ràpid (per defecte 15m)
src_fast = request.security(syminfo.tickerid, tfFast, src)
rsi_fast = ta.rsi(src_fast, rsiLength)
// RSI del timeframe lent (per defecte 1h)
src_slow = request.security(syminfo.tickerid, tfSlow, src)
rsi_slow = ta.rsi(src_slow, rsiLength)
// ─── DIBUIX RSI ─────────────────────────────────────────────
plot(rsi_fast, title = "RSI ràpid (15m)", color = color.new(color.aqua, 0), linewidth = 2)
plot(rsi_slow, title = "RSI lent (1h)", color = color.new(color.orange, 0), linewidth = 2)
hline(70, "Sobrecomprat", color = color.new(color.red, 70), linestyle = hline.style_dashed)
hline(30, "Sobrevenut", color = color.new(color.lime, 70), linestyle = hline.style_dashed)
hline(50, "Mitja", color = color.new(color.gray, 80))
// ─── CONDICIONS D’EXEMPLE ───────────────────────────────────
// LONG: RSI 1h < 40 i RSI 15m creua cap amunt 30
// SHORT: RSI 1h > 60 i RSI 15m creua cap avall 70
longCond = (rsi_slow < 40) and ta.crossover(rsi_fast, 30)
shortCond = (rsi_slow > 60) and ta.crossunder(rsi_fast, 70)
// ─── SENYALS (SENSE SCOPE LOCAL) ────────────────────────────
plotshape(showSignals and longCond,
title = "Possible LONG",
style = shape.triangleup,
location = location.bottom,
color = color.new(color.lime, 0),
size = size.small,
text = "LONG")
plotshape(showSignals and shortCond,
title = "Possible SHORT",
style = shape.triangledown,
location = location.top,
color = color.new(color.red, 0),
size = size.small,
text = "SHORT")
// ─── ALERTES ────────────────────────────────────────────────
alertcondition(longCond, title = "Senyals LONG RSI 15m+1h",
message = "Condició LONG RSI 15m + 1h complerta")
alertcondition(shortCond, title = "Senyals SHORT RSI 15m+1h",
message = "Condició SHORT RSI 15m + 1h complerta")






















