ProfitLine ChannelThis indicator is designed as a price channel that includes buy and sell signals based on highly efficient data that can be reliably depended upon.
Candlestick analysis
4H High-Low BoxesThis indicator dynamically plots high-low boxes based on the most recent 4-hour candle, providing visual markers for key price levels and trends. The box is updated in real-time to reflect the highest and lowest points of the current 4-hour candle, and its color changes based on the market's direction.
Key Features:
Dynamic Boxes: The indicator automatically adjusts to the 4-hour candle's high, low, and open price, creating a box that updates with price action.
Color-Coding: The box color changes based on the price direction. A green box indicates bullish market sentiment (price is above the 4H open), while a red box indicates bearish sentiment (price is below the 4H open).
Accurate Timeframe Representation: It works across any intraday timeframe (e.g., 5-minute, 15-minute, 1-hour), providing consistent, visually relevant markers for trading decisions.
Real-Time Updates: The box is adjusted dynamically as price evolves, ensuring it accurately represents the 4-hour price range during live trading.
Customizable Settings: Tailor the visual aspects of the box, including border color, background transparency, and other parameters.
Trading Strategy Ideas:
Rejection at High/Low: Look for price rejection at the 4H high/low for potential reversal signals.
Breakout Strategy: Trade breakouts above the 4H high or below the 4H low for momentum trades.
Mean Reversion: Enter when price moves away from the 4H open, expecting it to return to the open price.
This indicator can be used as a standalone tool or combined with other technical indicators to improve entry and exit points. Perfect for swing traders and those using price action to identify key support and resistance levels.
HAPPY TRADING
NIKHIL ROY INDICATOR + Reversal Trap Entry/@version=5
indicator("NIKHIL ROY INDICATOR + Reversal Trap Entry", overlay=true)
// === SETTINGS ===
res_tf = "15"
lookback = 50
// === PREVIOUS 15min CANDLE ===
prevHigh = request.security(syminfo.tickerid, res_tf, high )
prevLow = request.security(syminfo.tickerid, res_tf, low )
prevOpen = request.security(syminfo.tickerid, res_tf, open )
prevClose = request.security(syminfo.tickerid, res_tf, close )
// Draw previous 15m candle (body and wick)
plot(prevHigh, "Prev High", color=color.gray, linewidth=1)
plot(prevLow, "Prev Low", color=color.gray, linewidth=1)
bgcolor((timeframe.isintraday and timeframe.period == "15") ? na : color.new(color.gray, 90))
// === SUPPORT & RESISTANCE ===
var float support = na
var float resistance = na
pivotLow = ta.pivotlow(low, 5, 5)
pivotHigh = ta.pivothigh(high, 5, 5)
if not na(pivotLow)
support := pivotLow
if not na(pivotHigh)
resistance := pivotHigh
plot(support, "Support", color=color.green, linewidth=2, style=plot.style_linebr)
plot(resistance, "Resistance", color=color.red, linewidth=2, style=plot.style_linebr)
// === SWING BREAK DETECTION ===
swingHighBreak = high > resistance and high <= resistance
swingLowBreak = low < support and low >= support
// === BREAKOUT FAILURE ===
breakoutFailure = swingHighBreak and close < resistance
breakdownFailure = swingLowBreak and close > support
// === RETEST AFTER WEAKNESS ===
retestSell = close < resistance and high > resistance and close < open
retestBuy = close > support and low < support and close > open
// === SIGNALS ===
// SELL on resistance retest + weakness
sellSignal = retestSell
// SELL if breakout fails
trapSell = breakoutFailure
// BUY on support retest + strength
buySignal = retestBuy
// BUY if breakdown fails
trapBuy = breakdownFailure
// === PLOT SIGNALS ===
plotshape(sellSignal, title="Sell Weakness", location=location.abovebar, color=color.red, style=shape.arrowdown, size=size.large, text="SELL")
plotshape(trapSell, title="Trap Sell", location=location.abovebar, color=color.red, style=shape.arrowdown, size=size.large, text="TRAP SELL")
plotshape(buySignal, title="Buy Strength", location=location.belowbar, color=color.green, style=shape.arrowup, size=size.large, text="BUY")
plotshape(trapBuy, title="Trap Buy", location=location.belowbar, color=color.green, style=shape.arrowup, size=size.large, text="TRAP BUY")
NIKHIL ROY INDICATOR + Reversal Trap Entry//@version=5
indicator("NIKHIL ROY INDICATOR + Reversal Trap Entry", overlay=true)
// === SETTINGS ===
res_tf = "15"
lookback = 50
// === PREVIOUS 15min CANDLE ===
prevHigh = request.security(syminfo.tickerid, res_tf, high )
prevLow = request.security(syminfo.tickerid, res_tf, low )
prevOpen = request.security(syminfo.tickerid, res_tf, open )
prevClose = request.security(syminfo.tickerid, res_tf, close )
// Draw previous 15m candle (body and wick)
plot(prevHigh, "Prev High", color=color.gray, linewidth=1)
plot(prevLow, "Prev Low", color=color.gray, linewidth=1)
bgcolor((timeframe.isintraday and timeframe.period == "15") ? na : color.new(color.gray, 90))
// === SUPPORT & RESISTANCE ===
var float support = na
var float resistance = na
pivotLow = ta.pivotlow(low, 5, 5)
pivotHigh = ta.pivothigh(high, 5, 5)
if not na(pivotLow)
support := pivotLow
if not na(pivotHigh)
resistance := pivotHigh
plot(support, "Support", color=color.green, linewidth=2, style=plot.style_linebr)
plot(resistance, "Resistance", color=color.red, linewidth=2, style=plot.style_linebr)
// === SWING BREAK DETECTION ===
swingHighBreak = high > resistance and high <= resistance
swingLowBreak = low < support and low >= support
// === BREAKOUT FAILURE ===
breakoutFailure = swingHighBreak and close < resistance
breakdownFailure = swingLowBreak and close > support
// === RETEST AFTER WEAKNESS ===
retestSell = close < resistance and high > resistance and close < open
retestBuy = close > support and low < support and close > open
// === SIGNALS ===
// SELL on resistance retest + weakness
sellSignal = retestSell
// SELL if breakout fails
trapSell = breakoutFailure
// BUY on support retest + strength
buySignal = retestBuy
// BUY if breakdown fails
trapBuy = breakdownFailure
// === PLOT SIGNALS ===
plotshape(sellSignal, title="Sell Weakness", location=location.abovebar, color=color.red, style=shape.arrowdown, size=size.large, text="SELL")
plotshape(trapSell, title="Trap Sell", location=location.abovebar, color=color.red, style=shape.arrowdown, size=size.large, text="TRAP SELL")
plotshape(buySignal, title="Buy Strength", location=location.belowbar, color=color.green, style=shape.arrowup, size=size.large, text="BUY")
plotshape(trapBuy, title="Trap Buy", location=location.belowbar, color=color.green, style=shape.arrowup, size=size.large, text="TRAP BUY")
Daily Percent Change LabelDaily Percent Change Label
Overview
This Pine Script displays the percentage change from the previous day's closing price as a text label near the current price level on the chart. It works seamlessly across any timeframe (daily, hourly, minute charts) by referencing the daily chart's previous close, making it perfect for traders tracking daily performance.
The label is displayed with a semi-transparent background (green for positive changes, red for negative changes) and white text, ensuring a clean and readable appearance.
Features
Accurate Daily Percent Change: Calculates the percentage change based on the previous day's closing price, even on intraday timeframes (e.g., 1-hour, 5-minute).
Dynamic Label: Shows the percentage change as a label aligned with the current price, updating in real-time.
Color-Coded Background: Semi-transparent green background for positive changes and red for negative changes.
Customizable: Adjust label position, size, color, and style to fit your preferences.
Minimal Impact: No additional plots or graphs, keeping the chart uncluttered.
How to Use
Add the Script:
Copy and paste the script into the Pine Editor in TradingView.
Click "Add to Chart" to apply it.
Check the Output:
A text label (e.g., "+2.34%" or "-1.56%") appears near the current price with a semi-transparent background.
The label is colored green (positive) or red (negative) and updates in real-time.
Switch Timeframes:
Works on any timeframe. The percentage change is always calculated relative to the previous day's close.
Customization Options
Modify the label.new function to customize the label:
Label Position:
Change style=label.style_label_left to label.style_label_right or label.style_label_down to adjust label placement.
Adjust bar_index with an offset (e.g., bar_index + 1) to move the label horizontally.
Text Color:
Modify textcolor=color.white to another color (e.g., color.rgb(255, 255, 0) for yellow).
Background Color:
Adjust color=percent_change >= 0 ? color.new(color.green, 50) : color.new(color.red, 50) to change transparency (e.g., color.new(color.green, 0) for no transparency).
Text Size:
Change size=size.normal to size.small or size.large for smaller or larger text.
Code Details
Timeframe Handling: Uses request.security with the "D" timeframe to fetch the previous day's closing price, ensuring accuracy on intraday charts.
Performance: Updates only on the last bar (barstate.islast) for optimal performance.
Dynamic Styling: Background color changes based on the direction of the price change.
Notes
The label is positioned near the current price for easy reference. To move it closer to the Y-axis, adjust the bar_index offset.
For different reference points (e.g., weekly close), modify the request.security timeframe (e.g., "W" for weekly).
Ensure the script is copied correctly without extra spaces or characters. Use a plain text editor (e.g., Notepad) for copying.
Feedback
Please share your feedback or customizations in the comments! If you find this script helpful, give it a thumbs-up or let others know how you're using it. Happy trading!
Highlight Large Candles// 🔍 Highlight Large Candles Indicator
// 🇬🇧 This indicator highlights candles where the full candle size (high - low) exceeds a user-defined percentage of the opening price (e.g., 1%).
// 🟠 When detected, the candle is colored orange and a label appears showing:
// - Body size
// - Upper wick size
// - Lower wick size
// - Open → Close distance (in price and %)
//
// 🔧 The minimum candle size threshold can be customized in the Settings.
// Ideal for identifying strong momentum or breakout candles.
🔹 STEROID 🔹Key Levels (Max Lookback) How It Works:
Detects highest high/low within the lookback period to plot 3 lines:
White: Nearest price zone (central pivot).
Red: Upper resistance.
Green: Lower support.
Fibonacci (optional): Plots orange lines at 0.618 & 1.618 levels.
Signals breakout when price crosses a line with an alert.
DOC & DOS 30m RangesDailyOpenCrypto & DailyOpenStocks 30m Ranges once you confirm closes outside or range a daily bias is determined
Weekly & Daily Opening Ranges [WOR + DOR]Shows PWC/PWH/WOL/WOH etc.
This indicator was based on YAMAGUCCI framework for price action trading
StupidTrader Money GlitchStupidTrader Money Glitch
This indicator identifies high-probability buy setups by combining key technical concepts. It detects a reclaimed demand zone (a significant low that was broken and reclaimed), confirms bullish market structure breaks (MSB), ensures the price is above the 9 and 21 EMAs, and looks for volume spikes or trends.
Key Features:
Plots a demand zone (blue box) based on a reclaimed low.
Signals long entries (green triangles) when conditions align: reclaimed demand zone, MSB, price above EMAs, and volume confirmation.
Includes EMA 9 (blue) and EMA 21 (aqua) for trend confirmation.
How to Use:
Add the indicator to your chart and look for green triangles below candles as buy signals. Ensure the price interacts with the demand zone, breaks market structure, and shows volume confirmation. Works best on daily or higher timeframes for assets like ONDO, BTC, and more.
Settings:
Short EMA Length: 9
Mid EMA Length: 21
Pivot Lookback for Demand Zone: 5
Zone Lookback for Demand: 90
Volume Lookback: 20
DOC & DOS 30m Rangesthe lines on the screen indicate the 30 min rande on the daily opens for stocks and crypto
The Wick O Meter📊 The Wick O Meter – Description
The Wick O Meter is a multi-timeframe wick pressure scanner designed to measure market intent by analysing candle wick behaviour.
It evaluates bullish (lower) and bearish (upper) wicks over a defined number of historical candles and outputs a strength verdict between bulls and bears.
🔍 How it works:
* Bullish wicks = lower wicks on bearish candles (or both)
* Bearish wicks = upper wicks on bullish candles (or both)
* Calculates wick size as either:
* % of candle range (High - Low), or
* Fixed point value (absolute price movement)
* Optionally filters out weak wicks using min threshold
* Optionally ignores low-volume candles using a 20-period volume SMA
* Returns a bullish vs bearish strength score
* Displays a live verdict table: BULL DOMINANT, BEAR DOMINANT, or MIXED
⚙️ Good for:
* Identifying pressure buildups before trend shifts
* Confirming smart money absorption or exhaustion
* Analysing sentiment in a clean, objective format
* Supporting reversal or continuation setups without repainting
Max loop limit: 5,000 candles. Compatible with all timeframes and instruments.
ORB Breakout Indicator// @version=5
indicator("ORB Breakout Indicator", overlay=true)
// Input parameters
range_minutes = input.int(15, "Opening Range Period (minutes)", minval=1)
session_start = input.string("0930-0945", "Session Time", options= )
threshold_percent = input.float(0.1, "Breakout Threshold (% of Range)", minval=0.05, step=0.05)
use_trend_filter = input.bool(true, "Use EMA Trend Filter")
use_volume_filter = input.bool(true, "Use Volume Filter")
volume_lookback = input.int(20, "Volume Lookback Period", minval=5)
// Session logic
is_in_session = time(timeframe.period, session_start + ":" + str.tostring(range_minutes))
is_first_bar = ta.change(is_in_session) and is_in_session
// Calculate opening range
var float range_high = 0.0
var float range_low = 0.0
var bool range_set = false
if is_first_bar
range_high := high
range_low := low
range_set := true
else if is_in_session and range_set
range_high := math.max(range_high, high)
range_low := math.min(range_low, low)
// Plot range lines after session ends
plot(range_set and not is_in_session ? range_high : na, "Range High", color=color.green, linewidth=2)
plot(range_set and not is_in_session ? range_low : na, "Range Low", color=color.red, linewidth=2)
// Trend filter (50/200 EMA)
ema50 = ta.ema(close, 50)
ema200 = ta.ema(close, 200)
bull_trend = ema50 > ema200
bear_trend = ema50 < ema200
// Volume filter
avg_volume = ta.sma(volume, volume_lookback)
high_volume = volume > avg_volume
// Breakout detection (signal 1 minute before close)
range_width = range_high - range_low
threshold = range_width * (threshold_percent / 100)
buy_condition = close > range_high - threshold and close < range_high and high_volume
sell_condition = close < range_low + threshold and close > range_low and high_volume
// Apply trend filter if enabled
buy_signal = buy_condition and (not use_trend_filter or bull_trend)
sell_signal = sell_condition and (not use_trend_filter or bear_trend)
// Plot signals
if buy_signal
label.new(bar_index, high, "BUY", color=color.green, style=label.style_label_down, textcolor=color.white)
if sell_signal
label.new(bar_index, low, "SELL", color=color.red, style=label.style_label_up, textcolor=color.white)
// Alerts
alertcondition(buy_signal, title="ORB Buy Signal", message="ORB Buy Signal on {{ticker}} at {{close}}")
alertcondition(sell_signal, title="ORB Sell Signal", message="ORB Sell Signal on {{ticker}} at {{close}}")
Smart Multi-Signal System PROInput Parameters The script allows users to customize settings via TradingView’s input panel:lookback (default: 20): The number of bars to look back to identify pivot highs/lows for supply/demand zones. Affects the sensitivity of zone detection.risk_reward (default: 5.0): The risk-reward ratio for calculating take-profit levels relative to stop-loss. For example, a 5.0 ratio means the take-profit target is 5 times the stop-loss distance.rsi_period (default: 14): The period for calculating the RSI, used as a momentum filter.rsi_overbought (default: 70): RSI level above which a market is considered overbought (used for sell signals).rsi_oversold (default: 30): RSI level below which a market is considered oversold (used for buy signals
12 Hour Heikin AshiThis is a Pine Script (version 6) indicator that creates 12-hour Heikin Ashi candles. Heikin Ashi candles smooth out price data to help identify trends by using modified formulas for open, high, low, and close prices. We’ll use a higher timeframe aggregation approach to calculate the Heikin Ashi values based on 12-hour periods.
Multi-Timeframe Candle - SpartanTradingCoDescription:
A clean, efficient indicator that displays higher timeframe candles directly on your current chart. Perfect for traders who need quick higher timeframe context without switching charts or overcrowding their workspace.
Specially optimized for XAUUSD (Gold) and BTC (Bitcoin) traders
Key Features:
🕒 9 Timeframes: From 1-minute to Weekly charts
🎨 Color-Coded: Instant visual bullish/bearish recognition
⏱️ Exchange Timezones: Accurate candle alignment (NY, London, Asia, UTC)
📊 Minimalist Design: Transparent floating OHLC display
🚫 No Repainting: Only completed candles shown
Best For:
Quick higher timeframe analysis
Spotting key support/resistance levels
Multi-timeframe trading strategies
Price action confirmation
Optimal Setup:
Default: 1H timeframe preview on 5m/15m charts
Works on all instruments (Stocks, Forex, Crypto)
Pairs well with volume profile indicators
Why Traders Love It:
"Gives me the higher timeframe context I need without cluttering my chart" - Verified User
OA - Price Magnet Zones Price Magnet Zones Indicator
Overview
The Price Magnet Zones indicator identifies special price levels that have a high statistical probability of being revisited by price in the future.
It works by detecting candles with specific formation characteristics - those without top or bottom wicks - which often signify important market levels that price tends to return to.
Key Features
Automated Detection: Identifies special candle formations automatically and draws horizontal lines at these levels
Dynamic Management Removes lines once price touches them or when they exceed the lookback period
Statistical Analysis: Tracks touch rates and average time until price returns to these levels
Clean Visual Interface: Shows only untouched levels for a clear chart view
How It Works
The indicator detects two specific types of candle formations:
Bullish Levels: Candles with no bottom wick (open = low) that close higher
Bearish Levels: Candles with no top wick (open = high) that close lowe
These formations often represent hidden liquidity zones or order blocks where price tends to return. The indicator draws horizontal lines at these levels and tracks whether price revisits them.
Statistics Tracking
The indicator maintains comprehensive statistics about the detected levels:
Total Levels: Number of bullish, bearish, and total levels detected
Touched Levels: Number of levels that price has returned to touch
Touch Rate: Percentage of levels that have been touched by price
Average Touch Time: Average number of bars until price touches each level type
Trading Applications
These hidden levels can be valuable for:
Identifying potential support and resistance zones
Finding entry and exit points for trades
Setting stop loss levels
Determining price targets
Confirming other technical signals
Settings
Max Bars to Track: Maximum number of bars to keep tracking a level (default: 500)
Line Thickness: Visual thickness of the horizontal lines (1-4)
Line Color: Color of the horizontal lines
Min Candles Before Check: Number of candles to wait before including touches in statistics (default: 3)
Show Statistics: Toggle statistics table display
Usage Tips
The statistics only count touches that occur after the specified minimum number of candles have passed, providing more meaningful data
Higher touch rates indicate stronger magnetic properties of these levels
The average touch time can help with timing expectations for trades
These levels work across various timeframes and markets
For best results, use alongside other technical analysis tools
This indicator does not provide trading signals but offers valuable insights into hidden market structure that can enhance your trading strategy.
Top & Bottom Search ~ Experimental Top & Bottom Search ~ Experimental
This script is designed to identify potential market reversal zones using a combination of classic candlestick patterns (Piercing Line & Dark Cloud Cover) and trend confirmation tools like EMA positioning and optional RSI filters.
Core Features:
Detects Piercing Line and Dark Cloud Cover patterns.
Optional EMA filter to confirm bullish or bearish alignment.
Optional RSI filter to confirm oversold or overbought conditions.
Visual plot of the selected EMA (customizable thickness & color).
Clean and toggleable inputs for user flexibility.
Customizable Settings:
Enable/disable EMA confirmation.
Enable/disable RSI confirmation.
Choose whether to display the EMA on the chart.
Adjust EMA period, RSI thresholds, and candle visuals.
Note:
This is an experimental tool, best used as a supplement to your existing analysis. Not every signal is a guaranteed reversal—this script aims to highlight potential turning points that deserve closer attention.
I HIGHLY recommend using this in coherence with many other indicators in a robust system of indicators that meet your desired time frames and signal periods.
NOTES*
1.) An alternative way to view this indicator is as a "Piercing & Dark Cloud Candle Indicator/Strategy w/ EMA & RSI Logic - Either EMA or RSI Logics are Optional."
2.) When toggling between the RSI and EMA Filters, the default is set to RSI filter applied, however you cannot have both RSI signals and EMA filters on the chart at the same time, it can only be one or the other. So be aware that if you have EMA filter ON and select RSI filter, it will only be displaying the RSI filtered outputs. The ONLY WAY to see the EMA filtered outputs is to only have the EMA filter box checked and NOT the RIS filter box.
3.) Clarity: The display image above for the indicator is with only the RSI filter setting on. EMA filter is an option as well that I recommend considering when conducting trades/analysis.
Basic/Fractal Engulfing Candle Filtered EMA/ATRBasic/Fractal Engulfing Candle Filtered EMA/ATR
This clean and flexible indicator is designed to highlight high-probability engulfing candle patterns by applying a smart combination of filters based on ATR, EMA, and fractal swing high/low logic.
Engulfing candles are commonly used for spotting potential trend reversals or momentum continuation zones—but without proper filtering, they can produce noise. This script enhances reliability by giving traders control over:
ATR Filter: Limits signals to candles within a specific size range relative to the Average True Range, filtering out excessive volatility.
EMA Filter: Confirms trend direction using an exponential moving average. Engulfing candles are only valid if aligned with or against the EMA depending on user configuration.
Fractal Swing High/Low Filter: Requires engulfing candles to occur near local highs (for bearish setups) or lows (for bullish setups), identifying potential turning points in market structure.
Highlights:
Fully customizable with intuitive inputs
Clean chart visuals with triangle markers for bullish (🟦 aqua) and bearish (🟪 fuchsia) engulfing signals
Adaptive EMA color changes based on price position (above = bullish, below = bearish)
Perfect for traders who want a smarter engulfing candle tool that adapts to market conditions, price structure, and trend confirmation.
*Highly recommend using this in confluence with many other indicators of my own/your liking.
*You can use this very well on memecoins and alt coins, works for trading, swing trading, and long term analysis. Lower time frames recommended.
*includes alerts functionality.
Market Regime Detection – Breakout/down w/ ADX & EMA Filter Market Regime Detection – Breakout/down w/ ADX & EMA Filter
By: alphainvestor123
This indicator helps you visually detect whether the market is in a trending or mean-reverting regime by combining:
Core Logic:
Breakouts: Price exceeds recent highs (or lows), suggesting trending behavior.
EMA Filter: Confirms bullish or bearish bias based on price vs. EMA.
VHF (Vertical Horizontal Filter): Measures the trend strength.
VHF value is multiplied by 1000 in the event you wish to display it onto your
BTC
or Crypto chart, it will be visible on your chart, no need to scroll down to see.
VHF ≥ 3333 = Trending Regime
VHF ≤ 3333 = Mean-Reverting / Rangebound
Key Features:
- Plot of recent high/low breakout levels.
- Background highlights breakout signals (trending market).
- Optional background for breakdown signals (non-trending market).
- Optional VHF and EMA plots for further confirmation.
- Adjustable inputs to control signal sensitivity and chart visuals.
Inputs:
Lookback Periods for breakout/breakdown
EMA Length and Line Thickness
Toggle VHF/EMA/Signal Display
Custom Colors for bullish/bearish trends
Ideal Use Cases:
Determining market regime
Filtering for momentum/trend continuation setups
Avoiding false signals in mean-reverting market conditions
*Best used on 1D chart as seen on the sample display, I find this most useful for detecting long term trend breakouts/breakdowns and mean reverting regimes.
*to clarify:
breakouts/trend regimes can only be marked if:
1. Candle has the highest high out of the last 40 bars (default indicator setting, can be customized by user)
2. EMA on the desired asset is bullish
3. ADX is >= a value of 3,333
Visa versa logic for breakdowns/mean reverting regime detection.