Banknifty By PaisaPaniThis indicator displays a DEMO performance snapshot
to show how the PaisaPani approach behaves on BankNifty.
It is a trading system.
• Separate indicator designed specifically for BankNifty
• Intended for the mentioned timeframe only
• Focused on execution clarity, not predictions
🔒 Full access is limited.
⚠ Disclaimer:
For educational and demonstration purposes only.
Indicadores e estratégias
Live Price Near Candlesticks + HighlighterIf someone wants to see live price near candlesticks you can have this indicator
It will be useful in your technical analysis if you pair this with traditional ZigZag indicator
if you are a price action trader who constantly tracks highs and lows
Volatility Expansion Indicator - D_QuantVolatility Expansion Indicator - D_Quant |V|C|E|
1. Concept & Overview
The Volatility Expansion Indicator (VCE) is a composite quantitative tool designed to identify robust trend states by aggregating signals from three distinct market dimensions: Relative Position (Volatility), Cyclical Momentum, and Price Velocity.
Unlike single-source indicators which often generate false positives during choppy markets, the VCE utilizes a "Consensus Engine." It normalizes signals from Bollinger %B, CCI, and ROC into a unified trend score (-1 to +1). This score drives the visual coloring of the price action and background, allowing traders to instantly gauge whether the market is in a state of volatility expansion (trending) or contraction (ranging).
2. Methodology & Calculation
The core logic relies on a weighted aggregation of three technical components. Users can toggle these components on or off in the settings to isolate specific market mechanics.
A. Component 1: Bollinger %B (Relative Positioning)
Logic: Measures where the price is located relative to the Bollinger Bands.
Bullish Condition: If %B > 0.5 (Price is operating in the upper hemisphere of the bands).
Bearish Condition: If %B < 0.0 (Price has broken below the lower band).
Purpose: Filters out weak trends by ensuring price is statistically significant relative to its recent volatility.
B. Component 2: CCI (Commodity Channel Index)
Logic: Measures current price levels relative to an average price level over a specific period.
Thresholds: A standard +100 / -100 threshold is used. Values above 100 add to the bullish score; values below -100 add to the bearish score.
Purpose: Identifies cyclical momentum extremes.
f_cci(_len) =>
cci_val = ta.cci(close, _len)
val = 0
if cci_val > 100
val := 1
if cci_val < -100
val := -1
val
C. Component 3: ROC (Rate of Change)
Logic: Calculates the percentage change between the current price and the price n periods ago.
Thresholds: Simple zero-line crossover. Positive ROC implies bullish velocity; negative implies bearish.
Purpose: Provides a raw directional bias based on pure price speed.
D. The Aggregation Engine: The script sums the active signals and divides by the number of active components.
Bullish Trend: Composite Score > 0 (Visualized as Deep Navy).
Bearish/Neutral: Composite Score ≤ 0 (Visualized as White).
E. Multi-Timeframe (MTF) Capability: The indicator includes a request.security module. This allows you to calculate the consensus trend on a higher timeframe (e.g., Daily) while viewing price action on a lower timeframe (e.g., 15-minute), ensuring you are trading in alignment with the macro trend.
// NEW: Timeframe Selection
tf_input = input.timeframe("", "VCE Timeframe", group=grp_sets, tooltip="Empty = Current Chart. Set to 'D' for fixed Daily trend.")
= request.security(syminfo.tickerid, tf_input, , lookahead=barmerge.lookahead_on)
3. Visualizations
The indicator overlays the following elements on the chart:
Trend SMMA: A central Smoothed Moving Average (SMMA 20) representing the mean.
Volatility Bands: Upper and Lower bands calculated at 2 Standard Deviations from the SMMA.
Bar Coloring:
Navy Blue: Indicates a confirmed Volatility Expansion (Bullish Confluence).
White: Indicates Neutrality, Retracement, or Bearish conditions.
Dynamic Fills: The space between the bands fills with color to highlight the strength of the current regime.
4. How to Use
Trend Following: Look for the bar color to switch to Navy. This indicates that momentum, volatility, and velocity have aligned bullishly. This is often an entry trigger for long positions.
Exits: When the bars switch from Navy back to White/Gray, the volatility expansion has ceased or momentum is diverging. This serves as a warning to tighten stops or take profits.
MTF Filter: Set the "VCE Timeframe" input to "D" (Daily). Trade on the H1 chart. Only take long positions when the Daily VCE paints the background/bands in the Bullish color.
5. Settings
Bollinger %B: Adjust Length and Multiplier (Default: 20, 2.0).
CCI: Adjust Length (Default: 23).
ROC: Adjust Length (Default: 50).
Signal Components: Toggle specific logic blocks on/off to customize the sensitivity of the composite score.
VCE Timeframe: Select the resolution for the calculation (Leave empty for current chart).
Disclaimer: This tool is for informational purposes only. Past performance of volatility expansion does not guarantee future results. Always manage risk appropriately.
Liquidity Grab ScannerMarks last week and last 3 days highs and lows.
Can be used for liquidity grabs above or below those levels, I use for it.
Claude AI coded it.
Weekly Tightness Near EMA//@version=6
indicator("Weekly Tightness Near EMA", overlay=true)
// ===========================
// INPUT PARAMETERS
// ===========================
tightness_pct = input.float(3.0, "Tightness % Range", minval=0.1, maxval=10.0)
ema_proximity_pct = input.float(5.0, "EMA Proximity %", minval=0.5, maxval=15.0)
small_candle_pct = input.float(5.0, "Small Candle % (body)", minval=0.5, maxval=10.0)
show_ema10 = input.bool(true, "Show 10 Week EMA")
show_ema20 = input.bool(true, "Show 20 Week EMA")
show_signals = input.bool(true, "Show Tightness Signals")
// ===========================
// GET WEEKLY DATA
// ===========================
weekly_close = request.security(syminfo.tickerid, "W", close, barmerge.gaps_off, barmerge.lookahead_off)
weekly_open = request.security(syminfo.tickerid, "W", open, barmerge.gaps_off, barmerge.lookahead_off)
weekly_high = request.security(syminfo.tickerid, "W", high, barmerge.gaps_off, barmerge.lookahead_off)
weekly_low = request.security(syminfo.tickerid, "W", low, barmerge.gaps_off, barmerge.lookahead_off)
weekly_close_1 = request.security(syminfo.tickerid, "W", close , barmerge.gaps_off, barmerge.lookahead_off)
weekly_open_1 = request.security(syminfo.tickerid, "W", open , barmerge.gaps_off, barmerge.lookahead_off)
weekly_high_1 = request.security(syminfo.tickerid, "W", high , barmerge.gaps_off, barmerge.lookahead_off)
weekly_low_1 = request.security(syminfo.tickerid, "W", low , barmerge.gaps_off, barmerge.lookahead_off)
weekly_close_2 = request.security(syminfo.tickerid, "W", close , barmerge.gaps_off, barmerge.lookahead_off)
weekly_open_2 = request.security(syminfo.tickerid, "W", open , barmerge.gaps_off, barmerge.lookahead_off)
weekly_high_2 = request.security(syminfo.tickerid, "W", high , barmerge.gaps_off, barmerge.lookahead_off)
weekly_low_2 = request.security(syminfo.tickerid, "W", low , barmerge.gaps_off, barmerge.lookahead_off)
// Weekly EMAs
weekly_ema10 = request.security(syminfo.tickerid, "W", ta.ema(close, 10), barmerge.gaps_off, barmerge.lookahead_off)
weekly_ema20 = request.security(syminfo.tickerid, "W", ta.ema(close, 20), barmerge.gaps_off, barmerge.lookahead_off)
// ===========================
// CALCULATE CANDLE SIZE
// ===========================
// Calculate body size (close - open) as percentage of price
candle_body_0 = math.abs(weekly_close - weekly_open)
candle_body_1 = math.abs(weekly_close_1 - weekly_open_1)
candle_body_2 = math.abs(weekly_close_2 - weekly_open_2)
candle_body_pct_0 = (candle_body_0 / weekly_close) * 100
candle_body_pct_1 = (candle_body_1 / weekly_close_1) * 100
candle_body_pct_2 = (candle_body_2 / weekly_close_2) * 100
// Calculate full range (high - low) as percentage
candle_range_0 = weekly_high - weekly_low
candle_range_1 = weekly_high_1 - weekly_low_1
candle_range_2 = weekly_high_2 - weekly_low_2
candle_range_pct_0 = (candle_range_0 / weekly_close) * 100
candle_range_pct_1 = (candle_range_1 / weekly_close_1) * 100
candle_range_pct_2 = (candle_range_2 / weekly_close_2) * 100
// Check if all 3 candles are small
small_candle_0 = candle_body_pct_0 <= small_candle_pct
small_candle_1 = candle_body_pct_1 <= small_candle_pct
small_candle_2 = candle_body_pct_2 <= small_candle_pct
all_candles_small = small_candle_0 and small_candle_1 and small_candle_2
// Average candle body size
avg_candle_body = (candle_body_pct_0 + candle_body_pct_1 + candle_body_pct_2) / 3
avg_candle_range = (candle_range_pct_0 + candle_range_pct_1 + candle_range_pct_2) / 3
// ===========================
// CALCULATE TIGHTNESS
// ===========================
// Find highest and lowest of last 3 weekly closes
highest_close = math.max(weekly_close, weekly_close_1, weekly_close_2)
lowest_close = math.min(weekly_close, weekly_close_1, weekly_close_2)
// Calculate range percentage
close_range_pct = ((highest_close - lowest_close) / lowest_close) * 100
// Check if within tightness range
is_tight = close_range_pct <= tightness_pct
// ===========================
// CHECK PROXIMITY TO EMAs
// ===========================
// Distance from EMAs
dist_from_ema10_pct = math.abs((weekly_close - weekly_ema10) / weekly_ema10) * 100
dist_from_ema20_pct = math.abs((weekly_close - weekly_ema20) / weekly_ema20) * 100
// Near EMA conditions
near_ema10 = dist_from_ema10_pct <= ema_proximity_pct
near_ema20 = dist_from_ema20_pct <= ema_proximity_pct
near_any_ema = near_ema10 or near_ema20
// ===========================
// COMBINED SIGNAL (with small candles filter)
// ===========================
tightness_signal = is_tight and near_any_ema and all_candles_small
// ===========================
// PLOT EMAs
// ===========================
plot(show_ema10 ? weekly_ema10 : na, "10 Week EMA", color=color.new(color.blue, 0), linewidth=2)
plot(show_ema20 ? weekly_ema20 : na, "20 Week EMA", color=color.new(color.orange, 0), linewidth=2)
// ===========================
// PLOT SIGNALS
// ===========================
// Background color when tight and near EMA
bgcolor(show_signals and tightness_signal ? color.new(color.green, 90) : na, title="Tightness Signal")
// Plot signal markers
plotshape(show_signals and tightness_signal and not tightness_signal ,
title="Tightness Start",
location=location.belowbar,
color=color.new(color.green, 0),
style=shape.triangleup,
size=size.small,
text="TIGHT")
// ===========================
// DISPLAY TABLE
// ===========================
var table info_table = table.new(position.top_right, 2, 9,
border_width=1,
border_color=color.gray,
frame_width=1,
frame_color=color.gray)
if barstate.islast
// Header
table.cell(info_table, 0, 0, "Weekly Analysis", bgcolor=color.new(color.gray, 70), text_color=color.white, text_size=size.normal)
table.cell(info_table, 1, 0, "Status", bgcolor=color.new(color.gray, 70), text_color=color.white, text_size=size.normal)
// Average candle body size
candle_color = all_candles_small ? color.new(color.green, 85) : color.new(color.red, 85)
table.cell(info_table, 0, 1, "Avg Candle Body", bgcolor=candle_color, text_color=color.white, text_halign=text.align_left)
table.cell(info_table, 1, 1, str.tostring(avg_candle_body, "#.##") + "%", bgcolor=candle_color, text_color=color.white)
// Small candle threshold
table.cell(info_table, 0, 2, "Small Candle <", bgcolor=color.new(color.gray, 90), text_color=color.white, text_halign=text.align_left)
table.cell(info_table, 1, 2, str.tostring(small_candle_pct, "#.#") + "%", bgcolor=color.new(color.gray, 90), text_color=color.white)
// 3 Week Close Tightness
tight_color = is_tight ? color.new(color.green, 85) : color.new(color.red, 85)
table.cell(info_table, 0, 3, "3W Close Range", bgcolor=tight_color, text_color=color.white, text_halign=text.align_left)
table.cell(info_table, 1, 3, str.tostring(close_range_pct, "#.##") + "%", bgcolor=tight_color, text_color=color.white)
// Tightness threshold
table.cell(info_table, 0, 4, "Threshold", bgcolor=color.new(color.gray, 90), text_color=color.white, text_halign=text.align_left)
table.cell(info_table, 1, 4, "<" + str.tostring(tightness_pct, "#.#") + "%", bgcolor=color.new(color.gray, 90), text_color=color.white)
// Distance from 10W EMA
ema10_color = near_ema10 ? color.new(color.blue, 85) : color.new(color.gray, 85)
table.cell(info_table, 0, 5, "From 10W EMA", bgcolor=ema10_color, text_color=color.white, text_halign=text.align_left)
table.cell(info_table, 1, 5, str.tostring(dist_from_ema10_pct, "#.##") + "%", bgcolor=ema10_color, text_color=color.white)
// Distance from 20W EMA
ema20_color = near_ema20 ? color.new(color.orange, 85) : color.new(color.gray, 85)
table.cell(info_table, 0, 6, "From 20W EMA", bgcolor=ema20_color, text_color=color.white, text_halign=text.align_left)
table.cell(info_table, 1, 6, str.tostring(dist_from_ema20_pct, "#.##") + "%", bgcolor=ema20_color, text_color=color.white)
// Near EMA status
near_ema_color = near_any_ema ? color.new(color.green, 85) : color.new(color.red, 85)
near_ema_text = near_any_ema ? "✓ NEAR" : "✗ Far"
table.cell(info_table, 0, 7, "Near EMA", bgcolor=near_ema_color, text_color=color.white, text_halign=text.align_left)
table.cell(info_table, 1, 7, near_ema_text, bgcolor=near_ema_color, text_color=color.white)
// Combined signal
signal_color = tightness_signal ? color.new(color.lime, 70) : color.new(color.gray, 85)
signal_text = tightness_signal ? "🎯 SETUP!" : "No Setup"
table.cell(info_table, 0, 8, "SIGNAL", bgcolor=signal_color, text_color=color.white, text_halign=text.align_left, text_size=size.large)
table.cell(info_table, 1, 8, signal_text, bgcolor=signal_color, text_color=color.white, text_size=size.large)
// ===========================
// ALERTS
// ===========================
alertcondition(tightness_signal and not tightness_signal ,
title="Tightness Setup Alert",
message="Weekly setup detected: Small candles, tight closes, near EMA!")
S21 SETUP (EMA9/21 + RSI 14)This script is only intended for a specific set up or strategy develop by our trading group. Lightning Strategy Group T3 Sniper has its specific strategy that requires this indicator script.
B-Xtrender MTFA @XL-DurexOriginally Created by @puppytherapy and found at this link: B-Xtrender by Quant Therapy
This version removes everything apart from the histograms and adds multi time frame analysis.
Defaults are 1D, 1W, 1M.
Chart Info & Candle CountdownThis indicator displays essential chart information directly on the chart:
Displays the current date
Displays the current symbol
Displays the current timeframe with a countdown to candle close
The candle close countdown is visually highlighted to improve time awareness:
from 2 minutes before candle close on minute timeframes
from 15 minutes before candle close on higher timeframes
This indicator is designed for informational purposes only and does not generate trading signals.
S21 SETUP! by TophengzkyThis script is intended only for a specific strategy or set up! Only to be use by Lightning Strategy Group T3 Snipers!
It was developed for us to make our trading strategy handy and easily to navigate and execute our set ups!
Dual Range Volume Profile█ OVERVIEW
“Dual Range Volume Profile” is a volume analysis indicator that displays two independent volume profiles simultaneously:
- Main Profile – a profile built from the entire visible chart range
- Pivot Profile – a profile calculated from the most recent significant pivot (swing high / swing low)
This allows the trader to see at the same time:
- where the market accumulated volume in the broader structural context,
- and where price equilibrium is forming within the current move.
The indicator draws a volume-by-price histogram, POC, Value Area (VA), and an information table with key levels. It combines macro and micro context in one tool.
█ CONCEPTS
Volume Profile shows at which price levels the highest trading activity occurred — in other words, where the market actually built positions.
Main Profile
This profile is calculated from the entire visible chart range. It provides a broad context:
- historical market balance
- areas of position building
- levels that often act as price magnets
It represents the structural balance of the market.
Pivot Profile
This profile begins at the most recent confirmed pivot (swing high / swing low). It shows the volume distribution inside the current impulse and helps evaluate:
- where new positions are being built
- whether the move is supported by volume
- where a new balance is forming
It represents the context of the current move.
POC – Point of Control
The price level with the highest volume. It often acts as:
- the center of balance
- a price magnet
- a reaction level during retests
Value Area (VA)
The price range where a defined percentage of total volume occurred. VA represents the area of balance between buyers and sellers.
█ FEATURES
- Two volume profiles working simultaneously (global + pivot-based)
- Separate POC for each profile
- Value Area displayed as a box and VA High / VA Low lines
- Configurable VA percentage
- Automatic pivot detection with “Last PH/PL” label
- Volume gradient from low to high
- Full visual customization and an info table with levels
█ HOW TO USE
The Main Profile helps determine where price stands relative to the broader market balance — whether it trades above, inside, or below value.
The Pivot Profile shows how volume is distributed within the current move and whether the impulse is truly supported by market activity. Retests of the pivot POC often behave as local support or resistance.
█ APPLICATIONS
In practice, the indicator is best used for working with price reaction zones and evaluating move quality.
POC and Value Area boundaries often behave like dynamic support and resistance because they represent price levels where the market spent the most activity and participation. After a strong impulse, price frequently returns to the pivot POC or VA boundaries, where the market decides between continuation or a return to balance.
Value Area can also serve a different role — as a compression zone before a move. When price consolidates inside VA for an extended period, the market is in balance. A breakout beyond VA signals a shift from balance to imbalance (volatility expansion). If the breakout is followed by a retest of the VA boundary from the outside, accompanied by increased volume, this often creates an opportunity to enter in the breakout direction.
Particularly strong zones appear when multiple contexts align: Main POC is close to Pivot POC, both Value Areas overlap, and the level coincides with market structure (swings, OB, FVG, higher timeframe levels, etc.). This combination of structure and two layers of volume creates areas with increased probability of price reaction.
The indicator also helps assess move quality — if price moves aggressively but the Pivot Profile does not build meaningful volume, the move may be weak and prone to pullbacks.
█ NOTES
When the chart is heavily zoomed in, both profiles may appear very similar. This can lead to the false conclusion that a zone is exceptionally strong, while it is only the effect of a narrowed data range. Profiles should always be interpreted from a broader perspective, aligned with your trading horizon.
The indicator is not suitable for markets where volume does not reflect real traded activity (e.g., tick volume, synthetic volume, or aggregated data without true liquidity). The quality of volume data directly affects the quality of the levels.
There are also markets where no real volume data exists at all. In such environments, the indicator cannot function properly, as its calculations depend entirely on meaningful volume information.
Trading Sessions Highs & LowsFull Azia , London and New York Sessions Highs & Lows are shown until triggered.
Supertrend with VWAP FilterThe Logic Breakdown
VWAP Integration: Added a standard VWAP calculation.
Filtering: The Supertrend "Buy" signal only triggers if close > vwap.
Dynamic Coloring: If the Supertrend says "up" but price is below VWAP, the line turns gray.
Candle Highlights: I added logic for Bullish/Bearish Engulfing and Dojis. These will highlight the bar color specifically when they align with your VWAP-filtered trend.
SMA 20 & 5 MagicMoving Average based envelops and bands are quite popular tools in the equity trading universe. One such popular band is 20 SMA High-Low band. In 20 SMA High-Low band generally a BUY is signaled when price breaks above the High of the band, and a SELL when price falls below the Low of the band. However, at times the time-price points to look for trading/ investing opportunities and taking position are not very clear in this generic mode.
This script combines the 20 SMA High-Low band and a 5 SMA line plotted over it, to tackle this limitation. It helps to find more precise trading/ investing opportunities, Entry and Exit time-price points above & below the band, traversing along the 5 SMA line. The price within the band is usually considered as 'no trades' zone.
This set up can be applied on any TF, but generally holds good for swings on daily/ hourly TFs. By tweaking SMA 20 and 5 to SMA 200 and 50 respectively in the settings, it may also help in identifying medium/Long term trends and investment opportunities using daily/ weekly TFs .
Take it as a tool for learning and analysis. Happy trading/ investing.
Daily ATR & Market Cap DisplayDaily ATR & Market Cap Display:
Displays daily ATR percentage with color-coded volatility alerts (🟢 0-4%, 🟡 4-8%, 🔴 8%+) and market cap with size indicators (🔴 <1B, 🟡 1-5B, 🟢 5B+).
Features:
- Daily ATR remains constant across all timeframes
- Customizable position (9 locations + vertical offset)
- Adjustable text size and colors
- Clean, fixed on-screen display
Near 52W High (Within 20%) - ScreenerThis Pine Script indicator is designed specifically for TradingView’s Pine Screener. It identifies stocks whose current closing price is trading within 20% of their 52-week high, helping traders quickly find strong stocks that are consolidating near their long-term highs.
Near 52W High (Within 20%) - ScreenerThis Pine Script indicator is designed specifically for TradingView’s Pine Screener. It identifies stocks whose current closing price is trading within 20% of their 52-week high, helping traders quickly find strong stocks that are consolidating near their long-term highs.
Sessions [LuxAlgo & TrendRiderIO]Visualize and track trading sessions with customizable ranges, VWAP bands, and high/low levels. Enhanced version of LuxAlgo's Sessions indicator.
Track up to 3 customizable trading sessions (NY, London, Tokyo) with session range boxes, session-specific anchored VWAP with standard deviation bands, and high/low extension lines for the last 3 completed sessions. Includes peak hours visualization, session overlap highlighting, and breach alerts with direction indication.
Perfect for identifying key support/resistance levels, analyzing session strength, finding entry/exit points, and breakout trading.
License: CC BY-NC-SA 4.0 | Based on work by @LuxAlgo, enhanced by TrendRiderIO.
Near 52W High (Within 20%) - ScreenerThis Pine Script indicator is designed specifically for TradingView’s Pine Screener. It identifies stocks whose current closing price is trading within 20% of their 52-week high, helping traders quickly find strong stocks that are consolidating near their long-term highs.
CVD Momentum Divergence
1. Introduction
Discover hidden buying/selling pressure before price explodes! The CVD Momentum Divergence indicator compares detrended and normalized price momentum (orange line) against Cumulative Volume Delta momentum (blue line) to reveal when volume flow diverges from price action. These two lines oscillate around zero on the same scale, making hidden strength/weakness crystal clear during market sessions.
2. Key Features
- Dual Detrended Lines : Price momentum (orange) vs CVD momentum (blue) - both normalized
- CVD-Price Divergence Histogram : Green bars above zero when blue (CVD stronger); Red bars below when orange (CVD weaker)
- Trend-Free Analysis : SMA detrending removes directional bias for pure cycle comparison
- Universal CVD Calculation : Works on any volume symbol
- Fully Customizable : Separate price/CVD lengths + smoothing control
3. How to use
Look for divergences between main chart price movement and the separation (distance) between blue/orange lines - the histogram quantifies this perfectly.
- Large GREEN histogram (above zero) = CVD strength >> price movement = buying delta dominates
- Large RED histogram (below zero) = Price strength >> CVD = selling delta dominates
- Both lines above zero = overall buying momentum. Both below zero = selling momentum
- Price falling BUT blue line stays high → hidden buying → upside likely
- Price rising BUT blue lags → selling pressure building → downside risk
NOTE : This indicator shows momentum divergence only! Always confirm with price action (support/resistance, candle patterns, key levels).
EMA 9 13 15 21 50 200EMA Multi Cross Alert System is a multi-moving average indicator designed to help traders quickly identify trend shifts and momentum changes using key Exponential Moving Average (EMA) crossover signals.
The script plots six important EMAs (9, 13, 15, 21, 50, and 200) directly on the price chart, allowing traders to monitor short-term, medium-term, and long-term trend alignment in real time.
The indicator automatically generates alerts when critical EMA crossover events occur, helping traders react quickly without constantly watching charts.
ddddddrrrrrr//@version=5
indicator("🚀 EventSniper HF v3.0 - 高频方向信号", overlay=true)
// 参数
emaFast = input.int(5, "快速EMA")
emaSlow = input.int(20, "慢速EMA")
rsiLen = input.int(7, "RSI周期")
volRatio = input.float(1.8, "量能放大倍数")
// 指标计算
ema1 = ta.ema(close, emaFast)
ema2 = ta.ema(close, emaSlow)
rsi = ta.rsi(close, rsiLen)
volAvg = ta.sma(volume, 20)
volSpike = volume > volAvg * volRatio
// 高频方向信号(核心逻辑)
longCond = ema1 > ema2 and rsi > 50 and volSpike
shortCond = ema1 < ema2 and rsi < 50 and volSpike
// 信号绘图
plotshape(longCond, title="建议做多", location=location.belowbar, color=color.lime, style=shape.labelup, text="多")
plotshape(shortCond, title="建议做空", location=location.abovebar, color=color.red, style=shape.labeldown, text="空")
// 文本提示
label.new(longCond ? bar_index : na, low,
"📈 建议多头方向", style=label.style_label_up,
color=color.green, textcolor=color.white)
label.new(shortCond ? bar_index : na, high,
"📉 建议空头方向", style=label.style_label_down,
color=color.red, textcolor=color.white)
// 报警条件(用于接入Telegram)
alertcondition(longCond, title="📈 多方向警报", message="🚀 多方向信号触发:{{ticker}}")
alertcondition(shortCond, title="📉 空方向警报", message="🚨 空方向信号触发:{{ticker}}")
Ict + Alert (Realtime) - Optimized v2📊 Description
This indicator implements the ICT (Inner Circle Trader) strategy using Fair Order Blocks (FOB) to identify demand and supply zones in the market. Optimized for XAUUSD (Gold) trading with real-time alerts.
🎯 How It Works
The indicator analyzes price movements to identify:
Bullish Fair Order Blocks: Zones where price left uncovered liquidity (gap) during an upward movement
Bearish Fair Order Blocks: Zones where price left uncovered liquidity during a downward movement
When price returns to these zones, the indicator generates:
📦 Colored boxes on the chart (green for long, red for short)
🔔 Real-time alerts with automatically calculated Entry, Stop Loss, and Take Profit
📍 Visual signals (triangles) to easily spot trading opportunities
⚙️ Key Features
Smart Alerts
Realtime: receive instant notifications when a setup forms
Configurable Risk/Reward: set your preferred risk/reward ratio (default 1:3)
Session filter: focus signals during London (08:00-10:00) and New York (14:30-16:30) sessions
Stop Loss with buffer: configurable additional protection
Operating Modes
Realtime Mode: immediate alerts as soon as condition triggers (faster)
Confirmation Mode: alerts only on bar close (more reliable)
Visualization
FOB boxes with adjustable transparency
Optional midline to identify precise entry
Visual indicators (triangles) for long/short signals






















