Custom Period High LowSummary
I'm moving over from TradeStation and default Pre-Market Session there is 0800-0930. Default PMS on TradingView is 0400-0930. I find that the 0800-0930 High and Low are more accurate levels. This script addresses exactly that - it allows you to grab High and Low of any custom time slot.
This script started as Custom Pre-Market H/L, that's why the shading. Then I realized it can be used for any custom time period, so I renamed it to PERIOD H/L.
Limitations
Different tickers are provided by different exchanges, in different time zones. The end result is that the SAME session time (0800-0930) may shift for different tickers. Examples:
- SPY : 0800-0930 // no shift: NYSE, in NYC
- ES1!: 0900-1030 // shifted 1 hr ahead: CME, in Chicago
- NQ1!: 0900-1030 // shifted 1 hr ahead: CME, in Chicago
To see for yourself, set Time Zone config parameter to empty string for non-NYC tickers like ES1! or NQ1 and watch times for shaded and non-shaded areas.
Why TV chooses to go by the ticker's TZ, and not the TZ that's configured in the lower right corner of my TV screen - I have no idea. But asking for user's TZ is how you fix it.
If you know how I can get that value so I don't have to ask the user - let me know. I'm new to TV.
Hacks
You can use it more than once for, say, Opening Range Breakout. Configure your custom PMS for 0930-0945, change lines, remove area fill - and ta-da - you have High and Low for first 15 min! See release chart for the example.
ค้นหาในสคริปต์สำหรับ "spy"
Swing Dashboard - Pro Trader Metrics with MTF & Enhanced VolumeDESCRIPTION:
A comprehensive real-time dashboard designed for swing traders and active investors trading US equities. Displays all critical metrics in one customizable panel overlay - no need to clutter your chart with multiple indicators.
KEY FEATURES:
📊 Relative Strength Analysis:
Stock vs Market (SPY/QQQ/IWM/DIA)
Stock vs Sector (automatic sector ETF detection)
Sector vs Market comparison
Customizable lookback period (5-60 days)
📈 Price & Range Metrics:
Daily range, change, and gap percentages
Distance from SMA20, SMA50, VWAP
52-week position percentage
ATR% and ADR% for volatility assessment
Range/ADR ratio for breakout detection
💪 Advanced Volume Analysis:
RVOL (full day volume vs 20-day average)
Volume Strength (bar-by-bar analysis)
Volume Trend (5-day vs 20-day momentum)
Customizable RVOL alert thresholds
Non-repainting volume calculations
⚙️ Multi-Timeframe (MTF) Mode:
View daily charts with 5-min or 15-min metric updates
Perfect for monitoring positions without switching timeframes
All calculations remain accurate across timeframes
🎨 Fully Customizable:
Choose which metrics to display
9 position options for the dashboard
Adjustable text size and colors
Toggle individual metrics on/off
Sector-specific ETF mapping for accurate RS calculations
TECHNICAL SPECIFICATIONS:
✅ Non-repainting - all calculations use confirmed bar data
✅ No lookahead bias or future data
✅ Optimized for US stocks with proper sector mapping
✅ Works on any timeframe (best on 5m-Daily)
✅ Pine Script v6 with best practices
✅ Handles edge cases and missing data gracefully
IDEAL FOR:
Swing traders monitoring multiple positions
Day traders needing quick metric overview
Investors tracking relative strength and momentum
Anyone who wants institutional-grade metrics in one place
SECTOR ETF MAPPING:
Automatically maps to correct sector ETFs: XLK, XLF, XLV, XLY, XLP, XLE, XLB, XLI, XLRE, XLC, XLU
HOW TO USE:
Green = Positive/Strong | Red = Negative/Weak | White = Neutral
RS > 0 = Outperforming benchmark/sector
RVOL > 1.5x = High volume day
VWAP% negative = Price below VWAP (mean reversion opportunity)
R/ADR > 100% = Extended range (potential exhaustion)
Perfect for traders who need professional-grade analysis without chart clutter.
TAGS:
dashboard, swing, relativestrengrh, sectoranalysis, volume, rvol, multitimeframe, mtf, tradingdashboard, metrics, daytrading, swingtrading, momentum, vwap, atr, volatility, volumeanalysis
Rocket Scan – Midday Movers (No Pullback)This indicator is designed to spot intraday breakout movers that often appear after the market open — the ones that rip out of nowhere and cause FOMO if you’re late.
🔑 Core Logic
• Momentum Burst: Detects sudden price pops (ROC) with confirming relative volume.
• Squeeze → Breakout: Finds low-volatility compressions (tight Bollinger bandwidth) and flags the first breakout move.
• VWAP Reclaims: Highlights strong reversals when price reclaims VWAP on volume.
• Relative Volume (RVOL): Filters for unusual activity vs. recent averages.
• Gap Filter: Skips large overnight gappers, focuses on fresh intraday movers.
• Relative Strength: Optional filter requiring the symbol to outperform SPY (and sector ETF if chosen).
• Session Window: Default 10:30–15:30 ET to ignore noisy open action and catch true midday moves.
🎯 Use Case
• Built for traders who want early alerts on midday runners without waiting for pullbacks.
• Helps identify potential entry points before FOMO kicks in.
• Works best on liquid tickers (stocks, ETFs, crypto) with reliable intraday volume.
📊 Visuals
• Plots fast EMA, slow EMA, and VWAP for trend context.
• Paints green ▲ for long signals and red ▼ for short signals on the chart.
• Info label shows RVOL, ROC, RS filter status, and gap conditions.
🚨 Alerts
Two alert conditions included:
• Rocket: Midday LONG → Fires when bullish conditions align.
• Rocket: Midday SHORT → Fires when bearish conditions align.
⸻
⚠️ Disclaimer:
This tool is for educational and research purposes only. It is not financial advice. Trading involves risk; always do your own research or consult a licensed professional.
BOCS Channel Scalper Indicator - Mean Reversion Alert System# BOCS Channel Scalper Indicator - Mean Reversion Alert System
## WHAT THIS INDICATOR DOES:
This is a mean reversion trading indicator that identifies consolidation channels through volatility analysis and generates alert signals when price enters entry zones near channel boundaries. **This indicator version is designed for manual trading with comprehensive alert functionality.** Unlike automated strategies, this tool sends notifications (via popup, email, SMS, or webhook) when trading opportunities occur, allowing you to manually review and execute trades. The system assumes price will revert to the channel mean, identifying scalp opportunities as price reaches extremes and preparing to bounce back toward center.
## INDICATOR VS STRATEGY - KEY DISTINCTION:
**This is an INDICATOR with alerts, not an automated strategy.** It does not execute trades automatically. Instead, it:
- Displays visual signals on your chart when entry conditions are met
- Sends customizable alerts to your device/email when opportunities arise
- Shows TP/SL levels for reference but does not place orders
- Requires you to manually enter and exit positions based on signals
- Works with all TradingView subscription levels (alerts included on all plans)
**For automated trading with backtesting**, use the strategy version. For manual control with notifications, use this indicator version.
## ALERT CAPABILITIES:
This indicator includes four distinct alert conditions that can be configured independently:
**1. New Channel Formation Alert**
- Triggers when a fresh BOCS channel is identified
- Message: "New BOCS channel formed - potential scalp setup ready"
- Use this to prepare for upcoming trading opportunities
**2. Long Scalp Entry Alert**
- Fires when price touches the long entry zone
- Message includes current price, calculated TP, and SL levels
- Notification example: "LONG scalp signal at 24731.75 | TP: 24743.2 | SL: 24716.5"
**3. Short Scalp Entry Alert**
- Fires when price touches the short entry zone
- Message includes current price, calculated TP, and SL levels
- Notification example: "SHORT scalp signal at 24747.50 | TP: 24735.0 | SL: 24762.75"
**4. Any Entry Signal Alert**
- Combined alert for both long and short entries
- Use this if you want a single alert stream for all opportunities
- Message: "BOCS Scalp Entry: at "
**Setting Up Alerts:**
1. Add indicator to chart and configure settings
2. Click the Alert (⏰) button in TradingView toolbar
3. Select "BOCS Channel Scalper" from condition dropdown
4. Choose desired alert type (Long, Short, Any, or Channel Formation)
5. Set "Once Per Bar Close" to avoid false signals during bar formation
6. Configure delivery method (popup, email, webhook for automation platforms)
7. Save alert - it will fire automatically when conditions are met
**Alert Message Placeholders:**
Alerts use TradingView's dynamic placeholder system:
- {{ticker}} = Symbol name (e.g., NQ1!)
- {{close}} = Current price at signal
- {{plot_1}} = Calculated take profit level
- {{plot_2}} = Calculated stop loss level
These placeholders populate automatically, creating detailed notification messages without manual configuration.
## KEY DIFFERENCE FROM ORIGINAL BOCS:
**This indicator is designed for traders seeking higher trade frequency.** The original BOCS indicator trades breakouts OUTSIDE channels, waiting for price to escape consolidation before entering. This scalper version trades mean reversion INSIDE channels, entering when price reaches channel extremes and betting on a bounce back to center. The result is significantly more trading opportunities:
- **Original BOCS**: 1-3 signals per channel (only on breakout)
- **Scalper Indicator**: 5-15+ signals per channel (every touch of entry zones)
- **Trade Style**: Mean reversion vs trend following
- **Hold Time**: Seconds to minutes vs minutes to hours
- **Best Markets**: Ranging/choppy conditions vs trending breakouts
This makes the indicator ideal for active day traders who want continuous alert opportunities within consolidation zones rather than waiting for breakout confirmation. However, increased signal frequency also means higher potential commission costs and requires disciplined trade selection when acting on alerts.
## TECHNICAL METHODOLOGY:
### Price Normalization Process:
The indicator normalizes price data to create consistent volatility measurements across different instruments and price levels. It calculates the highest high and lowest low over a user-defined lookback period (default 100 bars). Current close price is normalized using: (close - lowest_low) / (highest_high - lowest_low), producing values between 0 and 1 for standardized volatility analysis.
### Volatility Detection:
A 14-period standard deviation is applied to the normalized price series to measure price deviation from the mean. Higher standard deviation values indicate volatility expansion; lower values indicate consolidation. The indicator uses ta.highestbars() and ta.lowestbars() to identify when volatility peaks and troughs occur over the detection period (default 14 bars).
### Channel Formation Logic:
When volatility crosses from a high level to a low level (ta.crossover(upper, lower)), a consolidation phase begins. The indicator tracks the highest and lowest prices during this period, which become the channel boundaries. Minimum duration of 10+ bars is required to filter out brief volatility spikes. Channels are rendered as box objects with defined upper and lower boundaries, with colored zones indicating entry areas.
### Entry Signal Generation:
The indicator uses immediate touch-based entry logic. Entry zones are defined as a percentage from channel edges (default 20%):
- **Long Entry Zone**: Bottom 20% of channel (bottomBound + channelRange × 0.2)
- **Short Entry Zone**: Top 20% of channel (topBound - channelRange × 0.2)
Long signals trigger when candle low touches or enters the long entry zone. Short signals trigger when candle high touches or enters the short entry zone. Visual markers (arrows and labels) appear on chart, and configured alerts fire immediately.
### Cooldown Filter:
An optional cooldown period (measured in bars) prevents alert spam by enforcing minimum spacing between consecutive signals. If cooldown is set to 3 bars, no new long alert will fire until 3 bars after the previous long signal. Long and short cooldowns are tracked independently, allowing both directions to signal within the same period.
### ATR Volatility Filter:
The indicator includes a multi-timeframe ATR filter to avoid alerts during low-volatility conditions. Using request.security(), it fetches ATR values from a specified timeframe (e.g., 1-minute ATR while viewing 5-minute charts). The filter compares current ATR to a user-defined minimum threshold:
- If ATR ≥ threshold: Alerts enabled
- If ATR < threshold: No alerts fire
This prevents notifications during dead zones where mean reversion is unreliable due to insufficient price movement. The ATR status is displayed in the info table with visual confirmation (✓ or ✗).
### Take Profit Calculation:
Two TP methods are available:
**Fixed Points Mode**:
- Long TP = Entry + (TP_Ticks × syminfo.mintick)
- Short TP = Entry - (TP_Ticks × syminfo.mintick)
**Channel Percentage Mode**:
- Long TP = Entry + (ChannelRange × TP_Percent)
- Short TP = Entry - (ChannelRange × TP_Percent)
Default 50% targets the channel midline, a natural mean reversion target. These levels are displayed as visual lines with labels and included in alert messages for reference when manually placing orders.
### Stop Loss Placement:
Stop losses are calculated just outside the channel boundary by a user-defined tick offset:
- Long SL = ChannelBottom - (SL_Offset_Ticks × syminfo.mintick)
- Short SL = ChannelTop + (SL_Offset_Ticks × syminfo.mintick)
This logic assumes channel breaks invalidate the mean reversion thesis. SL levels are displayed on chart and included in alert notifications as suggested stop placement.
### Channel Breakout Management:
Channels are removed when price closes more than 10 ticks outside boundaries. This tolerance prevents premature channel deletion from minor breaks or wicks, allowing the mean reversion setup to persist through small boundary violations.
## INPUT PARAMETERS:
### Channel Settings:
- **Nested Channels**: Allow multiple overlapping channels vs single channel
- **Normalization Length**: Lookback for high/low calculation (1-500, default 100)
- **Box Detection Length**: Period for volatility detection (1-100, default 14)
### Scalping Settings:
- **Enable Long Scalps**: Toggle long alert generation on/off
- **Enable Short Scalps**: Toggle short alert generation on/off
- **Entry Zone % from Edge**: Size of entry zone (5-50%, default 20%)
- **SL Offset (Ticks)**: Distance beyond channel for stop (1+, default 5)
- **Cooldown Period (Bars)**: Minimum spacing between alerts (0 = no cooldown)
### ATR Filter:
- **Enable ATR Filter**: Toggle volatility filter on/off
- **ATR Timeframe**: Source timeframe for ATR (1, 5, 15, 60 min, etc.)
- **ATR Length**: Smoothing period (1-100, default 14)
- **Min ATR Value**: Threshold for alert enablement (0.1+, default 10.0)
### Take Profit Settings:
- **TP Method**: Choose Fixed Points or % of Channel
- **TP Fixed (Ticks)**: Static distance in ticks (1+, default 30)
- **TP % of Channel**: Dynamic target as channel percentage (10-100%, default 50%)
### Appearance:
- **Show Entry Zones**: Toggle zone labels on channels
- **Show Info Table**: Display real-time indicator status
- **Table Position**: Corner placement (Top Left/Right, Bottom Left/Right)
- **Long Color**: Customize long signal color (default: darker green for readability)
- **Short Color**: Customize short signal color (default: red)
- **TP/SL Colors**: Customize take profit and stop loss line colors
- **Line Length**: Visual length of TP/SL reference lines (5-200 bars)
## VISUAL INDICATORS:
- **Channel boxes** with semi-transparent fill showing consolidation zones
- **Colored entry zones** labeled "LONG ZONE ▲" and "SHORT ZONE ▼"
- **Entry signal arrows** below/above bars marking long/short alerts
- **TP/SL reference lines** with emoji labels (⊕ Entry, 🎯 TP, 🛑 SL)
- **Info table** showing channel status, last signal, entry/TP/SL prices, risk/reward ratio, and ATR filter status
- **Visual confirmation** when alerts fire via on-chart markers synchronized with notifications
## HOW TO USE:
### For 1-3 Minute Scalping with Alerts (NQ/ES):
- ATR Timeframe: "1" (1-minute)
- ATR Min Value: 10.0 (for NQ), adjust per instrument
- Entry Zone %: 20-25%
- TP Method: Fixed Points, 20-40 ticks
- SL Offset: 5-10 ticks
- Cooldown: 2-3 bars to reduce alert spam
- **Alert Setup**: Configure "Any Entry Signal" for combined long/short notifications
- **Execution**: When alert fires, verify chart visuals, then manually place limit order at entry zone with provided TP/SL levels
### For 5-15 Minute Day Trading with Alerts:
- ATR Timeframe: "5" or match chart
- ATR Min Value: Adjust to instrument (test 8-15 for NQ)
- Entry Zone %: 20-30%
- TP Method: % of Channel, 40-60%
- SL Offset: 5-10 ticks
- Cooldown: 3-5 bars
- **Alert Setup**: Configure separate "Long Scalp Entry" and "Short Scalp Entry" alerts if you trade directionally based on bias
- **Execution**: Review channel structure on alert, confirm ATR filter shows ✓, then enter manually
### For 30-60 Minute Swing Scalping with Alerts:
- ATR Timeframe: "15" or "30"
- ATR Min Value: Lower threshold for broader market
- Entry Zone %: 25-35%
- TP Method: % of Channel, 50-70%
- SL Offset: 10-15 ticks
- Cooldown: 5+ bars or disable
- **Alert Setup**: Use "New Channel Formation" to prepare for setups, then "Any Entry Signal" for execution alerts
- **Execution**: Larger timeframes allow more analysis time between alert and entry
### Webhook Integration for Semi-Automation:
- Configure alert webhook URL to connect with platforms like TradersPost, TradingView Paper Trading, or custom automation
- Alert message includes all necessary order parameters (direction, entry, TP, SL)
- Webhook receives structured data when signal fires
- External platform can auto-execute based on alert payload
- Still maintains manual oversight vs full strategy automation
## USAGE CONSIDERATIONS:
- **Manual Discipline Required**: Alerts provide opportunities but execution requires judgment. Not all alerts should be taken - consider market context, trend, and channel quality
- **Alert Timing**: Alerts fire on bar close by default. Ensure "Once Per Bar Close" is selected to avoid false signals during bar formation
- **Notification Delivery**: Mobile/email alerts may have 1-3 second delay. For immediate execution, use desktop popups or webhook automation
- **Cooldown Necessity**: Without cooldown, rapidly touching price action can generate excessive alerts. Start with 3-bar cooldown and adjust based on alert volume
- **ATR Filter Impact**: Enabling ATR filter dramatically reduces alert count but improves quality. Track filter status in info table to understand when you're receiving fewer alerts
- **Commission Awareness**: High alert frequency means high potential trade count. Calculate if your commission structure supports frequent scalping before acting on all alerts
## COMPATIBLE MARKETS:
Works on any instrument with price data including stock indices (NQ, ES, YM, RTY), individual stocks, forex pairs (EUR/USD, GBP/USD), cryptocurrency (BTC, ETH), and commodities. Volume-based features are not included in this indicator version. Multi-timeframe ATR requires higher-tier TradingView subscription for request.security() functionality on timeframes below chart timeframe.
## KNOWN LIMITATIONS:
- **Indicator does not execute trades** - alerts are informational only; you must manually place all orders
- **Alert delivery depends on TradingView infrastructure** - delays or failures possible during platform issues
- **No position tracking** - indicator doesn't know if you're in a trade; you must manage open positions independently
- **TP/SL levels are reference only** - you must manually set these on your broker platform; they are not live orders
- **Immediate touch entry can generate many alerts** in choppy zones without adequate cooldown
- **Channel deletion at 10-tick breaks** may be too aggressive or lenient depending on instrument tick size
- **ATR filter from lower timeframes** requires TradingView Premium/Pro+ for request.security()
- **Mean reversion logic fails** in strong breakout scenarios - alerts will fire but trades may hit stops
- **No partial closing capability** - full position management is manual; you determine scaling out
- **Alerts do not account for gaps** or overnight price changes; morning alerts may be stale
## RISK DISCLOSURE:
Trading involves substantial risk of loss. This indicator provides signals for educational and informational purposes only and does not constitute financial advice. Past performance does not guarantee future results. Mean reversion strategies can experience extended drawdowns during trending markets. Alerts are not guaranteed to be profitable and should be combined with your own analysis. Stop losses may not fill at intended levels during extreme volatility or gaps. Never trade with capital you cannot afford to lose. Consider consulting a licensed financial advisor before making trading decisions. Always verify alerts against current market conditions before executing trades manually.
## ACKNOWLEDGMENT & CREDITS:
This indicator is built upon the channel detection methodology created by **AlgoAlpha** in the "Smart Money Breakout Channels" indicator. Full credit and appreciation to AlgoAlpha for pioneering the normalized volatility approach to identifying consolidation patterns. The core channel formation logic using normalized price standard deviation is AlgoAlpha's original contribution to the TradingView community.
Enhancements to the original concept include: mean reversion entry logic (vs breakout), immediate touch-based alert generation, comprehensive alert condition system with customizable notifications, multi-timeframe ATR volatility filtering, cooldown period for alert management, dual TP methods (fixed points vs channel percentage), visual TP/SL reference lines, and real-time status monitoring table. This indicator version is specifically designed for manual traders who prefer alert-based decision making over automated execution.
BOCS Channel Scalper Strategy - Automated Mean Reversion System# BOCS Channel Scalper Strategy - Automated Mean Reversion System
## WHAT THIS STRATEGY DOES:
This is an automated mean reversion trading strategy that identifies consolidation channels through volatility analysis and executes scalp trades when price enters entry zones near channel boundaries. Unlike breakout strategies, this system assumes price will revert to the channel mean, taking profits as price bounces back from extremes. Position sizing is fully customizable with three methods: fixed contracts, percentage of equity, or fixed dollar amount. Stop losses are placed just outside channel boundaries with take profits calculated either as fixed points or as a percentage of channel range.
## KEY DIFFERENCE FROM ORIGINAL BOCS:
**This strategy is designed for traders seeking higher trade frequency.** The original BOCS indicator trades breakouts OUTSIDE channels, waiting for price to escape consolidation before entering. This scalper version trades mean reversion INSIDE channels, entering when price reaches channel extremes and betting on a bounce back to center. The result is significantly more trading opportunities:
- **Original BOCS**: 1-3 signals per channel (only on breakout)
- **Scalper Version**: 5-15+ signals per channel (every touch of entry zones)
- **Trade Style**: Mean reversion vs trend following
- **Hold Time**: Seconds to minutes vs minutes to hours
- **Best Markets**: Ranging/choppy conditions vs trending breakouts
This makes the scalper ideal for active day traders who want continuous opportunities within consolidation zones rather than waiting for breakout confirmation. However, increased trade frequency also means higher commission costs and requires tighter risk management.
## TECHNICAL METHODOLOGY:
### Price Normalization Process:
The strategy normalizes price data to create consistent volatility measurements across different instruments and price levels. It calculates the highest high and lowest low over a user-defined lookback period (default 100 bars). Current close price is normalized using: (close - lowest_low) / (highest_high - lowest_low), producing values between 0 and 1 for standardized volatility analysis.
### Volatility Detection:
A 14-period standard deviation is applied to the normalized price series to measure price deviation from the mean. Higher standard deviation values indicate volatility expansion; lower values indicate consolidation. The strategy uses ta.highestbars() and ta.lowestbars() to identify when volatility peaks and troughs occur over the detection period (default 14 bars).
### Channel Formation Logic:
When volatility crosses from a high level to a low level (ta.crossover(upper, lower)), a consolidation phase begins. The strategy tracks the highest and lowest prices during this period, which become the channel boundaries. Minimum duration of 10+ bars is required to filter out brief volatility spikes. Channels are rendered as box objects with defined upper and lower boundaries, with colored zones indicating entry areas.
### Entry Signal Generation:
The strategy uses immediate touch-based entry logic. Entry zones are defined as a percentage from channel edges (default 20%):
- **Long Entry Zone**: Bottom 20% of channel (bottomBound + channelRange × 0.2)
- **Short Entry Zone**: Top 20% of channel (topBound - channelRange × 0.2)
Long signals trigger when candle low touches or enters the long entry zone. Short signals trigger when candle high touches or enters the short entry zone. This captures mean reversion opportunities as price reaches channel extremes.
### Cooldown Filter:
An optional cooldown period (measured in bars) prevents signal spam by enforcing minimum spacing between consecutive signals. If cooldown is set to 3 bars, no new long signal will fire until 3 bars after the previous long signal. Long and short cooldowns are tracked independently, allowing both directions to signal within the same period.
### ATR Volatility Filter:
The strategy includes a multi-timeframe ATR filter to avoid trading during low-volatility conditions. Using request.security(), it fetches ATR values from a specified timeframe (e.g., 1-minute ATR while trading on 5-minute charts). The filter compares current ATR to a user-defined minimum threshold:
- If ATR ≥ threshold: Trading enabled
- If ATR < threshold: No signals fire
This prevents entries during dead zones where mean reversion is unreliable due to insufficient price movement.
### Take Profit Calculation:
Two TP methods are available:
**Fixed Points Mode**:
- Long TP = Entry + (TP_Ticks × syminfo.mintick)
- Short TP = Entry - (TP_Ticks × syminfo.mintick)
**Channel Percentage Mode**:
- Long TP = Entry + (ChannelRange × TP_Percent)
- Short TP = Entry - (ChannelRange × TP_Percent)
Default 50% targets the channel midline, a natural mean reversion target. Larger percentages aim for opposite channel edge.
### Stop Loss Placement:
Stop losses are placed just outside the channel boundary by a user-defined tick offset:
- Long SL = ChannelBottom - (SL_Offset_Ticks × syminfo.mintick)
- Short SL = ChannelTop + (SL_Offset_Ticks × syminfo.mintick)
This logic assumes channel breaks invalidate the mean reversion thesis. If price breaks through, the range is no longer valid and position exits.
### Trade Execution Logic:
When entry conditions are met (price in zone, cooldown satisfied, ATR filter passed, no existing position):
1. Calculate entry price at zone boundary
2. Calculate TP and SL based on selected method
3. Execute strategy.entry() with calculated position size
4. Place strategy.exit() with TP limit and SL stop orders
5. Update info table with active trade details
The strategy enforces one position at a time by checking strategy.position_size == 0 before entry.
### Channel Breakout Management:
Channels are removed when price closes more than 10 ticks outside boundaries. This tolerance prevents premature channel deletion from minor breaks or wicks, allowing the mean reversion setup to persist through small boundary violations.
### Position Sizing System:
Three methods calculate position size:
**Fixed Contracts**:
- Uses exact contract quantity specified in settings
- Best for futures traders (e.g., "trade 2 NQ contracts")
**Percentage of Equity**:
- position_size = (strategy.equity × equity_pct / 100) / close
- Dynamically scales with account growth
**Cash Amount**:
- position_size = cash_amount / close
- Maintains consistent dollar exposure regardless of price
## INPUT PARAMETERS:
### Position Sizing:
- **Position Size Type**: Choose Fixed Contracts, % of Equity, or Cash Amount
- **Number of Contracts**: Fixed quantity per trade (1-1000)
- **% of Equity**: Percentage of account to allocate (1-100%)
- **Cash Amount**: Dollar value per position ($100+)
### Channel Settings:
- **Nested Channels**: Allow multiple overlapping channels vs single channel
- **Normalization Length**: Lookback for high/low calculation (1-500, default 100)
- **Box Detection Length**: Period for volatility detection (1-100, default 14)
### Scalping Settings:
- **Enable Long Scalps**: Toggle long entries on/off
- **Enable Short Scalps**: Toggle short entries on/off
- **Entry Zone % from Edge**: Size of entry zone (5-50%, default 20%)
- **SL Offset (Ticks)**: Distance beyond channel for stop (1+, default 5)
- **Cooldown Period (Bars)**: Minimum spacing between signals (0 = no cooldown)
### ATR Filter:
- **Enable ATR Filter**: Toggle volatility filter on/off
- **ATR Timeframe**: Source timeframe for ATR (1, 5, 15, 60 min, etc.)
- **ATR Length**: Smoothing period (1-100, default 14)
- **Min ATR Value**: Threshold for trade enablement (0.1+, default 10.0)
### Take Profit Settings:
- **TP Method**: Choose Fixed Points or % of Channel
- **TP Fixed (Ticks)**: Static distance in ticks (1+, default 30)
- **TP % of Channel**: Dynamic target as channel percentage (10-100%, default 50%)
### Appearance:
- **Show Entry Zones**: Toggle zone labels on channels
- **Show Info Table**: Display real-time strategy status
- **Table Position**: Corner placement (Top Left/Right, Bottom Left/Right)
- **Color Settings**: Customize long/short/TP/SL colors
## VISUAL INDICATORS:
- **Channel boxes** with semi-transparent fill showing consolidation zones
- **Colored entry zones** labeled "LONG ZONE ▲" and "SHORT ZONE ▼"
- **Entry signal arrows** below/above bars marking long/short entries
- **Active TP/SL lines** with emoji labels (⊕ Entry, 🎯 TP, 🛑 SL)
- **Info table** showing position status, channel state, last signal, entry/TP/SL prices, and ATR status
## HOW TO USE:
### For 1-3 Minute Scalping (NQ/ES):
- ATR Timeframe: "1" (1-minute)
- ATR Min Value: 10.0 (for NQ), adjust per instrument
- Entry Zone %: 20-25%
- TP Method: Fixed Points, 20-40 ticks
- SL Offset: 5-10 ticks
- Cooldown: 2-3 bars
- Position Size: 1-2 contracts
### For 5-15 Minute Day Trading:
- ATR Timeframe: "5" or match chart
- ATR Min Value: Adjust to instrument (test 8-15 for NQ)
- Entry Zone %: 20-30%
- TP Method: % of Channel, 40-60%
- SL Offset: 5-10 ticks
- Cooldown: 3-5 bars
- Position Size: Fixed contracts or 5-10% equity
### For 30-60 Minute Swing Scalping:
- ATR Timeframe: "15" or "30"
- ATR Min Value: Lower threshold for broader market
- Entry Zone %: 25-35%
- TP Method: % of Channel, 50-70%
- SL Offset: 10-15 ticks
- Cooldown: 5+ bars or disable
- Position Size: % of equity recommended
## BACKTEST CONSIDERATIONS:
- Strategy performs best in ranging, mean-reverting markets
- Strong trending markets produce more stop losses as price breaks channels
- ATR filter significantly reduces trade count but improves quality during low volatility
- Cooldown period trades signal quantity for signal quality
- Commission and slippage materially impact sub-5-minute timeframe performance
- Shorter timeframes require tighter entry zones (15-20%) to catch quick reversions
- % of Channel TP adapts better to varying channel sizes than fixed points
- Fixed contract sizing recommended for consistent risk per trade in futures
**Backtesting Parameters Used**: This strategy was developed and tested using realistic commission and slippage values to provide accurate performance expectations. Recommended settings: Commission of $1.40 per side (typical for NQ futures through discount brokers), slippage of 2 ticks to account for execution delays on fast-moving scalp entries. These values reflect real-world trading costs that active scalpers will encounter. Backtest results without proper cost simulation will significantly overstate profitability.
## COMPATIBLE MARKETS:
Works on any instrument with price data including stock indices (NQ, ES, YM, RTY), individual stocks, forex pairs (EUR/USD, GBP/USD), cryptocurrency (BTC, ETH), and commodities. Volume-based features require data feed with volume information but are optional for core functionality.
## KNOWN LIMITATIONS:
- Immediate touch entry can fire multiple times in choppy zones without adequate cooldown
- Channel deletion at 10-tick breaks may be too aggressive or lenient depending on instrument tick size
- ATR filter from lower timeframes requires higher-tier TradingView subscription (request.security limitation)
- Mean reversion logic fails in strong breakout scenarios leading to stop loss hits
- Position sizing via % of equity or cash amount calculates based on close price, may differ from actual fill price
- No partial closing capability - full position exits at TP or SL only
- Strategy does not account for gap openings or overnight holds
## RISK DISCLOSURE:
Trading involves substantial risk of loss. Past performance does not guarantee future results. This strategy is for educational purposes and backtesting only. Mean reversion strategies can experience extended drawdowns during trending markets. Stop losses may not fill at intended levels during extreme volatility or gaps. Thoroughly test on historical data and paper trade before risking real capital. Use appropriate position sizing and never risk more than you can afford to lose. Consider consulting a licensed financial advisor before making trading decisions. Automated trading systems can malfunction - monitor all live positions actively.
## ACKNOWLEDGMENT & CREDITS:
This strategy is built upon the channel detection methodology created by **AlgoAlpha** in the "Smart Money Breakout Channels" indicator. Full credit and appreciation to AlgoAlpha for pioneering the normalized volatility approach to identifying consolidation patterns. The core channel formation logic using normalized price standard deviation is AlgoAlpha's original contribution to the TradingView community.
Enhancements to the original concept include: mean reversion entry logic (vs breakout), immediate touch-based signals, multi-timeframe ATR volatility filtering, flexible position sizing (fixed/percentage/cash), cooldown period filtering, dual TP methods (fixed points vs channel percentage), automated strategy execution with exit management, and real-time position monitoring table.
BOCS AdaptiveBOCS Adaptive Strategy - Automated Volatility Breakout System
WHAT THIS STRATEGY DOES:
This is an automated trading strategy that detects consolidation patterns through volatility analysis and executes trades when price breaks out of these channels. Take-profit and stop-loss levels are calculated dynamically using Average True Range (ATR) to adapt to current market volatility. The strategy closes positions partially at the first profit target and exits the remainder at the second target or stop loss.
TECHNICAL METHODOLOGY:
Price Normalization Process:
The strategy begins by normalizing price to create a consistent measurement scale. It calculates the highest high and lowest low over a user-defined lookback period (default 100 bars). The current close price is then normalized using the formula: (close - lowest_low) / (highest_high - lowest_low). This produces values between 0 and 1, allowing volatility analysis to work consistently across different instruments and price levels.
Volatility Detection:
A 14-period standard deviation is applied to the normalized price series. Standard deviation measures how much prices deviate from their average - higher values indicate volatility expansion, lower values indicate consolidation. The strategy uses ta.highestbars() and ta.lowestbars() functions to track when volatility reaches peaks and troughs over the detection length period (default 14 bars).
Channel Formation Logic:
When volatility crosses from a high level to a low level, this signals the beginning of a consolidation phase. The strategy records this moment using ta.crossover(upper, lower) and begins tracking the highest and lowest prices during the consolidation. These become the channel boundaries. The duration between the crossover and current bar must exceed 10 bars minimum to avoid false channels from brief volatility spikes. Channels are drawn using box objects with the recorded high/low boundaries.
Breakout Signal Generation:
Two detection modes are available:
Strong Closes Mode (default): Breakout occurs when the candle body midpoint math.avg(close, open) exceeds the channel boundary. This filters out wick-only breaks.
Any Touch Mode: Breakout occurs when the close price exceeds the boundary.
When price closes above the upper channel boundary, a bullish breakout signal generates. When price closes below the lower boundary, a bearish breakout signal generates. The channel is then removed from the chart.
ATR-Based Risk Management:
The strategy uses request.security() to fetch ATR values from a specified timeframe, which can differ from the chart timeframe. For example, on a 5-minute chart, you can use 1-minute ATR for more responsive calculations. The ATR is calculated using ta.atr(length) with a user-defined period (default 14).
Exit levels are calculated at the moment of breakout:
Long Entry Price = Upper channel boundary
Long TP1 = Entry + (ATR × TP1 Multiplier)
Long TP2 = Entry + (ATR × TP2 Multiplier)
Long SL = Entry - (ATR × SL Multiplier)
For short trades, the calculation inverts:
Short Entry Price = Lower channel boundary
Short TP1 = Entry - (ATR × TP1 Multiplier)
Short TP2 = Entry - (ATR × TP2 Multiplier)
Short SL = Entry + (ATR × SL Multiplier)
Trade Execution Logic:
When a breakout occurs, the strategy checks if trading hours filter is satisfied (if enabled) and if position size equals zero (no existing position). If volume confirmation is enabled, it also verifies that current volume exceeds 1.2 times the 20-period simple moving average.
If all conditions are met:
strategy.entry() opens a position using the user-defined number of contracts
strategy.exit() immediately places a stop loss order
The code monitors price against TP1 and TP2 levels on each bar
When price reaches TP1, strategy.close() closes the specified number of contracts (e.g., if you enter with 3 contracts and set TP1 close to 1, it closes 1 contract). When price reaches TP2, it closes all remaining contracts. If stop loss is hit first, the entire position exits via the strategy.exit() order.
Volume Analysis System:
The strategy uses ta.requestUpAndDownVolume(timeframe) to fetch up volume, down volume, and volume delta from a specified timeframe. Three display modes are available:
Volume Mode: Shows total volume as bars scaled relative to the 20-period average
Comparison Mode: Shows up volume and down volume as separate bars above/below the channel midline
Delta Mode: Shows net volume delta (up volume - down volume) as bars, positive values above midline, negative below
The volume confirmation logic compares breakout bar volume to the 20-period SMA. If volume ÷ average > 1.2, the breakout is classified as "confirmed." When volume confirmation is enabled in settings, only confirmed breakouts generate trades.
INPUT PARAMETERS:
Strategy Settings:
Number of Contracts: Fixed quantity to trade per signal (1-1000)
Require Volume Confirmation: Toggle to only trade signals with volume >120% of average
TP1 Close Contracts: Exact number of contracts to close at first target (1-1000)
Use Trading Hours Filter: Toggle to restrict trading to specified session
Trading Hours: Session input in HHMM-HHMM format (e.g., "0930-1600")
Main Settings:
Normalization Length: Lookback bars for high/low calculation (1-500, default 100)
Box Detection Length: Period for volatility peak/trough detection (1-100, default 14)
Strong Closes Only: Toggle between body midpoint vs close price for breakout detection
Nested Channels: Allow multiple overlapping channels vs single channel at a time
ATR TP/SL Settings:
ATR Timeframe: Source timeframe for ATR calculation (1, 5, 15, 60, etc.)
ATR Length: Smoothing period for ATR (1-100, default 14)
Take Profit 1 Multiplier: Distance from entry as multiple of ATR (0.1-10.0, default 2.0)
Take Profit 2 Multiplier: Distance from entry as multiple of ATR (0.1-10.0, default 3.0)
Stop Loss Multiplier: Distance from entry as multiple of ATR (0.1-10.0, default 1.0)
Enable Take Profit 2: Toggle second profit target on/off
VISUAL INDICATORS:
Channel boxes with semi-transparent fill showing consolidation zones
Green/red colored zones at channel boundaries indicating breakout areas
Volume bars displayed within channels using selected mode
TP/SL lines with labels showing both price level and distance in points
Entry signals marked with up/down triangles at breakout price
Strategy status table showing position, contracts, P&L, ATR values, and volume confirmation status
HOW TO USE:
For 2-Minute Scalping:
Set ATR Timeframe to "1" (1-minute), ATR Length to 12, TP1 Multiplier to 2.0, TP2 Multiplier to 3.0, SL Multiplier to 1.5. Enable volume confirmation and strong closes only. Use trading hours filter to avoid low-volume periods.
For 5-15 Minute Day Trading:
Set ATR Timeframe to match chart or use 5-minute, ATR Length to 14, TP1 Multiplier to 2.0, TP2 Multiplier to 3.5, SL Multiplier to 1.2. Volume confirmation recommended but optional.
For Hourly+ Swing Trading:
Set ATR Timeframe to 15-30 minute, ATR Length to 14-21, TP1 Multiplier to 2.5, TP2 Multiplier to 4.0, SL Multiplier to 1.5. Volume confirmation optional, nested channels can be enabled for multiple setups.
BACKTEST CONSIDERATIONS:
Strategy performs best during trending or volatility expansion phases
Consolidation-heavy or choppy markets produce more false signals
Shorter timeframes require wider stop loss multipliers due to noise
Commission and slippage significantly impact performance on sub-5-minute charts
Volume confirmation generally improves win rate but reduces trade frequency
ATR multipliers should be optimized for specific instrument characteristics
COMPATIBLE MARKETS:
Works on any instrument with price and volume data including forex pairs, stock indices, individual stocks, cryptocurrency, commodities, and futures contracts. Requires TradingView data feed that includes volume for volume confirmation features to function.
KNOWN LIMITATIONS:
Stop losses execute via strategy.exit() and may not fill at exact levels during gaps or extreme volatility
request.security() on lower timeframes requires higher-tier TradingView subscription
False breakouts inherent to breakout strategies cannot be completely eliminated
Performance varies significantly based on market regime (trending vs ranging)
Partial closing logic requires sufficient position size relative to TP1 close contracts setting
RISK DISCLOSURE:
Trading involves substantial risk of loss. Past performance of this or any strategy does not guarantee future results. This strategy is provided for educational purposes and automated backtesting. Thoroughly test on historical data and paper trade before risking real capital. Market conditions change and strategies that worked historically may fail in the future. Use appropriate position sizing and never risk more than you can afford to lose. Consider consulting a licensed financial advisor before making trading decisions.
ACKNOWLEDGMENT & CREDITS:
This strategy is built upon the channel detection methodology created by AlgoAlpha in the "Smart Money Breakout Channels" indicator. Full credit and appreciation to AlgoAlpha for pioneering the normalized volatility approach to identifying consolidation patterns and sharing this innovative technique with the TradingView community. The enhancements added to the original concept include automated trade execution, multi-timeframe ATR-based risk management, partial position closing by contract count, volume confirmation filtering, and real-time position monitoring.
Volume-Weighted RSI & Multi-Normalized MACD### Description for Publishing: Volume-Weighted RSI & Multi-Normalized MACD
**Overview**
The "Volume-Weighted RSI & Multi-Normalized MACD" indicator is a powerful and versatile tool designed for traders seeking enhanced momentum and trend analysis. Combining a volume-weighted Relative Strength Index (VW-RSI) with a customizable Moving Average Convergence Divergence (MACD) featuring multiple normalization methods, this indicator provides deep insights into market dynamics. It supports multi-timeframe (MTF) analysis and includes an optional stepped plotting mode for discrete signal visualization, making it ideal for both trend-following and mean-reversion strategies across various markets (stocks, forex, crypto, etc.).
**Key Features**
1. **Volume-Weighted RSI (VW-RSI)**:
- A modified RSI that incorporates trading volume for greater sensitivity to market activity.
- Normalized to a user-defined range (default: -50 to +50) for consistent analysis.
- Optional smoothing with multiple moving average types (SMA, EMA, WMA, VWMA, SMMA, or SMA with Bollinger Bands) to reduce noise and highlight trends.
- Overbought (+20) and oversold (-20) levels for quick reference.
2. **Multi-Normalized MACD**:
- Offers six normalization methods for MACD, allowing traders to tailor the output to their strategy:
- Normalized Volume Weighted MACD (unbounded).
- Min-Max Normalization (bounded).
- Volatility Normalization (unbounded, volatility-adjusted).
- Volatility Normalization with Min-Max (bounded).
- Hyperbolic Tangent Normalization (bounded).
- Arctangent Normalization (bounded).
- Min-Max with Smoothing (bounded).
- All bounded methods scale to the user-defined range (default: -50 to +50), ensuring comparability with VW-RSI.
- Dynamic color changes for MACD line (lime/red) and histogram (aqua/blue/red/maroon) based on momentum and signal line crosses.
3. **Stepped Plotting Mode**:
- Optional mode to plot RSI and MACD as discrete, stepped lines, reducing noise by only updating when values change significantly (configurable thresholds).
- Ideal for traders focusing on clear, actionable signal changes.
4. **Multi-Timeframe Support**:
- Configurable timeframe input (default: chart timeframe) for analyzing RSI and MACD on higher or lower timeframes, enhancing cross-timeframe strategies.
5. **Customizable Display**:
- Toggle options to show/hide MACD line, signal line, histogram, and cross dots.
- Bollinger Bands for RSI smoothing (optional) with adjustable standard deviation multiplier.
- Clear visual cues with horizontal lines for overbought/oversold levels, midline, and MACD bounds.
**Usage Instructions**
1. **Add to Chart**: Apply the indicator to any symbol (e.g., BTCUSD, SPY) on any timeframe (1H, 1D, etc.).
2. **Configure Settings**:
- **General**: Adjust `Lower Bound` (-50 default) and `Upper Bound` (+50 default) for the output range. Set `Timeframe` for MTF analysis. Enable `Stepped?` for discrete plotting.
- **RSI**: Choose `Price Source` (default: ohlc4), `RSI Length` (default: 9), and smoothing options (e.g., EMA, Bollinger Bands). Adjust `RSI Diff Threshold` for stepped mode.
- **MACD**: Select `Price Source`, `Fast Length` (9), `Slow Length` (21), `Signal Length` (9), and a normalization method (default: Volatility Min-Max). Adjust `MACD Diff Threshold` for stepped mode.
- **Display Options**: Toggle MACD components and histogram colors for clarity.
3. **Interpretation**:
- **VW-RSI**: Watch for crosses above +20 (overbought) or below -20 (oversold) for potential reversals. Use smoothed RSI or Bollinger Bands for trend confirmation.
- **MACD**: Look for MACD/Signal line crosses (dots indicate crossings) and histogram changes for momentum shifts. Bounded normalizations align with RSI for unified analysis.
- **Stepped Mode**: Focus on significant changes in RSI/MACD for clearer signals.
4. **Companion Overlay**: For visualization on the main price chart, use the companion script "VW-RSI & MACD Price Overlay" (available separately, requires this script to be published). It plots RSI and MACD as price-scaled echo lines, with toggles to show/hide and customizable scaling (high/low or ATR).
**Who Is This For?**
- **Trend Traders**: Use MACD normalizations and MTF to identify momentum shifts across timeframes.
- **Mean-Reversion Traders**: Leverage VW-RSI’s overbought/oversold signals for entry/exit points.
- **Technical Analysts**: Customize normalization and smoothing to match specific market conditions.
- **All Markets**: Works on stocks, forex, cryptocurrencies, and more, with any timeframe.
**Notes**
- Unbounded MACD normalizations (`enable_nvw`, `enable_vol`) may produce values outside -50/+50, suitable for volatility-focused strategies.
- For price chart overlay, publish this script and use its ID in the companion script’s `request.security` call.
- Adjust scaling inputs in the companion script for optimal visualization on volatile or stable assets.
**Author’s Note**
Developed by NEPOLIX, this indicator combines volume-weighted precision with flexible normalization for robust technical analysis. Feedback and suggestions are welcome to enhance future versions!
BioSwarm Imprinter™BioSwarm Imprinter™ — Agent-Based Consensus for Traders
What it is
BioSwarm Imprinter™ is a non-repainting, agent-based sentiment oscillator. It fuses many short-to-medium lookback “opinions” into one 0–100 consensus line that is easy to read at a glance (50 = neutral, >55 bullish bias, <45 bearish bias). The engine borrows from swarm intelligence: many simple voters (agents) adapt their influence over time based on how well they’ve been predicting price, so the crowd gets smarter as conditions change.
Use it to:
• Detect emerging trends sooner without overreacting to noise.
• Filter mean-reversion vs continuation opportunities.
• Gate entries with a confidence score that reflects both strength and persistence of the move.
• Combine with your execution tools (VWAP/ORB/levels) as a state filter rather than a trade signal by itself.
⸻
Why it’s different
• Swarm learning: Each agent improves or decays its “fitness” depending on whether its vote matched the next bar’s direction. High-fitness agents matter more; weak agents fade.
• Multi-horizon by design: The crowd is composed of fixed, simple lookbacks spread from lenMin to lenMax. You get a blended, robust view instead of a single fragile parameter.
• Two complementary lenses: Each agent evaluates RSI-style balance (via Wilder’s RMA) and momentum (EMA deviation). You decide the weight of each.
• No repaint, no MTF pitfalls: Everything runs on the chart’s timeframe with bar-close confirmation; no request.security() or forward references.
• Actionable UI: A clean consensus line, optional regime background, confidence heat, and triangle markers when thresholds are crossed.
⸻
What you see on the chart
• Consensus line (0–100): Smoothed to your preference; color/area makes bull/bear zones obvious.
• Regime coloring (optional): Light green in bull zone, light red in bear zone; neutral otherwise.
• Confidence heat: A small gauge/number (0–100) that combines distance from neutral and recent persistence.
• Markers (optional): Triangles when consensus crosses up through your bull threshold (e.g., 55) or down through your bear threshold (e.g., 45).
• Info panel (optional): Consensus value, regime, confidence, number of agents, and basic diagnostics.
⸻
How it works (under the hood)
1. Horizon bins: The range is divided into numBins. Each bin has a fixed, simple integer length (crucial for Pine’s safety rules).
2. Per-bin features (computed every bar):
• RSI-style balance using Wilder’s RMA (not ta.rsi()), then mapped to −1…+1.
• Momentum as (close − EMA(L)) / EMA(L) (dimensionless drift).
3. Agent vote: For its assigned bin, an agent forms a weighted score: score = wRSI*RSI_like + wMOM*Momentum. A small dead-band near zero suppresses chop; votes are +1/−1/0.
4. Fitness update (bar close): If the agent’s previous vote agreed with the next bar’s direction, multiply its fitness by learnGain; otherwise by learnPain. Fitness is clamped so it never explodes or dies.
5. Consensus: Weighted average of all votes using fitness as weights → map to 0–100 and smooth with EMA.
Why it doesn’t repaint:
• No future references, no MTF resampling, fitness updates only on confirmed bars.
• All TA primitives (RMA/EMA/deltas) are computed every bar unconditionally.
⸻
Signals & confidence
• Bullish bias: consensus ≥ bullThr (e.g., 55).
• Bearish bias: consensus ≤ bearThr (e.g., 45).
• Confidence (0–100):
• Distance score: how far consensus is from 50.
• Momentum score: how strong the recent change is versus its recent average.
• Combined into a single gate; start filtering entries at ≥60 for higher quality.
Tip: For range sessions, raise thresholds (60/40) and increase smoothing; for momentum sessions, lower smoothing and keep thresholds at 55/45.
⸻
Inputs you’ll actually tune
• Agents & horizons:
• N_agents (e.g., 64–128)
• lenMin / lenMax (e.g., 6–30 intraday, 10–60 swing)
• numBins (e.g., 12–24)
• Weights & smoothing:
• wRSI vs wMOM (e.g., 0.7/0.3 for FX & indices; 0.6/0.4 for crypto)
• deadBand (0.03–0.08)
• consSmooth (3–8)
• Thresholds & hygiene:
• bullThr/bearThr (55/45 default)
• cooldownBars to avoid signal spam
⸻
Playbooks (ready-to-use)
1) Breakout / Trend continuation
• Timeframe: 15m–1h for day/swing.
• Filter: Take longs only when consensus > 55 and confidence ≥ 60.
• Execution: Use your ORB/VWAP/pullback trigger for entry. Trail with swing lows or 1.5×ATR. Exit on a close back under 50 or when a bearish signal prints.
2) Mean reversion (fade)
• When: Sideways days or low-volatility clusters.
• Setup: Increase deadBand and consSmooth.
• Signal: Bearish fades when consensus rolls over below ≈55 but stays above 50; bullish fades when it rolls up above ≈45 but stays below 50.
• Targets: The neutral zone (~50) as the first take-profit.
3) Multi-TF alignment
• Keep BioSwarm on 1H for bias, execute on 5–15m:
• Only take entries in the direction of the 1H consensus.
• Skip counter-bias scalps unless confidence is very low (explicit mean-reversion plan).
⸻
Integrations that work
• DynamoSent Pro+ (macro bias): Only act when macro bias and swarm consensus agree.
• ORB + Session VWAP Pro: Trade London/NY ORB breakouts that retest while consensus >55 (long) or <45 (short).
• Levels/Orderflow: BioSwarm is your “go / no-go”; execution stays with your usual triggers.
⸻
Quick start
1. Drop the indicator on a 1H chart.
2. Start with: N_agents=64, lenMin=6, lenMax=30, numBins=16, deadBand=0.06, consSmooth=5, thresholds 55/45.
3. Trade only when confidence ≥ 60.
4. Add your favorite execution tool (VWAP/levels/OR) for entries & exits.
⸻
Non-repainting & safety notes
• No request.security(); no hidden lookahead.
• Bar-close confirmation for fitness and signals.
• All TA calls are unconditional (no “sometimes called” warnings).
• No series-length inputs to RSI/EMA — we use RMA/EMA formulas that accept fixed simple ints per bin.
⸻
Known limits & tips
• Too many signals? Raise deadBand, increase consSmooth, widen thresholds to 60/40.
• Too few signals? Lower deadBand, reduce consSmooth, narrow thresholds to 53/47.
• Over-fitting risk: Keep learnGain/learnPain modest (e.g., ×1.04 / ×0.96).
• Compute load: Large N_agents × numBins is heavier; scale to your device.
⸻
Example recipes
EURUSD 1H (swing):
lenMin=8, lenMax=34, numBins=16, wRSI=0.7, wMOM=0.3, deadBand=0.06, consSmooth=6, thr=55/45
Buy breakouts when consensus >55 and confidence ≥60; confirm with 5–15m pullback to VWAP or level.
SPY 15m (US session):
lenMin=6, lenMax=24, numBins=12, consSmooth=4, deadBand=0.05
On trend days, stay with longs as long as consensus >55; add on shallow pullbacks.
BTC 1H (24/7):
Increase momentum weight: wRSI=0.6, wMOM=0.4, extend lenMax to ~50. Use dynamic stops (ATR) and partials on strong verticals.
⸻
Final word
BioSwarm is a state engine: it tells you when the market is primed to continue or mean-revert. Pair it with your entries and risk framework to turn that state into trades. If you’d like, I can supply a companion strategy template that consumes the consensus and back-tests the three playbooks (Breakout/Fade/Flip) with standard risk management.
VIX CCI Oscillator [Compression + EMA Trigger + Bounce Glow]VIX CCI OSCILLATOR
ADJ CHART FOR YOUR LIKING
NOT AS SMOOTH AS PREVIOUS VERSION (STOCH)
SHOWS TIGER SIGNAL ON EMA
SAMEOUTPUT
HUD Box: emoji-coded tactical feedback
bounce 100 "💥 Expansion" :
bounce 0.8 "🔴 Overbought" :
bounce 0.618 "📉 Distribution" :
bounce 0.5 "🧠 Midline" :
bounce 0.382 "📈 Accumulation" :
bounce 0.2 "🟢 Oversold" :
bounce0.0 "💣 Expansion" : "⚪ Neutral"
Tiger EMA/STOCH
This logic checks if the oscillator is trending above or below its 48-period EMA,
If above, it paints the line GREEN🟢 (bullish),
If below, it paints it RED🔴 (bearish),
If compression is active, it overrides both with purple🟣 to highlight tactical squeeze conditions,
⚠️WARNING⚠️
ALWAYS REMEMBER THIS CHART IS VIX/USD
IN MOST CASES SPY MOVES VICE VERSA
I AM NOT RESPOSIBLE FOR YOUR OWN ACTIONS/TRADE IDEAS
Phoenix Pattern Scanner v1.3.2 - Multi-Pattern, Score & PresetsAdvanced multi-pattern scanner with intelligent presets and heuristic scoring system.
🎯 KEY FEATURES
- 5 Trading Style Presets: Conservative, Balanced, Aggressive, Swing, Scalp
- 4 Core Patterns: RVOL (unusual volume), Momentum breakout, RSI bounce, Gap & Go
- Heuristic Score (0-100): Visual ranking system for signal quality
- Per-Pattern Anti-Noise: Prevents signal spam with configurable minimum distance
- Relative Strength %: Compare performance vs benchmark (default SPY)
- Squeeze Detection: Identifies low volatility compression (BB inside Keltner)
📊 SMART FILTERS
- Minimum price and average dollar volume gates
- Weekly trend confirmation (optional)
- Separate lookback periods for each pattern
- Configurable RSI length and Gap parameters
⚙️ CUSTOMIZATION
- All parameters adjustable via settings
- Toggle individual components on/off
- Clean info panel with real-time metrics
- Color-coded score visualization
📍 BEST USED ON
- Daily timeframe (primary design)
- Liquid stocks above $5
- As a screening tool alongside your analysis
⚠️ IMPORTANT NOTES
- Educational/informational tool only
- NOT financial advice or trade signals
- Heuristic score is diagnostic, not predictive
- Past pattern behavior ≠ future results
💡 QUICK START
1. Select a preset matching your style
2. Adjust filters for your market
3. Set alerts for patterns you want to track
4. Use score as relative ranking, not absolute signal
Version 1.3.2 - Stable release
Open source - Free to use and modify
Feedback and improvements welcome
VIX Stoch RSI Oscillator [HUD Box + Compression]vix stoch rsi Oscillator
watch volatility without switching charts,
gives signal based off fib levels 0-100 / volatility,
emoji box to show signal,
HUD Box: emoji-coded tactical feedback
bounce 100 "💥 Expansion" :
bounce 0.8 "🔴 Overbought" :
bounce 0.618 "📉 Distribution" :
bounce 0.5 "🧠 Midline" :
bounce 0.382 "📈 Accumulation" :
bounce 0.2 "🟢 Oversold" :
bounce0.0 "💣 Expansion" : "⚪ Neutral"
Tiger EMA/STOCH
This logic checks if the oscillator is trending above or below its 48-period EMA,
If above, it paints the line GREEN🟢 (bullish),
If below, it paints it RED🔴 (bearish),
If compression is active, it overrides both with purple🟣 to highlight tactical squeeze conditions,
⚠️WARNING⚠️
ALWAYS REMEMBER THIS CHART IS VIX/USD
IN MOST CASES SPY MOVES VICE VERSA
I AM NOT RESPOSIBLE FOR YOUR OWN ACTIONS/TRADE IDEAS
AMEX:USD
TVC:VIX
SP:SPX
Zarattini Intra-day Threshold Bands (ZITB)This indicator implements the intraday threshold band methodology described in the research paper by Carlo Zarattini et al.
papers.ssrn.com
Overview:
Plots intraday threshold bands based on daily open/close levels.
Supports visualization of BaseUp/BaseDown levels and Threshold Upper/Lower bands.
Optional shading between threshold bands for easier interpretation.
Usage Notes / Limitations:
Originally studied on SPY (US equities), this implementation is adapted for NSE intraday market timing, specifically the NIFTY50 index.
Internally, 2-minute candles are used if the chart timeframe is less than 2 minutes.
Values may be inaccurate if the chart timeframe is more than 1 day.
Lookback days are auto-capped to avoid exceeding TradingView’s 5000-bar limit.
The indicator automatically aligns intraday bars across multiple days to compute average deltas.
For better returns, it is recommended to use this indicator in conjunction with VWAP and a volatility-based position sizing mechanism.
Can be used as a reference for Open Range Breakout (ORB) strategies.
Customizations:
Toggle plotting of base levels and thresholds.
Toggle shading between thresholds.
Line colors and styles can be adjusted in the Style tab.
Author:
Gokul Ramachandran – software architect, engineer, programmer. Interested in trading and investment. Currently trading and researching strategies that can be employed in NSE (Indian market).
Contact: (mailto:gokul4trading@gmail.com)
LinkedIn: www.linkedin.com
Intended for educational and research purposes only.
Sniper Swing — Short TF (Clean Signals) [v6]📘 How to Use the Sniper Swing Indicator
1. What It Does
It looks for short-term swing breaks in price.
It uses an oscillator (RSI/Stoch) and swing pivots to confirm moves.
It gives you 3 clear signals only:
BUY → Enter long (expecting price to go up).
Gay bear → Enter short (expecting price to go down).
EXIT → Close your trade (long or short).
Candles also change color:
Green = in a BUY trade.
Red = in a Gay bear trade.
Neutral (gray/none) = no trade.
2. When to Use
Works best on short timeframes (1m–5m) for scalping/intraday.
Use on liquid markets (MES/ES, NQ, SPY, BTC, ETH).
Avoid dead hours with no volume (like overnight futures lull or midday chop).
3. How to Trade With It
A. BUY trade
Wait for a BUY triangle below the candle.
Confirm:
Candle turned green.
Price broke a recent swing high.
Oscillator shows strength (indicator does this for you).
Enter long at the close of that candle.
Place your stop-loss:
At the yellow stop line (auto trailing stop), or
Just below the last swing low.
Stay in while candles are green.
Exit when:
An orange X appears, or
Price hits your stop.
B. Gay bear (short) trade
Wait for a Gay bear triangle above the candle.
Confirm:
Candle turned red.
Price broke a recent swing low.
Oscillator shows weakness.
Enter short at the close of that candle.
Place stop-loss:
At the yellow stop line, or
Just above the last swing high.
Stay in while candles are red.
Exit on an orange X or stop hit.
4. Pro Tips for New Traders
Only take one signal at a time → don’t double dip.
Quality > Quantity: ignore weak, sideways markets. Best signals happen during trends.
Start small: trade micros (MES) or small position sizes.
Use alerts: set TradingView alerts for BUY/Gay bear/EXIT so you don’t miss setups.
Think of the indicator like a navigator: it tells you the likely path, but you’re the driver → always manage risk.
5. Quick Mental Checklist
Signal? (BUY or Gay bear triangle)
Confirmed? (candle color + swing break)
Enter? (on close)
Stop? (yellow line or swing)
Exit? (orange X or stop)
ICT FVG Buy/Sell SignalsThis bot is built on ICT (Inner Circle Trader) concepts such as:
Fair Value Gaps (FVGs) – imbalance zones between candles.
Consequent Encroachment (CE) – the midpoint of a gap.
Premium / Discount Arrays – dealing ranges split into premium (sell-side) and discount (buy-side) zones.
Displacement candles – strong impulsive moves that confirm intent.
The bot scans for FVGs, marks CE levels, and waits for price to return to these levels.
When price revisits a valid FVG zone with displacement confirmation and in the correct PD array, the bot generates a BUY or SELL signal.
✅ Signal Rules
Buy Signal
Price trades back into a Bullish FVG.
Current bar shows bullish displacement (large bullish body relative to ATR).
Price is in discount territory of the current dealing range (if PD filter is enabled).
Close is above the CE line of the FVG.
Sell Signal
Price trades back into a Bearish FVG.
Current bar shows bearish displacement.
Price is in premium territory of the current dealing range.
Close is below the CE line of the FVG.
🎯 What You’ll See on the Chart
Green “BUY” labels below candles when long signals trigger.
Red “SELL” labels above candles when short signals trigger.
Shaded background:
Red = Premium zone (sell side).
Teal = Discount zone (buy side).
Yellow line = dealing range midpoint (equilibrium).
Dots on CE lines = midpoints of the latest bullish/bearish FVG.
🔔 Alerts
ICT Buy → Triggers when a bullish setup confirms.
ICT Sell → Triggers when a bearish setup confirms.
You can connect these alerts to:
TradingView notifications.
Webhooks (for brokers or bots like MetaTrader, NinjaTrader, or Discord).
⚙️ Settings
Swing length – how many bars to use when detecting swing highs/lows for the dealing range.
Use PD filter – toggle ON/OFF for requiring discount/premium alignment.
Displacement ATR multiple – how strong the candle body must be compared to ATR to count as a displacement.
ATR length – used for displacement filter.
📈 Supported Markets
Works on all symbols and timeframes.
Commonly applied to:
NASDAQ (NQ, QQQ)
S&P500 (ES, SPX, SPY)
Forex pairs
Crypto (BTC, ETH, etc.)
⚠️ Disclaimer
This bot is for educational purposes only. It does not guarantee profits and should be tested on demo accounts first.
Always apply proper risk management before trading live.
Fear & Greed [theUltimator5]This indicator attempts to replicate CNN's Fear & Greed Index methodology to measure market sentiment on a scale from 0-100. It combines seven key market components into a single sentiment score, where lower values indicate fear and higher values indicate greed.
Note: It is impossible to perfectly replicate the true Fear & Greed indicator due to data limitations, so this indicator attempts to best replicate the output for each of the (7) components using available data.
The uniqueness of this indicator comes from the calculation methods for the 7 components as well as the visual representation of the data, which includes a table and selectable plots for each of the 7 components which make up the overall sentiment. Existing variants of the Fear & Greed Index have substantial flaws in the calculations of several of the components which result in warped final sentiment numbers. This indicator attempts to better track all 7 components and provide a closer model to the actual Fear & Greed index.
Here are the seven components and a brief description of how each are calculated:
1. Market Momentum
Calculation: S&P 500 current price vs. 125-day moving average
Measures how far the market has moved from its long-term trend
Uses CNN-style Z-score normalization over 252 trading days
Higher values indicate strong upward momentum (greed)
Lower values suggest declining momentum (fear)
2. Stock Strength
Calculation: S&P 500 RSI scaled to 252-day range
Uses 14-period RSI of the S&P 500 index
Normalizes RSI values based on their 252-day minimum and maximum
Measures overbought/oversold conditions relative to recent history
Higher values indicate overbought conditions (greed)
Lower values suggest oversold conditions (fear)
3. Price Breadth
Calculation: Modified McClellan Oscillator
Primary: Uses NYSE advancing vs. declining issues with 7-day smoothing
Fallback: Compares sector performance (QQQ, IWM vs. SPY)
Measures how many stocks participate in market moves
Broader participation indicates healthier trends
Narrow breadth suggests selective or weak trends
4. Put/Call Ratio
Calculation: Inverted CBOE Put/Call ratios
Primary: CBOE Equity-only Put/Call ratio (more sensitive)
Fallback: CBOE Total Put/Call ratio
Uses 5-day average and applies CNN normalization
Higher put/call ratios indicate fear (inverted to lower scores)
Lower put/call ratios suggest complacency (higher scores)
5. Market Volatility
Calculation: VIX relative to its 50-day average
Compares current VIX level to its 50-day moving average
Measures deviation from normal volatility expectations
Higher VIX relative to average indicates fear (lower scores)
Lower relative VIX suggests complacency (higher scores)
6. Safe Haven Demand
Calculation: Stock returns vs. bond yield changes
Compares 20-day smoothed S&P 500 returns to Treasury yield changes
When stocks outperform bonds, indicates risk appetite (higher scores)
When bonds outperform stocks, suggests risk aversion (lower scores)
Uses Treasury 10-year yields as the safe haven benchmark
7. Junk Bond Demand
Calculation: High-yield bond spread analysis
Measures yield spread between junk bonds (JNK ETF) and Treasuries
Compares current spread to its 5-day average
Narrowing spreads indicate risk appetite (higher scores)
Widening spreads suggest risk aversion (lower scores)
The combined sentiment is plotted as a single line which changes color based on the current sentiment value.
0-25: Extreme Fear (Red) - Market panic, oversold conditions
26-45: Fear (Orange) - Cautious sentiment, bearish bias
46-55: Neutral (Yellow) - Balanced market sentiment
56-75: Greed (Light Green) - Optimistic sentiment, bullish bias
76-100: Extreme Greed (Green) - Market euphoria, potentially overbought
There are dashed lines to represent the threshold values for each of the sentiments to better visualize transitions.
The table displays each of the (7) components of the index and their respective values. The table can be toggled on/off and the position can be moved.
An optional secondary line can be toggled on to display (1) of the (7) components as a unique color and the component name and value will highlight on the table. The secondary line can be used to dig into the main driving forces behind the overall index value.
Benchmark Relative Performance BRPBenchmark Relative Performance (BRP) is a comprehensive technical analysis tool that compares any stock's performance against a chosen benchmark (QQQ, SPY, IWM, etc.) to identify outperformance and underperformance patterns.
Key Features:
Dual-line visualization: Shows both ticker and relative strength performance
Dynamic color coding: 5-level color system indicating performance strength
Customizable benchmark: Choose from any ticker via TradingView's symbol picker
Volume weighting: Optional volume analysis for stronger signal confirmation
Performance zones: Visual thresholds for strong/moderate performance levels
Compact info table: Real-time performance status and values
What It Shows:
Benchmark Performance Line (Blue): Shows your chosen benchmark's percentage performance
Relative Strength Line (Color-coded): Shows how much the ticker outperforms/underperforms
Fill Area: Visual gap between ticker and benchmark performance
Performance Zones: Dotted lines marking significant performance thresholds
Color System:
Green: Strong outperformance (above custom threshold)
Lime: Standard outperformance
Yellow: Neutral/Equal performance
Orange: Standard underperformance
Red: Strong underperformance (below custom threshold)
Best Used For:
Stock selection and rotation strategies
Sector/ETF relative strength analysis
Identifying momentum shifts vs benchmarks
Portfolio performance evaluation
Market timing based on relative performance
Settings:
Customizable lookback period (default: 20)
Adjustable strong performance threshold (default: 5%)
Optional volume weighting factor
Full table customization (position, colors, fonts)
Performance display (percentage or decimal)
Perfect for traders and investors who want to identify stocks showing relative strength or weakness compared to major market benchmarks.
1D Exit Alerts"A Daily Exit LONG" + "B Daily Exit SHORT":
I'm not using this one anymore since they often make me worry more than necessary, and I focus more on aiming to reach specific price targets, or using the 5m Exit alerts instead.
Also swing trades require less time-sensitive operations than day trades, so for me personally they felt a bit redundant.
But maybe it helps some of you:
There are 4 conditions that trigger it. As with 5m Exit Alerts, the triggering reasons show up in the exit alert message (unfortunately only as a number, since alert messages can't have "dynamic text" in TradingView).
Here are the conditions sorted from best to worst:
Gap Up / Down. Better check SPY and the stock whether a Gap Reversal is likely to happen (aka get out) or whether the stock will keep going higher / lower.
Earnings: End of day or Tomorrow morning. Alert is triggered at beginning of morning before earnings, and then again 15m before market close.
Mental stop loss: Broke daily EMA 8 or SMA - in the wrong direction....
Wrong direction: Broke below / above yesterday's Low / High. It's not immediately triggered, but only after re-touching VWAP again, to prevent too impulsive exits.
As with 5m Exit alerts: Always consider how the market and stock looks like, then decide whether to exit or not! These are meant to make you look at the chart, not to FOMO-exit.
"X Candle Close":
Same as in 1D Enter alert: Is triggered 15m before market close (I put it in here as well because I kept forgetting whether I put this one into Enter or Exit alerts...)
More infos: www.reddit.com
Real Relative Sector Strength - NormalizedShows RS/RW, which is esp. helpful if it's not fully clear based on the stock's chart movement compared to SPY's movement.
"Glowing green" = safely strong
"Glowing red" = safely weak
More infos: www.reddit.com
All-In-One LinesIt's like a "torch in the darkness" that shows the "terrain" in which you are trading, and in which the candle movement unfolds.
It is meant to be used on 5m + 1D intervals. Additionally useful on 15m, 30m, and 1W if you use these.
Shows:
VWAP (on < 1D interval)
EMA 8 from 5m/15m/30m/1D/1W
Yesterday's High (on < 1D interval)
Yesterday's Low (on < 1D interval)
SMA 50/100/200
AVWAPE / AVWAPQ (if SPY) incl. +1/-1 Stdev for each
More infos: www.reddit.com
ForecastForecast (FC), indicator documentation
Type: Study, not a strategy
Primary timeframe: 1D chart, most plots and the on-chart table only render on daily bars
Inspiration: Robert Carver’s “forecast” concept from Advanced Futures Trading Strategies, using normalized, capped signals for comparability across markets
⸻
What the indicator does
FC builds a volatility-normalized momentum forecast for a chosen symbol, optionally versus a benchmark. It combines an EWMAC composite with a channel breakout composite, then caps the result to a common scale. You can run it in three data modes:
• Absolute: Forecast of the selected symbol
• Relative: Forecast of the ratio symbol / benchmark
• Combined: Average of Absolute and Relative
A compact table can summarize the current forecast, short-term direction on the forecast EMAs, correlation versus the benchmark, and ATR-scaled distances to common price EMAs.
⸻
PineScreener, relative-strength screening
This indicator is excellent for screening on relative strength in PineScreener, since the forecast is volatility-normalized and capped on a common scale.
Available PineScreener columns
PineScreener reads the plotted series. You will see at least these columns:
• FC, the capped forecast
• from EMA20, (price − EMA20) / ATR in ATR multiples
• from EMA50, (price − EMA50) / ATR in ATR multiples
• ATR, ATR as a percent of price
• Corr, weekly correlation with the chosen benchmark
Relative mode and Combined mode are recommended for cross-sectional screens. In Relative mode the calculation uses symbol / benchmark, so ensure the ratio ticker exists for your data source.
⸻
How it works, step by step
1. Volatility model
Compute exponentially weighted mean and variance of daily percent returns on D, annualize, optionally blend with a long lookback using 10y %, then convert to a price-scaled sigma.
2. EWMAC momentum, three legs
Daily legs: EMA(8) − EMA(32), EMA(16) − EMA(64), EMA(32) − EMA(128).
Divide by price-scaled sigma, multiply by leg scalars, cap to Cap = 20, average, then apply a small FDM factor.
3. Breakout momentum, three channels
Smoothed position inside 40, 80, and 160 day channels, each scaled, then averaged.
4. Composite forecast
Average the EWMAC composite and the breakout composite, then cap to ±20.
Relative mode runs the same logic on symbol / benchmark.
Combined mode averages Absolute and Relative composites.
5. Weekly correlation
Pearson correlation between weekly closes of the asset and the benchmark over a user-set length.
6. Direction overlay
Two EMAs on the forecast series plus optional green or red background by sign, and optional horizontal level shading around 0, ±5, ±10, ±15, ±20.
⸻
Plots
• FC, capped forecast on the daily chart
• 8-32 Abs, 8-32 Rel, single-leg EWMAC plus breakout view
• 8-32-128 Abs, 8-32-128 Rel, three-leg composite views
• from EMA20, from EMA50, (price − EMA) / ATR
• ATR, ATR as a percent of price
• Corr, weekly correlation with the benchmark
• Forecast EMA1 and EMA2, EMAs of the forecast with an optional fill
• Backgrounds and guide lines, optional sign-based background, optional 0, ±5, ±10, ±15, ±20 guides
Most plots and the table are gated by timeframe.isdaily. Set the chart to 1D to see them.
⸻
Inputs
Symbol selection
• Absolute, Relative, Combined
• Vs. benchmark for Relative mode and correlation, choices: SPY, QQQ, XLE, GLD
• Ticker or Freeform, for Freeform use full TradingView notation, for example NASDAQ:AAPL
Engine selection
• Include:
• 8-32-128, three EWMAC legs plus three breakouts
• 8-32, simplified view based on the 8-32 leg plus a 40-day breakout
EMA, applied to the forecast
• EMA1, EMA2, with line-width controls, plus color and opacity
Volatility
• Span, EW volatility span for daily returns
• 10y %, blend of long-run volatility
• Thresh, Too volatile, placeholders in this version
Background
• Horizontal bg, level shading, enabled by default
• Long BG, Hedge BG, colors and opacities
Show
• Table, Header, Direction, Gain, Extension
• Corr, Length for correlation row
Table settings
• Position, background, opacity, text size, text color
Lines
• 0-lines, 10-lines, 5-lines, level guides
⸻
Reading the outputs
• Forecast > 0, bullish tilt; Forecast < 0, bearish or hedge tilt
• ±10 and ±20 indicate strength on a uniform scale
• EMA1 vs EMA2 on the forecast, EMA1 above EMA2 suggests improving momentum
• Table rows, label colored by sign, current forecast value plus a green or red dot for the forecast EMA cross, optional daily return percent, weekly correlation, and ATR-scaled EMA9, EMA20, EMA50 distances
⸻
Data handling, repainting, and performance
• Daily and weekly series are fetched with request.security().
• Calculations use closed bars, values can update until the bar closes.
• No lookahead, historical values do not repaint.
• Weekly correlation updates during the week, it finalizes on weekly close.
• On intraday charts most visuals are hidden by design.
⸻
Good practice and limitations
• This is a research indicator, not a trading system.
• The fixed Cap = 20 keeps a common scale, extreme moves will be clipped.
• Relative mode depends on the ratio symbol / benchmark, ensure both legs have data for your feed.
⸻
Credits
Concept inspired by Robert Carver’s forecast methodology in Advanced Futures Trading Strategies. Implementation details, parameters, and visuals are specific to this script.
⸻
Changelog
• First version
⸻
Disclaimer
For education and research only, not financial advice. Always test on your market and data feed, consider costs and slippage before using any indicator in live decisions.
Market BreadthMarket breadth is a technical analysis technique that gauges the strength or weakness of moves in a major index.
Supported index ETF: SPY, NDX, DIA, IWM, OEF, MDY, IWB, IWV.
Supported sector index ETF: XLK, XLC, XLY, XLP, XLV, XLU, XLF, XLRE, XLE, XLB, XLI.
Ludvig Indicator PROThe Ludvig Indicator is designed to identify high-probability breakout setups by combining trend, volume, volatility, and relative strength filters. It helps you enter stocks (or ETFs/crypto) when institutional money is likely flowing in, while avoiding false breakouts and weak trends.
🔑 Core Features
Zero-Lag EMA (ZLEMA)
Faster, less lagging trend detection compared to traditional EMAs.
Used as the basis for dynamic ATR bands.
ATR Volatility Bands
Adaptive bands based on the Average True Range (ATR).
Define the zone where price must close outside to confirm trend strength.
Breakout Confirmation
Requires price to close above recent highs (lookback configurable).
Ensures signals are “true breakouts,” not just noise around moving averages.
Volume Filter (Relative Volume)
Validates breakouts with significantly higher volume than average.
Prevents low-liquidity signals from triggering.
Trend Strength (ADX)
Built-in ADX calculation ensures only strong, trending moves are considered.
Default filter: ADX ≥ 18 (configurable).
Relative Strength vs. Benchmark
Compares the asset’s momentum against a benchmark (default: SPY).
Only signals when the asset is outperforming the benchmark.
Useful for sector rotation and picking leaders instead of laggards.
Alerts & Signals
Breakout entries are marked with small green triangles.
Built-in alerts for automated notifications (TradingView alerts).
ABS NR — Fail-Safe Confirm (v4.2.2)
# ABS NR — Fail-Safe Confirm (v4.2.2)
## What it is (quick take)
**ABS NR FS** is a **non-repainting “arm → confirm” entry framework** for intraday and swing execution. It blends:
* **Regime** (EMA stack + 60-min slope),
* **Location** (Keltner basis/edges),
* **Stretch** (session-anchored **VWAP Z-score**),
* **Momentum gating** (TSI cross/slope),
* **Guards** (session window, minimum ATR%, gap filter, optional market alignment).
You’ll see a **small dot** when a setup is **armed** (candidate) and a **triangle** when that setup **confirms** within a user-defined number of bars. A **gray “X”** marks a timeout (candidate canceled).
> Tip: This entry tool works best when paired with a trend context filter and a dedicated exit tool.
---
## How to use it (operational workflow)
1. **Read the regime**
* **Bull trend**: fast > slow > long EMA **and** 60-min slope up.
* **Bear trend**: fast < slow < long EMA **and** 60-min slope down.
* **Range**: neither bull nor bear.
2. **Wait for a candidate (dot)**
Two families:
* **Reclaim (trend-following):** price crosses the **KC basis** with acceptable |Z| (not overstretched) and passes the TSI gate.
* **Fade (range-revert):** price **pokes a KC band**, prints a **reversal wick**, |Z| is stretched, and TSI gate agrees.
3. **Trade the confirmation (triangle)**
The confirm must occur **within N bars** and follow your chosen **Confirm mode** logic (see Inputs). If confirmation doesn’t arrive in time, an **X** cancels the candidate.
4. **Use guards to avoid junk**
Session windows (US focus), minimum ATR%, gap guard, and optional **market alignment** (e.g., SPY above EMA20 for longs).
5. **Manage the position**
* Entries: take **triangles** in the direction of your playbook (reclaims with trend; fades in clean ranges).
* Filters and exits: use your own process or pair with a trend/exit companion.
---
## Visual semantics & alerts
* **Candidate L / S (dot)** → a setup armed on this bar.
* **CONFIRM L / S (triangle)** → actionable signal that met confirm rules within your time window.
* **Cancel L / S (X)** → candidate expired without confirmation; ignore the dot.
**Alerts (stable names for automation):**
* **ABS FS — Confirmed** → fires on confirmed long or short.
* **ABS FS — Candidate Armed** → fires as a candidate arms.
---
## Non-repainting behavior (why signals don’t repaint)
* All HTF requests use **lookahead\_off**.
* With **Strict NR = true**, the 60-min slope uses the **prior completed** 60-min bar and arming/confirming only occurs on confirmed bars.
* Confirmation triangles finalize on bar close.
* If you disable strictness, signals may appear slightly earlier but with more intrabar sensitivity.
---
## Inputs reference (what each control does and the trade-offs)
### A) Behavior / Modes
**Mode** (`Turbo / Aggressive / Balanced / Conservative`)
Changes multiple internal thresholds:
* **Turbo** → most signals; relaxes prior-bar break & VWAP-side checks and time/vol/gap guards. Highest frequency, highest noise.
* **Aggressive** → more signals than Balanced, fewer than Turbo.
* **Balanced** → default; steady trade-off of frequency vs. quality.
* **Conservative** → tightens |Z| and other checks; fewest but cleanest signals.
**Strict NR (bar close + prior HTF 60m)**
* **true** = safer: uses prior 60-min slope; arms/confirms on confirmed bars → **fewer/cleaner** signals.
* **false** = earlier and more reactive; slightly noisier.
---
### B) Keltner Channel (location engine)
* **KC EMA Length (`kcLen`)**
Higher → smoother basis (fewer basis crosses). Lower → snappier basis (more crosses).
* **ATR Length (`atrLen`)**
Higher → steadier band width; Lower → more reactive band width.
* **KC ATR Mult (`kcMult`)**
Higher → wider bands (fewer edge pokes → fewer fades). Lower → narrower (more fades).
---
### C) Trend & HTF slope
* **Trend EMA Fast/Slow/Long (`emaFastLen / emaSlowLen / emaLongLen`)**
Larger = slower regime flips (fewer reclaims); smaller = faster flips (more reclaims).
* **HTF EMA Len (60m) (`htfLen`)**
Larger = steadier HTF slope (fewer signals); smaller = more sensitive (more signals).
---
### D) VWAP Z-Score (stretch / mean-revert logic)
* **VWAP Z-Length (`zLen`)**
Window for Z over session-anchored VWAP distance. Larger = smoother |Z| (fewer fades/re-entries). Smaller = more reactive (more).
* **Range Fade |Z| (base) (`zFadeBase`)**
Minimum |Z| to allow **fades** in ranges. Raise to demand more stretch (fewer fades). Lower to take more fades.
* **Max |Z| Trend Re-entry (base) (`maxZTrendBase`)**
Caps how stretched price can be and still permit **reclaims** with trend. Lower = stricter (avoid chases). Higher = will chase further.
---
### E) TSI Momentum Gate
* **TSI Long/Short/Signal (`tsiLong / tsiShort / tsiSig`)**
Larger = smoother/laggier momentum; smaller = snappier.
* **TSI gate (`CrossOnly / CrossOrSlope / Off`)**
* **CrossOnly**: require TSI cross of its signal (strict).
* **CrossOrSlope**: cross *or* favorable slope (balanced default).
* **Off**: no momentum gate (most signals, most noise).
---
### F) Guards (filters to avoid low-quality tape)
* **US focus 09:35–10:30 & 14:00–15:45 (base) (`useTimeBase`)**
`true` limits to high-quality windows. `false` trades all session.
* **Skip N bars after 09:30 ET (`skipFirst`)**
Skips the open scramble. Larger = skip longer.
* **Min volatility ATR% (base)** = `useVolMinBase` + `atrPctMinBase`
Requires `ATR(10)/Close*100 ≥ atrPctMinBase`. Raise threshold to avoid dead tape; lower to accept quieter sessions.
* **Gap guard (base)** = `gapGuardBase` + `gapMul`
Blocks signals when the opening gap exceeds `gapMul * ATR`. Increase `gapMul` to allow more gapped opens; decrease to be stricter.
---
### G) Visuals & Sides
* **Plot Keltner (`plotKC`)** → show/hide basis & bands.
* **Show Longs / Show Shorts** → enable/disable each side.
---
### H) Fail-Safe Confirmation
* **Confirm mode (`BreakHighOnly / BreakHigh+Hold / TwoBarImpulse`)**
* **BreakHighOnly**: confirm by taking out the armed bar’s extreme. Fastest, most frequent.
* **BreakHigh+Hold**: must **break**, have **body ≥ X·ATR**, **and** hold above/below the basis → higher quality, fewer signals.
* **TwoBarImpulse**: decisive follow-through vs. prior bar with **body ≥ X·ATR** → momentum-biased confirmations.
* **Confirm within N bars (`confirmBars`)**
Confirmation window size. Smaller = faster validation; larger = more patience (can be later).
* **Impulse body ≥ X·ATR (`impulseBodyATR`)**
Raise for stronger confirmations (fewer weak triangles). Lower to accept lighter pushes.
* **Require market alignment (`needMarket`) + `marketTicker`**
When enabled: Longs require **market > EMA20 (5m)**; Shorts require **market < EMA20 (5m)**.
* **Diagnostics: Show debug letters (`debug`)**
Tiny “B/C” audit marks for base/confirm while tuning.
---
## Tuning recipes (quick, practical)
* **If you’re getting chopped:**
* Set **Mode = Conservative**
* **Confirm mode = BreakHigh+Hold**
* Raise **impulseBodyATR** (e.g., 0.45)
* Keep **needMarket = true**
* Keep **Strict NR = true**
* **If you need more signals:**
* **Mode = Aggressive** (or Turbo if you accept more noise)
* **Confirm mode = BreakHighOnly**
* Lower **impulseBodyATR** (0.25–0.30)
* Increase **confirmBars** to 3
* **Range-day focus (fades):**
* Keep session guard on
* Raise **zFadeBase** to demand real stretch
* Keep **maxZTrendBase** moderate (don’t chase)
* **Trend-day focus (reclaims):**
* Slightly **lower `maxZTrendBase`** (avoid chasing excessive stretch)
* Use **CrossOrSlope** TSI gating
* Consider turning **needMarket** on
---
## Best practices & notes
* **Instrument specificity:** Tune Z, TSI, and guards per symbol and timeframe.
* **Session awareness:** Session filter uses **exchange-local** time; adjust for non-US markets.
* **Automation:** Use the two provided alert names; they’re stable.
* **Risk management:** Confirmation improves quality but doesn’t remove risk. Always pre-define stop/size logic.
---
## Suggested starting point (balanced profile)
* **Mode = balanced**
* **Strict NR = true**
* **Confirm mode = BreakHigh+Hold**
* **confirmBars = 2**
* **impulseBodyATR ≈ 0.35**
* **needMarket = off** (turn on for extra confluence)
* Leave Keltner/TSI defaults; then nudge `zFadeBase` and `maxZTrendBase` to match your symbol.
---
*This tool is a signal generator, not a broker or strategy. Validate on your markets/timeframes and integrate with your risk plan.*