Interval — full-screen verticals + H/L + metrics (robust v6)Specify the start date of the analysis and the end date of the analysis, after which 2 vertical lines will appear, the extremes in this period will be marked, and the percentage of deviations will be shown. Next, you can switch assets and see how they behave over the same time interval.
Educational
Whale Money Flow DetectorKey Components:
Volume Analysis: Detects unusual volume spikes compared to average
Money Flow Index: Shows buying vs selling pressure
Whale Detection: Identifies large moves with high volume
Cumulative Flow: Tracks net whale activity over time
Visual Signals: Background colors and whale emoji labels
What it detects:
Large volume transactions (configurable multiplier)
Significant price moves with corresponding volume
Buying vs selling pressure from large players
Cumulative whale flow momentum
Customizable Parameters:
Volume MA Length (default: 20)
Whale Volume Multiplier (default: 2.0x)
Money Flow Length (default: 14)
Detection Sensitivity (default: 1.5)
Visual Features:
Green background for whale buying
Red background for whale selling
Whale emoji labels on significant moves
Real-time stats table
Multiple plot lines for different metrics
How to use:
Copy the code to TradingView's Pine Editor
Apply to your chart
Adjust sensitivity settings based on your asset's behavior
Set up alerts for whale buy/sell signals
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!
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.
IWM Russel 2000 -1D (E.Trader)Summary
Strategy on IWM (Russell 2000), 1D timeframe (2003–2025, ETF maturity period).
Initial capital: 1,000 USD, 100% reinvest.
Long-only strategy with realistic commissions and slippage (Interactive Brokers: $0.005/share, 3 ticks).
Key results (2003–2025)
• Total P&L: +2,087.01%
• CAGR: 11.4% (vs Buy & Hold: 7.6%) → ~1.5x higher annualized return
• Profit factor: 2.107
• Winning trades: 70.35%
• Max drawdown: 25.73%
• Time in the market: ~52% (trading days basis)
• Buy & Hold return: +556.36% → Strategy outperforms by ~3.7x
Strategy logic
• Restricted to IWM on ARCA, in 1D timeframe
• Long entries only (no shorts)
• Exploits two major biases: 1) trends and 2) overreactions
• Excludes very high VIX periods
• Implements calculated stop-losses
• Integrates commission and slippage to reflect real trading conditions (based on Interactive Brokers usage)
Focus 2008–2009 (financial crisis, May 31, 2008 – Dec 31, 2009)
• Return: +38.46% (vs Buy & Hold: –14.71%)
• Profit factor: 3.522
• Winning trades: 75%
• Max drawdown: 9.96%
Even at the height of 2008, the strategy remained profitable, while Buy & Hold was still showing a significant loss two years later.
Focus 2020–2021 (COVID crash and recovery, Jan 31, 2020 – Dec 31, 2021)
• Return: +89.70% (vs Buy & Hold: +79.06%)
• Profit factor: 4.764
• Winning trades: 81.82%
• Max drawdown: 10.35%
The strategy navigated the COVID mini-crash effectively, finishing the 2020–2021 period ahead of Buy & Hold, with lower drawdown.
Observations
• Strong outperformance vs Buy & Hold with less exposure
• Resilient across major stress periods (2008, COVID-2020)
• Limited drawdowns, faster recoveries
Model validation and parameter weighting
To check robustness and avoid overfitting, I use a simple weighted-parameters ratio (explained in more detail here: Reddit post ).
In this strategy:
• 4 primary parameters (weight 1)
• 5 secondary parameters (weight 0.5)
• Weighted param count = 4×1 + 5×0.5 = 6.5
• Total trades = 425
• Ratio = 425 ÷ 6.5 ≈ 65
Since this ratio is well above the 25 threshold I usually apply, it appears the model is not overfitted according to my experience — especially given its consistent gains even through crises such as 2008 and COVID-2020.
Disclaimer
This is an educational backtest. It does not constitute investment advice.
Past performance does not guarantee future results. Use at your own risk.
Further notes
In practice, systematic strategies like this are usually executed through automation to avoid human bias and ensure consistency. For those interested, I share more about my general approach and related tools here (personal site): emailtrader.app
Parametric Multiplier Backtester🧪 An experimental educational tool for visual market analysis and idea testing through the multiplication and interaction of core technical parameters. It allows you to observe in real time how the combination of indicators affects the resulting curve and the potential efficiency of trading strategies.
📖 Detailed Description
1. Philosophy & Purpose of the Tool
This backtester is not created to search for the “Holy Grail,” but for deep learning and analysis. It is intended for:
👶 Beginner traders – to visually understand how basic indicators work and interact with each other.
🧠 Experienced analysts – to search for new ideas and non-obvious relationships between different aspects of the market (trend, volatility, momentum, volume).
The core idea is combining parameters through multiplication.
👉 Why multiplication? Unlike simple addition, multiplication strengthens signals only when several factors align in the same direction. If at least one parameter shows weakness (close to zero in normalized form), it suppresses the overall result, serving as a filter for false signals.
2. How does it work?
Step 1: Parameter Selection
The tool gathers data from 9 popular indicators: 📈 Price, RSI, ADX, Momentum, ROC, ATR, Volume, Acceleration, Slope.
Step 2: Normalization
Since these indicators differ in nature and scale (e.g., RSI from 0–100 vs ATR in points), they are brought to a unified range. Each parameter is normalized within a given period (Normalization Period). This is the key step for proper functioning.
Step 3: Multiplication
The parameters enabled by the user are multiplied, creating a new derived value — Product Line. This line is an aggregated reflection of the selected market model.
Step 4: Smoothing
The resulting line can be noisy. The Smooth Product Line function (via SMA) reduces noise and highlights the main trend.
Step 5: Interpretation
The smoothed Product Line is compared with its own moving average (Mean Line). Crossovers generate trading signals.
3. What conclusions can be drawn from multiplying parameters?
⚡ RSI × Momentum × Volume – Strength of momentum confirmed by volume. High values may indicate strong, volume-backed moves.
📊 ADX × ATR – Strength of trend and its volatility. High values may signal the beginning of a strong trending move with high volatility.
🚀 Price × Slope × Acceleration – Combined speed and acceleration of the trend. Shows not only where price is going, but with what acceleration.
❌ Disabling parameters – By turning parameters on/off (e.g., Volume), you can instantly see how important each factor is for the current market situation.
4. Real-Time Mode & Instant Feedback
The main educational value of this tool is interactivity:
🔄 Turn indicators on/off in real time.
⏱ Change their periods and instantly observe how the Product Line shape and behavior changes.
📉 Immediately see how these changes affect historical trading signals (blue/red arrows) and strategy performance metrics (Profit Factor, Net Profit, etc.).
This process develops “market intuition” and helps understand which settings work better under different conditions (trend vs range).
5. Default Settings & Recommendations
⚙️ Default settings are optimized for demonstration on the 4H timeframe of the SOLUSDT crypto pair.
Parameter Settings: Switch group (Use RSI, Use ADX, etc.).
Normalization Period (20): Lower = more sensitive, Higher = smoother.
Smooth Product Line (true): Enabled by default for clarity.
Smoothing Period (200): Main sensitivity setting.
Trend Filter: Optional 200-SMA filter. Strategy trades only in the main trend direction.
⚠️ Important Warning: This is an experimental & educational tool. The signals it generates are the result of a mathematical model and are not a ready-to-use trading strategy. Always backtest ideas and apply risk management before risking real money.
Combined Master ScriptThis all-in-one indicator combines multiple trading tools into a single script, helping traders save time and keep charts clean. It is designed for discretionary analysis and provides important reference levels, but does not generate guaranteed signals.
✨ Features Included:
• Moving Averages (3 EMA system + additional MA with SMA/EMA/WMA/VWMA options).
• Pivot Boss CPR: Daily/Weekly CPR with support/resistance levels.
• Previous Day/Week OHLC levels for quick reference.
• Swing BS logic with (TSL) and alerts.
• ADR (Daily, Weekly, Monthly) levels with optional multipliers, historical plots, and range width analysis.
• Supply/Demand zone detection with automated box drawing and Break of Structure (BOS) handling.
• Automated Math Levels (PrevClose, PrevHigh, PrevLow, R1, R2, S1, S2, Upper/Lower BEP).
⚙️ How to Use:
1. Enable or disable components from the settings menu (CPR, ADR, Supply/Demand, Swing, Math Levels, etc.).
2. Adjust multipliers and periods for ADR to fit your trading style.
3. Use CPR and OHLC levels as intraday reference points.
4. Supply/Demand zones highlight potential reversal or continuation areas.
5. Swing logic helps identify breakouts and trailing stops.
📌 Notes & Limitations:
• This script is for educational/reference purposes only.
• It does not predict future prices or guarantee performance.
• Past results do not guarantee future outcomes.
• Works best on 15m and higher chart resolutions when publishing.
💡 Why it’s useful:
Instead of using multiple separate indicators, this script combines CPR, ADR, OHLC, Swing logic, and Supply/Demand zones into a single “master tool,” making analysis faster and more structured.
Ameebha D Equities Buy IndicatorShows Buy Decision and key metrics (RS, EMA, Supertrend, Close Price)
CAGR Indicator (Flexible Holding Period)CAGR Indicator (Flexible Holding Period)
The CAGR Indicator (Flexible Holding Period) is designed to convert any cumulative investment outcome into a standardized, annualized growth rate that can be compared across assets, strategies, and time horizons. Its core metric is the compound annual growth rate, which represents the constant yearly rate that, if compounded smoothly, transforms an initial value into a final value over a specified horizon. By annualizing returns, the indicator removes distortions caused by unequal test lengths and allows direct comparison with benchmarks such as index returns or risk-free rates.
Conceptually, the indicator proceeds in two stages: measuring growth and normalizing time. Growth is summarized by the growth multiple, which is the ratio of ending value to starting value when concrete values are provided, or equivalently 1 plus total percentage return divided by 100 when only a cumulative percent is known. Time is normalized by converting the user’s holding period into a year-equivalent, so that a 45-day, 30-week, 18-month, or multi-year interval can all be mapped onto a common annual scale. The conversions use widely accepted approximations: days divided by 365.25, weeks divided by approximately 52.1429, and months divided by 12, while years are used as entered.
Once growth and time are expressed in compatible units, the indicator applies the standard compounding identity: CAGR = (Growth Multiple)^(1/T) − 1, where T is the year-equivalent holding period. This transformation inverts the compounding process and yields the geometric mean rate of return per year. Because the geometric mean is path-independent, the CAGR summarizes start-to-finish performance without reference to the sequence of gains and losses. The output therefore reflects the constant annual rate that would have produced the observed terminal value from the initial value if returns had been smooth.
The indicator admits two data entry modes to accommodate common reporting practices. In Start/End Values mode, the user supplies initial and final portfolio values; the indicator computes the growth multiple as end divided by start and also displays absolute profit or loss in currency terms to aid practical interpretation. In Total PnL (%) mode, the user supplies a cumulative return percentage; the indicator converts this to a growth multiple and estimates a corresponding ending value for display, while the CAGR computation itself relies only on the multiple and the time horizon.
Validity checks ensure that reported numbers are meaningful. The growth multiple must be strictly positive; cumulative losses at or below minus one hundred percent make the multiple nonpositive and render the CAGR undefined. The holding period must be positive and convertible to a year-equivalent. In Start/End mode, the starting value must exceed zero to avoid division by zero and degenerate ratios. When these conditions are not met, the indicator withholds a numeric result and signals that the quantity is not well defined.
Interpreting the output requires recognizing both its strengths and its limits. The CAGR is a concise, comparable measure of long-run performance that abstracts from timing and volatility. It is particularly useful for benchmarking strategies of different durations, setting policy targets for funds, communicating results to stakeholders, and aligning outcomes with hurdle rates. However, because it is path-independent, the CAGR does not reflect interim drawdowns, variance, or tail risk. It also presumes a lump-sum investment with no intermediate cash flows; when deposits or withdrawals occur, internal rate of return methods such as IRR or XIRR are more appropriate.
Typical applications include comparing backtests with unequal sample lengths, reporting consolidated results from discrete projects on a common annual basis, and translating short-horizon event outcomes (for example, a multi-week campaign) into an annualized figure for decision-making. The indicator’s auxiliary displays, such as total profit or loss in currency and the explicit statement of the original holding period alongside its year-equivalent, improve transparency and auditability of the transformation.
Users should remain mindful of several caveats. Time conversions rely on conventional averages and may differ from calendar-exact counts by small amounts, which is usually immaterial but worth noting for edge cases. Selection bias can inflate reported CAGRs if intervals are cherry-picked; robust practice involves rolling windows, out-of-sample tests, and sensitivity analysis. Most importantly, the CAGR should be paired with risk and stability measures—such as maximum drawdown, Sharpe or Sortino ratios, downside deviation, or ulcer index—to form a complete assessment of a strategy’s quality.
In sum, the indicator operationalizes a simple but powerful idea: separate the measurement of growth from the normalization of time, then apply the compounding identity to express outcomes as a consistent per-year rate. By combining flexible period inputs with a rigorous geometric transformation, it enables fair, intelligible comparisons while encouraging the complementary use of risk diagnostics to avoid over-reliance on a single summary statistic.
Sync Module {Pro+}Description
This indicator combines three advanced modules into one framework to help traders identify market structure across multiple timeframes. By overlaying higher timeframe (HTF) levels, shading, and full candle representations directly onto lower timeframe charts, it allows traders to contextualize intraday movements within the broader market flow.
The system works in three layers:
HTF Levels (Script #1) – Defines static and dynamic breakout levels (D+ / D–), midpoint, prior highs/lows, and open. Two independent higher timeframes (A and B) can be tracked simultaneously.
HTF Boxes (Script #2) – Overlays shaded boxes representing selected HTF candle ranges, giving a clear view of directional bias and volatility.
HTF Candles (Script #3) – Plots higher timeframe candles directly on the chart, preserving structure without changing chart resolution.
Together, these modules create a multi-dimensional view of price action, helping traders see how breakouts, retracements, and range boundaries interact across different scales of time.
Script #1 – Timeframe A & B Levels
Purpose:
Plots critical reference levels (high, low, mid, prior high/low, open, and breakout levels) for two higher timeframes of the trader’s choice.
Key Features:
D+ (Static): Marks confirmed HTF breakouts above/below prior highs or lows.
D– (Dynamic): Tracks intrabar retracements toward D+, resetting if touched.
Full Level Suite: Includes midpoint, prior highs/lows, current open, and shading between Open ↔ Mid for additional context.
Dual Tracking: Monitors two separate timeframes (A and B) independently with full customization of styles, colors, and labels.
How It Helps:
Reveals breakout structure, retest behavior, and critical price references across multiple HTFs without switching charts.
Script #2 – HTF Boxes / Shading
Purpose:
Draws shaded boxes around selected higher timeframe candles, providing a visual map of HTF ranges on lower timeframe charts.
Key Features:
Configurable for up to four different intervals.
Box bodies shaded by candle direction (bullish/bearish).
Customizable border color and line style.
Automatic detection of new HTF intervals.
How It Helps:
Highlights the “container” of price action for each HTF bar, making it easy to see where current price sits within past higher timeframe ranges.
Script #3 – HTF Candles
Purpose:
Plots higher timeframe candles directly on the chart, preserving HTF structure alongside lower timeframe price action.
Key Features:
User-defined timeframe selection (e.g., 30m candles on a 1m chart).
Customizable candle body, wick, and border styling.
Optional vertical lines at HTF candle opens.
Dynamic scaling ensures candles display proportionally on any chart.
How It Helps:
Allows traders to monitor HTF price action and structure without leaving their preferred lower timeframe view.
Intended Use
This is a visualization and structural analysis tool. It does not generate buy/sell signals. Instead, it facilitates:
Identifying HTF breakouts and retracements.
Understanding where current price sits within HTF ranges.
Overlaying structural context from higher timeframes onto lower timeframe execution charts.
Limitations & Disclaimers
This indicator does not predict market outcomes or guarantee trading success.
Levels are derived from completed HTF candles and dynamic updates during active intervals.
Trading involves significant risk; use proper risk management.
This script is for informational and visualization purposes only.
No financial advice. The author is not responsible for losses incurred from use of this tool.
Closed-source (Protected):
The logic is available to use on charts but the code is not publicly visible. A TradingView paid plan is required to access protected indicators.
MC RSI + Stoch (multi-level bands)This indicator combines RSI and Stochastic Oscillator into a single panel for easier market analysis. It is designed for traders who want both momentum context and precise timing, with multiple reference levels for better decision-making.
🔧 Features
RSI (Relative Strength Index) with adjustable length (default 14).
Stochastic Oscillator (default 18, 9, 5) with smoothing applied to %K.
Both oscillators plotted in the same scale (0–100) for clear comparison.
Custom horizontal levels:
10 & 90 (purple)
20 & 80 (teal)
30 & 70 (blue)
40 & 60 (gray)
50 midline (red) for balance point reference.
Optional shaded band between 20–80 for quick visualization of momentum extremes.
Toggle switches to show/hide RSI or Stochastic independently.
🎯 How to Use
RSI gives the overall momentum strength.
Stochastic provides faster entry/exit signals by showing short-term momentum shifts.
Use the multi-level bands to identify different market conditions:
10/90 = Extreme exhaustion zones.
20/80 = Overbought/oversold boundaries.
30/70 = Secondary confirmation levels.
40/60 = Neutral momentum bands.
50 = Midline equilibrium.
Premium Arcane Structure-Based Detection and Unicorn BreakersBuilt for traders who demand precision, patience, and performance.
⸻
🧱 1. Structure-Based Detection (QSH/QSL)
The Arcane Indicator automatically maps Confirmed Swing Highs (QSH) and Swing Lows (QSL) across any timeframe—based on the proprietary Arcane Model structure rules.
This isn’t just another fractal swing detector.
It uses objective logic based on:
Expansion → Rejection → Correction
Validated swing points only (no pseudo highs/lows)
Liquidity identification backed by real-time data
📈 Whether you’re scalping the 1-minute or swing trading higher timeframes, the indicator shows you exactly where true liquidity resides.
🦄 2. Unicorn Breaker Detection (U-BRK / ∅-BRK)
This is your S-tier entry signal—an ultra-specific structural pattern that filters out noise and delivers high-conviction reversal setups.
The indicator auto-plots:
U-BRK: Valid Unicorn Breaker setups (based on internal structure fail → liquidity raid → valid reversal confirmation)
∅-BRK: Bearish inversion setups with same high-probability logic
This allows you to:
Avoid weak FVGs and early entries
Wait for structure to break, fail, and reverse with intent
Identify the precise moment momentum shifts with maximum clarity
🧪 Why It’s Different
Most indicators are laggy or overly subjective.
This one is coded directly from the Arcane Methodology, which you’ve taught inside your mentorship:
Valid QSH/QSL = real liquidity zones
U-BRK = elite entry trigger
Everything else = filtered out
If it’s not confirmed by structure, it doesn’t print.
🔐 Private Use Only
This indicator is exclusive to members of the Arcane Mentorship and Trading Community.
It runs live on TradingView, and supports:
NQ, YM, ES, CL, and major FX pairs
All timeframes
Sr.Rma.Breakout.Fib (Merged)DO YOUR DUE DILIGENCE – THIS IS FOR EDUCATIONAL PURPOSE AND NOT A TRADE ADVICE-
This strategy is designed for traders who want to merge pattern recognition (breakouts) with market structure context (Fibonacci), while maintaining disciplined trade management through automated stop-loss and reversal logic. “Once the chart is added, please ensure the candle pattern is set to Heikin Ashi.”
1. Breakout Finder Logic
The breakout finder identifies bullish and bearish breakouts using pivots, thresholds, and test counts:
• Pivot Highs & Lows (PH/PL): Calculated using user-defined periods.
• Breakout Threshold: Dynamic channel width based on recent volatility.
• Confirmation: A breakout is validated when price action clears the breakout Conditions
• Bullish Breakout: Triggered when multiple pivot highs are cleared by bullish Conditions.
• Bearish Breakout: Triggered when multiple pivot lows are broken by bearish Conditions.
• Sessions ignored: Traders can exclude up to three custom time windows to prevent signals during low-quality periods.
Risk & Reversal Controls
• Stop-Loss: Adjustable % thresholds for both long and short trades.
• Reversal Entries: Optional signals that trigger after a stop-loss, capturing potential price reversals.
2. Strategy Order Management
The strategy executes entries and exits based on confirmed breakout and reversal signals:
• Entries:
o Long on confirmed bullish breakout.
o Short on confirmed bearish breakout.
• Stops:
o Automatic closure of open positions when stop-loss conditions are hit.
• Reversals:
o Transition directly from long to short or vice versa when reversal conditions are met.
3. Auto Fibonacci Retracement
A ZigZag-based system automatically plots Fibonacci retracement levels on the chart:
• Swing Context: Derived dynamically from pivots with adjustable depth and deviation settings.
• Fib Levels: Standard retracement and extension levels (0.236, 0.382, 0.5, 0.618, 0.786, 1.0, 1.618, 2.618, 3.618, 4.236, etc.) are supported.
• Custom Options:
o Extend lines left or right.
o Show/hide level prices and percentage values.
o Control label positions (left or right).
o Adjustable transparency for background fills between levels.
• Crossing Alerts: Alerts are fired when the price crosses specific Fibonacci levels, enhancing confluence with breakout signals.
5. Key Benefits
• Comprehensive Trading Framework: Combines breakout confirmation, risk management, and Fibonacci context.
• Visual Clarity: Automatic plotting of breakout structures and Fib levels makes the chart intuitive.
• Flexible Controls: Full customization of pivots, thresholds, sessions, stop-loss %, and Fib settings.
• Automation Ready: Alerts and strategy orders allow seamless integration with brokers or external systems.
Alert: 10m FU at Top of HourWhen an FU happens on the hour, it will typically give a good indication of direction
Pair this with negation and HCS
Candle Range Theory (CRT) +Candle Range Theory (CRT)+
Summary
Purpose: Projects a Higher Timeframe (HTF) candle’s range onto your current chart and adds a compact multi-timeframe confluence table to judge premium/discount, trend vs pullback, and alignment.
What it draws:
HTF Range: Active HTF High, Low, and the 50% Equilibrium (EQ) line. Range updates while the HTF bar is building and resets when a new HTF bar starts.
Confluence Table (optional): Up to 5 rows, each pairing a configurable HTF and LTF. Background tint shows premium/discount relative to that row’s HTF EQ. The row label reports directional state (bullish/bearish and pullback/continuation) using simple bar-close momentum checks and a configurable lookback.
How the Confluence Table works
Rows: Up to five independent HTF/LTF pairs (each row can be toggled on/off and configured).
Location: Price vs that row’s HTF EQ
Above EQ = Premium (maroon tint by default)
Below EQ = Discount (green tint by default)
Direction/State: A bar-close momentum read combined with HTF location to label:
Bullish continuation / Bearish continuation
Bullish pullback (upward momentum in discount) / Bearish pullback (downward momentum in premium)
Lookback control:
Uniform Lookback ON: HTF and LTF both use a 1-bar lookback (more responsive).
Uniform Lookback OFF: HTF uses a slightly longer lookback on higher frames for stability; LTF remains 1-bar for responsiveness.
Disclaimer:
This script is for educational and informational purposes only and does not constitute financial advice, investment advice, or trading recommendations. Trading involves substantial risk; you can lose some or all of your capital. Past performance or examples are not indicative of future results. The author provides no warranties regarding accuracy, completeness, or fitness for any purpose and disclaims liability for any losses arising from the use of this tool. Always use your own judgment, confirm on bar close, and consider multiple factors (e.g., volatility, liquidity, news) before taking any action. You are solely responsible for your trading decisions.
Navigator Range Pro+Title Navigator Range Pro+
What it is Navigator Range Pro+ is a confluence-first indicator that blends multi-timeframe (MTF) trend bias with a Dealing Range (DR) framework. It helps you quickly see when higher timeframes align and pairs that bias with clean breakout triggers from a current range. Designed to reduce noise and keep charts readable.
What you’ll see
Dealing Range: Auto-detected range top/bottom with a midline. Choose Stuck (pivot-based, fixed) or Dynamic (rolling highest/lowest) modes.
MTF Bias: Higher timeframe trend bias derived from a selectable moving average (SMA/EMA).
Compact Info Panel (table): A configurable on-chart panel that summarizes each higher timeframe’s bias, optional lower-timeframe analog labels, and a confluence tally. You can position it, resize text, and set columns/rows to fit your layout.
Clean Charting: Flip labels are optional and default to off, so alerts can fire without covering price action.
How it works
Bias engine: Computes bullish/bearish bias for each selected higher timeframe using your chosen MA length/type, then aggregates them into a confluence count.
DR engine: Finds or follows the current trading range and calculates a midline reference for signals or context.
Signals: You can use pure confluence, pure DR breakouts, or a combined “Bias + DR” confirmation for higher-quality entries.
Inputs to know
HTF Ranges (comma separated): Higher timeframes to assess (e.g., W,D,240,60,15).
MA Length/Type: Controls the bias engine’s sensitivity.
DR Mode: Stuck (pivot-based, fixed until a new pivot confirms) or Dynamic (rolling high/low by lookback).
Swing Length / Dynamic Lookback / Extend Right: Shape how the range is found and displayed.
Panel Position / Text Size / Panel Columns / Panel Rows: Customize the on-chart table.
Alerts: Min HTFs to align and Strict alignment (no opposite) to refine confluence.
Show Flip Labels on Chart: Optional visual flip labels; alerts are unaffected if kept off.
Alert conditions
Multi-TF Confluence Bullish: Minimum number of HTFs are bullish (optionally strict).
Multi-TF Confluence Bearish: Minimum number of HTFs are bearish (optionally strict).
DR Breakout Up: Close crosses above DR top.
DR Breakout Down: Close crosses below DR bottom.
Bias + DR Combo Bullish: Bullish confluence and price above your DR threshold (Midline or Top/Bottom).
Bias + DR Combo Bearish: Bearish confluence and price below your DR threshold (Midline or Top/Bottom).
Tips
For live trading, “Once per bar close” alerts are the safest and most consistent.
Increase the Min HTFs to align to reduce noise; switch Combo Threshold to Top/Bottom for fewer, stronger momentum entries.
Keep flip labels off to maintain a clean chart (alerts still fire).
Disclaimer This script is for educational and informational purposes only and does not constitute financial, investment, or trading advice. Trading involves risk, including the risk of loss. You are solely responsible for your own trading decisions. Past performance does not guarantee future results. Always test on a demo and consult a licensed professional where appropriate.
壹神趨勢過濾器壹神趨勢過濾器 (2-pole)
此指標利用雙極濾波器 (Two-pole Filter) 來平滑價格波動,並以顏色與提示符號顯示市場趨勢變化,幫助交易者判斷多空趨勢。
僅供教育與研究使用,未經本人授權請勿盜用。
English:
YiShen Trend Filter (2-pole)
This indicator applies a two-pole filter to smooth price fluctuations and uses color gradients and signal markers to highlight market trend shifts. It is designed to help traders identify bullish and bearish conditions.
Disclaimer: For educational and research purposes only. Unauthorized use or redistribution is strictly prohibited.
Simple MA Crossover - TradicatorsSimple MA Crossover is a beginner-friendly indicator that visualizes moving average crossovers to help identify potential trend shifts. It uses two simple moving averages (SMA):
A Fast Moving Average (short-term)
A Slow Moving Average (long-term)
When the fast MA crosses above the slow MA, a green BUY label appears below the candle. When the fast MA crosses below the slow MA, a red SELL label appears above the candle.
These crossovers can be used as basic signals to suggest potential trend continuation or reversal points. The indicator works on all timeframes and can be used with various assets.
📌 This script is for educational and illustrative purposes only and should not be considered financial advice. Use it in conjunction with your own research, trading strategy, and risk management practices.
Add the Indicator
Open any chart on TradingView
Click on the Indicators tab
Search for “Simple MA Crossover” and add it to your chart
How It Works
The script plots two colored lines:
Orange Line: Fast Moving Average (default 9-period)
Blue Line: Slow Moving Average (default 21-period)
When the orange line crosses above the blue line → a BUY signal is printed
When the orange line crosses below the blue line → a SELL signal is printed
Customization
You can change the lengths of the moving averages in the settings to match your style
Works on any chart — crypto, stocks, forex, etc.
Try different timeframes (15min, 1H, 4H, Daily) to see what suits your strategy best
Reminder
Always test the indicator on a demo account before using it in live trading
Combine this tool with your own technical/fundamental analysis
No indicator guarantees profits or prevents losses
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.
ORB + Volume FilterI created this for testing purposes only. If this script works as expected I will add a better description.