Multi-Confluence Swing Hunter V1# Multi-Confluence Swing Hunter V1 - Complete Description
Overview
The Multi-Confluence Swing Hunter V1 is a sophisticated low timeframe scalping strategy specifically optimized for MSTR (MicroStrategy) trading. This strategy employs a comprehensive point-based scoring system that combines optimized technical indicators, price action analysis, and reversal pattern recognition to generate precise trading signals on lower timeframes.
Performance Highlight:
In backtesting on MSTR 5-minute charts, this strategy has demonstrated over 200% profit performance, showcasing its effectiveness in capturing rapid price movements and volatility patterns unique to MicroStrategy's trading behavior.
The strategy's parameters have been fine-tuned for MSTR's unique volatility characteristics, though they can be optimized for other high-volatility instruments as well.
## Key Innovation & Originality
This strategy introduces a unique **dual scoring system** approach:
- **Entry Scoring**: Identifies swing bottoms using 13+ different technical criteria
- **Exit Scoring**: Identifies swing tops using inverse criteria for optimal exit timing
Unlike traditional strategies that rely on simple indicator crossovers, this system quantifies market conditions through a weighted scoring mechanism, providing objective, data-driven entry and exit decisions.
## Technical Foundation
### Optimized Indicator Parameters
The strategy utilizes extensively backtested parameters specifically optimized for MSTR's volatility patterns:
**MACD Configuration (3,10,3)**:
- Fast EMA: 3 periods (vs standard 12)
- Slow EMA: 10 periods (vs standard 26)
- Signal Line: 3 periods (vs standard 9)
- **Rationale**: These faster parameters provide earlier signal detection while maintaining reliability, particularly effective for MSTR's rapid price movements and high-frequency volatility
**RSI Configuration (21-period)**:
- Length: 21 periods (vs standard 14)
- Oversold: 30 level
- Extreme Oversold: 25 level
- **Rationale**: The 21-period RSI reduces false signals while still capturing oversold conditions effectively in MSTR's volatile environment
**Parameter Adaptability**: While optimized for MSTR, these parameters can be adjusted for other high-volatility instruments. Faster-moving stocks may benefit from even shorter MACD periods, while less volatile assets might require longer periods for optimal performance.
### Scoring System Methodology
**Entry Score Components (Minimum 13 points required)**:
1. **RSI Signals** (max 5 points):
- RSI < 30: +2 points
- RSI < 25: +2 points
- RSI turning up: +1 point
2. **MACD Signals** (max 8 points):
- MACD below zero: +1 point
- MACD turning up: +2 points
- MACD histogram improving: +2 points
- MACD bullish divergence: +3 points
3. **Price Action** (max 4 points):
- Long lower wick (>50%): +2 points
- Small body (<30%): +1 point
- Bullish close: +1 point
4. **Pattern Recognition** (max 8 points):
- RSI bullish divergence: +4 points
- Quick recovery pattern: +2 points
- Reversal confirmation: +4 points
**Exit Score Components (Minimum 13 points required)**:
Uses inverse criteria to identify swing tops with similar weighting system.
## Risk Management Features
### Position Sizing & Risk Control
- **Single Position Strategy**: 100% equity allocation per trade
- **No Overlapping Positions**: Ensures focused risk management
- **Configurable Risk/Reward**: Default 5:1 ratio optimized for volatile assets
### Stop Loss & Take Profit Logic
- **Dynamic Stop Loss**: Based on recent swing lows with configurable buffer
- **Risk-Based Take Profit**: Calculated using risk/reward ratio
- **Clean Exit Logic**: Prevents conflicting signals
## Default Settings Optimization
### Key Parameters (Optimized for MSTR/Bitcoin-style volatility):
- **Minimum Entry Score**: 13 (ensures high-conviction entries)
- **Minimum Exit Score**: 13 (prevents premature exits)
- **Risk/Reward Ratio**: 5.0 (accounts for volatility)
- **Lower Wick Threshold**: 50% (identifies true hammer patterns)
- **Divergence Lookback**: 8 bars (optimal for swing timeframes)
### Why These Defaults Work for MSTR:
1. **Higher Score Thresholds**: MSTR's volatility requires more confirmation
2. **5:1 Risk/Reward**: Compensates for wider stops needed in volatile markets
3. **Faster MACD**: Captures momentum shifts quickly in fast-moving stocks
4. **21-period RSI**: Reduces noise while maintaining sensitivity
## Visual Features
### Score Display System
- **Green Labels**: Entry scores ≥10 points (below bars)
- **Red Labels**: Exit scores ≥10 points (above bars)
- **Large Triangles**: Actual trade entries/exits
- **Small Triangles**: Reversal pattern confirmations
### Chart Cleanliness
- Indicators plotted in separate panes (MACD, RSI)
- TP/SL levels shown only during active positions
- Clear trade markers distinguish signals from actual trades
## Backtesting Specifications
### Realistic Trading Conditions
- **Commission**: 0.1% per trade
- **Slippage**: 3 points
- **Initial Capital**: $1,000
- **Account Type**: Cash (no margin)
### Sample Size Considerations
- Strategy designed for 100+ trade sample sizes
- Recommended timeframes: 4H, 1D for swing trading
- Optimal for trending/volatile markets
## Strategy Limitations & Considerations
### Market Conditions
- **Best Performance**: Trending markets with clear swings
- **Reduced Effectiveness**: Highly choppy, sideways markets
- **Volatility Dependency**: Optimized for moderate to high volatility assets
### Risk Warnings
- **High Allocation**: 100% position sizing increases risk
- **No Diversification**: Single position strategy
- **Backtesting Limitation**: Past performance doesn't guarantee future results
## Usage Guidelines
### Recommended Assets & Timeframes
- **Primary Target**: MSTR (MicroStrategy) - 5min to 15min timeframes
- **Secondary Targets**: High-volatility stocks (TSLA, NVDA, COIN, etc.)
- **Crypto Markets**: Bitcoin, Ethereum (with parameter adjustments)
- **Timeframe Optimization**: 1min-15min for scalping, 30min-1H for swing scalping
### Timeframe Recommendations
- **Primary Scalping**: 5-minute and 15-minute charts
- **Active Monitoring**: 1-minute for precise entries
- **Swing Scalping**: 30-minute to 1-hour timeframes
- **Avoid**: Sub-1-minute (excessive noise) and above 4-hour (reduces scalping opportunities)
## Technical Requirements
- **Pine Script Version**: v6
- **Overlay**: Yes (plots on price chart)
- **Additional Panes**: MACD and RSI indicators
- **Real-time Compatibility**: Confirmed bar signals only
## Customization Options
All parameters are fully customizable through inputs:
- Indicator lengths and levels
- Scoring thresholds
- Risk management settings
- Visual display preferences
- Date range filtering
## Conclusion
This scalping strategy represents a comprehensive approach to low timeframe trading that combines multiple technical analysis methods into a cohesive, quantified system specifically optimized for MSTR's unique volatility characteristics. The optimized parameters and scoring methodology provide a systematic way to identify high-probability scalping setups while managing risk effectively in fast-moving markets.
The strategy's strength lies in its objective, multi-criteria approach that removes emotional decision-making from scalping while maintaining the flexibility to adapt to different instruments through parameter optimization. While designed for MSTR, the underlying methodology can be fine-tuned for other high-volatility assets across various markets.
**Important Disclaimer**: This strategy is designed for experienced scalpers and is optimized for MSTR trading. The high-frequency nature of scalping involves significant risk. Past performance does not guarantee future results. Always conduct your own analysis, consider your risk tolerance, and be aware of commission/slippage costs that can significantly impact scalping profitability.
Pattern grafici
MABB55 Full-CrossIndicates when the MABB55 crosses the:
MABB13
MABB21
EMA8
When a full crossover happens, where the long-term average (MABB 55) moves above or below the faster ones (EMA 8, MABB 13, and 21) it means the trend has shifted so strongly and consistently that it overcomes short-term price movement. That kind of shift usually signals a trend reversal.
Bullish reversals with the MABB55 crossing from above, indicated by a green arrowl.
Bearish reversals with the MABB55 crossing from below, indicated by a red arrow.
ROGUE ICT PRORogue ICT PRO — Smart Money Confluence Tool
The Rogue ICT Buy/Sell indicator is a precision-built, multi-confirmation tool inspired by Inner Circle Trader (ICT) concepts. It identifies high-probability trade setups using market structure, fair value gaps, killzone sessions, and higher timeframe trend alignment.
✅ Core Features
🔹 Market Structure Shift (MSS)
Detects clean breaks of swing highs or lows, indicating potential trend continuation or reversal.
🔹 Fair Value Gap Detection (FVG)
Automatically highlights institutional imbalances — essential ICT confluence zones.
🔹 Smart Killzone Filtering
Signals only trigger during high-liquidity sessions:
Asian (19:00–22:00)
London (02:00–05:00)
New York (07:00–10:00)
Each session is color-highlighted on the chart.
🔹 HTF EMA Bias Filter
Only trades in the direction of the Higher Timeframe 50 EMA (e.g., 1H on 5M chart). This ensures entries align with institutional directional bias. I have default set to the Daily 9 EMA but can be changed to your preference.
🔹 ATR-Based Stop Loss & Take Profit Lines
SL is calculated using ATR × multiplier
TP is placed using a customizable Risk-Reward Ratio
Both levels are plotted on the chart with "SL" and "TP" labels.
🔹 Cooldown Logic
Prevents overtrading by requiring a minimum number of bars between each signal.
Volume Overbought/Oversold Zones📊 What You’ll See on the Chart
Red Background or Red Triangle ABOVE a Candle
🔺 Means: Overbought Volume
→ Volume on that bar is much higher than average (as defined by your settings).
→ Suggests strong activity, possible exhaustion in the trend or an emotional spike.
→ It’s a warning: consider watching for signs of reversal, especially if price is already stretched.
Green Background or Green Triangle BELOW a Candle
🔻 Means: Oversold Volume
→ Volume on that bar is much lower than normal.
→ Suggests the market may be losing momentum, or few sellers are left.
→ Could signal an upcoming reversal or recovery if confirmed by price action.
Orange Line Below the Candles (Volume Moving Average)
📈 Shows the "normal" average volume over the last X candles (default is 20).
→ Helps you visually compare each bar’s volume to the average.
Gray Columns (Actual Volume Bars)
📊 These are your regular volume bars — they rise and fall based on how active each candle is.
🔍 What This Indicator Does (In Simple Words)
This indicator looks at trading volume—which is how many shares/contracts were traded in a given period—and compares it to what's considered "normal" for recent history. When volume is unusually high or low, it highlights those moments on the chart.
It tells you:
• When volume is much higher than normal → market might be overheated or experiencing a buying/selling frenzy.
• When volume is much lower than normal → market might be quiet, potentially indicating lack of interest or indecision.
These conditions are marked visually, so you can instantly spot them.
💡 How It Helps You As a Trader
1. Spotting Exhaustion in Trends (Overbought Signals)
If a market is going up and suddenly volume spikes way above normal, it may mean:
• The move is getting crowded (lots of buyers are already in).
• A reversal or pullback could be near because smart money may be taking profits.
Trading idea: Wait for high-volume up bars, then look for price weakness to consider a short or exit.
2. Identifying Hidden Opportunities (Oversold Signals)
If price is falling but volume drops unusually low, it might mean:
• Panic is fading.
• Sellers are losing energy.
• A bounce or trend reversal could happen soon.
Trading idea: After a volume drop in a downtrend, watch for bullish price patterns or momentum shifts to consider a buy.
3. Confirming or Doubting Breakouts
Volume is critical for confirming breakouts:
• If price breaks a key level with strong volume, it's more likely to continue.
• A breakout without volume could be a fake-out.
This indicator highlights volume surges that can help you confirm such moves.
📈 How to Use It in Practice
• Combine it with candlestick patterns, support/resistance, or momentum indicators.
• Use the background colors or shapes as a visual cue to pause and analyze.
• Adjust the sensitivity to suit fast-moving markets (like crypto) or slow ones (like large-cap stocks).
Volatility Index Percentile Risk STOCK StrategyVolatility-Index Percentile Risk STOCK Strategy
──────────────────────────────────────────────
PURPOSE
• Go long equities only when implied volatility (from any VIX-style index) is in its quietest percentile band.
• Scale stop-loss distance automatically with live volatility so risk stays proportional across timeframes and market regimes.
HOW IT WORKS
1. Pull the closing price of a user-selected volatility index (default: CBOE VIX, Nasdaq VXN, etc.).
2. Compute its 1-year (252-bar) percentile.
– If percentile < “Enter” threshold → open / maintain long.
– If percentile > “Exit” threshold → flatten.
3. Set the stop-loss every bar at:
SL % = (current VIX value) ÷ Risk Divisor
(e.g., VIX = 20 and divisor = 57 → 0.35 % SL below entry).
This keeps risk tighter when volatility is high and looser when it’s calm.
USER INPUTS
• VIX-style Index — symbol of any volatility index
• Look-back — length for percentile (default 252)
• Enter Long < Percentile — calm-market trigger (default 15 %)
• Exit Long > Percentile — fear trigger (default 60 %)
• Risk Divisor (SL) — higher number = tighter stop; start with 57 on 30-min charts
• Show Debug Plots — optional visibility of percentile & SL%
RECOMMENDED BACK-TEST SETTINGS
• Timeframe: 30 min – Daily on liquid stocks/ETFs highly correlated to the chosen VIX.
• Initial capital: 100 000 | Order size: 10 % of equity
• Commission: 0.03 % | Slippage: 5 ticks
• Enable *Bar Magnifier* and *Fill on bar close* for realistic execution.
ADDITIONAL INFORMATION
• **Self-calibrating risk** – no static ATR or fixed %, adapts instantly to changing volatility.
• **Percentile filter** – regime-aware entry logic that avoids false calm periods signalled by raw VIX levels.
• **Timeframe-agnostic** – works from intraday to weekly; √T-style divisor lets you fine-tune stops quickly ,together with the percentiles and days length.
• Zero look-ahead.
CAVEATS
• Long-only; no built-in profit target. Add one if your plan requires fixed R:R exits.
• Works best on indices/stocks that move with the selected vol index.
• Back-test results are educational; past performance never guarantees future returns.
LICENSE & CREDITS
Released under the Mozilla Public License 2.0.
Inspired by academic research on volatility risk premia and mean-reversion.
DISCLAIMER
This script is for informational and educational purposes only. It is **not** financial advice. Use at your own risk.
FutureObitz Bank LevelsFutureObitz Bank Levels - Daily Structure & Trading Zones
"The Obitz Bank Levels indicator is a powerful tool designed to help traders identify key daily structural price levels. It automatically extracts the 1 hour and 4 hour High and 1 hour and 4 hour Low. You may also use this indicator for lower timeframes aswell. Going lower than 15 min is not recommended.
What This Indicator Provides:
Dynamic Daily Levels: Calculates and plots the Daily High, Daily Low, Middle, Middle High, and Middle Low of the current trading day. These lines provide clear reference points for price action.
Defined Buy & Sell Zones: Visualizes potential accumulation (Buy Zone) and distribution (Sell Zone) areas. These zones are calculated as a customizable percentage (via inputs) above/below the 'Middle' of the daily range, helping to identify potential entry or exit points.
Multi-Timeframe Compatibility: Displays the exact same daily levels regardless of your active chart's timeframe, offering a consistent higher-timeframe perspective for intraday traders.
Visual Clarity: Includes filled zones for better visualization of the Buy and Sell areas.
Optional Labels: Provides clear labels for the latest daily levels (D. High, D. Low, D. Middle, D. Buy Zone, D. Sell Zone) on the last bar of your chart for quick reference.
This indicator serves as a robust framework for understanding daily market structure and can assist in identifying potential areas of support, resistance, and trading opportunities. It's an excellent tool for traders who rely on clear, higher-timeframe levels to inform their trading decisions.
-FutureObitz
Saty ATR Levels// Saty ATR Levels
// Copyright (C) 2022 Saty Mahajan
// Author is not responsible for your trading using this script.
// Data provided in this script is not financial advice.
//
// Features:
// - Day, Multiday, Swing, Position, Long-term, Keltner trading modes
// - Range against ATR for each period
// - Put and call trigger idea levels
// - Intermediate levels
// - Full-range levels
// - Extension levels
// - Trend label based on the 8-21-34 Pivot Ribbon
//
// Special thanks to Gabriel Viana.
// Based on my own ideas and ideas from Ripster, drippy2hard,
// Adam Sliver, and others.
//@version=5
indicator('Saty ATR Levels', shorttitle='Saty ATR Levels', overlay=true)
// Options
day_trading = 'Day'
multiday_trading = 'Multiday'
swing_trading = 'Swing'
position_trading = 'Position'
longterm_trading = 'Long-term'
trading_type = input.string(day_trading, 'Trading Type', options= )
use_options_labels = input(true, 'Use Options Labels')
atr_length = input(14, 'ATR Length')
trigger_percentage = input(0.236, 'Trigger Percentage')
previous_close_level_color = input(color.white, 'Previous Close Level Color')
lower_trigger_level_color = input(color.yellow, 'Lower Trigger Level Color')
upper_trigger_level_color = input(color.aqua, 'Upper Trigger Level Color')
key_target_level_color = input(color.silver, 'Key Target Level Color')
atr_target_level_color = input(color.white, 'ATR Target Level Color')
intermediate_target_level_color = input(color.gray, 'Intermediate Target Level Color')
show_all_fibonacci_levels = input(true, 'Show All Fibonacci Levels')
show_extensions = input(false, 'Show Extensions')
level_size = input(2, 'Level Size')
show_info = input(true, 'Show Info Label')
use_current_close = input(false, 'Use Current Close')
fast_ema = input(8, 'Fast EMA')
pivot_ema = input(21, 'Pivot EMA')
slow_ema = input(34, 'Slow EMA')
// Set the appropriate timeframe based on trading mode
timeframe_func() =>
timeframe = 'D'
if trading_type == day_trading
timeframe := 'D'
else if trading_type == multiday_trading
timeframe := 'W'
else if trading_type == swing_trading
timeframe := 'M'
else if trading_type == position_trading
timeframe := '3M'
else if trading_type == longterm_trading
timeframe := '12M'
else
timeframe := 'D'
// Trend
price = close
fast_ema_value = ta.ema(price, fast_ema)
pivot_ema_value = ta.ema(price, pivot_ema)
slow_ema_value = ta.ema(price, slow_ema)
bullish = price >= fast_ema_value and fast_ema_value >= pivot_ema_value and pivot_ema_value >= slow_ema_value
bearish = price <= fast_ema_value and fast_ema_value <= pivot_ema_value and pivot_ema_value <= slow_ema_value
// Data
period_index = use_current_close ? 0 : 1
ticker = ticker.new(syminfo.prefix, syminfo.ticker, session=session.extended)
previous_close = request.security(ticker, timeframe_func(), close , gaps=barmerge.gaps_off, lookahead=barmerge.lookahead_on)
atr = request.security(ticker, timeframe_func(), ta.atr(atr_length) , gaps=barmerge.gaps_off, lookahead=barmerge.lookahead_on)
period_high = request.security(ticker, timeframe_func(), high, gaps=barmerge.gaps_off, lookahead=barmerge.lookahead_on)
period_low = request.security(ticker, timeframe_func(), low, gaps=barmerge.gaps_off, lookahead=barmerge.lookahead_on)
range_1 = period_high - period_low
tr_percent_of_atr = range_1 / atr * 100
lower_trigger = previous_close - trigger_percentage * atr
upper_trigger = previous_close + trigger_percentage * atr
lower_0382 = previous_close - atr * 0.382
upper_0382 = previous_close + atr * 0.382
lower_0500 = previous_close - atr * 0.5
upper_0500 = previous_close + atr * 0.5
lower_0618 = previous_close - atr * 0.618
upper_0618 = previous_close + atr * 0.618
lower_0786 = previous_close - atr * 0.786
upper_0786 = previous_close + atr * 0.786
lower_1000 = previous_close - atr
upper_1000 = previous_close + atr
lower_1236 = lower_1000 - atr * 0.236
upper_1236 = upper_1000 + atr * 0.236
lower_1382 = lower_1000 - atr * 0.382
upper_1382 = upper_1000 + atr * 0.382
lower_1500 = lower_1000 - atr * 0.5
upper_1500 = upper_1000 + atr * 0.5
lower_1618 = lower_1000 - atr * 0.618
upper_1618 = upper_1000 + atr * 0.618
lower_1786 = lower_1000 - atr * 0.786
upper_1786 = upper_1000 + atr * 0.786
lower_2000 = lower_1000 - atr
upper_2000 = upper_1000 + atr
lower_2236 = lower_2000 - atr * 0.236
upper_2236 = upper_2000 + atr * 0.236
lower_2382 = lower_2000 - atr * 0.382
upper_2382 = upper_2000 + atr * 0.382
lower_2500 = lower_2000 - atr * 0.5
upper_2500 = upper_2000 + atr * 0.5
lower_2618 = lower_2000 - atr * 0.618
upper_2618 = upper_2000 + atr * 0.618
lower_2786 = lower_2000 - atr * 0.786
upper_2786 = upper_2000 + atr * 0.786
lower_3000 = lower_2000 - atr
upper_3000 = upper_2000 + atr
// Add Labels
tr_vs_atr_color = color.green
if tr_percent_of_atr <= 70
tr_vs_atr_color := color.green
else if tr_percent_of_atr >= 90
tr_vs_atr_color := color.red
else
tr_vs_atr_color := color.orange
trading_mode = 'Day'
if trading_type == day_trading
trading_mode := 'Day'
else if trading_type == multiday_trading
trading_mode := 'Multiday'
else if trading_type == swing_trading
trading_mode := 'Swing'
else if trading_type == position_trading
trading_mode := 'Position'
else if trading_type == longterm_trading
trading_mode := 'Long-term'
else
trading_mode := ''
long_label = ''
short_label = ''
if use_options_labels
long_label := 'Calls'
short_label := 'Puts'
else
long_label := 'Long'
short_label := 'Short'
trend_color = color.orange
if bullish
trend_color := color.green
else if bearish
trend_color := color.red
else
trend_color := color.orange
var tbl = table.new(position.top_right, 1, 4)
if barstate.islast and show_info
table.cell(tbl, 0, 0, 'Saty ATR Levels', bgcolor=trend_color)
table.cell(tbl, 0, 1, trading_mode + ' Range ($' + str.tostring(range_1, '#.##') + ') is ' + str.tostring(tr_percent_of_atr, '#.#') + '% of ATR ($' + str.tostring(atr, '#.##') + ')', bgcolor=tr_vs_atr_color)
table.cell(tbl, 0, 2, long_label + ' > $' + str.tostring(upper_trigger, '#.##') + ' | +1 ATR $' + str.tostring(upper_1000, '#.##'), bgcolor=upper_trigger_level_color)
table.cell(tbl, 0, 3, short_label + ' < $' + str.tostring(lower_trigger, '#.##') + ' | -1 ATR: $' + str.tostring(lower_1000, '#.##'), bgcolor=lower_trigger_level_color)
// Add levels
plot(show_extensions ? lower_3000 : na, color=color.new(atr_target_level_color, 40), linewidth=level_size, title='-300.0%', style=plot.style_stepline)
//plot(show_all_fibonacci_levels and show_extensions ? lower_2786 : na, color=color.new(intermediate_target_level_color, 40), linewidth=level_size, title='-278.6%', style=plot.style_stepline)
plot(show_extensions ? lower_2618 : na, color=color.new(key_target_level_color, 40), linewidth=level_size, title='-261.8%', style=plot.style_stepline)
//plot(show_all_fibonacci_levels and show_extensions ? lower_2500 : na, color=color.new(intermediate_target_level_color, 40), linewidth=level_size, title='-250.0%', style=plot.style_stepline)
//plot(show_all_fibonacci_levels and show_extensions ? lower_2382 : na, color=color.new(intermediate_target_level_color, 40), linewidth=level_size, title='-238.2%', style=plot.style_stepline)
plot(show_extensions ? lower_2236 : na, color=color.new(key_target_level_color, 40), linewidth=level_size, title='-223.6%', style=plot.style_stepline)
plot(show_extensions ? lower_2000 : na, color=color.new(atr_target_level_color, 40), linewidth=level_size, title='-200.0%', style=plot.style_stepline)
plot(show_all_fibonacci_levels and show_extensions ? lower_1786 : na, color=color.new(intermediate_target_level_color, 40), linewidth=level_size, title='-178.6%', style=plot.style_stepline)
plot(show_extensions ? lower_1618 : na, color=color.new(key_target_level_color, 40), linewidth=level_size, title='-161.8%', style=plot.style_stepline)
plot(show_all_fibonacci_levels and show_extensions ? lower_1500 : na, color=color.new(intermediate_target_level_color, 40), linewidth=level_size, title='-150.0%', style=plot.style_stepline)
plot(show_all_fibonacci_levels and show_extensions ? lower_1382 : na, color=color.new(intermediate_target_level_color, 40), linewidth=level_size, title='-138.2%', style=plot.style_stepline)
plot(show_extensions ? lower_1236 : na, color=color.new(key_target_level_color, 40), linewidth=level_size, title='-123.6%', style=plot.style_stepline)
plot(lower_1000, color=color.new(atr_target_level_color, 40), linewidth=level_size, title='-100%', style=plot.style_stepline)
plot(show_all_fibonacci_levels ? lower_0786 : na, color=color.new(intermediate_target_level_color, 40), linewidth=level_size, title='-78.6%', style=plot.style_stepline)
plot(lower_0618, color=color.new(key_target_level_color, 40), linewidth=level_size, title='-61.8%', style=plot.style_stepline)
plot(show_all_fibonacci_levels ? lower_0500 : na, color=color.new(intermediate_target_level_color, 40), linewidth=level_size, title='-50.0%', style=plot.style_stepline)
plot(show_all_fibonacci_levels ? lower_0382 : na, color=color.new(intermediate_target_level_color, 40), linewidth=level_size, title='-38.2%', style=plot.style_stepline)
plot(lower_trigger, color=color.new(lower_trigger_level_color, 40), linewidth=level_size, title='Lower Trigger', style=plot.style_stepline)
plot(previous_close, color=color.new(previous_close_level_color, 40), linewidth=level_size, title='Previous Close', style=plot.style_stepline)
plot(upper_trigger, color=color.new(upper_trigger_level_color, 40), linewidth=level_size, title='Upper Trigger', style=plot.style_stepline)
plot(show_all_fibonacci_levels ? upper_0382 : na, color=color.new(intermediate_target_level_color, 40), linewidth=level_size, title='38.2%', style=plot.style_stepline)
plot(show_all_fibonacci_levels ? upper_0500 : na, color=color.new(intermediate_target_level_color, 40), linewidth=level_size, title='50.0%', style=plot.style_stepline)
plot(upper_0618, color=color.new(key_target_level_color, 40), linewidth=level_size, title='61.8%', style=plot.style_stepline)
plot(show_all_fibonacci_levels ? upper_0786 : na, color=color.new(intermediate_target_level_color, 40), linewidth=level_size, title='78.6%', style=plot.style_stepline)
plot(upper_1000, color=color.new(atr_target_level_color, 40), linewidth=level_size, title='100%', style=plot.style_stepline)
plot(show_extensions ? upper_1236 : na, color=color.new(key_target_level_color, 40), linewidth=level_size, title='123.6%', style=plot.style_stepline)
plot(show_all_fibonacci_levels and show_extensions ? upper_1382 : na, color=color.new(intermediate_target_level_color, 40), linewidth=level_size, title='138.2%', style=plot.style_stepline)
plot(show_all_fibonacci_levels and show_extensions ? upper_1500 : na, color=color.new(intermediate_target_level_color, 40), linewidth=level_size, title='150.0%', style=plot.style_stepline)
plot(show_extensions ? upper_1618 : na, color=color.new(key_target_level_color, 40), linewidth=level_size, title='161.8%', style=plot.style_stepline)
plot(show_all_fibonacci_levels and show_extensions ? upper_1786 : na, color=color.new(intermediate_target_level_color, 40), linewidth=level_size, title='178.6%', style=plot.style_stepline)
plot(show_extensions ? upper_2000 : na, color=color.new(atr_target_level_color, 40), linewidth=level_size, title='200.0%', style=plot.style_stepline)
plot(show_extensions ? upper_2236 : na, color=color.new(key_target_level_color, 40), linewidth=level_size, title='223.6%', style=plot.style_stepline)
//plot(show_all_fibonacci_levels and show_extensions ? upper_2382 : na, color=color.new(intermediate_target_level_color, 40), linewidth=level_size, title='238.2%', style=plot.style_stepline)
//plot(show_all_fibonacci_levels and show_extensions ? upper_2500 : na, color=color.new(intermediate_target_level_color, 40), linewidth=level_size, title='250.0%', style=plot.style_stepline)
plot(show_extensions ? upper_2618 : na, color=color.new(key_target_level_color, 40), linewidth=level_size, title='261.8%', style=plot.style_stepline)
//plot(show_all_fibonacci_levels and show_extensions ? upper_2786 : na, color=color.new(intermediate_target_level_color, 40), linewidth=level_size, title='278.6%', style=plot.style_stepline)
plot(show_extensions ? upper_3000 : na, color=color.new(atr_target_level_color, 40), linewidth=level_size, title='300%', style=plot.style_stepline)
Doji Candlestick w/ Volatility & Uninterrupted CyclesTracks Doji formation and provides a rating score of Low Medium and High for stocks.
Closed Market / Back-Test Filter x 'Bull_Trap_9'Hello TradingView Traders!
This is a very valuable tool that I believe all traders will find useful.
This indicator / filter is '1 of 2'. I prefer it as a filter because it is not meant for live trade analysis. It is designed to make a trader aware of their individual trade sessions and to help aid in static chart candlestick back-testing.
Also, look for my indicator / filter, '2 of 2': 'Red Report Filter'
There are two functions to this filter.
Primary use: It allows a trader to set a session window: Open / Close.
During a trade session, like YM, I only trade 9:30 - 15:00. Without the filter, many times I have traded past my cutoff because I was focused on the chart and not the time.
With this filter on as close nears with an open trade and the filter starts to apply, I know I am at session close with no more trades upon exit. Otherwise, I know the session is done with no further trades.
It is also nice to have the filter on during the session open as a demarcation boundary.
Secondary use: It is used as a chart back-test tool.
When applied to a traders back-test chart, the trader can control their trade session envelopes for easier and more precise evaluation. The filter will allow only the candles per session that the trader wants to focus on and will filter all other non-session candles.
I can easily compare a whole week of 30m session data, concentrating solely on the filtered trade windows.
Please Note: The filter will be active as far back as the historic data prints.
Thanks for viewing!
Rapid Candle PATTERNS V2.0Indicator Title: Rapid Candle Patterns - High-Probability Signals
Description
Tired of noisy charts filled with weak and ambiguous candlestick patterns? The Rapid Candle Patterns indicator is engineered to solve this problem by moving beyond simple textbook definitions. It identifies only high-probability reversal and continuation signals by focusing on the underlying market dynamics: momentum, liquidity, and confirmation.
This is not just another pattern indicator; it's a professional-grade tool designed to help you spot truly significant price action events.
How The Logic Works & Why It's More Accurate
Each pattern in this script has been enhanced with stricter, more intelligent rules to filter out noise and reduce false signals. Here’s what makes our logic superior:
1. The Liquidity Grab Hammer & Inverted Hammer
Standard Logic: A simple hammer shows a long lower wick, suggesting buyers pushed the price back up.
Our Enhanced Logic: We don't just look for a hammer shape. Our signal is only valid if the hammer’s low takes out the low of the previous candle (a "liquidity grab" or "stop hunt").
Why It's More Accurate: This sequence is incredibly powerful. It shows that sellers attempted to push the market lower, triggered stop-loss orders below the prior low, and then were decisively overpowered by buyers who reversed the price. This isn't just a reversal; it's a failed breakdown, often trapping sellers and fueling a stronger move in the opposite direction.
2. The "True" Bullish & Bearish Harami
Standard Logic: A small candle forms within the high-low range of the previous candle. This can often be misleading if the prior candle has long wicks and a tiny body.
Our Enhanced Logic: We enforce a "dual containment" rule. For a Harami to be valid, its body must be contained within the body of the previous candle. We also ensure the Harami candle itself is not a Doji, meaning it must show some conviction.
Why It's More Accurate: This ensures you are seeing a genuine and significant contraction in momentum. It filters out scenarios where a large-bodied candle forms inside the wicks of a doji-like candle, which is not a true Harami. Our logic captures the "pregnant" pattern as it was intended—a moment of quiet consolidation before a potential new move.
3. The "Power" Bullish & Bearish Engulfing
Standard Logic: A candle's body engulfs the body of the previous candle. This is a common signal, but it often lacks follow-through.
Our Enhanced Logic: Our "Power Engulfing" requires two conditions: (1) The body must engulf the prior candle's body, AND (2) the candle must close beyond the entire high/low range of the prior candle.
Why It's More Accurate: This is the ultimate sign of confirmation. It doesn't just show that one side has won the battle for the session; it proves they had enough force to break the entire structure of the previous candle. This signifies immense momentum and dramatically increases the probability that the trend will continue in the direction of the engulfing candle.
4. The Quantified Doji
Our Logic: Instead of being a subjective pattern, a Doji is defined quantitatively. It's a candle whose body is less than or equal to a user-defined percentage (default 9%) of its total range.
Why It's More Accurate: It provides a consistent and objective measure of market indecision. Furthermore, any candle identified as a Doji is automatically disqualified from being a Hammer, ensuring clear and distinct signals.
User Customization
Toggle Patterns On/Off: Declutter your chart by only showing the patterns you want to see.
Fine-Tune Logic: Use the "Pattern Logic" settings to adjust the sensitivity of the Doji and Harami detectors to perfectly match your trading style, asset, and timeframe.
Disclaimer: This indicator is a powerful tool for identifying high-probability price action. However, no single indicator is a complete trading system. Always use these signals as part of a comprehensive strategy, combined with analysis of market structure, support/resistance levels, and other forms of confluence.
RSI Divergence (Nikko)RSI Divergence by Nikko
🧠 RSI Divergence Detector — Nikko Edition This script is an enhanced RSI Divergence detector built with Pine Script v6, modified for better visuals and practical usability. It uses linear regression to detect bullish and bearish divergences between the RSI and price action — one of the most reliable early signals in technical analysis.
✅ Improvements from the Original:
- Clean divergence lines using regression fitting.
- Optional label display to reduce clutter (Display Labels toggle).
- Adjustable line thickness (Display Line Width).
- A subtle heatmap background to highlight RSI overbought/oversold zones.
- Uses max accuracy with high calc_bars_count and custom extrapolation window.
🔍 How It Works: The script applies linear regression (least squares method) on both RSI data, and Price (close) data.
It then compares the direction of RSI vs. direction of Price over a set length. If price is making higher highs while RSI makes lower highs, it's a bearish divergence. If price is making lower lows while RSI makes higher lows, it's a bullish divergence. Additional filters (e.g., momentum and slope thresholds) are used to validate only strong divergences.
🔧 Input Parameters: RSI Length: The RSI period (default: 14). RSI Divergence Length: The lookback period for regression (default: 25). Source: Which price data to calculate RSI from (default: close). Display Labels: Show/hide “Bullish” or “Bearish” labels on the chart. Display Line Width: Adjusts how thick the plotted divergence lines appear.
📣 Alerts: Alerts are built-in for both RSI Buy (bullish divergence) and RSI Sell (bearish divergence) so you can use it in automation or notifications.
🚀 Personal Note: I’ve been using this script daily in my own trading, which is why I took time to improve both the logic and visual clarity. If you want a divergence tool that doesn't clutter your chart but gives strong signals, this might be what you're looking for.
cd_secret_candlestick_patterns_CxHi traders,
With this indicator, we aim to uncover secret candlestick formations that even advanced traders may miss—especially those that can't be detected by classic pattern indicators, unless you're a true master of candlestick patterns or candle math.
________________________________________
General Idea:
We'll try to identify candlestick patterns by regrouping candles into custom-sized segments that you define.
You might ask: “Why do I need this? I can just look at different timeframes and spot the structure anyway.” But it’s not the same.
For example, if you're using a 1-minute chart and add a higher-timeframe candle overlay (like 5-minute), the candles you see start at fixed timestamps like 0, 5, 10, etc.
However, in this indicator, we redraw new candles by grouping them from the current candle backward in batches of five.
These candles won't match the standard view—only when aligned with exact time multiples (e.g., 0 and 5 minutes) will they look the same.
In classic charts:
• You see 5-minute candles that begin every 0 and 5 minutes.
In this tool:
• You see a continuously updating set of 5 merged 1-minute candles redrawn every minute.
What about the structures forming in between those fixed timeframes?
That’s exactly what we’ll be able to detect—while also making the lower timeframe chart more readable.
________________________________________
Candle Merging:
Let’s continue with an example.
Assume we choose to merge 5 candles. Then the new candle will be formed using:
open = open
close = close
high = math.max(high , high , high , high , high)
low = math.min(low , low , low , low , low)
This logic continues backward on the chart, creating merged candles in groups of 5.
Since the selected patterns are made up of 3, 4, or 5 candles, we redraw 5 such merged candles to analyze.
________________________________________
Which Patterns Are Included?
A total of 18 bullish and bearish patterns are included.
You’ll find both widely known formations and a few personal ones I use, marked as (MeReT).
You can find the pattern list and visual reference here:
________________________________________
Entry and Filtering Suggestions:
Let me say this clearly:
Entering a trade every time a pattern forms will not make you profitable in the long run.
You need a clear trade plan and should only act when you can answer questions like:
• Where did the pattern appear?
• When and under what conditions?
It’s more effective to trade in the direction of the trend and look for setups around support/resistance, supply/demand zones, key levels, or areas confirmed by other indicators.
Whether you enter immediately after the pattern or wait for a retest is a personal choice—but risk management is non-negotiable.
One of the optional filters I’ve included is a Higher Timeframe (HTF) condition, which is my personal preference:
When enabled, the highest or lowest price among the pattern candles must match the high or low of the current HTF candle.
You can see in the image below the decrease in the number of detected patterns on the 1-minute chart when using no filter (blue labels) compared to when the 1-hour timeframe filter is applied (red labels).
Additionally, I’ve added a “protected” condition for engulfing patterns to help filter out weak classic engulf patterns.
________________________________________
Settings:
From the menu, you can configure:
• Number of candles for regrouping
• Distance between the last candle and newly drawn candles
• Show/hide options
• HTF filter toggle and timeframe selection
• Color, label placement, and text customization
• Pattern list (select which to display or trigger alerts for)
My preferred setup:
While trading on the 1-minute chart, I typically set the higher timeframe to 15m or 1H, and switch the candle count between 2 and 3 depending on the situation.
⚠️ Important note:
The “Show” and “Alert” options are controlled by a single command.
Alerts are automatically created for any pattern you choose to display.
________________________________________
What’s Next?
In future updates, I plan to add:
• Pattern success rate statistics
• Multi-broker confirmation for pattern validation
Lastly, keep in mind:
The more candles a pattern is based on, the more reliable it may be.
I'd love to hear your feedback and suggestions.
Cheerful trading! 🕊️📈
Morning Structure – Live 30 Min Range📝 Description:
This indicator captures the morning price structure by tracking the high and low during the first 30 minutes after market open (default: 9:30 AM to 10:00 AM, New York time).
🔧 How it works:
At market open, it begins tracking the highest high and lowest low
The high and low lines are dynamic and update in real-time during the first 30 minutes
Once the 30-minute range completes, the lines freeze at their final values
Lines extend horizontally across the rest of the session to mark the "Morning Range"
✅ Key Features:
Tracks live price action during the morning session
Freezes the structure after 30 minutes (or user-defined)
Automatically resets each new trading day
Built-in timezone setting (America/New_York) to align with standard U.S. market hours
Clean visual lines that scroll naturally with the chart
⚙️ Use Cases:
Identify morning breakout zones
Define support and resistance early in the session
Combine with breakout, fade, or range-trading strategies
⚠️ Note:
This version does not include alerts or labels, by design (clean and focused).
Those can be added easily for custom strategies.
Trap Candle (Trend H4 + RSI Filter)🔍 Trap Candle (Trend H4 + RSI Filter)
Description:
The Trap Candle indicator is designed to identify a specific and powerful two-candle price action pattern that often signals a false breakout followed by a strong reversal. It combines pure price action with two objective filters to increase signal quality and trend alignment.
📊 Pattern Logic:
Bullish Trap: The current candle breaks the previous candle’s low, but closes above its high (and is bullish).
Bearish Trap: The current candle breaks the previous candle’s high, but closes below its low (and is bearish).
This pattern often reveals institutional traps or stop hunts before directional movement.
🧠 Trend Filter (H4):
Ensures long signals occur only when the H4 close is higher than the previous H4 close (uptrend).
Ensures short signals occur only in a H4 downtrend.
Designed to align intraday entries (M15, H1) with higher timeframe momentum.
💪 RSI Confirmation:
Includes a configurable RSI filter on the current timeframe.
Only long signals are shown when RSI is above a user-defined threshold (e.g. 55).
Only short signals are shown when RSI is below a user-defined threshold (e.g. 45).
⚙️ Key Features:
Full customization of RSI period and thresholds.
Clean, visual signal plotting on the chart (with “Trap L” or “Trap S” labels).
Built-in alerts for both long and short trap candle setups.
Perfect for traders who want to trade smart reversals with trend and momentum confirmation.
✅ Recommended Timeframes:
M15 and H1 (entry)
Uses H4 for trend bias
If you’re looking to filter out noise and spot only the highest quality reversal setups, the Trap Candle (Trend H4 + RSI Filter) is a solid tool for any price action-based strategy.
First Candle🕯️ First Candle Indicator (First 5-Minute Candle High/Low)
The First Candle indicator automatically marks the high and low of the first 5-minute candle of the U.S. trading session . These levels can act as key intraday support and resistance zones, often used in breakout, scalping, or opening-range trading strategies.
📌 Key Features:
Automatic detection of the first candle of the U.S. session based on the selected timeframe (default is 5 minutes).
Horizontal lines are plotted at the high and low of that candle, with fully customizable colors and thickness.
Labels show the exact level and timeframe used for the high and low.
Resets daily, removing previous session data at the start of a new session.
Displays a visual marker (blue triangle) when the first candle is detected.
Allows users to select different timeframes for defining the "first candle" (e.g., 1, 5, 15 minutes).
⚙️ Customizable Inputs:
Show First Candle Lines: toggle the display of high/low lines.
Timeframe for Marking: choose the timeframe to detect the first candle (e.g., 5 minutes).
High Line Color / Low Line Color: set the color of each level line.
Line Thickness: adjust the width of the lines (1 to 5 pixels).
🧠 Strategic Applications:
Identify breakout zones right after the market opens.
Define opening range for pullback or continuation setups.
Set clear reference levels for intraday trading decisions.
LANZ Strategy 1.0 [Backtest]🔷 LANZ Strategy 1.0 — Time-Based Session Trading with Smart Reversal Logic and Risk-Controlled Limit Orders
This backtest version of LANZ Strategy 1.0 brings precision to session-based trading by using directional confirmation, pre-defined risk parameters, and limit orders that execute overnight. Designed for the 1-hour timeframe, it allows traders to evaluate the system with configurable SL, TP, and risk settings in a fully automated environment.
🧠 Core Strategy Logic:
1. Directional Confirmation at 18:00 NY:
At 18:00 NY, the system compares the 08:00 open vs the 18:00 close:
If the direction matches the previous day, the signal is reversed.
If the direction differs, the current day's trend is kept.
This logic is designed to avoid momentum exhaustion and capture corrective reversals.
2. Entry Level Definition:
Based on the confirmed direction:
For BUY, the Low of the day is used as Entry Point (EP).
For SELL, the High of the day becomes EP.
The system plots a Stop Loss and Take Profit based on user-defined pip inputs (default: SL = 18 pips, TP = 54 pips → RR 1:3).
3. Time-Limited Entry Execution (LIMIT Orders):
Orders are sent after 18:00 NY and can be triggered anytime between 18:00 and 08:00 NY.
If EP is not touched before 08:00, the order is automatically cancelled.
4. Manual Close Feature:
If the trade is still open at the configured hour (default 09:00 NY), the system closes all positions, simulating realistic intraday exit scenarios.
5. Lot Size Calculation Based on Risk:
Lot size is dynamically calculated using the account size, risk percentage, and SL distance.
This ensures consistent risk exposure regardless of market volatility.
⚙️ Step-by-Step Flow:
08:00 NY → Captures the open of the day.
18:00 NY → Confirms direction and defines EP, SL, and TP.
After 18:00 NY → If conditions are met, a LIMIT order is placed at EP.
Between 18:00–08:00 NY → If price touches EP, the trade is executed.
At 08:00 NY → If EP wasn’t touched, the order is cancelled.
At Configured Manual Close Time (default 09:00 NY) → All open positions are force-closed if still active.
🧪 Backtest Settings:
Timeframe: 1-hour only
Order Type: strategy.entry() with limit=
SL/TP Configurable: Yes, in pips
Risk Input: % of capital per trade
Manual Close Time: Fully adjustable (default 09:00 NY)
👨💻 Credits:
Developed by LANZ
Strategy logic and trading concept built with clarity and precision.
Code structure and documentation by Kairos, your AI trading assistant.
Designed for high-confidence execution and clean backtesting performance.
Price-EMA Z-Score Backgroundhe “Price‑to‑EMA Z‑Score Background” indicator is designed to give you a clear, visual sense of when price has moved unusually far away from its smoothed trend, and to highlight those moments as potential overextension or mean‑reversion opportunities. Under the hood, it first computes a standard exponential moving average (EMA) of your chosen lookback length, then measures the raw difference between the current close and that EMA on every bar. To make that raw deviation comparable across different markets and timeframes, it converts the series of differences into a z‑score—subtracting the rolling mean of the deviations and dividing by their rolling standard deviation over a second lookback window.
Once you’ve normalized price‑to‑EMA distance into z‑score units, you can set two simple trigger levels: one upper threshold and one lower threshold. Whenever the z‑score climbs above the upper threshold, the chart background glows green, signaling that price is extended far above its EMA (and might be ripe for a pullback). Whenever the z‑score falls below the lower threshold, the background turns red, calling out an equally extreme move below the EMA (and a possible oversold bounce). Between those bands, no shading appears, letting you know price is trading within its “normal” range around the trend.
By adjusting the EMA period, the z‑score lookback, and the two trigger levels, you can dial in early warning signals (e.g. ±1 σ) or wait for very stretched moves (±2 σ or more). Used in concert with your favorite momentum or pattern tools—or even as a standalone visual cue—this simple background‑shading approach makes it easy to spot when a market is running too hot or too cold relative to its own recent average.
Yield Curve Regime Shading with LegendTakes two symbols (e.g. two futures contracts, two FX pairs, etc.) as inputs.
Calculates the “regime” as the sign of the change in their difference over an n‑period lookback.
Lets you choose whether you want to color the bars themselves or shade the background.
How it works
Inputs
symbolA, symbolB: the two tickers you’re comparing.
n: lookback in bars to measure the change in the spread.
mode: pick between “Shading” or “Candle Color”.
Data fetching
We use request.security() to pull each series at the chart’s timeframe.
Regime calculation
spread = priceA – priceB
spreadPrev = ta.valuewhen(not na(spread), spread , 0) (i.e. the spread n bars ago)
If spread > spreadPrev → bullish regime
If spread < spreadPrev → bearish regime
Plotting
Shading: apply bgcolor() in green/red.
Candle Color: use barcolor() to override the bar color.
SMA Smooth Market Structure (Multi-Timeframe)SMA Market Structure (Multi-Timeframe) is a powerful tool for tracking structural price action, using simple moving averages across any higher timeframe (HTF). It blends Smart Money Concepts with clean swing logic to reveal trend shifts, breaks of structure, and supply/demand zones.
This indicator highlights key structure features:
• Break of Structure (BOS) – Automatic detection of bullish or bearish swing breaks
• Internal Shifts – Early clues that the market is building toward a reversal
• Liquidity Sweeps (LS) – Detects swing failures that may trap traders
• Zigzag Swing Lines – Cleanly connects swing highs and lows
• Dynamic Zones – Demand (green) and supply (red) blocks drawn from engulfing breakouts
How to Use:
• Set your preferred HTF (e.g. 1H on a 15m chart) to view structure in proper context and
adjust SMA to smooth out market structure for directional consistency
• Watch BOS lines and swing labels like HH, HL, LH, LL for directional clarity
• Use the MS (Market Shift) label to identify full reversals after internal shifts + BOS
• Demand/Supply zones mark areas of previous strength and will update or mitigate automatically
• Alerts notify you of every BOS, MS, HH, LL, and LS event — no need to monitor manually
Customization Features:
• Toggle visibility of market shift markers, internal shifts, and zones
• Choose how internal shifts are calculated (High/Low or Open)
• Customize line style, width, and colors for BOS and zigzag lines
• Control zone duration and how mitigated zones behave (fade or delete)
• Built-in safety for Pine Script’s history limits using smart offset caps
Best Use Tips:
• Combine with price action patterns or volume for confirmation
• MS + BOS + zone tap often marks a high-probability reversal setup
• Use it to align lower timeframe entries with higher timeframe structure
For traders who want structure clarity without clutter, this tool is built to keep your chart actionable and adaptive.
Aftershock Playbook: Stock Earnings Drift EngineStrategy type
Event-driven post-earnings momentum engine (long/short) built for single-stock charts or ADRs that publish quarterly results.
What it does
Detects the exact earnings bar (request.earnings, lookahead_off).
Scores the surprise and launches a position on that candle’s close.
Tracks PnL: if the first leg closes green, the engine automatically re-enters on the very next bar, milking residual drift.
Blocks mid-cycle trades after a loss until the next earnings release—keeping the risk contained to one cycle.
Think of it as a sniper that fires on the earnings pop, reloads once if the shot lands, then goes silent until the next report.
Core signal inputs
Component Default Purpose
EPS Surprise % +0 % / –5 % Minimum positive / negative shock to trigger longs/shorts.
Reverse signals? Off Quick flip for mean-reversion experiments.
Time Risk Mgt. Off Optional hard exit after 45 calendar days (auto-scaled to any TF).
Risk engine
ATR-based stop (ATR × 2 by default, editable).
Bar time stop (15-min → Daily: Have to select the bar value ).
No pyramiding beyond the built-in “double-tap”.
All positions sized as % of equity via Strategy Properties.
Visual aids
Yellow triangle marks the earnings bar.
Diagnostics table (top-right) shows last Actual, Estimate, and Surprise %.
Status-line tool-tips on every input.
Default inputs
Setting Value
Positive surprise ≥ 0 %
Negative surprise ≤ –5 %
ATR stop × 2
ATR length 50
Hold horizon 350 ( 1h timeframe chart bars)
Back-test properties
Initial capital 10 000
Order size 5 % of equity
Pyramiding 1 (internal re-entry only)
Commission 0.03 %
Slippage 5 ticks
Fills Bar magnifier ✔ · On bar close ✔ · Standard OHLC ✔
How to use
Add the script to any earnings-driven stock (AAPL, MSFT, TSLA…).
Turn on Time Risk Management if you want stricter risk management
Back-test different ATR multipliers to fit the stock’s volatility.
Sync commission & slippage with your broker before forward-testing.
Important notes
Works on every timeframe from 15 min to 1 D. Sweet spot around 30min/1h
All request.earnings() & request.security() calls use lookahead_off—zero repaint.
The “double-tap” re-entry occurs once per winning cycle to avoid drift-chasing loops.
Historical stats ≠ future performance. Size positions responsibly.
4 Flags Whale PatternThis indicator detects a unique 4-bar candlestick pattern characterized by alternating bullish and bearish candles (or vice versa), where all four candles have similar body sizes within a specified tolerance.
Usage:
This pattern may indicate a consolidation phase or a potential breakout zone after indecisive price action. Traders can use it to anticipate a directional move following the "tug-of-war" between buyers and sellers.
Simple Sessions & LevelsWhat this indicator does:
This script marks out two essential types of price levels for intraday and swing traders:
The high and low of a customizable 15-minute opening range after the market/session open.
The previous day’s high, midpoint (“halfback”), and low.
How it works:
The script lets you set the session start time (hour and minute) to match your market.
It then calculates the high and low of the first 15 minutes after the session opens and plots those as solid lines.
It also plots the prior day’s high, halfback (midpoint), and low on your chart for easy reference.
Each line and each label can be toggled on or off independently in the settings for maximum customization.
Colors for each level are also fully customizable.
How to use it:
Add the script to your chart.
Set the session start hour and minute to match the open of the market or instrument you trade.
Choose which levels and labels you want displayed by using the toggles in the settings.
The indicator will automatically draw the session range and prior day levels for you.
Use these lines as reference for key support, resistance, and potential trade entry/exit points.
What makes it unique and useful:
This tool combines a flexible session opening range with classic daily reference levels in one package. You have complete control over which levels and labels are shown, making it adaptable for any trading style. It’s especially useful for day traders who want to quickly identify volatility windows and the most important price levels from the previous session.
Simple Risk-to-Reward (R) Indicator (TP1–TP2)What this indicator does:
This tool helps traders clearly visualize their risk and reward on any trade by plotting their entry, stop loss, and take-profit (TP) levels directly on the chart. It’s designed to make manual trade planning more visual and systematic.
How it works:
You set your planned entry price, whether you want to plot a Long or Short setup, and your stop-loss distance (in ticks).
The indicator calculates your stop-loss level and automatically plots it on the chart.
It then draws take-profit levels at 1R and 2R (where “R” is your risk, the distance between entry and stop).
You can toggle the TP1 and TP2 lines on or off to suit your preference.
How to use it:
Open the settings and enter your intended entry price.
Select “Long Setup” for a buy trade, or turn it off for a sell/short trade.
Enter your desired stop loss in ticks.
Choose which take-profit levels to display by toggling TP1 and TP2.
The indicator will show entry, stop, and take-profit levels right on your chart so you can easily see your planned risk/reward.
What makes it unique and useful:
This indicator is designed for manual trade planning, giving you full control over your inputs and letting you instantly see your risk/reward on any instrument or timeframe. Unlike some built-in tools, it supports both long and short trades, lets you set all levels manually, and keeps your charts clean and easy to interpret.