RAHA Indicator📈 RAHA Indicator
Roni's Adjusted Hybrid Average
The indicator developed by Aaron Roni Pesach combines an innovative RAHA average - an adjusted hybrid average with smart trend analysis, using additional oscillators in a sophisticated way.
LONG and SHORT signals are given only when:
✅ Technical conditions confirm
✅ And the long-term trend is consistent
RAHA Indicator helps traders identify entry points while filtering out noise and market anomalies.
📈 RAHA Indicator
Roni's Adjusted Hybrid Average
האינדיקטור שפותח על ידי אהרון רוני פסח משלב ממוצע חדשני מסוג RAHA - ממוצע היברידי מתואם עם ניתוח מגמה חכם, באמצעות שימוש במתנדים נוספים באופן מתוחכם.
איתותי LONG ו‑SHORT ניתנים רק כאשר:
✅ התנאים הטכניים מאשרים
✅ והמגמה בטווח ארוך תואמת
RAHA Indicator מסייע לסוחרים לזהות נקודות כניסה תוך סינון רעשים וחריגות שוק.
Göstergeler ve stratejiler
Smoothed CMF-ROC Trend (Auto TF Adjust)This Trend is adjusted for multi time frame. It measure CMF and its rate of change. Changes colors if crosses the zero line
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
تحذير-إشارات الشراء أو البيع ليست إلا إشارات تحذيرية والمستخدم هو المسئول عن تقييم ودراسة هذه الإشارة
-----------------------------------------------------------
نفس مميزات النسخة الرابعة مع إصلاح بعض الأخطاء
----------------------------------------------------------
RFM Strategy - High QualityI trade high-probability resistance fades using a systematic 4-pillar approach that has delivered a proven 60%+ win rate with 2.5+ profit factor."
📊 Core Strategy Elements:
1. VRF Resistance Identification:
Multiple resistance level confluence (minimum 2 levels)
Dynamic resistance zones using 20-period high/low ranges
Only trade when price approaches clustered resistance
2. Volume Weakness Confirmation:
Volume ROC must be ≤ -30% (weak buying pressure)
Identifies exhaustion rallies with poor participation
Confirms institutional selling vs retail buying
3. Momentum Divergence:
SMI ≥ 60 (extreme overbought) OR 25-point momentum collapse
Multi-timeframe confirmation for higher reliability
Catches momentum exhaustion at key levels
4. Price Rejection Patterns:
Long upper wicks (2x body size) at resistance
Doji formations showing indecision
Failed breakout patterns with immediate rejection
⚡ Execution:
Entry: Only when ALL 4 conditions align simultaneously
Risk Management: 6-point stops, 12-point targets (2:1 R/R minimum)
Timeframe: 5-minute charts for precise entries
Selectivity: Quality over quantity - average 5 trades per period
🏆 Performance:
60% win rate (matches manual trading performance)
2.59 Profit Factor (highly profitable)
Systematic approach eliminates emotional decisions
"This strategy automates the discretionary resistance fade setups that institutional traders use, with strict filters ensuring only the highest-probability opportunities."
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.
SDR Dashboard: 结构距离与节奏How to trade with this "SDR Dashboard"
This indicator is not a mindless "arrow trading system", but a powerful filter and decision-making aid. Please strictly follow the following process:
Step 1: Look at the background color (set the rhythm)
Is the chart background blue? If so, your brain should switch to "only look for buying opportunities" mode. Ignore all red arrow signals.
Is the chart background red? If so, switch to "only look for selling opportunities" mode. Ignore all green arrow signals.
Is the background gray? Stay on the sidelines, or only trade in small positions.
Step 2: Wait for the oscillator to enter the area (measure the distance)
Under the blue background, patiently wait for the "Structural Distance Oscillator" main line to enter the green "support zone" below (below -80). This tells you that the price has fallen back to a favorable position in the structure.
Under the red background, wait for the main line to enter the red "resistance zone" above (above +80).
Step 3: Wait for the arrow to appear (find resonance)
This is the most critical step. When the oscillator main line has entered the favorable area, do not act immediately.
Wait patiently for a clear green (▲) or red (▼) arrow signal to appear. This arrow represents the final confirmation of "momentum" and is the resonance point of "time, place, and people".
Step 4: Confirm with the main chart (execute the transaction)
When the SDR dashboard sends a signal, return to your main chart for final confirmation.
Does this signal appear in the strong support/resistance area you marked with VPVR?
Use the **"Long and Short Positions" tool to measure whether the profit and loss ratio of this transaction is still cost-effective?
If everything is perfect, this is a high-probability transaction that is highly consistent with your trading system. Execute it and set the stop loss and take profit according to your trading plan.
This indicator condenses all our discussions - macro rhythm, structural distance, momentum confirmation - into a simple and powerful visual language. It can greatly help you filter out low-quality trading opportunities and force you to be patient and only take action when the chance of winning is the highest.
Z-Score + Momentum Strategy (Filtered)✅ What the script does:
Calculates the Z-Score of price with EMA smoothing.
Calculates Momentum as the difference between the current price and the price n bars ago.
Generates signals:
Buy: When the Z-Score is rising and relatively positive, and momentum is increasing.
Sell: When the Z-Score is falling, and momentum is decreasing.
Plots BUY and SELL labels on the candles.
Provides alerts that can be activated from the TradingView settings.
Displays Z-Score and Momentum in the lower pane of the chart.
🎯 How to use the script:
Copy the code into the Pine Editor on TradingView.
Click "Add to Chart".
Enable alerts using the alertcondition settings.
You can modify the following parameters:
Z-Score period: length
Momentum lookback period: momentumLength
Z-Score entry threshold: threshold
MA Crossover with Asterisk on MA (Fixed)MA 10x20 khi nào tin hiệu cắt nhau xuất hiện màu xanh thì Buy, xuất hiện mày đỏ thì Sell
WCWebhookLibraryLibrary "WCWebhookLibrary"
The webhook message library provides several functions for building JSON payloads
method buildWebhookJson(msg, constants)
Builds the final JSON payload from a webhookMessage type.
Namespace types: webhookMessage
Parameters:
msg (webhookMessage) : (webhookMessage) A prepared webhookMessage.
constants (CONSTANTS)
Returns: A JSON Payload.
method buildTakeProfitJson(msg)
Builds the takeProfit JSON message to be used in a webhook message.
Namespace types: takeProfitMessage
Parameters:
msg (takeProfitMessage) : (takeProfitMessage)
Returns: A JSON takeProfit payload.
method buildStopLossJson(msg, constants)
Builds the stopLoss JSON message to be used in a webhook message.
Namespace types: stopLossMessage
Parameters:
msg (stopLossMessage) : (stopLossMessage)
constants (CONSTANTS)
Returns: A JSON stopLoss payload.
CONSTANTS
Constants for payload values.
Fields:
ACTION_BUY (series string)
ACTION_SELL (series string)
ACTION_EXIT (series string)
ACTION_CANCEL (series string)
ACTION_ADD (series string)
SENTIMENT_BULLISH (series string)
SENTIMENT_BEARISH (series string)
SENTIMENT_LONG (series string)
SENTIMENT_SHORT (series string)
SENTIMENT_FLAT (series string)
STOP_LOSS_TYPE_STOP (series string)
STOP_LOSS_TYPE_STOP_LIMIT (series string)
STOP_LOSS_TYPE_TRAILING_STOP (series string)
EXTENDED_HOURS (series bool)
webhookMessage
Final webhook message.
Fields:
ticker (series string)
action (series string)
sentiment (series string)
price (series float)
quantity (series int)
takeProfit (series string)
stopLoss (series string)
extended_hours (series bool)
takeProfitMessage
Take profit message.
Fields:
limitPrice (series float)
percent (series float)
amount (series float)
stopLossMessage
Stop loss message.
Fields:
type (series string)
percent (series float)
amount (series float)
stopPrice (series float)
limitPrice (series float)
trailPrice (series float)
trailPercent (series float)
Relative Strength IndexRelative Strength Index (mikolajan)
This is a modified built-in Relative Strength Index (RSI) indicator with two lines added to it to add an internal range.
Pivot Points Standard 4-Hour TimeFrame VersionPivot Points Standard Modified to Suit the 4H Time Frame.
Taken as the original source code of the Pivot Points Standard and Modified.
Samrat AlertThis indicator generates buy sell signal on different timeframe on all instruments based on price and sma combination
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.
RAHA - Roni's Adjusted Hybrid AverageRoni's Hybrid Moving Average Oscillator
Each value in the series is weighted inversely to its distance from the mean, meaning that outliers have less impact.
The indicator reduces distortions caused by extreme movements.
More suitable for cases such as volatile stocks.
מתנד הממוצע ההיברידי של רוני
כל ערך בסדרה מקבל משקל הפוך למרחקו מהממוצע כלומר חריגים משפיעים פחות.
האינדיקטור מצמצם עיוותים שנגרמים על ידי תנועות קיצוניות.
מתאים יותר למקרים כמו מניות תנודתיות.
Multi-Timeframe Horizontal LinesThis Pine Script indicator plots horizontal lines at the high and low prices of the most recent 1-hour and 15-minute candles. Users can customize the color and width of the lines for each timeframe. The lines are updated dynamically, with previous lines removed to keep the chart clean.
RSI OS/OB Background StripesThe "RSI OS/OB Background Stripes" indicator is a simple tool designed to help traders visualize overbought and oversold market conditions using the Relative Strength Index (RSI). It highlights these conditions by displaying colored background stripes directly on your chart, making it easy to spot potential trading opportunities.
How It Works:RSI Calculation: The indicator calculates the RSI, a popular momentum indicator that measures the speed and change of price movements, using a default period of 14 (customizable).
Overbought/Oversold Levels: It marks areas where the RSI is above a user-defined overbought level (default: 70) with red background stripes, and below an oversold level (default: 30) with green background stripes.
Visual Feedback: The colored stripes appear on the chart when the RSI enters overbought (red) or oversold (green) zones, helping you quickly identify market conditions.
Customization: You can adjust the RSI period, overbought/oversold levels, background colors, and transparency. You can also choose to show the RSI line in a separate panel or display RSI values on the chart for debugging.
Alerts: The indicator includes optional alerts that notify you when the RSI crosses into overbought or oversold territory.
Who It’s For: This indicator is perfect for beginner and intermediate traders who want a clear, visual way to track RSI-based overbought and oversold conditions without cluttering their charts.
Key Features:Easy-to-read background stripes for overbought (red) and oversold (green) conditions.
Fully customizable RSI settings, colors, and transparency.
Optional RSI plot and value display for deeper analysis.
Alerts to keep you informed of key RSI level crossings.
This indicator is a straightforward way to monitor market momentum and make informed trading decisions.
VARNI-LINE-CHART//@version=5
indicator("VARNI-LINE-CHART",shorttitle = "VARNI-LINE-CHART", overlay=false)
// Input for Index and Expiry Date
spot_ = input.string("BANKNIFTY", title = "Spot Symbol", options = , group = "Index")
tooltip_day = "Enter the day of the expiry. Add 0 in front if the day is a single digit. For example: 05 instead of 5"
tooltip_month = "Enter the month of the expiry. Add 0 in front if the month is a single digit. For example: 06 instead of 6"
tooltip_year = "Enter the year of the expiry. Use the last two digits of the year. For example: 24 instead of 2024"
_day = input.string("13", title = "Expiry Day", tooltip = tooltip_day, group="Expiry Date")
_month = input.string("02", title = "Expiry Month", tooltip = tooltip_month, group="Expiry Date")
_year = input.string("25", title = "Expiry Year", tooltip = tooltip_year, group="Expiry Date")
// Input for Strikes
tooltip_ = "You can select any Strike, and choose to include both strikes or just one"
strike_ce = input.int(23500, "Call Strike", tooltip = tooltip_,step = 50, group = "Select Strike")
strike_pe = input.int(23500, "Put Strike", tooltip = tooltip_,step = 50, group = "Select Strike")
var string spot = na
if spot_ == "SENSEX"
spot := "BSX"
else if spot_ == "BANKEX"
spot := "BKX"
else
spot := spot_
// Option to include both strikes
strike_choice = input.string("Combined", title = "Select Strike", options = , group = "Select Strike")
// Generate symbols for Call and Put options
var string symbol_CE = spot + _year + _month + _day + "C" + str.tostring(strike_ce)
var string symbol_PE = spot + _year + _month + _day + "P" + str.tostring(strike_pe)
// Request security data for both Call and Put options
= request.security(symbol_CE, timeframe.period, )
= request.security(symbol_PE, timeframe.period, )
call_volume = request.security( symbol_CE, timeframe.period , volume )
put_volume = request.security( symbol_PE, timeframe.period , volume )
var float combined_open = 0
var float combined_high = 0
var float combined_low = 0
var float combined_close = 0
var float combined_vol = 0
// Calculate combined premium based on strike choice
if strike_choice == "Combined"
combined_open := call_open + put_open
combined_close := call_close + put_close
combined_high := math.max(combined_open, combined_close)
combined_low := math.min(combined_open, combined_close)
combined_vol := call_volume + put_volume
else if strike_choice == "Only Call"
combined_open := call_open
combined_close := call_close
combined_high := call_high
combined_low := call_low
combined_vol := call_volume
else
combined_open := put_open
combined_close := put_close
combined_high := put_high
combined_low := put_low
combined_vol := put_volume
// Plot combined premium as a line chart
plot(combined_close, title = "Combined Premium", color = combined_close > combined_open ? color.green : color.red, linewidth = 2)
// Indicator selection
use_ema_crossover = input.bool(false, title = "Use EMA Crossover", group = "Indicators")
use_supertrend = input.bool(false, title = "Use Supertrend", group = "Indicators")
use_vwap = input.bool(true, title = "Use VWAP", group = "Indicators")
use_rsi = input.bool(false, title = "Use RSI", group = "Indicators")
use_sma = input.bool(false, title = "Use SMA", group = "Indicators")
pine_supertrend_value(factor, atrPeriod) =>
src = combined_close
atr = ta.atr(atrPeriod)
upperBand = src + factor * atr
lowerBand = src - factor * atr
prevLowerBand = nz(lowerBand )
prevUpperBand = nz(upperBand )
lowerBand := lowerBand > prevLowerBand or combined_close < prevLowerBand ? lowerBand : prevLowerBand
upperBand := upperBand < prevUpperBand or combined_close > prevUpperBand ? upperBand : prevUpperBand
int _direction = na
float superTrend = na
prevSuperTrend = superTrend
if na(atr )
_direction := 1
else if prevSuperTrend == prevUpperBand
_direction := combined_close > upperBand ? -1 : 1
else
_direction := combined_close < lowerBand ? 1 : -1
superTrend := _direction == -1 ? lowerBand : upperBand
superTrend
pine_supertrend_dir(factor, atrPeriod) =>
src = combined_close
atr = ta.atr(atrPeriod)
upperBand = src + factor * atr
lowerBand = src - factor * atr
prevLowerBand = nz(lowerBand )
prevUpperBand = nz(upperBand )
lowerBand := lowerBand > prevLowerBand or combined_close < prevLowerBand ? lowerBand : prevLowerBand
upperBand := upperBand < prevUpperBand or combined_close > prevUpperBand ? upperBand : prevUpperBand
int _direction = na
float superTrend = na
prevSuperTrend = superTrend
if na(atr )
_direction := 1
else if prevSuperTrend == prevUpperBand
_direction := combined_close > upperBand ? -1 : 1
else
_direction := combined_close < lowerBand ? 1 : -1
superTrend := _direction == -1 ? lowerBand : upperBand
_direction
// Input for EMA lengths
fastLength = input.int(7, 'Fast EMA Length', group = "EMA")
slowLength = input.int(12, 'Slow EMA Length', group = "EMA")
// Input for SuperTrend
atrLength = input.int(7, 'ATR Length', group = "SuperTrend")
fac = input.float(2, 'Factor', group = "SuperTrend")
// Input for RSI
rsi_length = input.int(7, 'Length', group="RSI")
rsi_ob_level = input.int(80, 'Overbought', group="RSI")
rsi_os_level = input.int(20, 'Oversold', group="RSI")
// Input for SMA
sma_length = input.int(7, 'SMA Length', group = "SMA")
var float fast_ema = na
var float slow_ema = na
var float supertrend = na
var int direction = na
var float rsi_val = na
var float sma_val = na
var float sumPriceVolume = na
var float sumVolume = na
var float vwap = na
// Fast EMA
if use_ema_crossover
fast_ema := ta.ema(combined_close, fastLength)
slow_ema := ta.ema(combined_close, slowLength)
// Supertrend
if use_supertrend
supertrend := pine_supertrend_value( fac, atrLength)
direction := pine_supertrend_dir( fac, atrLength)
// VWAP
if use_vwap
if (dayofweek != dayofweek )
sumPriceVolume := 0.0
sumVolume := 0.0
vwap := 0.0
sumPriceVolume += combined_close * combined_vol
sumVolume += combined_vol
vwap := sumPriceVolume / sumVolume
// RSI
if use_rsi
rsi_val := ta.rsi(combined_close, rsi_length)
// SMA
if use_sma
sma_val := ta.sma(combined_close, sma_length)
plot(fast_ema, title='Fast EMA', color=color.blue, linewidth=2)
plot(slow_ema, title='Slow EMA', color=color.yellow, linewidth=2)
plot(direction < 0 ? supertrend : na, "Up direction", color = color.green, style=plot.style_linebr)
plot(direction > 0 ? supertrend : na, "Down direction", color = color.red, style=plot.style_linebr)
plot(vwap, title='VWAP', color=color.purple, linewidth=2)
plot(sma_val, title='SMA', color=color.maroon, linewidth=2)
// Define buy and sell conditions based on selected indicators
var bool buy = false
var bool sell = false
var int buyC = 0
var int sellC = 0
if dayofweek != dayofweek
buyC := 0
sellC := 0
if use_ema_crossover
buy := ( ta.crossover(fast_ema, slow_ema) ) and buyC == 0
sell := ( ta.crossunder(fast_ema, slow_ema) ) and sellC == 0
if use_vwap
buy := ( buy ? buy and (combined_close > vwap and combined_close <= vwap ) : (combined_close > vwap and combined_close <= vwap )) and buyC == 0
sell := ( sell ? sell and (combined_close < vwap and combined_close >= vwap ) : (combined_close < vwap and combined_close >= vwap )) and sellC == 0
if use_rsi
buy := ( buy ? buy and ta.crossover(rsi_val, rsi_ob_level) : ta.crossover(rsi_val, rsi_ob_level) ) and buyC == 0
sell := ( sell ? sell and ta.crossunder(rsi_val, rsi_os_level) : ta.crossunder(rsi_val, rsi_os_level) ) and sellC == 0
if use_sma
buy := ( buy ? buy and ta.crossover(combined_close, sma_val) : ta.crossover(combined_close, sma_val) ) and buyC == 0
sell := ( sell ? sell and ta.crossunder(combined_close, sma_val) : ta.crossunder(combined_close, sma_val) ) and sellC == 0
if use_supertrend
buy := ( buy ? direction == -1 : direction == -1 and direction == 1 ) and buyC == 0
sell := ( sell ? direction == 1 : direction == 1 and direction == -1 ) and sellC == 0
if buy
buyC := 1
sellC := 0
if sell
sellC := 1
buyC := 0
// Plot buy and sell signals
plotshape(buy, title = "Buy", text = 'Buy', style = shape.labeldown, location = location.top, color= color.green, textcolor = color.white, size = size.small)
plotshape(sell, title = "Sell", text = 'Sell', style = shape.labelup, location = location.bottom, color= color.red, textcolor = color.white, size = size.small)
// Alert conditions
alertcondition(buy, "Buy Alert", "Buy Signal")
alertcondition(sell, "Sell Alert", "Sell Signal")
Capitulation Candle Color✅ What It Does:
Candles turn bright green when the score ≥4 (i.e., multiple capitulation signals active).
Otherwise, candles keep their default coloring.
You can visually confirm extreme oversold conditions by seeing these green bars.
Moving averages and the lower Bollinger Band are displayed for context.
✅ How to Customize:
Adjust thresholds (e.g., make ATR threshold less strict).
Change the minimum score to trigger coloring (e.g., ≥3).
Use a different color (color.rgb(0,255,0) for neon green).
Z-scored ZLEMA | OquantZ-Scored ZLEMA | Oquant
This indicator combines the Zero-Lag Exponential Moving Average (ZLEMA) with Z-score normalization to present recent ZLEMA values relative to its mean. It helps users observe trend direction and momentum with reduced lag, while also highlighting potential overbought or oversold levels based on how far ZLEMA values deviate from their mean.
🧠 Concept Overview
📉 Zero Lag Exponential Moving Average (ZLEMA)
The EMA is a popular tool that calculates an average price, but unlike a simple moving average, it gives more weight to recent prices. This means the EMA reacts faster to new price changes and is less affected by older data. However, even with this weighting, the EMA still introduces some lag.
ZLEMA improves on the EMA by reducing this lag. It does this by adjusting how it accounts for previous prices, effectively "shifting" the data to better align the average with current market action. The result is an average that stays smooth but responds more quickly to real price changes—helping traders spot turning points or trend shifts earlier without being fooled by random noise.
📏 Z-score Normalization
Once ZLEMA is calculated, the indicator applies Z-score normalization to measure how far the current ZLEMA value is from its mean. The Z-score expresses this difference using standard deviations, providing a clear, standardized scale. This helps highlight when price moves are unusually strong—either upward or downward—beyond normal fluctuations.
🔍 How This Indicator Works
Smooth Price Data with ZLEMA
The indicator begins by applying the Zero-Lag Exponential Moving Average (ZLEMA) to the chosen price data. Unlike a regular moving average, ZLEMA reduces the typical delay by adjusting the input data before averaging. It does this by "shifting" the price series to remove the lag caused by older prices. This way, ZLEMA stays smooth but reacts more quickly to recent price changes—helping the indicator follow market moves faster without being too noisy.
Normalize ZLEMA values Using Z-score
Once ZLEMA is calculated, the indicator applies Z-score normalization to measure how far the current ZLEMA value is from its mean. The Z-score expresses this difference in terms of standard deviations, creating a clear, standardized scale. This helps highlight when price moves are unusually strong—either up or down—beyond normal fluctuations.
Set Signal Thresholds
Two threshold levels are set on the Z-score scale—crossing above the upper threshold is considered a long (buy) signal, indicating bullish momentum, while crossing below the lower threshold is considered a short (sell) signal, indicating bearish momentum.
Show Visual Signals on the Chart
The Z-score and bars are plotted with colors: green when Z-score is above the bullish threshold, purple when Z-score is below the bearish threshold.
⚙️ Customizable Inputs
Source: Choose the price source (close, open, etc.) for calculations.
ZLEMA Length: Adjust the ZLEMA length to control smoothness versus responsiveness.
Z-score period: Set the Z-score period to define how far back the indicator measures normal price behavior.
Thresholds: Adjust the upper and lower thresholds to control how sensitive the indicator is to strong momentum changes.
📈 Practical Use
This indicator helps identify trend directions and changes faster by combining ZLEMA with statistical analysis. It highlights when price moves are stronger than normal, making it easier to spot early signs of momentum shifts. Traders can use it to confirm trends or detect potential reversals with more timely signals.
🔔 Alert Support
This indicator includes optional built-in alert conditions that notify you when the Z-score crosses above the bullish threshold (long signal) or below the bearish threshold (short signal). You can enable these alerts to get timely updates on potential momentum shifts without constantly watching the chart.
⚠️ Disclaimer: This indicator is intended for educational and informational purposes only. Trading/investing involves risk, and past performance does not guarantee future results. Always test and evaluate indicators/strategies before applying them in live markets. Use at your own risk.
Steez's Timeframe TableSimple timeframe indicator which can assist with daily bias or draw on liquidity.
Shows all timeframes from 1 minute to 1 day.
Shows close time and if the candle is currently bearish or bullish.
SNIPERKILLS-IB-HIGH-LOW+Exp-Move[D/W/M]Script Feature Checklist (Updated):
Initial Balance (IB) Calculation
Tracks IB High and IB Low during a user-defined session (default 9:30–10:30)
Plots IB High (blue), IB Low (red), and IB Midpoint (orange)
Expected Movement (EM) Calculation Using VIX
Calculates expected price move range based on VIX volatility index and previous close
Plots EM upper (EM+) and lower (EM-) levels (purple lines)
Optional rounding of levels to nearest multiple (spread input)
Displays two deviation levels (% deviations from EM):
First deviation (default 68%, orange dashed lines)
Second deviation (default 90%, blue dashed lines)
Labels for EM levels and deviations on chart
Summary table with Period, EM, VIX, Previous Close
Measured Move Targets Based on IB Range
Defines 3 long targets above IB High (multiples 1x, 2x, 3x)
Defines 3 short targets below IB Low (multiples 1x, 2x, 3x)
Plots these targets in green (long) and red (short)
Liquidity Sweeps Detection
Detects when price breaks/sweeps below IB Low or above IB High (liquidity grab)
Plots triangle shapes on bars showing IB Low Sweep (red) or IB High Sweep (blue)
Market Structure Shift (MSS) Detection
Detects bearish MSS (higher high + close lower) above IB High
Detects bullish MSS (lower low + close higher) below IB Low
Marks MSS signals with crosses: orange (bearish), green (bullish)
Trade Entry Markers Based on MSS
Short entry trigger if bearish MSS confirmed and close below previous low
Long entry trigger if bullish MSS confirmed and close above previous high
Plots labeled arrows: "AMD SHORT" (black label down), "AMD LONG" (lime label up)
Fair Value Gap (FVG) Detection
Detects potential Fair Value Gaps up and down
Plots small squares: green below bars (FVG Up), red above bars (FVG Down)
Simple Risk/Reward Levels
Defines take profit (TP) and stop loss (SL) levels for short and long entries based on fixed pip multiples
Plots TP and SL with colored circles on the chart
Alerts for Key Events
Alerts for IB Low Sweep and IB High Sweep
Alerts for MSS Bearish and MSS Bullish
Alerts for Short and Long entries
Order Block (OB) / CISD Candle Highlight
Detects large bearish displacement candle following bullish candle (CISD)
Highlights the previous candle (order block candle) in purple
Allows traders to anticipate potential reversals by visually identifying these order blocks