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.
جميع الاصدارات الماضية كانت بعد الفحص تصدر بعض الأخطاء البرمجية لذلك تم إصدار هذا الاصدار النهائي بنفس المميزات للإصدارات الماضية ولا يوجد بها أخطاء.
ملاحظة لكل من يتدوال خارج السوق السعودي والأمريكي : يمكن متابعة أي سوق له وقت بداية ونهاية جلسة تدوال وذلك عن طريق إختيار مخصص من قائمة الاعدادت ثم وضع وقت بداية ونهاية جلسة التدوال
Candlestick analysis
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
Mariam 5m Scalping Breakout StrategyPurpose
A 5-minute scalping breakout strategy designed to capture fast 3-5 pip moves with high probability, using premium/discount zone filters and market bias conditions. Developed for traders seeking consistent scalps with a proven win rate above 95–98% in optimal conditions.
How It Works
The script monitors price action in 5-minute intervals, forming a 15-minute high and low range by tracking the highs and lows of the first 3 consecutive 5-minute candles starting from a custom time. In the next 3 candles, it waits for a breakout above the 15m high or below the 15m low while confirming market bias using custom equilibrium zones.
Buy signals trigger when price breaks the 15m high while in a discount zone
Sell signals trigger when price breaks the 15m low while in a premium zone
The strategy simulates trades with fixed 3-5 pip take profit and stop loss values (configurable). All trades are recorded in a table with live trade results and an automatically updated win rate, typically achieving over 90–95% accuracy in favorable market conditions.
Features
Designed exclusively for the 5-minute timeframe
Custom 15-minute high/low breakout logic
Premium, Discount, and Equilibrium zone display
Built-in backtest tracker with live trade results, statistics, and win rate
Customizable start time, take profit, and stop loss settings
Real-time alerts on breakout signals
Visual markers for trade entries and failed trades
Consistent win rate exceeding 90–95% on average when following market conditions
Usage Tips
Use strictly on 5-minute charts for accurate signal performance. Avoid during high-impact news releases.
Important: Once a trade is opened, manually set your take profit at +3 to +5 pips immediately to secure the move, as these quick scalps often hit the target within a single candle. This prevents missed exits during rapid price action.
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.
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.
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.
Open Range Breakout (ORB) with Alerts
🚀 ChartsAlgo – Open Range Breakout (ORB) with Alerts
The Open Range Breakout (ORB) Indicator by ChartsAlg is designed for intraday traders looking to capitalize on price movements after the market’s opening range. This tool is especially effective for futures (MNQ, MES) and high-volatility stocks or crypto where initial volatility sets the tone for the session.
This indicator identifies a user-defined opening range window, plots the high/low lines of that range, and visually alerts users when price breaks out above or below the range — with options to customize breakout repetitions, background fill, and alerts.
💡 What is an Open Range Breakout (ORB)?
The opening range represents the high and low established during the first few minutes of the trading session — usually 15 or 30 minutes. Many intraday strategies are based on the idea that breaking out of this initial range often signals strong momentum and trend continuation.
Traders often enter:
Long when price breaks above the range high.
Short when price breaks below the range low.
⚙️ How It Works
You define a session window (e.g., 09:30–09:45 EST).
The indicator tracks the high and low during this time.
Once the session ends, the high and low become your range breakout levels.
The indicator then:
Plots lines for visual clarity
Optionally fills background between the range
Triggers breakout signals if price crosses the levels
Provides alerts when breakouts occur
🛠️ Settings Breakdown
🔹 Session Settings
Range Session: Set your preferred window (e.g., 0930–0945). Can be premarket, first 30 mins, or any custom time.
Time zone: Use "America/New York" for EST (default) or change to "GMT+0" for international traders.
🔹 Breakout Settings
Bullish Breakout Signals: Number of allowed breakout alerts above the range.
Bearish Breakout Signals: Number of allowed breakout alerts below the range.
This prevents repeated alerts once breakout has been confirmed.
🔹 Display Settings
Show Background Fill: Fills area between high/low of the range for easier visual analysis.
Show Breakout Signals: Triangle markers plotted on the chart when breakouts happen.
Only Show Today’s Range: Keeps the chart clean by showing only the most current day’s range.
🔹 Color Settings
Range High/Low Line Colors: Choose any color for clarity.
Range Fill Color: Customize the highlight area for your chart style.
📊 Chart Features
Range High/Low Lines: Automatically plotted after range session ends.
Visual Fill Box: Optional background shading between the opening range.
Triangle Breakout Markers: Appear at the breakout candle.
Alerts: Can be used with TradingView’s alert system to notify you of breakouts in real-time.
🔔 Alerts
Two alert conditions are built in:
Bullish Breakout: Triggers when price breaks above the high of the range.
Bearish Breakout: Triggers when price breaks below the low of the range.
Example Alert Message:
📈 “Bullish Breakout above Open Range on AAPL!”
To activate:
Click “🔔 Alerts” on TradingView.
Set condition to this script.
Choose “ORB Breakout Up” or “ORB Breakout Down”.
Choose alert frequency and notification method.
⚠️ DISCLAIMER
ChartsAlgo tools are for informational and educational purposes only.
They are not financial advice or signals. Past performance does not guarantee future results. Use at your own risk and always implement solid risk management.
By using this indicator, you agree that you are solely responsible for any trades or decisions made based on the information provided.
Pro Scalping Strategy [1Min | No Repaint | High Precision]Pro Scalping Strategy
Dual-Mode Precision Scalping System | EMA Trend + RSI + ATR | Non-Repainting
🔍 Overview
This indicator is a precision-engineered scalping tool optimized for lower timeframes (1–5 min), offering stable Buy/Sell signals without repainting.
Built on a robust trend-following framework, this system gives you the choice of two operating modes:
🔒 High Accuracy: Strict filters, fewer but stronger signals
⚡ More Signals: Looser filters, more frequent entries
🧠 How It Works
The logic is based on a multi-filter engine applied on closed candles only, ensuring non-repainting, clean, and confirmed entries.
⚙️ Technical Filters Used
1. EMA Trend Stack
Defines market trend using 3 EMAs (9, 21, 50)
Buy: EMA9 > EMA21 > EMA50
Sell: EMA9 < EMA21 < EMA50
2. EMA Crossover Filter
A confirmed crossover or crossunder is required from 2 candles back
Ensures trend momentum is validated before signal appears
3. EMA Slope Filter
Only accepts signals if mid EMA (EMA21) is sloping in trend direction
4. RSI Filter
Filters out signals when RSI is too extreme
RSI < overbought for Buy / RSI > oversold for Sell
5. ATR Filter
Confirms market has enough volatility
ATR must exceed a minimum threshold
✅ Modes Comparison
Feature High Accuracy Mode More Signals Mode
Min EMA Gap 0.1 0.05
Min ATR 0.2 0.1
RSI Range 30–70 25–75
Entry Frequency Lower Higher
Signal Quality Tighter + Stronger Looser + Flexible
🔔 Features
🔁 No repaint logic
⚙️ Adjustable settings with simple mode switch
⚡ Real-time alerts via alertcondition()
✅ Visual confirmation with BUY/SELL labels
💹 Suitable for scalping crypto, forex, gold, indices, and more
📌 Author: ALIP FX
“Success Elevated, Trade Smarter.”
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.
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.
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.
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.
📈 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.
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.
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.
Opening Candle Indicator V5Details of this release:
1. Add an alert with two conditions:
- Price breaks the highest candlestick opening and closing above it.
- Price breaks the VWAP indicator value.
2. Integrate the VWAP indicator and the 200 EMA with the main indicator.
3. Display buy and sell signals based on specific conditions related to the VWAP breakout.
4. Increase target lines to five.
5. Most importantly, I added custom windows in the settings to apply the indicator to other markets based on adding the opening and closing times for any market with a daily opening and closing time.
Important note: The second buy signal, which comes after a sell signal appears, is based on two conditions: a close above the high of the previous sell signal and a close above VWAP
Warning - Buy or sell signals are only warning signals and the user is responsible for evaluating and studying this signal.
------------------------------
Same features as version 4 with some bug fixes.
------------------------------
تفاصيل هذا الإصدار:
1-أضفت تنبيه يحتوي على شرطين
-إختراق السعر الأعلى لشمعة الإفتتاح والإغلاق فوقها.
-إختراق السعر لقيمة مؤشر vwap.
2-دمج مؤشر vwap والمتوسط الأسي 200 مع المؤشرالرئيسي
3- إظهار إشارات الشراء والبيع بشروط معينة مرتبطة بإختراق vwap
4-زيادة خطوط الأهداف إلى خمس.
5- وهي الأهم أضفت نوافذ مخصصة في الاعدادت لتطبيق المؤشر على الأسواق الأخرى بناء على إضافة وقت الإفتتاح والإغلاق لأي سوق له وقت إفتتاح ووقت إغلاق يومي.
ملاحظة مهمة:إشارة الشراء الثانية والتي تأتي بعد ظهور إشارة بيع وضعت بناء على شرطين وهما الاغلاق فوق الاعلى لإشارة البيع السابقة والاغلاق فوق مؤشر VWAP
تحذير-إشارات الشراء أو البيع ليست إلا إشارات تحذيرية والمستخدم هو المسئول عن تقييم ودراسة هذه الإشارة
-----------------------------------------------------------
نفس مميزات النسخة الرابعة مع إصلاح بعض الأخطاء
----------------------------------------------------------
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)
Williams Fractals with Buy/Sell Signals🧠 Concept:
This indicator is based on the concept of fractal swing highs and lows, commonly used in Bill Williams’ trading methods. A fractal forms when a candle’s high or low is higher/lower than a set number of candles on both sides. This structure helps identify local market turning points.
⚙️ Inputs:
Fractal Sensitivity (swingSensitivity):
Number of candles required on each side of the central bar to validate a fractal.
For example, if set to 2, a swing high is detected when a bar’s high is higher than the previous 2 bars and the next 2 bars.
✅ Features:
Fractal Detection:
Plots white triangles above swing highs (down fractals).
Plots white triangles below swing lows (up fractals).
Buy/Sell Signals:
Buy Signal: Triggered when the candle closes above the most recent down fractal.
Sell Signal: Triggered when the candle closes below the most recent up fractal.
Signals alternate — a Buy must follow a Sell and vice versa to reduce noise.
Signal Labels:
"BUY" label appears below the candle in green.
"SELL" label appears above the candle in red.
Alerts:
Real-time alerts are available for both Buy and Sell signals via alertcondition().
📌 Use Case:
This indicator can help you:
Detect short-term reversals.
Confirm breakouts or structure shifts.
Time entries with clear logic based on price action.
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.
Zero Lag Trend Signals (MTF) [AlgoAlpha]// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at mozilla.org
// © AlgoAlpha
//@version=5
indicator("Zero Lag Trend Signals (MTF) ", shorttitle="AlgoAlpha - 0️⃣Zero Lag Signals", overlay=true)
length = input.int(70, "Length", tooltip = "The Look-Back window for the Zero-Lag EMA calculations", group = "Main Calculations")
mult = input.float(1.2, "Band Multiplier", tooltip = "This value controls the thickness of the bands, a larger value makes the indicato less noisy", group = "Main Calculations")
t1 = input.timeframe("5", "Time frame 1", group = "Extra Timeframes")
t2 = input.timeframe("15", "Time frame 2", group = "Extra Timeframes")
t3 = input.timeframe("60", "Time frame 3", group = "Extra Timeframes")
t4 = input.timeframe("240", "Time frame 4", group = "Extra Timeframes")
t5 = input.timeframe("1D", "Time frame 5", group = "Extra Timeframes")
green = input.color(#00ffbb, "Bullish Color", group = "Appearance")
red = input.color(#ff1100, "Bearish Color", group = "Appearance")
src = close
lag = math.floor((length - 1) / 2)
zlema = ta.ema(src + (src - src ), length)
volatility = ta.highest(ta.atr(length), length*3) * mult
var trend = 0
if ta.crossover(close, zlema+volatility)
trend := 1
if ta.crossunder(close, zlema-volatility)
trend := -1
zlemaColor = trend == 1 ? color.new(green, 70) : color.new(red, 70)
m = plot(zlema, title="Zero Lag Basis", linewidth=2, color=zlemaColor)
upper = plot(trend == -1 ? zlema+volatility : na, style = plot.style_linebr, color = color.new(red, 90), title = "Upper Deviation Band")
lower = plot(trend == 1 ? zlema-volatility : na, style = plot.style_linebr, color = color.new(green, 90), title = "Lower Deviation Band")
fill(m, upper, (open + close) / 2, zlema+volatility, color.new(red, 90), color.new(red, 70))
fill(m, lower, (open + close) / 2, zlema-volatility, color.new(green, 90), color.new(green, 70))
plotshape(ta.crossunder(trend, 0) ? zlema+volatility : na, "Bearish Trend", shape.labeldown, location.absolute, red, text = "▼", textcolor = chart.fg_color, size = size.small)
plotshape(ta.crossover(trend, 0) ? zlema-volatility : na, "Bullish Trend", shape.labelup, location.absolute, green, text = "▲", textcolor = chart.fg_color, size = size.small)
plotchar(ta.crossover(close, zlema) and trend == 1 and trend == 1 ? zlema-volatility*1.5 : na, "Bullish Entry", "▲", location.absolute, green, size = size.tiny)
plotchar(ta.crossunder(close, zlema) and trend == -1 and trend == -1 ? zlema+volatility*1.5 : na, "Bearish Entry", "▼", location.absolute, red, size = size.tiny)
s1 = request.security(syminfo.tickerid, t1, trend)
s2 = request.security(syminfo.tickerid, t2, trend)
s3 = request.security(syminfo.tickerid, t3, trend)
s4 = request.security(syminfo.tickerid, t4, trend)
s5 = request.security(syminfo.tickerid, t5, trend)
s1a = s1 == 1 ? "Bullish" : "Bearish"
s2a = s2 == 1 ? "Bullish" : "Bearish"
s3a = s3 == 1 ? "Bullish" : "Bearish"
s4a = s4 == 1 ? "Bullish" : "Bearish"
s5a = s5 == 1 ? "Bullish" : "Bearish"
if barstate.islast
var data_table = table.new(position=position.top_right, columns=2, rows=6, bgcolor=chart.bg_color, border_width=1, border_color=chart.fg_color, frame_color=chart.fg_color, frame_width=1)
table.cell(data_table, text_halign=text.align_center, column=0, row=0, text="Time Frame", text_color=chart.fg_color)
table.cell(data_table, text_halign=text.align_center, column=1, row=0, text="Signal", text_color=chart.fg_color)
table.cell(data_table, text_halign=text.align_center, column=0, row=1, text=t1, text_color=chart.fg_color)
table.cell(data_table, text_halign=text.align_center, column=1, row=1, text=s1a, text_color=chart.fg_color, bgcolor=s1a == "Bullish" ? color.new(green, 70) : color.new(red, 70))
table.cell(data_table, text_halign=text.align_center, column=0, row=2, text=t2, text_color=chart.fg_color)
table.cell(data_table, text_halign=text.align_center, column=1, row=2, text=s2a, text_color=chart.fg_color, bgcolor=s2a == "Bullish" ? color.new(green, 70) : color.new(red, 70))
table.cell(data_table, text_halign=text.align_center, column=0, row=3, text=t3, text_color=chart.fg_color)
table.cell(data_table, text_halign=text.align_center, column=1, row=3, text=s3a, text_color=chart.fg_color, bgcolor=s3a == "Bullish" ? color.new(green, 70) : color.new(red, 70))
table.cell(data_table, text_halign=text.align_center, column=0, row=4, text=t4, text_color=chart.fg_color)
table.cell(data_table, text_halign=text.align_center, column=1, row=4, text=s4a, text_color=chart.fg_color, bgcolor=s4a == "Bullish" ? color.new(green, 70) : color.new(red, 70))
table.cell(data_table, text_halign=text.align_center, column=0, row=5, text=t5, text_color=chart.fg_color)
table.cell(data_table, text_halign=text.align_center, column=1, row=5, text=s5a, text_color=chart.fg_color, bgcolor=s5a == "Bullish" ? color.new(green, 70) : color.new(red, 70))
/////////////////////////////////////////ALERTS FOR SMALL ARROWS (ENTRY SIGNALS)
alertcondition(ta.crossover(close, zlema) and trend == 1 and trend == 1, "Bullish Entry Signal",
message="Bullish Entry Signal detected. Consider entering a long position.")
alertcondition(ta.crossunder(close, zlema) and trend == -1 and trend == -1, "Bearish Entry Signal",
message="Bearish Entry Signal detected. Consider entering a short position.")
/////////////////////////////////////////ALERTS FOR TREND CONDITIONS
alertcondition(ta.crossover(trend, 0), "Bullish Trend")
alertcondition(ta.crossunder(trend, 0), "Bearish Trend")
alertcondition(ta.cross(trend, 0), "(Bullish or Bearish) Trend")
alertcondition(ta.crossover(s1, 0), "Bullish Trend Time Frame 1")
alertcondition(ta.crossunder(s1, 0), "Bearish Trend Time Frame 1")
alertcondition(ta.cross(s1, 0), "(Bullish or Bearish) Trend Time Frame 1")
alertcondition(ta.crossover(s2, 0), "Bullish Trend Time Frame 2")
alertcondition(ta.crossunder(s2, 0), "Bearish Trend Time Frame 2")
alertcondition(ta.cross(s2, 0), "(Bullish or Bearish) Trend Time Frame 2")
alertcondition(ta.crossover(s3, 0), "Bullish Trend Time Frame 3")
alertcondition(ta.crossunder(s3, 0), "Bearish Trend Time Frame 3")
alertcondition(ta.cross(s3, 0), "(Bullish or Bearish) Trend Time Frame 3")
alertcondition(ta.crossover(s4, 0), "Bullish Trend Time Frame 4")
alertcondition(ta.crossunder(s4, 0), "Bearish Trend Time Frame 4")
alertcondition(ta.cross(s4, 0), "(Bullish or Bearish) Trend Time Frame 4")
alertcondition(ta.crossover(s5, 0), "Bullish Trend Time Frame 5")
alertcondition(ta.crossunder(s5, 0), "Bearish Trend Time Frame 5")
alertcondition(ta.cross(s5, 0), "(Bullish or Bearish) Trend Time Frame 5")
alertcondition(ta.crossover(close, zlema) and trend == 1 and trend == 1, "Bullish Entry")
alertcondition(ta.crossunder(close, zlema) and trend == -1 and trend == -1, "Bearish Entry")
bullishAgreement = s1 == 1 and s2 == 1 and s3 == 1 and s4 == 1 and s5 == 1
bearishAgreement = s1 == -1 and s2 == -1 and s3 == -1 and s4 == -1 and s5 == -1
alertcondition(bullishAgreement, "Full Bullish Agreement", message="All timeframes agree on bullish trend.")
alertcondition(bearishAgreement, "Full Bearish Agreement", message="All timeframes agree on bearish trend.")
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