No Supply / No Demand Candle with AlertsScript triggers alerts based on specific candle behavior that matches the No Supply (NS) or No Demand (ND) logic, which combines price action, volume, and candle body size.
Candlestick analysis
Monday's Range by Fortis80This TradingView indicator displays the Monday’s high and low range clearly across all timeframes, making it easy for traders to identify weekly key levels.
Exclusive for Fortis80 Members.
4H Crypto System – EMAs + MACD//@version=5
indicator("4H Crypto System – EMAs + MACD", overlay=true)
// EMAs
ema21 = ta.ema(close, 21)
ema50 = ta.ema(close, 50)
ema200 = ta.ema(close, 200)
// MACD Settings (standard)
fastLength = 12
slowLength = 26
signalLength = 9
= ta.macd(close, fastLength, slowLength, signalLength)
// Plot EMAs
plot(ema21, title="EMA 21", color=color.orange, linewidth=1)
plot(ema50, title="EMA 50", color=color.blue, linewidth=1)
plot(ema200, title="EMA 200", color=color.purple, linewidth=1)
// Candle coloring based on MACD trend
macdBull = macdLine > signalLine
barcolor(macdBull ? color.new(color.green, 0) : color.new(color.red, 0))
// Buy/Sell signal conditions
buySignal = ta.crossover(macdLine, signalLine) and close > ema21 and close > ema50 and close > ema200
sellSignal = ta.crossunder(macdLine, signalLine) and close < ema21 and close < ema50 and close < ema200
// Alerts
alertcondition(buySignal, title="Buy Alert", message="Buy Signal: MACD bullish crossover and price above EMAs")
alertcondition(sellSignal, title="Sell Alert", message="Sell Signal: MACD bearish crossover and price below EMAs")
Multi-TF S/R Lines by Pivots - 15min Chart//@version=5
indicator('Multi-TF S/R Lines by Pivots - 15min Chart', overlay=true, max_lines_count=32)
// تنظیمات کاربری
pivot_lookback = input.int(5, 'تعداد کندل دو طرف پیوت')
search_bars = input.int(200, 'تعداد کندل چکشونده در هر تایمفریم')
line_expire = input.int(40, 'حداکثر کندل بیتست تا پنهان کردن سطح')
h4_color = color.new(color.teal, 0)
h1_color = color.new(color.green, 0)
d1_color = color.new(color.blue, 0)
w1_color = color.new(color.red, 0)
plot_labels = input.bool(true, 'نمایش لیبل')
label_size = input.string('tiny', 'سایز لیبل', )
var float w1_pivothighs = array.new_float(0)
var float w1_pivotlows = array.new_float(0)
var float d1_pivothighs = array.new_float(0)
var float d1_pivotlows = array.new_float(0)
var float h4_pivothighs = array.new_float(0)
var float h4_pivotlows = array.new_float(0)
var float h1_pivothighs = array.new_float(0)
var float h1_pivotlows = array.new_float(0)
//----------------------
// تابع پیوتی (true اگر کندل مرکزی، پیوت سقف/کف باشد)
pivot(cF, length, dir) =>
// dir = 'high' یا 'low'
var bool isP = true
for i = 1 to length
if dir == 'high'
isP := isP and cF > cF and cF > cF
if dir == 'low'
isP := isP and cF < cF and cF < cF
isP
// جمعآوری پیوتها در تایمفریم انتخابی
get_pivots(tf, bars_limit, look, dir) =>
var float pivs = array.new_float(0)
pivs := array.new_float(0) // reset each call: همیشه آخرین ۲۰۰ کندل
h = request.security(tf, 'high', high)
l = request.security(tf, 'low', low)
arr = dir == 'high' ? h : l
// فقط کندلهای وسط برگردد (نه اول و آخر)
for i=look to (bars_limit - look)
if pivot(arr, look, dir)
array.unshift(pivs, arr )
pivs
// بروزرسانی آرایه پیوتها (آخرین سطوح)
if barstate.islastconfirmedhistory
w1_pivothighs := get_pivots('W', search_bars, pivot_lookback, 'high')
w1_pivotlows := get_pivots('W', search_bars, pivot_lookback, 'low')
d1_pivothighs := get_pivots('D', search_bars, pivot_lookback, 'high')
d1_pivotlows := get_pivots('D', search_bars, pivot_lookback, 'low')
h4_pivothighs := get_pivots('240', search_bars, pivot_lookback, 'high')
h4_pivotlows := get_pivots('240', search_bars, pivot_lookback, 'low')
h1_pivothighs := get_pivots('60', search_bars, pivot_lookback, 'high')
h1_pivotlows := get_pivots('60', search_bars, pivot_lookback, 'low')
//--------------
// تابع رسم سطح
draw_lines(pivArr, line_color, label_txt, expiry) =>
int count = math.min(array.size(pivArr), 8)
for i=0 to (count-1)
y = array.get(pivArr, i)
// بررسی در 40 کندل اخیر برخورد بوده یا نه؟
touched = false
for c=0 to (expiry-1)
touched := touched or (low <= y and high >= y)
if touched
l = line.new(bar_index-expiry, y, bar_index, y, color=line_color, width=2, extend=extend.right)
if plot_labels
label.new(bar_index, y, label_txt, color=line_color, style=label.style_label_right, textcolor=color.white, size=label_size)
// اگر طی پیشفرض expiry کندل برخورد نشده بود، خط و لیبل رسم نشود (مخفی شود)
// رسم همه خطوط
draw_lines(w1_pivothighs, w1_color, 'W1', line_expire)
draw_lines(w1_pivotlows, w1_color, 'W1', line_expire)
draw_lines(d1_pivothighs, d1_color, 'D1', line_expire)
draw_lines(d1_pivotlows, d1_color, 'D1', line_expire)
draw_lines(h4_pivothighs, h4_color, 'H4', line_expire)
draw_lines(h4_pivotlows, h4_color, 'H4', line_expire)
draw_lines(h1_pivothighs, h1_color, 'H1', line_expire)
draw_lines(h1_pivotlows, h1_color, 'H1', line_expire)
Clean Day Separator (Vertical Only)Clean Day Separator (Vertical Only) is a minimalist indicator for traders who value clarity and structure on their charts.
This tool draws:
✅ Vertical dashed lines at the start of each new day
✅ Optional day-of-week labels (Monday, Tuesday, etc.)
It’s designed specifically for clean chart lovers — no horizontal lines, no boxes, just what you need to mark time and keep your focus.
Perfect for:
Intraday traders who track market rhythm
Price action purists
Anyone who wants to reduce visual noise
Customizable settings:
Toggle day labels on/off
Choose line and text colors
Set label size to match your chart style
Hidden Bearish Divergence [1H]Detects Hidden Bearish Divergence on the 1-hour timeframe using RSI. This is the opposite of hidden bullish — it suggests bearish continuation in a downtrend. Price forms a Lower High. RSI forms a Higher High. Suggests bearish continuation (ideal in a downtrend).
Hidden Bullish Divergence [1H]Detects hidden bullish divergence on the 1-hour timeframe using RSI. It will plot a label when conditions are met. Watch for the green label under a candle — this indicates hidden bullish divergence.
RSI Overbought ScannerRSI Overbought Scanner
Description
The RSI Overbought Scanner is a Pine Script indicator designed to identify potential overbought conditions across multiple timeframes (1-minute, 5-minute, and 15-minute) using the Relative Strength Index (RSI). This tool is ideal for traders looking to spot stocks or assets that may be overextended to the upside, potentially signaling a reversal or pullback opportunity.
Key Features
Multi-Timeframe Analysis: Evaluates RSI on 1m, 5m, and 15m timeframes to confirm overbought conditions (RSI > 70).
Visual Output: Plots a binary result (1 for overbought, 0 otherwise) for easy integration with TradingView's screener.
Debugging Table: Displays a table in the top-right corner showing RSI values and overbought status for each timeframe, with color-coded indicators (red for overbought, green for not overbought).
Alert Integration: Includes an alert condition that triggers when all three timeframes are overbought, providing a customizable message with the ticker symbol.
How It Works
RSI Calculation: Computes RSI with a default length of 14 for the 1m timeframe and retrieves RSI values for 5m and 15m timeframes using request.security.
Overbought Condition: Checks if RSI exceeds 70 on all three timeframes.
Output: Plots a value of 1 when all conditions are met, otherwise 0. A table updates on the last confirmed bar to show RSI values and overbought status.
Alerts: Triggers an alert when all timeframes are overbought, notifying users of potential trading opportunities.
Usage
Add the indicator to your chart and use it with TradingView's screener to filter assets meeting the overbought criteria.
Customize the RSI length or overbought level (default 70) in the indicator settings to suit your trading strategy.
Set up alerts to receive notifications when the overbought condition is met across all timeframes.
Notes
This script is written in Pine Script v6.
Best used in conjunction with other technical analysis tools to confirm signals.
The table is for debugging and visual confirmation, updating only on the last confirmed bar to avoid performance issues.
Breakout Retest Visualizer (with Confluence)Breakout Retest Visualizer (Smart Money Edition)
This indicator is designed for day traders who rely on price action, breakout structure, and smart confluence filters to identify high-quality trade opportunities during the New York session.
🚀 What It Does:
Plots Yesterday's High & Low as static reference levels.
Tracks the New York open price with a horizontal line.
Detects breakouts above Yesterday’s High or breakdowns below Yesterday’s Low.
Confirms valid breakouts only when 4 key confluences align:
✅ EMA 9 & EMA 21 trend alignment
✅ RSI momentum confirmation (RSI > 55 or < 45)
✅ Volume spike (volume > 20-bar average)
✅ Within New York session hours (9:30am – 4:00pm EST)
Marks Breakout Retests and highlights strong continuation signals with “Runner” labels.
📈 Visual Markers:
🟢 Green "Runner" = Bullish continuation after retest
🔻 Purple Triangle = Bullish breakout retest zone
🔴 Red "Runner" = Bearish continuation
🔺 Yellow Triangle = Bearish breakdown retest
🎯 Who It’s For:
Ideal for intraday scalpers and momentum traders who want:
Clean breakout structure
Smart money-style retests
High-confidence entries backed by volume, trend, and RSI confluence
🧠 Tips for Use:
Use the retest markers to plan precise entries after structure breaks.
Combine this with order blocks or FVG zones for deeper confluence.
Avoid trading during pre-market or low-volume hours.
MaxEvolved Japanese CloseShow the closing price of the Japanese candle. Usefull with Heiken Ashi.
Afficher le prix de fermeture de la chandelle japonaise. Utile pour Heiken Ashi.
Order Blocks v2Order Blocks v2 – Smart OB Detection with Time & FVG Filters
Order Blocks v2 is an advanced tool designed to identify potential institutional footprints in the market by dynamically plotting bullish and bearish order blocks.
This indicator refines classic OB logic by combining:
Fractal-based break conditions
Time-level filtering (Power of 3)
Optional Fair Value Gap (FVG) confirmation
Real-time plotting and auto-invalidation
Perfect for traders using ICT, Smart Money, or algorithmic timing models like Hopplipka.
🧠 What the indicator does
Detects order blocks after break of bullish/bearish fractals
Supports 3-bar or 5-bar fractal structures
Allows OB detection based on close breaks or high/low breaks
Optionally confirms OBs only if followed by a Fair Value Gap within N candles
Filters OBs based on specific time levels (3, 7, 11, 14) — core anchors in many algorithmic models
Automatically deletes invalidated OBs once price closes through the zone
⚙️ How it works
The indicator:
Tracks local fractal highs/lows
Once a fractal is broken by price, it backtracks to identify the best OB candle (highest bullish or lowest bearish)
Validates the level by checking:
OB type logic (close or HL break)
Time stamp match with algorithmic time anchors (e.g. 3, 7, 11, 14 – known from the Power of 3 concept)
Optional FVG confirmation after OB
Plots OB zones as lines (body or wick-based) and removes them if invalidated by a candle close
This ensures traders see only valid, active levels — removing noise from broken or out-of-context zones.
🔧 Customization
Choose 3-bar or 5-bar fractals
OB detection type: close break or HL break
Enable/disable OBs only on times 3, 7, 11, 14 (Hopplipka style)
Optional: require nearby FVG for validation
Line style: solid, dashed, or dotted
Adjust OB length, width, color, and use body or wick for OB height
🚀 How to use it
Add the script to your chart
Choose your preferred OB detection mode and filters
Use plotted OB zones to:
Anticipate price rejections and reversals
Validate Smart Money or ICT-based entry zones
Align setups with algorithmic time sequences (3, 7, 11, 14)
Filter out invalid OBs automatically, keeping your chart clean
The tool is useful on any timeframe but performs best when combined with a liquidity-based or time-anchored trading model.
💡 What makes it original
Combines fractal logic with OB confirmation and time anchors
Implements time-based filtering inspired by Hopplipka’s interpretation of the "Power of 3"
Allows OB validation via optional FVG follow-up — rarely available in public indicators
Auto-cleans invalidated OBs to reduce clutter
Designed to reflect market structure logic used by institutions and algorithms
💬 Why it’s worth using
Order Blocks v2 simplifies one of the most nuanced parts of SMC: identifying clean and high-probability OBs.
It removes subjectivity, adds clear timing logic, and integrates optional confluence tools — like FVG.
For traders serious about algorithmic-level structure and clean setups, this tool delivers both logic and clarity.
⚠️ Important
This indicator:
Is not a signal generator or financial advice tool
Is intended for experienced traders using OB/SMC/time-based logic
Does not predict market direction — it provides visual structural levels only
PH, PD High/LowWhen applied, this script draws the previous day's high and low lines. It also plots the open price of the current 1-hour and 4-hour candles. Additionally, it displays the high and low of the previous 1-hour and 4-hour candles. Please note that 4-hour lines are shown only on the 15-minute and 4-hour charts, while 1-hour lines are shown only on the 5-minute and 1-hour charts.
VegaAlgo – Rating ViewVegaAlgo – Rating View is a market condition analysis tool designed to evaluate the current price structure.
The indicator calculates a RATING (from 0 to 100) that reflects how clean, directional, and structured the recent price movement is. The rating is based on the number of price direction changes (from bullish to bearish candles and vice versa) within a selected period. Fewer direction changes indicate a clearer trend and result in a higher rating, while a choppy or highly volatile market leads to a lower score.
Additionally, the indicator provides directional signals on three key timeframes — 1M, 5M, and 15M, using a comparison of fast and slow moving averages. This allows traders to quickly assess the dominant trend both locally and across higher timeframes.
This script is intended for visual market analysis only and should not be considered financial advice.
📈 Linearity (ER 0–1) + ADRMAX % Table
This indicator combines two powerful concepts to help traders assess trend efficiency and intraday thrust strength:
🔹 1. Linearity (Kaufman Efficiency Ratio)
Measures how efficiently price has trended over a selected lookback period.
Values range from 0 to 1, where:
1.0 = perfectly trending market (no noise)
0.0 = completely choppy market (all noise)
Optional method: New High Persistence (fraction of bars in the period that hit a new high).
🔹 2. ADRMAX % (Average Daily Range Max as %)
Calculates the average of top % biggest green daily candles (measured as % range: (high - low) / low × 100) over a given lookback.
Projects this ADRMAX % above current lows as a thrust-level expectation.
Marks candles exceeding this dynamic threshold, helping identify unusual momentum.
📊 On-Chart Table Display
Real-time display of:
Linearity (0–1 scale)
ADRMAX %
Table is color-coded and position-customizable.
🛠️ Use Cases:
Trend-following filters: only act when ER > 0.75.
Thrust detection: breakout days with range > ADRMAX.
Adaptive entries: combine both for better timing.
Samrat AlertThis indicator generates buy sell signal on different timeframe on all instruments based on price and sma combination
Hourly Markers 09:00 - 20:00 Adjusted for UTC+2A line for every hour from 0900 to 2200
Description:
This TradingView Pine Script plots small red markers (downward arrows) at the top of the chart for every full hour between 09:00 AM and 08:00 PM (20:00) based on UTC+2 time. The markers appear precisely at the opening minute of each hour within the defined range, helping traders visually track key time intervals during the day.
Features:
✔ Displays markers from 09:00 to 20:00 local time (UTC+2 adjustment)
✔ Only plots markers at the first minute of each hour
✔ Uses clear, unobtrusive triangle-down symbols above the bars
✔ Works on any chart timeframe that captures hourly intervals
Use Case:
Ideal for traders who want a quick visual reference of hourly intervals during the main trading hours, especially when working with charts set to UTC or different time zones.
Enhanced Smoothed Heiken Ashi CandlesSmooth Heikin Ashi is a modified version of the traditional Heikin Ashi candlestick charting technique that applies additional smoothing to reduce noise and provide clearer trend signals.
Traditional Heikin Ashi Basics
Heikin Ashi (Japanese for "average bar") transforms regular candlesticks using these formulas:
Close = (Open + High + Low + Close) / 4
Open = (Previous HA Open + Previous HA Close) / 2
High = Maximum of (High, HA Open, HA Close)
Low = Minimum of (Low, HA Open, HA Close)
Smooth Heikin Ashi Enhancement
The smooth version applies moving averages to the Heikin Ashi values, typically using:
Simple Moving Average (SMA)
Exponential Moving Average (EMA)
Weighted Moving Average (WMA)
Common smoothing periods range from 5 to 21, with 14 being popular.
Key Benefits
Noise Reduction: Further filters out market noise compared to standard Heikin Ashi, making trends more apparent.
Clearer Signals: Produces smoother transitions between bullish and bearish phases, reducing false signals.
Trend Identification: Makes it easier to identify the dominant trend direction and potential reversals.
Trading Applications
Trend Following: Green/white candles indicate uptrends, red/black indicate downtrends
Entry/Exit Points: Color changes can signal potential trade entries or exits
Support/Resistance: Smoother price action helps identify key levels
Multiple Timeframe Analysis: Works well across different timeframes
The main tradeoff is that increased smoothing creates more lag, so signals may come later than with traditional Heikin Ashi or regular candlesticks.
Highlight Highest Volume CandleHow it works:
lookback: how many bars to look back for highest volume (default 50).
highestVol: the maximum volume in that range.
isHighestVol: true if the current candle’s volume equals that maximum.
plotcandle: draws the candle in bright yellow.
plotshape: adds a small triangle below the bar for extra visibility.
EMA Crossover with DiamondsGreen diamond when 20 exponential moving average crosses over 50 exponential moving average, and shows a red diamond when 50 moving average crosses over 20 exponential moving average
Opening Candle Indicator FinalAll previous versions were subject to bugs after review, so this final version has been released with the same features as previous versions and is error-free.
Note for those trading outside the Saudi and US markets: You can track any market with a specific trading session start and end time by selecting "Custom" from the settings menu and then setting the start and end times for the trading session.
جميع الاصدارات الماضية كانت بعد الفحص تصدر بعض الأخطاء البرمجية لذلك تم إصدار هذا الاصدار النهائي بنفس المميزات للإصدارات الماضية ولا يوجد بها أخطاء.
ملاحظة لكل من يتدوال خارج السوق السعودي والأمريكي : يمكن متابعة أي سوق له وقت بداية ونهاية جلسة تدوال وذلك عن طريق إختيار مخصص من قائمة الاعدادت ثم وضع وقت بداية ونهاية جلسة التدوال
reversalthis is a simple ema indicator. i specifically set my fast ema to 4 and my slow ema to 13. i only turn on signals after 9;30 am and wait for the ema cross signal to fire once a swing point has been sweeped. i follow the daily. If the daily high has been sweep the previous day and or closed then we are taking highs therefor bullish bias. vice versa for sells. if bullish then only take bullish 4/13 ema cross.THIS CROSS IS MY SIGNAL THAT THERE IS A POTENTIAL CHANGE OF ORDERFLOW, YOU MUST VERIFY THAT THERE IS INDEED A BREAKER BLOCK BEFORE ENTERING. i dont actually just follow a simple ema cross. it means something.