Pump/Dump Detector [Modular]//@version=5
indicator("Pump/Dump Detector ", overlay=true)
// ————— Inputs —————
risk_pct = input.float(1.0, "Risk %", minval=0.1)
capital = input.float(100000, "Capital")
stop_multiplier = input.float(1.5, "Stop Multiplier")
target_multiplier = input.float(2.0, "Target Multiplier")
volume_mult = input.float(2.0, "Volume Spike Multiplier")
rsi_low_thresh = input.int(15, "RSI Oversold Threshold")
rsi_high_thresh = input.int(85, "RSI Overbought Threshold")
rsi_len = input.int(2, "RSI Length")
bb_len = input.int(20, "BB Length")
bb_mult = input.float(2.0, "BB Multiplier")
atr_len = input.int(14, "ATR Length")
show_signals = input.bool(true, "Show Entry Signals")
use_orderflow = input.bool(true, "Use Order Flow Proxy")
use_ml_flag = input.bool(false, "Use ML Risk Flag")
use_session_filter = input.bool(true, "Use Volatility Sessions")
// ————— Symbol Filter (Optional) —————
symbol_nq = input.bool(true, "Enable NQ")
symbol_es = input.bool(true, "Enable ES")
symbol_gold = input.bool(true, "Enable Gold")
is_nq = str.contains(syminfo.ticker, "NQ")
is_es = str.contains(syminfo.ticker, "ES")
is_gold = str.contains(syminfo.ticker, "GC")
symbol_filter = (symbol_nq and is_nq) or (symbol_es and is_es) or (symbol_gold and is_gold)
// ————— Calculations —————
rsi = ta.rsi(close, rsi_len)
atr = ta.atr(atr_len)
basis = ta.sma(close, bb_len)
dev = bb_mult * ta.stdev(close, bb_len)
bb_upper = basis + dev
bb_lower = basis - dev
rolling_vol = ta.sma(volume, 20)
vol_spike = volume > volume_mult * rolling_vol
// ————— Session Filter (EST) —————
est_offset = -5
est_hour = (hour + est_offset + 24) % 24
session_filter = (est_hour >= 18 or est_hour < 6) or (est_hour >= 14 and est_hour < 17)
session_ok = not use_session_filter or session_filter
// ————— Order Flow Proxy —————
mfi = ta.mfi(close, 14)
buy_imbalance = ta.crossover(mfi, 50)
sell_imbalance = ta.crossunder(mfi, 50)
reversal_candle = close > open and close > ta.highest(close , 3)
// ————— ML Risk Flag (Placeholder) —————
ml_risk_flag = use_ml_flag and (ta.sma(close, 5) > ta.sma(close, 20))
// ————— Entry Conditions —————
long_cond = symbol_filter and session_ok and vol_spike and rsi < rsi_low_thresh and close < bb_lower and (not use_orderflow or (buy_imbalance and reversal_candle)) and (not use_ml_flag or ml_risk_flag)
short_cond = symbol_filter and session_ok and vol_spike and rsi > rsi_high_thresh and (not use_orderflow or sell_imbalance) and (not use_ml_flag or ml_risk_flag)
// ————— Position Sizing —————
risk_amt = capital * (risk_pct / 100)
position_size = risk_amt / atr
// ————— Plot Signals —————
plotshape(show_signals and long_cond, title="Long Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(show_signals and short_cond, title="Short Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)
// ————— Alerts —————
alertcondition(long_cond, title="Long Entry Alert", message="Pump fade detected: Long setup triggered")
alertcondition(short_cond, title="Short Entry Alert", message="Dump detected: Short setup triggered")
Patrones de gráficos
Up/Down Days, Volume & Price Change SummaryThis scripts helps you to see the up days and down days over the look back period defined by you .
One of the most important concept in judging the strength of the stock.
Use it
Distance from 50 SMA in ADR TermsIndicator produces a multiple of ADR% from the 50-day simple moving average to determine is a stock or etf is extended.
Relative Strength with CNX500This indicator compares the relative strength of the stock with respect to a wider benchmark index Nifty 500
P/E Ratio vs Median + Bollinger Band- 📝 This indicator highlights potential buying opportunities by analyzing the Price-to-Earnings (P/E) ratio in relation to Bollinger Bands and its historical median.
- 🎯 The goal is to provide a visually intuitive signal for value-oriented entries, especially when valuation compression aligns with historical context.
- 💡 Vertical green shading is applied when the P/E ratio drops below the lower Bollinger Band, which is calculated directly from the P/E ratio itself — not price. This condition often signals the ticker may be oversold.
- 🟢 Lighter green appears when the ratio is below the lower band but above the median, suggesting a possible shorter-term entry with slightly more risk.
- 🟢 Darker green appears when the ratio is both below the lower band and below the median, pointing to a potentially stronger, longer-term value entry.
- ⚠️ This logic was tested using 1 and 2-day time frames. It may not be as helpful in longer time frames, as the financial data TradingView pulls in begins in Q4 2017.
- ⚠️ Note: This script relies on financial data availability through TradingView. It may not function properly with certain tickers — especially ETFs, IPOs, or thinly tracked assets — where P/S ratio data is missing or incomplete.
- ⚠️ This indicator will not guarantee successful results. Use in conjunction with other indicators and do your due diligence.
- 🤖 This script was iteratively refined with the help of AI to ensure clean logic, minimalist design, and actionable signal clarity.
- 📢 Idea is based on the script "Historical PE ratio vs median" by haribotagada
- 💬 Questions, feedback, or suggestions? Drop a comment — I’d love to hear how you’re using it or what you'd like to see changed.
Market Pulse Dip RadarThis indicator is designed to help traders spot meaningful dips in price and then evaluate whether those dips are worth trading or not. It doesn’t just mark a dip; it also helps with risk management, trade planning, and filtering out weak signals.
Here’s how it works:
First, it looks at the recent high price and checks how much the market has dropped from that high. If the drop is larger than the minimum percentage you set, it marks it as a potential dip.
Next, it checks the trend structure by using two moving averages (a fast one and a slow one). If the fast average is below the slow average, it means the market is in a weaker structure, and that dip is considered more valid.
On top of that, you can enable a multi-timeframe filter. For example, if you are trading on the 15-minute chart, you can ask the indicator to confirm that the 1-hour trend is also supportive before showing you a dip. This helps avoid trading against the bigger trend.
Risk management is built in. The indicator automatically suggests a stop-loss by combining volatility (ATR) and recent swing lows. It then draws three profit target levels (1x risk, 2x risk, and 3x risk). This makes it easier to plan where to exit if the trade works.
A key part of this tool is the confidence score. Each dip signal is rated from 0 to 100. The score depends on how deep the dip is, how far apart the moving averages are, how healthy volatility is, and whether the higher timeframe supports the trade. The score is then labeled as High, Medium, Low, or Wait. This helps traders focus only on the stronger setups.
On the chart, dip signals are marked with a diamond shape under the bars. The color of the diamond tells you if it’s high, medium, or low quality. When a signal appears, the indicator also plots horizontal lines for the entry, stop, and targets.
To make it easier to read, there is also a dashboard box that shows the current score, quality, dip percentage, and suggested stop-loss. This means you don’t have to calculate or check different things yourself – everything is visible in one place.
Finally, it comes with alerts. You can set alerts for when a dip signal happens, or when it’s medium or high confidence. This way, you don’t need to stare at charts all day; TradingView can notify you.
So in short, this tool:
• Finds dips based on your rules.
• Filters them using structure, volatility, and higher timeframe trend.
• Suggests stop-loss and profit targets.
• Rates each dip with a confidence score.
• Shows all this info in a clean dashboard and alerts you when it happens.
👉 Do you want me to now explain how a trader would actually use it in practice (step by step, from signal to trade)?
HTF HV Lines + Exceptional + Nearest Breakout (core only)Non-repainting breakout tool that maps high-volume (HV) levels from a higher timeframe (Daily by default) onto any intraday chart. It detects new HV bars only when the higher-timeframe candle closes, then draws persistent horizontal lines at that bar’s high and low. Optionally color “exceptional” volume events. On the trading timeframe, the script watches the nearest HV line and flags breakouts using OHLC quality checks: ATR-scaled close distance, minimum real body, and small opposite wick. Inputs let you cap stored events, tune strictness, ignore stale lines, and manage visual style easily.
Third Eye ORB Pro (0915-0930 IST, no-plot)Third Eye ORB Pro (Opening Range Breakout + Range Mode)
This indicator is designed specifically for Indian stocks and indices (NIFTY, BANKNIFTY, FINNIFTY, MIDCAP, etc.) to track the Opening Range (09:15–09:30 IST) and generate actionable intraday trade signals. It combines two key modes — Range Mode (mean reversion inside the opening range) and Breakout Mode (momentum trading beyond the range).
1. Opening Range Framework (09:15–09:30 IST)
The indicator automatically plots the Opening Range High (ORH) and Opening Range Low (ORL) after the first 15 minutes of market open.
The area between ORH and ORL acts as the intraday battlefield where most price action occurs (historically ~70–80% of the day is spent inside this zone).
A shaded box and horizontal lines mark this range, serving as a visual reference for support and resistance throughout the day.
2. Range Mode (Mean Reversion Inside OR)
When price trades inside the Opening Range, the indicator looks for edge rejections to capture range-bound trades.
Range BUY (RB): Triggered near ORL when a bullish rejection candle forms (strong body + long lower wick).
Range SELL (RS): Triggered near ORH when a bearish rejection candle forms (strong body + long upper wick).
Optional filters (toggleable in settings):
RSI Filter: Only allow range buys if RSI is oversold (≤45) and range sells if RSI is overbought (≥55).
VWAP Filter: Only allow range trades if price is not too far from VWAP (distance ≤ X% of OR size).
Labels show suggested Stop Loss (just outside the OR band) and Target (midline/VWAP).
Cooldown logic prevents consecutive whipsaw signals.
3. Breakout Mode (Directional Moves Beyond OR)
When price closes strongly outside the ORH/ORL with momentum, the indicator confirms a breakout/breakdown trade.
Buffers are applied to avoid false breakouts:
ATR Buffer: Price must extend at least ATR × multiplier beyond the range edge.
% Buffer: Price must extend at least a percentage of OR size (default 10%).
Confirmation Filters:
Candle must have a strong body (≥60% of total bar range).
Optional “two closes” rule: price must close outside the range for 2 consecutive candles.
BUY BO: Trigger when price closes above ORH + buffer with momentum.
SELL BD: Trigger when price closes below ORL – buffer with momentum.
Labels and alerts are plotted for quick action.
4. Practical Usage
Works best on 5-minute charts for intraday trading.
Designed to help traders capture both:
Range-bound moves during the day (mean reversion plays).
Strong directional breakouts when institutions push price beyond the opening range.
Particularly effective on expiry days, trending sessions, and major news days when breakouts are more likely.
On sideways days, Range Mode provides reliable scalp opportunities at the OR edges.
5. Features
Auto-plots Opening Range High, Low, Midline.
Box + line visuals (no repainting).
Buy/Sell labels for both Range Mode and Breakout Mode.
Customizable buffers (ATR, % of range) to suit volatility.
Alerts for all signals (breakouts and range plays).
Built with risk management in mind (suggested SL and TP shown on chart).
VXN Choch Pattern LevelsThis indicator is based on other open source scripts. It identifies and visualizes Change of Character (ChoCh) patterns on Nasdaq futures (NQ and MNQ) charts, using pivot points and the CBOE VXN index (Nasdaq-100 Volatility Index) to detect potential trend reversals.
It plots bullish and bearish ChoCh patterns with triangles, horizontal lines, and volume delta information.
The indicator uses VXN EMA and SMA to set a background color (green for bullish, red for bearish) to contextualize market sentiment.
Key features include:
- Detection of pivot highs and lows to identify ChoCh patterns.
- Visualization of patterns with polylines, labels, and horizontal lines.
- Optional display of volume delta for each pattern.
- Management of pattern zones to limit the number of displayed patterns and remove invalidated ones.
- Bullish/bearish triangle signals triggered by VXN EMA/SMA crossovers for confirmation.
Premarket Breakout Painter (08:00-09:29 ET) — First Break Only**Pre-Market Breakout Indicator**
This indicator is designed to help traders identify and trade **pre-market breakout levels**. It automatically marks the pre-market high and low range, then extends those levels into the regular session so you can see when price breaks above or below them.
---
## 🔑 **How It Works**
1. **Pre-Market Range**
* During extended hours (before the 09:30 ET open), the indicator tracks the **highest high** and **lowest low**.
* These levels form the **pre-market range**.
2. **Breakout Levels**
* At the market open, the pre-market high and low are plotted as horizontal lines.
* When price breaks above the pre-market high → potential **bullish breakout**.
* When price breaks below the pre-market low → potential **bearish breakout**.
3. **Optional Midline / VWAP**
---
🎨 **Visuals**
* **Horizontal lines** marking pre-market high and low.
* Lines extend into the regular session for easy tracking.
* Colors can be customized for bullish/bearish clarity.
---
⚙️ **Inputs**
* **Session Times** (default: 04:00–09:30 ET for U.S. equities).
* **Show/Hide Midline** (optional).
* **Line Styles & Colors**.
* **Alerts** (optional, e.g., alert when price crosses pre-market high or low).
---
🚨 **Practical Use**
* Look for **high volume breakouts** through pre-market high/low after the bell.
* Use levels as **support/resistance** for pullback entries.
* Combine with EMA trend filters, VWAP, or market internals for confirmation.
---
✅ This indicator doesn’t give buy/sell signals on its own — it’s a **visual framework** to highlight where the market may make its first decisive move of the day.
3Signal Strategy+// This source code is subject to the terms of the Mozilla Public License 2.0 at mozilla.org
// Script combining Support Resistance Strategy and Buy/Sell Filter with 3 Moving Averages 3Signal Strategy+ by InteliCryptos
//@version=6
indicator("3Signal Strategy+", overlay=true, max_lines_count=500)
// ====== Inputs Section ======
// HHLL Strategy Inputs
lb = input.int(3, title="Support HL", minval=1)
rb = input.int(4, title="Resistance LH", minval=1)
showsupres = input.bool(true, title="Support/Resistance", inline="srcol")
supcol = input.color(color.red, title="", inline="srcol")
rescol = input.color(color.lime, title="", inline="srcol")
srlinestyle = input.string("solid", title="Line Style", options= , inline="style")
srlinewidth = input.int(1, title="Line Width", minval=1, maxval=5, inline="style")
changebarcol = input.bool(true, title="Change Bar Color", inline="bcol")
bcolup = input.color(color.yellow, title="", inline="bcol")
bcoldn = input.color(color.black, title="", inline="bcol")
// Twin Range Filter Inputs
source = input(close, title="Source")
per1 = input.int(27, minval=1, title="Fast Period")
mult1 = input.float(1.6, minval=0.1, title="Fast Range")
per2 = input.int(55, minval=1, title="Slow Period")
mult2 = input.float(2, minval=0.1, title="Slow Range")
// Moving Average Inputs
ma_type1 = input.string("EMA", "MA 1 Type (Fast)", options= , group="Moving Averages")
ma_length1 = input.int(12, "MA 1 Length", minval=1, group="Moving Averages")
ma_color1 = input.color(color.blue, "MA 1 Color", group="Moving Averages")
ma_type2 = input.string("EMA", "MA 2 Type (Medium)", options= , group="Moving Averages")
ma_length2 = input.int(50, "MA 2 Length", minval=1, group="Moving Averages")
ma_color2 = input.color(color.yellow, "MA 2 Color", group="Moving Averages")
ma_type3 = input.string("EMA", "MA 3 Type (Slow)", options= , group="Moving Averages")
ma_length3 = input.int(200, "MA 3 Length", minval=1, group="Moving Averages")
ma_color3 = input.color(color.purple, "MA 3 Color", group="Moving Averages")
ma_timeframe = input.string("", "MA Timeframe (e.g., 1m, 5m, 1H, D)", group="Moving Averages")
// ====== HHLL Strategy Logic ======
ph = ta.pivothigh(lb, rb)
pl = ta.pivotlow(lb, rb)
hl = not na(ph) ? 1 : not na(pl) ? -1 : na
zz = not na(ph) ? ph : not na(pl) ? pl : na
// Boolean conditions for ta.valuewhen
is_hl_minus1 = hl == -1
is_hl_plus1 = hl == 1
is_zz_valid = not na(zz)
prev_hl = ta.valuewhen(is_hl_minus1 or is_hl_plus1, hl, 1)
prev_zz = ta.valuewhen(is_zz_valid, zz, 1)
zz := not na(pl) and hl == -1 and prev_hl == -1 and pl > prev_zz ? na : zz
zz := not na(ph) and hl == 1 and prev_hl == 1 and ph < prev_zz ? na : zz
hl := hl == -1 and prev_hl == 1 and zz > prev_zz ? na : hl
hl := hl == 1 and prev_hl == -1 and zz < prev_zz ? na : hl
zz := na(hl) ? na : zz
findprevious() =>
ehl = hl == 1 ? -1 : 1
loc1 = 0.0, loc2 = 0.0, loc3 = 0.0, loc4 = 0.0
xx = 0
for x = 1 to 1000
if hl == ehl and not na(zz )
loc1 := zz
xx := x + 1
break
ehl := hl
for x = xx to 1000
if hl == ehl and not na(zz )
loc2 := zz
xx := x + 1
break
ehl := hl == 1 ? -1 : 1
for x = xx to 1000
if hl == ehl and not na(zz )
loc3 := zz
xx := x + 1
break
ehl := hl
for x = xx to 1000
if hl == ehl and not na(zz )
loc4 := zz
break
// Calling findprevious on each bar
= findprevious()
var float a = na
var float b = na
var float c = na
var float d = na
var float e = na
if not na(hl)
a := zz
b := loc1
c := loc2
d := loc3
e := loc4
// ====== Twin Range Filter Logic ======
smoothrng(x, t, m) =>
wper = t * 2 - 1
avrng = ta.ema(math.abs(x - x ), t)
smoothrng = ta.ema(avrng, wper) * m
smoothrng
smrng1 = smoothrng(source, per1, mult1)
smrng2 = smoothrng(source, per2, mult2)
smrng = (smrng1 + smrng2) / 2
rngfilt(x, r) =>
var float 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(source, smrng)
var float upward = 0.0
var float downward = 0.0
upward := filt > filt ? nz(upward ) + 1 : filt < filt ? 0 : nz(upward )
downward := filt < filt ? nz(downward ) + 1 : filt > filt ? 0 : nz(downward )
// ====== Moving Average Logic ======
ma_source = ma_timeframe == "" ? close : request.security(syminfo.tickerid, ma_timeframe, close, lookahead=barmerge.lookahead_on)
ma1 = ma_type1 == "EMA" ? ta.ema(ma_source, ma_length1) :
ma_type1 == "SMA" ? ta.sma(ma_source, ma_length1) :
ta.wma(ma_source, ma_length1)
ma2 = ma_type2 == "EMA" ? ta.ema(ma_source, ma_length2) :
ma_type2 == "SMA" ? ta.sma(ma_source, ma_length2) :
ta.wma(ma_source, ma_length2)
ma3 = ma_type3 == "EMA" ? ta.ema(ma_source, ma_length3) :
ma_type3 == "SMA" ? ta.sma(ma_source, ma_length3) :
ta.wma(ma_source, ma_length3)
// ====== Combined Strategy Conditions ======
_hh = not na(zz) and (a > b and a > c and c > b and c > d)
_ll = not na(zz) and (a < b and a < c and c < b and c < d)
_hl = not na(zz) and ((a >= c and (b > c and b > d and d > c and d > e)) or (a < b and a > c and b < d))
_lh = not na(zz) and ((a <= c and (b < c and b < d and d < c and d < e)) or (a > b and a < c and b > d))
hband = filt + smrng
lband = filt - smrng
longCond = source > filt and source > source and upward > 0 or source > filt and source < source and upward > 0
shortCond = source < filt and source < source and downward > 0 or source < filt and source > source and downward > 0
var int CondIni = 0
CondIni := longCond ? 1 : shortCond ? -1 : nz(CondIni )
long = longCond and CondIni == -1
short = shortCond and CondIni == 1
// ====== Plotting Section ======
var float res = na
var float sup = na
res := _lh ? zz : res
sup := _hl ? zz : sup
var int trend = na
trend := close > res ? 1 : close < sup ? -1 : nz(trend )
res := (trend == 1 and _hh) or (trend == -1 and _lh) ? zz : res
sup := (trend == 1 and _hl) or (trend == -1 and _ll) ? zz : sup
rechange = res != res
suchange = sup != sup
var line resline = na
var line supline = na
if showsupres
if rechange
line.set_x2(resline, bar_index)
line.set_extend(id=resline, extend=extend.none)
resline := line.new(bar_index - rb, res, bar_index, res, color=rescol, extend=extend.right, style=srlinestyle == "solid" ? line.style_solid : srlinestyle == "dashed" ? line.style_dashed : line.style_dotted, width=srlinewidth)
if suchange
line.set_x2(supline, bar_index)
line.set_extend(id=supline, extend=extend.none)
supline := line.new(bar_index - rb, sup, bar_index, sup, color=supcol, extend=extend.right, style=srlinestyle == "solid" ? line.style_solid : srlinestyle == "dashed" ? line.style_dashed : line.style_dotted, width=srlinewidth)
// Plot HHLL signals
plotshape(_hl, text="HL", title="Higher Low", style=shape.labelup, color=color.lime, textcolor=color.black, location=location.belowbar, offset=-rb)
plotshape(_hh, text="HH", title="Higher High", style=shape.labeldown, color=color.lime, textcolor=color.black, location=location.abovebar, offset=-rb)
plotshape(_ll, text="LL", title="Lower Low", style=shape.labelup, color=color.red, textcolor=color.white, location=location.belowbar, offset=-rb)
plotshape(_lh, text="LH", title="Lower High", style=shape.labeldown, color=color.red, textcolor=color.white, location=location.abovebar, offset=-rb)
// Plot Range Filter signals
plotshape(long, title="Long", text="Long", style=shape.labelup, textcolor=color.black, size=size.tiny, location=location.belowbar, color=color.new(color.lime, 0))
plotshape(short, title="Short", text="Short", style=shape.labeldown, textcolor=color.white, size=size.tiny, location=location.abovebar, color=color.new(color.red, 0))
// Plot Moving Averages
plot(ma1, title="MA Fast (12)", color=ma_color1, linewidth=2)
plot(ma2, title="MA Medium (50)", color=ma_color2, linewidth=2)
plot(ma3, title="MA Slow (200)", color=ma_color3, linewidth=2)
barcolor(changebarcol ? (trend == 1 ? bcolup : bcoldn) : na)
// ====== Alerts Section ======
alertcondition(long, title="Long", message="Long")
alertcondition(short, title="Short", message="Short")
RVM LLS Indicator and Low cheat Set upLow cheat set up. The indicator helps for a low stop loss entry. Risk reward should be well managed. Use it at your own risk. Enjoy.
Indicator 102#M3indicator based on Daily and weekly fib Level. Initial Breakout and breakdowns have been denoted as well
Yaso- Structural Signals: Buy/Sell (Clean v5)//@version=5
indicator("Structural Signals: Buy/Sell (Clean v5)", overlay=true)
//===================== Inputs =====================
grpCtx = "Context (Structure)"
lenDon = input.int(20, "Donchian Lookback (S/R proxy)", minval=5, group=grpCtx)
ema20On = input.bool(true, "Show EMA 20", group=grpCtx)
ema50On = input.bool(true, "Show EMA 50", group=grpCtx)
ema200On = input.bool(true, "Show EMA 200", group=grpCtx)
grpVol = "Volume Confirmation"
volLen = input.int(20, "Volume SMA Length", minval=2, group=grpVol)
volMult = input.float(1.5, "Volume Spike × SMA", minval=1.0, step=0.1, group=grpVol)
grpCand = "Candlestick Reversal (at Structure)"
useHammer = input.bool(true, "BUY: Hammer/Bottoming Tail near Support", group=grpCand)
useStar = input.bool(true, "SELL: Shooting Star/Topping Tail near Resistance", group=grpCand)
srNearPct = input.float(0.004, "‘Near’ S/R tolerance (0.004=0.4%)", step=0.001, minval=0.0, group=grpCand)
grpBreak = "Breakouts / Breakdowns"
useBO = input.bool(true, "BUY: Breakout above Resistance (Donchian High)", group=grpBreak)
useBD = input.bool(true, "SELL: Breakdown below Support (Donchian Low)", group=grpBreak)
grpPats = "Double Tops / Bottoms (pivots)"
useDB = input.bool(true, "BUY: Double Bottom / Higher Low", group=grpPats)
useDT = input.bool(true, "SELL: Double Top / Lower High", group=grpPats)
pvLeft = input.int(3, "Pivot Left Bars", minval=2, group=grpPats)
pvRight = input.int(3, "Pivot Right Bars", minval=2, group=grpPats)
matchTolPct = input.float(0.0075, "Price Match Tolerance (0.75%)", step=0.0005, minval=0.0, group=grpPats)
grpXover = "Trend Filters (Crosses)"
useGolden = input.bool(true, "BUY: Golden Cross (EMA50 > EMA200)", group=grpXover)
useDeath = input.bool(true, "SELL: Death Cross (EMA50 < EMA200)", group=grpXover)
grpGap = "Gap Fills (Daily preferred)"
useGapUpRev = input.bool(true, "SELL: Gap-Up Fill & Reversal (close < prior close)", group=grpGap)
useGapDnRev = input.bool(true, "BUY: Gap-Down Fill & Reversal (close > prior close)", group=grpGap)
minGapPct = input.float(0.01, "Min Gap % (1% = 0.01)", minval=0.0, step=0.001, group=grpGap)
grpAgg = "Alert Controls"
aggregateAlerts = input.bool(true, "Enable Aggregate BUY/SELL Alerts", group=grpAgg)
//===================== Context =====================
ema20 = ta.ema(close, 20)
ema50 = ta.ema(close, 50)
ema200 = ta.ema(close, 200)
donHi = ta.highest(high, lenDon)
donLo = ta.lowest(low, lenDon)
plot(ema20On ? ema20 : na, "EMA 20", color=color.new(color.teal, 0), linewidth=2)
plot(ema50On ? ema50 : na, "EMA 50", color=color.new(color.orange, 0), linewidth=2)
plot(ema200On ? ema200 : na, "EMA 200", color=color.new(color.blue, 0), linewidth=2)
plot(donHi, "Donchian High", color=color.new(color.red, 40))
plot(donLo, "Donchian Low", color=color.new(color.green,40))
volSMA = ta.sma(volume, volLen)
volSpike = volume > volSMA * volMult
//===================== Helpers =====================
near(val, ref, pct) =>
// true if |val - ref| / ref <= pct (with nz guard)
math.abs(val - ref) / nz(ref, val) <= pct
lowerWick() =>
(open < close ? open : close) - low
upperWick() =>
high - (open > close ? open : close)
bodySize() =>
math.abs(close - open)
isHammer() =>
lw = lowerWick()
uw = upperWick()
bd = bodySize()
lw >= bd * 2 and uw <= bd * 0.6 and close > open
isShootingStar() =>
lw = lowerWick()
uw = upperWick()
bd = bodySize()
uw >= bd * 2 and lw <= bd * 0.6 and close < open
nearSupport = near(low, donLo, srNearPct) or near(low, ema200, srNearPct)
nearResist = near(high, donHi, srNearPct) or near(high, ema200, srNearPct)
//===================== Signals =====================
// Breakouts / Breakdowns
buyBreakout = useBO and ta.crossover(close, donHi ) and (volSpike or close > donHi )
sellBreakdown = useBD and ta.crossunder(close, donLo ) and (volSpike or close < donLo )
// Pivots → Double Bottom / Top
pL = ta.pivotlow(low, pvLeft, pvRight)
pH = ta.pivothigh(high, pvLeft, pvRight)
lastLow = ta.valuewhen(pL, low , 0)
prevLow = ta.valuewhen(pL, low , 1)
lastHigh = ta.valuewhen(pH, high , 0)
prevHigh = ta.valuewhen(pH, high , 1)
priceMatch(a, b, tol) =>
not na(a) and not na(b) and math.abs(a - b) / b <= tol
doubleBottom = useDB and priceMatch(lastLow, prevLow, matchTolPct) and nz(lastLow) > nz(prevLow)
doubleTop = useDT and priceMatch(lastHigh, prevHigh, matchTolPct) and nz(lastHigh) < nz(prevHigh)
// Crosses (trend)
goldenCross = useGolden and ta.crossover(ema50, ema200)
deathCross = useDeath and ta.crossunder(ema50, ema200)
// Gap fill reversals (daily)
isDaily = timeframe.isdaily
gapUp = isDaily and open > close * (1 + minGapPct)
gapDown = isDaily and open < close * (1 - minGapPct)
gapUpFillRev = useGapUpRev and gapUp and high >= close and close < close
gapDnFillRev = useGapDnRev and gapDown and low <= close and close > close
// Candles at structure
hammerAtSupport = useHammer and isHammer() and nearSupport
starAtResist = useStar and isShootingStar() and nearResist
// Aggregate booleans (no arrays, no loops)
anyBuy = hammerAtSupport or buyBreakout or doubleBottom or goldenCross or gapDnFillRev
anySell = starAtResist or sellBreakdown or doubleTop or deathCross or gapUpFillRev
//===================== Plots =====================
plotshape(hammerAtSupport, title="BUY: Hammer @ Support", style=shape.triangleup, color=color.new(color.lime, 0), size=size.tiny, location=location.belowbar, text="Hammer@S")
plotshape(buyBreakout, title="BUY: Breakout", style=shape.triangleup, color=color.new(color.green, 0), size=size.tiny, location=location.belowbar, text="BO")
plotshape(doubleBottom, title="BUY: Double Bottom", style=shape.triangleup, color=color.new(color.teal, 0), size=size.tiny, location=location.belowbar, text="DB")
plotshape(goldenCross, title="BUY: Golden Cross", style=shape.triangleup, color=color.new(color.aqua, 0), size=size.tiny, location=location.belowbar, text="GC")
plotshape(gapDnFillRev, title="BUY: Gap-Down Reversal",style=shape.triangleup, color=color.new(color.fuchsia,0), size=size.tiny, location=location.belowbar, text="GapDnREV")
plotshape(starAtResist, title="SELL: Star @ Resistance",style=shape.triangledown, color=color.new(color.red, 0), size=size.tiny, location=location.abovebar, text="Star@R")
plotshape(sellBreakdown, title="SELL: Breakdown", style=shape.triangledown, color=color.new(color.maroon, 0), size=size.tiny, location=location.abovebar, text="BD")
plotshape(doubleTop, title="SELL: Double Top", style=shape.triangledown, color=color.new(color.orange, 0), size=size.tiny, location=location.abovebar, text="DT")
plotshape(deathCross, title="SELL: Death Cross", style=shape.triangledown, color=color.new(color.purple, 0), size=size.tiny, location=location.abovebar, text="DC")
plotshape(gapUpFillRev, title="SELL: Gap-Up Reversal", style=shape.triangledown, color=color.new(color.yellow, 0), size=size.tiny, location=location.abovebar, text="GapUpREV")
plotshape(aggregateAlerts and anyBuy, title="BUY (Aggregate)", style=shape.labelup, color=color.new(color.green, 70), textcolor=color.black, text="BUY", location=location.belowbar, size=size.tiny)
plotshape(aggregateAlerts and anySell, title="SELL (Aggregate)", style=shape.labeldown, color=color.new(color.red, 70), textcolor=color.black, text="SELL", location=location.abovebar, size=size.tiny)
//===================== Alerts =====================
alertcondition(hammerAtSupport, "BUY: Hammer @ Support", "Hammer/Bottoming Tail at support on {{ticker}} {{interval}}")
alertcondition(buyBreakout, "BUY: Breakout", "Breakout above Donchian High on {{ticker}} {{interval}}")
alertcondition(doubleBottom, "BUY: Double Bottom", "Double Bottom/Higher Low on {{ticker}} {{interval}}")
alertcondition(goldenCross, "BUY: Golden Cross", "EMA50 crosses above EMA200 on {{ticker}} {{interval}}")
alertcondition(gapDnFillRev, "BUY: Gap-Down Reversal","Gap-down filled & reversed on {{ticker}} {{interval}}")
alertcondition(starAtResist, "SELL: Star @ Resistance","Shooting Star/Topping Tail at resistance on {{ticker}} {{interval}}")
alertcondition(sellBreakdown, "SELL: Breakdown", "Breakdown below Donchian Low on {{ticker}} {{interval}}")
alertcondition(doubleTop, "SELL: Double Top", "Double Top/Lower High on {{ticker}} {{interval}}")
alertcondition(deathCross, "SELL: Death Cross", "EMA50 crosses below EMA200 on {{ticker}} {{interval}}")
alertcondition(gapUpFillRev, "SELL: Gap-Up Reversal", "Gap-up filled & reversed on {{ticker}} {{interval}}")
// Aggregate
alertcondition(aggregateAlerts and anyBuy, "BUY: Aggregate", "Structural BUY signal on {{ticker}} {{interval}}")
alertcondition(aggregateAlerts and anySell, "SELL: Aggregate", "Structural SELL signal on {{ticker}} {{interval}}")
Student wyckoff relative strength Indicator cryptoRelative Strength Indicator crypto
Student wyckoff rs symbol USDT.D
Description
The Relative Strength (RS) Indicator compares the price performance of the current financial instrument (e.g., a stock) against another instrument (e.g., an index or another stock). It is calculated by dividing the closing price of the first instrument by the closing price of the second, then multiplying by 100. This provides a percentage ratio that shows how one instrument outperforms or underperforms another. The indicator helps traders identify strong or weak assets, spot market leaders, or evaluate an asset’s performance relative to a benchmark.
Key Features
Relative Strength Calculation: Divides the closing price of the current instrument by the closing price of the second instrument and multiplies by 100 to express the ratio as a percentage.
Simple Moving Average (SMA): Applies a customizable Simple Moving Average (default period: 14) to smooth the data and highlight trends.
Visualization: Displays the Relative Strength as a blue line, the SMA as an orange line, and colors bars (blue for rising, red for falling) to indicate changes in relative strength.
Flexibility: Allows users to select the second instrument via an input field and adjust the SMA period.
Applications
Market Comparison: Assess whether a stock is outperforming an index (e.g., S&P 500 or MOEX) to identify strong assets for investment.
Sector Analysis: Compare stocks within a sector or against a sector ETF to pinpoint leaders.
Trend Analysis: Use the rise or fall of the RS line and its SMA to gauge the strength of an asset’s trend relative to another instrument.
Trade Timing: Bar coloring helps quickly identify changes in relative strength, aiding short-term trading decisions.
Interpretation
Rising RS: Indicates the first instrument is outperforming the second (e.g., a stock growing faster than an index).
Falling RS: Suggests the first instrument is underperforming.
SMA as a Trend Filter: If the RS line is above the SMA, it may signal strengthening performance; if below, weakening performance.
Settings
Instrument 2: Ticker of the second instrument (default: QQQ).
SMA Period: Period for the Simple Moving Average (default: 14).
Notes
The indicator works on any timeframe but requires accurate ticker input for the second instrument.
Ensure data for both instruments is available on the selected timeframe for precise analysis.
OSOK [AMERICANA] x [TakingProphets]OVERVIEW
OSOK is an ICT-inspired execution framework designed to help traders map the interaction between Higher-Timeframe (HTF) liquidity sweeps, qualifying Order Blocks, and Current-Timeframe (CTF) confirmation signals — all within a single, structured workflow.
By sequencing an HTF CRT → Order Block → CTF CRT model and integrating IPDA 20 equilibrium context, this tool provides traders with a visual framework for aligning intraday execution decisions with higher-timeframe intent. All plotted elements — sweeps, blocks, open prices, and equilibrium levels — update continuously in real time.
Core Concepts (ICT-Based)
Candle Range Transition (CRT) Sweeps
Bullish CRT → The second candle runs below the first candle’s low and closes back inside its range.
Bearish CRT → The second candle runs above the first candle’s high and closes back inside its range.
These patterns are frequently associated with liquidity grabs and potential directional shifts.
HTF → CTF Alignment
-Detects valid HTF CRTs (e.g., Daily CRTs derived from H4 or Weekly CRTs derived from Daily).
-Locates a qualifying Order Block within HTF Candle-2 to identify areas of potential interest.
-Waits for a modified CRT confirmation on the current timeframe before signaling possible directional bias.
IPDA 20 Equilibrium
-Plots the midpoint of the daily highest and lowest prices over the last 20 periods.
-Provides a visual reference for premium and discount pricing zones.
How OSOK Works
Step 1 — HTF CRT Check
On each new HTF candle, the script scans for a clean CRT formation on the higher aggregation (e.g., H4 → D or D → W).
If found, it tags the candles as C1, C2, and C3 and optionally shades their backgrounds for clear visual parsing.
Step 2 — HTF Order Block Identification
Searches within HTF Candle-2 for a qualifying Order Block using a compact pattern filter.
Draws a persistent OB level with clear labeling for context.
Step 3 — CTF Confirmation (Modified CRT)
Monitors your current chart timeframe for a modified CRT in alignment with the HTF setup:
For bullish setups → waits for a bullish modified CRT and close above C1’s high zone.
For bearish setups → expects a bearish modified CRT and close below C1’s low zone.
Step 4 — Real-Time Maintenance
All labels, lines, and background spans update intrabar.
If the setup invalidates — for example, if implied targets are exceeded before entry — the layout resets and waits for the next valid sequence.
KEY FEATURES
HTF CRT Visualization
-Optional “×” markers on Daily/Weekly CRT sweeps.
-Independent background shading for C1, C2, and C3.
Order Block + Open Price Context
-Draws HTF Order Block levels and plots C3 Open Price (DOP) for additional directional reference.
CTF CRT Execution Cue
-Displays a modified CRT on your current timeframe when conditions align with the HTF narrative.
IPDA 20 Line + Label
-Plots a dynamic midpoint level with an optional label for quick premium/discount context.
Optimized Drawing Engine
-Lightweight, efficient use of chart objects ensures smooth performance without visual clutter.
INPUTS
-Higher Timeframe Settings
-Toggle markers for Daily/Weekly CRT sweeps.
-Enable and color C1, C2, and C3 background spans.
-IPDA Display Options
-Control visibility, color, and line style for IPDA 20 equilibrium levels.
-Sweep, OB, and Open Price Styles
-Per-element customization for colors, widths, and labels.
BEST PRACTICES
Start on H4 or Daily to identify valid HTF CRT formations.
Confirm a qualifying OB inside Candle-2.
Drop to your execution timeframe and wait for the modified CTF CRT confirmation before acting.
Use IPDA 20 equilibrium as a reference for premium vs. discount zones.
Combine with your ICT session bias and overall market context for optimal decision-making.
Important Notes
OSOK is not a buy/sell signal provider. It’s a visual framework for understanding ICT-based execution models.
All objects reset automatically when new HTF candles form or setups invalidate.
Works on any symbol and timeframe by default, with HTF mapping set to H4 → D and D → W.
SSMT [TakingProphets]OVERVIEW
SSMT (Sequential SMT) is an ICT-inspired divergence detection tool designed to help traders identify potential intermarket divergences using Quarterly Theory, a framework popularized within the ICT community by Trader Daye and FearingICT.
The indicator segments each trading day into structured time-based quarters and scans for Sequential SMT divergences across Daily, 90-minute, and Micro-session cycles — updating continuously in real time. This allows traders to visualize when institutional liquidity shifts are most likely, based on ICT’s time-of-day models.
Built on ICT’s Quarterly Theory
At the heart of SSMT is Quarterly Theory, a time-based framework used in ICT methodology. The model divides each trading day into four predictable phases, representing shifts between accumulation, manipulation, and distribution:
Daily Quarters (4 per day)
Q1: 18:00 – 00:00 ET
Q2: 00:00 – 06:00 ET
Q3: 06:00 – 12:00 ET
Q4: 12:00 – 18:00 ET
Additionally, the indicator refines timing with two further layers:
90-Minute Quarters → Splits Asia, London, New York AM, and New York PM into structured liquidity windows, helping intraday traders monitor session-specific SMTs.
Micro Quarters → Offers a granular breakdown of each session for scalpers who require precise entry timing.
By combining these cycles, SSMT provides a contextual framework for understanding when divergences may carry the highest institutional relevance.
How SSMT Detects SMT Divergences
Sequential SMT detection in SSMT works by comparing price behavior between your selected instrument and a correlated asset (default: CME_MINI:ES1!). It monitors current vs. previous highs and lows within the active quarter and identifies divergence patterns as they form:
Bullish SMT → Your instrument forms a higher low while the correlated asset does not.
Bearish SMT → Your instrument forms a lower high while the correlated asset does not.
Divergence lines and labels are plotted directly on your chart, and these drawings update dynamically in real time as new data comes in. Historical SMTs also persist beyond quarter boundaries for added confluence in your analysis.
Key Features
Three SMT Cycles in One Tool
-Daily Cycle → Track higher-timeframe divergences around key liquidity events.
-90-Minute Cycle → Ideal for timing intraday setups within major sessions.
-Micro Cycle → Provides highly detailed precision for scalpers trading engineered sweeps.
Per-Cycle Customization
-Toggle Daily, 90-Minute, and Micro SMT independently.
-Fully customize divergence line colors, styles, widths, and optional session boxes for clarity.
Smart Auto-Labeling
-Labels automatically display the correlated symbol (e.g., “SMT w/ES”).
-Divergence drawings persist historically for reference and context.
Instant Style Updates
-Any visual changes to colors, widths, or line styles are applied immediately across both active and historical SMT drawings.
Practical Use Cases
Scalpers → Spot Micro SMTs to refine entries with session-specific precision.
Intraday Traders → Track divergences across Asia, London, and New York sessions in real time.
Swing Traders → Combine Daily SMT divergences with HTF POIs for higher confluence.
ICT Traders → Built specifically around ICT teachings, this tool provides a clear, visual framework to apply Quarterly Theory and SMT models seamlessly.
Important Notes
SSMT is not a buy/sell signal generator. It is an analytical framework designed to help traders interpret ICT-based SMT concepts visually.
Always confirm divergences within your broader market narrative and risk management rules.
HTF Candles [TakingProphets]OVERVIEW
The High Time Frame Candles indicator helps traders align their lower-timeframe executions with institutional context by projecting higher-timeframe (HTF) structure directly onto their charts. Designed for traders using ICT-inspired concepts, this tool integrates multi-timeframe candle visualization, real-time SMT divergence detection, and dynamic Open-High-Low-Close (OHLC) projections into a single customizable framework.
It’s not a signal generator — instead, it serves as an informational overlay that simplifies analysis by consolidating critical HTF insights into your intraday workflow.
WHAT THE INDICATOR DOES
Plots Up to 10 Higher Time Frame Candles
-Visualize HTF candles directly on your lower timeframe chart. The candles are offset to the right for clarity, giving you a clean and organized view of structure without cluttering price action.
HTF Close Timer
-Displays a countdown showing exactly when the current HTF candle will close — useful for timing trades around session boundaries.
Real-Time SMT Divergence Detection
-Compares price action on your main chart against a correlated asset (default: CME_MINI:ES1!) to automatically detect and label potential bearish or bullish SMT divergences. Optional alerts ensure you never miss these events.
Dynamic Candle Projections
-Continuously projects the current HTF candle’s Open, High, Low, and Close levels forward in real time. These evolving reference points can act as natural support/resistance levels and bias filters.
KEY FEATURES
Flexible Candle Rendering
-Adjust candle width, transparency, offset, and colors
-Select any HTF — from 1 minute to 1 month
-Choose customizable label sizes for clarity
Smart Time Labeling
-Automatically formats time labels based on timeframe
-Uses HH:MM for intraday and date labels for higher frames
-Supports 12-hour and 24-hour formats
SMT Divergence Tools
-Automatically detects historical and real-time SMT setups
-Customizable labels, colors, line styles, and widths
-Built-in alert conditions for bullish/bearish divergences
HTF OHLC Projections
-Plots the projected Open, High, Low, and Close levels for the current HTF candle
-Fully customizable styles, thickness, and labels for precision
INPUTS OVERVIEW
Timeframe Settings → Choose the HTF for plotting
Display Settings → Control the number of candles, offsets, label sizes, and visuals
Visual Settings → Customize bullish/bearish colors, border styles, and wick display
SMT Settings → Enable divergence detection, select correlated assets, and configure alerts
Projection Settings → Toggle OHLC projections and customize styles
ALERTS 🔔
Stay ahead of market shifts with built-in alert conditions:
Bullish SMT Divergence → Detected when main lows diverge from correlated lows
Bearish SMT Divergence → Detected when main highs diverge from correlated highs
Bullish Real-Time SMT → Highlights developing divergence as it forms
Bearish Real-Time SMT → Highlights active divergence in real time
CRT [TakingProphets]Overview
The CRT (Candle Range Theory) indicator is a real-time ICT-inspired tool designed for traders who want to visualize higher timeframe (HTF) candles, detect Candle Range Transitions (CRTs), and identify Smart Money Divergence (SMT) without switching charts.
By combining HTF bias, CRT structure, and SMT divergence, this indicator helps traders organize price action across multiple timeframes while maintaining a clear visual map on their active chart.
Concept & Background
Candle Range Theory stems from ICT methodology, focusing on how institutional price delivery leaves footprints when a three-candle sequence forms..
A Bearish CRT occurs when price attempts to continue higher but fails, creating a higher high with a lower close.
A Bullish CRT occurs when price attempts to continue lower but fails, creating a lower low with a higher close.
These moments can highlight areas where liquidity has been manipulated and where institutional flows may shift. This indicator automates the detection of these CRT patterns and integrates them with SMT divergence to enhance context and decision-making.
How It Works
HTF Candle Visualization
Overlay candles from any timeframe (1m to 1M) directly on your chart.
Displays the three most recent HTF candles with full body/wick precision.
CRT Detection
-Identifies potential bullish and bearish CRT formations based on how the middle candle behaves relative to the prior range.
-Marks these visually to help traders spot potential traps or reversal points.
SMT Divergence Integration
-Compares price action against a correlated asset (e.g., NQ vs ES, EURUSD vs GBPUSD).
-Highlights divergences between instruments, which can confirm potential CRT signals or invalidate false setups.
Real-Time Candle Projections
-Projects the current HTF candle’s open, high, low, and close dynamically throughout the session.
-These levels often act as reference points for bias, support/resistance, or target planning.
Custom Display Engine
-Full control over candle widths, label sizes, colors, and transparency.
-Optional Info Box shows the asset, timeframe, and date for quick reference.
SMT Divergence Lines & Alerts
-Automatically draws labeled lines (“BULLISH SMT” or “BEARISH SMT”) when divergence is detected.
-Includes dedicated alerts for SMT and CRT formations so you never miss a key setup.
How to Use It
Select Higher Timeframes
-Configure any timeframe overlays to add context to your lower-timeframe execution chart.
Monitor CRT Formations
-Watch for bullish or bearish CRT patterns that indicate failed continuations.
Use SMT Divergence for Confluence
-Compare behavior across correlated assets to validate or filter setups.
Plan Entries & Targets
-Use the projected HTF levels or CRT boundaries to define decision zones within your trading model.
Why It’s Useful
The CRT indicator doesn’t provide buy/sell signals or promise accuracy. Instead, it organizes institutional price action concepts into a visual, easy-to-interpret framework:
-Helps traders understand HTF context while operating intraday.
-Automates the identification of CRT traps and SMT divergences.
-Enhances decision-making by combining multiple ICT-inspired concepts in one place.
HTF Rejection Block [TakingProphets]Overview
The HTF Rejection Block indicator is designed to help traders identify and visualize Higher Timeframe Rejection Blocks—price zones where liquidity grabs often result in aggressive rejections. These areas can serve as high-probability decision points when combined with other ICT-based tools and concepts.
Unlike simple support/resistance markers, this indicator automates the detection of Rejection Blocks, maps them across up to four custom higher timeframes, and updates them in real time as price evolves. It provides traders with a structured framework for analyzing institutional price behavior without supplying direct buy/sell signals.
Concept & Background
The idea of Rejection Blocks was popularized by Powell, a respected educator within the ICT trading community. He highlighted how aggressive wicks—where price sweeps liquidity and sharply rejects—often reveal institutional activity and can hint at future directional bias.
This script builds upon that foundation by integrating several ICT-aligned concepts into a single, cohesive tool:
Liquidity Sweep Recognition → Identifies where price aggressively moves beyond a key level before snapping back.
Rejection Block Mapping → Highlights the candle bodies representing institutional rejection zones.
Multi-Timeframe Context → Lets you monitor rejection zones from higher timeframes while operating on your execution timeframe.
Equilibrium-Based Planning → Optional midpoint plotting offers a precise way to evaluate premium/discount within each block.
By combining these elements, the indicator makes it easier to see where liquidity events may influence price and how they relate to broader ICT-based setups.
How It Works
Detection Logic
A Rejection Block forms when price runs liquidity past a prior high/low but fails to hold and closes back inside the range.
These setups are detected automatically and marked as bullish or bearish zones.
Multi-Timeframe Analysis
Monitor up to four higher timeframes at once (e.g., 1H, 4H, 1D, 1W) while trading on your preferred execution timeframe.
Each block is clearly labeled and color-coded for visual clarity.
50% Equilibrium Levels
Optionally plot the midpoint of each rejection block, commonly used by ICT traders as a precision-based entry or target zone.
Auto-Mitigated Zones
When price fully trades through a rejection block, the zone is automatically removed to keep your chart clean.
Info Box for Context
An optional information panel displays the symbol, timeframe, and relevant data, helping you stay organized during active trading sessions.
Practical Usage
Select Higher Timeframes
Configure up to four HTFs based on your strategy (e.g., 1H, 4H, 1D, Weekly).
Identify Rejection Blocks
Watch for new blocks forming after liquidity sweeps beyond significant highs or lows.
Combine With Other ICT Concepts
Use alongside STDV, displacement, SMT divergence, or OTE retracements for confirmation and added confluence.
Plan Entry Zones
Leverage the 50% midpoint or body extremes of each block to build structured trade setups.
Why It’s Useful
This tool doesn’t generate trading signals or claim accuracy. Instead, it provides a visual framework for applying ICT’s Rejection Block methodology systematically across multiple timeframes.
Its value lies in helping traders:
Recognize where institutional activity may leave footprints.
Map key liquidity-based zones without manual marking.
Stay aligned with higher timeframe narratives while executing on lower timeframes.
S7F Alpha
S7F Alpha — The Complete Trading Suite
The S7F Alpha is an all-in-one trading framework built to give traders clarity, precision, and confidence in every trade. Designed for both intraday scalps and swing positions, it combines multiple proven strategies into one streamlined tool.
I’ve personally used this indicator for over 4 years, flipping accounts and refining my entries with sniper-level precision. If you want to see it in action, follow my YouTube channel where I trade live with S7F Alpha every day.
### 🔑 Key Features
* Multi-Session Mapping : Automatically highlights Asia, London, and New York sessions with high/low ranges for precise timing.
* Smart Baselines : Dynamic EMA & Ichimoku cloud filters to instantly identify trend bias.
* Pivot Levels & Quarters Theory : Auto-plotted daily/weekly/monthly pivot s with advanced quarter-level zones for sniper entries.
* Bollinger & RSI/TDI Engine : Detects overbought/oversold conditions, reversals, and momentum continuation.
* Session Alerts : Real-time alerts for London/NY crossovers , baseline flips, and stop-hunt setups.
* Accountability Tools : Session boxes, key levels, and color-coded bars keep your charts structured and easy to read.
### ✅ Best For
* Intraday traders (15m / 1h scalps).
* Prop firm challenge passes.
* Account flipping strategies (\$100 → \$1,000).
* Traders who want an **all-in-one dashboard** instead of 5–6 indicators cluttering charts.
---
👉 The **S7F Alpha** turns your chart into a **complete trading machine**, so you can focus on execution and consistency.
MomentumScriptThis is Momentum Tracker based on Richard Driehaus' research:
1) 12–1 momentum (return from t-12 months to t-1 month
2) FIP / path efficiency (many small up days > one big gap)
3) Proximity to 52-week high/low