Candlestick analysis
Basic Key Levels | Feng FuturesKey Levels | Feng Futures (Basic) automatically plots the most essential daily reference levels used by futures traders to establish intraday context and structure.
This lightweight version focuses on the three levels that matter most for session bias and liquidity reference:
Previous Day High (PDH)
Previous Day Low (PDL)
Session Open (18:00 NY for futures)
These levels are commonly used by professional and institutional participants as decision points for:
directional bias
continuation vs. reversal context
risk definition and invalidation
Features:
• Auto-plotted PDH and PDL
• Futures session open (18:00 NY)
• Clean, non-repainting levels
• Lines extend forward for intraday use
• Optional price labels pinned to the right edge
• Minimal design to reduce chart clutter
• Full color, width, and label customization
• Optimized for intraday futures trading
This indicator does not provide trade signals or alerts.
It is designed to support planning, execution, and review within your own trading framework.
Best used on:
ES, NQ, RTY, YM (intraday timeframes)
PDH / PDL levels can be used as take profit targets or to help form bias. For example, if we break out of PDH, we may look for longs.
Disclaimer:
This indicator is for educational purposes only and does not constitute financial advice. Trading futures involves significant risk and may not be suitable for all investors. Always do your own research and use proper risk management.
Long Wick Detector + Highlight + AlertWick set at 9 ticks..the longer the better..cut loss at lower of the wick..wait for candle completion in TF 5
PA Bar Count (First Edition)This script is written by FanFan.
It is designed to count price action bars and identify the bar number in a sequence.
The script helps traders track bar structure and improve PA analysis.
9/21 EMA Strategy"Disclaimer: I am not a SEBI Registered Investment Advisor. This script is for educational purposes only and should not be considered financial advice. Trading involves significant risk. Please consult your financial advisor before making any investment decisions based on this tool."Trading involves significant risk. This tool is for educational purposes and should be used alongside your own analysis.
BUY Sell Signal (Kewme)//@version=6
indicator("EMA Cross RR Box (1:4 TP Green / SL Red)", overlay=true, max_lines_count=500, max_boxes_count=500)
// ===== INPUTS =====
emaFastLen = input.int(9, "Fast EMA")
emaSlowLen = input.int(15, "Slow EMA")
atrLen = input.int(14, "ATR Length")
slMult = input.float(1.0, "SL ATR Multiplier")
rr = input.float(4.0, "Risk Reward (1:4)") // 🔥 1:4 RR
// ===== EMA =====
emaFast = ta.ema(close, emaFastLen)
emaSlow = ta.ema(close, emaSlowLen)
plot(emaFast, color=color.green, title="EMA Fast")
plot(emaSlow, color=color.red, title="EMA Slow")
// ===== ATR =====
atr = ta.atr(atrLen)
// ===== EMA CROSS =====
buySignal = ta.crossover(emaFast, emaSlow)
sellSignal = ta.crossunder(emaFast, emaSlow)
// ===== VARIABLES =====
var box tpBox = na
var box slBox = na
var line tpLine = na
var line slLine = na
// ===== BUY =====
if buySignal
if not na(tpBox)
box.delete(tpBox)
if not na(slBox)
box.delete(slBox)
if not na(tpLine)
line.delete(tpLine)
if not na(slLine)
line.delete(slLine)
entry = close
sl = entry - atr * slMult
tp = entry + atr * slMult * rr // ✅ 1:4 TP
// TP ZONE (GREEN)
tpBox := box.new(
left=bar_index,
top=tp,
right=bar_index + 20,
bottom=entry,
bgcolor=color.new(color.green, 80),
border_color=color.green
)
// SL ZONE (RED)
slBox := box.new(
left=bar_index,
top=entry,
right=bar_index + 20,
bottom=sl,
bgcolor=color.new(color.red, 80),
border_color=color.red
)
tpLine := line.new(bar_index, tp, bar_index + 20, tp, color=color.green, width=2)
slLine := line.new(bar_index, sl, bar_index + 20, sl, color=color.red, width=2)
label.new(bar_index, low, "BUY", style=label.style_label_up, color=color.green, textcolor=color.white)
// ===== SELL =====
if sellSignal
if not na(tpBox)
box.delete(tpBox)
if not na(slBox)
box.delete(slBox)
if not na(tpLine)
line.delete(tpLine)
if not na(slLine)
line.delete(slLine)
entry = close
sl = entry + atr * slMult
tp = entry - atr * slMult * rr // ✅ 1:4 TP
// TP ZONE (GREEN)
tpBox := box.new(
left=bar_index,
top=entry,
right=bar_index + 20,
bottom=tp,
bgcolor=color.new(color.green, 80),
border_color=color.green
)
// SL ZONE (RED)
slBox := box.new(
left=bar_index,
top=sl,
right=bar_index + 20,
bottom=entry,
bgcolor=color.new(color.red, 80),
border_color=color.red
)
tpLine := line.new(bar_index, tp, bar_index + 20, tp, color=color.green, width=2)
slLine := line.new(bar_index, sl, bar_index + 20, sl, color=color.red, width=2)
label.new(bar_index, high, "SELL", style=label.style_label_down, color=color.red, textcolor=color.white)
Live PDH/PDL Dashboard - Exact Time Fix saleem shaikh//@version=5
indicator("Live PDH/PDL Dashboard - Exact Time Fix", overlay=true)
// --- 1. Stocks ki List ---
s1 = "NSE:RELIANCE", s2 = "NSE:HDFCBANK", s3 = "NSE:ICICIBANK"
s4 = "NSE:INFY", s5 = "NSE:TCS", s6 = "NSE:SBIN"
s7 = "NSE:BHARTIARTL", s8 = "NSE:AXISBANK", s9 = "NSE:ITC", s10 = "NSE:KOTAKBANK"
// --- 2. Function: Har stock ke andar jaakar breakout time check karna ---
get_data(ticker) =>
// Kal ka High/Low (Daily timeframe se)
pdh_val = request.security(ticker, "D", high , lookahead=barmerge.lookahead_on)
pdl_val = request.security(ticker, "D", low , lookahead=barmerge.lookahead_on)
// Aaj ka breakout check karna (Current timeframe par)
curr_close = close
is_pdh_break = curr_close > pdh_val
is_pdl_break = curr_close < pdl_val
// Breakout kab hua uska time pakadna (ta.valuewhen use karke)
var float break_t = na
if (is_pdh_break or is_pdl_break) and na(break_t) // Sirf pehla breakout time capture karega
break_t := time
// --- 3. Sabhi stocks ka Data fetch karna ---
= request.security(s1, timeframe.period, get_data(s1))
= request.security(s2, timeframe.period, get_data(s2))
= request.security(s3, timeframe.period, get_data(s3))
= request.security(s4, timeframe.period, get_data(s4))
= request.security(s5, timeframe.period, get_data(s5))
= request.security(s6, timeframe.period, get_data(s6))
= request.security(s7, timeframe.period, get_data(s7))
= request.security(s8, timeframe.period, get_data(s8))
= request.security(s9, timeframe.period, get_data(s9))
= request.security(s10, timeframe.period, get_data(s10))
// --- 4. Table UI Setup ---
var tbl = table.new(position.top_right, 3, 11, bgcolor=color.rgb(33, 37, 41), border_width=1, border_color=color.gray)
// Row update karne ka logic
updateRow(row, name, price, hi, lo, breakT) =>
table.cell(tbl, 0, row, name, text_color=color.white, text_size=size.small)
string timeDisplay = na(breakT) ? "-" : str.format("{0,time,HH:mm}", breakT)
if price > hi
table.cell(tbl, 1, row, "PDH BREAK", bgcolor=color.new(color.green, 20), text_color=color.white, text_size=size.small)
table.cell(tbl, 2, row, timeDisplay, text_color=color.white, text_size=size.small)
else if price < lo
table.cell(tbl, 1, row, "PDL BREAK", bgcolor=color.new(color.red, 20), text_color=color.white, text_size=size.small)
table.cell(tbl, 2, row, timeDisplay, text_color=color.white, text_size=size.small)
else
table.cell(tbl, 1, row, "Normal", text_color=color.gray, text_size=size.small)
table.cell(tbl, 2, row, "-", text_color=color.gray, text_size=size.small)
// --- 5. Table Draw Karna ---
if barstate.islast
table.cell(tbl, 0, 0, "Stock", text_color=color.white, bgcolor=color.gray)
table.cell(tbl, 1, 0, "Signal", text_color=color.white, bgcolor=color.gray)
table.cell(tbl, 2, 0, "Time", text_color=color.white, bgcolor=color.gray)
updateRow(1, "RELIANCE", c1, h1, l1, t1)
updateRow(2, "HDFC BANK", c2, h2, l2, t2)
updateRow(3, "ICICI BANK", c3, h3, l3, t3)
updateRow(4, "INFY", c4, h4, l4, t4)
updateRow(5, "TCS", c5, h5, l5, t5)
updateRow(6, "SBI", c6, h6, l6, t6)
updateRow(7, "BHARTI", c7, h7, l7, t7)
updateRow(8, "AXIS", c8, h8, l8, t8)
updateRow(9, "ITC", c9, h9, l9, t9)
updateRow(10, "KOTAK", c10, h10, l10, t10)
NQ Volume Flip + Heiken Ashi Wick BreakThe HA Wick Break (second indicator) will ONLY alert and plot arrows if the bar is ALSO a true volume color flip bar
Sesion Operativa - Codigo InstitucionalThis indicator is designed for institutional and precision traders who need to visualize market liquidity and key session operating ranges without visual clutter.
Unlike standard session indicators, this tool focuses on clarity and the projection of key levels (Highs and Lows) to identify potential future reaction zones.
Key Features:
4 Customizable Sessions: Pre-configured with key institutional times (Pre-NY, NY Open, London, and Asia). Each session is fully adjustable in time, color, and style.
Minimalist Labeling: Displays the session name and operating range (in pips/points) in a clean, direct format (e.g., NY - 45), removing decimals and unnecessary text to keep the chart clean.
Range Projections: Option to project the Highs and Lows of each session forward (N candles) to use them as dynamic support or resistance levels.
Opening Highlight (NYSE): Special feature to highlight candle colors during specific high-volatility times (default 09:30 - 09:35 UTC-5), perfect for identifying manipulation or liquidity injections at the stock market open.
Adjustable Time Zone: Default setting is UTC-5 (New York), but fully adaptable to any user time zone.
Old Indicator Multi-Component Decision StrategyStrategy to test signals based on rsi and few other technicals
CPR Call-Out Panel (Daily + Weekly Context)Use on 5 minute chart along with CPR by KGS indicator. My script helps to interpret potential nifty 50 index behaviour based on levels. DM for more questions.
Fair Value Gaps (40+ Points) with NY Session AlertsFVG with alerts. This works for the NY session only.
Kewme//@version=5
indicator("EMA 9/15 + ATR TP/SL Separate Boxes (No Engulfing)", overlay=true, max_lines_count=500, max_boxes_count=500)
// ===== INPUTS =====
atrLen = input.int(14, "ATR Length")
slMult = input.float(1.0, "SL ATR Multiplier")
rr = input.float(2.0, "Risk Reward")
// ===== EMA =====
ema9 = ta.ema(close, 9)
ema15 = ta.ema(close, 15)
plot(ema9, color=color.green, title="EMA 9")
plot(ema15, color=color.red, title="EMA 15")
// ===== TREND STATE =====
var int trendState = 0
// ===== ATR =====
atr = ta.atr(atrLen)
// ===== Indecision =====
bodySize = math.abs(close - open)
candleRange = high - low
indecision = bodySize <= candleRange * 0.35
// ===== SIGNAL CONDITIONS (NO Engulfing) =====
buySignal =
ema9 > ema15 and
trendState != 1 and
indecision and
close > ema9
sellSignal =
ema9 < ema15 and
trendState != -1 and
indecision and
close < ema9
// ===== UPDATE TREND STATE =====
if buySignal
trendState := 1
if sellSignal
trendState := -1
// ===== SL & TP =====
buySL = close - atr * slMult
buyTP = close + atr * slMult * rr
sellSL = close + atr * slMult
sellTP = close - atr * slMult * rr
// ===== PLOTS =====
plotshape(buySignal, text="BUY", style=shape.labelup, location=location.belowbar, color=color.green, size=size.tiny)
plotshape(sellSignal, text="SELL", style=shape.labeldown, location=location.abovebar, color=color.red, size=size.tiny)
// ===== VARIABLES =====
var line buySLLine = na
var line buyTPLine = na
var line sellSLLine = na
var line sellTPLine = na
var box buySLBox = na
var box buyTPBox = na
var box sellSLBox = na
var box sellTPBox = na
// ===== BUY SIGNAL =====
if buySignal
// Delete previous
if not na(buySLLine)
line.delete(buySLLine)
line.delete(buyTPLine)
box.delete(buySLBox)
box.delete(buyTPBox)
// Draw lines
buySLLine := line.new(bar_index, buySL, bar_index + 15, buySL, color=color.red, width=2)
buyTPLine := line.new(bar_index, buyTP, bar_index + 15, buyTP, color=color.green, width=2)
// Draw separate boxes
buySLBox := box.new(bar_index, buySL - atr*0.1, bar_index + 15, buySL + atr*0.1, border_color=color.red, bgcolor=color.new(color.red,70))
buyTPBox := box.new(bar_index, buyTP - atr*0.1, bar_index + 15, buyTP + atr*0.1, border_color=color.green, bgcolor=color.new(color.green,70))
// ===== SELL SIGNAL =====
if sellSignal
// Delete previous
if not na(sellSLLine)
line.delete(sellSLLine)
line.delete(sellTPLine)
box.delete(sellSLBox)
box.delete(sellTPBox)
// Draw lines
sellSLLine := line.new(bar_index, sellSL, bar_index + 15, sellSL, color=color.red, width=2)
sellTPLine := line.new(bar_index, sellTP, bar_index + 15, sellTP, color=color.green, width=2)
// Draw separate boxes
sellSLBox := box.new(bar_index, sellSL - atr*0.1, bar_index + 15, sellSL + atr*0.1, border_color=color.red, bgcolor=color.new(color.red,70))
sellTPBox := box.new(bar_index, sellTP - atr*0.1, bar_index + 15, sellTP + atr*0.1, border_color=color.green, bgcolor=color.new(color.green,70))
Session Swing High / Low Rays AUS USERS ONLY
marks the last week concurrent to the present day, the highs and lows of each session
Titan 6.1 Alpha Predator [Syntax Verified]Based on the code provided above, the Titan 6.1 Alpha Predator is a sophisticated algorithmic asset allocation system designed to run within TradingView. It functions as a complete dashboard that ranks a portfolio of 20 assets (e.g., crypto, stocks, forex) based on a dual-engine logic of Trend Following and Mean Reversion, enhanced by institutional-grade filters.Here is a breakdown of how it works:1. The Core Logic (Hybrid Engine)The indicator runs a daily "tournament" where every asset competes against every other asset in a pairwise analysis. It calculates two distinct scores for each asset and selects the higher of the two:Trend Score: Rewards assets with strong directional momentum (Bullish EMA Cross), high RSI, and rising ADX.Reversal Score: Rewards assets that are mathematically oversold (Low RSI) but are showing a "spark" of life (Positive Rate of Change) and high volume.2. Key FeaturesPairwise Ranking: Instead of looking at assets in isolation, it compares them directly (e.g., Is Bitcoin's trend stronger than Ethereum's?). This creates a relative strength ranking.Institutional Filters:Volume Pressure: It boosts the score of assets seeing volume >150% of their 20-day average, but only if the price is moving up.Volatility Check (ATR): It filters out "dead" assets (volatility < 1%) to prevent capital from getting stuck in sideways markets."Alpha Predator" Boosters:Consistency: Assets that have been green for at least 7 of the last 10 days receive a mathematically significant score boost.Market Shield: If more than 50% of the monitored assets are weak, the system automatically reduces allocation percentages, signaling you to hold more cash.3. Safety ProtocolsThe system includes strict rules to protect capital:Falling Knife Protection: If an asset is in Reversal mode (REV) but the price is still dropping (Red Candle), the allocation is forced to 0.0%.Trend Stop (Toxic Asset): If an asset closes below its 50-day EMA and has negative momentum, it is marked as SELL 🛑, and its allocation is set to zero.4. How to Read the DashboardThe indicator displays a table on your chart with the following signals:SignalMeaningActionTREND 🚀Strong BreakoutHigh conviction Buy. Fresh uptrend.TREND 📈Established TrendBuy/Hold. Steady uptrend.REV ✅Confirmed ReversalBuy the Dip. Price is oversold but turning Green today.REV ⚠️Falling KnifeDo Not Buy. Price is cheap but still crashing.SELL 🛑Toxic AssetExit Immediately. Trend is broken and momentum is negative.Icons:🔥 (Fire): Institutional Buying (Volume > 1.5x average).💎 (Diamond): High Consistency (7+ Green days in the last 10).🛡️ (Shield): Market Defense Active (Allocations reduced due to broad market weakness).
Candle Anatomy (feat. Dr. Rupward)# Candle Anatomy (feat. Dr. Rupward)
## Overview
This indicator dissects a single Higher Timeframe (HTF) candle and displays it separately on the right side of your chart with detailed anatomical analysis. Instead of cluttering your entire chart with analysis on every candle, this tool focuses on what matters most: understanding the structure and strength of the most recent HTF candle.
---
## Why I Built This
When analyzing price action, I often found myself manually calculating wick-to-body ratios, estimating retracement levels, and trying to gauge candle strength. This indicator automates that process and presents it in a clean, visual format.
The "Dr. Rupward" theme is just for fun – a lighthearted way to present technical analysis. Think of it as your chart's "health checkup." Don't take it too seriously, but do take the data seriously!
---
## How It Works
### 1. Candle Decomposition
The indicator breaks down the HTF candle into three components:
- **Upper Wick %** = (High - max(Open, Close)) / Range × 100
- **Body %** = |Close - Open| / Range × 100
- **Lower Wick %** = (min(Open, Close) - Low) / Range × 100
Where Range = High - Low
### 2. Strength Assessment
Based on body percentage:
- **Strong** (≥70%): High conviction move, trend likely to continue
- **Moderate** (40-69%): Normal price action
- **Weak** (<40%): Indecision, potential reversal or consolidation
### 3. Pressure Analysis
- **Upper Wick** indicates selling pressure (bulls pushed up, but sellers rejected)
- **Lower Wick** indicates buying pressure (bears pushed down, but buyers rejected)
Thresholds:
- ≥30%: Strong pressure
- 15-29%: Moderate pressure
- <15%: Weak pressure
### 4. Pattern Recognition
The indicator automatically detects:
| Pattern | Condition |
|---------|-----------|
| Doji | Body < 10% |
| Hammer | Lower wick ≥ 60%, Upper wick < 10%, Body < 35% |
| Shooting Star | Upper wick ≥ 60%, Lower wick < 10%, Body < 35% |
| Marubozu | Body ≥ 90% |
| Spinning Top | Body < 30%, Both wicks > 25% |
### 5. Fibonacci Levels
Displays key Fibonacci retracement and extension levels based on the candle's range:
**Retracement:** 0, 0.236, 0.382, 0.5, 0.618, 0.786, 1.0
**Extension:** 1.272, 1.618, 2.0, 2.618
**Negative Extension:** -0.272, -0.618, -1.0
These levels help identify potential support/resistance if price retraces into or extends beyond the analyzed candle.
### 6. Comparison with Previous Candle
When enabled, displays the previous HTF candle (semi-transparent) alongside the current one. This allows you to:
- Compare range expansion/contraction
- Observe momentum shifts
- Identify continuation or reversal setups
---
## Settings Explained
### Display Settings
- **Analysis Timeframe**: The HTF candle to analyze (default: Daily)
- **Offset from Chart**: Distance from the last bar (default: 15)
- **Candle Width**: Visual width of the anatomy candle
- **Show Previous Candle**: Toggle comparison view
### Fibonacci Levels
- Toggle individual levels on/off based on your preference
- Retracement levels for pullback analysis
- Extension levels for target projection
### Diagnosis Panel
- Shows pattern name, strength assessment, and expected behavior
- Can be toggled off if you prefer minimal display
---
## Use Cases
1. **Swing Trading**: Analyze daily candle structure before entering on lower timeframes
2. **Trend Confirmation**: Strong body % with minimal upper wick = healthy trend
3. **Reversal Detection**: Hammer/Shooting Star patterns with high wick %
4. **Target Setting**: Use Fibonacci extensions for take-profit levels
---
## Notes
- This indicator is designed for analysis, not for generating buy/sell signals
- Works best on liquid markets with clean price action
- The "diagnosis" is algorithmic interpretation, not financial advice
- Combine with your own analysis and risk management
---
## About the Name
"Dr. Rupward" is a playful persona I created – combining "Right" + "Upward" (my trading philosophy) with a doctor theme because we're "diagnosing" candle health. It's meant to make technical analysis a bit more fun and approachable. Enjoy!
---
## Feedback Welcome
If you find this useful or have suggestions for improvement, feel free to leave a comment. Happy trading!
VSA Effort Result v1.0VSA Effort vs Result by StupidRich
Detects volume-spread divergence:
- "Er": High volume, narrow spread (absorption)
- "eR": Low volume, wide spread (momentum)
Features:
• Clean text labels (customizable size)
• Wide vertical lines matching candle range
• Adjustable thresholds & volume SMA
• Works on all timeframes/assets
Perfect for spotting institutional absorption at key levels.
if u wanna buy me a coffee, just dm @stupidrichboy on Telegram
hope it help
Order Blocks Volume Delta 3D | Flux ChartsGENERAL OVERVIEW:
Order Blocks Volume Delta 3D by Flux Charts is a rule-based order block and volume delta visualization tool. It detects bullish and bearish order blocks using a profile-of-price approach: the indicator finds the most actively traded price area (Point of Control, or POC) between a swing high/low and the Break of Structure (BOS), then anchors the order block to the earliest still-valid candle that traded through that POC band. From there, it tracks all candles that continue to interact with that zone and overlays both 2D and 3D volume delta views directly inside the order block.
Unlike traditional order block tools that simply use candle bodies or wicks, this indicator is volume-aware. It lets you optionally pull volume from a lower timeframe feed (for example, using 1-minute data while watching a 5-minute chart) to build a much more accurate picture of how buyers and sellers actually traded inside the zone. This makes every block not just a price box, but a volume story: which side dominated, where, and by how much.
All order blocks printed by this indicator are confirmed: BOS and retests are evaluated strictly on closed candles. Nothing is drawn or alerted on partially formed bars, which helps avoid repaint-style flicker and keeps the signals clean and stable.
What is the theory behind the indicator?:
The core idea behind Order Blocks Volume Delta 3D is that not all price levels inside an order block are equal. Some prices are barely touched, while others act like magnets where candles repeatedly trade and heavy volume passes through.
The indicator first finds a swing high or swing low, waits for a clear Break of Structure (BOS), then scans the candles between the swing point and the BOS to find the price level that was touched the most. That level is treated as the POC.
From all candles in the swing-to-BOS range that interact with this POC band, the indicator looks for the earliest candle that is not already mitigated and uses that as the anchor candle for the order block:
The top of the block equals the anchor candle’s high (for a bearish OB) or the top of its wick zone.
The bottom equals the anchor candle’s low (for a bullish OB) or the bottom of its wick zone.
This “earliest valid POC-touching candle” rule makes it easier to visualize how price and volume developed from the very start of a meaningful zone, while ignoring POC touches that are already fully mitigated by the time the structure is confirmed. On top of that, each candle is split into bullish and bearish volume. If you choose a lower timeframe volume input, the tool aggregates lower timeframe candles into your chart timeframe, giving a more granular bull-versus-bear breakdown for each bar. The result is
an order block that not only shows where price moved but also which side pushed it, how aggressively, and how that balance shifted over time.
ORDER BLOCKS VOLUME DELTA 3D FEATURES:
The Order Blocks Volume Delta 3D indicator includes 4 main features:
1. Order Blocks
2. Volume Delta
3. 3D Visualization
4. Alerts
ORDER BLOCKS:
🔹What is an Order Block
An order block is a price zone where a clear displacement move began after liquidity was taken. It usually forms around the last consolidation or cluster of candles before price breaks structure with a strong move.
In this indicator, order blocks are defined as structured zones that:
Begin at the earliest unmitigated candle that interacted with the most-touched price level (POC) between swing and BOS.
Extend through the full wick range of that anchor candle.
Stretch forward in time, tracking how price continues to trade through, respect, retest, or invalidate the zone.
Are only printed once the BOS is fully confirmed on closed candles (confirmed order blocks only).
Example of bullish and bearish order blocks anchored at the earliest unmitigated candle in the POC zone:
🔹How are Order Blocks detected
The indicator uses a step-by-step, rules-based process to detect bullish and bearish order blocks. The logic is designed to match discretionary Smart Money concepts but with strict, repeatable rules.
Step 1: Detect swing highs and swing lows
Swing High: a candle whose high is higher than the highs of surrounding candles.
Swing Low: a candle whose low is lower than the lows of surrounding candles.
The Swing Length input controls how many candles are checked to the left and right.
Example of swing high and swing low detection:
Step 2: Confirm Break of Structure (BOS)
Once a swing is confirmed, the indicator waits for price to break past that swing:
Bullish BOS: price closes above a previous swing high.
Bearish BOS: price closes below a previous swing low.
To avoid “live” flicker, BOS logic is evaluated based on the previous closed candle. The order block is only confirmed once the BOS candle has fully closed and the next bar has opened. This is one of the reasons the script only shows confirmed, non-repainting order blocks.
Example of bullish BOS and bearish BOS:
Step 3: Build the POC range between swing and BOS
Between the swing candle and the BOS candle, the indicator:
Scans all candles in that range.
Tracks every price level touched using binning (POC bins).
Counts how many times each price band was touched by candle wicks.
The bin with the highest touch count becomes the POC band. This is where price traded most often, not necessarily where volume was highest.
Example of the POC band between swing and BOS.
Step 4 – Anchor the order block to the earliest valid POC candle
From all candles in the swing-to-BOS range, the indicator finds the earliest candle whose high/low overlaps the POC band and whose zone is not already mitigated. That candle becomes the anchor candle for the order block:
For a bearish OB, the block spans the anchor candle’s full wick range, with its top at the high.
For a bullish OB, the block spans the anchor candle’s full wick range, with its bottom at the low.
By requiring the anchor to be the earliest unmitigated interaction with POC, the script avoids building blocks from price action that has already been fully traded through and is less relevant.
Step 5: Extend and manage the order block
Once created, the block:
Extends to the right by a configurable number of candles (Extend Zones).
Continues until it is invalidated by wick or close, depending on the chosen method.
Can show retest labels when price revisits the zone after creation.
Is included or excluded from display depending on the Show Nearest and Hide Invalidated Zones settings.
Example of active and invalidated OB.
🔹Order Block Settings
◇ Swing Length
Swing Length controls how sensitive swing highs and lows are.
Lower Swing Length: Swings form more frequently, which leads to more frequent BOS events and order block formations.
Higher Swing Length: Only larger, more meaningful swings are detected, which leads to less frequent BOS events and less order block formations.
◇ Invalidation
Invalidation determines how an order block is considered “mitigated” or no longer valid.
Wick: For bullish OBs, if price wicks completely through the bottom of the zone, the order block is invalidated. For bearish OBs, if price wicks completely through the top, the order block is invalidated.
Close: For bullish OBs, the block is invalidated only when a candle closes below the bottom. For bearish OBs, it is invalidated only when a candle closes above the top.
Example of wick invalidation:
Example of close invalidation:
◇ Show Nearest
Show Nearest limits how many active order blocks are displayed based on proximity to current price. For example, a value of 2 will display only the two nearest bullish order blocks and two nearest bearish order blocks.
Chart with Show Nearest set to 3:
◇ Extend Zones
Extend Zones define how many candles forward each order block should project beyond the right most candle on the chart.
Chart with Extend Zones set to 10:
◇ Retest Labels
When enabled, the indicator prints labels on every clean retest of an active order block, as long as that block remains valid. Key points:
A retest label is only printed once the retest candle has fully closed – you always see confirmed retests, not intrabar tests.
Retest labels are positioned on the actual retest candle so you can visually see which bar interacted with the zone.
In addition, if multiple retests occur in quick succession, the indicator applies a built-in three-candle buffer between retests. That means only the first valid retest within each three-bar window is labeled (and can trigger an alert), helping to reduce clutter while still highlighting meaningful interactions with the zone.
Example of retest labels on bullish and bearish order blocks.
◇ Hide Invalidated Zones
Hide Invalidated Zones controls whether mitigated/invalidated blocks stay drawn.
Enabled: Only currently valid, unmitigated order blocks are shown (subject to Show Nearest)
Disabled: Both active and invalidated order blocks are displayed.
VOLUME DELTA:
🔹What is Volume Delta
Volume delta measures the difference between buying and selling volume. Instead of only showing “how much volume traded”, it separates volume into bullish and bearish components.
In this indicator:
Bullish volume = volume from candles (or lower timeframe candles) that closed higher.
Bearish volume = volume from candles that closed lower.
Delta % shows how dominant one side was compared to the total.
Example of bullish and bearish order blocks with volume delta and total volume.
🔹How is Volume Delta calculated?
The indicator uses a flexible, timeframe-aware volume engine.
1. Choose a Volume Delta Timeframe.
If the selected timeframe is equal to or higher than the chart timeframe, the indicator simply uses chart-volume per candle.
If the selected timeframe is lower than the chart timeframe (for example, 1‑minute volume on a 5‑minute chart), the indicator pulls all lower timeframe candles for each chart bar and sums them.
2. Split each bar into bull and bear volume.
For each contributing candle:
If close > open → its volume is added to bullish volume.
If close < open → its volume is added to bearish volume.
If close == open → its volume is split evenly between bullish and bearish.
3. Aggregate for each order block.
For each order block:
The indicator loops once from the swing candle to the BOS candle.
It records every candle that touches the POC band.
For each touching candle, it adds its bull and bear volumes (either directly from chart candles or from aggregated lower timeframe candles).
Total volume = bullish volume + bearish volume
Delta % = (bullish volume or bearish volume / total volume ) * 100, depending on which side is dominant.
🔹Volume Delta Settings:
◇ Display Style
Display Style controls how the volume delta is drawn inside each order block:
Horizontal:
Bullish and bearish fills extend horizontally from left to right.
The filled strip sits along the base of the block, with a bull vs bear gradient.
Vertical:
Bullish and bearish fills stretch vertically inside the zone.
The bullish percentage controls how much of the block is filled with the “dominant” color.
Example of Horizontal display style.
Example of Vertical display style.
◇ Volume Delta Timeframe
Volume Delta Timeframe tells the indicator whether to use chart volume or lower timeframe volume. When set to a lower timeframe, the indicator aggregates all lower timeframe candles that fall inside each chart bar, splitting their volume into bullish and bearish components before summing.
Using a lower timeframe:
Increases precision for how volume truly behaved inside each bar.
Helps reveal hidden absorption and aggressive flows that a higher timeframe candle might hide.
Example of volume delta based on chart timeframe.
Example of volume delta based on lower timeframe than chart(same OB as above)
◇ Display Total Volume
When enabled, the indicator prints the total volume for each order block as a label positioned inside the zone, near the bottom-right corner. This total is the sum of bullish and bearish volume used in the delta calculation and gives you a quick sense of how “heavy” the trading was in that block compared to others.
Example of total volume label inside multiple order blocks.
◇ Show Delta %
Show Delta % draws a small text label on the strip of the block that displays the dominant side’s percentage. For example, a bullish block might show “72%” if 72% of all volume inside that POC band came from bullish volume.
Example of Delta %:
3D VISUALIZATION:
The 3D Visualization feature turns each order block into a 3D plot.
🔹What the 3D Visualization does:
Wraps the order block with side faces and a top face to create a 3D bar effect.
Uses delta percentages to tilt the top face toward the dominant side.
Projects blocks into the future using Extend Zones, making the 3D blocks visually stand out.
🔹How it works:
The front face of the OB shows the standard 2D zone.
The side face extends forward in time based on the 3D depth setting.
The top face is angled depending on the Display Style and bull vs bear delta, making strong bullish blocks “rise” and strong bearish blocks “sink”.
🔹How the 3D depth setting affects visuals
Lower 3D depth:
Shorter side faces.
Subtle 3D effect.
Higher 3D depth:
Longer side faces projecting further into the future.
Stronger 3D effect that visually highlights key zones.
Example of lower 3D depth:
Example of higher 3D depth:
ALERTS:
The indicator supports alert conditions through TradingView’s AnyAlert() engine, allowing you to set alerts for the following:
New Bullish Order Block formed
New Bearish Order Block formed
Bullish OB Retest
Bearish OB Retest
Important alert behavior:
Order block alerts only fire when a new block is confirmed (after BOS closes and the next bar opens).
Retest alerts only fire when a retest candle has completely finished, matching the behavior of the visual retest labels.
IMPORTANT NOTES:
3D faces for order blocks are built using polylines. In some situations, especially when an order block’s starting point (its left edge) is beyond the chart’s left-most visible bar, the top 3D face may appear slightly irregular, skewed, or incomplete. This is purely a drawing limitation related to how the chart engine handles off-screen polyline points. Once the starting point of that order block comes into view (by zooming out or scrolling back), the 3D top face corrects itself and the visual becomes fully consistent. This issue affects only the 3D top face drawing, not the actual order-block box itself. The underlying zone, prices, and volume calculations remain accurate at all times.
If all conditions are met to create a new order block but the resulting zone would overlap an existing active order block, the new block is intentionally not created. A built-in guard prevents overlapping active zones to keep the structure clean and easier to interpret.
3D face drawing is implemented using an adaptive polyline method, which can be relatively calculation-heavy on certain symbols, timeframes, or chart histories. In some cases this may lead to calculation timeout error from TradingView.
UNIQUENESS:
This indicator is unique because it:
Anchors each order block to the earliest unmitigated candle that traded through the most-touched POC band between swing and BOS, rather than a generic “last up/down candle” or a random volume spike.
Builds a dedicated volume engine that can pull either chart timeframe volume or aggregated lower timeframe volume, then splits it into bull and bear components.
Adds 3D visualization on top of standard zones, turning each OB into a visually weighted slab rather than a flat rectangle.
Provides clean toggles (Show Nearest, Hide Invalidated Zones, Extend Zones, Display Style, Delta %, and total volume labels) so you can dial the indicator from extremely minimal to fully detailed, depending on your trading workflow.
Combined, these features make the indicator not just an order block plotter, but a complete volume‑informed structure tool tailored for traders who want to see where price actually traded and whether bulls or bears truly controlled the move inside each order block.
LiquidityPulse MTF Intrabar Micro-Structure Absorption DetectorLiquidityPulse MTF Intrabar Micro-Structure Absorption Detector
Non-repainting: Markers appear on bar close and do not change.
Important (if you can’t see any markers)
This indicator measures intrabar micro-structure and it can use seconds-based micro data on lower timeframes.
If you load it and don’t see anything:
Go to 15m or higher, or
In settings, change Micro feed (inside HTF bar) from Auto to 1m / 5m / 15m.
Auto will often choose a “micro” feed that’s very small when your HTF is small, which can affect what you see.
What this indicator does
This script is designed to highlight absorption-like conditions by analysing what happens inside each higher-timeframe (HTF) candle — not just the candle’s OHLC.
It looks for candles where:
price moves a lot internally (high intrabar activity),
the candle structure shows churn / rejection (wick dominates body),
and participation is elevated (relative high volume).
When those conditions align, the indicator prints a marker line at the wick extreme:
LW (Lower-wick marker) = printed at the candle’s low
UW (Upper-wick marker) = printed at the candle’s high
Each marker is then extended to the right (so it can be treated like a potential level).
Image shows a wick-dominant candle with an absorption marker: Markers appear when price shows strong intrabar movement, a wick-dominant candle structure, and elevated participation — a combination often associated with absorption-like behaviour.
How it works
A marker is created only when all three filters pass on a confirmed candle close:
1) Intrabar micro-speed (internal activity)
The script pulls intrabar closes from a lower timeframe (“micro feed”) and sums the absolute internal price changes inside the HTF candle.
It then converts this to a Z-score and checks it against the Speed-z threshold.
Higher threshold = fewer, stronger events.
2) Wick vs body (churn / rejection structure)
This measures how the HTF candle’s internal range compares to its net close-to-open movement using:
Churn ratio = (HTF range) / (HTF body)
If the candle has a large range but a relatively small body, it indicates that price moved extensively during the candle but made limited net progress by the close — a structure often associated with active two-sided participation and absorption-like behaviour.
3) Relative HTF volume (participation filter)
The script also Z-scores HTF volume and requires it to exceed the Volume z-score threshold.
This helps filter out candles that show apparent activity but occur on relatively low participation.
Multi-timeframe + micro-structure analysis: Image shows a 15 minute chart marker on the 1 minute timeframe. The indicator can analyse higher-timeframe candles (15 minute) while using lower-timeframe micro data inside each bar (1 minute). This allows absorption-style markers to be plotted with higher-timeframe context and intrabar detail.
Composite Intensity
When a marker triggers, the script calculates a Composite Intensity number (CI):
It’s a combined score based on how strongly each of the three conditions exceeded its threshold.
Higher CI = stronger absorption-style event
Higher CI = brighter chart marker
The table shows:
HTF and Micro timeframes being used
the last marker type (LW or UW)
the last CI value
Micro feed & multi-timeframe behaviour
This indicator always works as a two-layer system:
HTF candle (context) → the candle you’re analysing
Micro feed (inside HTF bar) → the intrabar data used to measure micro-speed
Higher-TF source
Chart timeframe = uses your chart timeframe as HTF
Manual = choose any HTF (example: chart = 1m, HTF = 15m → prints 15m absorption markers onto a 1m chart)
Micro feed options
Auto (recommended) picks a sensible micro feed based on HTF
Or choose 1s / 1m / 5m / 15m manually for performance/clarity
HTF direction filter (optional)
When enabled:
LW markers only print when the HTF candle closes bullish
UW markers only print when the HTF candle closes bearish
This is optional and is designed to reduce noise by aligning markers with the directional bias of the higher-timeframe candle.
Traders can use the absorption markers to:
Identify potential areas of interest where price showed unusually high intrabar activity but limited net progress by the close.
Mark reference levels where price may react again later, reflecting prior elevated participation and extensive intrabar movement areas.
Add structural context to existing analysis such as trend structure, support/resistance, session highs/lows, or other volume-based tools.
Compare behaviour across timeframes, by observing how absorption-style events on a higher timeframe align with lower-timeframe price action.
Image shows price reacting to a previous absorption markers level (Lines/ levels can be extended in the settings): Extended LW / UW markers can be observed as areas of prior absorption-like activity. Traders may watch how price behaves around these levels (reaction, acceptance, or rejection) alongside their own structure, liquidity, or risk management tools.
Key settings (what they change)
Higher-TF source / Higher-TF bar (manual): which candle timeframe is analysed
Micro feed (inside HTF bar): what intrabar resolution is used to calculate micro-speed
Speed-z threshold: how unusual intrabar activity must be
Wick/Body threshold: how large the candle’s total range must be compared to its body
Volume z-score threshold: how elevated HTF volume must be
Z-score look-back: how far back the indicator normalises speed/volume
Line extension (bars): raise if you want markers to behave more like extended levels
Max markers: how many markers remain on the chart at once
Alerts
Alerts trigger on candle close when an absorption marker is detected.
Disclaimer
This indicator does not measure true order flow or the full limit order book. It uses intrabar price activity, candle structure, and relative participation as interpretive tools to highlight absorption-like behaviour. It is not a buy/sell system, and all signals should be used with traders own confirmation and risk management.
GCM Heikin Ashi RSI Trend CloudTitle: GCM Heikin Ashi RSI Trend Cloud
Description:
Overview
The GCM Heikin Ashi RSI Trend Cloud is a comprehensive momentum oscillator designed to filter out market noise and visualize trend strength. Unlike a standard RSI which can be jagged and difficult to interpret during consolidation, this indicator transforms RSI data into Heikin Ashi candles, providing a smoother, clearer view of market momentum.
This tool combines the lag-reducing benefits of RSI with the trend-visualizing power of Heikin Ashi, layered with Multi-Timeframe (HTF) clouds to identify macro trends.
Calculations & How it Works
This indicator does not use standard price action for its candles. Instead, it performs the following calculations:
• HARSI Candles: We calculate the RSI of the Open, High, Low, and Close of the chart. These four RSI values are then processed through the standard Heikin Ashi formula. This means the candles represent momentum movement, not price movement.
• Smoothing: A smoothing algorithm is applied to the "Open" of the HARSI candles (Default: 5). This reduces fake-outs by biasing the candle open toward the previous average, highlighting the true trend direction.
• Trend Bias Mode: A unique visual feature that adjusts the thickness of the RSI line based on your trading style.
o Buyers Mode: The line thickens when RSI is rising, thinning out when falling.
o Sellers Mode: The line thickens when RSI is falling, thinning out when rising.
• Ribbon Clouds: The script pulls RSI data from Higher Timeframes (HTF) and creates a cloud between the current chart's RSI and the HTF RSI. If the current RSI is above the HTF RSI, the cloud is bullish (Green), otherwise bearish (Red).
Key Features
• Derived Heikin Ashi RSI: Smooths out the noise of standard RSI to show clear red/green trends.
• Dynamic Trend Bias: Customize the main RSI line to emphasize Bullish or Bearish momentum using line weight.
• Auto-HTF Clouds: Automatically detects higher timeframes (e.g., 1m chart -> 3m cloud) to show support/resistance momentum from the macro trend.
• OB/OS Zones: Clearly defined Overbought and Oversold channels with "Extreme" outlier zones.
How to Use
1. Trend Continuation: Look for the HARSI candles to change color. A switch from Red to Green, while the Ribbon Cloud is also Green, indicates a strong bullish continuation.
2. Divergence: Because the candles are based on RSI, you can look for divergences between the HARSI candle peaks and the actual price action on the main chart.
3. The Cloud: Use the cloud as dynamic support. In a strong uptrend, the RSI line often bounces off the HTF Cloud without breaking through it.
Settings
• HARSI Length (Default 10): The lookback period for the RSI calculation.
• Smoothing (Default 5): Higher values create smoother candles but add lag. Lower values are more reactive.
Trend Bias Mode: Choose "Neutral" for a standard line, or "Buyers/Sellers" to visually emphasize your preferred market direction.






















