Fair Value Gap WindowStupid little toy I made to get my toes back in the water. How does this work?
Detects fair value gaps up to the count you specify in the settings
Plots them on the chart if they are inside of the 2 lines (top and bottom)
If the fair value gap is partially outside of the "window", it will only draw the part of it thats inside the window.
Not really useful but if you wanna take a look at the code for practice for yourself, feel free I guess haha
インジケーターとストラテジー
SPX Master Levels & Correlations [Gemini] (v4.2)This will draw on your chart levels of SPX from other time frames low , high and ES
EMA Color Buy/Sell
indicator("EMA Color & Buy/Sell Signals", overlay=true, max_lines_count=500, max_labels_count=500)
EMA
emaShortLen = input.int(9, "Kısa EMA")
emaLongLen = input.int(21, "Uzun EMA")
EMA
emaShort = ta.ema(close, emaShortLen)
emaLong = ta.ema(close, emaLongLen)
EMA renkleri (trend yönüne göre)
emaShortColor = emaShort > emaShort ? color.green : color.red
emaLongColor = emaLong > emaLong ? color.green : color.red
EMA
plot(emaShort, color=emaShortColor, linewidth=3, title="EMA Short")
plot(emaLong, color=emaLongColor, linewidth=3, title="EMA Long")
buySignal = ta.crossover(emaShort, emaLong)
sellSignal = ta.crossunder(emaShort, emaLong)
plotshape(buySignal, title="Buy", location=location.belowbar, color=color.lime, style=shape.triangleup, size=size.large)
plotshape(sellSignal, title="Sell", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.large)
barcolor(close > open ? color.new(color.green, 0) : color.new(color.red, 0))
var line buyLine = na
var line sellLine = na
if buySignal
buyLine := line.new(bar_index, low, bar_index, high, color=color.lime, width=2)
if sellSignal
sellLine := line.new(bar_index, high, bar_index, low, color=color.red, width=2)
INAZUMA Bollinger BandsThis is an indicator based on the widely used Bollinger Bands, enhanced with a unique feature that visually emphasizes the "strength of the breakout" when the price penetrates the bands.
Main Features and Characteristics
1. Standard Bollinger Bands Display
Center Line (Basis): Simple Moving Average (\text{SMA(20)}).
1 sigma Lines: Light green (+) and red (-) lines for reference.
2 sigma Lines (Upper/Lower Band): The main dark green (+) and red (-) bands.
2. Emphasized Breakout Zones: "INAZUMA / Flare" and "MAGMA"
The key feature is the activation of colored, expanding areas when the candlestick's High or Low breaks significantly outside the \pm 2\sigma bands.
Upper Side (Green Base / Flare):
When the High exceeds the +2\sigma line, a green gradient area expands upwards.
Indication: This visually suggests strong buying pressure or overbought conditions. The color deepens as the price moves further away, indicating higher momentum.
Lower Side (Red Base / Magma):
When the Low falls below the -2 sigma line, a red gradient area expands downwards.
Indication: This visually suggests strong selling pressure or oversold conditions. The color deepens as the price moves further away, indicating higher momentum.
Key Insight: This visual aid helps traders quickly assess the momentum and market excitement when the price moves outside the standard Bollinger Bands range. Use it as a reference for judging trend strength and potential entry/exit points.
Customizable Settings
You can adjust the following parameters in the indicator settings:
Length: The period used for calculating the Moving Average and Standard Deviation. (Default: 20)
StdDev (Standard Deviation): The multiplier for the band width (e.g., 2.0 for -2 sigma). (Default: 2.0)
Source: The price data used for calculation (Default: close).
Daily Levels [cryptalent]Daily High / Low / Mid / Open Levels is a session-based reference indicator designed to visualize key daily price levels directly on the chart.
This indicator automatically plots the Daily High, Daily Low, Daily Midpoint (High + Low / 2), and Daily Open as horizontal lines for each trading day. These levels help traders quickly identify important structural prices where liquidity, reactions, or acceptance often occur.
Key Features
Automatic Daily Levels
Plots Daily High (H), Low (L), Mid (M), and Open (O) using higher-timeframe daily data.
Levels update in real time as the current day develops.
Multi-Day History
Displays daily levels for a configurable number of past days.
Older levels are automatically removed to keep the chart clean.
Line Extension
Current day levels can be extended forward by a user-defined number of bars.
Useful for projecting intraday reaction zones and liquidity targets.
Visual Customization
Independent line width and color settings for each level.
Mid level is shown as a dashed line for quick visual distinction.
Labels & Price Tags
Optional letter labels (H / L / M / O) displayed near the extended levels.
Optional price labels showing the exact level values on the right side of the chart.
Labels update dynamically and only display for the active trading day.
Performance-Oriented Design
Efficient line and label management using arrays.
Automatically cleans up unused objects to stay within TradingView limits.
Use Cases
Identifying intraday support and resistance
Tracking daily range behavior
Monitoring mean reversion vs. range expansion
Aligning intraday execution with higher-timeframe structure
This indicator is particularly useful for traders who rely on market structure, session behavior, and objective price references rather than subjective trend lines.
Dual Pivot StructureDual Pivot Structure: Speed vs. Stability
Overview
This script is an experimental prototype designed to solve the most common frustration with Market Structure indicators: The Trade-off between Lag and Noise.
In traditional Price Action analysis, verifying a Pivot High or Low requires waiting for X number of candles to close.
High Lookback (e.g., 5 bars): Reliable structure, but the signal appears too late to trade.
Low Lookback (e.g., 1 bar): Fast signals, but prone to "fake-outs" and noise.
This indicator runs both logic systems simultaneously, allowing traders to see the "True" market structure while receiving "Early Warning" signals for potential entries.
How It Works
The script calculates two parallel layers of market data:
1. The "Structure" Layer (Slow & Reliable)
Uses a standard, higher lookback period (Default: 5 Left / 5 Right).
Purpose: Defines the macro trend. It labels confirmed Higher Highs (HH), Lower Lows (LL), etc.
Visual: Solid colored labels. These confirm the trend bias.
2. The "Signal" Layer (Fast & Actionable)
Uses a rapid, minimal lookback period (Default: 1 Left / 1 Right).
Purpose: Hunts for potential reversals within the macro trend.
Logic: If the Macro Trend is bullish, but price pulls back, this layer looks for a "Micro Pivot" that is higher than the previous Macro Low.
Visual: Orange "⚠ HL?" or "⚠ LH?" text.
How to Use This Script
This tool is best used to time entries within an established trend.
Identify the Trend: Look at the Solid Labels (Green/Red). Are we making HHs and HLs? The trend is Up.
Wait for the Pullback: Allow price to retrace.
Watch for the Early Warning: Look for the orange "⚠ HL?" text.
This appears bars before the structural pivot is confirmed.
The Signal: This is your aggressive entry trigger or alert to watch for a lower timeframe change of character.
Confirmation: If price continues in your direction, the script will eventually print a solid HL label, confirming your early entry was correct.
Settings
Structure Settings: Controls the sensitivity of the main trend (Default: 5/5). Increase this for higher timeframes to filter noise.
Signal Settings: Controls the sensitivity of the early warnings (Default: 1/1). Keep this low for maximum speed.
Visuals: Toggle the "Early Warning" labels on/off and customize colors to fit your chart theme.
Disclaimer
This script is a prototype for educational purposes. The "Early Warning" signals are, by definition, unconfirmed and carry higher risk. Always manage risk accordingly.
Single Prints and Poor Highs/Lows [Real-Time]This indicator is designed for traders utilizing Auction Market Theory (AMT) who need real-time visibility into market structure inefficiencies. Unlike standard TPO tools that often wait for closed bars or finished sessions, this script builds a developing TPO profile tick-by-tick to identify Single Prints and Poor Highs/Lows the moment they form.
Key Features:
Real-Time Single Prints: Automatically detects and highlights areas of single-print inefficiencies (buying/selling tails) as they happen. These "ghost" boxes persist on the chart until price repairs (fills) them, acting as immediate targets or support/resistance zones.
Poor High/Low Detection: Strictly implements AMT logic to identify "unfinished" auctions. If a session extreme is formed by two or more TPO blocks (indicating a flat top/bottom rather than a rejection tail), it marks the level with a dotted line.
Repair Logic: Both Single Prints and Poor High/Low lines are dynamic. If price revisits and repairs the structure, the markers automatically vanish to keep your chart clean.
Session Control: Fully customizable RTH (Regular Trading Hours) session input (default 08:30–15:15) to ensure profiles are built on relevant liquidity.
Quantization: Adjustable "Ticks per Block" allowing you to tune the sensitivity of the TPO profile to different assets (ES, NQ, CL, etc.).
How It Works:
TPO Construction: The script breaks the session into 30-minute periods (configurable) and tracks price overlap.
Single Prints: When the market expands rapidly, leaving gaps in the profile (single TPO blocks), a box is drawn. If price trades back through this box, it deletes itself.
Poor Extremes: It monitors the current session High and Low. If the extreme price level has a TPO count of ≥ 2, it is flagged as "Poor." If the extreme is a single print (count = 1), it is considered a valid tail and left unmarked.
Settings:
RTH Session: Define your specific trading session time.
TPO Period: Default is 30 minutes (standard AMT).
Ticks per Block: Controls the vertical resolution of the TPO. (Higher values = coarser profile, Lower values = more precision).
Colors: Fully customizable colors for Live Prints, Historical Prints, and Poor High/Low lines.
Usage:
Use this tool to spot immediate structural targets. A Poor High often acts as a magnet for price to revisit and "repair," while Single Prints often defend as support/resistance on the first retest.
VX-Session-Boxes-(AM/PM Split)(Customizable) by Ikaru-s-VX-Session-Boxes-(AM/PM Split) is a session-based visualization tool for TradingView that highlights major market sessions directly on the chart using dotted range boxes and an optional AM/PM split.
The indicator allows traders to visually separate market behavior across different sessions while keeping the chart clean and readable.
🔹 Key Features
Custom Session Definitions
Define up to 4 independent sessions using TradingView’s session format (HHMM-HHMM + weekdays).
Timezone-Aware
All sessions are calculated using a user-defined timezone (IANA or UTC offset), ensuring accurate session alignment across markets.
Dotted Session Boxes
Each session is drawn as a dotted box based on the session’s high/low range, providing a clear view of volatility and price structure.
AM / PM Split Visualization
Sessions can be visually split into AM and PM parts:
Separate box shading for AM and PM
Optional dotted vertical split line at the AM → PM transition (12:00 in the selected timezone)
Session Labels
Optional labels at the start of each session for quick identification (e.g. Sydney, Tokyo, London, New York).
Fully Customizable Visuals
Adjustable opacity, border width, and visibility toggles for boxes, split lines, and labels.
🔹 Use Cases
Session-based market analysis (Asia / London / New York)
Identifying session ranges and volatility expansion
Observing price behavior differences between AM and PM
Studying session transitions and liquidity shifts
🔹 Notes
Session boxes are based on session high and low, not full chart height.
AM/PM split is based on 12:00 (noon) in the selected timezone.
Designed for clarity and performance on intraday timeframes.
🔹 Compatibility
Pine Script® v6
Works on all intraday timeframes
Overlay indicator (draws directly on the price chart)
EMA Color Cross + Trend Arrows V6//@version=5
indicator("EMA Color Cross + Trend Arrows V6", overlay=true, max_bars_back=500)
// === Inputs ===
fastLen = input.int(9, "Hızlı EMA")
slowLen = input.int(21, "Yavaş EMA")
// === EMA Hesapları ===
emaFast = ta.ema(close, fastLen)
emaSlow = ta.ema(close, slowLen)
// Trend Yönü
trendUp = emaFast > emaSlow
trendDown = emaFast < emaSlow
// === Çizgi Renkleri ===
lineColor = trendUp ? color.new(color.green, 0) : color.new(color.red, 0)
// === EMA Çizgileri (agresif kalın) ===
plot(emaFast, "Hızlı EMA", lineColor, 4)
plot(emaSlow, "Yavaş EMA", color.new(color.gray, 70), 2)
// === Ok Sinyalleri ===
buySignal = ta.crossover(emaFast, emaSlow)
sellSignal = ta.crossunder(emaFast, emaSlow)
// Büyük Oklar
plotshape(buySignal, title="AL", style=shape.triangleup, color=color.green, size=size.large, location=location.belowbar)
plotshape(sellSignal, title="SAT", style=shape.triangledown, color=color.red, size=size.large, location=location.abovebar)
// === Trend Bar Color ===
barcolor(trendUp ? color.green : color.red)
DeMarker (DeM)The DeMarker (DeM) indicator is a momentum oscillator designed to identify overbought and oversold conditions by comparing the most recent price extremes (highs and lows) to those of the previous candle. It moves between 0 and 1 and is especially useful for spotting potential trend reversals, exhaustion, and better-timed entries within larger trends.
How the DeMarker works
The DeMarker focuses on the relationship between today’s highs and lows and those of the previous bar:
• When price is pushing to new highs but not making significantly lower lows, DeM tends to rise toward 1, reflecting buying pressure and potential overbought conditions.
• When price is making lower lows but not significantly higher highs, DeM falls toward 0, reflecting selling pressure and potential oversold conditions.
Internally, the indicator measures the positive difference between the current high and the previous high (up-move strength) and the positive difference between the previous low and the current low (down-move strength). These values are smoothed over a user-defined period and combined into a ratio that keeps the output bounded between 0 and 1, making it easy to interpret visually.
Default settings and parameters
Typical default settings are aimed at providing a balance between responsiveness and noise reduction:
• Length: 14
• Overbought level: 0.7
• Oversold level: 0.3
With these settings, readings above 0.7 suggest that the market may be overheated to the upside, while readings below 0.3 suggest potential exhaustion on the downside. Traders can adjust these parameters depending on their style and the volatility of the asset.
Example configurations
Here are a few practical configurations that can be suggested to users:
• Swing trading setup:
• Length: 14–21
• Overbought: 0.7–0.75
• Oversold: 0.25–0.3
This works well on 4H and daily charts for spotting potential swing highs and lows.
• Short-term intraday setup:
• Length: 7–10
• Overbought: 0.8
• Oversold: 0.2
A shorter length increases sensitivity, better for 5–15 minute charts, but also increases the number of signals.
• Trend-following filter:
• Length: 20–30
• Overbought: 0.65–0.7
• Oversold: 0.3–0.35
This smoother configuration can be used together with moving averages to filter trades in the direction of the main trend.
Basic trading usage
Traders commonly use DeMarker in three main ways:
• Mean-reversion entries:
• Look for DeM below the oversold level (for example, 0.3 or 0.25) while price is approaching a support zone.
• Consider long entries when DeM turns back up and crosses above the oversold level, ideally confirmed by a bullish candle pattern or break of minor resistance.
• Taking profits or trimming positions:
• When DeM moves above the overbought level (for example, 0.7–0.8) near a known resistance level, traders may choose to take partial profits or tighten stops.
• A downward turn from overbought after a strong rally often signals momentum exhaustion.
• Divergence signals:
• Bullish divergence: price makes a lower low while DeM makes a higher low. This can hint at weakening downside momentum and a possible reversal upward.
• Bearish divergence: price makes a higher high while DeM makes a lower high. This can warn of weakening upside momentum before a pullback.
Combining with other tools
DeMarker often performs best as part of a confluence-based approach rather than as a standalone signal generator:
• Combine with trend filters:
• Use a moving average (for example, 50 or 200 EMA) to define trend direction and take DeM oversold entries only in uptrends, or overbought entries only in downtrends.
• Use with support/resistance and price action:
• Prioritize DeM signals that occur near well-defined horizontal levels, trendlines, or supply/demand zones.
• Add volume or volatility tools:
• Strong signals tend to appear when DeM reverses from extreme zones in sync with a volume spike or volatility contraction/expansion.
EMA Cross BUY SELL
ema1Length = input.int(10, "EMA1 Periyodu")
ema2Length = input.int(20, "EMA2 Periyodu")
emaLineWidth = input.int(3, "EMA Çizgi Kalınlığı", minval=1, maxval=10)
bgTransparency = input.int(85, "Arka Plan Saydamlığı", minval=0, maxval=100)
ema1 = ta.ema(close, ema1Length)
ema2 = ta.ema(close, ema2Length)
longSignal = ta.crossover(ema1, ema2)
shortSignal = ta.crossunder(ema1, ema2)
var int trend = 0
trend := longSignal ? 1 : shortSignal ? -1 : trend
barcolor(trend == 1 ? color.green : trend == -1 ? color.red : na)
bgcolor(trend == 1 ? color.new(color.green, bgTransparency) : trend == -1 ? color.new(color.red, bgTransparency) : na)
plot(ema1, color=trend == 1 ? color.green : trend == -1 ? color.red : color.gray, linewidth=emaLineWidth, title="EMA1")
plot(ema2, color=trend == 1 ? color.green : trend == -1 ? color.red : color.gray, linewidth=emaLineWidth, title="EMA2")
plotshape(longSignal, title="Al Ok", style=shape.triangleup, location=location.belowbar, color=color.green, size=size.large)
plotshape(shortSignal, title="Sat Ok", style=shape.triangledown, location=location.abovebar, color=color.red, size=size.large)
T3 MA Basit ve Stabil//@version=5
indicator("T3 MA Basit ve Stabil", overlay=true)
length = input.int(14, "T3 Length")
vFactor = input.float(0.7, "vFactor")
lineWidth = input.int(3, "Çizgi Kalınlığı")
ema1 = ta.ema(close, length)
ema2 = ta.ema(ema1, length)
ema3 = ta.ema(ema2, length)
ema4 = ta.ema(ema3, length)
ema5 = ta.ema(ema4, length)
ema6 = ta.ema(ema5, length)
c1 = -vFactor * vFactor * vFactor
c2 = 3 * vFactor * vFactor + 3 * vFactor * vFactor * vFactor
c3 = -6 * vFactor * vFactor - 3 * vFactor - 3 * vFactor * vFactor * vFactor
c4 = 1 + 3 * vFactor + vFactor * vFactor * vFactor + 3 * vFactor * vFactor
t3 = c1*ema6 + c2*ema5 + c3*ema4 + c4*ema3
colorUp = color.green
colorDown = color.red
col = t3 > t3 ? colorUp : colorDown
plot(t3, color=col, linewidth=lineWidth)
barcolor(col)
plotshape(t3 > t3 and t3 <= t3 , location=location.belowbar, color=colorUp, style=shape.triangleup, size=size.small)
plotshape(t3 < t3 and t3 >= t3 , location=location.abovebar, color=colorDown, style=shape.triangledown, size=size.small)
Custom Monthly Volume Profile [Multi-Timeframe]This indicator renders a high-precision Monthly Volume Profile designed for intraday traders and practitioners of Auction Market Theory. Unlike standard volume profiles, this script utilizes Multi-Timeframe (MTF) data request capability to build the profile from lower timeframe data (e.g., 5-minute bars) while displaying it on your trading timeframe.
This tool is optimized to keep your chart clean while providing critical developing levels (POC, VAH, VAL) and historical context from the previous month.
Key Features:
1. Dynamic "Auto-Scaling" Width One of the biggest issues with monthly profiles is visual clutter.
Early Month: The profile starts wide (default 10% width) so you can clearly see the developing structure when data is scarce.
Late Month: As volume accumulates, the profile automatically shrinks (scales down to 2% width) to prevent the histogram from obscuring price action.
Note: This can be toggled off for a static width.
2. Developing & Static Levels
Current Month: Displays real-time Developing Point of Control (dPOC), Value Area High (dVAH), and Value Area Low (dVAL).
Previous Month: Automatically locks in the levels from the previous month at the close, providing immediate support/resistance references for the new month.
3. Time-Filtered Alerts Avoid waking up to notifications during low-volume overnight sessions. This script includes a Session Filter (Default: 0830-1500).
Alerts for crossing POC, VAH, or VAL will only trigger if the price cross occurs within the user-defined time window.
4. Calculation Precision
Multi-Timeframe Data: The profile is built using lower timeframe data (Input: Calculation Precision) rather than just the current chart bars. This ensures the Volume Profile shape remains accurate even when viewing higher timeframes.
Row Size: Fully adjustable "Tick/Row Size" to control the resolution of the volume buckets.
Settings Overview:
Calculation Precision: Determine the granularity of the data (e.g., "5" for 5-minute data).
Row Size: Controls vertical resolution (Lower = higher detail).
Value Area %: Standard 70% default, fully adjustable.
Auto-Width: Set the Start % (Day 1) and End % (Day 31).
Alerts: Toggle Current or Previous month alerts and define the active time session.
Visual Customization:
Customize colors for the Histogram (Value Area vs. Outer Area).
Customize line width and colors for POC, VAH, and VAL.
Supports Right or Left alignment.
Disclaimer: This tool is for informational purposes only. Past performance and volume levels do not guarantee future price action.
Trinity Real Move Detector DashboardRelease Notes (critical)
1. This code "will" require tweaks for different timeframes to the multiplier, do not assume the data in the table is accurate, cross check it with the Trinity Real Move Detector or another ATR tool, to validate the values in the table and ensure you have set the correct values.
2. I mention this below. But please understand that pine code has a limitation in the number of security calls (40 request.security() calls per script). This code is on the limit of that threshold and I would encourage developers to see if they can find a way around this to improve the script and release further updates.
What do we have...
The Trinity Real Move Detector Dashboard is a powerful TradingView indicator designed to scan multiple assets at once and show when each one has genuine short-term volatility "energy" — the kind that makes directional options trades (especially 0DTE or short-dated) have a high probability of follow-through, and can be used for swing trading as well. It combines a simple ATR-based volatility filter with a SuperTrend-style bias to tell you not only if the market is "awake" but also in which direction the momentum is leaning.
At its core, the indicator calculates the current ATR on your chosen timeframe and compares it to a user-defined percentage of the asset's daily ATR. When the short-term ATR spikes above that threshold, it signals "enough energy" — meaning the underlying is moving with real force rather than choppy noise. The SuperTrend logic then determines bullish or bearish bias, so the status shows "BULLISH ENERGY" (green) or "BEARISH ENERGY" (red) when energy is on, or "WAIT" when it's not. It also counts how many bars the energy has been active and shows the current ATR vs threshold for quick visual confirmation.
The dashboard displays all this in a clean table with columns for Symbol, Multiplier, Current ATR, Threshold, Status, Bars Active, and Bias (UP/DOWN). It's perfect for 3-minute charts but works on any timeframe — just adjust the multiplier based on the hints in the settings.
Editing symbols and multipliers is straightforward and user-friendly. In the indicator settings, you'll see numbered inputs like "1. Symbol - NVDA" and "1. Multiplier". To change an asset, simply type the new ticker in the symbol field (e.g., replace "NVDA" with "TSLA", "AVGO", or "ADAUSD"). You can also adjust the multiplier for each asset individually in the corresponding "Multiplier" field to make it more or less sensitive — lower numbers give more signals, higher numbers give stricter, higher-quality ones. This lets you customize the dashboard to your watchlist without any coding. For example, if you switch to a 4-hour chart or a slower-moving stock like AVGO, you may need to raise the multiplier (e.g., to 0.3–0.4) to avoid false "bullish" signals during minor bounces in a larger downtrend.
One important note about the multiplier and timeframes: the default values are optimized for fast intraday charts (like 3-minute or 5-minute). On higher timeframes (15-minute, 1-hour, 4-hour, or daily), the SuperTrend bias can be too sensitive with low multipliers (1.0 default in the code), leading to situations like the AVGO 4-hour example — where price is clearly downtrending, but the dashboard shows "BULLISH ENERGY" because the tight bands flip on small bounces. To fix this, you need to manually increase the multiplier for that asset (or all assets) in the settings. For 4-hour or daily charts, 0.25–0.35 is often better to match smoother SuperTrend indicators like Trinity. Always test on your timeframe and asset — crypto usually needs slightly lower multipliers than stocks due to higher volatility.
TradingView has a hard limit of 40 request.security() calls per script. Each asset in the dashboard requires several calls (current ATR, daily ATR, SuperTrend components, etc.), so with the full ATR-based bias, you can safely monitor about 6–8 assets before hitting the limit. Adding more symbols increases the number of calls and will trigger the "too many securities" error. This is a platform restriction to prevent excessive server load, and there's no official way around it in a single script. Some advanced coders use tricks like caching or lower-timeframe requests to squeeze in a few more, but for reliability, sticking to 6–8 assets is recommended. If you need more, the common workaround is to create two separate indicators (e.g., one for stocks, one for crypto) and add both to the same chart.
Overall, this dashboard gives you a professional-grade multi-asset scanner that filters out low-energy noise and highlights real momentum opportunities across stocks and crypto — all in one glance. It's especially valuable for options traders who want to avoid theta decay on weak moves and only strike when the market has true fuel. By tweaking the per-symbol multipliers in the settings, you can perfectly adapt it to any timeframe or asset behavior, avoiding issues like the AVGO false bullish signal on higher timeframes.
Ultimate Adaptive RSIUltimate Adaptive RSI
RSI That Adapts to Any Market
This isn't your grandpa's RSI. It dynamically adjusts its sensitivity based on market conditions—smoother in trends, responsive in ranges.
Traditional RSI fails in strong trends and changing volatility. UA-RSI fixes both by adapting its sensitivity in real-time, giving you reliable signals whether the market is trending, ranging, or transitioning between regimes.
How It Adapts:
Smart Pre-Smoothing: Uses Efficiency Ratio to detect trend strength and automatically lengthens/shortens its smoothing window.
Dominant Cycle Detection: Matches its internal period to the market's actual rhythm.
Dynamic Bands: RMS-based overbought/oversold levels that expand/contract with volatility.
Smoothing Stack: ALMA pre-smoothing → Ultimate Smoother → Jurik filter creates the cleanest RSI you've ever seen.
Trade Signals:
Buy: RSI crosses above lower band or midline + price confirms
Sell: RSI crosses below upper band or midline + price confirms
Bands expand in high volatility → wait for deeper extremes
Bands contract in low volatility → take earlier signals
Signal line for crossover entries
Adaptive smoothing = fewer false signals in trends
Day trading: Use 1.0 band multiplier
Swing trading: Use 1.2-1.5 multiplier
Ranging markets: Lower multiplier to 0.8
Trending markets: Raise multiplier to 1.5+
Bands widen in volatility = wait for deeper extremes
Bands tighten in calm markets = take earlier signals
Never trade RSI alone - always wait for price confirmation
EMA Slope Angle# EMA Slope Angle Indicator
A professional, non-repainting overlay indicator that visualizes EMA slope strength as an angle in degrees, providing instant visual feedback through dynamic EMA coloring and comprehensive trend analysis.
## ORIGINALITY
This indicator is original in its approach to slope measurement:
- **Angle-based calculation**: Uses arctangent to calculate slope as an angle in degrees (not percentage), providing a more intuitive measure of trend strength
- **Dynamic visual feedback**: Combines real-time EMA line coloring with regime detection, creating a continuous visual representation of market conditions
- **Comprehensive analysis**: Integrates angle-based trend shift signals with optional statistical analysis in a single, cohesive tool
- **Non-repainting design**: All calculations use confirmed bars only, ensuring reliable, deterministic output
## HOW IT WORKS
The indicator calculates the EMA slope angle using trigonometric functions:
```
Angle = arctan((EMA_current - EMA_past) / lookback_bars) × 180/π
```
This provides an intuitive measure where:
- **Steep angles** = strong trends (visualized with saturated colors)
- **Shallow angles** = weak trends (visualized with lighter colors)
- **Near-zero angles** = flat/consolidation (visualized in gray)
The EMA line color dynamically reflects:
- **Direction**: Green shades for uptrends, red shades for downtrends
- **Strength**: Color intensity based on normalized angle (stronger slopes = more saturated colors)
- **Regime**: Gray for flat conditions when angle is below threshold
## KEY FEATURES
### Dynamic EMA Coloring
- EMA line color changes continuously based on slope strength
- Color intensity reflects trend strength (50-100% opacity range)
- Instant visual feedback without cluttering the chart
### Regime Detection
- Automatically classifies market conditions: **RISING**, **FALLING**, or **FLAT**
- Configurable angle thresholds for regime classification
- Real-time regime updates on confirmed bars only
### Trend-Shift Signals
- Detects transitions from FLAT to RISING/FALLING regimes
- Visual arrows on chart when significant trend shifts occur
- Prevents signal spam by only triggering from FLAT state
- Configurable trigger thresholds for signal sensitivity
### KPI Dashboard
- Real-time angle display (rounded to 1 decimal place)
- Current regime status with color coding
- Last signal tracking (UP/DOWN/NONE)
- Positioned in top-right corner for easy reference
### Advanced Angle Statistics (Optional)
- Detailed breakdown of angle distribution across 9 granular buckets:
- 0-0.2°, 0.2-0.5°, 0.5-1°, 1-1.5°, 1.5-2°, 2-3°, 3-5°, 5-10°, >10°
- Shows count and percentage for each bucket
- Automatically resets on symbol/timeframe changes
- Useful for analyzing historical slope patterns
## SETTINGS
### Main Settings
- **EMA Length**: Period for exponential moving average (default: 50)
- **Slope Lookback Bars**: Number of bars to compare for slope calculation (default: 5)
### Angle Settings
- **Flat Angle Threshold**: Maximum angle for FLAT regime classification (default: 2.0°)
- **Rising Angle Trigger**: Minimum angle to trigger RISING regime and UP signals (default: 1.0°)
- **Falling Angle Trigger**: Maximum angle to trigger FALLING regime and DOWN signals (default: -1.0°)
- **Max Angle for Color Saturation**: Maximum angle for full color intensity (default: 30.0°)
### Display Options
- **Uptrend Color**: Color for rising trends (default: dark green)
- **Downtrend Color**: Color for falling trends (default: dark red)
- **Flat Color**: Color for flat conditions (default: gray)
- **Show Trend-Shift Signals**: Toggle signal arrows on/off (default: true)
- **Show Angle Statistics**: Toggle statistics dashboard on/off (default: false)
## NON-REPAINTING GUARANTEE
- All calculations use confirmed bars only (`barstate.isconfirmed`)
- No future bar references
- No higher timeframe calls using `request.security()`
- Deterministic output - what you see is what you get
- Reliable for backtesting and live trading
## USE CASES
- **Trend Identification**: Instantly identify trend strength and direction at a glance
- **Reversal Detection**: Spot trend reversals early through regime changes
- **Trade Filtering**: Filter trades based on slope strength and regime
- **Consolidation Monitoring**: Identify flat market conditions for range trading
- **Pattern Analysis**: Study historical angle distributions to understand market behavior
- **Momentum Assessment**: Gauge trend momentum through visual color intensity
## LIMITATIONS
- Angle calculation depends on EMA length and lookback period settings
- Regime classification is based on configurable thresholds - adjust to match your trading style
- Signals only trigger when transitioning from FLAT state to prevent spam
- Statistics reset on symbol/timeframe changes (by design)
- Color intensity is normalized to max angle setting - adjust for your market's typical ranges
## TECHNICAL NOTES
- Uses Pine Script v6
- Overlay indicator (plots on price chart)
- No external dependencies
- Compatible with all TradingView chart types
- Works on all timeframes and symbols
## DISCLAIMER
This indicator is designed for visual trend analysis and educational purposes. Always combine with other technical analysis tools, fundamental analysis, and proper risk management strategies. Past performance does not guarantee future results. Trading involves risk of loss.
---
**Perfect for**: Swing traders, day traders, trend followers, and market analysts seeking intuitive trend strength visualization.
Quantum Darvas BoxesQuantum Darvas Boxes - The Modern Evolution
The original Darvas Box methodology, conceived by Nicolas Darvas in the 1950s, revolutionized breakout trading by identifying consolidation phases as "boxes." However, modern markets move with algorithmic speed and fractal volatility that often trigger false breakouts. Quantum Darvas Boxes were designed not as a nostalgic tribute, but as a computational upgrade. By anchoring boxes to volatility-adjusted boundaries rather than raw highs/lows, and introducing adaptive stability mechanisms, this indicator transforms a classic discretionary tool into a systematic, noise-filtered engine.
Description & Improvements
Quantum Darvas Boxes solve the three fatal flaws of the original: false breakouts, arbitrary box sizing, and lack of confirmation. Instead of drawing boxes at exact recent highs/lows, it creates volatility-buffered boundaries using ATR, ensuring breakouts require meaningful momentum. The boxes remain anchored until a confirmed close beyond the buffer occurs, preventing the constant redrawing that plagued traditional Darvas implementations. Built-in volume and RSI filters add discretionary-grade confirmation to pure price action. Visually, the system presents as a stable, semi-transparent blue zone between red (resistance) and lime (support) lines, with clear triangle signals appearing only on validated breakouts.
How It's Based on Darvas
The core philosophy remains true to Darvas' 1950s methodology:
Identify Consolidation: Finds price ranges where the market consolidates
Draw Box: Creates a "box" representing the accumulation zone
Breakout Trading: Enters when price breaks out of the box with momentum
Volatility-Adjusted Boundaries
Original: Boxes at exact highs/lows → prone to false breakouts
QDB: Boxes set at High - (ATR × Multiplier) and Low + (ATR × Multiplier)
→ Breakouts require meaningful momentum, not just price tags
→ Adapts to different volatility regimes
Signal Logic:
Long: Close above box top, previous close was inside box
Short: Close below box bottom, previous close was inside box
Ideal Settings:
For daily charts, use lookback=13 and mult=2.4.
For intraday (1H-4H), reduce to lookback=8 and mult=1.8. Enable volume filter in trending markets and RSI filter in ranging conditions.
Trade Execution: Enter long on the green triangle below the bar following a close above the red top line; enter short on the red triangle above the bar after a close below the lime bottom line. The background glow provides immediate visual confirmation.
Risk Management: Set stops at the opposite box boundary. The volatility multiplier inherently calculates a risk buffer—larger multipliers create wider, higher-conviction boxes; smaller multipliers produce more frequent, sensitive signals. This system excels in trending markets and provides clear exit/reversal points, transforming Darvas's original speculation into a quantified, repeatable edge.
VEGA (Velocity of Efficient Gain Adaptation)VEGA (Velocity of Efficient Gain Adaptation)
VEGA is a momentum oscillator that measures the velocity of an efficiency-weighted adaptive moving average. Unlike traditional momentum indicators that react uniformly to all price movements, VEGA intelligently adapts its sensitivity based on market conditions—responding quickly during trending periods and filtering noise during consolidation.
--------------------------------
What Makes VEGA Different
Efficiency-Driven Adaptation
At its core, VEGA uses the Efficiency Ratio (ER) to distinguish between trending and choppy markets. When price moves efficiently in one direction, VEGA's underlying adaptive MA speeds up to capture the move. When price chops sideways, it slows down to avoid whipsaws. This creates a momentum reading that's inherently cleaner than fixed-period alternatives.
Linear Regression Smoothed Source
VEGA offers an optional LinReg-smoothed price source that blends regular candles with linear regression values. This pre-smoothing reduces noise before it ever enters the calculation, resulting in a histogram that's easier to read without sacrificing responsiveness. The mix ratio lets you dial in exactly how much smoothing you want.
Z-Score Normalization with Dead Zone
Rather than arbitrary oscillator bounds, VEGA normalizes output as standard deviations from the mean. This gives statistically meaningful levels: readings above +2σ or below -2σ represent genuinely extreme momentum. The configurable dead zone (with Snap, Soft Fade, or None modes) filters out insignificant movements near zero, keeping you focused on signals that matter.
--------------------------------
How It Works
1. Source Preparation — Price is smoothed via a LinReg/regular candle blend
2. Efficiency Ratio — Measures directional movement vs total movement over the lookback period
3. Adaptive MA — Applies variable smoothing based on efficiency (fast during trends, slow during chop)
4. Velocity — Calculates the rate of change of the adaptive MA
5. Normalization — Converts to Z-Score (standard deviations) or ATR-normalized percentage
6. Dead Zone — Optionally filters near-zero values to reduce noise
--------------------------------
How To Read VEGA
Signal and Interpretation
Histogram above zero | Bullish momentum
Histogram below zero | Bearish momentum
Bright color | Momentum accelerating
Faded color | Momentum decelerating
Beyond ±1σ bands | Above-average momentum
Beyond ±2σ bands | Extreme momentum (potential reversal zone)
Zero line cross*| Momentum shift
--------------------------------
Key Settings
ER Length — Lookback for efficiency ratio calculation. Higher = smoother, slower adaptation.
Fast/Slow Smoothing — Controls the adaptive MA's responsiveness range. The MA blends between these based on efficiency.
LinReg Settings — Enable smoothed candles and adjust the blend ratio (0 = regular candles, 1 = full LinReg, 0.5 = 50/50 mix).
Z-Score Lookback — Period for calculating mean and standard deviation. Shorter = more reactive normalization.
Dead Zone Type — How to handle near-zero values:
Snap — Hard cutoff to zero
Soft Fade — Gradual reduction toward zero
None — No filtering
Dead Zone Threshold — Values within this Z-Score range are affected by the dead zone setting.
VEGA works on any timeframe and any market. For best results, adjust the ER Length and LinReg settings to match your trading style and the volatility characteristics of your instrument.
AMT Structure: 80% Traverse, PD Levels & nPOCsHere is a clean, professional description formatted for the TradingView description box. It highlights the methodology (AMT/80% Rule), the specific features, and the credits.
Title: AMT Structure: 80% Traverse, PD Levels & nPOCs
Description:
This indicator is a comprehensive toolkit designed for futures traders utilizing Auction Market Theory (AMT) and Volume Profile strategies. It consolidates multiple scripts into a single, unified overlay to declutter your chart while providing essential structural references for the 80% Traverse setup, intraday context, and longer-term auction targets.
Key Features:
1. 80% Rule / Traverse Setup (Chart Champions Logic)
Automated RTH Open Detection: Hardcoded to the 08:30 AM CT Open to ensure accuracy for US Futures (ES/NQ) regardless of your chart's timezone settings.
Value Area Logic: Automatically calculates the Previous Day's Value Area High (VAH), Value Area Low (VAL), and Point of Control (POC).
Setup Detection: If the market opens outside of the previous day's value, the script highlights the Value Area in color (default: Purple), signaling that an 80% traverse (filling the value area) is structurally possible if price re-enters value.
Background Fill: Optional shading between VAH and VAL to clearly visualize the "playing field" for the traverse.
2. Auction Market Theory (AMT) Premarket Levels
Overnight High/Low: Automatically captures the highest and lowest prices traded during the overnight session (17:00 - 08:30 CT).
Breakout Alerts: Includes logic to detect and alert when these overnight levels are broken during the RTH session.
Auto-Cleanup: Lines can be set to auto-delete after a specified time (default: 60 mins into the session) to keep the chart clean after the Initial Balance (IB) period.
3. Structural Reference Levels
Previous Day Levels: Plots Previous Day High, Low, and Equilibrium (Midpoint) as standard reference lines.
Initial Balance (IB): Option to display the First Hour High and Low (08:30 - 09:30 CT) to assess day type (Neutral, Trend, Normal Variation, etc.).
RTH VWAP: An anchored VWAP that resets specifically at the RTH Open (08:30 CT), distinct from the standard 24-hour VWAP.
4. Naked Points of Control (nPOCs)
Multi-Timeframe Tracking: Tracks and plots Naked POCs for Daily, Weekly, and Monthly profiles.
Auto-Cleanup: Lines automatically delete themselves the moment price touches them, ensuring you only see untested levels.
Customization: Toggle each timeframe on/off individually.
Settings & Customization:
Global Offset: Move all text labels to the right with a single setting to prevent price action from obscuring text.
8:30 Open Offset: Independent offset for the Open label to distinguish it from other opening references.
Smart Coloring: Text labels automatically match their corresponding line colors for easy identification.
Modular Toggles: Every section (AMT, VWAP, PD Levels, CCV, nPOCs) can be turned on or off individually to suit your specific trading plan.
Usage: This tool is specifically tuned for ES and NQ futures trading but can be adapted for other instruments. It replaces the need for separate indicators for Overnight Highs/Lows, Previous Day Levels, and Volume Profile targeting.
PEAD ScreenerPEAD Screener - Post-Earnings Announcement Drift Scanner
═══════════════════════════════════════════════════════════════
WHY EARNINGS ANNOUNCEMENTS CREATE OPPORTUNITY
═══════════════════════════════════════════════════════════════
The days immediately following an earnings announcement are among the noisiest periods for any stock. Within hours, the market must digest new information about a company's profits, revenue, and future outlook. Analysts scramble to update their models. Institutions rebalance positions. Retail traders react to headlines.
This chaos creates a well-documented phenomenon called Post-Earnings Announcement Drift (PEAD): stocks that beat expectations tend to keep rising, while those that miss tend to keep falling - often for weeks after the initial announcement. Academic research has confirmed this pattern persists across decades and markets.
But not every earnings surprise is equal. A company that beats estimates by 5 cents might move very differently than one that beats by 5 cents with unusually high volume, or one where both earnings AND revenue exceeded expectations. Raw numbers alone don't tell the full story.
═══════════════════════════════════════════════════════════════
HOW "STANDARDIZED UNEXPECTED" METRICS CUT THROUGH THE NOISE
═══════════════════════════════════════════════════════════════
This screener uses a statistical technique to measure how "surprising" a result truly is - not just whether it beat or missed, but how unusual that beat or miss was compared to the company's own history.
The core idea: convert raw surprises into Z-scores.
A Z-score answers the question: "How many standard deviations away from normal is this result?"
- A Z-score of 0 means the result was exactly average
- A Z-score of +2 means the result was unusually high (better than ~95% of historical results)
- A Z-score of -2 means the result was unusually low
By standardizing surprises this way, we can compare apples to apples. A small-cap biotech's $0.02 beat might actually be more significant than a mega-cap's $0.50 beat, once we account for each company's typical variability.
This screener applies this standardization to three dimensions: earnings (SUE), revenue (SURGE), and volume (SUV).
═══════════════════════════════════════════════════════════════
THE 9 SCREENING CRITERIA
═══════════════════════════════════════════════════════════════
─────────────────────────────────────────
1. SUE (Standardized Unexpected Earnings)
─────────────────────────────────────────
WHAT IT IS:
SUE measures how surprising an earnings result was, adjusted for the company's historical forecast accuracy.
Calculation: Take the earnings surprise (actual EPS minus analyst estimate), then divide by the standard deviation of past forecast errors. This uses a rolling window of the last 8 quarters by default.
Formula: SUE = (Actual EPS - Estimated EPS) / Standard Deviation of Past Errors
HOW TO INTERPRET:
- SUE > +2.0: Strongly positive surprise - earnings beat expectations by an unusually large margin. These stocks often continue drifting higher.
- SUE between 0 and +2.0: Modest positive surprise - beat expectations, but within normal range.
- SUE between -2.0 and 0: Modest negative surprise - missed expectations, but within normal range.
- SUE < -2.0: Strongly negative surprise - significant miss. These stocks often continue drifting lower.
For long positions, look for SUE values above +2.0, ideally combined with positive SURGE.
─────────────────────────────────────────
2. SURGE (Standardized Unexpected Revenue)
─────────────────────────────────────────
WHAT IT IS:
SURGE applies the same standardization technique to revenue surprises. While earnings can be manipulated through accounting choices, revenue is harder to fake - it represents actual sales.
Calculation: Take the revenue surprise (actual revenue minus analyst estimate), then divide by the standard deviation of past revenue forecast errors.
Formula: SURGE = (Actual Revenue - Estimated Revenue) / Standard Deviation of Past Errors
HOW TO INTERPRET:
- SURGE > +1.5: Strongly positive revenue surprise - the company sold significantly more than expected.
- SURGE between 0 and +1.5: Modest positive surprise.
- SURGE < 0: Revenue missed expectations.
The most powerful signals occur when BOTH SUE and SURGE are positive and elevated (ideally SUE > 2.0 AND SURGE > 1.5). This indicates the company beat on both profitability AND top-line growth - a much stronger signal than either alone.
When SUE and SURGE diverge significantly (e.g., high SUE but negative SURGE), treat with caution - the earnings beat may have come from cost-cutting rather than genuine growth.
─────────────────────────────────────────
3. SUV (Standardized Unexpected Volume)
─────────────────────────────────────────
WHAT IT IS:
SUV detects unusual trading volume after accounting for how volatile the stock is. More volatile stocks naturally have higher volume, so raw volume comparisons can be misleading.
Calculation: This uses regression analysis to model the expected relationship between price volatility and volume. The "unexpected" volume is the residual - how much actual volume deviated from what the model predicted. This residual is then standardized into a Z-score.
In plain terms: SUV asks "Given how much this stock typically moves, is today's volume unusually high or low?"
HOW TO INTERPRET:
- SUV > +2.0: Exceptionally high volume relative to the stock's volatility. This often signals institutional activity - big players moving in or out.
- SUV between +1.0 and +2.0: Elevated volume - above normal interest.
- SUV between -1.0 and +1.0: Normal volume range.
- SUV < -1.0: Unusually quiet - less activity than expected.
High SUV combined with positive price movement suggests accumulation (buying). High SUV combined with negative price movement suggests distribution (selling).
─────────────────────────────────────────
4. % From D0 Close
─────────────────────────────────────────
WHAT IT IS:
This measures how far the current price has moved from the closing price on its initial earnings reaction day (D0). The "reaction day" is the first trading day that fully reflects the earnings news - typically the day after an after-hours announcement, or the announcement day itself for pre-market releases.
Calculation: ((Current Price - D0 Close) / D0 Close) × 100
HOW TO INTERPRET:
- Positive values: Stock has gained ground since earnings. The higher the percentage, the stronger the post-earnings drift.
- 0% to +5%: Modest positive drift - earnings were received well but momentum is limited.
- +5% to +15%: Strong drift - buyers continue accumulating.
- > +15%: Exceptional drift - significant institutional interest likely.
- Negative values: Stock has given back gains or extended losses since earnings. May indicate the initial reaction was overdone, or that sentiment is deteriorating.
This metric is most meaningful within the first 5-20 trading days after earnings. Extended drift (maintaining gains over 2+ weeks) is a stronger signal than a quick spike that fades.
─────────────────────────────────────────
5. # Pocket Pivots
─────────────────────────────────────────
WHAT IT IS:
Pocket Pivots are a volume-based pattern developed by Chris Kacher and Gil Morales. They identify days where institutional buyers are likely accumulating shares without causing obvious breakouts.
Calculation: A Pocket Pivot occurs when:
- The stock closes higher than it opened (up day)
- The stock closes higher than the previous day's close
- Today's volume exceeds the highest down-day volume of the prior 10 trading sessions
The screener counts how many Pocket Pivots have occurred since the earnings announcement.
HOW TO INTERPRET:
- 0 Pocket Pivots: No detected institutional accumulation patterns since earnings.
- 1-2 Pocket Pivots: Some institutional buying interest - worth monitoring.
- 3+ Pocket Pivots: Strong accumulation signal - institutions appear to be building positions.
Pocket Pivots are most significant when they occur:
- Immediately following earnings announcements
- Near moving average support (10-day, 21-day, or 50-day)
- On above-average volume
- After a period of price consolidation
Multiple Pocket Pivots in a short period suggest sustained institutional demand, not just a one-day event.
─────────────────────────────────────────
6. ADX/DI (Trend Strength and Direction)
─────────────────────────────────────────
WHAT IT IS:
ADX (Average Directional Index) measures trend strength regardless of direction. DI (Directional Indicator) shows whether the trend is bullish or bearish.
Calculation: ADX uses a 14-period lookback to measure how directional (trending) price movement is. Values range from 0 to 100. The +DI and -DI components compare upward and downward movement.
The screener shows:
- ADX value (trend strength)
- Direction indicator: "+" for bullish (price trending up), "-" for bearish (price trending down)
HOW TO INTERPRET:
- ADX < 20: Weak trend - the stock is moving sideways, choppy. Not ideal for momentum trading.
- ADX 20-25: Trend is emerging - potentially starting a directional move.
- ADX 25-40: Strong trend - clear directional movement. Good for momentum plays.
- ADX > 40: Very strong trend - powerful move in progress, but may be extended.
The direction indicator (+/-) tells you which way:
- "25+" means ADX of 25 with bullish direction (uptrend)
- "25-" means ADX of 25 with bearish direction (downtrend)
For post-earnings plays, ideal setups show ADX rising above 25 with positive direction, confirming the earnings reaction is developing into a sustained trend rather than a one-day spike.
─────────────────────────────────────────
7. Institutional Buying PASS
─────────────────────────────────────────
WHAT IT IS:
This proprietary composite indicator detects patterns consistent with institutional accumulation at three stages after earnings:
EARLY (Days 0-4): Looks for "large block" buying on the earnings reaction day (exceptionally high volume with a close in the upper half of the day's range) combined with follow-through buying on the next day.
MID (Days 5-9): Checks for sustained elevated volume (averaging 1.5x the 20-day average) combined with positive drift and consistent upward price movement (more up days than down days).
LATE (Days 10+): Detects either visible accumulation (positive drift with high volume) OR stealth accumulation (positive drift with unusually LOW volume - suggesting smart money is quietly building positions without attracting attention).
HOW TO INTERPRET:
- Check mark/value of '1': Institutional buying pattern detected. The stock shows characteristics consistent with large players accumulating shares.
- X mark/value of '0': No institutional buying pattern detected. This doesn't mean institutions aren't buying - just that the typical footprints aren't visible.
A passing grade here adds conviction to other bullish signals. Institutions have research teams, information advantages, and long time horizons. When their footprints appear in the data, it often precedes sustained moves.
Important: This is a pattern detection tool, not a guarantee. Always combine with other analysis.
─────────────────────────────────────────
8. Strong ATR Drift PASS
─────────────────────────────────────────
WHAT IT IS:
This measures whether the stock has drifted significantly relative to its own volatility. Instead of asking "did it move 10%?", it asks "did it move more than 1.5 ATRs?"
ATR (Average True Range) measures a stock's typical daily movement. A volatile stock might move 5% daily, while a stable stock might move 0.5%. Using ATR normalizes for this difference.
Calculation:
ATR Drift = (Current Close - D0 Close) / D0 ATR in dollars
The indicator passes when ATR Drift exceeds 1.5 AND at least 5 days have passed since earnings.
HOW TO INTERPRET:
- Check mark/value of '1': The stock has drifted more than 1.5 times its average daily range since earnings - a statistically significant move that suggests genuine momentum, not just noise.
- X mark/value of '0': The drift (if any) is within normal volatility bounds - could just be random fluctuation.
Why wait 5 days? The immediate post-earnings reaction (days 0-2) often includes gap fills and noise. By day 5, if the stock is still extended beyond 1.5 ATRs from the earnings close, it suggests real buying pressure, not just a reflexive gap.
A passing grade here helps filter out stocks that "beat earnings" but haven't actually moved meaningfully. It focuses attention on stocks where the market is voting with real capital.
─────────────────────────────────────────
9. Days Since D0
─────────────────────────────────────────
WHAT IT IS:
Simply counts the number of trading days since the earnings reaction day (D0).
HOW TO INTERPRET:
- Days 0-5 (Green): Fresh earnings - the information is new, institutional repositioning is active, and momentum trades are most potent. This is the "sweet spot" for PEAD strategies.
- Days 6-10 (Neutral): Mid-period - some edge remains but diminishing. Good for adding to winning positions, less ideal for new entries.
- Days 11+ (Red): Extended period - most of the post-earnings drift has typically played out. Higher risk that momentum fades or reverses.
Research shows PEAD effects are strongest in the first 5-10 days after earnings, then decay. Beyond 20-30 days, the informational advantage of the earnings surprise is largely priced in.
Use this to prioritize: focus on stocks with strong signals that are still in the early window, and be more selective about entries as days accumulate.
═══════════════════════════════════════════════════════════════
PUTTING IT ALL TOGETHER
═══════════════════════════════════════════════════════════════
You can use this screener in the chart view or in the Screener.
One combination of the above filters to develop a shortlist of positive drift candidates may be:
- SUE > 2.0 (significant earnings beat)
- SURGE > 1.5 (significant revenue beat)
- Positive % From D0 Close (price confirming the good news)
- Institutional Buying PASS (big players accumulating)
- Strong ATR Drift PASS (statistically significant movement)
- Days Since D0 < 10 (still in the active drift window)
No single indicator is sufficient. The power comes from convergence - when multiple independent measures all point the same direction.
═══════════════════════════════════════════════════════════════
SETTINGS
═══════════════════════════════════════════════════════════════
Key adjustable parameters:
- SUE Method: "Analyst-based" uses consensus estimates; "Time-series" uses year-over-year comparison
- Window Size: Number of quarters used for standardization (default: 8)
- ATR Drift Threshold: Minimum ATR multiple for "strong" classification (default: 1.5)
- Institutional Buying thresholds: Adjustable volume and CLV parameters
═══════════════════════════════════════════════════════════════
DISCLAIMER
═══════════════════════════════════════════════════════════════
This screener is a research tool, not financial advice. Past patterns do not guarantee future results. Always conduct your own due diligence and manage risk appropriately. Post-earnings trading involves significant uncertainty and volatility. The 'SUE' in this indicator does not represent a real person; any similarity to actual Sue's (or Susans for that matter) living or dead is quite frankly ridiculous, not to mention coincidental.
Trinity Bollinger Bands Pro with BreakoutsTrinity Bollinger Bands Pro Indicator
The **Trinity Bollinger Bands Pro + Triple Bands & Expansion** is a highly customized, advanced volatility and breakout indicator built on the classic Bollinger Bands framework. It expands the standard single-pair bands into **three independent deviation levels** (typically 1σ, 2σ, and 3σ) around a user-selectable moving average basis (default EMA 20). This creates clear "zones" of volatility, with dynamic trend-based coloring, layered fills, fixed-style labels, and a statistical volatility expansion detector shown as a directional background highlight in a separate pane. The result is a visually intuitive tool that helps traders identify consolidation, building momentum, confirmed trends, and rare explosive moves with high-probability filtering.
### Why It's Good and Different from Standard Indicators
This indicator stands out by addressing common limitations of traditional Bollinger Bands and multi-deviation scripts:
- **Layered statistical significance**: Unlike single (2σ) or basic double-band setups, it provides three distinct levels—early momentum (1σ), standard confirmation (2σ), and extreme/rare breakouts (3σ)—making it easier to stage trades progressively rather than relying on one ambiguous cross.
- **Trend-aware visuals**: Bands, basis, and fills change color based on price position relative to a separate trend MA, giving immediate bullish/bearish bias without needing additional indicators.
- **Clean, fixed labels**: Tiny, arrow-pointing labels ("1/2/3 SD Above/Below", "BB Basis") with consistent colors (purple upper, blue lower, yellow basis) provide instant identification
- **Statistical expansion detection**: Uses percentile ranking of band width "bell curve" concept" to identify abnormally high volatility, triggering directional background highlights (green bullish, red bearish) earlier than raw width spikes.
- **Reduced noise and fakeouts**: Tiered breakouts + expansion filter focus alerts on high-probability moves, unlike most BB scripts that flood signals on every touch.
Compared to popular public scripts (e.g., standard Bollinger Bands, Triple BB variants, or separate BBW Percentile tools), this combines everything into one cohesive indicator with superior visual clarity and statistical rigor.
### Key Features
- **Triple customizable bands**: Enable/disable and adjust multipliers for 1σ (early), 2σ (confirmed), 3σ (extreme) deviations.
- **Trend-based dynamic coloring**: Separate editable colors for each band set (bullish/bearish).
- **Layered zone fills**: Colored between bands with transparency, reflecting current trend.
- **Fixed tiny labels**: All left-pointing arrows with purple (upper), blue (lower), yellow (basis) backgrounds for quick reference.
- **Statistical expansion overlay**: with directional background (green/red) during extreme volatility expansions (earlier trigger using 2σ width).
- **Tiered alerts**: Early (Band 1), Confirmed (Band 2), Extreme (Band 3), High-Probability (Extreme + expansion), and general expansion alerts.
- **Fully configurable basis**: Length, type (SMA/EMA/WMA/RMA), and thin fixed lines for minimal clutter.
### How Traders Can Use It
- **Spot squeezes and breakouts**: Watch for tight bands (low width) → expansion background → price closing outside Band 1 (early entry), Band 2 (add/confirm), Band 3 (strong trend conviction).
- **Filter fakeouts**: Only act on crosses accompanied by expansion background color matching trend direction—dramatically reduces whipsaws.
- **Trend riding**: Price "walking" colored bands (e.g., hugging upper purple-label bands in green background = strong bullish momentum).
- **Scalping/intraday**: On lower timeframes (e.g., 10min), use early Band 1 signals with expansion for quick moves.
- **Swing/position trading**: Wait for Band 3 extreme breakout + colored background for higher-probability, larger moves.
- **Risk management**: Place stops near basis or inner band; trail using outer bands during expansions.
Overall, this indicator excels at turning volatility into actionable, staged signals with visual simplicity—ideal for traders seeking an edge in identifying real explosive trends over noise. It's particularly powerful on volatile stocks like AMD/INTC or indices during news/events.
Pair Creation🙏🏻 The one and only pair construction tech you need, unlike others:
Applies one consistent operation to all the data features (not only prices). Then, the script outputs these, so you can apply other calculations on these outputs.
calculates a very fast and native volatility based hedge ratio, that also takes into account point value (think SPY vs ES) so you can easily use it in position sizing
Has built-in forward pricing aka cost of carry model , so you can de-drift pairs from cost of carry, discover spot price of oil based on futures, and ofc find arbitrage opportunities
Also allows to make a pair as a product of 2 series, useful for triangular arbitrage
This script can make a pair in 2 ways:
Ratio, by dividing leg 1 by leg 2
Product, by multiplying leg 1 by leg 2
The real mathematically right way to construct a pair is a ratio/product (Spreads are in fact = 2 legged portfolio, but I ain't told ya that ok). Why? Because a pair of 2 entities has a mathematically unique beauty, it allows direct comparisons and relationship analysis, smth you can't do directly with 3 and more components.
Multiplication (think inversions like (EURUSD -> USDEUR), and use cases for triangular arbitrage) is useful sometimes too.
...
Quickguide:
First, "Legs" are pair components: make a pair of related assets. Don’t be guided exclusively by clustering, cointegrations, mutual information etc. Common sense and exogenous info can easily made them all Forward pricing model: is useful when u work with spot vs futures pairs. Otherwise: put financing, storage and yield all on zeros, this way u will turn it off and have a pure ratio/product of 2 legs.
Look at the 2 numbers on the script’s status line: the first one would always be 1), and the second one is a variable.
First number (always 1) is multiplier for your position size on leg 1
The second number is the multiplier for your position size on leg 2 in the opposite direction.
If both legs are related, trading your sizes with these multipliers makes you do statistical arbitrage -> trading ~ volatility in risk free mode, while the relationship between the assets is still in place.
Also guys srsly, nobody ‘ever’ made a universal law that somewhy somehow for whatever secret conspiracy reason one shall only trade pairs in mean reverting style xd. You can do whatever you want:
Tilt hedge ratio significantly based on relative strength of legs
Trade the pair in momentum style
Ignore hedge ratio all together
And more and more, the limit is your imagination, e.g.:
Anticipate hedge ratio changes based on exogenous info and act accordingly
Scalp a pair just like any other asset
Make a pair out of 2 pairs
Like I mean it, whatever you desire
About forward pricing model:
It’s applied only to leg 2;
Direct: takes spot price and finds out implied futures price
Inverse: takes futures price and finds out implied spot price (try on oil)
Pls read online how to choose parameters, it’s open access reliable info
About the hedge ratio I use:
You prolly noticed the way I prefer to use inferred volumes vs the “real” ones. In pairs it’s especially meaningful, because real volumes lose sense in pair creation. And while volumes are closely tied to volatility, the inferred volumes ‘Are’ volatility irl (and later can be converted to currency space by using point value, allowing direct comparisons symbol vs symbol).
This hedge ratio is a good example of how discovering the real nature of entities beats making 100s of inventions, why domain knowledge and proper feature engineering beats difficult bulky models, neural networks etc. How simple data understanding & operations on it is all you need.
This script simply does this:
Takes inferred volume delta of both assets, makes a ratio, normalizes it by tick sizes and points values of both legs, calculates a typical value of this series.
That’s it, no step 2, we’re done. No Kalman filters, no TLS regression, no vine copulas, or whatever new fancy keywords you can come up with etc.
...
^^ comparing real ES prices vs theoretical ones by forward-pricing model. Financing: 0.04, yield 0.0175
^^ EURUSD, 6E futures with theoretical futures price calculated with interest rate differential 0.02 (4% USD - 2% EUR interest rates)
^^4 different pairs (RTY/ES, YM/ES, NQ/ES, ES/ZN) each with different plot style (pick one you like in script's Style settings)
^^ YM/RTY pair, each plot represents ratio of different features: ratio of prices, ratio of inferred volume deltas, ratio of inferred volumes, ratio of inferred tick counts (also can be turned on/off in Style settings)
...
How can u upgrade it and make a step forward yourself:
On tradingview missing values are automatically fixed by backfilling, and this never becomes a thing until you hit high frequency data. You can do better and use Kalman filter for filling missing values.
Script contains the functions I use everywhere to calculate inferred volume delta, inferred volume, and inferred tick count.
...
∞






















