ICT ORG with EightsICT ORG with Eights
What It Does
Plots the RTH overnight gap (4:15pm close → 9:30am open) with eighth-level divisions instead of just quartiles.
Gap Levels:
0.000 (Low) | 0.125 | 0.250 | 0.375 | 0.500 (Mid) | 0.625 | 0.750 | 0.875 | 1.000 (High)
Key Features
Visual gap box between previous close and current open
6 additional levels beyond standard quartiles (0.125, 0.375, 0.625, 0.875)
Customizable labels with dates for each level
Auto SPY detection (adjusts close time to 4:00pm)
Historical gaps - show 1-10 previous days
Extend right - project levels forward with buffer bars
Quick Setup
Best on 5min charts or lower
Start with 1-2 historical boxes for clean charts
Toggle eighth lines on/off as needed
Use labels to track which gap/date you're looking at
Use Cases
Gap fill trading - precise entry/exit at eighth levels
S/R levels - eighths often act as support/resistance
Profit targets - use 0.125/0.875 for extreme reversals, 0.375/0.625 for partial fills
Settings
Time offsets for international indices
No plot session to pause drawing during specific hours
Full customization of colors, styles, widths, labels
Why Eighths?
More granularity = better entries. The 0.125/0.875 and 0.375/0.625 levels provide additional confluence zones where price frequently reacts during gap fills.
Search in scripts for "spy"
Gei-IndicatorFor trading and for fundaTradingView, combining three critical layers of market data into a single, high-level summary.
Key Features:
Fundamental Analysis: It pulls real-time financial data (P/E Ratio, Free Cash Flow, Revenue, EBIT, and Dividend Yield) to evaluate the company's health. It even includes a "Tech Mode" toggle to adjust valuation expectations for growth stocks.
Technical Indicators: It monitors price momentum and trend direction using the RSI (14) and a Moving Average crossover (MA20/MA50).
Market Benchmarking: It calculates and displays the Year-To-Date (YTD) performance of the SPY (S&P 500 ETF), allowing you to see at a glance if the current stock is outperforming the broader market.
Dynamic UI: All data is neatly organized in a color-coded table (Green/Orange/Red) at the top-right of your chart, making it easy to perform a "quick health check" without leaving the main price action.mental analysis
ORB + Expected Move + Trade Bias RWCORB + Expected Move + Trade Bias v3
Overview
A comprehensive 0DTE SPX options trading indicator designed to identify optimal credit spread and iron condor setups based on Opening Range Breakout (ORB) analysis, Expected Move calculations, VWAP dynamics, and multi-factor confidence scoring. The indicator provides specific strike suggestions, real-time position management signals, and exit warnings.
Who This Is For
This indicator is built for traders who sell 0DTE SPX credit spreads (put spreads, call spreads, or iron condors) and want a systematic, data-driven approach to:
Determine trade direction (bullish, bearish, or neutral)
Select appropriate strikes based on market conditions
Manage positions with clear exit signals
Core Components
1. Opening Range Breakout (ORB)
The ORB establishes the initial trading range after market open, serving as the foundation for trade bias determination.
Settings:
ORB Period: Choose 15, 30, 45, or 60 minutes
Shorter periods (15-30 min) = more signals, more noise
Longer periods (45-60 min) = fewer signals, more reliable ranges
ORB Breakout Buffer %: Percentage buffer beyond ORB high/low before confirming breakout (default 0.1%)
Colors: Customize ORB high (green), low (red), and fill colors
How It Works:
Tracks the high and low during the ORB period
After ORB completes, monitors for breakouts above/below with buffer
Counts consecutive bars above/below ORB for confirmation
2. Expected Move (EM)
Calculates the statistically expected daily range based on Average True Range (ATR).
Settings:
ATR Length: Lookback period for ATR calculation (default 14)
ATR Multiplier: Scale the expected move (default 1.0)
Colors: Customize expected move lines and fill
How It Works:
Pulls daily ATR from the previous session
Projects expected move boundaries from session open
Used for strike distance calculations and range containment analysis
3. VWAP Analysis
Volume Weighted Average Price with standard deviation bands provides trend confirmation and stretch detection.
Settings:
Show VWAP: Toggle VWAP line visibility
Show VWAP StdDev Bands: Toggle ±1 standard deviation bands
VWAP Band Multiplier: Adjust band width (default 1.0)
VWAP Slope Lookback: Bars to measure VWAP slope (default 10)
Key Metrics:
VWAP Slope: Normalized slope indicating trend strength
Strong Up (↑↑): > 0.5
Up (↑): 0.3 to 0.5
Flat (—): -0.3 to 0.3
Down (↓): -0.5 to -0.3
Strong Down (↓↓): < -0.5
Stretched Detection: Warns when price is >1.5 standard deviations from VWAP
4. Prior Day Levels (PDH/PDL)
Yesterday's high and low serve as key support/resistance levels where institutional orders often cluster.
Settings:
Show Prior Day High/Low: Toggle PDH/PDL lines
Show Prior Day Close: Optional PDC line
Colors: Customize PDH (teal), PDL (orange), PDC (gray)
Why It Matters:
Price above PDH = strong bullish continuation signal
Price below PDL = strong bearish continuation signal
Price between PDH/PDL = range-bound, favors iron condors
Strikes are adjusted to respect these levels as potential support/resistance
Trade Signal System
Signal Time
Settings:
Signal Time (ET): Choose when the indicator evaluates and locks in the trade signal
1100 = 8:00 AM PT / 11:00 AM ET
1115 = 8:15 AM PT / 11:15 AM ET (default)
1130 = 8:30 AM PT / 11:30 AM ET
1145 = 8:45 AM PT / 11:45 AM ET
1200 = 9:00 AM PT / 12:00 PM ET
Recommendation: Later signal times (8:30-9:00 AM PT) provide more data and reduce morning fakeout signals, but leave less time for theta decay.
Confidence Scoring (9 Factors)
The indicator calculates three scores: Iron Condor (IC), Bullish, and Bearish. The highest score determines the signal.
Factor 1: Price Position vs ORB (max 40 pts)
Inside ORB → +35-40 IC points
Above ORB (confirmed breakout) → +40 Bull points
Below ORB (confirmed breakout) → +40 Bear points
Factor 2: VWAP Slope (max 30 pts)
Flat slope → +25 IC points
Strong positive slope → +30 Bull points
Strong negative slope → +30 Bear points
Factor 3: Price vs VWAP Position (max 20 pts)
Above upper band → +20 Bull points
Below lower band → +20 Bear points
Near VWAP → +12 IC points
Factor 4: VWAP Consistency (max 15 pts)
70%+ bars above VWAP → +15 Bull points
70%+ bars below VWAP → +15 Bear points
Mixed → +10 IC points
Factor 5: Move from Open (max 20 pts)
30% of EM up → +20 Bull points
30% of EM down → +20 Bear points
<12% move either way → +15 IC points
Factor 6: Trend Structure (max 15 pts)
Higher highs + higher lows → +15 Bull points
Lower lows + lower highs → +15 Bear points
No clear structure → +8 IC points
Factor 7: Day Range Containment (max 15 pts)
Range <35% of EM → +15 IC points
Range <50% of EM → +8 IC points
Range >65% of EM → Points to directional score
Factor 8: Gap Behavior (max 12 pts)
Gap up, unfilled, above ORB → +12 Bull points
Gap down, unfilled, below ORB → +12 Bear points
Gap filled, inside ORB → +8 IC points
Factor 9: Prior Day High/Low (max 20 pts)
Above PDH → +20 Bull points
Below PDL → +20 Bear points
Between PDH/PDL → +15-20 IC points
Alignment Bonuses (max 25 pts)
Additional points when multiple factors align in the same direction.
Signal Types
SignalMeaningTradeIRON CONDORRange-bound conditionsSell both put and call credit spreadsPUT SPREADBullish conditionsSell put credit spread onlyCALL SPREADBearish conditionsSell call credit spread onlyNO TRADEConflicting signals or low confidenceStay out
Confidence Levels
ConfidenceColorStrike Mode75%+Green🍆 AGGRESSIVE (tighter strikes, more premium)60-75%Lime/Yellow🌶️ NORMAL (balanced strikes)45-60%Yellow/Orange🐢 CONSERVATIVE (wider strikes, safer)<45%Orange/RedNO TRADE triggered
Strike Suggestions
Base Calculation
For Iron Condors: Strikes are calculated from current price at signal time as the midpoint, ensuring symmetric risk on both sides.
For Directional Spreads: Strikes are calculated from session open, betting on continuation.
Put Strike = Midpoint - (Expected Move × Distance)
Call Strike = Midpoint + (Expected Move × Distance)
Distance Settings:
High Confidence (75%+): 0.60 EM (default) - Tighter strikes, more premium
Mid Confidence (60-75%): 0.70 EM (default) - Balanced
Low Confidence (<60%): 0.80 EM (default) - Wider strikes, safer
Skew Adjustments
When Auto-Adjust for Skew is enabled, strikes are asymmetrically adjusted based on:
VIX Level:
VIX > 20: Puts pushed wider (-0.05), Calls pulled tighter (+0.05)
VIX < 15: Opposite adjustment
2-Day Momentum:
Strong down move: Puts pushed wider
Strong up move: Calls pushed wider
Prior Day Levels:
Below PDL: Puts pushed wider (more downside protection)
Above PDH: Calls pushed wider (more upside protection)
PDH/PDL Strike Reference
If the calculated strike is too close to PDH or PDL, the indicator adjusts to place strikes 10 points beyond these key levels (maximum 20 point adjustment).
Exit Signal System
Three-Stage Warning System
Stage 1: EARLY ⚠️ (Yellow)
Trigger: Price moves against position with:
Below VWAP AND in lower fib zones (for put spreads/IC downside)
Above VWAP AND in upper fib zones (for call spreads/IC upside)
Action: Heightened awareness. Consider reducing position or tightening mental stops.
Note: Only fires once per direction per day to avoid alert fatigue.
Stage 2: CAUTION (Orange)
Trigger:
2+ consecutive bars beyond ORB
Price has traveled 25%+ of the distance to short strike
Action: Actively manage position. Prepare to exit.
Stage 3: EXIT (Red)
Trigger:
3+ consecutive bars beyond ORB (configurable)
Price has traveled 40%+ of the distance to short strike
VWAP slope confirms the move (if enabled)
Action: Close position immediately.
Exit Settings
Exit Confirmation Bars: Consecutive bars required for EXIT signal (default 3)
CAUTION Distance %: How far toward strike before CAUTION (default 25%)
EXIT Distance %: How far toward strike before EXIT (default 40%)
Require VWAP Confirmation: EXIT only fires if VWAP slope confirms direction
Fibonacci Retracement Levels
After signal fires, fib levels are drawn between key price points:
For Iron Condors:
0% = Put Strike
100% = Call Strike
For Put Spreads:
0% = Put Strike (danger zone)
100% = Day High at signal
For Call Spreads:
0% = Day Low at signal
100% = Call Strike (danger zone)
Fib Levels Shown:
0%, 23.6%, 38.2%, 50%, 61.8%, 78.6%, 100%
Fib Zone Tracking: The left table shows current fib zone, color-coded:
Red: Near strikes (danger)
Orange: Approaching strikes
Green: Safe middle zones
Information Tables
Left Table (Position Management)
RowDescriptionSIGNALCurrent trade signal with confidence colorConfConfidence percentageEXITCurrent exit status (HOLD/EARLY/CAUTION/EXIT)Fib ZoneCurrent price position in fib structurePDHPrior day high valuePDLPrior day low valuevs PDPosition relative to prior day rangeModeStrike mode (🍆/🌶️/🐢)PutSuggested short put strikeCallSuggested short call strikeCall Dist% distance traveled toward call strikePut Dist% distance traveled toward put strike
Right Table (Market Factors)
RowDescriptionStructureOverall market structure (BULLISH/BEARISH/RANGE/MIXED)PricePosition relative to ORBVWAPVWAP slope direction and strengthStretchedWarning if price extended from VWAPMoveCurrent move from open as % of EMEM UsedDay range as % of expected moveGapGap status (up/down, filled/unfilled)ReversalV-top or V-bottom detectionConflictAny conflicting signals detectedVIXCurrent VIX levelSkewMomentum-based skew direction
Alerts
The indicator includes pre-configured alerts:
AlertDescriptionEntry: Iron CondorIC signal firedEntry: Put SpreadBullish signal firedEntry: Call SpreadBearish signal firedHigh Confidence EntryAny signal with 75%+ confidenceNo TradeNO TRADE signal firedEARLY WARNINGEarly warning triggeredCAUTIONPosition under pressureEXIT NOWExit signal triggered
Recommended Settings
Conservative (New Traders)
ORB Period: 60 minutes
Signal Time: 1130 (8:30 AM PT)
Min Confidence: 50%
Strike Distances: 0.65 / 0.75 / 0.85
Balanced (Default)
ORB Period: 30-45 minutes
Signal Time: 1115 (8:15 AM PT)
Min Confidence: 45%
Strike Distances: 0.60 / 0.70 / 0.80
Aggressive (Experienced)
ORB Period: 30 minutes
Signal Time: 1100 (8:00 AM PT)
Min Confidence: 40%
Strike Distances: 0.55 / 0.65 / 0.75
Important Notes
This indicator does not guarantee profits. It provides a systematic framework for trade selection and management.
Paper trade first. Test the indicator on historical data and paper trade before using real capital.
Position sizing matters. Never risk more than you can afford to lose on any single trade.
Exits are suggestions. Use the exit signals as guidance, but always apply your own judgment.
Market conditions vary. The indicator performs best in normal volatility environments. Use extra caution during major news events, FOMC days, and earnings season.
SPX/SPY focused. While the indicator may work on other instruments, it was designed specifically for SPX 0DTE options trading.
Version History
v3.0
Added 45/60 minute ORB options
Added configurable signal time (8:00-9:00 AM PT)
Added stretched detection (VWAP distance warning)
Added Prior Day High/Low as scoring factor
Iron Condor strikes now centered on current price (symmetric risk)
Split table UI (left: position, right: factors)
PDH/PDL reference for strike adjustments
Credits
Developed for the 0DTE SPX options trading community. Inspired by SMB Capital's ORB methodology, VWAP analysis techniques, and real-world credit spread trading experience.
Disclaimer: This indicator is for educational and informational purposes only. It is not financial advice. Trading options involves substantial risk of loss and is not suitable for all investors. Past performance is not indicative of future results.
Simplified Zones + Styled CALL/PUT TP/SL + Fixed Scoreboardaarons practice aarons practice aarons practice aarons practice aarons practice aarons practice aarons practice aarons practice aarons practice aarons practice aarons practice aarons practice aarons practice aarons practice aarons practice aarons practice
PineStats█ OVERVIEW
PineStats is a comprehensive statistical analysis library for Pine Script v6, providing 104 functions across 6 modules. Built for quantitative traders, researchers, and indicator developers who need professional-grade statistics without reinventing the wheel.
For building mean-reversion strategies, analyzing return distributions, measuring correlations, or testing for market regimes.
█ MODULES
CORE STATISTICS (20 functions)
• Central tendency: mean, median, WMA, EMA
• Dispersion: variance, stdev, MAD, range
• Standardization: z-score, robust z-score, normalize, percentile
• Distribution shape: skewness, kurtosis
PROBABILITY DISTRIBUTIONS (17 functions)
• Normal: PDF, CDF, inverse CDF (quantile function)
• Power-law: Hill estimator, MLE alpha, survival function
• Exponential: PDF, CDF, rate estimation
• Normality testing: Jarque-Bera test
ENTROPY (9 functions)
• Shannon entropy (information theory)
• Tsallis entropy (non-extensive, fat-tail sensitive)
• Permutation entropy (ordinal patterns)
• Approximate entropy (regularity measure)
• Entropy-based regime detection
PROBABILITY (21 functions)
• Win rates and expected value
• First passage time estimation
• TP/SL probability analysis
• Conditional probability and Bayes updates
• Streak and drawdown probabilities
REGRESSION (19 functions)
• Linear regression: slope, intercept, forecast
• Goodness of fit: R², adjusted R², standard error
• Statistical tests: t-statistic, p-value, significance
• Trend analysis: strength, angle, acceleration
• Quadratic regression
CORRELATION (18 functions)
• Pearson, Spearman, Kendall correlation
• Covariance, beta, alpha (Jensen's)
• Rolling correlation analysis
• Autocorrelation and cross-correlation
• Information ratio, tracking error
█ QUICK START
import HenriqueCentieiro/PineStats/1 as stats
// Z-score for mean reversion
z = stats.zscore(close, 20)
// Test if returns are normally distributed
returns = (close - close ) / close
isGaussian = stats.is_normal(returns, 100, 0.05)
// Regression channel
= stats.linreg_channel(close, 50, 2.0)
// Correlation with benchmark
spyReturns = request.security("SPY", timeframe.period, close/close - 1)
beta = stats.beta(returns, spyReturns, 60)
█ USE CASES
✓ Mean Reversion — z-scores, percentiles, Bollinger-style analysis
✓ Regime Detection — entropy measures, correlation regimes
✓ Risk Analysis — drawdown probability, VaR via quantiles
✓ Strategy Evaluation — expected value, win rates, R:R analysis
✓ Distribution Analysis — normality tests, fat-tail detection
✓ Multi-Asset — beta, alpha, correlation, relative strength
█ NOTES
• All functions return `na` on invalid inputs
• Designed for Pine Script v6
• Fully documented in the library header
• Part of the Pine ecosystem: PineStats, PineQuant, PineCriticality, PineWavelet
█ REFERENCES
• Abramowitz & Stegun — Normal CDF approximation
• Acklam's algorithm — Inverse normal CDF
• Hill estimator — Power-law tail estimation
• Tsallis statistics — Non-extensive entropy
Full documentation in the library header.
mean(src, length)
Calculates the arithmetic mean (simple moving average) over a lookback period
Parameters:
src (float) : Source series
length (simple int) : Lookback period (must be >= 1)
Returns: Arithmetic mean of the last `length` values, or `na` if inputs invalid
wma_custom(src, length)
Calculates weighted moving average with linearly decreasing weights
Parameters:
src (float) : Source series
length (simple int) : Lookback period (must be >= 1)
Returns: Weighted moving average, or `na` if inputs invalid
ema_custom(src, length)
Calculates exponential moving average
Parameters:
src (float) : Source series
length (simple int) : Lookback period (must be >= 1)
Returns: Exponential moving average, or `na` if inputs invalid
median(src, length)
Calculates the median value over a lookback period
Parameters:
src (float) : Source series
length (simple int) : Lookback period (must be >= 1)
Returns: Median value, or `na` if inputs invalid
variance(src, length)
Calculates population variance over a lookback period
Parameters:
src (float) : Source series
length (simple int) : Lookback period (must be >= 1)
Returns: Population variance, or `na` if inputs invalid
stdev(src, length)
Calculates population standard deviation over a lookback period
Parameters:
src (float) : Source series
length (simple int) : Lookback period (must be >= 1)
Returns: Population standard deviation, or `na` if inputs invalid
mad(src, length)
Calculates Median Absolute Deviation (MAD) - robust dispersion measure
Parameters:
src (float) : Source series
length (simple int) : Lookback period (must be >= 1)
Returns: MAD value, or `na` if inputs invalid
data_range(src, length)
Calculates the range (highest - lowest) over a lookback period
Parameters:
src (float) : Source series
length (simple int) : Lookback period (must be >= 1)
Returns: Range value, or `na` if inputs invalid
zscore(src, length)
Calculates z-score (number of standard deviations from mean)
Parameters:
src (float) : Source series
length (simple int) : Lookback period for mean and stdev calculation (must be >= 2)
Returns: Z-score, or `na` if inputs invalid or stdev is zero
zscore_robust(src, length)
Calculates robust z-score using median and MAD (resistant to outliers)
Parameters:
src (float) : Source series
length (simple int) : Lookback period (must be >= 2)
Returns: Robust z-score, or `na` if inputs invalid or MAD is zero
normalize(src, length)
Normalizes value to range using min-max scaling
Parameters:
src (float) : Source series
length (simple int) : Lookback period (must be >= 1)
Returns: Normalized value in , or `na` if inputs invalid or range is zero
percentile(src, length)
Calculates percentile rank of current value within lookback window
Parameters:
src (float) : Source series
length (simple int) : Lookback period (must be >= 1)
Returns: Percentile rank (0 to 100), or `na` if inputs invalid
winsorize(src, length, lower_pct, upper_pct)
Winsorizes values by clamping to percentile bounds (reduces outlier impact)
Parameters:
src (float) : Source series
length (simple int) : Lookback period (must be >= 1)
lower_pct (simple float) : Lower percentile bound (0-100, e.g., 5 for 5th percentile)
upper_pct (simple float) : Upper percentile bound (0-100, e.g., 95 for 95th percentile)
Returns: Winsorized value clamped to bounds
skewness(src, length)
Calculates sample skewness (measure of distribution asymmetry)
Parameters:
src (float) : Source series
length (simple int) : Lookback period (must be >= 3)
Returns: Skewness value (negative = left tail, positive = right tail), or `na` if invalid
kurtosis(src, length)
Calculates excess kurtosis (measure of distribution tail heaviness)
Parameters:
src (float) : Source series
length (simple int) : Lookback period (must be >= 4)
Returns: Excess kurtosis (>0 = heavy tails, <0 = light tails), or `na` if invalid
count_valid(src, length)
Counts non-na values in lookback window (useful for data quality checks)
Parameters:
src (float) : Source series
length (simple int) : Lookback period (must be >= 1)
Returns: Count of valid (non-na) values
sum(src, length)
Calculates sum over lookback period
Parameters:
src (float) : Source series
length (simple int) : Lookback period (must be >= 1)
Returns: Sum of values, or `na` if inputs invalid
cumsum(src)
Calculates cumulative sum (running total from first bar)
Parameters:
src (float) : Source series
Returns: Cumulative sum
change(src, length)
Returns the change (difference) from n bars ago
Parameters:
src (float) : Source series
length (simple int) : Number of bars to look back (must be >= 1)
Returns: Current value minus value from `length` bars ago
roc(src, length)
Calculates Rate of Change (percentage change from n bars ago)
Parameters:
src (float) : Source series
length (simple int) : Number of bars to look back (must be >= 1)
Returns: Percentage change as decimal (0.05 = 5%), or `na` if invalid
normal_pdf_standard(x)
Calculates the standard normal probability density function (PDF)
Parameters:
x (float) : The value to evaluate
Returns: PDF value at x for standard normal N(0,1)
normal_pdf(x, mu, sigma)
Calculates the normal probability density function (PDF)
Parameters:
x (float) : The value to evaluate
mu (float) : Mean of the distribution (default: 0)
sigma (float) : Standard deviation (default: 1, must be > 0)
Returns: PDF value at x for normal N(mu, sigma²)
normal_cdf_standard(x)
Calculates the standard normal cumulative distribution function (CDF)
Parameters:
x (float) : The value to evaluate
Returns: Probability P(X <= x) for standard normal N(0,1)
@description Uses Abramowitz & Stegun approximation (formula 7.1.26), accurate to ~1.5e-7
normal_cdf(x, mu, sigma)
Calculates the normal cumulative distribution function (CDF)
Parameters:
x (float) : The value to evaluate
mu (float) : Mean of the distribution (default: 0)
sigma (float) : Standard deviation (default: 1, must be > 0)
Returns: Probability P(X <= x) for normal N(mu, sigma²)
normal_inv_standard(p)
Calculates the inverse standard normal CDF (quantile function)
Parameters:
p (float) : Probability value (must be in (0, 1))
Returns: x such that P(X <= x) = p for standard normal N(0,1)
@description Uses Acklam's algorithm, accurate to ~1.15e-9
normal_inv(p, mu, sigma)
Calculates the inverse normal CDF (quantile function)
Parameters:
p (float) : Probability value (must be in (0, 1))
mu (float) : Mean of the distribution
sigma (float) : Standard deviation (must be > 0)
Returns: x such that P(X <= x) = p for normal N(mu, sigma²)
power_law_alpha(src, length, tail_pct)
Estimates power-law exponent (alpha) using Hill estimator
Parameters:
src (float) : Source series (typically absolute returns or drawdowns)
length (simple int) : Lookback period (must be >= 10 for reliable estimates)
tail_pct (simple float) : Percentage of data to use for tail estimation (default: 0.1 = top 10%)
Returns: Estimated alpha (tail index), typically 2-4 for financial data
@description Alpha < 2 indicates infinite variance (very heavy tails)
@description Alpha < 3 indicates infinite kurtosis
@description Alpha > 4 suggests near-Gaussian behavior
power_law_alpha_mle(src, length, x_min)
Estimates power-law alpha using maximum likelihood (Clauset method)
Parameters:
src (float) : Source series (positive values expected)
length (simple int) : Lookback period (must be >= 20)
x_min (float) : Minimum threshold for power-law behavior
Returns: Estimated alpha using MLE
power_law_pdf(x, alpha, x_min)
Calculates power-law probability density (Pareto Type I)
Parameters:
x (float) : Value to evaluate (must be >= x_min)
alpha (float) : Power-law exponent (must be > 1)
x_min (float) : Minimum value / scale parameter (must be > 0)
Returns: PDF value
power_law_survival(x, alpha, x_min)
Calculates power-law survival function P(X > x)
Parameters:
x (float) : Value to evaluate (must be >= x_min)
alpha (float) : Power-law exponent (must be > 1)
x_min (float) : Minimum value / scale parameter (must be > 0)
Returns: Probability of exceeding x
power_law_ks(src, length, alpha, x_min)
Tests if data follows power-law using simplified Kolmogorov-Smirnov
Parameters:
src (float) : Source series
length (simple int) : Lookback period
alpha (float) : Estimated alpha from power_law_alpha()
x_min (float) : Threshold value
Returns: KS statistic (lower = better fit, typically < 0.1 for good fit)
is_power_law(src, length, tail_pct, ks_threshold)
Simple test if distribution appears to follow power-law
Parameters:
src (float) : Source series
length (simple int) : Lookback period
tail_pct (simple float) : Tail percentage for alpha estimation
ks_threshold (simple float) : Maximum KS statistic for acceptance (default: 0.1)
Returns: true if KS test suggests power-law fit
exp_pdf(x, lambda)
Calculates exponential probability density function
Parameters:
x (float) : Value to evaluate (must be >= 0)
lambda (float) : Rate parameter (must be > 0)
Returns: PDF value
exp_cdf(x, lambda)
Calculates exponential cumulative distribution function
Parameters:
x (float) : Value to evaluate (must be >= 0)
lambda (float) : Rate parameter (must be > 0)
Returns: Probability P(X <= x)
exp_lambda(src, length)
Estimates exponential rate parameter (lambda) using MLE
Parameters:
src (float) : Source series (positive values)
length (simple int) : Lookback period
Returns: Estimated lambda (1/mean)
jarque_bera(src, length)
Calculates Jarque-Bera test statistic for normality
Parameters:
src (float) : Source series
length (simple int) : Lookback period (must be >= 10)
Returns: JB statistic (higher = more deviation from normality)
@description Under normality, JB ~ chi-squared(2). JB > 6 suggests non-normality at 5% level
is_normal(src, length, significance)
Tests if distribution is approximately normal
Parameters:
src (float) : Source series
length (simple int) : Lookback period
significance (simple float) : Significance level (default: 0.05)
Returns: true if Jarque-Bera test does not reject normality
shannon_entropy(src, length, n_bins)
Calculates Shannon entropy from a probability distribution
Parameters:
src (float) : Source series
length (simple int) : Lookback period (must be >= 10)
n_bins (simple int) : Number of histogram bins for discretization (default: 10)
Returns: Shannon entropy in bits (log base 2)
@description Higher entropy = more randomness/uncertainty, lower = more predictability
shannon_entropy_norm(src, length, n_bins)
Calculates normalized Shannon entropy
Parameters:
src (float) : Source series
length (simple int) : Lookback period
n_bins (simple int) : Number of histogram bins
Returns: Normalized entropy where 0 = perfectly predictable, 1 = maximum randomness
tsallis_entropy(src, length, q, n_bins)
Calculates Tsallis entropy with q-parameter
Parameters:
src (float) : Source series
length (simple int) : Lookback period (must be >= 10)
q (float) : Entropic index (q=1 recovers Shannon entropy)
n_bins (simple int) : Number of histogram bins
Returns: Tsallis entropy value
@description q < 1: emphasizes rare events (fat tails)
@description q = 1: equivalent to Shannon entropy
@description q > 1: emphasizes common events
optimal_q(src, length)
Estimates optimal q parameter from kurtosis
Parameters:
src (float) : Source series
length (simple int) : Lookback period
Returns: Estimated q value that best captures the distribution's tail behavior
@description Uses relationship: q ≈ (5 + kurtosis) / (3 + kurtosis) for kurtosis > 0
tsallis_q_gaussian(x, q, beta)
Calculates Tsallis q-Gaussian probability density
Parameters:
x (float) : Value to evaluate
q (float) : Tsallis q parameter (must be < 3)
beta (float) : Width parameter (inverse temperature, must be > 0)
Returns: q-Gaussian PDF value
@description q=1 recovers standard Gaussian
permutation_entropy(src, length, order)
Calculates permutation entropy (ordinal pattern complexity)
Parameters:
src (float) : Source series
length (simple int) : Lookback period (must be >= 20)
order (simple int) : Embedding dimension / pattern length (2-5, default: 3)
Returns: Normalized permutation entropy
@description Measures complexity of temporal ordering patterns
@description 0 = perfectly predictable sequence, 1 = random
approx_entropy(src, length, m, r)
Calculates Approximate Entropy (ApEn) - regularity measure
Parameters:
src (float) : Source series
length (simple int) : Lookback period (must be >= 50)
m (simple int) : Embedding dimension (default: 2)
r (simple float) : Tolerance as fraction of stdev (default: 0.2)
Returns: Approximate entropy value (higher = more irregular/complex)
@description Lower ApEn indicates more self-similarity and predictability
entropy_regime(src, length, q, n_bins)
Detects market regime based on entropy level
Parameters:
src (float) : Source series (typically returns)
length (simple int) : Lookback period
q (float) : Tsallis q parameter (use optimal_q() or default 1.5)
n_bins (simple int) : Number of histogram bins
Returns: Regime indicator: -1 = trending (low entropy), 0 = transition, 1 = ranging (high entropy)
entropy_risk(src, length)
Calculates entropy-based risk indicator
Parameters:
src (float) : Source series (typically returns)
length (simple int) : Lookback period
Returns: Risk score where 1 = maximum divergence from Gaussian 1
hit_rate(src, length)
Calculates hit rate (probability of positive outcome) over lookback
Parameters:
src (float) : Source series (positive values count as hits)
length (simple int) : Lookback period
Returns: Hit rate as decimal
hit_rate_cond(condition, length)
Calculates hit rate for custom condition over lookback
Parameters:
condition (bool) : Boolean series (true = hit)
length (simple int) : Lookback period
Returns: Hit rate as decimal
expected_value(src, length)
Calculates expected value of a series
Parameters:
src (float) : Source series
length (simple int) : Lookback period
Returns: Expected value (mean)
expected_value_trade(win_prob, take_profit, stop_loss)
Calculates expected value for a trade with TP and SL levels
Parameters:
win_prob (float) : Probability of hitting TP (0-1)
take_profit (float) : Take profit in price units or %
stop_loss (float) : Stop loss in price units or % (positive value)
Returns: Expected value per trade
@description EV = (win_prob * TP) - ((1 - win_prob) * SL)
breakeven_winrate(take_profit, stop_loss)
Calculates breakeven win rate for given TP/SL ratio
Parameters:
take_profit (float) : Take profit distance
stop_loss (float) : Stop loss distance
Returns: Required win rate for breakeven (EV = 0)
reward_risk_ratio(take_profit, stop_loss)
Calculates the reward-to-risk ratio
Parameters:
take_profit (float) : Take profit distance
stop_loss (float) : Stop loss distance
Returns: R:R ratio
fpt_probability(src, length, target, max_bars)
Estimates probability of price reaching target within N bars
Parameters:
src (float) : Source series (typically returns)
length (simple int) : Lookback for volatility estimation
target (float) : Target move (in same units as src, e.g., % return)
max_bars (simple int) : Maximum bars to consider
Returns: Probability of reaching target within max_bars
@description Based on random walk with drift approximation
fpt_mean(src, length, target)
Estimates mean first passage time to target level
Parameters:
src (float) : Source series (typically returns)
length (simple int) : Lookback for volatility estimation
target (float) : Target move
Returns: Expected number of bars to reach target (can be infinite)
fpt_historical(src, length, target)
Counts historical bars to reach target from each point
Parameters:
src (float) : Source series (typically price or returns)
length (simple int) : Lookback period
target (float) : Target move from each starting point
Returns: Array of first passage times (na if target not reached within lookback)
tp_probability(src, length, tp_distance, sl_distance)
Estimates probability of hitting TP before SL
Parameters:
src (float) : Source series (typically returns)
length (simple int) : Lookback for estimation
tp_distance (float) : Take profit distance (positive)
sl_distance (float) : Stop loss distance (positive)
Returns: Probability of TP being hit first
trade_probability(src, length, tp_pct, sl_pct)
Calculates complete trade probability and EV analysis
Parameters:
src (float) : Source series (typically returns)
length (simple int) : Lookback period
tp_pct (float) : Take profit percentage
sl_pct (float) : Stop loss percentage
Returns: Tuple:
cond_prob(condition_a, condition_b, length)
Calculates conditional probability P(B|A) from historical data
Parameters:
condition_a (bool) : Condition A (the given condition)
condition_b (bool) : Condition B (the outcome)
length (simple int) : Lookback period
Returns: P(B|A) = P(A and B) / P(A)
bayes_update(prior, likelihood, false_positive)
Updates probability using Bayes' theorem
Parameters:
prior (float) : Prior probability P(H)
likelihood (float) : P(E|H) - probability of evidence given hypothesis
false_positive (float) : P(E|~H) - probability of evidence given hypothesis is false
Returns: Posterior probability P(H|E)
streak_prob(win_rate, streak_length)
Calculates probability of N consecutive wins given win rate
Parameters:
win_rate (float) : Single-trade win probability
streak_length (simple int) : Number of consecutive wins
Returns: Probability of streak
losing_streak_prob(win_rate, streak_length)
Calculates probability of experiencing N consecutive losses
Parameters:
win_rate (float) : Single-trade win probability
streak_length (simple int) : Number of consecutive losses
Returns: Probability of losing streak
drawdown_prob(src, length, dd_threshold)
Estimates probability of drawdown exceeding threshold
Parameters:
src (float) : Source series (returns)
length (simple int) : Lookback period
dd_threshold (float) : Drawdown threshold (as positive decimal, e.g., 0.10 = 10%)
Returns: Historical probability of exceeding drawdown threshold
prob_to_odds(prob)
Calculates odds from probability
Parameters:
prob (float) : Probability (0-1)
Returns: Odds (prob / (1 - prob))
odds_to_prob(odds)
Calculates probability from odds
Parameters:
odds (float) : Odds ratio
Returns: Probability (0-1)
implied_prob(decimal_odds)
Calculates implied probability from decimal odds (betting)
Parameters:
decimal_odds (float) : Decimal odds (e.g., 2.5 means $2.50 return per $1 bet)
Returns: Implied probability
logit(prob)
Calculates log-odds (logit) from probability
Parameters:
prob (float) : Probability (must be in (0, 1))
Returns: Log-odds
inv_logit(log_odds)
Calculates probability from log-odds (inverse logit / sigmoid)
Parameters:
log_odds (float) : Log-odds value
Returns: Probability (0-1)
linreg_slope(src, length)
Calculates linear regression slope
Parameters:
src (float) : Source series
length (simple int) : Lookback period (must be >= 2)
Returns: Slope coefficient (change per bar)
linreg_intercept(src, length)
Calculates linear regression intercept
Parameters:
src (float) : Source series
length (simple int) : Lookback period (must be >= 2)
Returns: Intercept (predicted value at oldest bar in window)
linreg_value(src, length)
Calculates predicted value at current bar using linear regression
Parameters:
src (float) : Source series
length (simple int) : Lookback period
Returns: Predicted value at current bar (end of regression line)
linreg_forecast(src, length, offset)
Forecasts value N bars ahead using linear regression
Parameters:
src (float) : Source series
length (simple int) : Lookback period for regression
offset (simple int) : Bars ahead to forecast (positive = future)
Returns: Forecasted value
linreg_channel(src, length, mult)
Calculates linear regression channel with bands
Parameters:
src (float) : Source series
length (simple int) : Lookback period
mult (simple float) : Standard deviation multiplier for bands
Returns: Tuple:
r_squared(src, length)
Calculates R-squared (coefficient of determination)
Parameters:
src (float) : Source series
length (simple int) : Lookback period
Returns: R² value where 1 = perfect linear fit
adj_r_squared(src, length)
Calculates adjusted R-squared (accounts for sample size)
Parameters:
src (float) : Source series
length (simple int) : Lookback period
Returns: Adjusted R² value
std_error(src, length)
Calculates standard error of estimate (residual standard deviation)
Parameters:
src (float) : Source series
length (simple int) : Lookback period
Returns: Standard error
residual(src, length)
Calculates residual at current bar
Parameters:
src (float) : Source series
length (simple int) : Lookback period
Returns: Residual (actual - predicted)
residuals(src, length)
Returns array of all residuals in lookback window
Parameters:
src (float) : Source series
length (simple int) : Lookback period
Returns: Array of residuals
t_statistic(src, length)
Calculates t-statistic for slope coefficient
Parameters:
src (float) : Source series
length (simple int) : Lookback period
Returns: T-statistic (slope / standard error of slope)
slope_pvalue(src, length)
Approximates p-value for slope t-test (two-tailed)
Parameters:
src (float) : Source series
length (simple int) : Lookback period
Returns: Approximate p-value
is_significant(src, length, alpha)
Tests if regression slope is statistically significant
Parameters:
src (float) : Source series
length (simple int) : Lookback period
alpha (simple float) : Significance level (default: 0.05)
Returns: true if slope is significant at alpha level
trend_strength(src, length)
Calculates normalized trend strength based on R² and slope
Parameters:
src (float) : Source series
length (simple int) : Lookback period
Returns: Trend strength where sign indicates direction
trend_angle(src, length)
Calculates trend angle in degrees
Parameters:
src (float) : Source series
length (simple int) : Lookback period
Returns: Angle in degrees (positive = uptrend, negative = downtrend)
linreg_acceleration(src, length)
Calculates trend acceleration (second derivative)
Parameters:
src (float) : Source series
length (simple int) : Lookback period for each regression
Returns: Acceleration (change in slope)
linreg_deviation(src, length)
Calculates deviation from regression line in standard error units
Parameters:
src (float) : Source series
length (simple int) : Lookback period
Returns: Deviation in standard error units (like z-score)
quadreg_coefficients(src, length)
Fits quadratic regression and returns coefficients
Parameters:
src (float) : Source series
length (simple int) : Lookback period (must be >= 4)
Returns: Tuple: for y = a*x² + b*x + c
quadreg_value(src, length)
Calculates quadratic regression value at current bar
Parameters:
src (float) : Source series
length (simple int) : Lookback period
Returns: Predicted value from quadratic fit
correlation(x, y, length)
Calculates Pearson correlation coefficient between two series
Parameters:
x (float) : First series
y (float) : Second series
length (simple int) : Lookback period (must be >= 3)
Returns: Correlation coefficient
covariance(x, y, length)
Calculates sample covariance between two series
Parameters:
x (float) : First series
y (float) : Second series
length (simple int) : Lookback period (must be >= 2)
Returns: Covariance value
beta(asset, benchmark, length)
Calculates beta coefficient (slope of regression of y on x)
Parameters:
asset (float) : Asset returns series
benchmark (float) : Benchmark returns series
length (simple int) : Lookback period
Returns: Beta coefficient
@description Beta = Cov(asset, benchmark) / Var(benchmark)
alpha(asset, benchmark, length, risk_free)
Calculates alpha (Jensen's alpha / intercept)
Parameters:
asset (float) : Asset returns series
benchmark (float) : Benchmark returns series
length (simple int) : Lookback period
risk_free (float) : Risk-free rate (default: 0)
Returns: Alpha value (excess return not explained by beta)
spearman(x, y, length)
Calculates Spearman rank correlation coefficient
Parameters:
x (float) : First series
y (float) : Second series
length (simple int) : Lookback period (must be >= 3)
Returns: Spearman correlation
@description More robust to outliers than Pearson correlation
kendall_tau(x, y, length)
Calculates Kendall's tau rank correlation (simplified)
Parameters:
x (float) : First series
y (float) : Second series
length (simple int) : Lookback period (must be >= 3)
Returns: Kendall's tau
correlation_change(x, y, length, change_period)
Calculates change in correlation over time
Parameters:
x (float) : First series
y (float) : Second series
length (simple int) : Lookback period for correlation
change_period (simple int) : Period over which to measure change
Returns: Change in correlation
correlation_regime(x, y, length, ma_length)
Detects correlation regime based on level and stability
Parameters:
x (float) : First series
y (float) : Second series
length (simple int) : Lookback period for correlation
ma_length (simple int) : Moving average length for smoothing
Returns: Regime: -1 = negative, 0 = uncorrelated, 1 = positive
correlation_stability(x, y, length, stability_length)
Calculates correlation stability (inverse of volatility)
Parameters:
x (float) : First series
y (float) : Second series
length (simple int) : Lookback for correlation
stability_length (simple int) : Lookback for stability calculation
Returns: Stability score where 1 = perfectly stable
relative_strength(asset, benchmark, length)
Calculates relative strength of asset vs benchmark
Parameters:
asset (float) : Asset price series
benchmark (float) : Benchmark price series
length (simple int) : Smoothing period
Returns: Relative strength ratio (normalized)
tracking_error(asset, benchmark, length)
Calculates tracking error (standard deviation of excess returns)
Parameters:
asset (float) : Asset returns
benchmark (float) : Benchmark returns
length (simple int) : Lookback period
Returns: Tracking error (annualize by multiplying by sqrt(252) for daily data)
information_ratio(asset, benchmark, length)
Calculates information ratio (risk-adjusted excess return)
Parameters:
asset (float) : Asset returns
benchmark (float) : Benchmark returns
length (simple int) : Lookback period
Returns: Information ratio
capture_ratio(asset, benchmark, length, up_capture)
Calculates up/down capture ratio
Parameters:
asset (float) : Asset returns
benchmark (float) : Benchmark returns
length (simple int) : Lookback period
up_capture (simple bool) : If true, calculate up capture; if false, down capture
Returns: Capture ratio
autocorrelation(src, length, lag)
Calculates autocorrelation at specified lag
Parameters:
src (float) : Source series
length (simple int) : Lookback period
lag (simple int) : Lag for autocorrelation (default: 1)
Returns: Autocorrelation at specified lag
partial_autocorr(src, length)
Calculates partial autocorrelation at lag 1
Parameters:
src (float) : Source series
length (simple int) : Lookback period
Returns: PACF at lag 1 (equals ACF at lag 1)
autocorr_test(src, length, max_lag)
Tests for significant autocorrelation (Ljung-Box inspired)
Parameters:
src (float) : Source series
length (simple int) : Lookback period
max_lag (simple int) : Maximum lag to test
Returns: Sum of squared autocorrelations (higher = more autocorrelation)
cross_correlation(x, y, length, lag)
Calculates cross-correlation at specified lag
Parameters:
x (float) : First series
y (float) : Second series (lagged)
length (simple int) : Lookback period
lag (simple int) : Lag to apply to y (positive = y leads x)
Returns: Cross-correlation at specified lag
cross_correlation_peak(x, y, length, max_lag)
Finds lag with maximum cross-correlation
Parameters:
x (float) : First series
y (float) : Second series
length (simple int) : Lookback period
max_lag (simple int) : Maximum lag to search (both directions)
Returns: Tuple:
Titan V40.0 Optimal Portfolio ManagerTitan V40.0 Optimal Portfolio Manager
This script serves as a complete portfolio management ecosystem designed to professionalize your entire investment process. It is built to replace emotional guesswork with a structured, mathematically driven workflow that guides you from discovering broad market trends to calculating the exact dollar amount you should allocate to each asset. Whether you are managing a crypto portfolio, a stock watchlist, or a diversified mix of assets, Titan V40.0 acts as your personal "Portfolio Architect," helping you build a scientifically weighted portfolio that adapts dynamically to market conditions.
How the 4-Step Workflow Operates
The system is organized into four distinct operational modes that you cycle through as you analyze the market. You simply change the "Active Workflow Step" in the settings to progress through the analysis.
You begin with the Macro Scout, which is designed to show you where capital is flowing in the broader economy. This mode scans 15 major sectors—ranging from Technology and Energy to Gold and Crypto—and ranks them by relative strength. This high-level view allows you to instantly identify which sectors are leading the market and which are lagging, ensuring you are always fishing in the right pond.
Once you have identified a leading sector, you move to the Deep Dive mode. This tool allows you to select a specific target sector, such as Semiconductors or Precious Metals, and instantly scans a pre-loaded internal library of the top 20 assets within that industry. It ranks these assets based on performance and safety, allowing you to quickly cherry-pick the top three to five winners that are outperforming their peers.
After identifying your potential winners, you proceed to the Favorites Monitor. This step allows you to build a focused "bench" of your top candidates. by inputting your chosen winners from the Deep Dive into the Favorites slots in the settings, you create a dedicated watchlist. This separates the signal from the noise, letting you monitor the Buy, Hold, or Sell status of your specific targets in real-time without the distraction of the rest of the market.
The final and most powerful phase is Reallocation. This is where the script functions as a true Portfolio Architect. In this step, you input your current portfolio holdings alongside your new favorites. The script treats this combined list as a single "unified pool" of candidates, scoring every asset purely on its current merit regardless of whether you already own it or not. It then generates a clear Action Plan. If an asset has a strong trend and a high score, it issues a BUY or ADD signal with a specific target dollar amount based on your total equity. If an asset is stable but not a screaming buy, it issues a MAINTAIN signal to hold your position. If a trend has broken, it issues an EXIT signal, advising you to cut the position to zero to protect capital.
Smart Logic Under the Hood
What makes Titan V40.0 unique is its "Regime Awareness." The system automatically detects if the broad market is in a Risk-On (Bull) or Risk-Off (Bear) state using a global proxy like SPY or BTC. In a Risk-On regime, the system is aggressive, allowing capital to be fully deployed into high-performing assets. In a Risk-Off regime, the system automatically forces a "Cash Drag," mathematically reducing allocation targets to keep a larger portion of your portfolio in cash for safety.
Furthermore, the scoring engine uses Risk-Adjusted math. It does not simply chase high returns; it actively penalizes volatility. A stock that is rising steadily will be ranked higher than a stock that is wildly erratic, even if their total returns are similar. This ensures that your "Maintenance" positions—assets you hold that are doing okay but not spectacular—still receive a proper allocation target, preventing you from being forced to sell good assets prematurely while ensuring you are effectively positioned for the highest probability of return.
Relative Strength vs SPY (Master Dashboard)Compares ETFs and major themes against the SPY. Themes can be toggled in settings
Mean Reversion [SIMI]This mean reversion indicator identifies extreme price deviations from the mean, providing high-probability reversal signals. Designed for confluence-based trading, it works best when combined with complementary indicators such as VWAP, price action, and volume analysis.
📊 Core Features
Signal Types
Prime Signals (Bright Green/Red Dots): Extreme reversions usually beyond ±1.5 SD - highest probability setups (you can customise this zone!)
Regular Signals (Dark Green/Red Dots): Standard reversions - moderate probability
Leader Line (Pink Dotted): Early warning indicator for potential reversals
Histogram Weakness: Momentum divergence signals
Normalisation Methods:
Institutional Hybrid (Z-ATR) (Recommended): Volatility-adjusted Z-score - adapts to changing market conditions
Percentile Ranking: Statistical ranking - excellent for ranging markets
PPO + ATR Hybrid: Percentage-based with volatility adjustment
Efficiency Ratio: Trend-strength weighted
ATR: Pure volatility-based
None: Raw Z-score
⚙️ Quick Setup Guide
1. Institutional Presets
Pre-configured parameter sets optimised for different timeframes:
5M Day Trading (5/21/5): Intraday scalping
1H Options Trading (6/24/5): Options-focused setups
1D Monthly Cycle (5/20/5): Swing trading
2. Signal Filtering
Prime Thresholds: Adjust ±1.5 SD to control signal quality (tighter = fewer, higher quality, adjust this zone per asset traded)
Dot Filters: Fine-tune entry zones (-0.03/+0.03 default - this ignores noisy signals near Zero line)
Volume Filter: Enable to require volume confirmation (1.4x average recommended, but fine tune yourself)
3. Advanced Filters
Dynamic SD Thresholds: Auto-adjusts for volatility regimes (tighter in low vol, wider in high vol)
Time of Day Filter: Avoids first 30 minutes, last 15 minutes, and lunch hour (11:30-13:00 EST)
💡 Trading Strategy Recommendations
Optimal Usage
This indicator is not intended as a standalone system. Use it for confluence alongside:
VWAP (institutional positioning)
Price action (support/resistance)
Options flow (institutional direction)
Volume analysis (conviction confirmation)
Signal Interpretation
Prime Signals: Wait for these for highest-probability entries - mean reversion may take hours to days
Manual Entries: Don't wait for dots - trade the ±2 SD zones directly using your own confirmation
Options Strategy: Prime sell signals at +2 SD make excellent short call setups; prime buy signals at -2 SD for long calls
Timeframe Guidance
Lower Timeframes (1M-5M): Higher noise - require additional confluence
Higher Timeframes (1H-1D): More reliable signals - suitable for options and swing trades
Best Results: Multi-timeframe analysis (check 1H and 4H alignment on 5M entries)
🔔 Alert System
Master Alert
Enable customisable alerts via the Master Alert System:
Toggle individual signal types (Prime Buy/Sell, SD Crosses, Leader, Histogram)
Receives bespoke messages with ticker, timeframe, and price
One alert condition handles all selected signals
Individual Alerts
Separate alert conditions available for Prime and Regular signals if preferred.
📈 Backtesting Notes
Important: Backtest results are date-sensitive and should not be the primary focus. Instead:
Dial in settings visually on your chosen asset
Aim for signals near actual tops and bottoms
Test different normalisation methods for your specific instrument
Optimise for signal quality, not backtest ROI
Asset Testing: Primarily developed using SPY, QQQ, and IWM as main assets to trade. Other instruments may require parameter adjustment - mess around!
Backtest Engine
Entry/Exit modes (All Signals, Prime Only, Early Signals)
Position sizing (percentage-based)
Slippage and fill method (candle close recommended)
Date range selection
⚠️ Best Practices
Always use confluence - never trade on MR signals alone
Start with Institutional Hybrid normalisation - most adaptive to market conditions
Focus on Prime signals for quality over quantity
Test on your specific asset - optimal settings vary by instrument
Longer timeframes = higher reliability - 1H+ for best results
Enable Time Filter on intraday charts to avoid volatile periods
Use Dynamic SD in highly volatile markets (earnings, FOMC, etc.)
🛠️ Troubleshooting
Too many signals: Increase Prime Thresholds or enable Volume Filter
Too few signals: Decrease Prime Thresholds or reduce Dot Filters
False signals: Enable Time of Day Filter and Dynamic SD
Signals don't align with tops/bottoms: Try different normalisation method
📝 Feedback & Development
Bug Reports: Please report any issues via TradingView comments or direct message.
Strategy Sharing: I'd love to hear how you're using this indicator and what strategies you've developed.
Open Source: Feel free to fork and modify this indicator. If you create an improved version, please share it with the community!
🙏 Acknowledgements
Developed through AI-assisted collaboration.
Special thanks to Lazy Bear for his open source MACD histogram (volume based).
Open source forever - use freely, modify, and share.
Happy Trading!
Remember: Past performance does not guarantee future results. Always manage risk appropriately.
Pandas rock \m/
Sigmoid Allocation Indicator & DashboardTL;DR This sigmoid-based allocation indicator tells you percentage of your portfolio to invest based on how much the market has dropped.
Market at all-time high? → Stay defensive, invest less (e.g., 30%)
Market crashed hard? → Get aggressive, invest more (e.g., 100%)
The "sigmoid" part just means the transition between these two extremes follows a smooth S-shaped curve.
Description
This indicator is a sigmoid-based allocation system that dynamically adjusts a portfolio exposure based on market drawdown.
It compares multiple steepness curves (K values) to find your optimal risk profile for leveraged ETF strategies, but it can also be used to scale in-out from stocks, crypto and to understand whether to use leverage or not.
The Sigmoid Allocation Dashboard helps you to dynamically adjust a portfolio allocation based on how much a market has dropped from its all-time high.
I've implemented it using a sigmoid (S-curve) function, that dynamically calculates the optimal allocation percentages. Depending on the market conditions, the S curves transition between defensive and aggressive allocations.
The Math Behind It (if you are a geek like me)
This indicator uses the sigmoid function to create smooth S-curve transitions:
α(D) = α_min + (α_max - α_min) × σ(k × (D - D_mid))
Where:
σ(x) = 1 / (1 + e^(-x)) ← Standard sigmoid function
You can also check it here:
// Sigmoid function: σ(x) = 1 / (1 + e^(-x))
sigmoid(float x) =>
1.0 / (1.0 + math.exp(-x))
// Alpha calculation: α(D) = α_min + (α_max - α_min) × σ(k × (D - D_mid))
calcAlpha(float drawdown, float k, float a_min, float a_max, float d_midpoint) =>
sig_input = k * (drawdown - d_midpoint) / 100.0
a_min + (a_max - a_min) * sigmoid(sig_input)
User parameters (you can tweak this):
Allocation Min (%): Your baseline allocation when markets are at ATH (default: 30%)
Allocation Max (%): Your maximum allocation during deep drawdowns (default: 100%)
D_mid (%): The drawdown level where you want to be at the midpoint (default: 25%)
Why do I like sigmoid and not a linear line?
Unlike linear models, the sigmoid creates "floors" and "ceilings" for your allocation. It transitions smoothly, no sudden jumps, and you never exceed your defined min/max bounds.
Understand the K Values (Steepness)
The K parameter controls how quickly your allocation shifts from defensive to aggressive.
Lower K (for example K=5) will give you a gradual transition, but at 0% drawdown you are already at a 46% allocation.
A higher like (like K=40) will give you a sharp transition, but at 0% drawdown you are close to the minimum allocation. On the other hand, a higher K will give close to 100% allocation when the markets are at new lows.
The example below illustrates this well, then the S&P 500 reached new lows in October 2022:
Different K values will affect the sigmoid curves (and you allocations differently). The chart below illustrates well how K affects the sigmoid curves:
Read the Dashboard
The main dashboard shows:
Current drawdown from ATH
Allocation % for each K value
Suggested action (Defensive → MAX LONG)
Use the Reference Chart
The static reference panel shows what your allocation would be at various drawdown levels (0%, 10%, 20%, 30%, 40%, 50%), helping you plan ahead.
Identify Zones
The color-coded chart background shows:
- 🟢 Green Zone: Aggressive positioning - "Buy the Dip"
- 🟡 Yellow Zone: Transition zone - Scaling in/out
- 🔴 Red Zone: Defensive positioning - Protect ya gains
Use Cases
Use case 1: Leveraged ETF Portfolio Management (this is my main use case)
When holding leveraged ETFs like TQQQ or UPRO, volatility makes it important to:
- Reduce exposure near all-time highs (when crashes hurt most)
- Increase exposure during drawdowns (when recovery potential is highest)
Example Strategy:
- At ATH: Hold 30% TQQQ, 70% cash/bonds or other uncorrelated assets
- At 25% drawdown: Hold 65% TQQQ, 35% cash/bonds
- At 40%+ drawdown: Hold 100% TQQQ
Use case 2: Diversified Leveraged Portfolio
Compare different K values for different assets:
- Use K = 10 for broad market (QQQ/SPY exposure via TQQQ/UPRO)
- Use K = 25 for sector bets (TECL, SOXL, TMF) that you want to scale into faster
Use case 3: Systematic Rebalancing Signals
Use the alerts to trigger rebalancing:
- Alert when K3 allocation crosses above 90% (time to add)
- Alert when drawdown exceeds your D_mid threshold
- Alert when market returns to within 5% of ATH
Tips for Best Results
It works best in longer time frames
Adjust the ATR lookback window
Match your risk tolerance level
I use this for index investing and stocks and haven't tried with crypto
Thanks for using the indicator and let me know if you have any feedback :)
- Henrique Centieiro
Pittillo A+ Scanner (Move + Volume + VWAP/EMA + No-Chop)Pittillo A+ Scanner — Move + Volume + VWAP/EMA + No-Chop
Pittillo A+ Scanner is a high-selectivity intraday scanner designed to surface A+ trade conditions only — filtering out chop, low-volume noise, and random price action that destroys consistency.
This indicator is built for traders who value patience, structure, and confirmation, not constant signals.
🔍 What It Looks For
An A+ signal will only appear when ALL of the following are present:
• Market Movement
• ATR expansion vs baseline (no dead tape)
• Real Participation
• Relative volume above average
• Trend Alignment
• 8/20 EMA structure
• VWAP confirmation (above for longs, below for shorts)
• Strength Confirmation
• ADX filter to avoid range-bound chop
• Price Structure
• Clean candles (filters dojis / overlapping garbage)
• Valid Trigger
• Breakout continuation or
• VWAP rejection with strong candle close
• Session Awareness
• Optional time-window filter to avoid low-quality hours
If conditions are not objectively favorable, the scanner stays quiet by design.
⸻
🎯 A+ Scoring System
Each setup is graded with an internal A+ score (0–100) based on:
• ATR expansion
• Relative volume
• ADX strength
• Bollinger Band expansion
• Candle quality
• Trend alignment
Signals only trigger when the score meets or exceeds the user-defined A+ threshold, ensuring quality over quantity.
⸻
🟢 Visual Signals
• A+ LONG → Triangle up + green background
• A+ SHORT → Triangle down + red background
• EMAs (8/20) and VWAP plotted for full context
No signal = no trade.
⸻
🧠 Philosophy
This indicator is intentionally conservative.
It is designed to:
• Protect capital during chop
• Reduce overtrading
• Encourage discipline
If you’re looking for constant alerts, this is not for you.
If you’re looking for clean, repeatable opportunities, this is exactly that.
⸻
📌 Best Use Cases
• Index futures (ES, NQ, MNQ, MES)
• SPX / SPY / QQQ intraday trading
• Traders who already respect VWAP + EMA structure
Works best on 2m–15m timeframes during active market hours.
⸻
⚠️ Disclaimer
This indicator does not predict markets or guarantee profits.
It is a filtering and confirmation tool, not a substitute for risk management or a trading plan.
Leswin Ribbon + Levels + Hybrid (Stocks/Crypto) v1Leswin Ribbon Signals
A trend-based momentum indicator built for day traders and scalpers. Uses an EMA ribbon, higher-timeframe trend filtering, and volatility conditions to highlight high-probability BUY and SELL zones while avoiding choppy markets.
Optimized for 5m & 15m entries, especially for SPY, QQQ, DIA, IWM, and large-cap stocks, but works on all markets including crypto and forex.
Non-repainting. Best used as a confirmation tool alongside your own levels and risk management.
Ripstercombo📊 Ripster + RVOL + Saty ATR — Options Trading Dashboard
This script is an all-in-one market context dashboard for options traders.
It combines trend direction, volatility, participation, and remaining range into a simple visual layout so you can decide when to trade, what direction to trade, and when to stop trading.
This indicator is designed for:
0DTE options
Short-dated directional options
Index ETFs (SPY / QQQ / IWM)
Momentum and trend-following traders
🔝 Saty ATR Levels (Top Table)
The Saty ATR table shows how much of today’s move is already used and where key volatility levels sit.
It displays:
Day Range vs ATR %
→ how much of today’s normal range is already completed
Calls / Puts trigger levels
±1 ATR targets
Example:
Day Range ($4.68) is 54.5% of ATR ($8.59)
Calls > $618.31 | +1 ATR $624.87
Puts < $614.25 | -1 ATR $607.69
How to read it:
< 35% ATR → Market hasn’t moved yet (wait)
35–80% ATR → Best trading window
> 85–90% ATR → Late day (avoid new premium buys)
📈 LT (Long-Term) Trend Table
Shows multi-timeframe Ripster trend bias:
1H
Daily (two EMA structures)
Weekly (two EMA structures)
Each column shows Bullish / Bearish.
Rule:
Trade in the direction where most LT boxes agree.
⚡ ST (Short-Term) Timing Table
Shows:
Price Action
Ripster Clouds 34/50
Ripster Clouds 5/12
Used for entry timing, not bias.
Rule:
Best entries happen when ST agrees with LT.
If ST disagrees → wait (avoid chop and theta decay).
🔊 RVOL Table (Participation)
Shows:
Current candle volume
Current RVOL %
Previous RVOL %
Color-coded:
🟥 ≥ 200% → Strong momentum
🟧 ≥ 100% → Active
🟨 < 100% → Low participation
Rule:
RVOL confirms whether moves have real participation.
📏 ATR Levels on Chart
Plots:
Previous close
Trigger levels
±1 ATR
±2 ATR (optional)
These are reaction zones, not predictions.
Used for:
Entries on pullbacks
Profit targets
Risk management
🎛 Built-In Options Presets
Options Scalper
Clean layout
Focus on:
DTR vs ATR %
RVOL
LT + ST alignment
Best for intraday momentum and fast trades
Options Swing
Full context
ATR extensions enabled
Best for 2–10 DTE directional trades
0DTE Only
Ultra-focused
Designed to avoid late-day premium decay
Ideal for same-day options
🧠 Options Cheat Sheet (Quick Rules)
DTR vs ATR %
< 35% → Wait
35–80% → Tradeable
85% → Late day (manage exits)
RVOL
< 100% → Fakeout risk
≥ 150% → Momentum conditions
LT Table
Mostly Bullish → Calls only
Mostly Bearish → Puts only
Mixed → Chop (avoid buying premium)
ST Table
Aligns with LT → Entry window
Disagrees → Wait
ATR Levels
Don’t chase mid-range
Enter near trigger / ATR zones
Take profits into next ATR band
🎯 Core Principle
Trade only when Direction (LT), Timing (ST), Volatility (ATR), and Participation (RVOL) agree.
This script does not predict price.
It helps you avoid bad trades, reduce over-trading, and press high-quality setups.
⚠️ Disclaimer
This indicator is provided for educational purposes only.
It is not financial advice. Options trading involves significant risk.
You are fully responsible for your own trading decisions and risk management.
Ripstercombo🔹 ABOUT THIS INDICATOR
Ripster + RVOL + Saty ATR – Options Dashboard is an all-in-one market context tool designed for options traders.
It combines:
Trend direction (multi-timeframe bias),
Entry timing (short-term structure),
Participation (relative volume),
Volatility context (ATR levels),
and DTR vs ATR % to show how much of the day’s expected move is already used.
The goal is not prediction, but decision quality — helping traders avoid low-probability conditions and press trades only when structure, volatility, and participation align.
This indicator works especially well for:
0DTE options
Short-dated directional trades
Index ETFs (SPY / QQQ / IWM)
Futures-style momentum setups
🔹 HOW THIS TOOL IS MEANT TO BE USED
This script answers four questions every options trader should ask:
Is there enough range left today to trade?
→ DTR vs ATR %
Is there real participation behind the move?
→ RVOL table
What direction has the higher probability?
→ LT (Long-Term) table
Is now a good time to enter?
→ ST (Short-Term) table + ATR levels
Trades are highest quality when all four agree.
🔹 QUICK START (OPTIONS)
0DTE / intraday scalping
→ Select preset “0DTE Only”
Directional options (2–10 DTE)
→ Select preset “Options Swing”
Use Master Labels Toggle to instantly declutter the chart.
🔹 IMPORTANT NOTES
ATR levels are reaction zones, not predictions.
RVOL confirms participation — it does not predict direction.
DTR vs ATR % helps prevent late entries and theta decay traps.
This tool is designed to filter bad trades, not force trades.
⚠️ DISCLAIMER
This indicator is provided for educational and informational purposes only.
It does not provide financial, investment, or trading advice.
The author makes no guarantees regarding profitability or accuracy.
All trading involves risk, especially options trading, which can result in rapid and substantial losses.
You are solely responsible for your own trading decisions and risk management.
By using this indicator, you acknowledge that:
You understand the risks involved,
You accept full responsibility for any trades taken,
Past performance does not guarantee future results.
🧠 FINAL THOUGHT
Trade only when direction, timing, volatility, and participation agree.
Avoid trades when even one of them disagrees.
Weekly High/Low Day StatisticsThis indicator analyzes historical price data to determine which day of the week (Monday through Friday) most frequently hosts the weekly high and low prices. It provides overall counts, percentages, and the total number of weeks analyzed. Ideal for traders studying seasonal or day-of-week patterns in markets like futures (e.g., ES1!, NQ1!) or stocks (e.g., SPY).
Key Features:
Overall Statistics: Aggregates data across all available history, including the current partial week if applicable.
High/Low Tracking: Counts how many times each day was the weekly high or low, with percentages calculated over the total weeks.
Tie Handling: Uses the first occurrence in case of price ties (e.g., if multiple days hit the same high, the earliest day is credited).
Futures-Friendly: Utilizes time_tradingday for accurate day-of-week detection on continuous contracts like ES1!, accounting for session timings in UTC.
Table Display: Results are presented in a clean, semi-transparent table in the top-right corner, with columns for counts, percentages, and a total weeks summary.
Dynamic Updates: Processes all available historical bars on daily (1D) charts, supporting deep history (e.g., back to 2001 for ES1!). Note: On intraday timeframes, historical depth may be limited by TradingView's bar constraints.
How It Works:
The script iterates through daily bars, identifying the start of each new week via ta.change(time("W")). It tracks the highest and lowest prices within each week and assigns them to the corresponding trading day. At the end of each complete week, it tallies the results. The current incomplete week is included for real-time relevance.
Percentages are calculated as: (Count / Total Weeks) * 100, rounded to one decimal place.
Usage Tips:
Recommended Timeframe: Daily (1D) for maximum historical analysis. Works on intraday charts but with shallower data.
Symbols: Best for markets trading Monday-Friday, like indices, futures, or equities. Sunday/Saturday data is ignored as it's typically non-trading.
Customization: If ties should favor the last day instead, modify the comparison operators from >/< to >=/<= in the update logic.
Performance: Efficient for large datasets; no max_bars_back needed as it avoids deep historical references.
This tool can help uncover patterns, such as whether Fridays tend to be highs in bullish markets or Mondays lows during volatility. Use it alongside other indicators for comprehensive strategy building. Feedback welcome—feel free to suggest improvements!
Bar Count & EMABar Count & EMA Indicator
A clean and lightweight indicator designed for intraday price action traders.
Features:
1. Bar Count
Displays bar numbers only on 3-minute and 5-minute timeframes
Works during Regular Trading Hours (RTH) only
Shows bar 1 and multiples of 3 (3, 6, 9, 12, 15...)
Color-coded for key bars: Bar 18 & 48 (Red), Bar 6 (Light Green), Multiples of 12 (Sky Blue), Others (Gray)
2. EMA 20
Simple 20-period Exponential Moving Average
Customizable source, length, offset, and color
Why these specific timeframes?
5-Minute Chart (US Markets):
Bar 6, 12, 18, 24... represent 30-min, 1-hour, 1.5-hour intervals
Bar 18 and 48 often mark significant intraday turning points
Best for: ES, NQ, SPY, QQQ
3-Minute Chart (China A-Share Markets):
Bar 10, 20, 30... represent 30-min, 1-hour, 1.5-hour intervals
Designed for CSI 1000 Index Futures (IM) and other China futures
Helps track the 4-hour trading session rhythm (9:30-11:30, 13:00-15:00)
Why Bar Count Matters:
Tracking bar numbers helps traders identify market rhythm, timing cycles, and potential reversal zones throughout the trading session.
Dealer Control Index (DCI) Oscillator BreakoutsOverview
The Dealer Control Index (DCI) is a structural oscillator designed to measure market stability based on the relationship between price and key institutional "hedging levels" (Gamma Flip). Unlike momentum-based oscillators like RSI, the DCI focuses on Dealer Gamma Exposure—the point where market makers shift from supporting price (Long Gamma) to accelerating moves (Short Gamma).
How to Use
This indicator requires a Manual Anchor (Flip Level) to function with high precision. Users should identify the current institutional Gamma Flip level for their specific ticker and input it into the script settings.
Positive Score (+25 to +100): Price is above the Flip Level. Dealers are in a "Long Gamma" position, typically resulting in lower volatility and "dip-buying" behavior.
Neutral Zone (-75 to +25): The "Transition Zone." Price is fluctuating near the hedge-rebalancing point. Expect "choppy" price action.
The Gamma Trap (-75 to -100): Price has snapped significantly below the Flip Level. Dealers are now "Short Gamma" and may be forced to sell into further price drops to hedge their books, potentially creating a "Waterfall" effect.
Key Features
Volatility Normalized: Uses ATR-based normalization to ensure the -100 to +100 scale is consistent across different asset classes (e.g., comparing SPY to NVDA).
Sigmoid Smoothing: Employs a sigmoid curve to filter out "market noise" and provide a clear visual of when the regime shift is actually occurring.
Visual Regimes: Color-coded zones (Green/Red) provide instant feedback on the current dealer hedging bias.
Key Zone$ - Support and Resistance0DTE Bounce Zones (6M) — Support & Resistance with VWAP, Volume, and Risk Management
This indicator is built for intraday and 0DTE options trading, focused on high-quality bounce and rejection setups at historically proven support and resistance zones.
It automatically identifies key zones from six months of historical price action and waits for real-time confirmation before signaling CALL or PUT opportunities. The goal is to reduce noise, avoid weak bounces, and provide clear, rules-based trade structure.
====================================================================
CORE FEATURES
====================================================================
Historical Support & Resistance Zones (6 Months)
Zones are built using 15-minute pivot highs and lows.
A zone must be tested at least 3 times to be considered valid.
Nearby zones are merged automatically to reduce clutter.
Zones extend forward in time and update dynamically.
Support zones are shown in green, resistance zones in red.
These are higher-quality structural levels, not same-day levels.
====================================================================
0DTE-Focused Entry Logic
Signals only trigger when price interacts with a confirmed zone and shows a strong rejection candle.
Signals are limited to high-probability trading windows only.
Market Open: 9:30–10:45 ET
Market Close: 3:00–4:00 ET
This avoids midday chop and focuses on periods with real momentum.
====================================================================
VWAP Confirmation (Strict)
CALL setups require a VWAP reclaim.
PUT setups require a VWAP loss.
This aligns trades with institutional order flow instead of counter-trend noise.
====================================================================
MACD Momentum Filter
MACD histogram behavior is used to confirm momentum direction and avoid taking bounces against the prevailing move.
====================================================================
ATR Candle Strength Filter
The signal candle must be large enough relative to ATR.
This filters out weak or indecisive candles that often fail with 0DTE.
====================================================================
Advanced Volume Confirmation (Relative Volume)
Relative Volume (RVOL) is used instead of raw volume.
Different RVOL thresholds are applied for CALLS versus PUTS.
Higher RVOL is required for PUTS due to downside urgency.
Lower RVOL is allowed for CALLS due to grind-up behavior.
Separate RVOL thresholds are used for the market open and market close.
This ensures signals only occur when real participation is present.
====================================================================
Built-In Risk Management (2:1 Reward/Risk)
Every signal automatically calculates an entry, stop loss, and target.
Stop loss is based on the zone edge with an ATR buffer.
Targets default to a 2:1 reward-to-risk ratio.
Entry, stop, and target levels are drawn directly on the chart and included in alerts.
====================================================================
Smart Alerts (CALLS & PUTS)
Alerts trigger only when all conditions are met.
Alerts include trade direction, entry price, stop price, target price, and RVOL information.
Alerts are designed for 5-minute confirmation trading.
To use alerts, select “Any alert() function call” when creating the alert.
====================================================================
INTENDED USE
====================================================================
0DTE options trading.
5-minute chart confirmation.
Index ETFs and liquid equities such as SPY, QQQ, IWM, and SPX.
Traders who want aggressive entries with confirmation.
Traders who value structure, volume, and risk control.
====================================================================
NOTES
====================================================================
This is not a prediction tool.
Signals require discipline and confirmation.
Best results come from trading only the highest-quality setups.
Reversal RadarReversal Radar
Unified exhaustion detection across 5 distinct reversal patterns — see confluence at a glance.
What It Does
Reversal Radar consolidates 5 independent reversal detection algorithms into a single indicator with a stacked diamond visualization. When any detector fires, you see a vertical stack of diamonds — colored diamonds show which specific patterns triggered, ghost (white) diamonds show which didn't.
More colored diamonds = stronger confluence = higher conviction setup.
The 5 Detectors
Diamond Detector What It Finds
🔴 Red Liquidity Trap Pivot reversal with wick rejection, liquidity sweep, and momentum trap (fading trapped traders)
🟠 Orange Structural Divergence Pivot at new extreme with RSI divergence against major structure
🔵 Light Blue Band Rejection Full candle body outside Bollinger Bands with rejection wick
🟢 Green Panic Snap 5-bar waterfall (consecutive lower lows) snapping back during VIX spike — Long only
🟣 Purple Capitulation Engulf Bullish engulfing at lower BB with steep band decline during elevated VIX — Long only
How To Read It
Long Signals (below bar): 5-diamond stack
• Bottom to top: Liquidity Trap → Structural Divergence → Band Rejection → Panic Snap → Capitulation Engulf
Short Signals (above bar): 3-diamond stack
• Bottom to top: Band Rejection → Structural Divergence → Liquidity Trap
Ghost diamonds (faded white) = that detector did NOT fire Colored diamonds = that detector fired
Colors are consistent between long and short — same detector = same color regardless of direction.
Key Features
• Confluence visualization — instantly see how many independent patterns agree
• No parameter tweaking — all detector settings are pre-tuned and hardcoded
• VIX-aware — the two "capitulation" detectors (Panic Snap, Capitulation Engulf) only fire during elevated VIX conditions
• Session filtering — built-in BOD/EOD blocking to avoid noisy open/close periods
• MTF Bias Table — optional multi-timeframe trend bias display (5m/15m/1H/4H/D)
• Detector Legend — on-chart reference showing what each color means (adjustable size and position)
• Bollinger Bands — optional BB overlay display
Settings
Module Toggles — Enable/disable each of the 5 detectors independently:
• Enable Liquidity Trap
• Enable Structural Divergence
• Enable Band Rejection
• Enable Panic Snap (Long Only)
• Enable Capitulation Engulf (Long Only)
Session Blocking — Define trading session and minutes to block at open/close
Display — Toggle Bollinger Bands, MTF Bias Table position
Legend — Toggle detector legend, adjust position and text size (tiny/small/normal)
Best Used For
• Identifying high-probability reversal zones where multiple exhaustion signatures align
• Filtering out weak signals (single detector) vs strong setups (2-3+ detectors)
• Spotting capitulation bottoms during VIX spikes (Panic Snap + Capitulation Engulf)
• Mean reversion plays at Bollinger Band extremes
Notes
• This indicator is designed for intraday reversal trading on liquid instruments (SPY, QQQ, ES, NQ, etc.)
• The VIX-gated detectors (Panic Snap, Capitulation Engulf) are long-only by design — they're specifically tuned for capitulation bottoms
• Works best on 3m-15m timeframes
• All detector parameters are locked to tested values — this is intentional to keep the indicator simple and consistent
"When multiple exhaustion patterns converge, the market is telling you something."
NY Session 15 min ORB + Fib RetracementThis indicator builds a New York session Opening Range (ORB) and plots Fibonacci retracement levels based on that range.
What it does
Defines the Opening Range using the NY cash open (default: 9:30–9:45 ET)
Tracks the ORB high and low during that window
Locks the ORB once the window ends (recommended)
Draws Fibonacci retracement levels from the ORB range
Optionally fills the space between fib levels
Displays price tags for ORB levels and fib levels on the right side
Sessions
ORB window is configurable (default: 9:30–9:45 ET)
Fib levels are only shown during the selected plot session
(default: 9:30–16:00 ET)
Nothing plots outside the selected fib session
Prevents lines from connecting across trading days
Fib behavior
Fibs are calculated from the ORB high and low
Direction can be:
High → Low (default)
Low → High
Common fib ratios are included by default:
0.236
0.382
0.500
0.618
0.786
All ratios are user-editable
Visuals
ORB High = green line
ORB Low = red line
Fib levels = gray lines
Optional shaded fill between fib levels
Optional right-side labels showing:
ORB High / Low price
Fib ratio and exact price
Recommended use
Designed for intraday trading
Best used on NY session instruments (ES, NQ, SPY, QQQ, etc.)
Works well on lower timeframes (1–15 min)
Locking the ORB at session end is recommended for consistency
Notes
Indicator does not generate trade signals
Levels are intended as reference only
Always use proper risk management
TQ Gold Trend (Macro Regime)This indicator answers one question only:
Is gold in a monetary uptrend right now?
It does not:
Forecast prices
Time entries
Use momentum or volatility
It simply classifies the macro trend regime of gold.
3️⃣ Logic (Simple, Explicit)
Timeframe: Weekly
Indicator: 30-week Simple Moving Average
Interpretation:
Bullish: Price above a rising 30W SMA
Bearish: Price below a falling 30W SMA
Neutral: Everything else (transition / range)
This is classic macro trend / stage analysis, adapted for gold as a monetary asset.
4️⃣ How to Use It (User Instructions)
How to read the chart
>If Gold is Bull, precious metals matter.
>If Gold is Bear, ignore silver and miners.
>If Gold is Neutral, wait — no edge.
Best use
Check once per week
Use as the first filter before looking at:
Gold/DXY
Gold/SPY
Silver/Gold
Recommended timeframe
Weekly only (designed for macro regimes, not trading)
Kitty Strength vs Ticker w/ Custom MA [theUltimator5]This indicator is one of the Roaring Kitty indicators shown on his StockCharts page, as the GME: SP:SPX chart. This indicator calculates and displays the relative strength of the current ticker against a comparison ticker of your choice (SPX by default). It helps you identify outperformance and underperformance trends by visualizing the price ratio between two assets, as well as an added moving average of your choice (100 SMA by default)
Key Features:
Customizable comparison ticker (default: SPX) - compare against any index or ticker (SPY, QQQ, DIA, etc.)
Multiple moving average types: SMA, EMA, WMA, HMA, VWMA, and RMA
Adjustable moving average length for trend identification
Clean visualization in a separate pane below the main chart
How to Use:
The blue line represents the current relative strength ratio (Current Ticker / Comparison Ticker). When the line is rising, the current ticker is outperforming the comparison ticker. When falling, it's underperforming.
The silver line is the moving average of the relative strength, which helps smooth out noise and identify longer-term trends. Crossovers between the relative strength and its moving average can signal changes in relative performance.
I added additional user configuration so you can customize it to your preferred style since SPX and SMA 100 are not suitable for all tickers and timeframes.
Entry ChecklistEntry Checklist
A comprehensive multi-factor analysis tool for stock and crypto entry decisions, combining fundamental, technical, and market sentiment indicators in a dynamic table display.
🎯 Overview
This advanced Pine Script indicator provides traders and investors with a systematic checklist for evaluating potential entry points. It consolidates critical market data into a clean, color-coded table that adapts based on asset type and data availability.
📊 Key Features
Market Context Analysis:
Seasonality: Historical S&P 500 monthly return patterns with strength/weakness labels
Market Breadth (S5TH): Percentage of S&P 500 stocks above their 50-day moving average
Fear/Greed Index (VIX): Market sentiment indicator with threshold-based color coding
Fundamental Analysis (Stocks Only):
Earnings Dates: Upcoming earnings announcement tracking with 14-day warning
Growth Metrics: Year-over-year sales and EPS growth rates
Acceleration: Quarter-over-quarter growth acceleration analysis
Sector & Industry Analysis:
Sector Relative Strength: 20-day performance vs SPY benchmark
Industry Relative Strength: Granular industry ETF performance comparison
120+ Industry ETF Mappings: Comprehensive sector and industry classifications
Technical Analysis:
IBD-Style RS Rating: Multi-timeframe relative strength scoring (1-99 scale)
RS vs SPX: Stock performance relative to S&P 500
RS vs Sector: Performance relative to sector ETF
RS vs Industry: Performance relative to industry ETF
🎨 Visual Design
Dynamic Table: Bottom-right overlay with professional dark theme
Color-Coded Signals: Green (bullish), red (bearish), neutral (white)
ATH Dip Levels - Buy on Dips
This indicator is a "Buy the Dip" guide designed for assets in long-term uptrends, such as Nasdaq (QQQ) or S&P 500 (SPY). It uses a mathematical discipline to identify accumulation zones based on the rolling 220-bar All-Time High (ATH).
Key Features:
Dynamic Levels: Automatically calculates entry points at 3%, 5%, 10%, 15%, 25%, 35%, and 50% retracements from the recent ATH.
Smart Filter: Each level is triggered only once per ATH cycle. It prevents over-trading in sideways markets; levels only reset when a brand-new high is formed.
Clean Visuals: Features precise "BUY" labels at exact price points and a handy status dashboard in the top-right corner.
Unified Alerts: Simplify your workflow by setting a single alert for all 7 dip levels.






















