HTF Big Candle ProjectionsWhat it does
This indicator overlays higher-timeframe (HTF) “big candles” at the right edge of any chart and keeps them perfectly parallel with price while you zoom or pan. In End-of-Chart (EOC) mode, all objects are anchored by bar index (not time) and clamped to TradingView’s ≤500 bars into the future rule, so they move 1:1 with the chart—no drift, no lag. A fallback mode preserves time-anchored labels if you prefer them.
Why it’s different / useful
Most MTF overlays drift when you scale or pan because they anchor by time or mix coordinate systems. This script anchors every end-of-chart object (bodies, wicks, OHLC guide lines, labels, range readout) in bar-index space, so the overlay scales identically to real bars. It also includes a safe-clamp to the 500-bar forward limit, automatic TF mapping for D/W/M charts, and optional projections from the previous HTF candle.
How it works (technical overview)
HTF data: The indicator fetches HTF OHLC using request.security() (no lookahead) and updates the current HTF candle live on each chart bar.
EOC placement (ON): Big candles are rendered with index-anchored boxes + wicks (box.new + line.new). X-positions are computed from bar_index + offset, then clamped to stay within the forward limit.
Fallback placement (OFF): Label coordinates switch to time-anchored for familiarity; candle bodies remain parallel via index logic.
OHLC helpers: Optional high/low/close guide lines extend right from the active HTF candle; OHLC labels and a range label can be placed to the side; a remaining-time widget shows how long until the HTF bar closes.
No lookahead / repaint caveat: The current HTF candle naturally evolves until it closes; that’s expected behavior for real-time HTF overlays.
Inputs & features
Place at end of chart (EOC mode toggle): index-anchored layout with ≤500-bar clamp.
Right Candle Timeframe: auto-map for D/W/M (D→W, W→M, M→3M) or set manually.
Offsets & width: right-edge offset (bars), left-candle offset, body width (bars), minimum gap between candles.
Wicks: show/hide (fallback mode draws wicks; index mode draws them via lines).
OHLC guide lines: toggle H/L/C, choose style/width/color, with right-side projection distance.
OHLC labels: side selection, text size, background/text colors, side offset.
Range label: toggle, side offset, size; option to show pip units (1/mintick).
Prev candle projections: optional HTF high/low lines from the left candle.
Remaining-time panel: live countdown to the HTF bar close.
Colors: bullish/bearish bodies and wicks.
How to use
Add to any chart (works best on intraday charts when viewing D/W/M candles).
Keep “Place at end of chart” ON for perfect parallel tracking while zooming/panning.
Choose Right Candle Timeframe (or use auto for D/W/M).
Adjust Body Width and Label/Line Offsets to taste. If you push offsets too far, the script auto-clamps objects to respect the 500-bar forward limit.
Optionally enable Prev Candle HL projections, OHLC labels, and the Range readout.
Publish with a clean chart so the overlay is easy to understand at a glance.
Notes & limitations
Forward plotting limit: TradingView only allows drawing ≤500 bars into the future. The script clamps all end-of-chart objects automatically; if you request more, it will shorten projections to remain compliant.
Sessions & symbols: Exotic sessions or illiquid symbols may produce uneven HTF boundaries. If needed, set the Right Candle Timeframe manually.
No signals, no promises: This is a visualization tool—it does not generate trade signals or promise performance. Use it alongside your own analysis and risk management.
Settings quick reference
EOC mode: ON (index-anchored) / OFF (time-anchored labels).
Right Candle TF: Auto D→W→M→3M or manual TF.
Offsets: Right edge, left candle, label/range/line projections.
Body Width: Candle thickness in bars.
Lines/Labels: OHLC guides, OHLC labels, Range label.
Prev HL: Previous HTF high/low projections.
Timer: Remaining time in the current HTF bar.
Colors: Bull/Bear bodies, wicks.
Disclaimer
For educational purposes only. Not financial advice. Past performance does not guarantee future results. Always test on your own and trade responsibly.
Author’s note on originality
This script focuses on bar-index anchored EOC rendering with comprehensive forward-clamping and dual label modes, aiming to solve the common drift/desync issues seen in MTF overlays during chart scaling.
Multitimeframe
Risk Calculator You can enter your account size and your stop-loss level, and the calculator will display the risk you are taking both as an actual monetary value and as a percentage of your account. If your account currency differs from the instrument’s currency, you can also input a conversion factor to see the risk in your account currency.
Copeland Dynamic Dominance Matrix System | GForgeCopeland Dynamic Dominance Matrix System | GForge - v1
---
📊 COMPREHENSIVE SYSTEM OVERVIEW
The GForge Dynamic BB% TrendSync System represents a revolutionary approach to algorithmic portfolio management, combining cutting-edge statistical analysis, momentum detection, and regime identification into a unified framework. This system processes up to 39 different cryptocurrency assets simultaneously, using advanced mathematical models to determine optimal capital allocation across dynamic market conditions.
Core Innovation: Multi-Dimensional Analysis
Unlike traditional single-asset indicators, this system operates on multiple analytical dimensions:
Momentum Analysis: Dual Bollinger Band Modified Deviation (DBBMD) calculations
Relative Strength: Comprehensive dominance matrix with head-to-head comparisons
Fundamental Screening: Alpha and Beta statistical filtering
Market Regime Detection: Five-component statistical testing framework
Portfolio Optimization: Dynamic weighting and allocation algorithms
Risk Management: Multi-layered protection and regime-based positioning
---
🔧 DETAILED COMPONENT BREAKDOWN
1. Dynamic Bollinger Band % Modified Deviation Engine (DBBMD)
The foundation of this system is an advanced oscillator that combines two independent Bollinger Band systems with asymmetric parameters to create unique momentum readings.
Technical Implementation:
[
// BB System 1: Fast-reacting with extended standard deviation
primary_bb1_ma_len = 40 // Shorter MA for responsiveness
primary_bb1_sd_len = 65 // Longer SD for stability
primary_bb1_mult = 1.0 // Standard deviation multiplier
// BB System 2: Complementary asymmetric design
primary_bb2_ma_len = 8 // Longer MA for trend following
primary_bb2_sd_len = 66 // Shorter SD for volatility sensitivity
primary_bb2_mult = 1.7 // Wider bands for reduced noise
Key Features:
Asymmetric Design: The intentional mismatch between MA and Standard Deviation periods creates unique oscillation characteristics that traditional Bollinger Bands cannot achieve
Percentage Scale: All readings are normalized to 0-100% scale for consistent interpretation across assets
Multiple Combination Modes:
BB1 Only: Fast/reactive system
BB2 Only: Smooth/stable system
Average: Balanced blend (recommended)
Both Required: Conservative (both must agree)
Either One: Aggressive (either can trigger)
Mean Deviation Filter: Additional volatility-based layer that measures the standard deviation of the DBBMD% itself, creating dynamic trigger bands
Signal Generation Logic:
// Primary thresholds
primary_long_threshold = 71 // DBBMD% level for bullish signals
primary_short_threshold = 33 // DBBMD% level for bearish signals
// Mean Deviation creates dynamic bands around these thresholds
upper_md_band = combined_bb + (md_mult * bb_std)
lower_md_band = combined_bb - (md_mult * bb_std)
// Signal triggers when DBBMD crosses these dynamic bands
long_signal = lower_md_band > long_threshold
short_signal = upper_md_band < short_threshold
For more information on this BB% indicator, find it here:
2. Revolutionary Dominance Matrix System
This is the system's most sophisticated innovation - a comprehensive framework that compares every asset against every other asset to determine relative strength hierarchies.
Mathematical Foundation:
The system constructs a mathematical matrix where each cell represents whether asset i dominates asset j:
// Core dominance matrix (39x39 for maximum assets)
var matrix dominance_matrix = matrix.new(39, 39, 0)
// For each qualifying asset pair (i,j):
for i = 0 to active_count - 1
for j = 0 to active_count - 1
if i != j
// Calculate price ratio BB% TrendSync for asset_i/asset_j
ratio_array = calculate_price_ratios(asset_i, asset_j)
ratio_dbbmd = calculate_dbbmd(ratio_array)
// Asset i dominates j if ratio is in uptrend
if ratio_dbbmd_state == 1
matrix.set(dominance_matrix, i, j, 1)
Copeland Scoring Algorithm:
Each asset receives a dominance score calculated as:
Dominance Score = Total Wins - Total Losses
// Calculate net dominance for each asset
for i = 0 to active_count - 1
wins = 0
losses = 0
for j = 0 to active_count - 1
if i != j
if matrix.get(dominance_matrix, i, j) == 1
wins += 1
else
losses += 1
copeland_score = wins - losses
array.set(dominance_scores, i, copeland_score)
Head-to-Head Analysis Process:
Ratio Construction: For each asset pair, calculate price_asset_A / price_asset_B
DBBMD Application: Apply the same DBBMD analysis to these ratios
Trend Determination: If ratio DBBMD shows uptrend, Asset A dominates Asset B
Matrix Population: Store dominance relationships in mathematical matrix
Score Calculation: Sum wins minus losses for final ranking
This creates a tournament-style ranking where each asset's strength is measured against all others, not just against a benchmark.
3. Advanced Alpha & Beta Filtering System
The system incorporates fundamental analysis through Capital Asset Pricing Model (CAPM) calculations to filter assets based on risk-adjusted performance.
Alpha Calculation (Excess Return Analysis):
// CAPM Alpha calculation
f_calc_alpha(asset_prices, benchmark_prices, alpha_length, beta_length, risk_free_rate) =>
// Calculate asset and benchmark returns
asset_returns = calculate_returns(asset_prices, alpha_length)
benchmark_returns = calculate_returns(benchmark_prices, alpha_length)
// Get beta for expected return calculation
beta = f_calc_beta(asset_prices, benchmark_prices, beta_length)
// Average returns over period
avg_asset_return = array_average(asset_returns) * 100
avg_benchmark_return = array_average(benchmark_returns) * 100
// Expected return using CAPM: E(R) = Beta * Market_Return + Risk_Free_Rate
expected_return = beta * avg_benchmark_return + risk_free_rate
// Alpha = Actual Return - Expected Return
alpha = avg_asset_return - expected_return
Beta Calculation (Volatility Relationship):
// Beta measures how much an asset moves relative to benchmark
f_calc_beta(asset_prices, benchmark_prices, length) =>
// Calculate return series for both assets
asset_returns =
benchmark_returns =
// Populate return arrays
for i = 0 to length - 1
asset_return = (current_price - previous_price) / previous_price
benchmark_return = (current_bench - previous_bench) / previous_bench
// Calculate covariance and variance
covariance = calculate_covariance(asset_returns, benchmark_returns)
benchmark_variance = calculate_variance(benchmark_returns)
// Beta = Covariance(Asset, Market) / Variance(Market)
beta = covariance / benchmark_variance
Filtering Applications:
Alpha Filter: Only includes assets with alpha above specified threshold (e.g., >0.5% monthly excess return)
Beta Filter: Screens for desired volatility characteristics (e.g., beta >1.0 for aggressive assets)
Combined Screening: Both filters must pass for asset qualification
Dynamic Thresholds: User-configurable parameters for different market conditions
4. Intelligent Tie-Breaking Resolution System
When multiple assets have identical dominance scores, the system employs sophisticated methods to determine final rankings.
Standard Tie-Breaking Hierarchy:
// Primary tie-breaking logic
if score_i == score_j // Tied dominance scores
// Level 1: Compare Beta values (higher beta wins)
beta_i = array.get(beta_values, i)
beta_j = array.get(beta_values, j)
if beta_j > beta_i
swap_positions(i, j)
else if beta_j == beta_i
// Level 2: Compare Alpha values (higher alpha wins)
alpha_i = array.get(alpha_values, i)
alpha_j = array.get(alpha_values, j)
if alpha_j > alpha_i
swap_positions(i, j)
Advanced Tie-Breaking (Head-to-Head Analysis):
For the top 3 performers, an enhanced tie-breaking mechanism analyzes direct head-to-head price ratio performance:
// Advanced tie-breaker for top performers
f_advanced_tiebreaker(asset1_idx, asset2_idx, lookback_period) =>
// Calculate price ratio over lookback period
ratio_history =
for k = 0 to lookback_period - 1
price_ratio = price_asset1 / price_asset2
array.push(ratio_history, price_ratio)
// Apply simplified trend analysis to ratio
current_ratio = array.get(ratio_history, 0)
average_ratio = calculate_average(ratio_history)
// Asset 1 wins if current ratio > average (trending up)
if current_ratio > average_ratio
return 1 // Asset 1 dominates
else
return -1 // Asset 2 dominates
5. Five-Component Aggregate Market Regime Filter
This sophisticated framework combines multiple statistical tests to determine whether market conditions favor trending strategies or require defensive positioning.
Component 1: Augmented Dickey-Fuller (ADF) Test
Tests for unit root presence to distinguish between trending and mean-reverting price series.
// Simplified ADF implementation
calculate_adf_statistic(price_series, lookback) =>
// Calculate first differences
differences =
for i = 0 to lookback - 2
diff = price_series - price_series
array.push(differences, diff)
// Statistical analysis of differences
mean_diff = calculate_mean(differences)
std_diff = calculate_standard_deviation(differences)
// ADF statistic approximation
adf_stat = mean_diff / std_diff
// Compare against threshold for trend determination
is_trending = adf_stat <= adf_threshold
Component 2: Directional Movement Index (DMI)
Classic Wilder indicator measuring trend strength through directional movement analysis.
// DMI calculation for trend strength
calculate_dmi_signal(high_data, low_data, close_data, period) =>
// Calculate directional movements
plus_dm_sum = 0.0
minus_dm_sum = 0.0
true_range_sum = 0.0
for i = 1 to period
// Directional movements
up_move = high_data - high_data
down_move = low_data - low_data
// Accumulate positive/negative movements
if up_move > down_move and up_move > 0
plus_dm_sum += up_move
if down_move > up_move and down_move > 0
minus_dm_sum += down_move
// True range calculation
true_range_sum += calculate_true_range(i)
// Calculate directional indicators
di_plus = 100 * plus_dm_sum / true_range_sum
di_minus = 100 * minus_dm_sum / true_range_sum
// ADX calculation
dx = 100 * math.abs(di_plus - di_minus) / (di_plus + di_minus)
adx = dx // Simplified for demonstration
// Trending if ADX above threshold
is_trending = adx > dmi_threshold
Component 3: KPSS Stationarity Test
Complementary test to ADF that examines stationarity around trend components.
// KPSS test implementation
calculate_kpss_statistic(price_series, lookback, significance_level) =>
// Calculate mean and variance
series_mean = calculate_mean(price_series, lookback)
series_variance = calculate_variance(price_series, lookback)
// Cumulative sum of deviations
cumulative_sum = 0.0
cumsum_squared_sum = 0.0
for i = 0 to lookback - 1
deviation = price_series - series_mean
cumulative_sum += deviation
cumsum_squared_sum += math.pow(cumulative_sum, 2)
// KPSS statistic
kpss_stat = cumsum_squared_sum / (lookback * lookback * series_variance)
// Compare against critical values
critical_value = significance_level == 0.01 ? 0.739 :
significance_level == 0.05 ? 0.463 : 0.347
is_trending = kpss_stat >= critical_value
Component 4: Choppiness Index
Measures market directionality using fractal dimension analysis of price movement.
// Choppiness Index calculation
calculate_choppiness(price_data, period) =>
// Find highest and lowest over period
highest = price_data
lowest = price_data
true_range_sum = 0.0
for i = 0 to period - 1
if price_data > highest
highest := price_data
if price_data < lowest
lowest := price_data
// Accumulate true range
if i > 0
true_range = calculate_true_range(price_data, i)
true_range_sum += true_range
// Choppiness calculation
range_high_low = highest - lowest
choppiness = 100 * math.log10(true_range_sum / range_high_low) / math.log10(period)
// Trending if choppiness below threshold (typically 61.8)
is_trending = choppiness < 61.8
Component 5: Hilbert Transform Analysis
Phase-based cycle detection and trend identification using mathematical signal processing.
// Hilbert Transform trend detection
calculate_hilbert_signal(price_data, smoothing_period, filter_period) =>
// Smooth the price data
smoothed_price = calculate_moving_average(price_data, smoothing_period)
// Calculate instantaneous phase components
// Simplified implementation for demonstration
instant_phase = smoothed_price
delayed_phase = calculate_moving_average(price_data, filter_period)
// Compare instantaneous vs delayed signals
phase_difference = instant_phase - delayed_phase
// Trending if instantaneous leads delayed
is_trending = phase_difference > 0
Aggregate Regime Determination:
// Combine all five components
regime_calculation() =>
trending_count = 0
total_components = 0
// Test each enabled component
if enable_adf and adf_signal == 1
trending_count += 1
if enable_adf
total_components += 1
// Repeat for all five components...
// Calculate trending proportion
trending_proportion = trending_count / total_components
// Market is trending if proportion above threshold
regime_allows_trading = trending_proportion >= regime_threshold
The system only allows asset positions when the specified percentage of components indicate trending conditions. During choppy or mean-reverting periods, the system automatically positions in USD to preserve capital.
6. Dynamic Portfolio Weighting Framework
Six sophisticated allocation methodologies provide flexibility for different market conditions and risk preferences.
Weighting Method Implementations:
1. Equal Weight Distribution:
// Simple equal allocation
if weighting_mode == "Equal Weight"
weight_per_asset = 1.0 / selection_count
for i = 0 to selection_count - 1
array.push(weights, weight_per_asset)
2. Linear Dominance Scaling:
// Linear scaling based on dominance scores
if weighting_mode == "Linear Dominance"
// Normalize scores to 0-1 range
min_score = array.min(dominance_scores)
max_score = array.max(dominance_scores)
score_range = max_score - min_score
total_weight = 0.0
for i = 0 to selection_count - 1
score = array.get(dominance_scores, i)
normalized = (score - min_score) / score_range
weight = 1.0 + normalized * concentration_factor
array.push(weights, weight)
total_weight += weight
// Normalize to sum to 1.0
for i = 0 to selection_count - 1
current_weight = array.get(weights, i)
array.set(weights, i, current_weight / total_weight)
3. Conviction Score (Exponential):
// Exponential scaling for high conviction
if weighting_mode == "Conviction Score"
// Combine dominance score with DBBMD strength
conviction_scores =
for i = 0 to selection_count - 1
dominance = array.get(dominance_scores, i)
dbbmd_strength = array.get(dbbmd_values, i)
conviction = dominance + (dbbmd_strength - 50) / 25
array.push(conviction_scores, conviction)
// Exponential weighting
total_weight = 0.0
for i = 0 to selection_count - 1
conviction = array.get(conviction_scores, i)
normalized = normalize_score(conviction)
weight = math.pow(1 + normalized, concentration_factor)
array.push(weights, weight)
total_weight += weight
// Final normalization
normalize_weights(weights, total_weight)
Advanced Features:
Minimum Position Constraint: Prevents dust allocations below specified threshold
Concentration Factor: Adjustable parameter controlling weight distribution aggressiveness
Dominance Boost: Extra weight for assets exceeding specified dominance thresholds
Dynamic Rebalancing: Automatic weight recalculation on portfolio changes
7. Intelligent USD Management System
The system treats USD as a competing asset with its own dominance score, enabling sophisticated cash management.
USD Scoring Methodologies:
Smart Competition Mode (Recommended):
f_calculate_smart_usd_dominance() =>
usd_wins = 0
// USD beats assets in downtrends or weak uptrends
for i = 0 to active_count - 1
asset_state = get_asset_state(i)
asset_dbbmd = get_asset_dbbmd(i)
// USD dominates shorts and weak longs
if asset_state == -1 or (asset_state == 1 and asset_dbbmd < long_threshold)
usd_wins += 1
// Calculate Copeland-style score
base_score = usd_wins - (active_count - usd_wins)
// Boost during weak market conditions
qualified_assets = count_qualified_long_assets()
if qualified_assets <= active_count * 0.2
base_score := math.round(base_score * usd_boost_factor)
base_score
Auto Short Count Mode:
// USD dominance based on number of bearish assets
usd_dominance = count_assets_in_short_state()
// Apply boost during low activity
if qualified_long_count <= active_count * 0.2
usd_dominance := usd_dominance * usd_boost_factor
Regime-Based USD Positioning:
When the five-component regime filter indicates unfavorable conditions, the system automatically overrides all asset signals and positions 100% in USD, protecting capital during choppy markets.
8. Multi-Asset Infrastructure & Data Management
The system maintains comprehensive data structures for up to 39 assets simultaneously.
Data Collection Framework:
// Full OHLC data matrices (200 bars depth for performance)
var matrix open_data = matrix.new(39, 200, na)
var matrix high_data = matrix.new(39, 200, na)
var matrix low_data = matrix.new(39, 200, na)
var matrix close_data = matrix.new(39, 200, na)
// Real-time data collection
if barstate.isconfirmed
for i = 0 to active_count - 1
ticker = array.get(assets, i)
= request.security(ticker, timeframe.period,
[open , high , low , close ],
lookahead=barmerge.lookahead_off)
// Store in matrices with proper shifting
matrix.set(open_data, i, 0, nz(o, 0))
matrix.set(high_data, i, 0, nz(h, 0))
matrix.set(low_data, i, 0, nz(l, 0))
matrix.set(close_data, i, 0, nz(c, 0))
Asset Configuration:
The system comes pre-configured with 39 major cryptocurrency pairs across multiple exchanges:
Major Pairs: BTC, ETH, XRP, SOL, DOGE, ADA, etc.
Exchange Coverage: Binance, KuCoin, MEXC for optimal liquidity
Configurable Count: Users can activate 2-39 assets based on preferences
Custom Tickers: All asset selections are user-modifiable
---
⚙️ COMPREHENSIVE CONFIGURATION GUIDE
Portfolio Management Settings
Maximum Portfolio Size (1-10):
Conservative (1-2): High concentration, captures strong trends
Balanced (3-5): Moderate diversification with trend focus
Diversified (6-10): Lower concentration, broader market exposure
Dominance Clarity Threshold (0.1-1.0):
Low (0.1-0.4): Prefers diversification, holds multiple assets frequently
Medium (0.5-0.7): Balanced approach, context-dependent allocation
High (0.8-1.0): Concentration-focused, single asset preference
Signal Generation Parameters
DBBMD Thresholds:
// Standard configuration
primary_long_threshold = 71 // Conservative: 75+, Aggressive: 65-70
primary_short_threshold = 33 // Conservative: 25-30, Aggressive: 35-40
// BB System parameters
bb1_ma_len = 40 // Fast system: 20-50
bb1_sd_len = 65 // Stability: 50-80
bb2_ma_len = 8 // Trend: 60-100
bb2_sd_len = 66 // Sensitivity: 10-20
Risk Management Configuration
Alpha/Beta Filters:
Alpha Threshold: 0.0-2.0% (higher = more selective)
Beta Threshold: 0.5-2.0 (1.0+ for aggressive assets)
Calculation Periods: 20-50 bars (longer = more stable)
Regime Filter Settings:
Trending Threshold: 0.3-0.8 (higher = stricter trend requirements)
Component Lookbacks: 30-100 bars (balance responsiveness vs stability)
Enable/Disable: Individual component control for customization
---
📊 PERFORMANCE TRACKING & VISUALIZATION
Real-Time Dashboard Features
The compact dashboard provides essential information:
Current Holdings: Asset names and allocation percentages
Dominance Score: Current position's relative strength ranking
Active Assets: Qualified long signals vs total asset count
Returns: Total portfolio performance percentage
Maximum Drawdown: Peak-to-trough decline measurement
Trade Count: Total portfolio transitions executed
Regime Status: Current market condition assessment
Comprehensive Ranking Table
The left-side table displays detailed asset analysis:
Ranking Position: Numerical order by dominance score
Asset Symbol: Clean ticker identification with color coding
Dominance Score: Net wins minus losses in head-to-head comparisons
Win-Loss Record: Detailed breakdown of dominance relationships
DBBMD Reading: Current momentum percentage with threshold highlighting
Alpha/Beta Values: Fundamental analysis metrics when filters enabled
Portfolio Weight: Current allocation percentage in signal portfolio
Execution Status: Visual indicator of actual holdings vs signals
Visual Enhancement Features
Color-Coded Assets: 39 distinct colors for easy identification
Regime Background: Red tinting during unfavorable market conditions
Dynamic Equity Curve: Portfolio value plotted with position-based coloring
Status Indicators: Symbols showing execution vs signal states
---
🔍 ADVANCED TECHNICAL FEATURES
State Persistence System
The system maintains asset states across bars to prevent excessive switching:
// State tracking for each asset and ratio combination
var array asset_states = array.new(1560, 0) // 39 * 40 ratios
// State changes only occur on confirmed threshold breaks
if long_crossover and current_state != 1
current_state := 1
array.set(asset_states, asset_index, 1)
else if short_crossover and current_state != -1
current_state := -1
array.set(asset_states, asset_index, -1)
Transaction Cost Integration
Realistic modeling of trading expenses:
// Transaction cost calculation
transaction_fee = 0.4 // Default 0.4% (fees + slippage)
// Applied on portfolio transitions
if should_execute_transition
was_holding_assets = check_current_holdings()
will_hold_assets = check_new_signals()
// Charge fees for meaningful transitions
if transaction_fee > 0 and (was_holding_assets or will_hold_assets)
fee_amount = equity * (transaction_fee / 100)
equity -= fee_amount
total_fees += fee_amount
Dynamic Memory Management
Optimized data structures for performance:
200-Bar History: Sufficient for calculations while maintaining speed
Matrix Operations: Efficient storage and retrieval of multi-asset data
Array Recycling: Memory-conscious data handling for long-running backtests
Conditional Calculations: Skip unnecessary computations during initialization
12H 30 assets portfolio
---
🚨 SYSTEM LIMITATIONS & TESTING STATUS
CURRENT DEVELOPMENT PHASE: ACTIVE TESTING & OPTIMIZATION
This system represents cutting-edge algorithmic trading technology but remains in continuous development. Key considerations:
Known Limitations:
Requires significant computational resources for 39-asset analysis
Performance varies significantly across different market conditions
Complex parameter interactions may require extensive optimization
Slippage and liquidity constraints not fully modeled for all assets
No consideration for market impact in large position sizes
Areas Under Active Development:
Enhanced regime detection algorithms
Improved transaction cost modeling
Additional portfolio weighting methodologies
Machine learning integration for parameter optimization
Cross-timeframe analysis capabilities
---
🔒 ANTI-REPAINTING ARCHITECTURE & LIVE TRADING READINESS
One of the most critical aspects of any trading system is ensuring that signals and calculations are based on confirmed, historical data rather than current bar information that can change throughout the trading session. This system implements comprehensive anti-repainting measures to ensure 100% reliability for live trading .
The Repainting Problem in Trading Systems
Repainting occurs when an indicator uses current, unconfirmed bar data in its calculations, causing:
False Historical Signals: Backtests appear better than reality because calculations change as bars develop
Live Trading Failures: Signals that looked profitable in testing fail when deployed in real markets
Inconsistent Results: Different results when running the same indicator at different times during a trading session
Misleading Performance: Inflated win rates and returns that cannot be replicated in practice
GForge Anti-Repainting Implementation
This system eliminates repainting through multiple technical safeguards:
1. Historical Data Usage for All Calculations
// CRITICAL: All calculations use PREVIOUS bar data (note the offset)
= request.security(ticker, timeframe.period,
[open , high , low , close , close],
lookahead=barmerge.lookahead_off)
// Store confirmed previous bar OHLC for calculations
matrix.set(open_data, i, 0, nz(o1, 0)) // Previous bar open
matrix.set(high_data, i, 0, nz(h1, 0)) // Previous bar high
matrix.set(low_data, i, 0, nz(l1, 0)) // Previous bar low
matrix.set(close_data, i, 0, nz(c1, 0)) // Previous bar close
// Current bar close only for visualization
matrix.set(current_prices, i, 0, nz(c0, 0)) // Live price display
2. Confirmed Bar State Processing
// Only process data when bars are confirmed and closed
if barstate.isconfirmed
// All signal generation and portfolio decisions occur here
// using only historical, unchanging data
// Shift historical data arrays
for i = 0 to active_count - 1
for bar = math.min(data_bars, 199) to 1
// Move confirmed data through historical matrices
old_data = matrix.get(close_data, i, bar - 1)
matrix.set(close_data, i, bar, old_data)
// Process new confirmed bar data
calculate_all_signals_and_dominance()
3. Lookahead Prevention
// Explicit lookahead prevention in all security calls
request.security(ticker, timeframe.period, expression,
lookahead=barmerge.lookahead_off)
// This ensures no future data can influence current calculations
// Essential for maintaining signal integrity across all timeframes
4. State Persistence with Historical Validation
// Asset states only change based on confirmed threshold breaks
// using historical data that cannot change
var array asset_states = array.new(1560, 0)
// State changes use only confirmed, previous bar calculations
if barstate.isconfirmed
=
f_calculate_enhanced_dbbmd(confirmed_price_array, ...)
// Only update states after bar confirmation
if long_crossover_confirmed and current_state != 1
current_state := 1
array.set(asset_states, asset_index, 1)
Live Trading vs. Backtesting Consistency
The system's architecture ensures identical behavior in both environments:
Backtesting Mode:
Uses historical offset data for all calculations
Processes confirmed bars with `barstate.isconfirmed`
Maintains identical signal generation logic
No access to future information
Live Trading Mode:
Uses same historical offset data structure
Waits for bar confirmation before signal updates
Identical mathematical calculations and thresholds
Real-time price display without affecting signals
Technical Implementation Details
Data Collection Timing
// Example of proper data collection timing
if barstate.isconfirmed // Wait for bar to close
// Collect PREVIOUS bar's confirmed OHLC data
for i = 0 to active_count - 1
ticker = array.get(assets, i)
// Get confirmed previous bar data (note offset)
=
request.security(ticker, timeframe.period,
[open , high , low , close , close],
lookahead=barmerge.lookahead_off)
// ALL calculations use prev_* values
// current_close only for real-time display
portfolio_calculations_use_previous_bar_data()
Signal Generation Process
// Signal generation workflow (simplified)
if barstate.isconfirmed and data_bars >= minimum_required_bars
// Step 1: Calculate DBBMD using historical price arrays
for i = 0 to active_count - 1
historical_prices = get_confirmed_price_history(i) // Uses offset data
= calculate_dbbmd(historical_prices)
update_asset_state(i, state)
// Step 2: Build dominance matrix using confirmed data
calculate_dominance_relationships() // All historical data
// Step 3: Generate portfolio signals
new_portfolio = generate_target_portfolio() // Based on confirmed calculations
// Step 4: Compare with previous signals for changes
if portfolio_signals_changed()
execute_portfolio_transition()
Verification Methods for Users
Users can verify the anti-repainting behavior through several methods:
1. Historical Replay Test
Run the indicator on historical data
Note signal timing and portfolio changes
Replay the same period - signals should be identical
No retroactive changes in historical signals
2. Intraday Consistency Check
Load indicator during active trading session
Observe that previous day's signals remain unchanged
Only current day's final bar should show potential signal changes
Refresh indicator - historical signals should be identical
Live Trading Deployment Considerations
Data Quality Assurance
Exchange Connectivity: Ensure reliable data feeds for all 39 assets
Missing Data Handling: System includes safeguards for data gaps
Price Validation: Automatic filtering of obvious price errors
Timeframe Synchronization: All assets synchronized to same bar timing
Performance Impact of Anti-Repainting Measures
The robust anti-repainting implementation requires additional computational resources:
Memory Usage: 200-bar historical data storage for 39 assets
Processing Delay: Signals update only after bar confirmation
Calculation Overhead: Multiple historical data validations
Alert Timing: Slight delay compared to current-bar indicators
However, these trade-offs are essential for reliable live trading performance and accurate backtesting results.
Critical: Equity Curve Anti-Repainting Architecture
The most sophisticated aspect of this system's anti-repainting design is the temporal separation between signal generation and performance calculation . This creates a realistic trading simulation that perfectly matches live trading execution.
The Timing Sequence
// STEP 1: Store what we HELD during the current bar (for performance calc)
if barstate.isconfirmed
// Record positions that were active during this bar
array.clear(held_portfolio)
array.clear(held_weights)
for i = 0 to array.size(execution_portfolio) - 1
array.push(held_portfolio, array.get(execution_portfolio, i))
array.push(held_weights, array.get(execution_weights, i))
// STEP 2: Calculate performance based on what we HELD
portfolio_return = 0.0
for i = 0 to array.size(held_portfolio) - 1
held_asset = array.get(held_portfolio, i)
held_weight = array.get(held_weights, i)
// Performance from current_price vs reference_price
// This is what we ACTUALLY earned during this bar
if held_asset != "USD"
current_price = get_current_price(held_asset) // End of bar
reference_price = get_reference_price(held_asset) // Start of bar
asset_return = (current_price - reference_price) / reference_price
portfolio_return += asset_return * held_weight
// STEP 3: Apply return to equity (realistic timing)
equity := equity * (1 + portfolio_return)
// STEP 4: Generate NEW signals for NEXT period (using confirmed data)
= f_generate_target_portfolio()
// STEP 5: Execute transitions if signals changed
if signal_changed
// Update execution_portfolio for NEXT bar
array.clear(execution_portfolio)
array.clear(execution_weights)
for i = 0 to array.size(new_signal_portfolio) - 1
array.push(execution_portfolio, array.get(new_signal_portfolio, i))
array.push(execution_weights, array.get(new_signal_weights, i))
Why This Prevents Equity Curve Repainting
Performance Attribution: Returns are calculated based on positions that were **actually held** during each bar, not future signals
Signal Timing: New signals are generated **after** performance calculation, affecting only **future** bars
Realistic Execution: Mimics real trading where you earn returns on current positions while planning future moves
No Retroactive Changes: Once a bar closes, its performance contribution to equity is permanent and unchangeable
The One-Bar Offset Mechanism
This system implements a critical one-bar timing offset:
// Bar N: Performance Calculation
// ================================
// 1. Calculate returns on positions held during Bar N
// 2. Update equity based on actual holdings during Bar N
// 3. Plot equity point for Bar N (based on what we HELD)
// Bar N: Signal Generation
// ========================
// 4. Generate signals for Bar N+1 (using confirmed Bar N data)
// 5. Send alerts for what will be held during Bar N+1
// 6. Update execution_portfolio for Bar N+1
// Bar N+1: The Cycle Continues
// =============================
// 1. Performance calculated on positions from Bar N signals
// 2. New signals generated for Bar N+2
Alert System Timing
The alert system reflects this sophisticated timing:
Transaction Cost Realism
Even transaction costs follow realistic timing:
// Fees applied when transitioning between different portfolios
if should_execute_transition
// Charge fees BEFORE taking new positions (realistic timing)
if transaction_fee > 0
fee_amount = equity * (transaction_fee / 100)
equity -= fee_amount // Immediate cost impact
total_fees += fee_amount
// THEN update to new portfolio
update_execution_portfolio(new_signals)
transitions += 1
// Fees reduce equity immediately, affecting all future calculations
// This matches real trading where fees are deducted upon execution
LIVE TRADING CERTIFICATION:
This system has been specifically designed and tested for live trading deployment. The comprehensive anti-repainting measures ensure that:
Backtesting results accurately represent real trading potential
Signals are generated using only confirmed, historical data
No retroactive changes can occur to previously generated signals
Portfolio transitions are based on reliable, unchanging calculations
Performance metrics reflect realistic trading outcomes including proper timing
Users can deploy this system with confidence that live trading results will closely match backtesting performance, subject to normal market execution factors such as slippage and liquidity.
---
⚡ ALERT SYSTEM & AUTOMATION
The system provides comprehensive alerting for automation and monitoring:
Available Alert Conditions
Portfolio Signal Change: Triggered when new portfolio composition is generated
Regime Override Active: Alerts when market regime forces USD positioning
Individual Asset Signals: Can be configured for specific asset transitions
Performance Thresholds: Drawdown or return-based notifications
---
📈 BACKTESTING & PERFORMANCE ANALYSIS
8 Comprehensive Metrics Tracking
The system maintains detailed performance statistics:
Equity Curve: Real-time portfolio value progression
Returns Calculation: Total and annualized performance metrics
Drawdown Analysis: Peak-to-trough decline measurements
Transaction Counting: Portfolio transition frequency
Fee Tracking: Cumulative transaction cost impact
Win Rate Analysis: Success rate of position changes
Backtesting Configuration
// Backtesting parameters
initial_capital = 10000.0 // Starting capital
use_custom_start = true // Enable specific start date
custom_start = timestamp("2023-09-01") // Backtest beginning
transaction_fee = 0.4 // Combined fees and slippage %
// Performance calculation
total_return = (equity - initial_capital) / initial_capital * 100
current_drawdown = (peak_equity - equity) / peak_equity * 100
---
🔧 TROUBLESHOOTING & OPTIMIZATION
Common Configuration Issues
Insufficient Data: Ensure 100+ bars available before start date
[*} Not Compiling: Go on an asset's price chart with 2 or 3 years of data to
make the system compile or just simply reapply the indicator again
Too Many Assets: Reduce active count if experiencing timeouts
Regime Filter Too Strict: Lower trending threshold if always in USD
Excessive Switching: Increase MD multiplier or adjust thresholds
---
💡 USER FEEDBACK & ENHANCEMENT REQUESTS
The continuous evolution of this system depends heavily on user experience and community feedback. Your insights will help motivate me for new improvements and new feature developments.
---
⚖️ FINAL COMPREHENSIVE RISK DISCLAIMER
TRADING INVOLVES SUBSTANTIAL RISK OF LOSS
This indicator is a sophisticated analytical tool designed for educational and research purposes. Important warnings and considerations:
System Limitations:
No algorithmic system can guarantee profitable outcomes
Complex systems may fail in unexpected ways during extreme market events
Historical backtesting does not account for all real-world trading challenges
Slippage, liquidity constraints, and market impact can significantly affect results
System parameters require careful optimization and ongoing monitoring
The creator and distributor of this indicator assume no liability for any financial losses, system failures, or adverse outcomes resulting from its use. This tool is provided "as is" without any warranties, express or implied.
By using this indicator, you acknowledge that you have read, understood, and agreed to assume all risks associated with algorithmic trading and cryptocurrency investments.
ElectronixTrader - Multi-Timeframe S/RThis script is a powerful multi-timeframe tool designed to help traders identify key support and resistance levels for both intraday and swing trading. It's a custom-built indicator that projects Bollinger Band levels from a higher timeframe onto your current chart, providing a unique perspective to filter out market noise and focus on high-probability trading zones.
The core principle is that significant price levels established on a daily or weekly chart can act as powerful support and resistance points on a lower, intraday timeframe. This helps traders align their entries and exits with the broader market context.
Key Features:
Dynamic Levels: The support and resistance lines are not static. They are automatically calculated and updated at the start of each new higher-timeframe candle, providing fresh and relevant levels.
Multi-Timeframe Capability: Easily switch the input timeframe (e.g., Daily to Weekly) to adapt the indicator for your trading style, from intraday to swing trading.
Disclaimer:
Trading involves significant risk, and past performance is not a guarantee of future results. This tool is for informational and educational purposes only and should be used in conjunction with your own risk management and trading plan.
A Note on Originality:
This indicator uses a unique application of built-in functions to project dynamic, higher-timeframe levels. While it is based on classic concepts, the specific methodology of projecting and consistently plotting these zones across different timeframes provides a unique and actionable tool for traders.
FX % Change TableFX % Change Table
This tool provides currency strength analysis at a glance, allowing traders to instantly identify which currencies are outperforming or underperforming without the need to manually check each pair. It offers decision support for entries and exits by helping traders align their positions with broader strength and weakness trends, such as buying the strongest currency against the weakest. Its versatility makes it suitable for any timeframe, whether used by scalpers or swing traders. Best of all, it delivers these insights in a clean and simple format, presenting complex multi-pair calculations in an easy-to-read visual display.
This tool is especially helpful for traders who incorporate currency strength analysis, correlation checks, or basket trading into their strategy. It reduces time spent flipping through charts and provides a structured overview for smarter trade decisions.
Unlike traditional single-pair indicators, this tool calculates the percentage change between the current and previous higher timeframe closes for a group of forex pairs. You can choose between two curated groups:
• Majors – EURUSD, GBPUSD, USDJPY, USDCHF, AUDUSD, NZDUSD, USDCAD
• Cross Pairs – A wide basket of EUR, GBP, AUD, NZD, CAD, and CHF crosses
For each symbol, the script requests the selected timeframe’s price data, calculates the percentage change from the previous bar’s close, and then displays it in a neatly formatted table. Green highlights strength, red highlights weakness, and gray shows neutrality — making shifts in momentum instantly recognizable.
How to Use
1. Select your timeframe – For example, "60" (1H) to view hourly change, "240" (4H) for broader moves, or "D" for daily strength/weakness.
2. Choose your group – Focus on the Majors for a macro USD view, or switch to Cross Pairs for secondary flows.
3. Position the table – Place it in any corner of your chart (top-left, top-right, bottom-left, bottom-right) to match your workspace.
The table updates dynamically at the close of each bar, ensuring the displayed data always reflects the most recent market movements.
Rapeez's BOS IndicatorIt will highlight all the BOS (Break of Structure) points on the chart with blue and red lines, making it easier to spot them without having to analyze the chart deeply. This tool is also great for identifying the overall market trend and works across all timeframes. Updates will be provided every month.
Happy charting—hope you find it helpful!
Multi-Timeframe Candle Color Dashboard V.3 (ByTraderWut)หลักการทำงานของอินดิเคเตอร์ (Indicator's Working Principle)
อินดิเคเตอร์นี้ถูกออกแบบมาเพื่อช่วยให้นักเทรดสามารถวิเคราะห์แนวโน้มของตลาดในหลายๆ ไทม์เฟรมได้พร้อมกันอย่างรวดเร็วและแม่นยำ. หัวใจสำคัญของการทำงานอยู่ที่การตรวจสอบราคาเปิดและราคาปิดของแท่งเทียนที่ ปิดไปแล้ว ในแต่ละไทม์เฟรม ซึ่งเป็นข้อมูลที่มีความน่าเชื่อถือสูงกว่าแท่งเทียนที่กำลังวิ่งอยู่.
1. การคำนวณสีแท่งเทียน (Candle Color Calculation)
อินดิเคเตอร์จะทำการส่งคำสั่งไปยังไทม์เฟรมย่อยแต่ละช่วงเวลาที่คุณเลือก (เช่น M1, M5, H1, D1) เพื่อดึงข้อมูลราคาเปิดและราคาปิดของแท่งเทียนล่าสุดที่ปิดสมบูรณ์แล้ว.
Bullish (ขาขึ้น): หากราคาปิดของแท่งเทียนที่ปิดไปแล้ว สูงกว่า ราคาเปิด อินดิเคเตอร์จะแสดงเป็น สีเขียว.
Bearish (ขาลง): หากราคาปิดของแท่งเทียนที่ปิดไปแล้ว ต่ำกว่า ราคาเปิด อินดิเคเตอร์จะแสดงเป็น สีแดง.
2. การนับแท่งเทียนต่อเนื่อง (Consecutive Candle Count)
นอกจากการแสดงสีแล้ว อินดิเคเตอร์ยังมีการนับจำนวนแท่งเทียนที่มีสีเดียวกันต่อเนื่องกัน.
ฟังก์ชันการนับ: โค้ดจะใช้ลูปในการย้อนกลับไปตรวจสอบแท่งเทียนที่ปิดไปแล้วตามจำนวนที่คุณกำหนดในหน้าการตั้งค่า Consecutive Bars for Status. หากจำนวนแท่งเทียนสีเดียวกันต่อเนื่องถึงเกณฑ์ที่ตั้งไว้ อินดิเคเตอร์จะแสดงคำว่า "Bullish" หรือ "Bearish" เพิ่มเติม.
ประโยชน์: ฟีเจอร์นี้ช่วยกรองสัญญาณรบกวนที่เกิดจากราคาที่ขึ้นลงเล็กน้อย และช่วยให้คุณยืนยันความแข็งแกร่งของเทรนด์ได้อย่างแม่นยำยิ่งขึ้น.
3. การใช้งานร่วมกับการวิเคราะห์เชิงเทคนิค (Integration with Technical Analysis)
หลักการทำงานของอินดิเคเตอร์สอดคล้องกับการวิเคราะห์แบบ Multi-Timeframe Analysis ซึ่งเป็นพื้นฐานสำคัญของการเทรด. การใช้ Dashboard จะช่วยให้คุณเห็นภาพรวมของตลาดในมุมกว้าง และใช้สัญญาณยืนยันการเข้าออเดอร์ในไทม์เฟรมที่คุณเทรดอยู่ได้ทันที.
ตัวอย่าง: หากคุณเทรดในไทม์เฟรม H1 (ชั่วโมง) และเห็นว่า H4 และ D1 ก็เป็นเทรนด์ขาขึ้นเช่นกัน (Bullish) สัญญาณเข้าออเดอร์ซื้อ (Long) ของคุณใน H1 ก็จะมีความน่าเชื่อถือมากขึ้น.
English Version: Indicator's Working Principle
The indicator is designed to help traders analyze market trends across multiple timeframes quickly and accurately. The core of its functionality lies in checking the open and close prices of closed bars in each timeframe, which provides more reliable information than a bar that is still forming.
1. Candle Color Calculation
The indicator sends a request to each selected sub-timeframe (e.g., M1, M5, H1, D1) to fetch the open and close prices of the most recently completed bar.
Bullish (Uptrend): If the close price of the closed bar is higher than its open price, the indicator will display a green color.
Bearish (Downtrend): If the close price of the closed bar is lower than its open price, the indicator will display a red color.
2. Consecutive Candle Count
In addition to the color display, the indicator also counts the number of consecutive candles of the same color.
Counting Function: The code uses a loop to check the past closed bars up to the number you've defined in the Consecutive Bars for Status input. If the number of consecutive candles of the same color meets or exceeds this threshold, the words "Bullish" or "Bearish" will appear.
Benefit: This feature helps to filter out market noise from minor price fluctuations, allowing you to confirm the strength of a trend more accurately.
3. Integration with Technical Analysis
The indicator's working principle aligns with Multi-Timeframe Analysis, a fundamental trading concept. The dashboard provides a comprehensive market overview, allowing you to use confirmation signals to enter trades on your primary timeframe with greater confidence.
Example: If you are trading on the H1 (hourly) timeframe and see that H4 and D1 are also in an uptrend (Bullish), your long entry signal on H1 will be more reliable.
MT-Hidden Breaker Blocks Tracker-acThe MT-Hidden Breaker Blocks Tracker is a powerful indicator designed for SMC traders. Rooted in Smart Money Concepts (SMC), it uncovers institutional order flow by identifying Order Blocks (OB), Breaker Blocks (BB), and Partial Breaker Blocks (PBB) across multiple timeframes, revealing hidden liquidity zones for precise market structure analysis.
═══════ Key Features ═══════
Smart Money Detection: Order Blocks (OB): Pinpoints key candles before major market moves, marking institutional entry zones.
Breaker Blocks (BB): Detects OBs aligned with Fair Value Gaps (FVGs), signaling liquidity zones.
Partial Breaker Blocks (PBB): Tracks partially mitigated BBs for reaccumulation or distribution setups.
The MT-Hidden Breaker Blocks Tracker features a REPLAY-MODE that allows traders to analyze historical Order Blocks (OB), Breaker Blocks (BB), and Partial Breaker Blocks (PBB) with Fair Value Gaps (FVGs) directly on the current timeframe, enabling precise backtesting of SMC strategies.
Multi-Timeframe Liquidity Analysis: 70 pre-configured timeframes across five groups:
Group 1: Minutes & Hours (5m–4h)
Group 2: Hours (5h–23h)
Group 3: Days (1D–19D)
Group 4: Weeks (1W–12W)
Group 5: Months (1M–12M)
Group 6: 19 customizable timeframes for tailored strategies.
Advanced SMC Tools: FVG Filter: Enhances BB/PBB signals with 1–5 FVGs for high-probability setups.
Dynamic Mitigation: Monitors block mitigation in real-time with adjustable thresholds.
Columnar Confluence Display: Visualizes liquidity zones in timeframe-specific columns, highlighting multi-timeframe confluence.
Non-24/7 Market Support: Handles gaps in equities and forex markets.
Auto-Current Timeframe: Displays analysis for the chart’s active timeframe.
Visual Customization: Configurable bull/bear block colors.
Adjustable borders, widths, and timeframe labels with FVG counts.
Extended box projections for forecasting price action.
Clean, non-obtrusive overlay for seamless chart integration.
═══════ How It Works ═══════
The MT-HiddenLiquidityTracker leverages SMC principles to detect institutional order flow by analyzing Order Blocks and their evolution into Breaker or Partial Breaker Blocks. It scans multiple timeframes to uncover liquidity pools, using FVGs to filter high-probability signals. The columnar display highlights confluence zones, making it easy to spot where smart money activity converges, ideal for SMC trading strategies.
═══════ How to Use ═══════
Select Timeframe Group: Choose Current, Groups 1–5, or Custom timeframes.
Configure Block Types: Enable OB-only, BB/PBB-only, or all blocks.
Set FVG Filter: Specify 1–5 FVGs for BB/PBB detection (optional).
Customize Visuals: Adjust colors, labels, borders, and box extensions.
Tune Detection: Set OB sensitivity and mitigation thresholds.
═══════ Why It Stands Out ═══════
Unlike generic indicators, the MT-Hidden Breaker Blocks Tracker combines SMC-based liquidity hunting with multi-timeframe analysis, offering a unique approach to institutional order flow. Its FVG filtering, extensive timeframe options, and columnar confluence display provide clarity for ICT/SMC traders seeking high-probability setups in forex, crypto, and indices.
═══════ Best Practices ═══════
Prioritize higher-timeframe blocks (Groups 3–6) for major liquidity zones.
Combine with volume or price action for signal confirmation.
Use FVG counts to assess block strength.
Target confluence zones for stronger trade setups.
═══════ Performance Notes ═══════
Optimized for real-time analysis with efficient rendering.
Manages visuals within TradingView’s limits.
Supports historical analysis up to 10,000 bars.
Built in Pine Script v6, Beta version.
═══════ Access ═══════
As long as it's in beta, the script is free to use.
Contact LiquidityForgeSMC via TradingView’s messaging system for details.
═══════ Disclaimer ═══════
This indicator is for educational and analytical purposes only and does not constitute financial, investment, or trading advice. Always conduct your own analysis before trading. The indicator is in active development, with additional SMC features planned for future updates.
INSTRUCTIONS: youtube.com/watch?v=2528OdJIhBg
Market Intelligence V.2.0Market Intelligence V.2.0 - Multi-Timeframe Trend Analysis
A comprehensive trend analysis tool that displays real-time market intelligence across multiple timeframes
(15M, 30M, 1H, Daily) in a clean table format.
Key Features:
• Multi-timeframe EMA trend analysis with slope calculations
• RSI momentum indicator (14-period)
• VWAP position tracking
• EMA 200 long-term trend reference
• Color-coded bullish/bearish signals
• Trend strength percentages
What You'll See:
The indicator displays a table in the top-right corner showing trend direction and strength for each
timeframe, plus key technical levels. Green indicates bullish conditions, red shows bearish, with percentage
values showing trend momentum.
Best For:
Swing traders and day traders who need quick visual confirmation of trend alignment across multiple timeframes
before entering positions.
FRANJAS POR FECHAS - RSDescription:
This indicator allows you to highlight specific dates on your chart with vertical background stripes, similar to a session indicator.
Input your dates in the format DD.MM.YYYY (you can separate them with commas, spaces, line breaks, or semicolons).
The script automatically normalizes the format and applies a shaded vertical band for each matching day.
Works on daily and intraday charts: in intraday, the shading will cover the full trading day.
Options available to adjust the color and transparency of the stripes.
Optional dotted lines can be enabled at the start and end of each highlighted day.
This is useful for marking important events such as FOMC meetings, earnings releases, economic data announcements, or any custom list of key dates you want to track directly on your chart.
Rapid bp-meter(2Y) MTF V2.0US 2Y Yield — Basis-Point Meter (30s Fast + 1m Confirm)
What it does (one-liner):
A simple, fast basis-point (bp) meter for the US 2-Year Treasury yield that shows a 30-second “pre-trigger” and a 1-minute confirmation so you can quickly gauge risk-on / risk-off during news and FOMC events.
Overview
This tool tracks the change in the US 2-Year yield in basis points (1 bp = 0.01%). It displays two readings:
Fast: 30-second bp change (early signal).
Confirm: 1-minute bp change (confirmation).
Color logic is intentionally simple:
Green = yields down beyond your threshold (typical risk-on bias).
Red = yields up beyond your threshold (typical risk-off bias).
Gray = within thresholds (no signal).
Typical interpretation (not a signal service):
Yields ↓ (green) often align with USD weakness / risk-on (e.g., EURUSD↑, XAUUSD↑, NQ100↑, USDJPY↓).
Yields ↑ (red) often align with USD strength / risk-off (e.g., EURUSD↓, XAUUSD↓, NQ100↓, USDJPY↑).
Works on any chart. The yield is fetched from your chosen symbol/timeframes via request.security, independent of the chart timeframe.
Inputs
Yield symbol: default TVC:US02Y.
(Alternative proxy if seconds TF not available: 2-yr futures CBOT:ZT1!—note futures price ↑ = yield ↓.)
Fast timeframe: default 30S. (Use 1m if your plan/symbol doesn’t support seconds.)
Confirm timeframe: default 1 (1-minute).
Fast trigger (bp): default 2.0 bp.
Confirm trigger (bp): default 5.0 bp.
No-repaint mode: uses completed bars only. Turn off if you want intrabar responsiveness (may repaint).
Panel position: choose where the table appears on your chart.
What the table shows
2Y Δ fast (30S): e.g., −2.4 bp (green)
2Y Δ conf (1): e.g., −6.1 bp (green)
Rule of thumb
Both GREEN → risk-on bias likely (consider EURUSD/XAU/NQ long, USDJPY short).
Both RED → risk-off bias likely (consider the inverse).
Mixed → wait for alignment or price structure confirmation.
How to use (step-by-step)
Add to any chart.
Set Yield symbol to TVC:US02Y. If seconds aren’t available, keep Fast=1m and Confirm=3m (or use ZT1! as a fast proxy + US02Y confirm).
Choose Fast/Confirm thresholds. Defaults (2 bp / 5 bp) are conservative for major news (CPI/NFP/FOMC).
During events, wait for the first 1–3 minutes to pass; then act only if both readings agree and price gives a clean impulse → pullback → continuation.
Risk: size down on news; use a fixed $ risk per trade; place stops beyond the impulse origin.
Optional: enable the built-in alerts (const messages) for Fast up/down and Confirm up/down.
Alerts (included)
Fast down (pre-trigger) – “US 2Y down ≥ fast threshold → risk-on (pre-trigger)”
Fast up (pre-trigger) – “US 2Y up ≥ fast threshold → risk-off (pre-trigger)”
Confirm down (confirmed) – “US 2Y down ≥ confirm threshold → risk-on (confirmed)”
Confirm up (confirmed) – “US 2Y up ≥ confirm threshold → risk-off (confirmed)”
Tip: You can customize alert text in TradingView’s alert dialog if you want to include thresholds or tickers.
Best practices & notes
Seconds data requires the appropriate plan and symbol support. If seconds aren’t supported for US02Y, use 1m/3m or combine ZT1! (futures) for “fast” with US02Y for confirm.
No-repaint mode is recommended; turning it off will read intrabar values that can change by bar close.
The meter is directional context, not an entry by itself—combine with levels (NY H/L, VWAP, H1 S/R).
On some sessions, headline vs. core news or Powell Q&A may cause second-leg reversals; confirm with price action.
Limitations (transparent)
This tool does not predict future yields; it only reads the recent bp change on your selected timeframes.
Correlations vary; yield moves don’t always translate into the same magnitude on FX/indices/commodities.
If your broker or symbol has delays or limited intraday history, readings may differ.
Futures proxy (ZT1!) is inversely related to yield; interpretation must be inverted if you use it for the fast leg.
What “inverse to yield” means
When yields fall, bond prices rise.
TVC:US02Y = the yield itself.
CBOT:ZT1! = the price of the 2-yr note futures.
So:
US02Y ↓ (−bp) ⇢ ZT1! ↑ (price up)
US02Y ↑ (+bp) ⇢ ZT1! ↓ (price down)
That’s the “inverse” part: yield and futures price move in opposite directions.
Disclaimer
This script is for informational and educational purposes only. It does not constitute financial, investment, or trading advice, and it does not guarantee outcomes or profits. Trading involves risk, including the loss of principal. Always do your own research and use proper risk management.
Gabriel's Squeeze Momentum📊 Gabriel’s Squeeze Momentum — Deluxe Volatility + Momentum Suite
An advanced, all-in-one squeeze & momentum framework that times volatility compression/expansion and trend shifts, with optional CVD (cumulative volume delta) momentum, ATR zone context, Discontinued Signal Lines (DSL) scalps, Colored DMI trend label, Williams VIX Fix (WVF) low-volatility exhaustion pings, Buff’s VTTI/VPCI volume confirmation, and real-time divergence detection.
What it does:
Discover Squeezes. They occur when volatility contracts, often preceding significant price moves.
Measures momentum with a fast, ATR-normalized linear regression—optionally on Price or CVD—so you see direction and “how hard it’s pushing.”
🧭 Signal Legend ~ Colors the squeeze so you instantly know regime:
🟡 / 🟣 (Tight/Very Tight): Coiled spring; prepare a plan.
🔴 / ⚫ = (Regular/Wide): Watch for Divergences between Price and Momentum.
🟢 (Fired): Expansion started; trade with momentum cross and bias.
Adds context bands at ±1/±2/±3 ATR (“trend / expansion / OB-OS”) to filter late or weak signals.
DSL (Discontinued Signal Lines) give early scalp flips on momentum vs. adaptive bands.
DMI label & triangles communicate trend strength and whether +DI / −DI is in control.
Williams VIX Fix flags capitulation/exhaustion style spikes (with optional VIX proxy).
VTTI/VPCI modules confirm when volume aligns with price trend or contradicts it.
Divergences (regular & hidden) auto-draw with optional live (may repaint) or on-close.
🎢 Squeeze Momentum — How the Logic Works 🎢
The Squeeze Momentum model is built on the principle of volatility compression and expansion. In markets, periods of low volatility are often followed by explosive moves, while high volatility eventually contracts. The “squeeze” seeks to identify these compression phases and prepare traders for the likely expansion that follows.
This indicator achieves that by comparing Bollinger Bands (BB) to Keltner Channels (KC).
Bands: Bollinger vs. Keltner
Bollinger Bands (BB): Calculated using a Simple Moving Average (SMA) of price and standard deviations (σ) of the closing price. The bands expand and contract depending on volatility.
Keltner Channels (KC): Built from an SMA plus/minus multiples of the Average True Range (ATR). Unlike some simplified squeeze indicators that approximate ATR, this implementation uses a true ATR-based KC, ensuring accuracy across different assets and timeframes.
By comparing whether the Bollinger Bands are inside or outside the Keltner Channels, the indicator identifies different squeeze regimes, each representing a distinct volatility environment.
📦 Regime Colors
The squeeze states are color-coded for quick interpretation:
🔹Wide Squeeze (⚫): BB inside KC with a high ATR multiplier. Extremely low volatility, often before major expansion.
🔹Normal Squeeze (🔴): BB inside KC with a moderate ATR multiplier (about 25% more sensitive than Wide). Typical compression setting.
🔹Narrow Squeeze (🟡): BB inside KC with a lower ATR multiplier (about 50% more sensitive than Wide). Signals tighter compression.
🔹Very Narrow Squeeze (🟣): BB inside KC with the lowest ATR multiplier (100% more sensitive than Wide). Indicates extreme coiling.
🔹Fired Squeeze (🟢): BB break outside KC. Marks the release of volatility and potential trend acceleration.
This multi-layered system improves upon classical SQZPRO by using precisely calculated Keltner Channels and multiple sensitivity levels, giving traders more granular information about volatility states.
🔒 Multi-Timeframe Support
The indicator automatically adjusts squeeze thresholds for different timeframes — hourly, 4-hour, daily, weekly, and monthly charts. Each regime has been manually tuned for its timeframe, allowing traders to use the same tool whether scalping, swing trading, or holding longer-term positions.
🎯 Momentum Core
Detecting a squeeze is only half the equation — the indicator also includes a momentum engine to determine direction and strength.
Price momentum is measured as the distance of Close from its Highest High and Lowest Low range, smoothed with a Simple Moving Average, and refined with Linear Regression.
This value is then divided by ATR, normalizing momentum relative to volatility.
Optionally, CVD Mode (Cumulative Volume Delta ÷ Volume) can replace price momentum for assets where order-flow and volume dynamics dominate (e.g., crypto).
🦆 Signal Line
Momentum is paired with a Simple Moving Average signal line:
🔹Bullish: Momentum > Signal.
🔹Bearish: Momentum < Signal.
This crossover logic provides directional bias and filters for false squeezes.
🚀 When to Use Price vs. CVD
CVD Mode (Crypto, FX with tick volume): Best for assets with strong volume/order-flow signals.
Price Mode (Equities, Commodities, Higher TFs): Best for assets with irregular or thin volume data.
🛢️ATR Zones (context filter) 🛢️
Its design is straightforward yet effective: it measures the difference between the current price from its highest highs, lowest lows, and a moving average over a chosen period, then expresses that difference in terms of the Average True Range (ATR) over the same period. By normalizing price deviations against volatility, ATR provides a clear sense of how far and how fast price is moving relative to its “normal” range.
Interpreting the Zone
Positive Values: When it is above zero, price is trading above its HH, LL, and moving average, suggesting bullish momentum. The higher the value, the stronger the momentum relative to volatility.
Negative Values: When the Momentum is below zero, price is trading below its HH, LL, and moving average, signaling bearish momentum. The deeper the reading, the stronger the downside pressure.
Magnitude Matters: Because the Momentum is expressed in ATR units, traders can immediately gauge whether the move is small (less than 1 ATR), moderate (1–2 ATRs), or extreme (3+ ATRs). This makes it especially useful for assessing overbought or oversold conditions in a normalized way.
Strengths:
🔹Volatility-Normalized: Unlike simple squeeze momentum oscillators that have different OB/OS levels, this Momentum adjusts for volatility. This makes signals more consistent across assets with different volatility profiles.
🔹Simplicity:
±1 ATR: trending zone (bulls above +1, bears below −1)
±2 ATR: expansion (keep, add, or trail). Stretch/risk of mean reversion.
±3 ATR: potential exhaustion/mean-revert zone.
🔹Momentum Clarity: By framing momentum in ATR terms, it is easier to distinguish between a small deviation from trend and a genuinely significant move. Sometimes it is a good sign that it trend to ±3/2 ATR, looks for similar directional moves.
Color: The script shades +2/+3 (OB) and −2/−3 (OS) areas and provides swing alerts at ±1 ATR.
💚 What Are Discontinued Signal Lines (DSL)? 💚
In technical analysis, one of the most common tools for smoothing out noisy data is the signal line. This concept appears in many indicators, such as the MACD or stochastic oscillator, where the raw value of an indicator is compared to a smoothed version of itself. The signal line acts as a lagging filter, making it easier to identify shifts in momentum, crossovers, and directional changes.
While useful, the classic signal line approach has limitations. By design, a single smoothed line introduces lag, which means traders may receive signals later than ideal. Additionally, a one-size-fits-all smoothing process often struggles to adapt to different levels of volatility or rapidly changing market conditions.
This is where Discontinued Signal Lines (DSL) come in. DSL is an advanced extension of the traditional signal line concept. Instead of relying on just one smoothed comparison, DSL employs multiple adaptive lines that adjust dynamically to the current state of the indicator. These adaptive lines effectively “discontinue” the dependence on a single, fixed smoothing method, producing a more flexible and nuanced representation of market conditions.
How DSL Works?
Traditional Signal Line: Compares an the Momentum against its own moving average. Provides crossover signals when the raw indicator value moves above or below the smoothed line.
Strength: reduces noise. Weakness: delayed signals and limited adaptability.
DSL Extension: Uses multiple adaptive lines that respond differently to the indicator’s current behavior. Instead of one static moving average, the DSL approach creates faster and slower “reaction lines.” These lines adapt dynamically, capturing acceleration or deceleration in the indicator’s state.
Result: Traders see how momentum is evolving across multiple adaptive thresholds. This reduces false signals and improves responsiveness in volatile conditions.
Benefits of Discontinued Signal Lines
🔹Nuanced Trend Detection
DSL doesn’t just flag when momentum changes direction—it shows the quality of that shift, highlighting whether it is gaining strength, losing steam, or consolidating.
🔹Adaptability Across Markets
Because DSL adjusts to the Momentum’s own dynamics, it works well across different asset classes and timeframes, from equities and futures to forex and crypto.
🔹Earlier Signal Recognition
Multiple adaptive lines allow traders to spot developing trends earlier than with a single smoothed signal line, without being overwhelmed by raw indicator noise.
🔹Better Confirmation
DSL is particularly useful for confirmation. If both adaptive lines agree then a fill is applied in the direction, confidence in the trend is higher as the color turns bull/bear.
🔹Practical Uses
Momentum Trading: Spot acceleration or deceleration in trend strength.
Trend Confirmation: Verify whether a breakout has momentum behind it.
Noise Filtering: Smooth out erratic moves while retaining adaptability.
⚖️ Colored Directional Movement Index (CDMI) ⚖️
The Directional Movement Index (DMI), created by J. Welles Wilder, is one of the most respected trend-following indicators in technical analysis. It is actually a family of three separate indicators combined into one: the +DI (Positive Directional Indicator), the –DI (Negative Directional Indicator), and the ADX (Average Directional Index). Together, they measure not only whether the market is trending but also the strength of that trend. Traders have used the DMI for decades to identify trend direction, gauge momentum, and filter out periods of market noise.
However, despite its reliability, the traditional DMI can be challenging to interpret. Reading three separate lines at once and extracting meaningful signals requires both experience and careful observation. This complexity often discourages newer traders from fully utilizing its power.
The Colored Directional Movement Index (CDMI) is a modern reinterpretation of Wilder’s classic tool. It condenses the same information into a single visual line while using color, shape, and density to communicate what’s happening beneath the surface. The goal is simple: make the DMI’s insights faster to read, easier to act upon, and more intuitive to integrate into trading decisions.
Key Features of CDMI
🔹Color Scale for Trend Strength
The main triangle changes its base color depending on the strength of the DI reading. Dark Red or Green, colors correspond to stronger trends, while faded Gray or lighter yellow tones signal weaker or fading trends. This makes it visually clear when the market is consolidating versus trending strongly.
🔹Color Density for Momentum
Beyond strength, the CDMI uses color density to represent momentum in the trend’s strength. If the ADX is rising (trend gaining momentum), the triangles grows more darker. If the ADX is falling (trend losing momentum), the triangle becomes paler. This provides an instant sense of whether a trend is accelerating or decelerating.
🔹Directional Triangles for Trend Direction
To replace the separate +DI and –DI lines, the CDMI plots small triangle shapes along the bottom axis. An upward-facing triangle indicates that +DI is dominant, confirming bullish direction. A downward-facing triangle signals –DI dominance, confirming bearish direction. This way, both strength and direction are shown without the clutter of multiple overlapping lines.
🔹Label Display for Detailed Values
For traders who want precise data alongside the visuals, CDMI includes a label that shows:
Current trend strength (ADX value).
Current +DI and –DI values.
Momentum status of the ADX (rising or falling).
Historical values of DMI readings, so traders can track how the indicator has evolved over time.
Tooltips are also available to explain “How to read the colored DMI line”, making this version more beginner-friendly.
Why CDMI Matters
The CDMI retains the proven reliability of Wilder’s DMI while solving its biggest drawback—interpretation difficulty. Instead of juggling three separate plots, traders get a single, information-rich line supplemented with intuitive shapes and labels. This streamlined format makes trend verification, momentum analysis, and signal confirmation much faster.
For trading applications, the CDMI can help:
Confirm Entries by showing whether the market is trending strongly enough to justify a position.
Avoid False Signals by filtering out periods of low ADX (weak trend).
Enhance Timing by tracking momentum shifts in trend strength.
By simplifying the complexity of the original DMI into an elegant, color-coded tool, the CDMI makes one of technical analysis’ most advanced indicators practical for everyday use.
😅 The VIX, the Williams Vix Fix, and Market Bottoms 😎
The VIX, formally known as the CBOE Volatility Index, has long been considered one of the most reliable indicators for spotting major market bottoms. Often referred to as the “fear gauge,” it measures the market’s expectation of volatility in the S&P 500 over the next 30 days. When fear grips investors and volatility spikes, the VIX rises sharply. Historically, these moments of extreme fear often coincide with powerful buying opportunities, as markets have a tendency to rebound once panic selling exhausts itself.
Larry Williams, a well-known trader and author, developed the Williams Vix Fix as a way to replicate the insights of the VIX across any tradable asset. While the VIX itself is tied specifically to S&P 500 options, Williams wanted a tool that could capture similar panic-driven dynamics in stocks, futures, forex, and other markets where the VIX is not directly applicable. His “fix” uses price action and volatility formulas to approximate the same emotional extremes reflected in the official VIX, creating almost identical results in practice. This makes the Williams Vix Fix a powerful addition to the trader’s toolbox, allowing the same principle that works on U.S. equities to be applied universally.
One of the most important characteristics of both the VIX and the Williams Vix Fix is that they are far more reliable at signaling market bottoms than market tops. The reason is psychological as much as it is mathematical. At market bottoms, fear and panic are widespread. Retail investors often capitulate, selling in a frenzy as prices drop. This panic drives volatility higher, producing the spikes we see in the VIX. At the same time, professional traders and institutions—those with larger capital and more disciplined strategies—tend to step in when volatility is stretched. They buy when others are fearful, using the panic of retail investors as an opportunity to acquire assets at discounted prices. This confluence of retail panic and institutional buying power is what makes the VIX such a strong bottom-finding tool.
In contrast, at market tops, the dynamic is very different. Tops tend not to be marked by panic or fear. Instead, they form quietly as enthusiasm fades, liquidity dries up, and buying interest wanes. Investors are often complacent, assuming prices will continue to rise, while professional money begins distributing their positions. Because there is no surge in fear, volatility remains muted, and the VIX does not offer a clear warning. This is why traders who rely on the VIX or the Williams Vix Fix must understand its limitations: it is exceptional for detecting bottoms but less useful for anticipating tops.
For traders, the lesson is straightforward. When you see the VIX or Williams Vix Fix spiking to extreme levels, it often indicates a high-probability environment for a rebound. These tools should not be used in isolation, but when combined with support levels, sentiment indicators, and market breadth, they can provide some of the most reliable bottom-fishing signals available. While no indicator is perfect, few have stood the test of time as consistently as the VIX—and thanks to Williams’ adaptation, its power can now be applied to nearly every market.
Indicator Signals (Great in risk-off charts):
🔹Flags spike events (tops/bottoms) with both original and filtered (AE/FE) criteria.
🔹Great as a risk overlay: tighten stops into AE/FE, or require “no spike” to enter.
🤯 Volume Comfirmation: VTTI & VPCI (Buff Dormeier) 🤯
Volume Trend Technical Indicator (VTTI)
The Volume Trend Technical Indicator (VTTI) is a momentum-style tool that analyzes how volume trends interact with price movement. Unlike basic volume measures that simply report how many shares or contracts were traded, the VTTI evaluates whether volume is expanding or contracting in the same direction as the prevailing price trend. The underlying logic is that healthy trends are supported by rising volume, while weakening trends often occur on shrinking volume.
At its core, VTTI looks at the rate of change in volume compared to price movements. By smoothing and normalizing these relationships, the indicator helps traders determine whether momentum is accelerating, decelerating, or diverging.
Rising VTTI: Suggests that volume is confirming the current price trend, strengthening the case for continuation. Flips BG Green after crossing it's signal.
Falling VTTI: Indicates that the trend may be losing participation, often a sign of possible consolidation or reversal. Flips BG Red after crossing it's signal.
Traders often use VTTI to filter entries and exits. For example, if price breaks out but VTTI does not rise above zero, the breakout may lack conviction. On the other hand, when both price and VTTI are aligned, probability of continuation improves.
Volume Price Confirmation Indicator (VPCI)
The Volume Price Confirmation Indicator (VPCI), developed by Buff Dormeier, takes the relationship between price and volume a step further. While traditional indicators like On-Balance Volume (OBV) or Chaikin Money Flow look at cumulative patterns, VPCI breaks price and volume into trend and volatility components and then recombines them to measure how well they confirm each other.
In essence, VPCI asks: “Does volume confirm what price is signaling?”
The formula integrates:
Price Trend Component – whether the market is trending upward or downward.
Volume Trend Component – whether trading activity supports that price trend.
Volatility Adjustments – to account for irregular swings.
The resulting oscillator fluctuates around a zero line:
Positive VPCI: Indicates that price and volume trends are in agreement (bullish confirmation).
Negative VPCI: Suggests that price and volume are diverging (bearish warning or false move).
Crossovers of Zero: Can serve as potential buy or sell signals, depending on context.
A key strength of VPCI is its sensitivity to divergence. When prices continue rising but VPCI begins falling, it often foreshadows a weakening rally. Conversely, a rising VPCI during a flat or down market can highlight early accumulation.
VTTI (Entry Signal) vs. VPCI (Exit Signal)
While both indicators study price-volume dynamics, their focus differs:
VTTI is simpler, emphasizing the trend of volume relative to price for momentum confirmation.
VPCI is more advanced, decomposing both price and volume into multiple components to produce a nuanced oscillator.
Used together, they provide complementary insights. VTTI helps quickly spot whether volume is supporting a move, while VPCI offers deeper confirmation and highlights subtle divergences.
Note: The Up/Down Volume Alert works better on the 4 HR, for Daily scalps or 30 minute for HR scalps. Intraday it's 2/10 minute.
🦅 Divergence toolkit 🦅
Divergences in Technical Analysis
Divergence occurs when the price action of an asset moves in one direction while a technical indicator, such as RSI, MACD, or Momentum, moves in the opposite direction. This disagreement between price and indicator often signals a shift in underlying market dynamics. Traders use divergences to anticipate either potential reversals or continuations in trends.
There are two main types of divergences: regular divergences, which typically precede reversals, and hidden divergences, which suggest continuation of the current trend.
Regular Divergence (Reversal Signals)
A regular divergence occurs when price and indicator disagree during a trend extension. These divergences signal that momentum is no longer fully supporting the current trend and that a reversal may be imminent.
🔹Regular Bullish Divergence
Price Action: Forms a lower low.
Indicator: Forms a higher low.
Interpretation: Price is making new lows, but the indicator is gaining strength. This suggests that selling pressure is weakening, and a reversal to the upside may occur.
Example: RSI rising while price dips to fresh lows.
🔹Regular Bearish Divergence
Price Action: Forms a higher high.
Indicator: Forms a lower high.
Interpretation: Price is reaching new highs, but the indicator shows weakening momentum. This implies that buying pressure is fading, warning of a potential downside reversal.
Example: MACD histogram falling while price makes higher highs.
Regular divergences are often spotted near the end of trends and are most powerful when aligned with key support/resistance levels or overbought/oversold conditions.
Hidden Divergence (Continuation Signals)
A hidden divergence occurs during retracements within a trend. Unlike regular divergences, hidden divergences suggest that the prevailing trend still has strength and is likely to continue.
🔹Hidden Bullish Divergence
Price Action: Forms a higher low.
Indicator: Forms a lower low.
Interpretation: Price is retracing within an uptrend, but the indicator is overshooting downward. This shows that momentum remains intact, supporting continuation upward.
🔹Hidden Bearish Divergence
Price Action: Forms a lower high.
Indicator: Forms a higher high.
Interpretation: Price is retracing within a downtrend, while the indicator overshoots upward. This indicates that bearish momentum remains strong, supporting continuation downward.
Hidden divergences often appear during pullbacks, helping traders time entries in the direction of the prevailing trend.
Practical Use of Divergences
🔹Trend Reversal Alerts – Regular divergences are early warnings that a trend may be ending.
🔹Trend Continuation Signals – Hidden divergences help confirm that retracements are simply pauses, not full reversals.
🔹Confluence with Other Tools – Divergences are more reliable when combined with support/resistance, candlestick patterns, or volume analysis.
🔹Multi-Timeframe Analysis – Spotting divergences on higher timeframes often produces stronger signals.
🕭🔔🛎️ Alert 🛎️🔔🕭
🔹Squeeze
🟢 Fired Squeeze
⚫ Low (Wide) Squeeze / 🔴 Normal / 🟡 Tight / 🟣 Very Tight
🔹Momentum
🐂 Bullish Trend Reversal (Crossover of Momentum and Signal from sub −2)
🐻 Bearish Trend Reversal (Crossover of Momentum and Signal from above +2)
📈 Bullish Swing (cross above +1 ATR) / 📉 Bearish Swing (cross below −1 ATR)
🔹DSL
💚 Bullish DSL Scalp / 💔 Bearish DSL Scalp
🔹Volume
🎯 Strong Up Volume (VPCI > 0 and VTTI up)
⏳ Strong Down Volume (VPCI < 0 and VTTI down)
🔹Divergences
🦅 Bullish, 🦆 Bearish, 🦅 Bullish Hidden, 🦆 Bearish Hidden
Management: Search Vanguard ETFs in your browser, look up full list of VOO holdings. Download it, or copy paste all the ticker symbols. Place that with a AI, just ask it to place , in between each ticker. NVDA, TSLA, AVGO, etc. Create a new watchlist, in the + add all tickers separated by commas. Place a watchlist alert ⚠️ only available for premium + subscribers.
Practical playbook
1) Classic Squeeze Break
Setup: 🔴(D)/🟡(2D)/🟣(3D) squeeze → wait for 🟢(1HR) Fired.
Confirm: Momentum > Signal and above +1 ATR (or DMI strong & rising).
Manage: add on pullbacks that hold +1 ATR; scale near +2 ATR or WVF AE/FE.
2) DSL Scalp in Trend
Setup: Clear trend (DMI strong) + DSL bull/bear trigger in the direction of trend.
Filter: avoid tight/very tight yellow/purple unless you want micro-scalps.
Exit: opposite DSL or ATR midline loss.
3) Mean-Reversion Fade
Setup: Momentum extended to ±3 ATR, WVF spike, and a regular divergence.
Entry: Counter signal only when mom crosses back through ±3 ATR toward mid. Exit early if squeeze ⚫/🔴, Momentum may extend to ±3/2 ATR in the same direction.
Risk: reduce size; this is a fade, not trend following.
4) Volume-Confirmed Breakout
Setup: Squeeze → 🟢 Fired + VPCI > 0 and VTTI up → trend continuation.
Manage: trail behind +1 ATR (long) or −1 ATR (short). 9 SMA works good.
Inputs at a glance (key ones)
Mode: Price or CVD momentum; Squeeze Sensitivity (σ); Momentum Length; Signal Length; ATR Smoothing.
🧮 Colors:
SQZMOM: per squeeze regime, momentum, ATR fills.
DSL: On/Off, Fast/Slow, Length.
ATR Zones: Bullish/Bearish levels (±1), ±2/±3 zone lines & fills.
DMI: Lengths, key & weak thresholds, label on/off.
WVF/VIX: Lookbacks, bands, AE/FE toggles, VIX proxy symbol.
VTTI/VPCI: Fast/slow/signal (VTTI), Short/Long (VPCI), and volume source (Tick/CVD/NVI/PVI/OBV/PVT/AccDist/VWAP).
Divergences: Regular/Hidden toggles, Sensitivity %, Lifetime, Live vs On-Close, Lines/Labels.
🔎 Suggested defaults (feel free to tweak)
Calibration: Size Momentum, so that when it's above zero the asset is trending up. For the signal, it can be kept the same or lower.
Intraday (60–240m): σ = 2.0, 18~20, 3~5, DSL Fast, DMI key 23, weak 17.
Daily/Weekly: keep σ = 2.0, consider DSL Slow, DMI key 25, weak 20, widen ATR filters; lean on VPCI/VTTI (4-HR).
CVD mode: use where tick/volume quality is high (index futures, liquid equities, crypto majors).
🪟 Tips & caveats
Swing Screener: Favor liquid underlyings (index futures/ETFs, large caps). Large-Cap, 2 M Vol, Mid-Cap, 500K Vol. Squeeze: BB( 20) upper < KC (20) upper, and BB (20) lower > KC (20) lower. Optional: Price above 9 SMA, 21 SMA, and 50 SMA, they are my SMA of choice. 200 SMA too, unless you are willing to fish in a bear market. Vice-versa for shorts. Optional: ADX 4 HR > 17, or 23 depending on what you are looking for.
Scalp Screener: Same as above, change the D 9 SMA to 5, and the BB/KC from D to 1 HR. Scalps may last 2~3 days.
Position Screener: Change all daily setting to W, aside from Volume. Optional: PEG < 1.5, FCF > 0, ROA > 8% or ROE > 6%.
Good with Moving averages (9/21/50) and low-volume zones.
Position size by IV, ATR, and account risk. Consider stop/hedge rules around ±2/±3 ATR.
Let alerts stage your watchlist; act only on combined squeeze + momentum signals.
Divergences in live mode can repaint (Real-Time); for algo or alerts, use on-close.
Tight/Very tight squeezes are great for scalps but choppy; combine with DMI rising + VPCI>0.
±3 ATR is exhaustion context, not an auto-fade—look for WVF/Div/DSL confirmation.
For alerts, pair “Fired Squeeze + Bullish Swing” (or bearish) to avoid false starts.
🎯 How to Trade Entry ~ Recap:
Tight/very tight squeeze → fires → momentum crosses up (or DSL bull).
Exit/Flip: Momentum crosses down into/after expansion or hits +2/+3 ATR with fade signs. Filter: Avoid fresh longs at +3 ATR; avoid fresh shorts at −3 ATR unless fading with confirmation.
📐 Options Integrations
✅ Risk Reversal/Modified Risk Reversal (Bullish: Short Put + Long Call)
Use when: Squeeze fires up from 🟡/🟣 and momentum crosses above signal (or zero/DSL).
Playbook Entry: On or just after the bullish fire and momentum upcross. DMI or Volume supports trend as well.
Structure: Sell a put at/just below the −2 ATR reference (or recent swing support). Buy a call at/above the breakout zone (prior high/mid-range +1 to +2 ATR).
A classic risk reversal is a long call plus a short put. That’s a very bullish structure—you gain if the price rallies (via the call), and you collect a premium by selling a put. But it has a naked downside risk. The modified risk reversal fixes that by adding a long lower put (making the short put into a defined put credit spread).
Management: If momentum stays above signal, ride toward +2 → +3 ATR. Sell the put near the current price → receive big premium. Buy the lower put → spend part of that premium (risk cap). Buy the call above the current price → spend more, but the short put premium mostly pays for it.
Exits/Adjust: Momentum downcross or squeeze flips back on (new compression) → reduce. If price retests −1/−2 ATR and holds, you can roll the short put down/out.
Breakout = Big Success; No Breakout = you keep the initial credit. Reversal = Max loss is capped by the long lower put.
✅ Iron Condor (Neutral: Short OTM Put Spread + Short OTM Call Spread)
Use when: Squeeze is active (🟡/🟣), momentum is flat near zero, and there is no directional edge. 🟢 lasts for around 5~8 bars typically. I measure the historical duration of it, and wait for a range period to occur.
Playbook Entry: During compression, set wings outside ±2 ATR (or recent range extremes). I prefer identifying boxes where the rectangle pattern occurs on the chart.
Management: Time decay works while price remains trapped in the coil. High-winrate ~80%, but 1 loser can wipe most of the gains.
Exits/Adjust: If a squeeze fires and momentum breaks hard one way, close the losing side, consider converting to a vertical or rotating to a directional spread aligned with momentum.
4HR-Bullish, closing one wing:
Tip: Align daily/weekly context with your intraday entries. 9 > 50 on Weekly, similar on Daily. Sell premium into compression; switch to directional spreads on expansion and momentum confirmation.
✅ Naked Call/Puts (Directional: 10~30 Delta Calls)
Stick to naked calls and puts when the squeezes are fired from either 🔴 or ⚫.
Look for Strikes slightly out of the money with an OI and Volume spread less than <10%.
If Strike Date is >45, manage 21 Days before expiration. Scalp: Expiration Strikes of 1/4 of the Squeeze period. Leap: Expiration Strikes of 1.75x of the Squeeze period.
📐 Futures Integrations
Playbook Entry:
Verify if the squeeze on the hourly is red or green, and enter on the 2- or 5-minute during a similar squeeze state.
Trend-Following: Traditional 2 Renko Block above 21 SMA and Momentum is bullish, or vice versa. (2~ES, 5~NQ)
Structure: Go long at/just below the ATR reference (or recent swing support). Exit below the breakout zone (prior high/mid-range +1 to +2 ATR).
Management: If momentum stays above +1 ATR ride toward +2 → +3 ATR, etc. House-money, should be kept.
Exits/Adjust: Momentum downcross or squeeze flips back on (new compression) → exit. On Renko Charts, lower the sensitivity to 0.7~1. If price retests 0/−1/−2 ATR and holds, you can enter when the 9 SMA flips. The 50 SMA is better for Daily and up; I wouldn't trade against it then.
📌 FOMO Trading Playbook
Credits & License
Credits: @JF10R (Multi-Timeframe Squeeze), @BigBeluga (DSL), @OskarGallard (Colored DMI base), @ChrisMoody (WVF ideas), @PineCodersTASC (VTTI/VPCI), @EliCobra (Divergence toolkit).
License: Mozilla Public License 2.0 (MPL-2.0).
Author: © GabrielAmadeusLau
unFair Value Gap Detector [theUltimator5]The unFair Value Gap Detector (uFVG) highlights imbalance zones that form when trend strength is weak but directional pressure spikes—a condition often followed by price reversion back into that level. Unlike the classic 3-candle ICT FVG, this tool is designed to help you have an unFair edge in gap retracement detection by plotting high probability gap reversion opportunities on the current timeframe and the next FIVE (yes five) higher timeframes.
What you’ll see:
Gap line per event: A single, no-nonsense line at the level price most often returns to.
Auto multi-timeframe view: uFVG ladders up through five higher timeframes and shows their levels too—each with its own color.
Smart de-clutter: Near-duplicate lines across timeframes are filtered so your chart stays readable.
Note: This indicator is intentionally minimalistic visually to minimize chart clutter, while still being an extremely powerful tool
Optional visuals:
Light background tint during quiet, coiling conditions.
Soft fill from price to the active line for quick context.
Compact labels that note the price and which timeframe printed it.
Why it is unique and effective (the “unfair” edge):
Early, practical context: Spots levels near when the imbalance forms—useful before the crowd catches on.
Clarity over noise: One line per event. No boxes, no sprawling zones, fewer “maybe” areas.
Timeframe confluence: When multiple timeframes cluster around the same price, you’ve got a stronger focal point.
Simple risk framing: If price slices through the line decisively, that idea’s done. Next.
How to use it:
Mean-reversion play: Look for price to tag the line, take profits into it, or fade a first reaction.
Continuation play: After the line is “mitigated,” reassess in the original direction.
Prioritize by timeframe: Higher-timeframe lines tend to carry more weight.
Respect clusters: Multiple lines stacked near one price often mark important pivots.
Customization
Colors: Separate colors for current and higher-timeframe lines.
Toggles: Turn on/off background highlights, line-to-price fill, and labels.
Minimal fuss: The rest is auto—timeframes, line lifecycle, and de-duplication are handled for you.
Market Structure - BOS LinesMarket Structure - BOS Lines individuazione delle 3cf e segnalazione con il bos
SMT Divergences Dual Lookback - MoonTradesThis Pine Script, titled "SMT Divergences Dual Lookback", is designed to detect and visualize divergences between two comparison symbols (symbols A and B) using two different lookback periods. The script specifically identifies bullish and bearish divergences based on pivot highs and lows and marks them on the chart with color-coded labels.
Bullish Divergence (Swing High) is marked when a price swing low diverges from a pivot low, indicating potential upward momentum.
Bearish Divergence (Swing Low) is marked when a price swing high diverges from a pivot high, indicating potential downward momentum.
The script works with two customizable comparison symbols and can also apply a specific timeframe for divergence detection (separate from the chart’s default timeframe). The results are displayed with labels showing the corresponding symbols, helping traders identify potential reversal points or continuation trends.
Users can customize the lookback periods and the colors for the divergence markers. This tool aids in technical analysis for traders who focus on multi-timeframe and multi-symbol divergence strategies.
Customizable Dashboard with Breakout, Fibonacci, and VMAPCustomizable Trading Dashboard 🚀
Supercharge your trading with our Customizable Dashboard with Breakout, Fibonacci, and VMAP! 📈 This powerful Pine Script indicator brings all key signals across multiple timeframes into one intuitive window, perfect for indices (Sensex, Nifty50, BankNifty), stocks, and crypto. Make faster, smarter decisions at a glance! 💡 Ideal for scalpers, day traders, and swing traders. 💪
Main Features 🌟
All Signals in One Window 🖼️: View trend, breakouts, Fibonacci, VMAP, and more in a single, customizable table—no need to switch charts! 🚀
Multi-Timeframe Powerhouse ⏰: Analyze signals across 1M, 5M, 15M, 30M, 1H, 4H, and 1D timeframes simultaneously for ultimate confluence. 📊
Trend Signals 📈: Spot Bullish 🟢, Bearish 🔴, or Neutral ⚪ trends instantly across all timeframes.
Breakout Detection 💥: Catch Consolidation, Pre-Breakout, Breakout, and Entry signals with higher timeframe confirmation.
Fibonacci Levels 🎯: Track key Fib levels (0.236, 0.382, 0.5, 0.618, 0.786) with persistent "last met" tracking for precision.
VMAP Insights 📏: See if price is At, Above, or Below the Volume-Weighted Moving Average for dynamic support/resistance.
Candlestick Patterns 🕯️: Identify powerful patterns like Bullish Engulfing, Hammer, and Doji across all timeframes.
Chart Patterns 🔍: Detect classics like Head and Shoulders, Triangles, and Flags in one view.
Fully Customizable 🎨: Toggle timeframes, signals, and simplified mode; tweak colors, headers, and settings to fit your trading style.
Dynamic Alerts 🔔: Get real-time notifications for trend shifts, breakouts, Fib touches, and more, all in one place.
Why Choose Our Dashboard? 🌍
One-Stop Analysis: Monitor all timeframes and signals in one window for faster, informed trades. 🖥️
Optimized for Nifty50, BankNifty, Sensex, stocks, and crypto. 🤑
Highly customizable for beginners and pros alike. 🛠️
Actionable insights with a sleek, color-coded table. ✨
Take control of the markets with this all-in-one trading powerhouse! Start now and trade smarter! 💸
Astra Flow V1Astra Flow V1 is an all-in-one trading framework designed to bring structure and clarity to price action.
It combines:
Super trend logic for trend direction
Market Structure for shifts in control
Fair Value Gaps & Liquidity zones for smart money concepts
Auto-Fibonacci & Gann swings for confluence
Volume Profile overlays to highlight key levels
Dynamic alerts for long/short setups
TJR Session High/LowsThis indicator plots the session Highs and Lows for Tokyo (20:00–03:00), London (03:00–08:00), and New York (08:00–17:00).
Each session can be toggled on or off, and you can choose whether to display only the High, only the Low, or both.
Customization options include:
Colors and line styles (Solid, Dashed, Dotted) for each session
Line width
Optional vertical markers at the session boundaries (20:00, 03:00, 08:00, 17:00) – dashed blue lines by default
The indicator updates dynamically: session High/Low levels are recalculated in real time as new bars come in, and only the most recent session lines are shown (no clutter from past sessions).
Default session times are set for Tokyo, London, and New York, but you can adjust them if needed.
EMA (20, 50, 100, 200) incl. TIMEFRAME!Multi-Timeframe EMA Indicator
Indicator designed for TradingView that plots up to four distinct Exponential Moving Average (EMA) lines on your chart. The script is highly flexible, allowing you to configure each EMA's length and color individually. Additionally, it features a crucial timeframe parameter, which enables you to apply the EMAs from a different, higher timeframe directly to your current chart.
Key Features:
Four Independent EMAs : The indicator calculates and displays four separate EMA lines simultaneously. The default lengths are set to the popular values of 20, 50, 100, and 200, which are commonly used for short-term, medium-term, and long-term trend analysis.
Customizable Length and Color: You have full control over each EMA. In the indicator's settings, you can easily change the length of each moving average to suit your trading strategy. You can also customize the color of each line, making it easy to distinguish them on the chart.
Multi-Timeframe Analysis (MTF) : The most powerful feature is the timeframe parameter. By entering a different timeframe (e.g., "D" for daily, "W" for weekly, or "60" for hourly), the indicator will calculate the EMAs based on that specific timeframe's data, regardless of your chart's current resolution. This is invaluable for traders who want to see long-term trends on a short-term chart without having to switch timeframes.
Dual Best MA Strategy AnalyzerDual Best MA Strategy Analyzer (Lookback Window)
What it does
This indicator scans a range of moving-average lengths and finds the single best MA for long crossovers and the single best MA for short crossunders over a fixed lookback window. It then plots those two “winner” MAs on your chart:
Best Long MA (green): The MA length that would have made the highest total profit using a simple “price crosses above MA → long; exit on cross back below” logic.
Best Short MA (red): The MA length that would have made the highest total profit using “price crosses below MA → short; exit on cross back above.”
You can switch between SMA and EMA, set the min/max length, choose a step size, and define the lookback window used for evaluation.
How it works (brief)
For each candidate MA length between Min MA Length and Max MA Length (stepping by Step Size), the script:
Builds the MA (SMA or EMA).
Simulates a naïve crossover strategy over the last Lookback Window candles:
Long model: enter on crossover, exit on crossunder.
Short model: enter on crossunder, exit on crossover.
Sums simple P&L in price units (no compounding, no fees/slippage).
Picks the best long and best short lengths by total P&L and plots those two MAs.
Note: Long and short are evaluated independently. The script plots MAs only; it doesn’t open positions.
Inputs
Min MA Length / Max MA Length – Bounds for MA search.
Step Size – Spacing between tested lengths (e.g., 10 tests 10, 20, 30…).
Use EMA instead of SMA – Toggle average type.
Lookback Window (candles) – Number of bars used to score each MA. Needs enough history to be meaningful.
What the plots mean
Best Long MA (green): If price crosses above this line (historically), that MA length produced the best long-side results over the lookback.
Best Short MA (red): If price crosses below this line (historically), that MA length produced the best short-side results.
These lines can change over time as new bars enter the lookback window. Think of them as adaptive “what worked best recently” guides, not fixed signals.
Practical tips
Timeframe matters: Run it on the timeframe you trade; the “best” length on 1h won’t match 1m or 1D.
Step size trade-off: Smaller steps = more precision but heavier compute. Larger steps = faster scans, coarser choices.
Use with confirmation: Combine with structure, volume, or volatility filters. This is a single-factor tester.
Normalization: P&L is in raw price units. For cross-symbol comparison, consider using one symbol at a time (or adapt the script to percent P&L).
Limitations & assumptions
No fees, funding, slippage, or position sizing.
Simple “in/out” on the next crossover; no stops/targets/filters.
Results rely on lookback choice and will repaint historically as the “best” length is re-selected with new data (the plot is adaptive, not forward-fixed).
The script tests up to ~101 candidates internally (bounded by your min/max/step).
Good uses
Quickly discover a recently effective MA length for trend following.
Compare SMA vs EMA performance on your market/timeframe.
Build a playbook: note which lengths tend to win in certain regimes (trending vs choppy).
Not included (by design)
Alerts, entries/exits, or a full strategy report. It’s an analyzer/overlay.
If you want alerts, you can add simple conditions like:
ta.crossover(close, plotLongMA) for potential long interest
ta.crossunder(close, plotShortMA) for potential short interest
Changelog / Notes
v1: Initial release. Array-based scanner, SMA/EMA toggle, adaptive long/short best MA plots, user-set lookback.
Disclaimer
This is educational tooling, not financial advice. Test thoroughly and use proper risk management.
Momentum ScannerThe scripts find the candles where high momentum is expected and a breakout trade can be executed
Mouse Indicator Private V3.2The "Mouse Indicator Private" is a powerful Pine Script tool designed for XAU/USD (Gold) trading on the 1-minute (M1) timeframe. It incorporates a sophisticated set of conditions to identify potential trading opportunities, focusing on specific candlestick patterns and volume dynamics, combined with advanced capital management features.
Key Features:
1. Independent of Higher Timeframe Structure: Unlike many indicators, "Mouse Trader" operates effectively on the M1 timeframe without needing confirmation from larger timeframes. This means you get timely signals directly on the fast-moving Gold market.
2. Low Stop Loss, 1:1 Risk/Reward: This indicator is designed to identify positions with a tight, low stop loss, aiming for a 1:1 Risk-to-Reward ratio. This approach allows you to take trades with well-defined risk, maximizing your trading efficiency.
3. Opportunistic Trading: Signals are generated whenever conditions are met, giving you the flexibility to seize trading opportunities as they appear throughout the trading session.
Volume Analysis: Integrates a Volume Moving Average to spot significant volume spikes and increasing volume, adding confluence to signals.
4. Automated Capital Management: Provides real-time calculations for:
- Stop Loss (SL) Price: Dynamically calculated based on the low (for Buy signals) or high (for Sell signals) of the qualifying signal candle, aiding in risk control.
- Calculated Lot Size: Automatically determines the appropriate lot size based on your predefined risk amount per trade and the calculated stop-loss distance, helping you manage your exposure effectively.
Clean Chart View: Providing a cleaner and less cluttered visual experience.
AlgoGram Trend Identifier📊 Algogram Trend Identifier (ATI)
The Algogram Trend Identifier (ATI) is a powerful trend-following oscillator designed to help traders identify market direction, momentum strength, divergences, and consolidation zones across multiple timeframes.
🔑 Key Features:
Multi-Timeframe Presets – Choose from 5m, 15m (default), 30m, 1h, and Daily for optimized settings.
Adaptive ALMA Calculation – Uses ALMA smoothing with dynamic thresholds to detect clean trend shifts.
Trend Highlighting – Visual coloring of oscillator and optional bar coloring for quick market bias recognition.
Customizable Thresholds & Bands – Fine-tune upper/lower thresholds, consolidation zones, and band multipliers.
Consolidation Detection – Highlights when the market is moving sideways with adjustable parameters.
Divergence Detection – Automatically detects bullish & bearish divergences with optional lines and dots.
Dynamic Alerts – Built-in alerts for:
Crossing thresholds
Zero line crosses
Uptrend / Downtrend detection
Bullish / Bearish divergences
RMS consolidation breakouts
🎯 How to Use:
Above Zero Line → Bullish trend bias.
Below Zero Line → Bearish trend bias.
Consolidation Zone → Market may range or prepare for breakout.
Bullish Divergence → Potential reversal to upside.
Bearish Divergence → Potential reversal to downside.
⚡ Best For:
Swing Traders, Scalpers, and Positional Traders
Identifying trend strength, early reversals, and breakout opportunities
Works on stocks, crypto, forex, and indices