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.
Educational
Simple Technicals Table📊 Simple Technicals Table
🎯 A comprehensive technical analysis dashboard displaying key pivot points and moving averages across multiple timeframes
📋 OVERVIEW
The Simple Technicals Table is a powerful indicator that organizes essential trading data into a clean, customizable table format. It combines Fibonacci-based pivot points with critical moving averages for both daily and weekly timeframes, giving traders instant access to key support/resistance levels and trend information.
Perfect for:
Technical analysts studying multi-timeframe data
Chart readers needing quick reference levels
Market researchers analyzing price patterns
Educational purposes and data visualization
🚀 KEY FEATURES
📊 Dual Timeframe Analysis
Daily (D1) and Weekly (W1) data side-by-side
Real-time updates as market conditions change
Seamless comparison between timeframes
🎯 Fibonacci Pivot Points
R3, R2, R1 : Resistance levels using Fibonacci ratios (38.2%, 61.8%, 100%)
PP : Central pivot point from previous period's data
S1, S2, S3 : Support levels with same methodology
📈 Complete EMA Suite
EMA 10 : Short-term trend identification
EMA 20 : Popular swing trading reference
EMA 50 : Medium-term trend confirmation
EMA 100 : Institutional support/resistance
EMA 200 : Long-term trend determination
📊 Essential Indicators
RSI 14 : Momentum for overbought/oversold conditions
ATR 14 : Volatility measurement for risk management
🎨 Full Customization
9 table positions : Place anywhere on your chart
5 text sizes : Tiny to huge for optimal visibility
Custom colors : Background, headers, and text
Optional pivot lines : Visual weekly levels on chart
⚙️ HOW IT WORKS
Fibonacci Pivot Calculation:
Pivot Point (PP) = (High + Low + Close) / 3
Range = High - Low
Resistance Levels:
R1 = PP + (Range × 0.382)
R2 = PP + (Range × 0.618)
R3 = PP + (Range × 1.000)
Support Levels:
S1 = PP - (Range × 0.382)
S2 = PP - (Range × 0.618)
S3 = PP - (Range × 1.000)
Smart Price Formatting:
< $1: 5 decimal places (crypto-friendly)
$1-$10: 4 decimal places
$10-$100: 3 decimal places
> $100: 2 decimal places
📊 TECHNICAL ANALYSIS APPLICATIONS
⚠️ EDUCATIONAL PURPOSE ONLY
This indicator is designed solely for technical analysis and educational purposes . It provides data visualization to help understand market structure and price relationships.
📈 Data Analysis Uses
Support & Resistance Identification : Visualize Fibonacci-based pivot levels
Trend Analysis : Study EMA relationships and price positioning
Multi-Timeframe Study : Compare daily and weekly technical data
Market Structure : Understand key technical levels and indicators
📚 Educational Benefits
Learn about Fibonacci pivot point calculations
Understand moving average relationships
Study RSI and ATR indicator values
Practice multi-timeframe technical analysis
🔍 Data Visualization Features
Organized table format for easy data reading
Color-coded levels for quick identification
Real-time technical indicator values
Historical data integrity maintained
🛠️ SETUP GUIDE
1. Installation
Search "Simple Technicals Table" in indicators
Add to chart (appears in middle-left by default)
Table displays automatically on any timeframe
2. Customization
Table Position : Choose from 9 locations
Text Size : Adjust for screen resolution
Colors : Match your chart theme
Pivot Lines : Toggle weekly level visualization
3. Optimization Tips
Use larger text on mobile devices
Dark backgrounds work well with light text
Enable pivot lines for visual reference
✅ BEST PRACTICES
Recommended Usage:
Use for technical analysis and educational study only
Combine with other analytical methods for comprehensive analysis
Study multi-timeframe data relationships
Practice understanding technical indicator values
Important Notes:
Levels based on previous period's data
Most effective in trending markets
No repainting - uses confirmed data only
Works on all instruments and timeframes
🔧 TECHNICAL SPECS
Performance:
Pine Script v5 optimized code
Minimal CPU/memory usage
Real-time data updates
No lookahead bias
Compatibility:
All chart types (Candlestick, Bar, Line)
Any instrument (Stocks, Forex, Crypto, etc.)
All timeframes supported
Mobile and desktop friendly
Data Accuracy:
Precise floating-point calculations
Historical data integrity maintained
No future data leakage
📱 DEVICE SUPPORT
✅ Desktop browsers (Chrome, Firefox, Safari, Edge)
✅ TradingView mobile app (iOS/Android)
✅ TradingView desktop application
✅ Light and dark themes
✅ All screen resolutions
📋 VERSION INFO
Version 1.0 - Initial Release
Fibonacci-based pivot calculations
Dual timeframe support (Daily/Weekly)
Complete EMA suite (10, 20, 50, 100, 200)
RSI and ATR indicators
Fully customizable interface
Optional pivot line visualization
Smart price formatting
Mobile-optimized display
⚠️ DISCLAIMER
This indicator is designed for technical analysis, educational and informational purposes ONLY . It provides data visualization and technical calculations to help users understand market structure and price relationships.
⚠️ NOT FOR TRADING DECISIONS
This tool does NOT provide trading signals or investment advice
All data is for analytical and educational purposes only
Users should not base trading decisions solely on this indicator
Always conduct thorough research and analysis before making any financial decisions
📚 Educational Use Only
Use for learning technical analysis concepts
Study market data and indicator relationships
Practice chart reading and data interpretation
Understand mathematical calculations behind technical indicators
The Simple Technicals Table provides technical data visualization to assist in market analysis education. It does not constitute financial advice, trading recommendations, or investment guidance. Users are solely responsible for their own research and decisions.
Author: ToTrieu
Version: 1.0
Category: Technical Analysis / Support & Resistance
License: Open source for educational use
💬 Questions? Comments? Feel free to reach out!
ORB + Volume FilterI created this for testing purposes only. If this script works as expected I will add a better description.
MEMEC - Meme Coin Market Cap [Da_Prof]For this indicator, the meme coin market cap of the top meme coins are added together to get an estimate of the total meme coin market cap back to the first meme coin, DOGE. Meme.C does this natively on TradingView, but its data only goes back to 19 May 2025. For the indicator, MEME.C supersedes the addition of all the individual meme coins (i.e., from 19 May 2025 to present). The start of MEME.C is labeled on the chart by default, but can be removed by deselecting the label in the settings.
After the creation of DOGE, but before data is available for Meme.C, the highest market cap meme coins are added together to estimate the meme coin market cap. The meme coins used by default are DOGE, SHIB, PEPE, BONK, FLOKI, PENGU, TRUMP, SPX6900, FARTCOIN, WIF, M, BRETT, B, MOG, APE, TURBO, DOG, and POPCAT. Users can select if they wish to disregard any or all of these coins. As of the creation of the indicator, DOGE, SHIB, and PEPE have CRYPTOCAP symbols on TradingView. Therefore, the true market cap of these coins is integrated into this indicator. The other meme coin market caps are estimated using price and the circulating supply as of 09/16/2025. I make no claims as to the indicator's exact accuracy. In fact, it isn't exactly accurate since I utilized the circulating supply on the day it was created, so for meme coins that have a changing supply, the market cap will be at least slightly inaccurate. Use this indicator at your own risk.
To use the indicator, it is best to plot overlayed on the CRYPTOCAP:DOGE chart. You can decide whether or not to hide the DOGE market cap.
Zakaat CalculatorZakaat Calculator
The Zakaat Calculator is a dedicated tool designed to assist with transparent and structured wealth assessments based on Islamic finance principles. This script dynamically references live gold and silver prices, applies Nisab thresholds, and evaluates whether Zakaat is obligatory based on the user’s net worth.
Core Features
Live market data: Automatically fetches daily gold and silver prices (TVC:GOLD & TVC:SILVER).
Nisab thresholds: Choose between the gold standard (85g) or silver standard (595g) to set the eligibility baseline.
Flexible inputs: Enter your current holdings across gold, silver, investments, and cash.
Automated calculation: Compares your total net worth against the selected Nisab threshold and calculates the payable Zakaat at a customizable percentage (default 2.5%).
Clear visualization: Results are displayed in a structured on-chart table for full transparency, including thresholds, holdings, total net worth, and final Zakaat due.
Practical Use
This tool is built for individuals who want a precise, real-time view of their Zakaat obligations. By combining faith-based calculation rules with live market data, it ensures accuracy and ease of use.
Note
This indicator is designed for educational and personal financial planning purposes. It may also be used for broader applications such as donations or calculating contributions towards charitable causes. Always consult with qualified scholars or financial advisors for personal guidance.
Otekura Range Trade Algorithm [Tradebuddies]The Range Trade Algorithm calculates the levels for Monday.
On the chart you will see that the Monday levels will be marked as 1 0 -1.
The M High level calculates Monday's high close and plots it on the screen.
M Low calculates the low close of Monday and plots it on the screen.
The coloured lines on the screen are the points of the range levels formulated with fibonacci values.
The indicator has its own Value table. The prices of the levels are written.
Potential Range breakout targets tell prices at points matching the fibonacci values. These are Take profit or reversal points.
Buy and Sell indicators are determined by the range breakout.
Users can set an alarm on the indicator and receive direct notification with their targets when a new range occurs.
Fib values are multiplied by range values and create an average target according to the price situation. These values represent an area. Breakdown targets show that the target is targeted until the area.
ColorSMAColorSMA Indicator – Description & Usage Guide
Overview
The ColorSMA indicator is a dynamic trend-following moving average designed to adapt to volatility and provide clearer visual cues for traders. Unlike a standard simple moving average (SMA), this tool applies a volatility filter using a standard deviation channel and then smooths the price before calculating the moving average.
The result is a single line on the chart that changes color depending on its trend direction:
Blue (Uptrend) – The moving average is rising compared to the previous bar.
Red (Downtrend) – The moving average is falling compared to the previous bar.
This visual coloring makes it easier to spot the trend direction at a glance.
How It Works
Baseline SMA
The script first calculates a classic SMA based on the selected Length (default = 9).
This baseline acts as the foundation of the indicator.
Volatility Filter (SD Channel)
A standard deviation multiplier is applied to create an upper and lower channel around the SMA.
If price moves outside this channel, it gets “clamped” back within the channel range.
This reduces noise and prevents false signals in highly volatile conditions.
Smoothed Price (Extra Smooth)
The filtered price is then smoothed with another SMA (default = 3).
This step makes the line cleaner and easier to interpret.
Trend Coloring
If the current smoothed SMA is higher than its previous value → the line is Blue.
If it is lower → the line is Red .
This simple but effective color-coding highlights trend shifts without cluttering the chart.
Inputs & Settings
Source: The price source used in the calculation (default = close).
Length: The SMA period length (default = 9).
Extra Smooth : Additional smoothing for the final line (default = 3). Lower values make it more responsive, higher values make it smoother.
Width (Volatility Filter – SD Channel): The multiplier applied to the standard deviation. Controls how wide the channel is (default = 0.3).
Length (Volatility Filter – SD Channel): The period for calculating standard deviation (default = 1).
What You See on the Chart
A single moving average line that changes color:
Blue (Up) = trend strength or bullish direction.
Red (Down) = trend weakness or bearish direction.
The line itself is already filtered through a volatility channel and smoothing, so it reacts to market conditions while reducing noise.
How to Use It
Trend Identification
Use the color changes (Blue/Red) to quickly identify short-term trend shifts.
Blue phases suggest bullish bias, Red phases suggest bearish bias.
Entry/Exit Guidance
Traders can align entries with the trend color (e.g., buy when it turns Blue, sell/short when it turns Red).
Combine with price action or other indicators for confirmation.
Volatility Filtering
Adjust the Width and SD Length parameters to tune how sensitive the indicator is to price fluctuations. Narrower channels give more signals; wider channels filter out more noise.
Smoothing Control
If you prefer faster reactions, lower the smoothing value.
If you want steadier signals, increase smoothing.
Summary
The ColorSMA is a visually enhanced moving average that adapts to volatility and simplifies trend detection. It is especially useful for traders who prefer:
Clean charts with minimal clutter.
Clear, color-coded signals for trend direction.
Flexibility to adjust responsiveness via smoothing and channel width.
This indicator is best used as a trend confirmation tool or combined with other strategies such as support/resistance, candlestick patterns, or oscillators for robust trade setups.
08:30 & 09:30 Manipulation-Expansion - AlgoliqDescription:
The 08:30 & 09:30 Manipulation-Expansion indicator identifies key market levels at two critical times during the trading session: 08:30 (Manipulation) and 09:30 (Expansion). It visually marks the high and low of these bars and provides real-time alerts when price breaks these levels.
Features:
08:30 Manipulation: Highlights high and low with dotted lines and a label. Alerts trigger when levels are broken.
09:30 Expansion: Highlights high and low with dotted lines and a label. Alerts trigger when levels are broken.
Customizable: Set hours, minutes, line colors, widths, and lengths to fit your trading style.
Alert System: Real-time notifications whenever price breaks key levels.
Usage:
Ideal for traders looking to monitor early session price action, detect potential manipulations, and plan breakout trades.
Hopiplaka Twin Tower Levels (Variable Multiplier) [NZA 333]Purpose
Instrument scope: This indicator is for exchange-traded futures only (e.g., CME/ICE). It assumes a regular session with a 16:00 daily fix; use on spot FX, equities/ETFs, CFDs, or crypto is not supported and may produce incorrect windows/levels.
This tool draws structured possible support/resistance price-level frameworks anchored to a daily “Fix” at 16:00 and lets you study intraday expansion/mean-reversion from that anchor. It overlays three families of levels:
CB - Circuit-Breaker style bands: symmetric bands at ±X% of the Fix (user-defined), plus intermediate percentages (14/26/40/50/60/74/86) and three highlighted “impulse” bands.
GB – “Goldbach-type” ratios: fixed ratios applied to a user-selected PO3 dealing range (e.g., 729, 2187, 6561 points). This produces low/eq/high rails and intermediate harmonics, including extended rails at −0.111 and 1.111.
STDV – “Stop-Run” ladders: equidistant steps (user step size) centered on the Fix and bounded by ±PO3/2.
All drawings are time-boxed windows that run from one 16:00 to the next 16:00 so you can compare today vs. prior sessions at a glance, including weekends/market closures.
How it works (high level)
Session windows (16:00→16:00)
For non-crypto symbols, each “day” is a window starting at 16:00 in the user-chosen timezone (default: America/New_York) and ending at the next day’s 15:59. When a new 16:00 occurs, the script immediately rolls the windows forward so Day-0, Day-1, Day-2, Day-3 always reference the latest four 16:00 anchors, even across weekends.
Fix source (per day)
Each day can use one of:
O/C: the open price of the 16:00 bar (acts as an official fix for that session).
VWAP: the VWAP value on the 15:59:30 (last 30 seconds bar before 16:00). You need Trading View Premium to use this source.
Manual: user-entered value. You can visit CME Group's website to see the published fix prices for your chart and enter it manually.
For a current session you want to use the previous session fix price until 4 pm (New York).
Market type handling
Crypto: by default the Fix is 16:00 Europe/London (configurable). Crypto session handling remains continuous; the script keeps the crypto branch behavior separate so nothing changes for 24/7 markets.
Non-crypto: uses the selected timezone (default NY). The script explicitly handles weekends/holidays so Day-0 can be Fri→Mon and Day-1 Thu→Fri, etc.
Ratios & math
Circuit Breakers bands: Fix ± (Fix * percent / 100), with extra mid-points (“CE levels”) and the intermediate percentages listed above.
Goldbach ratios: a fixed array of ratios mapped onto the PO3 distance; on Forex, PO3 is automatically converted to price units using syminfo.mintick.
STDV steps: Fix ± n * step, drawn only within ±PO3/2.
Rendering model
Lines are created with xloc = xloc.bar_time between the window’s start/end timestamps. A housekeeping buffer deletes/redraws on the last bar to keep charts responsive when you toggle features. A compact table shows, per day window, the session label, Fix (and its source), and the active options (CB%, PO3, STDV).
Update behavior
As soon as the 16:00 1-minute bar closes, the Fix for Day-0 updates and older windows roll forward. Historical windows (Day-1/2/3) also move forward afterward, since their Fix times are already stored. On higher timeframes, the script relies on the captured 1-minute Fix so Day-0 levels appear intrabar even if the higher-TF candle hasn’t closed yet.
How to use it
I - Choose the Fix source per day (Manual / VWAP / O/C).
II- Choose levels to show on each day, via toggles:
- Mode 1: Toggle "Show Goldbach Levels" and/or "NG Levels" / "CE Levels" (extra ratio sets) to show these levels for the day. Choose PO3 DR (Dealing Range), note the fix price acts as Equilibrium.
- Mode 2: Toggle "Show Stop Run Levels" to show PO3 distance in handles from Fix Price. Choose a PO3 number from the "STDV" option, this will be your max distance in handles (think Dealing Range).
- Mode 3: Toggle "Show Circuit Breaker Levels" to show ratios derived from the CME Group's official price limits percents from the fix price for a day (7%, 13% or 20%) * 2.
Each mode's toggles are in the same line, one line per mode. Usually you just need one of the 3 modes.
III - Use Day shift to scroll the four windows through past sessions (0 by default).
IV - Use Hour shift to visually nudge the drawings on the time axis without changing calculations.
Timezone: for non-crypto, select America/New_York, Europe/London or UTC for the 16:00 anchor. Crypto can auto-use London 16:00.
Notes & limitations
The tool does not generate buy/sell signals; it’s a visual framework for contextual levels.
O/C fixes (Default) are captured from the 1-minute series at exactly 16:00; if a symbol lacks 1-minute history at that time (rare), a day window may show as missing or could take the fix price incorrectly.
VWAP fixes are captured from the 30-seconds series at exactly 16:00; if a symbol lacks 30 seconds history at that time, a day window may show as missing.
Historical windows are fixed once their 16:00 bar has closed; Day-0 updates only at the moment a new 16:00 occurs.
Be mindful of symbol tick size/PO3 scale on Forex vs. indices/futures.
This indicator does not predict future values and does not access future data beyond the last completed 16:00 bar. See TradingView’s guidance on realistic claims and use of request.security.
(Educational use only. Trading involves risk; past behavior of levels relative to price does not guarantee future outcomes.)
Ultimate📖 Indicator Description – Ultimate
The Ultimate Indicator is a complete charting framework that combines linear regression channels, dynamic deviation bands, EMA ribbons, volatility spreads, and entry/exit markers. It is designed to help traders visualize trend direction, potential reversals, and trade setups with precision.
🔹 What You See on the Chart
Channel Lines (Linear Regression Bands)
Green dotted line (median): Fair value trendline based on regression.
Red dashed line (upper band): Dynamic resistance zone.
Blue dashed line (lower band): Dynamic support zone.
Mid-bands (thin dotted red/blue): Halfway between median and outer bands, useful for scaling entries or partial exits.
🔹 EMA Ribbon (Light Green Shades)
Multiple EMAs (5, 8, 13, 21, 34) plotted in progressively lighter green.
Helps visualize momentum shifts and trend strength.
Ribbon turns more aqua/green when short-term EMAs align bullishly.
🙌Markers on Price
🔴 Red Circle (Dot): Short entry signal (price rejecting upper deviation band).
🔵 Blue Circle (Dot): Long entry signal (price bouncing off lower deviation band).
❌ Red X: Peak formation detected, potential short setup (not always valid).
🔷 Blue Diamond: Trough formation detected, potential long setup (not always valid).
Numbers Above/Below Candles
🔴Red numbers (above peaks): % spread from the bottom to the peak, showing upward volatility.
🔵 Blue numbers (below troughs): % spread from the top to the trough, showing downward volatility.
These values help traders gauge the strength of recent swings and compare volatility expansions.
🔹 Signal Logic🔹
🔵Long Signal (Blue Circle):
Forms when price makes a trough and crosses back above the lower regression band.
Confirms potential upside reversal with stop-loss guided by ATR or swing low.
🔴Short Signal (Red Circle):
Forms when price makes a peak and crosses below the upper regression band.
Confirms potential downside reversal with stop-loss guided by ATR or swing high.
❌ Peaks (Red X):
Indicate local tops. Not all peaks convert into shorts, but they warn of resistance zones.
🔹Troughs (Blue Diamonds):
Indicate local bottoms. Not all troughs convert into longs, but they warn of support zones.
🔹 Alerts
When a valid long or short setup is confirmed, an alert fires with:
Ticker name
Entry price
Suggested position size (Quantity)
Stop loss level (ATR-based or HL-based)
Take profit level (calculated by reward multiple)
🔹 Inputs & Customization
Quantity: Lot size suggestion.
Deviation: Multiplier for regression channel width.
Take Profit: Risk-to-reward multiplier.
Stop Loss: ATR or High/Low based.
Trend Lines: Choose between extended or fixed channels.
Period: Lookback window for regression.
Spread Percentages: Toggle volatility labels on/off.
🔹 How to Use
Trend Following: Ride price inside the channel using EMA ribbon alignment.
Reversal Trading: Enter at deviation extremes with confirmation signals.
Volatility Mapping: Use spread % labels to measure the strength of market swings.
Risk Management: ATR-based stops adapt to volatility, while HL stops give structural support/resistance.
✅ In summary:
The Ultimate Indicator is not just a regression channel—it’s a multi-layered system that highlights trend bias, entry/exit signals, volatility spreads, and adaptive risk levels. It allows traders to see at a glance whether the market is trending, ranging, or preparing for a reversal.
Weighted Sector ADD (sign-weighted)What it is
A true, cap-weighted advances/declines (ADD) proxy for the S&P 500 using sector ETFs. Each sector contributes +1 if it’s up on the bar, −1 if it’s down, 0 if flat. Those signals are then weighted by your sector weights (auto-normalized to 100%) and summed into a single breadth line. The result is a fast, low-noise read of how much of the S&P (by sector weight) is advancing vs. declining right now.
- Tracks participation, not price magnitude—perfect for spotting “broad vs. narrow” moves
- Heavily weighted sectors (e.g., Tech) matter proportionally more, reflecting real index impact
- Simple scale: ~−1 to +1 (all weight down → all weight up)
Chart Elements
- Green/Red Columns – “Weighted ADD”: Current bar’s weighted breadth (sign-based by default)
- Blue Line – “Weighted MA”: SMA of the weighted ADD (regime filter)
- Zero/Guide Lines (optional): 0.0, ±0.2 (mild), ±0.6 (strong)
- Labels (optional): Text markers at those guide levels
- Advancing Weight % (optional): Label showing ((ADD+1)/2)*100 → share of total sector weight advancing
How to Read (Quick Guide)
- +0.60 to +1.00 → Broad, one-sided risk-on (most sector weight advancing)
- +0.20 to +0.60 → Moderate, supportive breadth
- −0.20 to +0.20 → Mixed/choppy; rotation
- −0.60 to −1.00 → Broad, one-sided risk-off
- MA above/below zero → Simple regime indicator; zero-crosses could be potential alert triggers
- Divergence: Strong price move with a weak/flat ADD could potentially warn of narrow participation
Inputs & settings
Calculation
- Use returns instead of up/down sign?
OFF (default): true weighted participation (+1/−1/0)
ON: weighted sector returns (winsor-capped). Use if you want magnitude, not just direction
- Winsor cap (returns mode): Caps per-sector contribution in returns mode (e.g., 0.02 = ±2%)
- Smoothing MA length: SMA period for the blue “Weighted MA” line
- Source timeframe: Compute signals on another TF (e.g., “60”) but plot on your chart TF
Visibility
- Show Weighted ADD (bars): Toggle the green/red columns
- Show Weighted ADD MA: Toggle the blue SMA line
- Show Zero Line (0): Toggle the 0.0 reference line
- Show ±0.2 / ±0.6 guide lines: Toggle the helper levels
- Show guide labels: Draw small text labels at 0, ±0.2, ±0.6
- Guide label offset (bars left): Move labels left if they overlap the right edge values
- Show Advancing Weight % label: Toggle the % of sector weight currently advancing
Sector Symbols (ETF proxies)
- XLK, XLY, XLF, XLV, XLC, XLI, XLP, XLE, XLB, XLU, XLRE: Defaults to the SPDR sector ETFs. You can swap for alternative proxies if desired.
Sector Weights (auto-normalize)
- Weight inputs for each sector (e.g., Tech 0.30, Financials 0.13…). These auto-normalize to 1.0 so you can paste rough numbers; the script scales them.
- Keep weights fresh. GICS sector weights drift; update periodically (e.g., quarterly).
Alerts included
- “Weighted ADD crossed above 0”
- “Weighted ADD crossed below 0”
Version
v1.0 – Initial release (weighted sign-based ADD + SMA, zero/guide lines & labels, Adv % label, alerts).
RSI (8 & 13) + Fibonacci LevelsIndicator Description: RSI (8 & 13) + Fibonacci Levels
This custom indicator is designed to provide a dual-speed RSI framework with embedded Fibonacci retracement levels for advanced momentum and reversal analysis. It combines the power of relative strength measurement with the natural harmony of Fibonacci ratios to give traders a structured approach to market timing and confluence trading.
The indicator plots two RSI lines on a dedicated sub-chart:
RSI Fast (8) → short-term momentum, highly sensitive to price action, helps identify quick shifts and micro-trends.
RSI Slow (13) → smoother and less volatile, acts as confirmation of broader trend direction and underlying strength.
By combining both RSI speeds, traders can spot alignment, divergences, and crossover signals between fast and slow momentum. When both lines move in sync, it reflects strong conviction; when they diverge, it signals potential exhaustion or trend shifts.
Overlaying Fibonacci retracement levels on RSI adds an extra dimension of precision. Instead of using arbitrary zones, the indicator relies on mathematically significant levels tied to natural market cycles:
23.6% → shallow pullbacks, early momentum pauses.
38.2% → minor retracements, often signaling trend continuation.
50% → balance point between strength and weakness.
61.8% → golden ratio, strong correction or reversal zone.
78.6% → deep retracement, last line before full reversal.
In addition, the script marks the classic RSI boundaries:
70 (Overbought) → potential profit-taking, stretched bullish conditions.
30 (Oversold) → potential accumulation, stretched bearish conditions.
Together, these zones help traders gauge not only when the RSI is “too high” or “too low,” but also where price momentum aligns with natural Fibonacci retracement zones. This approach transforms RSI from a simple oscillator into a multi-layered momentum map.
Practical Uses:
Trend Confirmation → When RSI(8) and RSI(13) are both above 50 and rising, bullish strength is confirmed.
Divergence Detection → If price makes higher highs but RSI(8) fails to confirm, it warns of weakening momentum.
Reversal Hunting → Look for RSI rejection candles at Fib levels (e.g., fast RSI hitting 61.8 and rolling over).
Entry/Exit Timing → Use fast RSI crossovers with slow RSI as tactical entries within the broader structure.
Confluence Trading → Strong signals occur when RSI rejection coincides with price structure (double tops/bottoms, Fibonacci levels on chart, Bollinger Band rejections).
This indicator is especially powerful when paired with Bollinger Bands or price action rejection patterns, creating a system where price extremes are validated against RSI Fib zones.
Ultimately, the RSI (8 & 13) + Fibonacci Levels indicator acts as a precision filter — helping traders separate noise from genuine turning points and reinforcing entries/exits with multiple layers of confluence.
Bollinger Bands (SMA 21, 2.618σ)Indicator Description: Bollinger Bands (2.618σ, 21 SMA) + RSI with Fibonacci
This custom indicator combines Bollinger Bands and Relative Strength Index (RSI), enhanced with Fibonacci-based configurations, to provide confluence signals for rejection candles, reversal setups, and continuation patterns.
Bollinger Bands Settings (Customized)
Middle Band → 21-period Simple Moving Average (SMA)
Upper Band → SMA + 2.618 standard deviations
Lower Band → SMA − 2.618 standard deviations
These parameters expand the bands compared to the traditional (20, 2.0) settings, making them better suited for volatility extremes and higher timeframe swing analysis.
Color Scheme
Middle Band = Orange
Upper Band = Red
Lower Band = Green
This color-coding emphasizes key rejection levels visually.
Candle Rejection Logic
The indicator is designed to highlight potential rejection candles when price interacts with the outer Bollinger Bands:
At the Upper Band, rejection signals suggest overextension and potential downside reaction.
At the Lower Band, rejection signals suggest oversold conditions and potential upside reaction.
Rejection Candle Types Tracked
Hammer (bullish reversal, lower rejection wick at bottom band)
Inverted Hammer (bearish reversal, upper rejection wick at top band)
Doji candles (indecision at band extremes)
Double Top formations near the upper band
Double Bottom formations near the lower band
Relative Strength Index (RSI) Settings
RSI is configured with Fibonacci retracement levels instead of traditional 30/70 thresholds.
Fibonacci sequence levels used include:
23.6% (0.236)
38.2% (0.382)
50% (0.5)
61.8% (0.618)
78.6% (0.786)
This alignment with Fibonacci ratios provides deeper market structure insights into momentum strength and exhaustion points.
Trading Confluence Zones
Upper Band + RSI at 0.618–0.786 zone → High probability bearish rejection.
Lower Band + RSI at 0.236–0.382 zone → High probability bullish reversal.
Band interaction + Doji or Hammer candles → Stronger signal confirmation.
Use Cases
Identifying trend exhaustion when price repeatedly fails to break above the upper band.
Spotting accumulation or distribution phases when price consolidates around Fibonacci-based RSI zones.
Detecting false breakouts when candle patterns (like Doji or Inverted Hammer) occur beyond the bands.
Why 2.618 Deviation & 21 SMA?
Standard Bollinger Bands (20, 2.0) capture ~95% of price action.
By widening to 2.618σ, we target extreme volatility outliers — areas where reversals are statistically more likely.
A 21-period SMA aligns better with common cycle lengths (3 trading weeks on daily charts) and Fibonacci-related time cycles.
Practical Strategy
Step 1: Watch when price touches or pierces the upper/lower band.
Step 2: Check for candle rejection patterns (Hammer, Inverted Hammer, Doji, Double Top/Bottom).
Step 3: Confirm with RSI Fibonacci levels for confluence.
Step 4: Trade with the prevailing trend or look for reversal setups if multiple confluence factors align.
Cautions
Not all touches of the bands signal reversals — strong trends can ride along the bands for extended periods.
Always combine with price action structure, volume, and higher timeframe trend bias.
📌 Summary
This indicator blends volatility-based bands with Fibonacci momentum analysis and classical candle rejection patterns. The combination of Bollinger Bands (21, 2.618σ) and RSI Fibonacci levels helps traders detect high-probability rejection zones, reversal opportunities, and overextended conditions with improved accuracy over traditional default settings.
Weekly Session BreakThis indicator plots a vertical line at the end of the trading week (Friday) to mark the weekly session break. It is designed to be used on intraday charts (sub-1 hour timeframes).
The line's appearance is fully customizable via the Inputs tab, allowing you to change its color, style (solid, dotted, or dashed), and thickness.
Key Features:
End-of-Week Marker: Accurately draws a vertical line on the last bar of the trading week.
Timeframe Specific: Lines are only visible on intraday charts (1-minute to 59-minute timeframes) to prevent clutter on higher timeframes.
Customizable: Adjust the line's color, style, and thickness from the Inputs menu.
Smart Index Levels — GSK-VIZAG-AP-INDIA📌 Smart Index Levels — GSK-VIZAG-AP-INDIA
Smart Index Levels is a versatile support and resistance plotting tool designed for intraday, weekly, and monthly analysis.
It automatically generates key price zones based on user-defined step sizes, helping traders visualize important market levels more clearly.
🔹 Features
Daily / Weekly / Monthly Modes
Switch easily between daily, weekly, or monthly reference levels.
Customizable Level Steps
Choose step intervals of 50 or 100 points for cleaner index-based zones.
Support & Resistance Zones
Auto-draws multiple support and resistance levels around the opening base price.
Mid-Level Marking
Highlights the nearest “mid” price level for balance reference.
Weekly High/Low Tracking (Optional)
Plots dynamic weekly high & low levels with dotted lines.
Monthly High/Low Tracking (Optional)
Displays monthly high & low levels for broader market context.
Custom Market Session Timing
Define your own market open and close times.
Line Style & Colors
Fully customizable line styles (solid, dashed, dotted) and colors.
⚙️ How It Works
At the start of the selected session (daily, weekly, or monthly), the script identifies the opening reference price.
From this base, it calculates and draws support and resistance levels at fixed step intervals.
Optionally, it overlays weekly and monthly high/low levels for additional perspective.
This provides a structured price map that helps you quickly spot potential reaction zones, without cluttering the chart.
🖥️ Best Use Cases
Intraday index traders who want quick reference levels (Nifty, BankNifty, etc.)
Swing traders who prefer weekly and monthly zones for context.
Anyone looking for clean, rule-based support/resistance plotting.
⚠️ Disclaimer
This indicator is for educational and informational purposes only.
It does not provide financial advice or trading signals. Always use in combination with your own analysis and risk management.
Grand Slam Risk ManagementGrand Slam Risk Management (GSRM) Indicator
OVERVIEW
The Grand Slam Risk Management Indicator transforms complex position sizing calculations into real-time, visual risk metrics—enabling disciplined trading decisions without the emotional guesswork that destroys accounts. This comprehensive tool is designed for active day traders and swing traders who want to automate critical risk management calculations directly on their TradingView charts. 🚀
THE GRAND SLAM RISK MANAGEMENT STRATEGY
Core Philosophy
The Grand Slam Risk Management Strategy (GSRM) gets its name from baseball's ultimate scoring play: a grand slam can only be hit when three runners are already on base, requiring at least three prior successful at-bats (hits or walks) to create the opportunity. This perfectly embodies the GSRM philosophy—consistent "base hits" in trading create the foundation for larger wins while protecting your account from devastating losses. Just as baseball teams win championships through disciplined, consistent play rather than swinging for the fences every at-bat, successful traders build wealth through reliable, repeatable profits rather than chasing home runs that often result in strikeouts. ⚾
Strategy Framework
Capital Allocation : 💰
• Working Balance: Account balance minus PDT requirement ($25,000 minimum for margin accounts)
• Allocated Buying Power: Working balance × leverage (4:1 for day trading, 2:1 for swing, 1:1 for cash)
• Daily Profit Target: 5% of allocated buying power (default)
The Base Hit System : 🎯
• Daily profit target divided into 4 "base hits"
• Each base hit represents 25% of daily goal
• Max risk per trade: 50% of base hit target (maintains 2:1 reward/risk minimum)
• Daily max loss: 2 base hits (recoverable with 2 winning trades)
Three-Tier Profit Structure : 🚀
• Tier 1 (5%): Minimum acceptable profit - "Why else take the trade?"
• Tier 2 (10%): Solid win - the target "base hit"
• Tier 3 (20%): Home run - when momentum is strongly in your favor 🏠🏃
Position Sizing Levels : 📊
• Quarter Position (25% of max): Testing the waters, lower conviction setups
• Half Position (50% of max): Standard confidence trades
• Max Position (100%): High conviction, ideal setup conditions
INDICATOR FEATURES
Real-Time Calculations ⚡
• Dynamic Position Sizing: Automatically calculates share quantities based on account balance and current price
• Profit & Loss Targets: Displays dollar amounts for profit targets and stop-losses across all position sizes
• Risk Metrics: Shows daily profit goals, max loss thresholds, and P&L ratios
Advanced Stop-Loss Methods 🛡️
1. Percentage-Based Stops : Fixed 50% of profit target (maintains 2:1 reward/risk)
2. ATR-Based Stops : Dynamic stops that adapt to market volatility using Average True Range (ATR)
• Tier 1: 0.5× ATR (tight/scalping)
• Tier 2: 1.0× ATR (standard)
• Tier 3: 1.5× ATR (wide/trending)
Cost Basis Options 📈
• Last Close: Uses previous bar's closing price for stable calculations
• VWMA: Volume-Weighted Moving Average (default: 9) estimate cost-basis from recent volume-weighted price action
• SMA/EMA: Use Simple or Exponential Moving Average (default: 9) useful for planning entries at SMA/EMA cross-overs and bounces.
• VWAP: Volume-Weighted Average Price (default: daily) for entry point planning at bounce or break of VWAP.
* Ask/Bid: Entry point calculations based on current Ask or Bid price (only available on 1T charts)
Visual Risk Management 🔑
• Color-Coded P&L Ratio :
- Green (≤0.5): Conservative, favorable risk ✅
- Yellow (0.5-1.0): Balanced risk ⚠️
- Red (>1.0): Aggressive, requires higher win rate 🛑
• Position Size Color Coding : Green (quarter) → Yellow (half) → Red (max) for quick risk assessment
HOW TO USE THE GSRM INDICATOR
Initial Setup (One-Time Configuration) ⚙️
1. Set Account Balance: Enter your total trading account value
2. Configure PDT Protection: Enable for margin accounts ≥$25,000 to protect required funds
3. Select Leverage: 4:1 (day trading), 2:1 (swing), or 1:1 (cash account)
4. Adjust Risk Percentage: Default 5% of allocated buying power; reduce for conservative approach
Trading Workflow
Pre-Market Preparation: 🌅
1. Review daily profit target and max loss displayed in green/red
2. Note your base hit target - this is your standard trade goal
3. Check P&L ratio - ensure it's sustainable for your win rate
Trade Execution: 🚀
1. Assess Setup Quality :
• Strong setup → Consider half or max position 💪
• Decent setup → Quarter or half position 👍
• Testing idea → Quarter position only 🧪
2. Select Profit Tier Based on Market Conditions :
• Choppy market → Target Tier 1 (5%) 🌊
• Normal conditions → Target Tier 2 (10%) ➡️
• Strong momentum → Target Tier 3 (20%) 🚀
3. Choose Stop Method :
• Percentage stops: Best for stocks with clear support/resistance
• ATR stops: Better for volatile stocks or news-driven trades. WARNING: this may result in tighter stops, negatively affecting your P&L. To offset this effect, try increasing the number of base hits to achieve your daily profit target and recover from a daily max loss. Be sure the resultant P&L ratio is in the conservative range ≤0.5. This will allow you to adjust your per-trade P&L targets without reducing your daily profit target or increasing your max risk.
4. Execute Using Table Values :
• 🔎 Find your position size group (🟢quarter/🟡half/🔴max)
• 🔎 Find your profit target row (5%/10%/20%) for your position size group
• ⚠️ Do not exceed the share count and stop-loss values displayed ⚠️
Risk Management Rules 🛡️
Daily Limits : 🚨
• Stop trading after hitting daily max loss (prevent tilt/revenge trading)
• Stop trading when a low-risk, minimum-loss trade would exceed your daily max loss (prevent exceeding max)
• Stop trading if you fall below the Daily Profit Target after having achieved it (prevent tilt/revenge trading)
• Cold Market: Stop trading after reaching daily profit target (preserve gains) ❄️
• Hot Market: Three Strikes - stop trading after 3 total max loss trades in a day (prevent tilt/revenge trading) 🔥
Position Management : 📏
• Never exceed max position size shown (protects from overleverage)
• Use quarter positions when daily P&L is negative or below first profit goal (40% of target)
• Use half positions only while daily P&L is above first profit goal (40% of target)
• Use full positions only while daily P&L is above profit goal (100% of target)
A/B Testing Features 🧪
Stop-Loss Methods :
• Week 1: Use percentage-based stops
• Week 2: Use ATR-based stops
• Compare win rates and average losses to optimize
Cost Basis Models :
Pick the highest probable cost-basis and keep your entry position below the share count shown to protect from overleveraging your buying power.
⚠️ IMPORTANT: COST BASIS ESTIMATIONS ARE FOR RISK MANAGEMENT CALCULATIONS ONLY - DO NOT USE THIS INFORMATION TO EXECUTE BUY OR SELL ORDERS.
• Fast movers: Use Last Close for stability 🏃or Bid/Ask for real-time price updates (Bid/Ask is only available on 1T charts).
• Liquid stocks: Try VWMA for better entry estimation 💧
• Reversals/Break of VWAP: Use VWAP when anticipating an entry at the Volume-Weighted Average Price 🔄
• Reversals/Break SMA 200: Use SMA when anticipating an entry at the SMA 📉
• Momentum/Trending: Use EMA when anticipating an entry at the EMA bounce 📈
• Price Offset: Plus/Minus $1.00 in $0.10 increments to compensate for slippage, market orders, etc.
Track which method provides better fill estimates. There is no right or wrong choice here because it depends on your style of trading. You can also use the Price Offset option if you find it helps with consistency.
BEST PRACTICES ⭐
1. Start Conservative : Use quarter positions and default settings until familiar with the system 🐣
2. Track Results : Document whether you hit Tier 1, 2, or 3 targets 📝
3. Respect the Math : The calculations assume a 50%+ win rate - if yours is lower, reduce position sizes 🧮
4. Daily Review : Compare actual P&L to base hit targets to calibrate expectations 🔍
5. Adapt to Conditions : Use ATR stops in volatile markets, percentage stops in stable conditions 🌡️
GLOSSARY 📚
• ATR (Average True Range) : A volatility indicator measuring the average range of price movement
• PDT (Pattern Day Trader) : SEC rule requiring $25,000 minimum for accounts making 4+ day trades in 5 business days
• VWAP (Volume-Weighted Average Price) : Average price weighted by volume for the trading session
• VWMA (Volume-Weighted Moving Average) : Moving average that gives more weight to periods with higher volume
• SMA (Simple Moving Average) : Unweighted moving average where each data point is of equal importance
• EMA (Exponential Moving Average) : Moving average that emphasizes the most recent data and information from the market
• P&L : Profit & Loss
IMPORTANT DISCLAIMERS ⚠️
• This indicator and any information provided is for educational and informational purposes only and should not be construed as investment advice, financial advice, trading advice, or any other type of advice. You should not make any investment decision based solely on this indicator.
• All investments and trading involve substantial risk of loss and are not suitable for every investor. You should carefully consider whether trading is suitable for you in light of your experience, objectives, financial resources, and other relevant circumstances. 📉
• Actual trade results may vary from calculated targets due to slippage, market gaps, and execution delays
• The creator of this indicator is not a registered investment advisor, broker-dealer, or financial advisor. Nothing contained herein constitutes a recommendation or solicitation to buy or sell any financial instrument.
• In no event shall the creator be liable for any direct, indirect, incidental, special, or consequential damages arising out of the use of this indicator.
• This indicator DOES NOT calculate support/resistance levels
• This indicator DOES NOT provide buy/sell signals
• This indicator DOES NOT calculate entry prices
• It is the trader's responsibility to determine an appropriate entry price for their chosen strategy
• This indicator provides calculations only - execution discipline remains the trader's responsibility
• Default settings assume PDT margin account rules; adjust for cash accounts
• P&L ratio colors are guidelines - your actual win rate determines sustainable ratios
• Always verify position sizes don't exceed account buying power before executing
SUPPORT AND FEEDBACK 💬
This indicator represents years of trading experience condensed into automated calculations. It's designed to remove emotional decision-making from position sizing while maintaining flexibility for different market conditions and trading styles.
For questions, suggestions, or to share your results using the GSRM strategy, please comment on the TradingView publication page. 🚀
---
Remember: The goal isn't to hit home runs - it's to get on base consistently while avoiding strikeouts. Small wins compound into large gains over time. ⚾💰
Version: 1.0
License: Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International
- creativecommons.org
Compatibility: TradingView Pine Script v6
M2 + Fed Funds con anotaciones históricasThis TradingView indicator creates a separate panel that displays the historical evolution of M2 Money Stock (US) and the Federal Funds Rate, both normalized to a base of 100 for easier comparison. It highlights key historical events with annotations, including:
2000: Dotcom Bubble
2008: Global Financial Crisis
2020: COVID-19 Pandemic
The script allows users to visually analyze the relationship between monetary liquidity (M2) and interest rates, showing how changes in Fed policy correspond to major economic events and trends.
Iani SMC Sniper XAU v2.2 (Long+Short + News Countdown, v6)Iani SMC Sniper v2.6 — Anytime • Auto Pip • FVG 50% • OB • News Panel
Smart-Money Concepts made simple for intraday XAU/USD (works on any symbol).
Finds BOS, 50% FVG “sniper” entries, optional Order Blocks, London H/L, news countdown, and a mini info panel.
What it does
BOS (Break of Structure): detects bullish/bearish BOS after London sweep logic.
FVG 50% entries: plots precise long/short entry dots at the midpoint of the gap.
Auto TP/SL: TP = RR × risk, SL below/above recent swing with a small buffer.
Order Blocks (optional): marks the last opposite candle after BOS and alerts on OB revisit.
London High/Low: tracks session range; session filter is optional.
News countdown: shows next event time and minutes left (user-selectable timezone).
Mini Panel: top-left table with Trend (last BOS), Next news, R:R, Pip size.
Inputs (key)
Auto pip size: uses syminfo.mintick. Manual override available.
Risk:Reward (RR): default 2.0.
Pivot length: swing sensitivity.
Sessions: enable if you want signals only 12:00–20:00 (symbol timezone). Off = anytime.
News timezone: pick your own (e.g., Europe/Brussels, America/New_York).
Absolute & daily times: add your events (strings like 2025-09-17 20:00 or 14:30,16:00…).
Show labels/levels/OBs: toggle on/off.
Alerts included
BOS Bullish / BOS Bearish
BUY Entry / SELL Entry (return to 50% FVG)
Bullish OB revisit / Bearish OB revisit
TP Long/Short reached, SL Long/Short hit
NEWS WARNING (warning window only; does not block signals)
To use: Add Alert → Condition: this indicator → choose any of the alertconditions.
Best use
Bias: H1 for structure.
Execution: M15 (standard) or M5 (aggressive).
Works great on XAUUSD, but is symbol-agnostic (auto pip adapts).
Notes
News times display in the timezone you pick in settings.
OBs are a simple implementation meant for quick visual guidance.
Labels: BUY/SELL near entries, TP/SL on set and when hit, BOS up/down.
Risk disclaimer
This tool is for education only. Not financial advice. Backtest and manage risk.
SMC Mapping 2.0“This script is a Smart Money Concepts (SMC) indicator that helps traders identify market structure shifts such as Break of Structure (BOS) and Change of Character (ChoCH). It also highlights Supply & Demand zones, Internal/External Liquidity sweeps, and IDM levels.
The tool is designed for price action traders who want a clean and visual way to track BOS, ChoCH, and liquidity points directly on their chart. It is fully customizable with options to show/hide different elements, change colors, and adjust sensitivity.”
🔹 Script Overview
This script is based on Smart Money Concepts (SMC).
It automatically identifies Break of Structure (BOS), Change of Character (ChoCH), Supply & Demand zones, and IDM zones on the chart.
🔹 Features
Market Structure Detection → plots HH (Higher Highs) and LL (Lower Lows)
BOS & ChoCH → quickly identify trend shifts
Auto Supply & Demand Zones → highlights potential reversal areas
IDM Zones → marks imbalance/inefficiency
Clear color-coded visuals for bullish/bearish context
🔹 How It Works
The script evaluates recent swing highs and lows (20-bar lookback by default)
When price breaks above the recent high → Bullish BOS
When price breaks below the recent low → Bearish BOS
Based on this structure, the script automatically generates labels and zones
🔹 How To Use
Add the script to your chart (works well on 15m, 1H, 4H timeframes)
Use HH/LL labels to read the market structure
Supply & Demand zones help in identifying possible entry/exit points
IDM zones confirm imbalance areas for trade validation
🔹 Note
While this script uses classic concepts (HH, LL, Supply/Demand, IDM), the calculations, visuals, and styling are customized to provide a fresh and unique tool for traders. It is designed to help traders clearly see market structure and plan trades accordingly.
Iani SMC Sniper XAU v2.2 (Long+Short + News Countdown, v6)Iani SMC Sniper XAU (v2.2) — smart-money logic for XAUUSD.
This indicator hunts “sniper entries” using a simple SMC sequence:
Sweep → BOS → 50% FVG entry
• After London session builds its range, we wait for a liquidity sweep (price dips below London Low for longs / wicks above London High for shorts).
• A BOS confirms direction (close breaks the last swing).
• First FVG that prints after BOS gives the entry at 50% (mid-gap).
• SL anchored to the protective swing (with a small safety buffer). TP is plotted using your Risk:Reward.
News countdown (non-blocking):
The script does not auto-fetch news; you set daily times (e.g., 14:30, 16:00) and/or specific dates (“YYYY-MM-DD HH:MM”). A countdown label shows “NEWS in Xm”. Signals are not blocked—this is just a safety heads-up for prop-firm rules.
Inputs: pivot length, RR, pip size (XAU default 0.10), session filter (after London), news times (recurring & absolute), show/hide levels & labels.
Plots & labels: London High/Low (daily), Entry/SL/TP lines, BOS/Sweep/BUY/SELL markers, news badge.
Alerts: BOS Bull/Bear, BUY/SELL Entry touch, TP/SL hit, NEWS WARNING.
Notes:
• Designed for XAUUSD intraday; works on other symbols if you adjust pip size.
• Uses symbol timezone; adjust your news times for DST if needed.
• Indicator only—no orders, no backtest. Manage risk and execution in MT5/your platform.
Changelog (v2.2): Pine v6, robust time parsing, one-line logical expressions (fixed EOL errors), mirrored short logic, cleaner London H/L reset, countdown label.
Disclaimer: Educational tool, not financial advice. Past performance ≠ future results.
Tags: SMC, ICT, XAUUSD, Gold, Liquidity Sweep, BOS, FVG, London Session, News, Intraday, Scalping, DayTrading.
MTF Supply and Demand Zones [MMT]Description
The MTF Supply and Demand Zones indicator is a powerful tool designed to identify and display supply and demand zones across multiple timeframes (MTF) on your TradingView chart. These zones highlight key areas where price is likely to react, based on significant price movements in higher timeframes. The indicator is highly customizable, allowing traders to adjust zone strength, timeframes, colors, and display settings to suit their trading style.
Key Features
Multi-Timeframe Analysis : Detects supply and demand zones from up to five user-defined timeframes (e.g., 30m, 1H, 4H, 1D, 1W).
Zone Strength Filter : Filters zones based on the strength of price movements, ensuring only significant zones are displayed.
Customizable Display : Toggle supply and demand zones on/off, adjust colors, border styles, and label settings for clarity.
Dynamic Zone Extension : Extends zones to the right of the chart for better visibility, with adjustable extension length.
Zone Cleanup : Automatically removes zones when price breaks through them, keeping the chart clean and relevant.
Labels : Displays timeframe labels on zones for easy identification, with customizable size, color, and alignment.
How It Works
Supply Zones : Identified when a strong bearish candle follows a bullish or neutral candle, indicating potential selling pressure.
Demand Zones : Identified when a strong bullish candle follows a bearish or neutral candle, indicating potential buying pressure.
Zones are drawn as boxes, with the top and bottom based on key price levels (e.g., highs/lows or open prices).
The indicator uses a strength filter to ensure only significant zones (based on candle size ratios) are plotted.
Zones are updated dynamically, extending to the right by a user-defined number of bars and removed when price breaks through them.
Settings
S&D Zones Settings
Zone Strength Filter : Adjust the minimum candle size ratio (default: 1.8) to filter weaker zones.
Show Supply/Demand : Enable or disable supply and/or demand zones.
Supply/Demand Colors : Customize the fill and border colors for supply (default: red) and demand (default: green) zones.
Timeframes : Enable up to five timeframes (e.g., 30m, 1H, 4H, 1D, 1W) to analyze zones. Only zones from timeframes higher than the chart’s timeframe are displayed.
Display Settings
Zone Extension : Set how far zones extend to the right (in bars, default: 15).
Show Label: Toggle timeframe labels on zones.
Label Style : Customize label color, size (tiny, small, normal, large, huge), and alignment (horizontal/vertical).
Usage Tips
Use higher timeframes (e.g., 4H, 1D) for stronger, more reliable zones.
Combine with other indicators (e.g., support/resistance, trendlines) to confirm trade setups.
Adjust the Zone Strength Filter to reduce noise in volatile markets.
Enable labels to quickly identify the timeframe of each zone.
Notes
The indicator is overlayed on the price chart and supports up to 500 zones.
Zones are removed when price breaks above (supply) or below (demand), ensuring only active zones remain.
Works best on markets with clear price action, such as futures, forex, stocks, or cryptocurrencies.
Happy trading! 🚀