Levels With Touch Color (Dotted Touch)Engulfing Candles — Levels with Touch & Liquidity Sweep
This indicator detects bullish and bearish engulfing candlestick patterns and plots support/resistance levels based on these patterns. It also highlights touch points where price interacts with these levels and visualizes liquidity areas for potential buy and sell zones.
Features:
Detects bullish and bearish engulfing patterns
Plots fixed levels at the high or low of the engulfing candle
Pointed touch lines:
Level changes color when price touches the level without breaking it
Green for bullish touches, red for bearish touches
Liquidity visualization:
Buy-side liquidity displayed as a line below the touched bullish level
Sell-side liquidity displayed as a line above the touched bearish level
Clean visual design with no background boxes, keeping the chart uncluttered
Automatic management of historical lines to prevent chart overload
Fully customizable liquidity offset and max number of historical levels
How to use:
Look for engulfing candle levels forming on the chart.
Watch the touch lines (green/red) for potential price reaction areas.
Identify zones where stop-hunts or market liquidity might appear.
Combine with your strategy or price action tools to find entries or exits.
Inputs:
Max history lines — Limits how many historical levels are kept on the chart
Liquidity offset — Adjusts distance of liquidity lines from the original level
Notes:
Touch lines turn colored only when price interacts with the level but does not break it.
Liquidity lines extend a few bars forward for visual clarity.
Works on all timeframes.
Corak carta
AI Oversold Swing - Screener//@version=5
indicator("AI Oversold Swing - Screener", overlay=false)
// ─────────────────────────
// USER INPUTS
// ─────────────────────────
maxPrice = input.float(75.0, "Max Price ($)")
rsiLen = input.int(14, "RSI Length")
rsiOversold = input.float(35.0, "RSI Oversold Level")
bbLen = input.int(20, "BB Length")
bbMult = input.float(2.0, "BB StdDev")
supportLen = input.int(20, "Support Lookback (days)")
nearSupportPct = input.float(1.5, "Near Support %")
undercutPct = input.float(0.5, "Allowed Undercut %")
atrLen = input.int(14, "ATR Length")
maxATRfromSup = input.float(1.0, "Max ATR From Support")
minDollarVol = input.float(75000000.0, "Min Dollar Volume", step=1000000)
requireTrigger = input.bool(false, "Require Reversal Trigger")
// ─────────────────────────
// DAILY DATA (screener uses indicator outputs)
// ─────────────────────────
dClose = request.security(syminfo.tickerid, "D", close)
dLow = request.security(syminfo.tickerid, "D", low)
dVol = request.security(syminfo.tickerid, "D", volume)
dPrevC = request.security(syminfo.tickerid, "D", close )
// ─────────────────────────
// INDICATORS
// ─────────────────────────
rsi = ta.rsi(dClose, rsiLen)
basis = ta.sma(dClose, bbLen)
dev = bbMult * ta.stdev(dClose, bbLen)
bbLow = basis - dev
atr = request.security(syminfo.tickerid, "D", ta.atr(atrLen))
support = ta.lowest(dLow, supportLen)
distPct = support > 0 ? (dClose - support) / support * 100.0 : na
distATR = atr > 0 ? (dClose - support) / atr : na
dollarVol = dClose * dVol
// ─────────────────────────
// CONDITIONS
// ─────────────────────────
priceOK = dClose > 0 and dClose <= maxPrice
liqOK = dollarVol >= minDollarVol
oversold = (rsi <= rsiOversold) and (dClose <= bbLow)
nearSup =
support > 0 and
dClose <= support * (1 + nearSupportPct / 100.0) and
dClose >= support * (1 - undercutPct / 100.0) and
distATR <= maxATRfromSup
setup = priceOK and liqOK and oversold and nearSup
// Optional reversal confirmation
rsiReversal = ta.crossover(rsi, rsiOversold)
greenCandle = dClose > dPrevC
trigger = rsiReversal or greenCandle
signal = requireTrigger ? (setup and trigger) : setup
// ─────────────────────────
// SCREENER OUTPUTS
// ─────────────────────────
plot(signal ? 1 : 0, title="Signal (1 = YES)")
plot(rsi, title="RSI (Daily)")
plot(distPct, title="Dist to Support % (Daily)")
plot(distATR, title="Dist to Support ATR (Daily)")
plot(dollarVol, title="Dollar Volume (Daily)")
MFI/RSI Divergence Lower하단 지표 구성 및 활용법
MFI (Aqua Line): 거래량이 가중된 자금 흐름입니다. 지지선 근처에서 이 선이 저점을 높이면(다이버전스) 강력한 매수 신호입니다.
RSI (Yellow Line): 가격의 상대적 강도입니다. MFI와 함께 움직임을 비교하여 보조적으로 활용합니다.
리페인팅 방지 핵심: offset=-lb_r 설정을 통해, 지표가 확정되는 시점(피벗 완성 시점)에 정확히 신호가 표시되도록 구현했습니다. 이는 과거 백테스트 결과와 실시간 매매 결과가 일치하도록 보장합니다.
실전 응용
지지/저항 필터: 이 지표 단독으로 사용하기보다, 차트 상의 주요 지지선에 가격이 위치했을 때 발생하는 BULL DIV 신호만 골라 매수하면 승률이 극대화됩니다.
손절/익절 최적화: 현재 1.5% 손절, 3% 익절로 설정되어 있습니다. 종목의 변동성(ATR)에 따라 group_risk에서 수치를 조정하며 최적의 수익 곡선을 찾아보십시오.
//@version=6
strategy("Hybrid MFI/RSI Divergence Lower",
overlay=false, // 하단 지표 설정을 위해 false
initial_capital=10000,
default_qty_type=strategy.percent_of_equity,
default_qty_value=10,
commission_type=strategy.commission.percent,
commission_value=0.05,
slippage=1)
// --- ---
group_date = "1. 백테스트 기간"
start_time = input.time(timestamp("2024-01-01 00:00:00"), "시작일", group=group_date)
end_time = input.time(timestamp("2026-12-31 23:59:59"), "종료일", group=group_date)
within_window() => time >= start_time and time <= end_time
group_osc = "2. 오실레이터 설정"
mfi_len = input.int(14, "MFI 기간", group=group_osc)
rsi_len = input.int(14, "RSI 기간", group=group_osc)
ob_level = input.int(80, "과매수 기준", group=group_osc)
os_level = input.int(20, "과매도 기준", group=group_osc)
group_div = "3. 다이버전스 감도"
lb_l = input.int(5, "피벗 왼쪽 범위", group=group_div)
lb_r = input.int(5, "피벗 오른쪽 범위", group=group_div)
group_risk = "4. 리스크 관리"
tp_pct = input.float(3.0, "익절 (%)", step=0.1, group=group_risk) / 100
sl_pct = input.float(1.5, "손절 (%)", step=0.1, group=group_risk) / 100
// --- ---
mfi_val = ta.mfi(close, mfi_len)
rsi_val = ta.rsi(close, rsi_len)
avg_val = (mfi_val + rsi_val) / 2 // MFI와 RSI의 평균값으로 부드러운 흐름 파악
// --- ---
// 저점 피벗 탐지 (MFI 기준)
pl = ta.pivotlow(mfi_val, lb_l, lb_r)
ph = ta.pivothigh(mfi_val, lb_l, lb_r)
// Bullish Divergence (상승 다이버전스)
var float last_pl_mfi = na
var float last_pl_price = na
bool is_bull_div = false
if not na(pl)
last_pl_mfi := mfi_val
last_pl_price := low
// 이전 저점 탐색
float prev_pl_mfi = ta.valuewhen(not na(pl), mfi_val , 1)
float prev_pl_price = ta.valuewhen(not na(pl), low , 1)
if low < prev_pl_price and mfi_val > prev_pl_mfi
is_bull_div := true
// Bearish Divergence (하락 다이버전스)
var float last_ph_mfi = na
var float last_ph_price = na
bool is_bear_div = false
if not na(ph)
last_ph_mfi := mfi_val
last_ph_price := high
float prev_ph_mfi = ta.valuewhen(not na(ph), mfi_val , 1)
float prev_ph_price = ta.valuewhen(not na(ph), high , 1)
if high > prev_ph_price and mfi_val < prev_ph_mfi
is_bear_div := true
// --- ---
if within_window()
if is_bull_div
strategy.entry("Bull", strategy.long, comment="Bull Div")
if is_bear_div
strategy.entry("Bear", strategy.short, comment="Bear Div")
strategy.exit("ExB", "Bull", limit=strategy.position_avg_price * (1 + tp_pct), stop=strategy.position_avg_price * (1 - sl_pct))
strategy.exit("ExS", "Bear", limit=strategy.position_avg_price * (1 - tp_pct), stop=strategy.position_avg_price * (1 + sl_pct))
// --- ---
// 배경 레이아웃
hline(ob_level, "Overbought", color=color.new(color.red, 50), linestyle=hline.style_dashed)
hline(50, "Middle", color=color.new(color.gray, 70))
hline(os_level, "Oversold", color=color.new(color.green, 50), linestyle=hline.style_dashed)
// 메인 지표 플롯
plot(mfi_val, "MFI (Money Flow)", color=color.new(color.aqua, 0), linewidth=2)
plot(rsi_val, "RSI (Momentum)", color=color.new(color.yellow, 50), linewidth=1)
// 다이버전스 발생 시 하단 지표 영역에 선 그리기
plotshape(is_bull_div ? mfi_val : na, "Bull Div Circle", shape.circle, location.absolute, color.green, size=size.tiny, offset=-lb_r)
plotshape(is_bear_div ? mfi_val : na, "Bear Div Circle", shape.circle, location.absolute, color.red, size=size.tiny, offset=-lb_r)
// 과매수/과매도 배경색
fill(hline(ob_level), hline(100), color.new(color.red, 90))
fill(hline(0), hline(os_level), color.new(color.green, 90))
MFI-RSI Convergence Strategy거래량(Volume)과 가격 모멘텀을 동시에 고려하는 **MFI(Money Flow Index)**는 지지선에서의 '진짜 반등'을 포착하는 데 가장 강력한 도구입니다. 여기에 RSI를 결합하여 모멘텀의 강도까지 확인하는 'Hybrid Volume-Momentum Oscillator' 전략을 작성해 드립니다.
하이브리드 지표의 핵심 메커니즘
MFI(Money Flow Index)의 역할:
MFI는 단순히 가격이 낮아졌는가만 보는 것이 아니라, **'낮은 가격에서 거래량이 터졌는가'**를 계산합니다.
지지선에서 MFI가 20 이하로 떨어진다는 것은 "스마트 머니"가 매집을 준비하는 단계이거나, 투매가 정점에 달해 거래량이 실린 반등이 임박했음을 뜻합니다.
RSI와의 컨버전스(Convergence):
RSI는 가격의 속도를 측정합니다. MFI가 과매도인데 RSI가 아직 높다면, 거래량은 들어오지만 가격의 하락 관성이 여전히 강하다는 뜻입니다.
이 코드의 핵심은 mfi_val <= mfi_low와 rsi_val <= rsi_low가 동시에 만족될 때만 진입하는 것입니다. 이는 거래량 유입 + 하락 관성 둔화가 일치하는 고확률 타점입니다.
리페인팅 차단 및 현실적 시뮬레이션:
ta.mfi와 ta.rsi는 기본적으로 현재 봉의 종가를 기준으로 계산되므로 리페인팅이 발생하지 않습니다.
commission_value=0.05를 통해 거래소 수수료를 반영하여, 잦은 매매로 인한 손실 가능성을 미리 확인할 수 있게 설계했습니다.
//@version=6
strategy("MFI-RSI Convergence Strategy",
overlay=false, // 하단 지표 형태 확인을 위해 false 설정 (차트 위 신호는 별도 plotshape 사용)
initial_capital=10000,
default_qty_type=strategy.percent_of_equity,
default_qty_value=10,
commission_type=strategy.commission.percent,
commission_value=0.05,
slippage=1)
// --- ---
group_date = "1. 백테스트 기간"
start_time = input.time(timestamp("2024-01-01 00:00:00"), "시작일", group=group_date)
end_time = input.time(timestamp("2026-12-31 23:59:59"), "종료일", group=group_date)
within_window() => time >= start_time and time <= end_time
group_mfi = "2. MFI (Volume) 설정"
mfi_length = input.int(14, "MFI 기간", minval=1, group=group_mfi)
mfi_low = input.int(20, "MFI 과매도 (매수세 유입 대기)", group=group_mfi)
mfi_high = input.int(80, "MFI 과매수 (매도세 유입 대기)", group=group_mfi)
group_rsi = "3. RSI (Momentum) 설정"
rsi_length = input.int(14, "RSI 기간", minval=1, group=group_rsi)
rsi_low = input.int(30, "RSI 과매도", group=group_rsi)
rsi_high = input.int(70, "RSI 과매수", group=group_rsi)
group_risk = "4. 리스크 관리"
tp_pct = input.float(3.0, "익절 (%)", step=0.1, group=group_risk) / 100
sl_pct = input.float(1.5, "손절 (%)", step=0.1, group=group_risk) / 100
// --- ---
// MFI (가격 + 거래량 가중)
mfi_val = ta.mfi(close, mfi_length)
// RSI (가격 변동 강도)
rsi_val = ta.rsi(close, rsi_length)
// --- ---
// 매수 조건: MFI와 RSI가 모두 과매도 구간일 때 (강력한 반등 예상 지점)
long_condition = (mfi_val <= mfi_low) and (rsi_val <= rsi_low)
// 매도 조건: MFI와 RSI가 모두 과매수 구간일 때
short_condition = (mfi_val >= mfi_high) and (rsi_val >= rsi_high)
// --- ---
if within_window()
if long_condition
strategy.entry("Long", strategy.long, comment="VLM+MOM Bottom")
if short_condition
strategy.entry("Short", strategy.short, comment="VLM+MOM Top")
// 익절 및 손절 설정
strategy.exit("Ex Long", "Long", limit=strategy.position_avg_price * (1 + tp_pct), stop=strategy.position_avg_price * (1 - sl_pct))
strategy.exit("Ex Short", "Short", limit=strategy.position_avg_price * (1 - tp_pct), stop=strategy.position_avg_price * (1 + sl_pct))
// --- ---
// 배경 가이드라인
hline(mfi_high, "Upper Boundary", color=color.gray, linestyle=hline.style_dashed)
hline(50, "Middle", color=color.new(color.gray, 50))
hline(mfi_low, "Lower Boundary", color=color.gray, linestyle=hline.style_dashed)
// 지표 플롯
plot(mfi_val, "MFI (Volume Flow)", color=color.aqua, linewidth=2)
plot(rsi_val, "RSI (Momentum)", color=color.yellow, linewidth=1)
// 중첩 구간 강조 (Convergence)
fill_color = (mfi_val <= mfi_low and rsi_val <= rsi_low) ? color.new(color.green, 70) :
(mfi_val >= mfi_high and rsi_val >= rsi_high) ? color.new(color.red, 70) : na
bgcolor(fill_color)
// 신호 발생 시 하단에 아이콘 표시
plotshape(long_condition, title="Buy Signal", location=location.bottom, color=color.green, style=shape.triangleup, size=size.small)
plotshape(short_condition, title="Sell Signal", location=location.top, color=color.red, style=shape.triangledown, size=size.small)
Clean SMC: Filtered OB + FVGHow does this indicator work?
Fair Value Gaps (FVG): It identifies price imbalances (gaps between the wick of candle 1 and candle 3). They appear as small, light-colored rectangles.
Order Blocks (OB): It marks "Smart Money" candles that precede a strong impulse. These areas are extended to the right because they often act as future support or resistance.
Signals (BUY/SELL): The indicator displays a signal when it detects a confluence (for example, a bullish OB appearing right after an FVG).
Some friendly trading tips:
Timeframe: This indicator works best on higher timeframes (15m, 1h, 4h) to avoid market "noise."
Confirmation: Don't take a "BUY" signal on its own. Check if the overall trend (on a higher timeframe) is also bullish.
Risk management: Always place your Stop Loss just below the identified Order Block.
RSI on 21 MA (Custom)RSI on 21 MA (Custom)
RSI on 21 MA (Custom) is a momentum-based indicator that applies the Relative Strength Index (RSI) to a 21-period Simple Moving Average of price instead of raw price data. This approach helps reduce market noise and provides smoother, more reliable momentum signals.
The indicator first calculates a 21-period SMA of the closing price, then computes RSI on this moving average. A short moving average is further applied to the RSI values for additional smoothing, making trend strength and reversals easier to identify.
🔧 Features
RSI calculated on a 21-period Moving Average
Smoothed RSI for clearer momentum structure
Customizable RSI length, MA length, and smoothing period
Adjustable Overbought & Oversold levels
Useful for trend continuation, reversal spotting, and momentum confirmation
📌 How to Use
RSI staying above mid-range indicates bullish momentum
RSI staying below mid-range indicates bearish momentum
Crosses above the oversold level may signal potential bullish reversal
Crosses below the overbought level may signal potential bearish reversal
Best used with price action, support & resistance, or volume indicators
🎯 Ideal for traders who prefer clean momentum signals with reduced noise, especially in trending markets.
SMA Convergence Finder (7, 25, 50)This to detect and show the three SMAs(7,25,50)convergence's point.
small orange cicle is showed at the point.
EMA 9, 20, 30, 200 (Buy Trend Filter Only)EMA 9, 20, 30, 200 (Buy Trend Filter Only) simple ema crossing analysis
SMC Pro : OB Longues + FVGHow does this indicator work?
Fair Value Gaps (FVG): It identifies price imbalances (gaps between the wick of candle 1 and candle 3). They appear as small, light-colored rectangles.
Order Blocks (OB): It marks "Smart Money" candles that precede a strong impulse. These areas are extended to the right because they often act as future support or resistance.
Signals (BUY/SELL): The indicator displays a signal when it detects a confluence (for example, a bullish OB appearing right after an FVG).
Some friendly trading tips:
Timeframe: This indicator works best on higher timeframes (15m, 1h, 4h) to avoid market "noise."
Confirmation: Don't take a "BUY" signal on its own. Check if the overall trend (on a higher timeframe) is also bullish.
Risk management: Always place your Stop Loss just below the identified Order Block.
Gemini Clean OB AlertPivot Point Usage: Instead of detecting each candle of an opposite color, the script uses `ta.pivothigh/low`. This means it only marks a Pivot Point if the price has actually made a significant high or low relative to the 10 preceding and following candles.
Dynamic Cleanup (Mitigation): As soon as the price returns to "fill" the area (depending on your choice: simple contact or close), the box disappears from the chart. This keeps your view clean and focused on the remaining untouched areas.
Period Setting: You can increase the "Detection Period" (e.g., from 10 to 20) in the settings to filter out even more noise and keep only the major areas.
Clean SMC: Filtered OB + FVGHow does this indicator work?
Fair Value Gaps (FVG): It identifies price imbalances (gaps between the wick of candle 1 and candle 3). They appear as small, light-colored rectangles.
Order Blocks (OB): It marks "Smart Money" candles that precede a strong impulse. These areas are extended to the right because they often act as future support or resistance.
Signals (BUY/SELL): The indicator displays a signal when it detects a confluence (for example, a bullish OB appearing right after an FVG).
Some friendly trading tips:
Timeframe: This indicator works best on higher timeframes (15m, 1h, 4h) to avoid market "noise."
Confirmation: Don't take a "BUY" signal on its own. Check if the overall trend (on a higher timeframe) is also bullish.
Risk management: Always place your Stop Loss just below the identified Order Block.
Strong Daily Reversal Arrows / Labels
🔁 Reversal indicator on the daily time frame
Bullish Reversal
✔ Previous day was bearish
✔ Today is bullish
✔ Today closes above previous day close
Bearish Reversal
✔ Previous day was bullish
✔ Today is bearish
✔ Today closes below previous day close
Clean SMC: Filtered OB + FVGHow does this indicator work?
Fair Value Gaps (FVG): It identifies price imbalances (gaps between the wick of candle 1 and candle 3). They appear as small, light-colored rectangles.
Order Blocks (OB): It marks "Smart Money" candles that precede a strong impulse. These areas are extended to the right because they often act as future support or resistance.
Signals (BUY/SELL): The indicator displays a signal when it detects a confluence (for example, a bullish OB appearing right after an FVG).
Some friendly trading tips:
Timeframe: This indicator works best on higher timeframes (15m, 1h, 4h) to avoid market "noise."
Confirmation: Don't take a "BUY" signal on its own. Check if the overall trend (on a higher timeframe) is also bullish.
Risk management: Always place your Stop Loss just below the identified Order Block.
daily reversalindicator that marks when the current daily candle (bullish or bearish) closes beyond the previous day’s High or Low.
Logic implemented
Bullish condition → Today closes above yesterday’s High
Bearish condition → Today closes below yesterday’s Low
Works only on Daily timeframe
Plots labels/arrows on the chart
PaisaPani - Nifty Demo PerformanceThis chart shows a market structure view using the PaisaPani framework.
The table visible on the chart is a DEMO performance representation.
This idea does NOT provide live Buy/Sell signals.
🔒 The complete PaisaPani strategy is Invite-Only.
Shared for educational purposes only.
Clean SMC: Filtered OB + FVG Fair Value Gaps (FVG): This identifies price imbalances (gaps between the wick of candle 1 and candle 3). They appear as small, light-colored rectangles.
* Order Blocks (OB): This marks "Smart Money" candles that precede a strong impulse. These areas are extended to the right because they often act as future support or resistance.
* Signals (BUY/SELL): The indicator displays a signal when it detects a confluence (for example, a bullish OB appearing right after an FVG).
Some friendly trading tips:
* Timeframe: This indicator works best on higher timeframes (15m, 1h, 4h) to avoid market "noise."
* Confirmation: Don't take a "BUY" signal alone. Check if the overall trend (on a higher timeframe) is also bullish.
* Risk management: Always place your Stop Loss just below the identified Order Block.
Would you like me to add a specific feature, such as a notification on your phone or a trend filter (moving average) to refine the signals?
NSE Monthly Expiry 2022-26 : Ashish RajoriaThis indicator, "NSE Monthly Expiry Marker 2022-2026", is designed for traders on TradingView to visually track NSE (National Stock Exchange) monthly F&O (Futures & Options) expiry dates from 2022 to 2026. It plots red dashed vertical lines on each expiry date, with labels showing the month, year, and exact date for easy identification. The dates are accurately calculated based on NSE rules: last Thursday for months up to August 2025, and last Tuesday from September 2025 onwards, with holiday adjustments (e.g., shifted if expiry falls on a holiday). Additionally, it includes trading days, holidays in the session, and a link to www.GSTwork.com for reference. Ideal for option traders to plan strategies around expiry cycles, this tool helps in analyzing patterns over multiple years without manual calculations. Note: Ensure your chart timeframe is daily or higher for best visibility.
Forensics V19: Ultimate S&D + VSAGood for chart
it will give indicatopn , dont trad with this please make study
Previous Periods Highs and Lows + LabelsThis indicator plots the high and low prices from the previous Day, Week, and Month as horizontal lines on any timeframe chart. It provides clear visual reference to key historical support and resistance levels commonly used by traders for: breakout and reversal identification
stop-loss placement
target setting
Features include distinct colors for each period and optional price labels displayed on the right side of the chart for quick reference.Simple, non-repainting, and optimized for both intraday and swing trading setups.
Abe's MES Apex Runner - Chop & TrendHow to use this to Hold Longer:
The Entry: When the "ENTRY" label appears, it means the MES and MNQ are both stretched and a reversal pattern has formed.
The "Cloud" Rule: Notice the shaded area between the two EMAs (the Cloud).
If you are in a Long, stay in as long as the Cloud is Green and price stays above the Red line.
If you are in a Short, stay in as long as the Cloud is Red and price stays below the Green line.
The VWAP Target: The Orange line is your first target. Once price hits the Orange line, move your Stop Loss to Break Even.
The Runner: After hitting the Orange line, don't close the whole trade. Keep a "Runner" until the Cloud changes color. This is how you catch those 20-30 point MES moves instead of just 4-5 points.
Magic PP TouchLets make this bread, magic hour pattern
Wait for a break above the high or low and then enter in opposite direction.






















