Defended Price Levels (DPLs) — Melvin Dickover ConceptThis indicator identifies and draws horizontal “Defended Price Levels” (DPLs) exactly as originally described by Melvin E. Dickover in his trading methodology.
Dickover observed that when extreme relative volume and extreme “freedom of movement” (volume-to-price-movement ratio) occur on the same bar, especially on bars with large gaps or unusually large bodies, the closing price (or previous close) of that bar very often becomes a significant future support/resistance level that the market later “defends.”
This script automates the detection of those exact coincident spikes using two well-known public indicators:
Relative Volume (RVI)
• Original idea: Melvin Dickover
• Pine Script implementation used here: “Relative Volume Indicator (Freedom Of Movement)” by LazyBear
Link:
Freedom of Movement (FoM)
• Original idea and calculation: starbolt64
• Pine Script: “Freedom of Movement” by starbolt64
Link:
How this indicator works
Calculates the raw (possibly negative) LazyBear RVI and starbolt64’s exact FoM values
Normalizes and standardizes both over the user-defined lookback
Triggers only when both RVI and FoM exceed the chosen number of standard deviations on the same bar (true Dickover coincident-spike condition)
Applies Dickover’s original price-selection rules (uses current close on big gaps or 2× body expansion candles, otherwise previous close)
Draws a thin maroon horizontal ray only when the new level is sufficiently far from all previously drawn levels (default ≥0.8 %) and the maximum number of levels has not been reached
Keeps the chart clean by limiting the total number of significant defended levels shown
This is not a republish or minor variation of the two source scripts — it is a faithful automation of Melvin Dickover’s specific “defended price line” concept that he manually marked using the coincidence of these two indicators.
Full credit goes to:
Melvin E. Dickover — creator of the Defended Price Levels concept
LazyBear — author of the Relative Volume (RVI) implementation used here
starbolt64 — author of the Freedom of Movement indicator and calculation
Settings (all adjustable):
Standard Deviation Length (default 60)
Spike Threshold in standard deviations (default 2.0)
Minimum distance between levels in % (default 0.8 %)
Maximum significant levels to display (15–80)
Use these horizontal maroon lines as potential future support/resistance zones that the market has previously shown strong willingness to defend.
Thank you to Melvin, LazyBear, and starbolt64 for the original work that made this automation possible.
Индикаторы и стратегии
COT Net Positions OTCCOT Net Positions Indicator Description
This is a TradingView Pine Script indicator that displays Commitment of Traders (COT) data for any trading instrument.
What it does:
Fetches COT Data - Uses the TradingView COT library to retrieve official CFTC (Commodity Futures Trading Commission) data for the current symbol
Calculates Net Positions for three trader categories:
Commercial (Blue) - Large hedging institutions; represents institutional long/short positioning
Non-Commercial (Yellow) - Large speculators and hedge funds; often considered "smart money"
Retail (Red) - Small individual traders; often considered contrarian indicators
Net Position Calculation - For each category:
Takes Long Positions minus Short Positions
Plots the result on a separate panel below the price chart
Special Symbol Handling - Includes custom mappings for specific commodities:
Copper (HG) → CFTC code 085692
Brazilian Real (LBR) → CFTC code 058644
Use Cases:
Market Bias Detection - See if institutions are mostly long or short
Contrarian Trading - When retail traders are extremely positioned one way, often the market reverses
Trend Confirmation - Non-commercial positioning often aligns with established trends
Support/Resistance - Extreme COT positions can signal market turning points
Day Trading Signals - Ultimate Pro (Dark Neon + Strong BB Cloud)//@version=5
indicator("Day Trading Signals - Ultimate Pro (Dark Neon + Strong BB Cloud)", overlay=true, max_lines_count=500, max_labels_count=500)
// ===== INPUTS =====
ema_fast_len = input.int(9, "Fast EMA Length")
ema_slow_len = input.int(21, "Slow EMA Length")
rsi_len = input.int(12, "RSI Length")
rsi_overbought = input.int(70, "RSI Overbought Level")
rsi_oversold = input.int(30, "RSI Oversold Level")
bb_len = input.int(20, "Bollinger Bands Length")
bb_mult = input.float(2.0, "Bollinger Bands Multiplier")
sr_len = input.int(15, "Pivot Lookback for Support/Resistance")
min_ema_gap = input.float(0.0, "Minimum EMA Gap to Define Trend", step=0.1)
sr_lifespan = input.int(200, "Bars to Keep S/R Lines")
// Display options
show_bb = input.bool(true, "Show Bollinger Bands?")
show_ema = input.bool(true, "Show EMA Lines?")
show_sr = input.bool(true, "Show Support/Resistance Lines?")
show_bg = input.bool(true, "Show Background Trend Color?")
// ===== COLORS (Dark Neon Theme) =====
neon_teal = color.rgb(0, 255, 200)
neon_purple = color.rgb(180, 95, 255)
neon_orange = color.rgb(255, 160, 60)
neon_yellow = color.rgb(255, 235, 90)
neon_red = color.rgb(255, 70, 110)
neon_gray = color.rgb(140, 140, 160)
sr_support_col = color.rgb(0, 190, 140)
sr_resist_col = color.rgb(255, 90, 120)
// ===== INDICATORS =====
ema_fast = ta.ema(close, ema_fast_len)
ema_slow = ta.ema(close, ema_slow_len)
ema_gap = math.abs(ema_fast - ema_slow)
trend_up = (ema_fast > ema_slow) and (ema_gap > min_ema_gap)
trend_down = (ema_fast < ema_slow) and (ema_gap > min_ema_gap)
trend_flat = ema_gap <= min_ema_gap
rsi = ta.rsi(close, rsi_len)
bb_mid = ta.sma(close, bb_len)
bb_upper = bb_mid + bb_mult * ta.stdev(close, bb_len)
bb_lower = bb_mid - bb_mult * ta.stdev(close, bb_len)
// ===== SUPPORT / RESISTANCE =====
pivot_high = ta.pivothigh(high, sr_len, sr_len)
pivot_low = ta.pivotlow(low, sr_len, sr_len)
var line sup_lines = array.new_line()
var line res_lines = array.new_line()
if show_sr and not na(pivot_low)
l = line.new(bar_index - sr_len, pivot_low, bar_index, pivot_low, color=sr_support_col, width=2, extend=extend.right)
array.push(sup_lines, l)
if show_sr and not na(pivot_high)
l = line.new(bar_index - sr_len, pivot_high, bar_index, pivot_high, color=sr_resist_col, width=2, extend=extend.right)
array.push(res_lines, l)
// Delete old S/R lines
if array.size(sup_lines) > 0
for i = 0 to array.size(sup_lines) - 1
l = array.get(sup_lines, i)
if bar_index - line.get_x2(l) > sr_lifespan
line.delete(l)
array.remove(sup_lines, i)
break
if array.size(res_lines) > 0
for i = 0 to array.size(res_lines) - 1
l = array.get(res_lines, i)
if bar_index - line.get_x2(l) > sr_lifespan
line.delete(l)
array.remove(res_lines, i)
break
// ===== BUY / SELL CONDITIONS =====
buy_cond = trend_up and not trend_flat and ta.crossover(ema_fast, ema_slow) and rsi < rsi_oversold and close < bb_lower
sell_cond = trend_down and not trend_flat and ta.crossunder(ema_fast, ema_slow) and rsi > rsi_overbought and close > bb_upper
// ===== SIGNAL PLOTS =====
plotshape(buy_cond, title="Buy Signal", location=location.belowbar, color=neon_teal, style=shape.labelup, text="BUY", size=size.small)
plotshape(sell_cond, title="Sell Signal", location=location.abovebar, color=neon_red, style=shape.labeldown, text="SELL", size=size.small)
// ===== EMA LINES =====
plot(show_ema ? ema_fast : na, color=neon_orange, title="EMA Fast", linewidth=2)
plot(show_ema ? ema_slow : na, color=neon_purple, title="EMA Slow", linewidth=2)
// ===== STRONG BOLLINGER BAND CLOUD =====
plot_bb_upper = plot(show_bb ? bb_upper : na, color=color.new(neon_yellow, 20), title="BB Upper")
plot_bb_lower = plot(show_bb ? bb_lower : na, color=color.new(neon_gray, 20), title="BB Lower")
plot(bb_mid, color=color.new(neon_gray, 50), title="BB Mid")
// More visible BB cloud (stronger contrast)
bb_cloud_color = trend_up ? color.new(neon_teal, 40) : trend_down ? color.new(neon_red, 40) : color.new(neon_gray, 70)
fill(plot_bb_upper, plot_bb_lower, color=show_bb ? bb_cloud_color : na, title="BB Cloud")
// ===== BACKGROUND COLOR (TREND ZONES) =====
bgcolor(show_bg ? (trend_up ? color.new(neon_teal, 92) : trend_down ? color.new(neon_red, 92) : color.new(neon_gray, 94)) : na)
// ===== ALERTS =====
alertcondition(buy_cond, title="Buy Signal", message="Buy signal triggered. Check chart.")
alertcondition(sell_cond, title="Sell Signal", message="Sell signal triggered. Check chart.")
RSI Hybrid + EMA Cloud + Swings(15m/2H)RSI Hybrid + EMA Cloud (15m Trend + 2H Momentum)
A dual-timeframe trading system combining fast 15-minute trend structure with higher-timeframe 2-Hour momentum, volume and structural levels.
🧩 What This Indicator Does
This tool blends:
🔹 15m Trend (EMA Cloud) – 2 Points
EMA 7 vs 21 → Short trend
EMA 30 vs 74 → Long trend
Cloud shading highlights bullish/bearish alignment
Faster, intraday trend sensitivity
🔹 2H Momentum (RSI Hybrid) – 3 Points
RSI > 50
RSI > SMA(4)
RSI > SMA(12)
Gives short / medium / long momentum confirmation from the higher timeframe.
🔹 2H Volume Pressure – 1 Point
Volume vs 20-SMA
Mild / Moderate / Strong Bull/Bear
Confirms true participation behind price moves
⭐ Score System (0–6 Total)
Component Points
15m EMA Trend 2
2H RSI Hybrid 3
2H Volume Power 1
Total 6
Interpretation:
5–6 → High-confluence direction
3–4 → Partial confluence
1–2 → Weak bias
0 → No reliable direction
Designed for discretionary and semi-systematic intraday traders.
📊 15m Structural Levels
Includes:
✔ Last confirmed 15m Swing High / Swing Low
Based on close-price pivots, not highs/lows.
✔ Live Running High since last Swing LOW
Tracks how far price has extended upward.
✔ Live Running Low since last Swing HIGH
Tracks downward extension after a swing high.
✔ ATR(15m)
Volatility reference for SL/TP or risk modeling.
These levels help in timing entries, managing stops, and identifying breakout/breakdown zones.
🖥 On-Chart Info Table
Summarizes:
15m EMA short & long trend
2H RSI short/medium/long momentum
RSI vs 50
2H volume power
Bull & Bear score (with breakdown)
Last 15m swing highs/lows
ATR(15m)
Color-coded for clarity
💡 Why Use This Indicator
High-speed 15m trend detection
Higher-TF 2H momentum & volume confirmation
Multi-layered bias presented in a simple score
Built-in structure for more intelligent entries/exits
Works on indices, stocks, FX, crypto
Ideal for intraday traders who want speed + reliability
Turnover (Volume * HLC/3)Let's get the elephant out of the room. Everyone knows volume is the key to validate price movement, but you can't compare two volume candles of the same stock when the price is 3 times different you need to account for that. So here it is, Turnover chart, to replace volume entirely, because why would you look at volume when you can look at turnover instead?
Chỉ báo Engulfing (Lọc EMA & K%)chỉ báo engulfing nhằm tìm kiếm tín hiệu đảo chiều với hệ số phủ thân nến là K%
5-8-13 + AVWAP + Fibonacci FULL Sistem (Temiz & Profesyonel)✅ What This Indicator Is Doing (Full Explanation in English)
Your custom system combines several powerful components:
EMA 5-8-13,
AVWAP,
Auto Fibonacci,
Triple-Confirmation Buy/Sell Signals,
Background Trend Coloring.
Below is the complete breakdown.
🟩 1. Trend Detection with EMA 5-8-13
The indicator colors the background based on the alignment of:
EMA 5
EMA 8
EMA 13
Trend logic:
Uptrend (Green background):
EMA5 > EMA8 > EMA13
Downtrend (Red background):
EMA5 < EMA8 < EMA13
Caution Zone (Brown/Orange):
EMA5 < EMA8 but EMA8 > EMA13
→ Trend weakening, prepare for reversal.
🟩 2. Classic Buy/Sell Signals (EMA Cross)
These labels are the small “AL” and “SAT” signals.
BUY: EMA 5 crosses above EMA 13
SELL: EMA 5 crosses below EMA 13
This captures basic trend reversals.
🟩 3. AVWAP Dip/Peak Detection
The indicator automatically finds significant swing points:
AVWAP DIP (Green small label)
AVWAP PEAK (Red small label)
It then launches a new AVWAP line starting from that pivot.
So the yellow line is always the current Anchored VWAP starting from the most recent important DIP or PEAK.
🟩 4. Auto Fibonacci Levels (Clean Version)
The indicator calculates Fibonacci levels based on the last N bars (120 by default):
0.0
0.236
0.382
0.500
0.618
0.786
1.0
You now use the clean version, meaning:
✔ Only one set of Fibonacci lines appears
✔ No overlapping lines
✔ No chart clutter
✔ Always readable and minimal
🟩 5. Triple-Confirmation Buy/Sell Signals (Strong Signals)
These are the more important green/red labels (“🔥 AL” / “⚠️ SAT”).
A TRIPLE BUY (AL) happens when:
Price breaks above AVWAP
EMA 5-8-13 are aligned upward (trendUp)
Price is above Fibonacci 0.382
A TRIPLE SELL (SAT) happens when:
Price breaks below AVWAP
EMA 5-8-13 aligned downward (trendDown)
Price is below Fibonacci 0.382
This removes weak signals and gives high-quality entries and exits.
🟩 Summary of What You Saw on the Chart
Trend shifted to caution zone
Then EMA trend fully turned bearish
Price broke below AVWAP
Price dropped below Fibonacci 0.382
Triple Confirmation Sell appeared
Downtrend continued strongly afterward
Your indicator correctly identified:
👉 Trend weakening
👉 Bearish reversal
👉 Strong Sell zone
👉 Final drop
顶底之王v1
// 1. 强化4H支撑转阻力识别
int pivotLeft = 5, pivotRight = 5 // 调整枢轴判定跨度,提高支撑有效性
float srPrice = request.security(syminfo.tickerid, "240", ta.pivotlow(pivotLeft, pivotRight))
var float currResistance = na // 当前关注的阻力价位
// 当检测到新的4H支撑位且价格跌破它时,更新currResistance
내 스크립트//@version=5
indicator("W Pattern (Double Bottom) Alert", overlay=true)
// Pivot 설정
leftBars = 3
rightBars = 3
// 피벗 로우(저점) 두 개 탐지
pLow1 = ta.pivotlow(low, leftBars, rightBars)
pLow2 = ta.pivotlow(low, leftBars, rightBars)
// 두 번째 저점이 최근 형성되었는지
secondBottom = not na(pLow2)
// W 패턴 조건
// 1) 첫 번째 저점 존재
// 2) 두 번째 저점 존재
// 3) 두 저점 사이의 고점이 존재(넥라인)
neckline = ta.highest(high, leftBars * 4)
// 두 저점 간 가격 간격 조건 (너무 벌어지면 안됨)
validSpacing = pLow2 - pLow1 < pLow1 * 0.1
// 최종 W 패턴 조건
Wpattern = secondBottom and validSpacing and close > neckline
// 차트 표시
plotshape(secondBottom, title="Second Bottom", color=color.orange, style=shape.triangleup, size=size.tiny)
plot(neckline, "Neckline", color=color.yellow)
// 알림 트리거
alertcondition(Wpattern, title="W Pattern Detected", message="W 패턴(더블 바텀) 발생!")
Chop + MSS/FVG Retest (Ace v1.6) – IndicatorWhat this indicator does
Name: Chop + MSS/FVG Retest (Ace v1.6) – Indicator
This is an entry model helper, not just a BOS/MSS marker.
It looks for clean trend-side setups by combining:
MSS (Market Structure Shift) using swing highs/lows
3-bar ICT Fair Value Gaps (FVG)
First retest back into the FVG
A built-in chop / trend filter based on ATR and a moving average
When everything lines up, it plots:
L below the candle = Long candidate
S above the candle = Short candidate
You pair this with a higher-timeframe filter (like the Chop Meter 1H/30M/15M) to avoid pressing the button in garbage environments.
How it works (simple explanation)
Chop / Trend filter
Computes ATR and compares each bar’s range to ATR.
If the bar is small vs ATR → more likely CHOP.
If the bar is big vs ATR → more likely TREND.
Uses a moving average:
Above MA + TREND → trendLong zone
Below MA + TREND → trendShort zone
MSS (Market Structure Shift)
Uses swing highs/lows (left/right bars) to track the last significant high/low.
Bullish MSS: close breaks above last swing high with displacement.
Bearish MSS: close breaks below last swing low with displacement.
Those events are marked as tiny triangles (MSS up/down).
A MSS only stays “valid” for a certain number of bars (Bars after MSS allowed).
3-bar ICT FVG
Bullish FVG: low > high
→ gap between bar 3 high and bar 2 low.
Bearish FVG: high < low
→ gap between bar 3 low and bar 2 high.
The indicator stores the FVG boundaries (top/bottom).
Retest of FVG
Watches for price to trade back into that gap (first touch).
That retest is the “entry zone” after the MSS.
Final Long / Short condition
Long (L) prints when:
Recent bullish MSS
Bullish FVG has formed
Price retests the bullish FVG
Environment = trendLong (ATR + above MA)
Not CHOP
Short (S) prints when:
Recent bearish MSS
Bearish FVG has formed
Price retests the bearish FVG
Environment = trendShort (ATR + below MA)
Not CHOP
So the L/S markers are “model-approved entry candles”, not just any random BOS.
Inputs / Settings
Key inputs you’ll see:
ATR length (chop filter)
How many bars to use for ATR in the chop / trend filter.
Lower = more sensitive, twitchy
Higher = smoother, slower to change
Max chop ratio
If barRange / ATR is below this → treat as CHOP.
Min trend ratio
If barRange / ATR is above this → treat as TREND.
Hide MSS/BOS marks in CHOP?
ON = MSS triangles disappear when the bar is classified as CHOP
Keeps your chart cleaner in consolidation
Swing left / right bars
Controls how tight or wide the swing highs/lows are for MSS:
Smaller = more sensitive, more MSS points
Larger = fewer, more significant swings
Bars after MSS allowed
How many bars after a MSS the indicator will still allow FVG entries.
Small value (e.g. 10) = MSS must deliver quickly or it’s ignored.
Larger (e.g. 20) = MSS idea stays “in play” longer.
Visual RR (for info only)
Just for plotting relative risk-reward in your head.
This is not a strategy tester; it doesn’t manage positions.
What you see on the chart
Small green triangle up = Bullish MSS
Small red triangle down = Bearish MSS
“L” triangle below a bar = Long idea (MSS + FVG retest + trendLong + not chop)
“S” triangle above a bar = Short idea (MSS + FVG retest + trendShort + not chop)
Faint circle plots on price:
When the filter sees CHOP
When it sees Trend Long zone
When it sees Trend Short zone
You do not have to trade every L or S.
They’re there to show “this is where the model would have considered an entry.”
How to use it in your trading
1. Use it with a higher-timeframe filter
Best practice:
Use this with the Chop Meter 1H/30M/15M or some other HTF filter.
Only consider L/S when:
Chop Meter = TRADE / NORMAL, and
This indicator prints L or S in the right location (premium/discount, near OB/FVG, etc.)
If higher-timeframe says NO TRADE, you ignore all L/S.
2. Location > Signal
Treat L/S as confirmation, not the whole story.
For shorts (S):
Look for premium zones (previous highs, OBs, fair value ranges above mid).
Want purge / raid of liquidity + MSS down + bearish FVG retest → then S.
For longs (L):
Look for discount zones (previous lows, OBs/FVGs below mid).
Want stop raid / purge low + MSS up + bullish FVG retest → then L.
If you see L/S firing in the middle of a bigger range, that’s where you skip and let it go.
3. Instrument presets (example)
You can tune the ATR/chop settings per instrument:
MNQ (noisy, 1m chart):
ATR length: 21
Max chop ratio: 0.90
Min trend ratio: 1.40
Bars after MSS allowed: 10
GOLD (cleaner, 3m chart):
ATR length: 14
Max chop ratio: 0.80
Min trend ratio: 1.30
Bars after MSS allowed: 20
You can save those as presets in the TV settings for quick switching.
4. How to practice with it
Open replay on a couple of days.
Check Chop Meter → if NO TRADE, just observe.
When Chop Meter says TRADE:
Mark where L/S printed.
Ask:
Was this in premium/discount?
Was there SMT / purge on HTF?
Did the move actually deliver, or did it die?
Screenshot the A+ L/S and the ugly ones; refine:
ATR length
Chop / trend thresholds
MSS lookback
Your goal is to get it to where:
The L/S marks show up mostly in the same places your eye already likes,
and you ignore the rest.
Hybrid Heiken AshiThis indicator displays real price candles colored by Heiken Ashi trend direction, giving you the noise reduction benefits of HA without the price distortion.
Key Features:
Real candles with HA-based coloring (see actual price action with trend smoothing)
Gradient coloring based on trend strength (darker = stronger trend)
Optional HA close line overlay
Transition markers when HA flips bullish/bearish
Higher timeframe HA background for multi-timeframe confluence
Optional HA ribbon (HA close vs HA EMA)
Info panel showing current HA status, strength, and HTF alignment
Built-in alerts for HA transitions and timeframe alignment
Use Case:
Ideal for traders who want Heiken Ashi's trend-following benefits without losing sight of real price levels for entries and exits. The strength gradient helps identify conviction moves vs weak trends. HTF background helps avoid counter-trend trades.
Settings:
All visual elements are toggleable. Customize colors, choose your higher timeframe, and enable only the features you need.
Average Volume//@version=5
indicator("Average Daily Volume", overlay=false)
// --- Inputs
lookback = input.int(20, "Lookback Period (Days)", minval=1)
// --- Convert chart timeframe to daily volume
// If you’re on intraday, TradingView aggregates intraday bars belonging to a single day
is_new_day = ta.change(time("D")) != 0
daily_volume = ta.valuewhen(is_new_day, volume, 0)
// --- Average daily volume
avg_daily_volume = ta.sma(daily_volume, lookback)
// --- Plot
plot(avg_daily_volume, title="Avg Daily Volume", color=color.new(color.blue, 0))
9/21 EMA Trend TOP rIGHT CORNER INDICATORCrossover indicator for the 9 & 21 EMA. Buy Sell for cross up or down respectively. Daily, weekly and Monthly trend.
Advanced Triple Strategy ScalperHere are the three scalping strategies presented in the video "3 Scalping Strategies That Work Every Day (Backtested & Proven)" by Asia Forex Mentor – Ezekiel Chew:
### Scalper’s Trend Filter (Triple EMA)
This strategy uses three EMAs (25, 50, 100) on the 5-minute chart to filter high-probability trades aligned with momentum .
- Only trade when all three EMAs are angled in the same direction and clearly separated (no crossing or tangling) .
- Enter when price pulls back toward the 25 or 50 EMA and then bounces back toward the 25 EMA, but do not enter if price closes below the 100 EMA .
- Set stop-loss just below the 50 EMA or swing low and aim for a risk-to-reward ratio of 1:1.5 .
### Flip Zone Trap (Reversal Catching)
This method identifies precise reversal moments where market structure shifts from weakness to strength .
- Use the 15-min chart to locate key support or resistance zones where price previously reacted .
- Wait for price to stop making lower lows and begin making higher highs (or vice versa for shorts); confirm with a trendline break AND follow-through (higher lows & highs within 5-7 candles) .
- Use confirmation candles (bullish engulfing, pin bar rejection) at the zone before entry .
### Liquidity Shift Trigger (Smart Money Trap)
This system leverages institutional stop hunts and liquidity sweeps at key zones for sniper entries .
- Start with a 15-min chart to identify structure breaks and points of interest (order blocks, flip zones, demand zones) .
- Drop to 1-min chart and wait for price to enter the refined zone and sweep liquidity (sharp wick/spike below/above key level) .
- Once liquidity is swept, wait for a clean structure shift (break of most recent internal high or low) within 5–6 candles—if confirmed, refine entry to the candle that caused the break and enter when price returns to that candle with a strong reaction .
***
### Practical Application
- These strategies are systematic, rule-based, and designed to cut out fake moves, avoid early stop-outs, and align entries with momentum and institutional activity .
- Perfect for short timeframes and volatile pairs like XAUUSD, especially if paired with additional confirmation from other technical analysis tools .
All three strategies emphasize filtering noise, waiting for momentum/trend confirmation, and avoiding impulsive entries—key principles for consistent scalping success
Quadro v6This implement QUADRO strategy.
Finding divergences on corelated RSI and analyzing them in real time.
More description on it will come later...
920 Order Flow SATY ATR//@version=6
indicator("Order-Flow / Volume Signals (No L2)", overlay=true)
//======================
// Inputs
//======================
rvolLen = input.int(20, "Relative Volume Lookback", minval=5)
rvolMin = input.float(1.1, "Min Relative Volume (× avg)", step=0.1)
wrbLen = input.int(20, "Wide-Range Lookback", minval=5)
wrbMult = input.float(1, "Wide-Range Multiplier", step=0.1)
upperCloseQ = input.float(0.60, "Close near High (0-1)", minval=0.0, maxval=1.0)
lowerCloseQ = input.float(0.40, "Close near Low (0-1)", minval=0.0, maxval=1.0)
cdLen = input.int(25, "Rolling CumDelta Window", minval=5)
useVWAP = input.bool(true, "Use VWAP Bias Filter")
showSignals = input.bool(true, "Show Long/Short OF Triangles")
//======================
// Core helpers
//======================
rng = high - low
tr = ta.tr(true)
avgTR = ta.sma(tr, wrbLen)
wrb = rng > wrbMult * avgTR
// Relative Volume
volAvg = ta.sma(volume, rvolLen)
rvol = volAvg > 0 ? volume / volAvg : 0.0
// Close location in bar (0..1)
clo = rng > 0 ? (close - low) / rng : 0.5
// VWAP (session) + SMAs
vwap = ta.vwap(close)
sma9 = ta.sma(close, 9)
sma20 = ta.sma(close, 20)
sma200= ta.sma(close, 200)
// CumDelta proxy (uptick/downtick signed volume)
tickSign = close > close ? 1.0 : close < close ? -1.0 : 0.0
delta = volume * tickSign
cumDelta = ta.cum(delta)
rollCD = cumDelta - cumDelta
//======================
// Signal conditions
//======================
volActive = rvol >= rvolMin
effortBuy = wrb and clo >= upperCloseQ
effortSell = wrb and clo <= lowerCloseQ
cdUp = ta.crossover(rollCD, 0)
cdDown = ta.crossunder(rollCD, 0)
biasBuy = not useVWAP or close > vwap
biasSell = not useVWAP or close < vwap
longOF = barstate.isconfirmed and volActive and effortBuy and cdUp and biasBuy
shortOF = barstate.isconfirmed and volActive and effortSell and cdDown and biasSell
//======================
// Plot ONLY on price chart
//======================
// SMAs & VWAP
plot(sma9, title="9 SMA", color=color.orange, linewidth=3)
plot(sma20, title="20 SMA", color=color.white, linewidth=3)
plot(sma200, title="200 SMA", color=color.black, linewidth=3)
plot(vwap, title="VWAP", color=color.new(color.aqua, 0), linewidth=3)
// Triangles with const text (no extra pane)
plotshape(showSignals and longOF, title="LONG OF",
style=shape.triangleup, location=location.belowbar, size=size.tiny,
color=color.new(color.green, 0), text="LONG OF")
plotshape(showSignals and shortOF, title="SHORT OF",
style=shape.triangledown, location=location.abovebar, size=size.tiny,
color=color.new(color.red, 0), text="SHORT OF")
// Alerts
alertcondition(longOF, title="LONG OF confirmed", message="LONG OF confirmed")
alertcondition(shortOF, title="SHORT OF confirmed", message="SHORT OF confirmed")
//────────────────────────────
// End-of-line labels (offset to the right)
//────────────────────────────
var label label9 = na
var label label20 = na
var label label200 = na
var label labelVW = na
if barstate.islast
// delete old labels before drawing new ones
label.delete(label9)
label.delete(label20)
label.delete(label200)
label.delete(labelVW)
// how far to move the labels rightward (increase if needed)
offsetBars = input.int(3)
label9 := label.new(bar_index + offsetBars, sma9, "9 SMA", style=label.style_label_left, textcolor=color.white, color=color.new(color.orange, 0))
label20 := label.new(bar_index + offsetBars, sma20, "20 SMA", style=label.style_label_left, textcolor=color.black, color=color.new(color.white, 0))
label200 := label.new(bar_index + offsetBars, sma200, "200 SMA", style=label.style_label_left, textcolor=color.white, color=color.new(color.black, 0))
labelVW := label.new(bar_index + offsetBars, vwap, "VWAP", style=label.style_label_left, textcolor=color.black, color=color.new(color.aqua, 0))
//────────────────────────────────────────────────────────────────────
//────────────────────────────────────────────
// Overnight High/Low + HOD/LOD (no POC)
//────────────────────────────────────────────
sessionRTH = input.session("0930-1600", "RTH Session (exchange tz)")
levelWidth = input.int(2, "HL line width", minval=1, maxval=5)
labelOffsetH = input.int(10, "HL label offset (bars to right)", minval=0)
isRTH = not na(time(timeframe.period, sessionRTH))
rthOpen = isRTH and not isRTH
// --- Track Overnight High/Low during NON-RTH; freeze at RTH open
// --- Track Overnight High/Low during NON-RTH; freeze at RTH open
var float onHigh = na
var float onLow = na
var int onHighBar = na
var int onLowBar = na
var float onHighFix = na
var float onLowFix = na
var int onHighFixBar = na
var int onLowFixBar = na
if not isRTH
if na(onHigh) or high > onHigh
onHigh := high
onHighBar := bar_index
if na(onLow) or low < onLow
onLow := low
onLowBar := bar_index
if rthOpen
onHighFix := onHigh
onLowFix := onLow
onHighFixBar := onHighBar
onLowFixBar := onLowBar
onHigh := na, onLow := na
onHighBar := na, onLowBar := na
// ──────────────────────────────────────────
// Candle coloring + labels for 9/20/VWAP crosses
// ──────────────────────────────────────────
showCrossLabels = input.bool(true, "Show cross labels")
// Helpers
minAll = math.min(math.min(sma9, sma20), vwap)
maxAll = math.max(math.max(sma9, sma20), vwap)
// All three lines
goldenAll = open <= minAll and close >= maxAll
deathAll = open >= maxAll and close <= minAll
// 9/20 only (exclude cases that also crossed VWAP)
dcUpOnly = open <= math.min(sma9, sma20) and close >= math.max(sma9, sma20) and not goldenAll
dcDownOnly = open >= math.max(sma9, sma20) and close <= math.min(sma9, sma20) and not deathAll
// Candle colors (priority: all three > 9/20 only)
var color cCol = na
cCol := goldenAll ? color.yellow : deathAll ? color.black :dcUpOnly ? color.lime :dcDownOnly ? color.red : na
barcolor(cCol)
// Labels
plotshape(showCrossLabels and barstate.isconfirmed and goldenAll, title="GOLDEN CROSS",
style=shape.labelup, location=location.belowbar, text="GOLDEN CROSS",
color=color.new(color.yellow, 0), textcolor=color.black, size=size.tiny)
plotshape(showCrossLabels and barstate.isconfirmed and deathAll, title="DEATH CROSS",
style=shape.labeldown, location=location.abovebar, text="DEATH CROSS",
color=color.new(color.black, 0), textcolor=color.white, size=size.tiny)
plotshape(showCrossLabels and barstate.isconfirmed and dcUpOnly, title="DC UP",
style=shape.labelup, location=location.belowbar, text="DC UP",
color=color.new(color.lime, 0), textcolor=color.black, size=size.tiny)
plotshape(showCrossLabels and barstate.isconfirmed and dcDownOnly, title="DC DOWN",
style=shape.labeldown, location=location.abovebar, text="DC DOWN",
color=color.new(color.red, 0), textcolor=color.white, size=size.tiny)
// ──────────────────────────────────────────
// Audible + alert conditions
// ──────────────────────────────────────────
alertcondition(goldenAll, title="GOLDEN CROSS", message="GOLDEN CROSS detected")
alertcondition(deathAll, title="DEATH CROSS", message="DEATH CROSS detected")
alertcondition(dcUpOnly, title="DC UP", message="Dual Cross UP detected")
alertcondition(dcDownOnly,title="DC DOWN", message="Dual Cross DOWN detected")
Weighted RSI DivergenceWeighted RSI Divergence
A powerful divergence engine that grades every RSI divergence by strength, context, and confluence — helping you filter noise and focus only on the highest-probability reversal setups.
This script combines RSI divergences with five confirmation layers to produce confidence-weighted signals, clearer trade decisions, and alert-ready setups for both bullish and bearish reversals.
What This Indicator Detects
Bullish Divergence → Price makes a lower low while RSI makes a higher low
Bearish Divergence → Price makes a higher high while RSI makes a lower high
Confirmation Factors (Each Adds +1 to the Score)
Volume Spike: Above-average volume on the divergence bar
Trend Alignment: Divergence occurs in harmony with higher-timeframe trend dynamics
Key Level Proximity: Price tests significant support or resistance
Momentum Extremes: RSI reaches oversold/overbought thresholds
Candle Reversal Pattern: Engulfing, pin bar, or similar reversal structure
Confidence Scoring
1–2 → Low Confidence (gray)
3 → Medium Confidence (yellow)
4–5 → High Confidence (green/red)
Higher scores = higher-probability setups.
Visual Components
RSI plot with dynamic gradient coloring
Divergence lines mapped to RSI pivots
Signal labels showing confidence + factors
Background highlighting for high-confidence events
Real-time confidence meter for active bar conditions
Optional data table for factor-by-factor breakdown
Alerts Included
High-confidence bullish & bearish divergences
Medium-confidence signals
Any divergence meeting your minimum threshold
Best Practices
Prioritize setups with 4 or 5 confirmations
Use higher timeframes (4H, 1D, 1W) for more reliable signals
Combine with market structure and price action (S/R, HTF trend, liquidity zones)
Counter-trend divergences require stronger scores to validate
Final Notes
This script focuses on clarity, risk reduction, and selective trade timing. The confidence system helps distinguish weak divergences from high-probability reversal conditions — giving traders a structured, repeatable edge.
Advanced Time Dividers & Killzones IndicatorOverview
A comprehensive Pine Script v6 indicator that displays customizable time period dividers and trading session killzones on your chart. Perfect for intraday traders who need clear visual separation of time periods and want to identify key trading sessions.
✨ Features
Time Period Dividers
Weekly Lines: Vertical lines marking the start of each week
Monthly Lines: Vertical lines marking the start of each month
Quarterly Lines: Vertical lines marking the start of each quarter (Q1, Q2, Q3, Q4)
Yearly Lines: Vertical lines marking the start of each year
Trading Session Killzones
London Session: 2:00-5:00 GMT (Blue shaded box)
New York Session: 7:00-10:00 GMT (Green shaded box)
London Close: 10:00-12:00 GMT (Orange shaded box)
Asia Session: 20:00-00:00 GMT (Pink shaded box)
🎨 Customization Options
Display Controls
Toggle each time divider type individually
Toggle each killzone individually
Adjust historical and future display range
Show/hide labels on dividers and killzones
Style Customization
Line Styles: Choose between Solid, Dashed, or Dotted lines
Line Width: Adjustable from 1 to 5 pixels
Colors: Fully customizable colors for each element with transparency control
Label Size: Choose from Tiny, Small, Normal, or Large
Period Settings
Control how many bars to display in the past (0-5000)
Control how many bars to display in the future (0-1000)
📋 Usage Instructions
Add to Chart: Add the indicator to any chart
Select Timeframe: Works best on intraday timeframes (1H, 15min, 5min) for killzones
Customize: Open settings to enable/disable features and customize colors
Trading: Use the dividers to identify time periods and killzones to spot high-liquidity sessions
💡 Trading Applications
Time Dividers
Weekly/Monthly Analysis: Identify major time period transitions
Market Structure: Analyze how price behaves at period boundaries
Event Correlation: Align with economic calendar events
Killzones
High Liquidity Periods: Trade during peak market activity
ICT Strategy: Follows Inner Circle Trader killzone concepts
Session-Based Trading: Focus on specific trading sessions
Volatility Windows: Identify when major moves typically occur
⚙️ Technical Details
Version: Pine Script v6
Type: Overlay indicator
Max Lines: 500 (optimized performance)
Max Boxes: 500 (for killzone visualization)
Timezone: GMT/UTC for killzones
Memory Efficient: Automatic cleanup of old objects
🎯 Best Practices
Combine with Price Action: Use dividers to frame your analysis
Focus on Killzones: Most significant price moves occur during these sessions
Adjust Transparency: Find the right balance between visibility and chart clarity
Use Labels Wisely: Toggle labels on/off based on your needs
Timeframe Selection: Use lower timeframes (≤1H) to see killzones clearly
📝 Notes
Killzone times are in GMT/UTC timezone
Works on all instruments (Forex, Crypto, Stocks, Futures)
Optimized for performance with automatic memory management
Fully compatible with other indicators
🔄 Updates & Support
This indicator is actively maintained. Feel free to suggest improvements or report issues in the comments.
RSI to 50 - TemujinTradingSimple indicator that shows the price levels required for the RSI to get to the value of 50.
What I observe is 50 rsi often acts as support or resistance and is a fair indication of bullish/bearish sentiment and price action and bounce/rejection levels.
It provides a table showing current time frame, 4 hr, daily, weekly describing the current rsi value and the price needed for that rsi to get to 50. This table is colored red when bearish at the time frame and green when bullish (as per <50 rsi or >50rsi).
Plots historical lines of each previous candle in the series showing how price interacts.
LiquidityPulse — RSI + Candle Strength Momentum Reversal SuiteLiquidityPulse — RSI + Candle Strength Momentum Reversal Suite description:
Non-repainting indicator.
⚙️ First-time Setup – Make the Candles Visible
To see the custom candle colours correctly you must disable the chart’s own candle borders and wicks:
Right-click anywhere on your chart (or click the ⚙ gear icon) and choose Settings.
Open the Appearance tab → Candles section.
Untick both Body Borders and Wicks (or set their colours to 100 % transparent).
Click OK.
Without this step the platform’s default candle styling can hide the indicator’s dynamic candle fills.
Overview
This script merges price-action strength with momentum extremes to highlight potentially significant market turning points:
Candle Strength 1–10 – Every candle is graded on a ten-point scale based on body size and volume relative to recent averages. Strong bullish or bearish candles are colour-coded with one of five optional themes (Classic, Cool, Neon, Pastel or Abyss).
RSI Extremes Filter – A standard 14-period RSI monitors overbought and oversold levels.
Only when both a high-grade candle and an RSI extreme occur together does the script optionally plot an arrow to mark a potential reversal area.
How It Works
Each candle receives a bull or bear strength score (1–10) using an internal candle-strength scoring formula.
RSI is checked across a user-defined look-back window (default 2 bars).
Bull Arrow Marker – printed below the bar only when
Bull strength ≥ Min candle strength (default 8), and
RSI dips below the oversold level (default 30) within the look-back window.
Bear Arrow Marker – printed above the bar only when
Bear strength ≥ Min candle strength (default 8), and
RSI rises above the overbought level (default 70) within the look-back window.
These dual conditions make the arrows intentionally rare depending on the settings used, and are designed to highlight momentum conditions associated with potential turning points
How to Use It in Your Own Trading
Market Context First – Apply the indicator only after you have identified the broader trend or key support/resistance areas on higher time-frames.
Confirmation, Not Prediction – Use the arrows as a confirmation of potential exhaustion or reversal; they are not intended as stand-alone entry triggers.
Adjust to Your Style –
Short-term traders might reduce the “RSI look-back bars” to 1 for quicker but more frequent alerts.
Swing traders may raise the “Min candle strength” to 9 or 10 to focus only on the strongest setups.
Combine with Risk Management – Always confirm with your own stop-loss and position-sizing rules.
Why this indicator is useful:
Confluence – It joins price-action strength (candle/volume) with a classic momentum oscillator (RSI), reducing noise from using either method alone.
Visual Clarity – Dynamic candle colouring makes market strength visible at a glance; depending on the settings used, rare arrows can highlight potential reversal areas based on momentum conditions.
Flexibility – All parameters adapt to any market or timeframe.
Educational Value – It helps traders learn how momentum extremes and candle strength interact—valuable for both beginners and experienced traders.
Inputs – Default Values
Min candle strength: 8
RSI look-back bars: 2
Overbought level: 70
Oversold level: 30
Candle-Strength engine: look-back 50 bars, ATR length 14, Body ≥ 0.5×ATR, Volume floor 10 000, Sensitivity 2
Optional features: five colour themes, strength number labels, label background at 42 % opacity.
All settings can be modified to suit different markets and trading styles.
Alerts
Two built-in alert conditions:
Bull Candle-RSI Condition
Bear Candle-RSI Condition
These can trigger alerts when the conditions are met.
If you have any questions about the indicator just pop me a message, happy trading!
Disclaimer
This script is 100 % my own original work.
Trading and investing involve substantial risk and are not suitable for every investor.
This indicator is provided for educational and informational purposes only to assist individuals with their own market analysis.
It is not a buy or sell signal and should not be considered financial advice.
Use it only in conjunction with your own analysis and trade at your own risk.






















