MABB55 Full-CrossIndicates when the MABB55 crosses the:
MABB13
MABB21
EMA8
When a full crossover happens, where the long-term average (MABB 55) moves above or below the faster ones (EMA 8, MABB 13, and 21) it means the trend has shifted so strongly and consistently that it overcomes short-term price movement. That kind of shift usually signals a trend reversal.
Bullish reversals with the MABB55 crossing from above, indicated by a green arrowl.
Bearish reversals with the MABB55 crossing from below, indicated by a red arrow.
圖表形態
ROGUE ICT PRORogue ICT PRO — Smart Money Confluence Tool
The Rogue ICT Buy/Sell indicator is a precision-built, multi-confirmation tool inspired by Inner Circle Trader (ICT) concepts. It identifies high-probability trade setups using market structure, fair value gaps, killzone sessions, and higher timeframe trend alignment.
✅ Core Features
🔹 Market Structure Shift (MSS)
Detects clean breaks of swing highs or lows, indicating potential trend continuation or reversal.
🔹 Fair Value Gap Detection (FVG)
Automatically highlights institutional imbalances — essential ICT confluence zones.
🔹 Smart Killzone Filtering
Signals only trigger during high-liquidity sessions:
Asian (19:00–22:00)
London (02:00–05:00)
New York (07:00–10:00)
Each session is color-highlighted on the chart.
🔹 HTF EMA Bias Filter
Only trades in the direction of the Higher Timeframe 50 EMA (e.g., 1H on 5M chart). This ensures entries align with institutional directional bias. I have default set to the Daily 9 EMA but can be changed to your preference.
🔹 ATR-Based Stop Loss & Take Profit Lines
SL is calculated using ATR × multiplier
TP is placed using a customizable Risk-Reward Ratio
Both levels are plotted on the chart with "SL" and "TP" labels.
🔹 Cooldown Logic
Prevents overtrading by requiring a minimum number of bars between each signal.
Volume Overbought/Oversold Zones📊 What You’ll See on the Chart
Red Background or Red Triangle ABOVE a Candle
🔺 Means: Overbought Volume
→ Volume on that bar is much higher than average (as defined by your settings).
→ Suggests strong activity, possible exhaustion in the trend or an emotional spike.
→ It’s a warning: consider watching for signs of reversal, especially if price is already stretched.
Green Background or Green Triangle BELOW a Candle
🔻 Means: Oversold Volume
→ Volume on that bar is much lower than normal.
→ Suggests the market may be losing momentum, or few sellers are left.
→ Could signal an upcoming reversal or recovery if confirmed by price action.
Orange Line Below the Candles (Volume Moving Average)
📈 Shows the "normal" average volume over the last X candles (default is 20).
→ Helps you visually compare each bar’s volume to the average.
Gray Columns (Actual Volume Bars)
📊 These are your regular volume bars — they rise and fall based on how active each candle is.
🔍 What This Indicator Does (In Simple Words)
This indicator looks at trading volume—which is how many shares/contracts were traded in a given period—and compares it to what's considered "normal" for recent history. When volume is unusually high or low, it highlights those moments on the chart.
It tells you:
• When volume is much higher than normal → market might be overheated or experiencing a buying/selling frenzy.
• When volume is much lower than normal → market might be quiet, potentially indicating lack of interest or indecision.
These conditions are marked visually, so you can instantly spot them.
💡 How It Helps You As a Trader
1. Spotting Exhaustion in Trends (Overbought Signals)
If a market is going up and suddenly volume spikes way above normal, it may mean:
• The move is getting crowded (lots of buyers are already in).
• A reversal or pullback could be near because smart money may be taking profits.
Trading idea: Wait for high-volume up bars, then look for price weakness to consider a short or exit.
2. Identifying Hidden Opportunities (Oversold Signals)
If price is falling but volume drops unusually low, it might mean:
• Panic is fading.
• Sellers are losing energy.
• A bounce or trend reversal could happen soon.
Trading idea: After a volume drop in a downtrend, watch for bullish price patterns or momentum shifts to consider a buy.
3. Confirming or Doubting Breakouts
Volume is critical for confirming breakouts:
• If price breaks a key level with strong volume, it's more likely to continue.
• A breakout without volume could be a fake-out.
This indicator highlights volume surges that can help you confirm such moves.
📈 How to Use It in Practice
• Combine it with candlestick patterns, support/resistance, or momentum indicators.
• Use the background colors or shapes as a visual cue to pause and analyze.
• Adjust the sensitivity to suit fast-moving markets (like crypto) or slow ones (like large-cap stocks).
FutureObitz Bank LevelsFutureObitz Bank Levels - Daily Structure & Trading Zones
"The Obitz Bank Levels indicator is a powerful tool designed to help traders identify key daily structural price levels. It automatically extracts the 1 hour and 4 hour High and 1 hour and 4 hour Low. You may also use this indicator for lower timeframes aswell. Going lower than 15 min is not recommended.
What This Indicator Provides:
Dynamic Daily Levels: Calculates and plots the Daily High, Daily Low, Middle, Middle High, and Middle Low of the current trading day. These lines provide clear reference points for price action.
Defined Buy & Sell Zones: Visualizes potential accumulation (Buy Zone) and distribution (Sell Zone) areas. These zones are calculated as a customizable percentage (via inputs) above/below the 'Middle' of the daily range, helping to identify potential entry or exit points.
Multi-Timeframe Compatibility: Displays the exact same daily levels regardless of your active chart's timeframe, offering a consistent higher-timeframe perspective for intraday traders.
Visual Clarity: Includes filled zones for better visualization of the Buy and Sell areas.
Optional Labels: Provides clear labels for the latest daily levels (D. High, D. Low, D. Middle, D. Buy Zone, D. Sell Zone) on the last bar of your chart for quick reference.
This indicator serves as a robust framework for understanding daily market structure and can assist in identifying potential areas of support, resistance, and trading opportunities. It's an excellent tool for traders who rely on clear, higher-timeframe levels to inform their trading decisions.
-FutureObitz
Saty ATR Levels// Saty ATR Levels
// Copyright (C) 2022 Saty Mahajan
// Author is not responsible for your trading using this script.
// Data provided in this script is not financial advice.
//
// Features:
// - Day, Multiday, Swing, Position, Long-term, Keltner trading modes
// - Range against ATR for each period
// - Put and call trigger idea levels
// - Intermediate levels
// - Full-range levels
// - Extension levels
// - Trend label based on the 8-21-34 Pivot Ribbon
//
// Special thanks to Gabriel Viana.
// Based on my own ideas and ideas from Ripster, drippy2hard,
// Adam Sliver, and others.
//@version=5
indicator('Saty ATR Levels', shorttitle='Saty ATR Levels', overlay=true)
// Options
day_trading = 'Day'
multiday_trading = 'Multiday'
swing_trading = 'Swing'
position_trading = 'Position'
longterm_trading = 'Long-term'
trading_type = input.string(day_trading, 'Trading Type', options= )
use_options_labels = input(true, 'Use Options Labels')
atr_length = input(14, 'ATR Length')
trigger_percentage = input(0.236, 'Trigger Percentage')
previous_close_level_color = input(color.white, 'Previous Close Level Color')
lower_trigger_level_color = input(color.yellow, 'Lower Trigger Level Color')
upper_trigger_level_color = input(color.aqua, 'Upper Trigger Level Color')
key_target_level_color = input(color.silver, 'Key Target Level Color')
atr_target_level_color = input(color.white, 'ATR Target Level Color')
intermediate_target_level_color = input(color.gray, 'Intermediate Target Level Color')
show_all_fibonacci_levels = input(true, 'Show All Fibonacci Levels')
show_extensions = input(false, 'Show Extensions')
level_size = input(2, 'Level Size')
show_info = input(true, 'Show Info Label')
use_current_close = input(false, 'Use Current Close')
fast_ema = input(8, 'Fast EMA')
pivot_ema = input(21, 'Pivot EMA')
slow_ema = input(34, 'Slow EMA')
// Set the appropriate timeframe based on trading mode
timeframe_func() =>
timeframe = 'D'
if trading_type == day_trading
timeframe := 'D'
else if trading_type == multiday_trading
timeframe := 'W'
else if trading_type == swing_trading
timeframe := 'M'
else if trading_type == position_trading
timeframe := '3M'
else if trading_type == longterm_trading
timeframe := '12M'
else
timeframe := 'D'
// Trend
price = close
fast_ema_value = ta.ema(price, fast_ema)
pivot_ema_value = ta.ema(price, pivot_ema)
slow_ema_value = ta.ema(price, slow_ema)
bullish = price >= fast_ema_value and fast_ema_value >= pivot_ema_value and pivot_ema_value >= slow_ema_value
bearish = price <= fast_ema_value and fast_ema_value <= pivot_ema_value and pivot_ema_value <= slow_ema_value
// Data
period_index = use_current_close ? 0 : 1
ticker = ticker.new(syminfo.prefix, syminfo.ticker, session=session.extended)
previous_close = request.security(ticker, timeframe_func(), close , gaps=barmerge.gaps_off, lookahead=barmerge.lookahead_on)
atr = request.security(ticker, timeframe_func(), ta.atr(atr_length) , gaps=barmerge.gaps_off, lookahead=barmerge.lookahead_on)
period_high = request.security(ticker, timeframe_func(), high, gaps=barmerge.gaps_off, lookahead=barmerge.lookahead_on)
period_low = request.security(ticker, timeframe_func(), low, gaps=barmerge.gaps_off, lookahead=barmerge.lookahead_on)
range_1 = period_high - period_low
tr_percent_of_atr = range_1 / atr * 100
lower_trigger = previous_close - trigger_percentage * atr
upper_trigger = previous_close + trigger_percentage * atr
lower_0382 = previous_close - atr * 0.382
upper_0382 = previous_close + atr * 0.382
lower_0500 = previous_close - atr * 0.5
upper_0500 = previous_close + atr * 0.5
lower_0618 = previous_close - atr * 0.618
upper_0618 = previous_close + atr * 0.618
lower_0786 = previous_close - atr * 0.786
upper_0786 = previous_close + atr * 0.786
lower_1000 = previous_close - atr
upper_1000 = previous_close + atr
lower_1236 = lower_1000 - atr * 0.236
upper_1236 = upper_1000 + atr * 0.236
lower_1382 = lower_1000 - atr * 0.382
upper_1382 = upper_1000 + atr * 0.382
lower_1500 = lower_1000 - atr * 0.5
upper_1500 = upper_1000 + atr * 0.5
lower_1618 = lower_1000 - atr * 0.618
upper_1618 = upper_1000 + atr * 0.618
lower_1786 = lower_1000 - atr * 0.786
upper_1786 = upper_1000 + atr * 0.786
lower_2000 = lower_1000 - atr
upper_2000 = upper_1000 + atr
lower_2236 = lower_2000 - atr * 0.236
upper_2236 = upper_2000 + atr * 0.236
lower_2382 = lower_2000 - atr * 0.382
upper_2382 = upper_2000 + atr * 0.382
lower_2500 = lower_2000 - atr * 0.5
upper_2500 = upper_2000 + atr * 0.5
lower_2618 = lower_2000 - atr * 0.618
upper_2618 = upper_2000 + atr * 0.618
lower_2786 = lower_2000 - atr * 0.786
upper_2786 = upper_2000 + atr * 0.786
lower_3000 = lower_2000 - atr
upper_3000 = upper_2000 + atr
// Add Labels
tr_vs_atr_color = color.green
if tr_percent_of_atr <= 70
tr_vs_atr_color := color.green
else if tr_percent_of_atr >= 90
tr_vs_atr_color := color.red
else
tr_vs_atr_color := color.orange
trading_mode = 'Day'
if trading_type == day_trading
trading_mode := 'Day'
else if trading_type == multiday_trading
trading_mode := 'Multiday'
else if trading_type == swing_trading
trading_mode := 'Swing'
else if trading_type == position_trading
trading_mode := 'Position'
else if trading_type == longterm_trading
trading_mode := 'Long-term'
else
trading_mode := ''
long_label = ''
short_label = ''
if use_options_labels
long_label := 'Calls'
short_label := 'Puts'
else
long_label := 'Long'
short_label := 'Short'
trend_color = color.orange
if bullish
trend_color := color.green
else if bearish
trend_color := color.red
else
trend_color := color.orange
var tbl = table.new(position.top_right, 1, 4)
if barstate.islast and show_info
table.cell(tbl, 0, 0, 'Saty ATR Levels', bgcolor=trend_color)
table.cell(tbl, 0, 1, trading_mode + ' Range ($' + str.tostring(range_1, '#.##') + ') is ' + str.tostring(tr_percent_of_atr, '#.#') + '% of ATR ($' + str.tostring(atr, '#.##') + ')', bgcolor=tr_vs_atr_color)
table.cell(tbl, 0, 2, long_label + ' > $' + str.tostring(upper_trigger, '#.##') + ' | +1 ATR $' + str.tostring(upper_1000, '#.##'), bgcolor=upper_trigger_level_color)
table.cell(tbl, 0, 3, short_label + ' < $' + str.tostring(lower_trigger, '#.##') + ' | -1 ATR: $' + str.tostring(lower_1000, '#.##'), bgcolor=lower_trigger_level_color)
// Add levels
plot(show_extensions ? lower_3000 : na, color=color.new(atr_target_level_color, 40), linewidth=level_size, title='-300.0%', style=plot.style_stepline)
//plot(show_all_fibonacci_levels and show_extensions ? lower_2786 : na, color=color.new(intermediate_target_level_color, 40), linewidth=level_size, title='-278.6%', style=plot.style_stepline)
plot(show_extensions ? lower_2618 : na, color=color.new(key_target_level_color, 40), linewidth=level_size, title='-261.8%', style=plot.style_stepline)
//plot(show_all_fibonacci_levels and show_extensions ? lower_2500 : na, color=color.new(intermediate_target_level_color, 40), linewidth=level_size, title='-250.0%', style=plot.style_stepline)
//plot(show_all_fibonacci_levels and show_extensions ? lower_2382 : na, color=color.new(intermediate_target_level_color, 40), linewidth=level_size, title='-238.2%', style=plot.style_stepline)
plot(show_extensions ? lower_2236 : na, color=color.new(key_target_level_color, 40), linewidth=level_size, title='-223.6%', style=plot.style_stepline)
plot(show_extensions ? lower_2000 : na, color=color.new(atr_target_level_color, 40), linewidth=level_size, title='-200.0%', style=plot.style_stepline)
plot(show_all_fibonacci_levels and show_extensions ? lower_1786 : na, color=color.new(intermediate_target_level_color, 40), linewidth=level_size, title='-178.6%', style=plot.style_stepline)
plot(show_extensions ? lower_1618 : na, color=color.new(key_target_level_color, 40), linewidth=level_size, title='-161.8%', style=plot.style_stepline)
plot(show_all_fibonacci_levels and show_extensions ? lower_1500 : na, color=color.new(intermediate_target_level_color, 40), linewidth=level_size, title='-150.0%', style=plot.style_stepline)
plot(show_all_fibonacci_levels and show_extensions ? lower_1382 : na, color=color.new(intermediate_target_level_color, 40), linewidth=level_size, title='-138.2%', style=plot.style_stepline)
plot(show_extensions ? lower_1236 : na, color=color.new(key_target_level_color, 40), linewidth=level_size, title='-123.6%', style=plot.style_stepline)
plot(lower_1000, color=color.new(atr_target_level_color, 40), linewidth=level_size, title='-100%', style=plot.style_stepline)
plot(show_all_fibonacci_levels ? lower_0786 : na, color=color.new(intermediate_target_level_color, 40), linewidth=level_size, title='-78.6%', style=plot.style_stepline)
plot(lower_0618, color=color.new(key_target_level_color, 40), linewidth=level_size, title='-61.8%', style=plot.style_stepline)
plot(show_all_fibonacci_levels ? lower_0500 : na, color=color.new(intermediate_target_level_color, 40), linewidth=level_size, title='-50.0%', style=plot.style_stepline)
plot(show_all_fibonacci_levels ? lower_0382 : na, color=color.new(intermediate_target_level_color, 40), linewidth=level_size, title='-38.2%', style=plot.style_stepline)
plot(lower_trigger, color=color.new(lower_trigger_level_color, 40), linewidth=level_size, title='Lower Trigger', style=plot.style_stepline)
plot(previous_close, color=color.new(previous_close_level_color, 40), linewidth=level_size, title='Previous Close', style=plot.style_stepline)
plot(upper_trigger, color=color.new(upper_trigger_level_color, 40), linewidth=level_size, title='Upper Trigger', style=plot.style_stepline)
plot(show_all_fibonacci_levels ? upper_0382 : na, color=color.new(intermediate_target_level_color, 40), linewidth=level_size, title='38.2%', style=plot.style_stepline)
plot(show_all_fibonacci_levels ? upper_0500 : na, color=color.new(intermediate_target_level_color, 40), linewidth=level_size, title='50.0%', style=plot.style_stepline)
plot(upper_0618, color=color.new(key_target_level_color, 40), linewidth=level_size, title='61.8%', style=plot.style_stepline)
plot(show_all_fibonacci_levels ? upper_0786 : na, color=color.new(intermediate_target_level_color, 40), linewidth=level_size, title='78.6%', style=plot.style_stepline)
plot(upper_1000, color=color.new(atr_target_level_color, 40), linewidth=level_size, title='100%', style=plot.style_stepline)
plot(show_extensions ? upper_1236 : na, color=color.new(key_target_level_color, 40), linewidth=level_size, title='123.6%', style=plot.style_stepline)
plot(show_all_fibonacci_levels and show_extensions ? upper_1382 : na, color=color.new(intermediate_target_level_color, 40), linewidth=level_size, title='138.2%', style=plot.style_stepline)
plot(show_all_fibonacci_levels and show_extensions ? upper_1500 : na, color=color.new(intermediate_target_level_color, 40), linewidth=level_size, title='150.0%', style=plot.style_stepline)
plot(show_extensions ? upper_1618 : na, color=color.new(key_target_level_color, 40), linewidth=level_size, title='161.8%', style=plot.style_stepline)
plot(show_all_fibonacci_levels and show_extensions ? upper_1786 : na, color=color.new(intermediate_target_level_color, 40), linewidth=level_size, title='178.6%', style=plot.style_stepline)
plot(show_extensions ? upper_2000 : na, color=color.new(atr_target_level_color, 40), linewidth=level_size, title='200.0%', style=plot.style_stepline)
plot(show_extensions ? upper_2236 : na, color=color.new(key_target_level_color, 40), linewidth=level_size, title='223.6%', style=plot.style_stepline)
//plot(show_all_fibonacci_levels and show_extensions ? upper_2382 : na, color=color.new(intermediate_target_level_color, 40), linewidth=level_size, title='238.2%', style=plot.style_stepline)
//plot(show_all_fibonacci_levels and show_extensions ? upper_2500 : na, color=color.new(intermediate_target_level_color, 40), linewidth=level_size, title='250.0%', style=plot.style_stepline)
plot(show_extensions ? upper_2618 : na, color=color.new(key_target_level_color, 40), linewidth=level_size, title='261.8%', style=plot.style_stepline)
//plot(show_all_fibonacci_levels and show_extensions ? upper_2786 : na, color=color.new(intermediate_target_level_color, 40), linewidth=level_size, title='278.6%', style=plot.style_stepline)
plot(show_extensions ? upper_3000 : na, color=color.new(atr_target_level_color, 40), linewidth=level_size, title='300%', style=plot.style_stepline)
Doji Candlestick w/ Volatility & Uninterrupted CyclesTracks Doji formation and provides a rating score of Low Medium and High for stocks.
🟢 Clean BUY/SELL Signal (All Filters Hidden)fgchavsbmn,cakhscb kals dcaljks cjas ckjasclkasnd.ask dfhg asdhj askgd hjaksdmvhagsbjdkn abs dnljasd
EMAs y señales🧠 What does the script do?
It draws the 9-period SMA (blue) and the 21-period SMA (orange).
It generates labels:
✅ “Buy” when the 9 SMA crosses above the 21 SMA.
❌ “Sell” when the 9 SMA crosses below the 21 SMA.
It triggers configurable alerts whenever a crossover occurs.
Bread Recipe EMAsJust 3 EMA's defaults to 3, 13, and 50. Based on Stock Moe's Bread Recipe. It doesn't follow the RSI or any volume indicators
lucio_RCI6Displaying 6 RCIs
Long-term RCIs are shown in green, and short-term RCIs are shown in white.
Alerts can be added based on a short period of time.
lucio_😎必勝StrategyThe reversal after the RCI reaches the upper and lower bounds is used as the trigger for entry and settlement.
In order to follow the trend, record the highs and lows of the last 4 hours (adjustable) and aim for long above the center line and short below the center line.
MACD divergence alerts and plots are possible.
SMA (15m.1h.4h) tilted and colored, default display.
In the case of margin trading, it is possible to display a table showing whether there is a bias toward long or short lots for margin with the above high and low as the settlement line.
Market Structure by HorizonAIThis indicator shows market structure with BOS and CHoCH, also Order block and FVG.
8 SMA Cross 200 SMACatch big moves, this ensures the direction of the stock price will either go up or down depending whether the 8 sma crosses above or below the 200 sma
Bar Color2. indicator("Bar Color", overlay=true) "Bar Color" is the name of the script that will appear on your chart. overlay=true means this script will be drawn directly on the price chart (not in a separate pane). 3. ma = ta.sma(close, 10) This calculates a Simple Moving Average (SMA) of the closing prices over the last 10 bars (candles). ta.sma() is the built-in function for SMA in Pine Script v5. 4. barcolor(close > ma ? color.green : color.red) This line colors each candle/bar: Green if the current close is above the 10-period moving average. Red if the close is below or equal to the moving average. barcolor() changes the bar color but doesn’t plot anything visually on top of the candles — it only recolors them.
Closed Market / Back-Test Filter x 'Bull_Trap_9'Hello TradingView Traders!
This is a very valuable tool that I believe all traders will find useful.
This indicator / filter is '1 of 2'. I prefer it as a filter because it is not meant for live trade analysis. It is designed to make a trader aware of their individual trade sessions and to help aid in static chart candlestick back-testing.
Also, look for my indicator / filter, '2 of 2': 'Red Report Filter'
There are two functions to this filter.
Primary use: It allows a trader to set a session window: Open / Close.
During a trade session, like YM, I only trade 9:30 - 15:00. Without the filter, many times I have traded past my cutoff because I was focused on the chart and not the time.
With this filter on as close nears with an open trade and the filter starts to apply, I know I am at session close with no more trades upon exit. Otherwise, I know the session is done with no further trades.
It is also nice to have the filter on during the session open as a demarcation boundary.
Secondary use: It is used as a chart back-test tool.
When applied to a traders back-test chart, the trader can control their trade session envelopes for easier and more precise evaluation. The filter will allow only the candles per session that the trader wants to focus on and will filter all other non-session candles.
I can easily compare a whole week of 30m session data, concentrating solely on the filtered trade windows.
Please Note: The filter will be active as far back as the historic data prints.
Thanks for viewing!
Previous Day O H L C Calculation By Md//@version=6
indicator("Previous Day O H L C Calculation By Md", overlay=true)
// Check if the previous daily candle is green (bullish) or red (bearish)
previousCandleBullish = close > open
previousCandleBearish = close < open
// Calculate the difference for bullish candles: previous day's high minus previous day's open
bullishCalculation = high - open
// Calculate the difference for bearish candles: previous day's low minus previous day's close
bearishCalculation = low - close
// Show the result at the top of the current daily candle if the previous candle was bullish
if previousCandleBullish
label.new(bar_index, high, "Bullish Calc: " + str.tostring(bullishCalculation), color=color.green, textcolor=color.white, style=label.style_label_left, size=size.small)
// Show the result at the bottom of the current daily candle if the previous candle was bearish
if previousCandleBearish
label.new(bar_index, low, "Bearish Calc: " + str.tostring(bearishCalculation), color=color.red, textcolor=color.white, style=label.style_label_left, size=size.small)
HTF Previous Candle Sweeps (1H–4D) - Safesa f as. as f. f sf s. sa fs. fsadsjaf dsadf jsdaf sdjf sajk fj sdfj saf d sj sadsd
HTF Previous Candle Sweeps (1H–4D)This is a TVS entry module, marking out the DOL and Previous candle sweeps.
HTF Previous Candle Sweeps (1H–4D)This is the TVS indicator, marking out DOL and previous candle sweeps.
Rapid Candle PATTERNS V2.0Indicator Title: Rapid Candle Patterns - High-Probability Signals
Description
Tired of noisy charts filled with weak and ambiguous candlestick patterns? The Rapid Candle Patterns indicator is engineered to solve this problem by moving beyond simple textbook definitions. It identifies only high-probability reversal and continuation signals by focusing on the underlying market dynamics: momentum, liquidity, and confirmation.
This is not just another pattern indicator; it's a professional-grade tool designed to help you spot truly significant price action events.
How The Logic Works & Why It's More Accurate
Each pattern in this script has been enhanced with stricter, more intelligent rules to filter out noise and reduce false signals. Here’s what makes our logic superior:
1. The Liquidity Grab Hammer & Inverted Hammer
Standard Logic: A simple hammer shows a long lower wick, suggesting buyers pushed the price back up.
Our Enhanced Logic: We don't just look for a hammer shape. Our signal is only valid if the hammer’s low takes out the low of the previous candle (a "liquidity grab" or "stop hunt").
Why It's More Accurate: This sequence is incredibly powerful. It shows that sellers attempted to push the market lower, triggered stop-loss orders below the prior low, and then were decisively overpowered by buyers who reversed the price. This isn't just a reversal; it's a failed breakdown, often trapping sellers and fueling a stronger move in the opposite direction.
2. The "True" Bullish & Bearish Harami
Standard Logic: A small candle forms within the high-low range of the previous candle. This can often be misleading if the prior candle has long wicks and a tiny body.
Our Enhanced Logic: We enforce a "dual containment" rule. For a Harami to be valid, its body must be contained within the body of the previous candle. We also ensure the Harami candle itself is not a Doji, meaning it must show some conviction.
Why It's More Accurate: This ensures you are seeing a genuine and significant contraction in momentum. It filters out scenarios where a large-bodied candle forms inside the wicks of a doji-like candle, which is not a true Harami. Our logic captures the "pregnant" pattern as it was intended—a moment of quiet consolidation before a potential new move.
3. The "Power" Bullish & Bearish Engulfing
Standard Logic: A candle's body engulfs the body of the previous candle. This is a common signal, but it often lacks follow-through.
Our Enhanced Logic: Our "Power Engulfing" requires two conditions: (1) The body must engulf the prior candle's body, AND (2) the candle must close beyond the entire high/low range of the prior candle.
Why It's More Accurate: This is the ultimate sign of confirmation. It doesn't just show that one side has won the battle for the session; it proves they had enough force to break the entire structure of the previous candle. This signifies immense momentum and dramatically increases the probability that the trend will continue in the direction of the engulfing candle.
4. The Quantified Doji
Our Logic: Instead of being a subjective pattern, a Doji is defined quantitatively. It's a candle whose body is less than or equal to a user-defined percentage (default 9%) of its total range.
Why It's More Accurate: It provides a consistent and objective measure of market indecision. Furthermore, any candle identified as a Doji is automatically disqualified from being a Hammer, ensuring clear and distinct signals.
User Customization
Toggle Patterns On/Off: Declutter your chart by only showing the patterns you want to see.
Fine-Tune Logic: Use the "Pattern Logic" settings to adjust the sensitivity of the Doji and Harami detectors to perfectly match your trading style, asset, and timeframe.
Disclaimer: This indicator is a powerful tool for identifying high-probability price action. However, no single indicator is a complete trading system. Always use these signals as part of a comprehensive strategy, combined with analysis of market structure, support/resistance levels, and other forms of confluence.
Previous Day/Week/Month - High/Lows + Open/Close (RC)Its an indicator marking previous day and previous week and last month's high, low open, close.
RSI Divergence (Nikko)RSI Divergence by Nikko
🧠 RSI Divergence Detector — Nikko Edition This script is an enhanced RSI Divergence detector built with Pine Script v6, modified for better visuals and practical usability. It uses linear regression to detect bullish and bearish divergences between the RSI and price action — one of the most reliable early signals in technical analysis.
✅ Improvements from the Original:
- Clean divergence lines using regression fitting.
- Optional label display to reduce clutter (Display Labels toggle).
- Adjustable line thickness (Display Line Width).
- A subtle heatmap background to highlight RSI overbought/oversold zones.
- Uses max accuracy with high calc_bars_count and custom extrapolation window.
🔍 How It Works: The script applies linear regression (least squares method) on both RSI data, and Price (close) data.
It then compares the direction of RSI vs. direction of Price over a set length. If price is making higher highs while RSI makes lower highs, it's a bearish divergence. If price is making lower lows while RSI makes higher lows, it's a bullish divergence. Additional filters (e.g., momentum and slope thresholds) are used to validate only strong divergences.
🔧 Input Parameters: RSI Length: The RSI period (default: 14). RSI Divergence Length: The lookback period for regression (default: 25). Source: Which price data to calculate RSI from (default: close). Display Labels: Show/hide “Bullish” or “Bearish” labels on the chart. Display Line Width: Adjusts how thick the plotted divergence lines appear.
📣 Alerts: Alerts are built-in for both RSI Buy (bullish divergence) and RSI Sell (bearish divergence) so you can use it in automation or notifications.
🚀 Personal Note: I’ve been using this script daily in my own trading, which is why I took time to improve both the logic and visual clarity. If you want a divergence tool that doesn't clutter your chart but gives strong signals, this might be what you're looking for.
Dynamic Fibonacci Retracement with ConfirmationDynamic Fibonacci Retracement with Confirmation plus MFI CCI RSI MA MACD Candle stick pattern