Near New High ScreenerA simple indicator intended to be used in a pinescript scanner to find stocks that are re reaching highs after a pullback or base formation. To use add it as a favourite indicator so it can be selected in a pinescript scanner.
In the settings you can select whether to use the highest high or highest close for the previous high (defaults to close) and whether to use the all time high or the high from the last X days (defaults to 252 days).
Once opened in a pine scanner apply to a watchlist and scan. Stocks with a positive % have broken out from a previous high today, those with a negative % are that % away from the previous high.
You can sort by the “Pct from Prev High%” column or use the scanner filter to filter for stocks between two values, for example between 0 and -5% to find stocks near a new high, or >0 to find stocks that have broken out today.
Penunjuk dan strategi
Volume & Turnover HUD DisplayThis indicator highlights the latest candle’s trading activity directly on your chart. It displays the current candle’s volume in a large, easy-to-read format at the bottom-left corner of the screen, ensuring quick visibility without cluttering the chart.
An optional feature (enabled by default) also calculates and shows the turnover, derived from Volume × VWAP, expressed in crores (₹). This helps traders instantly assess both participation and the monetary value being traded in real time.
Ideal for intraday and swing traders who want a clear, at-a-glance view of volume and turnover strength to make faster decisions.
Gold Buy Sell Signals V2* This custom **30-minute breakout indicator** is designed especially for **Gold (XAUUSD) traders**.
It highlights three key candles of the day (IST 5:30 AM, 1:30 PM, and 6:30 PM), marking their **high and low levels** as support and resistance zones.
👉 By following this structured breakout strategy, traders can consistently capture **40–50 pips** in Gold with high accuracy, while keeping trading decisions simple and rule-based.
---
Volatility Bands NGThe Volatility Bands indicator is a sophisticated trading system that combines adaptive filtering technology with volatility-based band mechanics to identify high-probability trading opportunities. At its core, this indicator employs an Adaptive Gaussian Filter that dynamically adjusts to market conditions, providing smoother and more responsive trend detection than traditional moving averages.
Credit at @BigBeluga for his work on gaussian bands.
Key Technologies & Features:
Adaptive Gaussian Filter: Uses a weighted Gaussian distribution that automatically adjusts its sigma parameter based on current market volatility, creating a self-optimizing smoothing mechanism
Integrated ATR Model: Combines traditional ATR with volume-adjusted and momentum-weighted true range calculations (90% ATR + 1% Volume-Adjusted TR + 9% Momentum-Weighted TR) for superior volatility measurement
Trend State Machine: Tracks trend direction, strength (0-100%), and duration using a sophisticated scoring algorithm that weighs momentum (40%), direction consistency (40%), and volatility normalization (20%)
Market Regime Detection: Automatically identifies whether the market is Trending, Choppy, or in Low Volatility mode
Squeeze Detection System: Identifies compression periods using Bollinger Bands vs Keltner Channels methodology, alerting to potential explosive moves
Multi-Factor Confirmation: Validates signals using volume spikes and Money Flow Index (MFI) to filter out false breakouts
Automatic Risk Management: Calculates real-time stop-loss and take-profit levels (2R and 3R) based on current volatility
Primary Trading Strategies:
1. Trend Following with Confirmations
Enter LONG when price crosses above the lower band (bullish trend line) with green arrows showing confirmations
Enter SHORT when price crosses below the upper band (bearish trend line) with red arrows showing confirmations
Look for "✓" symbol indicating both volume and momentum confirmation for highest probability trades
2. Squeeze Breakout Strategy
Monitor orange background highlighting (squeeze active)
Prepare for breakout when squeeze releases (orange diamond appears)
Combine with trend direction for directional bias
Best used in ranging markets transitioning to trending
3. Retest Entry Strategy (Enable "Show Retest Signals")
After initial trend signal, wait for price to pull back to the adaptive filter line
Enter on retest signals (secondary arrows) for better risk/reward
Particularly effective in strong trending markets
4. Market Regime Adaptation
Trending Regime: Use standard trend-following entries with wider stops
Chop Regime: Focus on squeeze plays and avoid trend signals
Low Vol Regime: Tighten stops and reduce position sizes
Risk Management Guidelines:
Use the automatically calculated Stop Loss levels displayed in the info table
Scale out at 2R and 3R take profit levels
Reduce position size when Trend Score < 50%
Increase position size on confirmed signals (✓) with Trend Score > 70%
Advanced Filtering:
Combine trend direction with Market Regime for optimal entries
Use MFI levels (default 40/60) to avoid overbought/oversold entries
Monitor "Duration" in the info table - fresh trends (< 10 bars) often have more momentum
⚡ TL;DR
BUY: Green arrow + price above blue line + trend score > 50%
SELL: Red arrow + price below blue line + trend score < 50%
Best Signals: Arrows with "✓" symbol (full confirmation)
Avoid: Signals during orange squeeze periods (wait for release)
Exit: Use table's stop-loss (red) and take-profit levels (green)
Optimal Settings (already defaulted):
Adaptive Period: ON
Adaptive Sigma: ON
Require Confirmation: ON
Show Squeeze: ON
The indicator does the heavy lifting - just follow the arrows with confirmations and respect the risk levels shown in the table. Works best on 15m+ timeframes for crypto and 1H+ for forex/stocks.
🎯 Pro Tip: The indicator shines in trending markets. When the info table shows "Trending" regime with 70%+ trend score, increase position confidence.
If you’ve found value in Oracle NG and would like to support further development, feel free to donate:
BTC: bc1q2n4up8wzgqdsw9j3dzcn5jaelddu52t7ahydy6
ETH: 0x9b72b42326836528cA608c90811487E5244D7744
AVAX C-Chain: 0x9b72b42326836528cA608c90811487E5244D7744
byquan AlphaTrend + Supertrend GOP"Combine the two indicators AlphaTrend and SuperTrend; if they give the same signal, display it, otherwise discard it."
Comet C/2025 N1 (ATLAS) Ephemeris☄️ Ephemeris How-To: Plot JPL Horizons Data on TradingView (Educational)
Overview
This open-source Pine Script™ v6 indicator demonstrates how to bring external astronomical ephemeris into TradingView and plot it on a daily chart. Using Comet C/2025 N1 (ATLAS) as an example dataset, it shows the mechanics of structuring arrays, indexing by date, and drawing past and forward ( future projections ) values—strictly as an educational visualization of celestial motion.
Why This Approach
Data is generated from NASA JPL Horizons, a mission-grade, publicly available ephemeris service ( (ssd.jpl.nasa.gov)). On the daily timeframe, Horizons provides high-precision positions you can regenerate whenever solutions update—useful for educational accuracy in exploring orbital data.
What’s Plotted
- Geocentric ecliptic longitude (Earth-view)
- Heliocentric ecliptic longitude (Sun-centered)
- Declination (deg from celestial equator)
Features
- Simple arrays + date indexing (no per-row timestamps)
- Circles for historical/current bars; polylines to connect forward points, emphasizing future projections
- Toggle any series on/off via inputs
- Daily timeframe enforced (runtime error if not 1D)
- Optional table with zodiac conversion (AstroLib by BarefootJoey)
Data & Updates
The example arrays span 2025-07-01 (discovery date) → 2026-01-01. You can refresh them anytime from JPL Horizons (Observer: Geocentric; daily step; include ecliptic lon/lat and declination) and paste the new values into the script.
How we pulled the ephemeris from JPL Horizons (quick guide):
0) Open ssd.jpl.nasa.gov System
1. Ephemeris Type: Observer Table
2. Target Body: C/2025 N1 (ATLAS) (or any object you want)
3. Observer Location: Geocentric
4. Time Specification: set Start, Stop, Step = 1 day
5. Table Settings → Quantities:
* Astrometric RA & Dec
* Heliocentric ecliptic longitude & latitude
* Observer (geocentric) ecliptic longitude & latitude
6. Additional Table Settings:
* Calendar format: Gregorian
* Date/Time: calendar (UTC), Hours & Minutes (HH:MM)
* Angle format: Decimal degrees
* Refraction model: No refraction / airless
* Range units: Astronomical units (au)
7. Generate → Download results (CSV or text).
8. Use AI or a small script to parse columns (e.g., Obs ecliptic lon, Helio ecliptic lon, Declination) into arrays, then paste them into your Pine script.
Educational Note
This indicator’s goal is to show how to prepare and plot ephemeris—so you can adapt the method for other comets or celestial bodies, or swap in data from existing astro libraries, for learning about astronomical projections using JPL daily data.
Credits & License
- Ephemeris: Solar System Dynamics Group, Horizons On-Line Ephemeris System, 4800 Oak Grove Drive, Jet Propulsion Laboratory, Pasadena, CA 91109, USA.
- Zodiac conversion: AstroLib by BarefootJoey
- License: MIT
- For educational use only.
Dual MTF Stoch & MACD Visualizer (Vertical) & 10EMAMulti-frame stoch and macd chart for current and previous candle, giving traders an overview of momentum, also integrated with 10 ema lines 5,12,21,35,50,75,100,200
ATR by Session Library [1CG]Library "ATRxSession"
This library shows you how big the bars usually are during a trading session. It looks only at the times you choose (like New York or London hours), measures the “true range” of every bar in that session, then finds the average for that session. It keeps the last N sessions and gives you their overall average, so you can quickly see how much the market typically moves per bar during your chosen session.
Call getSessionAtr(timezone, session, sessionCount) from your script, and it will return a single number: the average per-bar volatility during the chosen session, based on the last N completed sessions. This makes it easy to plug session-specific volatility into your own indicators or strategies.
getSessionAtr(_timezone, _session, _sessionCount)
getSessionAtr - Computes a session-aware ATR over completed sessions.
Parameters:
_timezone (string) : (string) - Timezone string to evaluate session timing.
_session (string) : (string) - Session time range string (e.g., "0930-1600").
_sessionCount (int) : (int) - Number of past completed sessions to include in the rolling average.
Returns: (float) - The average ATR across the last N completed sessions, or na if not enough data.
ابوفيصلالقنلء السعرية
The Traders Trend Dashboard (ابوفصل) is a comprehensive trend analysis tool designed to assist traders in making informed trading decisions across various markets and timeframes. Unlike conventional trend-following scripts,ابو فيصل goes beyond simple trend detection by incorporating
Unicorn Model[Pro++]by TriummWhat is the Unicorn Model?
The Unicorn Model is an intraday trading setup taught by ICT that combines:
Liquidity raids (stop hunts)
Market structure shift (BOS/CHOCH)
Fair Value Gap (FVG) entry
Key time & session context
It’s called the “Unicorn” because it’s a rare but high-probability model that delivers very clean moves when it sets up correctly.
🔹 Core Components of the Unicorn Model
Liquidity Grab (Sweep)
Market first raids a key level (previous day’s high/low, session high/low, Asian range).
This removes liquidity and traps traders.
Market Structure Shift (MSS / CHoCH)
After the sweep, price breaks structure in the opposite direction.
This signals a shift in order flow.
Fair Value Gap (FVG) or Order Block Entry
Wait for price to retrace into the imbalance (FVG) or OB formed by the move.
Entry is taken here in line with the new direction.
Time & Session Context
Usually forms around London or New York Killzones (ICT emphasizes time of day).
Often tied to daily bias (using daily open, previous day high/low, etc.).
Target
Opposite liquidity pool (e.g., if raid was above → target below).
Often uses ADR levels, previous session lows, or equal lows/highs.
🔹 Example Flow (Bearish Unicorn)
Price trades above Asia High (liquidity sweep).
Then forms a market structure shift (BOS to downside).
A bearish FVG is left behind.
Price retraces into that FVG.
Entry short → target Asia Low or previous day low.
🔹 Why It’s Powerful
Filters fake breakouts → wait for liquidity + structure shift.
Adds precision → entry only on FVG retracement.
Works best when aligned with daily bias (discount/premium model).
🔹 Key Confluences for Unicorn
Session killzones (London Open, NY AM/PM).
Daily bias (above/below daily open).
Liquidity sweep (old highs/lows).
Fair Value Gap retracement.
Targets = liquidity pools.
✅ In short:
The ICT Unicorn Model = A “liquidity sweep + market structure shift + FVG retracement” setup, best taken in London/NY sessions, targeting opposite liquidity. It’s one of ICT’s cleanest intraday models for precision entries.
ict key level Pro++What Are ICT Key Levels?
ICT Key Levels are specific price reference points that institutions, market makers, and smart money use to set liquidity pools and trading ranges.
They aren’t random – they’re based on time, liquidity, and symmetry of price delivery.
Think of them like "road signs" in the market where big decisions happen (stop hunts, reversals, or continuations).
🔹 Major ICT Key Levels
Here are the most common ones:
1. Daily / Weekly / Monthly Highs & Lows
Previous day’s high/low
Previous week’s high/low
Previous month’s high/low
📌 Why important?
→ These act as liquidity pools. Stops gather here. Price often sweeps them before reversing.
2. Midpoint Levels (50% Equilibrium)
50% of the daily/weekly/monthly range.
ICT calls this equilibrium.
📌 Why important?
→ Above 50% = premium (expensive for buys, good for sells).
→ Below 50% = discount (cheap for buys, bad for sells).
3. Opening Price Levels
Daily Open → sets intraday bias.
Weekly Open → sets weekly bias.
Midnight Open (00:00 NY Time) → ICT uses this as a daily anchor.
📌 Why important?
→ If price stays above the daily/weekly open → bullish bias.
→ If below → bearish bias.
4. Session Highs & Lows
Asia Range High/Low
London Session High/Low
New York Session High/Low
📌 Why important?
→ Asia range often acts as liquidity for London to raid.
→ London high/low often becomes setup for NY session moves.
5. Yearly & Quarterly Highs/Lows
The yearly high/low is a massive liquidity pool.
Quarterly levels (Q1, Q2, Q3, Q4) also attract institutional activity.
📌 Why important?
→ Acts as long-term magnets for swing trading.
6. Figures & Round Numbers (Big Figures)
00.00, 50.00, 25.00, 75.00 levels.
Example: EURUSD → 1.1000, 1.1050, 1.1100.
📌 Why important?
→ Institutions like clean, even levels for orders.
🔹 How ICT Uses Key Levels
Liquidity Concept
Price raids old highs/lows to grab stops.
After liquidity grab → reversal or continuation.
Bias Filter
Above daily open? → bullish bias.
Below daily open? → bearish bias.
Confluence with Setups
Order blocks + Fair Value Gaps (FVGs) + Key Levels = high probability.
🔹 Example Trading Scenarios
London Judas Swing → Price raids Asian high (key level) then reverses for London trend.
Daily Bias → If price trades above daily open & rejects previous day’s low = bullish bias.
Weekly Expansion
Ict kill zone Pro++What is Season High / Low?
A Seasonal High/Low refers to price levels (highs or lows) that tend to form during specific times of the year (or season).
It’s based on the idea that markets have repeating cycles influenced by:
Economic reports (quarterly earnings, GDP releases, crop harvest cycles, etc.)
Institutional flows (quarterly rebalancing, end-of-year tax moves)
Natural/commodity cycles (oil demand in winter, crop harvest in fall, etc.)
🔹 Types of Seasonal Highs & Lows
Annual Season High/Low
Highest and lowest price of the year.
Example: EURUSD 2023 high/low.
Useful for long-term key levels.
Quarterly Season High/Low
Highs & lows of each 3-month quarter.
Institutions rebalance portfolios each quarter → causing strong moves.
Monthly Season High/Low
Highs & lows formed within each calendar month.
Often used for swing trading.
🔹 Why Season High/Low Matters
Liquidity Pools → Old highs/lows attract stop hunts (smart money loves to raid seasonal levels).
Bias Reference → If price is above yearly low but below yearly high → you know the market is “inside the yearly range.”
Institutional Targets → Many funds benchmark against yearly/quarterly levels.
Confluence → Combining OBs, FVGs, ADR, and seasonal highs/lows = stronger zones.
🔹 Example (ICT style use)
If price trades near the yearly low, expect either:
✅ A liquidity sweep (false break) before rally, or
✅ A breakdown continuation if institutions want discount pricing.
If price trades near the quarterly high, it’s often used as a “draw on liquidity” target.
🔹 How Traders Use Them
Mark Yearly High & Low (from January – December).
Mark Quarterly Highs/Lows (Q1, Q2, Q3, Q4).
Watch how price reacts when approaching these zones:
Liquidity sweeps
Reversals
Breakouts
✅ In short:
Season Highs & Lows = Key reference points from specific time periods (yearly, quarterly, monthly).
They act as institutional liquidity magnets and are critical for identifying long-term bias, liquidity raids, and market cycle transitions.
session High/Low (Triumm)// This Pine Script® code is subject to the terms of the Mozilla Public License 2.0 at mozilla.org
// © Triummm
//@version=6
indicator("Trading session High/Low (Triumm)", overlay=true)
//──────── Fixed timezone (NY clock = UTC‑4) ────────
sessTz = "Etc/GMT+4"
//──────── Toggle for swept-dot feature ─────────────
useSweepDots = input.bool(true, "Dot swept lines", tooltip="If ON, a level turns dotted once price sweeps it AFTER the session closes")
//──────── Session inputs ────────────────────────────────────────────────────
// Asia
showAsia = input.bool(true, "Show Asia", group="Asia Session")
asiaRange = input.session("1800-0300", "Asia Time (UTC‑4) 24h", group="Asia Session")
asiaCol = input.color(color.rgb(243, 33, 33), "Color", group="Asia Session")
asiaW = input.int(1, "Width", minval=1, maxval=5, group="Asia Session")
asiaStyleStr = input.string("Solid", "Line Style", options= , group="Asia Session")
asiaTransp = input.int(0, "Transparency (%)", minval=0, maxval=100, group="Asia Session")
// London
showLon = input.bool(true, "Show London", group="London Session")
lonRange = input.session("0300-0930", "London Time (UTC‑4) 24h", group="London Session")
lonCol = input.color(color.rgb(76, 153, 255), "Color", group="London Session")
lonW = input.int(1, "Width", minval=1, maxval=5, group="London Session")
lonStyleStr = input.string("Solid", "Line Style", options= , group="London Session")
lonTransp = input.int(0, "Transparency (%)", minval=0, maxval=100, group="London Session")
// New York
showNY = input.bool(true, "Show NY", group="NY Session")
nyRange = input.session("0930-1600", "NY Time (UTC‑4) 24h", group="NY Session")
nyCol = input.color(color.rgb(11, 173, 125), "Color", group="NY Session")
nyW = input.int(1, "Width", minval=1, maxval=5, group="NY Session")
nyStyleStr = input.string("Solid", "Line Style", options= , group="NY Session")
nyTransp = input.int(0, "Transparency (%)", minval=0, maxval=100, group="NY Session")
//──────── Helpers ───────────────────────────────────────────────────────────
styleFromStr(s) =>
s == "Dashed" ? line.style_dashed : s == "Dotted" ? line.style_dotted :line.style_solid
resetStyleIfNeeded(l, baseStyle) =>
if not na(l)
line.set_style(l, baseStyle)
// map styles
asiaStyle = styleFromStr(asiaStyleStr)
lonStyle = styleFromStr(lonStyleStr)
nyStyle = styleFromStr(nyStyleStr)
//──────── Asia state ────────────────────────────────────────────────────────
var float asia_hi = na
var float asia_lo = na
var int asia_hi_bi = na
var int asia_lo_bi = na
var line asia_hL = na
var line asia_lL = na
var bool asia_hi_sw = false
var bool asia_lo_sw = false
inAsia = not na(time(timeframe.period, asiaRange, sessTz))
newAsia = inAsia and not inAsia
if newAsia
line.delete(asia_hL), line.delete(asia_lL)
asia_hi := high, asia_lo := low
asia_hi_bi := na, asia_lo_bi := na
asia_hi_sw := false, asia_lo_sw := false
if showAsia and inAsia
if (na(asia_hi_bi) and bar_index > bar_index ) or high > asia_hi
asia_hi := high, asia_hi_bi := bar_index, asia_hi_sw := false
if na(asia_hL)
asia_hL := line.new(asia_hi_bi, asia_hi, asia_hi_bi + 1, asia_hi, xloc.bar_index, extend.right,color.new(asiaCol, asiaTransp), asiaStyle, asiaW)
else
line.set_xy1(asia_hL, asia_hi_bi, asia_hi)
line.set_xy2(asia_hL, asia_hi_bi + 1, asia_hi)
line.set_style(asia_hL, asiaStyle)
if (na(asia_lo_bi) and bar_index > bar_index ) or low < asia_lo
asia_lo := low, asia_lo_bi := bar_index, asia_lo_sw := false
if na(asia_lL)
asia_lL := line.new(asia_lo_bi, asia_lo, asia_lo_bi + 1, asia_lo, xloc.bar_index, extend.right,color.new(asiaCol, asiaTransp), asiaStyle, asiaW)
else
line.set_xy1(asia_lL, asia_lo_bi, asia_lo)
line.set_xy2(asia_lL, asia_lo_bi + 1, asia_lo)
line.set_style(asia_lL, asiaStyle)
// sweep detection AFTER session
canSweepAsia = useSweepDots and not inAsia
if showAsia
if canSweepAsia
if not asia_hi_sw and not na(asia_hi_bi) and high > asia_hi // strict break
line.set_style(asia_hL, line.style_dotted), asia_hi_sw := true
if not asia_lo_sw and not na(asia_lo_bi) and low < asia_lo // strict break
line.set_style(asia_lL, line.style_dotted), asia_lo_sw := true
else
resetStyleIfNeeded(asia_hL, asiaStyle)
resetStyleIfNeeded(asia_lL, asiaStyle)
if not showAsia
line.delete(asia_hL), line.delete(asia_lL)
asia_hL := na, asia_lL := na
//──────── London state ─────────────────────────────────────────────────────
var float lon_hi = na
var float lon_lo = na
var int lon_hi_bi = na
var int lon_lo_bi = na
var line lon_hL = na
var line lon_lL = na
var bool lon_hi_sw = false
var bool lon_lo_sw = false
inLon = not na(time(timeframe.period, lonRange, sessTz))
newLon = inLon and not inLon
if newLon
line.delete(lon_hL), line.delete(lon_lL)
lon_hi := high, lon_lo := low
lon_hi_bi := na, lon_lo_bi := na
lon_hi_sw := false, lon_lo_sw := false
if showLon and inLon
if (na(lon_hi_bi) and bar_index > bar_index ) or high > lon_hi
lon_hi := high, lon_hi_bi := bar_index, lon_hi_sw := false
if na(lon_hL)
lon_hL := line.new(lon_hi_bi, lon_hi, lon_hi_bi + 1, lon_hi,
xloc.bar_index, extend.right,
color.new(lonCol, lonTransp), lonStyle, lonW)
else
line.set_xy1(lon_hL, lon_hi_bi, lon_hi)
line.set_xy2(lon_hL, lon_hi_bi + 1, lon_hi)
line.set_style(lon_hL, lonStyle)
if (na(lon_lo_bi) and bar_index > bar_index ) or low < lon_lo
lon_lo := low, lon_lo_bi := bar_index, lon_lo_sw := false
if na(lon_lL)
lon_lL := line.new(lon_lo_bi, lon_lo, lon_lo_bi + 1, lon_lo,
xloc.bar_index, extend.right,
color.new(lonCol, lonTransp), lonStyle, lonW)
else
line.set_xy1(lon_lL, lon_lo_bi, lon_lo)
line.set_xy2(lon_lL, lon_lo_bi + 1, lon_lo)
line.set_style(lon_lL, lonStyle)
// sweep detection AFTER session
canSweepLon = useSweepDots and not inLon
if showLon
if canSweepLon
if not lon_hi_sw and not na(lon_hi_bi) and high > lon_hi
line.set_style(lon_hL, line.style_dotted), lon_hi_sw := true
if not lon_lo_sw and not na(lon_lo_bi) and low < lon_lo
line.set_style(lon_lL, line.style_dotted), lon_lo_sw := true
else
resetStyleIfNeeded(lon_hL, lonStyle)
resetStyleIfNeeded(lon_lL, lonStyle)
if not showLon
line.delete(lon_hL), line.delete(lon_lL)
lon_hL := na, lon_lL := na
//──────── New York state ───────────────────────────────────────────────────
var float ny_hi = na
var float ny_lo = na
var int ny_hi_bi = na
var int ny_lo_bi = na
var line ny_hL = na
var line ny_lL = na
var bool ny_hi_sw = false
var bool ny_lo_sw = false
inNY = not na(time(timeframe.period, nyRange, sessTz))
newNY = inNY and not inNY
if newNY
line.delete(ny_hL), line.delete(ny_lL)
ny_hi := high, ny_lo := low
ny_hi_bi := na, ny_lo_bi := na
ny_hi_sw := false, ny_lo_sw := false
if showNY and inNY
if (na(ny_hi_bi) and bar_index > bar_index ) or high > ny_hi
ny_hi := high, ny_hi_bi := bar_index, ny_hi_sw := false
if na(ny_hL)
ny_hL := line.new(ny_hi_bi, ny_hi, ny_hi_bi + 1, ny_hi,
xloc.bar_index, extend.right,
color.new(nyCol, nyTransp), nyStyle, nyW)
else
line.set_xy1(ny_hL, ny_hi_bi, ny_hi)
line.set_xy2(ny_hL, ny_hi_bi + 1, ny_hi)
line.set_style(ny_hL, nyStyle)
if (na(ny_lo_bi) and bar_index > bar_index ) or low < ny_lo
ny_lo := low, ny_lo_bi := bar_index, ny_lo_sw := false
if na(ny_lL)
ny_lL := line.new(ny_lo_bi, ny_lo, ny_lo_bi + 1, ny_lo,
xloc.bar_index, extend.right,
color.new(nyCol, nyTransp), nyStyle, nyW)
else
line.set_xy1(ny_lL, ny_lo_bi, ny_lo)
line.set_xy2(ny_lL, ny_lo_bi + 1, ny_lo)
line.set_style(ny_lL, nyStyle)
// sweep detection AFTER session
canSweepNY = useSweepDots and not inNY
if showNY
if canSweepNY
if not ny_hi_sw and not na(ny_hi_bi) and high > ny_hi
line.set_style(ny_hL, line.style_dotted), ny_hi_sw := true
if not ny_lo_sw and not na(ny_lo_bi) and low < ny_lo
line.set_style(ny_lL, line.style_dotted), ny_lo_sw := true
else
resetStyleIfNeeded(ny_hL, nyStyle)
resetStyleIfNeeded(ny_lL, nyStyle)
if not showNY
line.delete(ny_hL), line.delete(ny_lL)
ny_hL := na, ny_lL := na
OB old version by triummWhat is an Order Block?
In Smart Money Concepts (SMC), an order block (OB) is the last bullish or bearish candle before a strong impulsive move that breaks structure.
A Bullish OB → the last down candle before price moves strongly up.
A Bearish OB → the last up candle before price moves strongly down.
Order blocks represent areas where institutions or “smart money” placed large buy/sell orders.
🔹 What is a Volume Order Block?
A Volume Order Block adds a volume filter to standard order blocks.
Instead of just marking any OB, it highlights only those that are confirmed by abnormally high trading volume.
📌 Logic:
When banks/institutions create OBs, they usually inject big volume into the market.
Regular OBs may appear everywhere, but volume-based OBs filter out weak ones.
🔹 How to Identify a Volume Order Block
Find the OB normally (last opposite candle before strong move).
Check volume of that OB candle:
If volume is above average → strong OB (institutions active).
If volume is low/normal → weak OB (likely to fail).
🔹 Why Volume OB is Better
Filters fake OBs → many OBs form, but not all are institutional.
Higher probability zones → when price revisits that OB, it’s more likely to respect it.
Confluence with liquidity → strong OB + high volume often means liquidity grab + institutional entry.
🔹 Example (Bullish Volume OB)
Price is in a downtrend.
A bearish candle with unusually high volume forms.
Immediately after, price pushes up strongly, breaking structure.
That bearish candle is now a bullish volume order block.
When price returns to that level → strong buy reaction expected.
🔹 How Traders Use Volume OBs
Entries → wait for price to revisit the OB + volume support.
Stop Loss → usually below (bullish OB) or above (bearish OB).
Target → next liquidity pool, FVG, or imbalance.
Filtering → ignore OBs with low volume → less clutter on chart.
✅ In short:
A Volume Order Block = A normal OB + confirmed by unusually high volume.
It gives you higher quality supply & demand zones backed by institutional activity.
MACD Quadrant Matrix – 10 US MajorsThis script provides a quadrant matrix visualization of the MACD indicator across 10 major U.S. stocks (AAPL, MSFT, NVDA, AMZN, GOOGL, META, TSLA, BRK.B, UNH, LLY).
It is designed as a visual screening tool to quickly analyze the relative MACD conditions of large-cap U.S. equities.
# Quadrant Logic
Q1 (Green): MACD > 0 and MACD > Signal
Q2 (Orange): MACD > 0 and MACD < Signal
Q3 (Blue): MACD < 0 and MACD > Signal
Q4 (Red): MACD < 0 and MACD < Signal
# Features
Adjustable timeframe (default: Daily)
Quadrant background visualization
Optional jitter to reduce overlap of bubbles
Tooltip display with MACD, Signal, and Delta values
Counts of how many symbols fall into each quadrant
# Limitations
Symbol list is fixed to 10 large-cap U.S. stocks (modifiable in code).
This is a visualization tool only. It does not generate buy/sell signals.
Results and quadrant positioning will vary depending on timeframe selection.
# Disclaimer
This script is for educational and analytical purposes only.
It is not financial advice, and should not be relied upon for trading or investment decisions.
Trading and investing carry risk, and users should perform their own due diligence.
RSI Bands With RSI - ATR Trend StrategyRSI Bands With RSI-ATR Trend Line Strategy
Overview
A trend-following strategy that combines RSI regime detection with a smoothed baseline and ATR bands. Works similar to Supertrend: the line flips bullish or bearish only when price closes beyond the band, aiming to filter noise and catch clean moves.
How It Works
RSI above 50 = bullish bias, below 50 = bearish bias
A dynamic baseline is calculated from RSI and price range, then smoothed
ATR bands expand/contract with volatility
Close above the upper band → bullish flip → long entry
Close below the lower band → bearish flip → short entry
Between bands → prior trend continues
Features
Automatic Buy/Sell entries on confirmed flips
Configurable RSI, Smoothing, ATR, and Multiplier inputs
Visual trend line (green = bull, red = bear)
Backtest ready with initial capital and commission settings
Best Use Cases
Trending markets across Forex, Crypto, Indices, Commodities
Works on multiple timeframes (higher TFs = cleaner flips)
Flexible settings for conservative swing trading or aggressive scalping
⚠️ For testing/education only. Always manage risk and confirm with higher-timeframe or structure filters.
Alpha Spread Indicator Panel - [AlphaGroup.Live]Alpha Spread Indicator Panel –
This sub-panel plots the OLS spread between two assets, normalized into percent .
• Green area = spread above zero (Buy Leg1 / Sell Leg2)
• Red area = spread below zero (Sell Leg1 / Buy Leg2)
• The white line shows the exact % deviation of the spread from its fitted baseline
• Optional ±1% and ±2% guides give clear statistical thresholds
Because it’s expressed in percent relative to midprice , the scale remains consistent even if absolute prices change over years.
⚠️ Important: This panel is designed to be used together with the overlay chart:
👉 Alpha Spread Indicator Chart –
Pre-selected asset pairs included:
EURUSD / GBPUSD
AUDUSD / NZDUSD
USDJPY / USDCHF
USDCAD / USDNOK
EURJPY / GBPJPY
AUDJPY / NZDJPY
XAUUSD / XAGUSD
WTI (USOIL) / Brent (UKOIL)
NatGas / Crude
HeatingOil / RBOB
Corn / Wheat
Platinum / Palladium
XOM / CVX
KO / PEP
V / MA
JPM / BAC
NVDA / AMD
BHP / RIO
SHEL / BP
SPY / QQQ
Want more institutional-grade setups? Get our 100 Trading Strategies eBook free at:
alphagroup.live
Tags: pairs-trading, spread-trading, statistical-arbitrage, ols-regression, zscore, mean-reversion, arbitrage, quant, hedge, alphagroup
Alpha Spread Indicator Chart - [AlphaGroup.Live]Alpha Spread Indicator Chart –
This overlay plots the two legs of a pair trade directly on the price chart .
• Leg1 is shown in teal
• Leg2 (fitted) is shown in orange
• The green/red filled area shows the distance (spread) between the two
The spread is calculated using OLS regression fitting , which keeps Leg2 scaled to Leg1 so the overlay always sticks to the chart’s price axis. When the fill turns green , the model suggests Buy Leg1 / Sell Leg2; when it turns red , it suggests Sell Leg1 / Buy Leg2.
Optional Z-Score bands help visualize statistical stretch from the mean.
⚠️ Important: To use this tool properly, you also need to install the companion script:
👉 Alpha Spread Indicator Panel –
Pre-selected asset pairs included:
EURUSD / GBPUSD
AUDUSD / NZDUSD
USDJPY / USDCHF
USDCAD / USDNOK
EURJPY / GBPJPY
AUDJPY / NZDJPY
XAUUSD / XAGUSD
WTI (USOIL) / Brent (UKOIL)
NatGas / Crude
HeatingOil / RBOB
Corn / Wheat
Platinum / Palladium
XOM / CVX
KO / PEP
V / MA
JPM / BAC
NVDA / AMD
BHP / RIO
SHEL / BP
SPY / QQQ
Ready to take your trading further? Download our free eBook with 100 trading strategies at:
alphagroup.live
Tags: pairs-trading, spread-trading, statistical-arbitrage, ols-regression, zscore, mean-reversion, arbitrage, quant, hedge, alphagroup
Circuit Indicator Gives Circuit Limit of Indian Stocks
No Band is No Circuit Limit (F&O) Stock
2%
5%
10%
20%
Pin Bar Reversal - Black GUIThe Pin Bar Reversal strategy is designed to identify and trade price rejection signals that occur at key support and resistance levels, which are often indicative of potential market reversals. This strategy detects bullish pin bars (candles with long lower shadows and small bodies at the top of the range) as buy signals, and bearish pin bars (candles with long upper shadows and small bodies at the bottom of the range) as sell signals.
The script calculates the body, range, tail, and head of each candle to determine if it meets the strict criteria for a pin bar. When a valid pin bar is found, the script plots a label on the chart for clear visualization. Entry signals are generated when the pin bar aligns with the expected price action (bullish pin bar closes higher than it opens, bearish pin bar closes lower). The strategy also includes logic to exit trades if the price moves against the pin bar's high or low, and plots exit labels for transparency.
The GUI uses a black-themed color scheme for enhanced visibility. This approach is particularly useful for traders who focus on price action and want to capture reversals at significant market levels.
Always thoroughly backtest this strategy before using it in live trading.
For more strategies and inspiration, visit:
Circuit Limit Indicator (parsed input)Shows the circuit Limit if NSE Stocks
No Circuit Limit: FnO Stock
2%
5%
10%
20%
Gold Buy-Sell 30 MinHere’s a short, clear **description** you can use for your indicator 👇
**📌 Indicator Brief**
This custom **30-minute breakout indicator** is designed especially for **Gold (XAUUSD) Traders**.
It highlights three key candles of the day (IST 5:30 AM, 1:30 PM, and 6:30 PM), marking their **high and low levels** as support and resistance zones.
👉 By following this structured breakout strategy, traders can consistently capture **40–50 pips** in Gold with high accuracy, while keeping trading decisions simple and rule-based.
---
Outside Bar Reversal - Black GUIAn Outside Bar Reversal strategy that buys when the price breaks above the high of an outside bar and sells when it breaks below the low of an outside bar.
The strategy features a black-themed GUI for enhanced visibility.
This strategy is useful for identifying potential reversal points based on price action patterns. Always backtest the strategy before applying it to live trading.
Visit - trader-on-the-go .