👑 KRAL’in Morning Star Radari (Tam Donanimli)Hello friends. Standing before you, this indicator is an indicator that detects a "morning star" candle formation in which the decline %, falling candle number and volume are higher than the previous one and gives this as a warning. Enjoy it.
Genişlik Göstergeleri
Volume Pulse con segnali e DashboardThe Volume Pulse indicator is designed for scalping strategies, helping traders identify quick, high-probability trading opportunities based on two main factors:
Range Breakout: When the price breaks above or below a key level (the highest or lowest point of a specified range).
Volume Confirmation: The breakout is validated if the volume is significantly higher than the average (multiplied by a customizable factor) to confirm that the move is strong and not a false breakout.
How It Works:
BUY Signals: Triggered when the price breaks above the high of a defined range (range 1 or 2), with volume exceeding the average by the specified multiplier (vol_threshold).
SELL Signals: Triggered when the price falls below the low of a defined range, with volume confirming the move.
The BUY signals are shown as green upward arrows below the candle, while the SELL signals appear as red downward arrows above the candle.
Sidebar Dashboard:
The sidebar dashboard provides real-time market conditions:
Signal Status: Displays whether a BUY or SELL signal is active.
Volume: Shows the current candle's volume.
Volatility: Indicates the volatility, calculated as the standard deviation of the closing prices, useful for assessing market pressure.
Alerts:
Alerts are set up to notify the trader when a BUY or SELL signal occurs, allowing for quick reaction to market conditions.
Customization:
You can adjust the volume multiplier to make the signals more or less selective.
The dashboard can be customized to show additional information or adjust its placement on the chart.
Conclusion:
This scalping indicator combines breakout analysis with volume confirmation, offering a quick and effective way to spot short-term trading opportunities. It provides clear visual signals and an intuitive dashboard to help scalpers analyze the market and act swiftly.
MR CHAU🔍 MR CHAU — Trend & Reversal Smart Indicator
MR CHAU is a smart price action-based tool that helps you spot trend direction and key reversal signals. It colors candles based on strength, detects bullish/bearish pinbars and engulfing patterns, and highlights retest zones where price often turns.
📊 Built for traders who value clean visuals and actionable signals — no clutter, just clarity.
✅ Buy/Sell alerts included
✅ Works on all timeframes
✅ Perfect for trend-followers and reversal traders
Comercial Trader -Vol. Desvio PadrãoScript criado para fazer a distribuição de volatilidade do ativo pelo desvio padrão
Swing Trading PRO - Moving averages + RSIWhat the Lines Mean ?
Orange Line (Fast EMA) = 20-period Exponential Moving Average
Blue Line (Slow EMA) = 50-period Exponential Moving Average
These are used to determine market trend:
If orange (EMA 20) is above blue (EMA 50) → Market is in an uptrend
If orange is below blue → Market is in a downtrend
Use on 4H or Daily timeframe for swing trades
Avoid using in sideways/choppy markets (when the EMAs are close together or crossing repeatedly)
Combine with support/resistance or Fibonacci retracements for more precise exits
PDH/PDL HUD (Final, Always Visible)This script creates a simple, reliable heads-up display (HUD) in the top-right corner of the chart that shows:
Previous Day High (PDH)
Previous Day Low (PDL)
It uses session rollover (detected via daily time change) to lock in values from the prior trading day. The data is displayed in a single, always-visible table—no chart overlays, no line clutter, no in-bar labels.
OptimumTrader SignalsOptimumTrader Signals is a user-friendly indicator that generates BUY and SELL signals based on moving average crossovers (default: 9-period and 21-period MAs). It features customizable candle colors, signal labels, and dashed signal lines to help traders identify trends easily.
Small Cap Momentum Entry System✅ Features Included:
Momentum entry detection
Trailing stop overlay
Alert for entry and exit
Pre-market high line (optional display toggle)
Chandelier Exit 優化版//@version=5
indicator('Chandelier Exit 優化版', shorttitle='CE優化', overlay=true)
var string calcGroup = 'Calculation'
length = input.int(title='ATR週期', defval=22, group=calcGroup)
mult = input.float(title='ATR倍數', step=0.1, defval=3.0, group=calcGroup)
useClose = input.bool(title='使用收盤價計算高低點', defval=true, group=calcGroup)
var string visualGroup = '視覺設定'
showLabels = input.bool(title='顯示買/賣標籤', defval=true, group=visualGroup)
highlightState = input.bool(title='高亮趨勢區域', defval=true, group=visualGroup)
var string alertGroup = '警報設定'
awaitBarConfirmation = input.bool(title="等待K棒收定再確認訊號", defval=false, group=alertGroup)
atr = mult * ta.atr(length)
longStop = (useClose ? ta.highest(close, length) : ta.highest(length)) - atr
longStopPrev = nz(longStop , longStop)
longStop := close > longStopPrev ? math.max(longStop, longStopPrev) : longStop
shortStop = (useClose ? ta.lowest(close, length) : ta.lowest(length)) + atr
shortStopPrev = nz(shortStop , shortStop)
shortStop := close < shortStopPrev ? math.min(shortStop, shortStopPrev) : shortStop
var int dir = 1
dir := close > shortStopPrev ? 1 : close < longStopPrev ? -1 : dir
var color longColor = color.green
var color shortColor = color.red
var color longFillColor = color.new(color.green, 90)
var color shortFillColor = color.new(color.red, 90)
var color textColor = color.white
longStopPlot = plot(dir == 1 ? longStop : na, title='多方停損', style=plot.style_linebr, linewidth=2, color=longColor)
buySignal = dir == 1 and dir == -1
plotshape(buySignal ? longStop : na, title='買進訊號', location=location.absolute, style=shape.circle, size=size.tiny, color=longColor)
plotshape(buySignal and showLabels ? longStop : na, title='買標籤', text='買', location=location.absolute, style=shape.labelup, size=size.tiny, color=longColor, textcolor=textColor)
shortStopPlot = plot(dir == 1 ? na : shortStop, title='空方停損', style=plot.style_linebr, linewidth=2, color=shortColor)
sellSignal = dir == -1 and dir == 1
plotshape(sellSignal ? shortStop : na, title='賣出訊號', location=location.absolute, style=shape.circle, size=size.tiny, color=shortColor)
plotshape(sellSignal and showLabels ? shortStop : na, title='賣標籤', text='賣', location=location.absolute, style=shape.labeldown, size=size.tiny, color=shortColor, textcolor=textColor)
midPricePlot = plot(ohlc4, title='', style=plot.style_circles, linewidth=0, display=display.none, editable=false)
longStateFillColor = highlightState ? dir == 1 ? longFillColor : na : na
shortStateFillColor = highlightState ? dir == -1 ? shortFillColor : na : na
fill(midPricePlot, longStopPlot, title='多方區域', color=longStateFillColor)
fill(midPricePlot, shortStopPlot, title='空方區域', color=shortStateFillColor)
await = true // 立即通知快訊,無需等K棒收定
alertcondition(dir != dir and await, title='警報: 趨勢改變', message='Chandelier Exit 趨勢改變!')
alertcondition(buySignal and await, title='警報: 買進訊號', message='Chandelier Exit 買進訊號!')
alertcondition(sellSignal and await, title='警報: 賣出訊號', message='Chandelier Exit 賣出訊號!')
Premium Lux AlgoCombining multiple indicators to receive buy and sell signals and create support and resistance levels and cloud space
Zweig Breadth Thrust (%)Zweig Breadth Thrust Indicator for US Markets (NYSE, NASDAQ, AMEX, All Markets)
The formula for calculating the Zweig Breadth Thrust involves several steps. Here’s a simplified version of the calculation:
1. Calculate the number of advancing stocks (those that increased in price) over a specified period, usually the past 10 trading days.
2. Calculate the number of declining stocks (those that decreased in price) over the same period.
3. Calculate the 10-day moving average (either SMA or EMA) of the advancing stocks.
4. Calculate the 10-day moving average (either SMA orEMA) of the declining stocks.
5. Calculate the ZBT value by dividing the 10-day EMA of advancing issues by the sum of the 10-day EMA of advancing issues and the 10-day EMA of declining issues, then multiplying by 100 to convert it to a percentage.
Custom Opening Range Breakout (IST, Fixed)This script is designed to:
Calculate and visualize the Opening Range (OR) for any session using Indian Standard Time (IST)
Automatically plot breakout levels (A and C) based on a user-defined percentage buffer
Draw persistent horizontal lines from the OR candle to the end of the trading day
Reset daily, drawing a fresh set of levels for each new session
Merged: Range Filter & Smart Envelope//@version=5
indicator("Merged: Range Filter & Smart Envelope", overlay=true, max_lines_count=500, max_labels_count=500)
// ==================== Range Filter Settings ====================
// Color variables
upColor = color.white
midColor = #90bff9
downColor = color.blue
// Source
src = input(defval=close, title="Source")
// Sampling Period
per = input.int(defval=100, minval=1, title="Sampling Period")
// Range Multiplier
mult = input.float(defval=3.0, minval=0.1, title="Range Multiplier")
// Smooth Average Range
smoothrng(x, t, m) =>
wper = t * 2 - 1
avrng = ta.ema(math.abs(x - x ), t)
smoothrng = ta.ema(avrng, wper) * m
smoothrng
smrng = smoothrng(src, per, mult)
// Range Filter
rngfilt(x, r) =>
rngfilt = x
rngfilt := x > nz(rngfilt ) ? x - r < nz(rngfilt ) ? nz(rngfilt ) : x - r :
x + r > nz(rngfilt ) ? nz(rngfilt ) : x + r
rngfilt
filt = rngfilt(src, smrng)
// Filter Direction
upward = 0.0
upward := filt > filt ? nz(upward ) + 1 : filt < filt ? 0 : nz(upward )
downward = 0.0
downward := filt < filt ? nz(downward ) + 1 : filt > filt ? 0 : nz(downward )
// Target Bands
hband = filt + smrng
lband = filt - smrng
// Colors
filtcolor = upward > 0 ? upColor : downward > 0 ? downColor : midColor
barcolor = src > filt and src > src and upward > 0 ? upColor :
src > filt and src < src and upward > 0 ? upColor :
src < filt and src < src and downward > 0 ? downColor :
src < filt and src > src and downward > 0 ? downColor : midColor
filtplot = plot(filt, color=filtcolor, linewidth=2, title="Range Filter")
// Target
hbandplot = plot(hband, color=color.new(upColor, 70), title="High Target")
lbandplot = plot(lband, color=color.new(downColor, 70), title="Low Target")
// Fills
fill(hbandplot, filtplot, color=color.new(upColor, 90), title="High Target Range")
fill(lbandplot, filtplot, color=color.new(downColor, 90), title="Low Target Range")
// Bar Color
barcolor(barcolor)
// Break Outs
longCond = bool(na)
shortCond = bool(na)
longCond := src > filt and src > src and upward > 0 or
src > filt and src < src and upward > 0
shortCond := src < filt and src < src and downward > 0 or
src < filt and src > src and downward > 0
CondIni = 0
CondIni := longCond ? 1 : shortCond ? -1 : CondIni
longCondition = longCond and CondIni == -1
shortCondition = shortCond and CondIni == 1
// ==================== Smart Envelope with Stochastic RSI ====================
h_env = input.float(8., 'Bandwidth', minval = 0)
mult_env = input.float(3., minval = 0)
repaint = input(true, 'Repainting Smoothing')
// Stochastic RSI Settings
smoothK = input.int(3, "K", minval=1)
smoothD = input.int(3, "D", minval=1)
lengthRSI = input.int(14, "RSI Length", minval=1)
lengthStoch = input.int(14, "Stochastic Length", minval=1)
rsi1 = ta.rsi(src, lengthRSI)
k = ta.sma(ta.stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
d = ta.sma(k, smoothD)
// Nadaraya-Watson Envelope Functions
gauss(x, h) => math.exp(-(math.pow(x, 2)/(h * h * 2)))
var coefs = array.new_float(0)
var den = 0.
if barstate.isfirst and not repaint
for i = 0 to 499
w = gauss(i, h_env)
coefs.push(w)
den := coefs.sum()
out = 0.
if not repaint
for i = 0 to 499
out += src * coefs.get(i)
out /= den
mae = ta.sma(math.abs(src - out), 499) * mult_env
upper_env = out + mae
lower_env = out - mae
// Compute and display NWE
n = bar_index
var float y2 = na
var float y1 = na
nwe = array.new(0)
if barstate.islast and repaint
sae = 0.
for i = 0 to math.min(499,n - 1)
sum = 0.
sumw = 0.
for j = 0 to math.min(499,n - 1)
w = gauss(i - j, h_env)
sum += src * w
sumw += w
y2 := sum / sumw
sae += math.abs(src - y2)
nwe.push(y2)
sae := sae / math.min(499,n - 1) * mult_env
for i = 0 to math.min(499,n - 1)
if i % 2
line.new(n-i+1, y1 + sae, n-i, nwe.get(i) + sae, color=color.teal)
line.new(n-i+1, y1 - sae, n-i, nwe.get(i) - sae, color=color.red)
y1 := nwe.get(i)
// Plot Nadaraya-Watson Envelope
plot(repaint ? na : out + mae, 'Upper Envelope', color=color.teal)
plot(repaint ? na : out - mae, 'Lower Envelope', color=color.red)
// Stochastic RSI Plot
plot(k, "Stochastic RSI K", color=color.blue)
plot(d, "Stochastic RSI D", color=color.orange)
h0 = hline(80, "Upper Band", color=color.gray)
hline(50, "Middle Band", color=color.new(color.gray, 50))
h1 = hline(20, "Lower Band", color=color.gray)
fill(h0, h1, color=color.rgb(33, 150, 243, 90), title="Stochastic RSI Background")
// ==================== Combined Signal Logic ====================
// Enhanced Signal Confirmation
ma_length = input.int(20, "Filter Moving Average Length", minval=1)
ma = ta.sma(close, ma_length)
// Combined Buy Signal: Range Filter + Stochastic RSI + Envelope
combined_buy = (longCondition or (ta.crossover(k, d) and close > upper_env)) and close > ma
combined_sell = (shortCondition or (ta.crossunder(k, d) and close < lower_env)) and close < ma
// Plot combined signals with higher priority
plotshape(combined_buy, "Combined Buy", shape.labelup, location.belowbar, color=color.green, size=size.normal, text="STRONG BUY")
plotshape(combined_sell, "Combined Sell", shape.labeldown, location.abovebar, color=color.red, size=size.normal, text="STRONG SELL")
// Original signals (lower priority)
plotshape(longCondition and not combined_buy, "Buy Signal", shape.labelup, location.belowbar, color=color.lime, size=size.small, text="BUY")
plotshape(shortCondition and not combined_sell, "Sell Signal", shape.labeldown, location.abovebar, color=color.maroon, size=size.small, text="SELL")
// Plot the moving average filter line
plot(ma, "Filter MA", color=color.purple, linewidth=2)
// Alerts
alertcondition(combined_buy, title="Strong Buy Alert", message="Strong Buy Signal")
alertcondition(combined_sell, title="Strong Sell Alert", message="Strong Sell Signal")
Market Breadth Ratios OverlayThis overlay indicator displays the up/down volume breadth ratio for both the NYSE and NASDAQ directly on your chart.
Ratios are calculated using volume data from:
USI:UVOL, USI:DVOL (NYSE)
USI:UVOLQ, USI:DVOLQ (NASDAQ)
A green label indicates more up volume than down volume (bullish breadth).
A red label indicates more down volume than up volume (bearish breadth).
Labels update every 10 bars and are anchored to the candle’s high (NYSE) and low (NASDAQ).
Negative ratios are inverted and displayed as -D:U to maintain a consistent “X:1” format.
Use this tool to assess whether institutional buying pressure is broad-based across exchanges — a valuable layer of confirmation for directional bias.
CCR ABU_MO7SENEnsure the chart's timezone is set correctly in TradingView, or adjust the timestamp("GMT", ...) if you need a different timezone.
The lines will extend 100 bars into the future (x2=bar_index + 100). You can adjust this value if you want the lines to extend further or shorter.
If you want to test the indicator, apply it to a chart and verify that the high/low lines appear on the candle starting at 1:30 AM GMT
RWAD اهداف Determine entry and target areas with a stop-loss.
Enter when an entry signal appears with all intervals positive.
Vitdia Regression channel autoVitdia Regression Channel Auto script is a technical analysis tool that automatically calculates and displays a regression channel based on closing prices over a user-defined lookback period (default: 100 bars).
Key Features:
Customizable Parameters: Adjust the lookback period and the number of standard deviations (default: 2.0) to tailor the channel to your trading strategy.
Dynamic Regression Calculation: The script computes the linear regression line, upper, and lower channel lines in real-time, providing insights into market trends.
Visual Clarity: Options to display the middle line and fill the channel area enhance visualization. The middle line is shown in light green, while the upper and lower lines are red and green, respectively.
Usage:
Add this script to your TradingView chart to visualize price trends and potential support/resistance levels. It helps traders identify entry and exit points effectively by providing a clear representation of price action relative to its historical trend.
RESHAthey are algorithmically generated liquidity clusters based on historical tick data, volatility shifts, and order flow sensitivity.
The algorithm identifies price congestion points where institutional activity or large-volume reactions occurred, not visible through conventional technical indicators. The closer and denser the zones, the higher the probability of a reaction, reversal, or acceleration from that area.
SMA 8-18 Angle Measurement - Color, Size, and Alerts//@version=5
indicator("SMA 8-18 Angle Measurement - Color, Size, and Alerts", overlay=true)
// --- Calculate short-term (SMA 8) and mid-term (SMA 18) simple moving averages ---
// These two SMAs will be used to detect trend crossovers.
sma8 = ta.sma(close, 8)
sma18 = ta.sma(close, 18)
// --- Plot SMA 8 and SMA 18 on the chart for visual trend analysis ---
plot(sma8, title="SMA 8", color=color.blue)
plot(sma18, title="SMA 18", color=color.orange)
// --- Calculate the slope (momentum) of each SMA ---
// Measures how steeply each moving average is moving.
slope_sma8 = sma8 - sma8
slope_sma18 = sma18 - sma18
// --- Find the difference between the slopes of SMA 8 and SMA 18 ---
// This helps to measure the relative speed of trend changes between short and mid-term averages.
slope_difference = slope_sma8 - slope_sma18
// --- Convert slope difference into an angle in degrees ---
// Using arctangent to calculate the angle of divergence between the two SMAs.
angle_rad = math.atan(slope_difference)
angle_deg = angle_rad * (180 / math.pi)
// --- User settings for customization ---
// Allow users to enable color change and size change of labels based on angle behavior.
change_color = input.bool(true, title="Change Label Color Based on Angle Direction")
change_size = input.bool(true, title="Change Label Size Based on Angle Magnitude")
// --- Dynamic label color based on angle direction ---
// Positive angles = blue (bullish slope), Negative angles = red (bearish slope).
label_color = color.white
if change_color
label_color := angle_deg >= 0 ? color.blue : color.red
// --- Dynamic label size based on angle strength ---
// Small angles = smaller label, stronger angles = larger label.
label_size = size.normal
if change_size
if math.abs(angle_deg) < 10
label_size := size.small
else if math.abs(angle_deg) < 30
label_size := size.normal
else
label_size := size.large
// --- Detect crossover events between SMA 8 and SMA 18 ---
// Bullish crossover: SMA 8 crosses above SMA 18
// Bearish crossunder: SMA 8 crosses below SMA 18
bull_cross = ta.crossover(sma8, sma18)
bear_cross = ta.crossunder(sma8, sma18)
// --- Display only the latest crossover angle as a label on the chart ---
// Old labels are deleted to keep the chart clean and focused on the last event.
var label last_cross_label = na
if (bull_cross or bear_cross)
if not na(last_cross_label)
label.delete(last_cross_label)
last_cross_label := label.new(bar_index, high + 10, "Angle: " + str.tostring(angle_deg, format.mintick) + "°", color=color.new(color.purple, 0), style=label.style_label_down, textcolor=label_color, size=label_size)
// --- Define movement strength conditions for alerts ---
// Different alert triggers based on angle magnitude (weak, strong, very strong crossover).
strong_movement = (angle_deg > 30) or (angle_deg < -30)
weak_movement = (math.abs(angle_deg) < 5)
very_strong_movement = (math.abs(angle_deg) > 45)
// --- Set up alert conditions ---
// These alerts help traders react to strong or weak trend changes.
alertcondition(strong_movement, title="Strong Cross", message="SMA 8-18 Strong Angle Cross Detected!")
alertcondition(weak_movement, title="Weak Cross", message="SMA 8-18 Weak Angle Cross Detected!")
alertcondition(very_strong_movement, title="Very Strong Cross", message="SMA 8-18 Very Strong Angle Cross Detected!")
Gold Dominance vs BitcoinThis script calculates Gold Dominance as the percentage of gold’s market cap relative to the combined market cap of gold and Bitcoin.
It uses the XAU/USD spot price to estimate gold’s total valuation (based on 6.75 billion ounces in circulation).
Bitcoin market cap is pulled directly from TradingView’s CRYPTOCAP:BTC feed.
Useful for tracking macro trends, portfolio positioning, and potential mean-reversion setups.
SK System Buy/Sell Signals with TargetsCreated by Gamal Asela
will help you to find the buy and sell signals with targets .
Sk system have two alerts for buy and sell notifications