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!
Multitimeframe
Multi-Timeframe Candle Color Dashboard V.3 (ByTraderWut)หลักการทำงานของอินดิเคเตอร์ (Indicator's Working Principle)
อินดิเคเตอร์นี้ถูกออกแบบมาเพื่อช่วยให้นักเทรดสามารถวิเคราะห์แนวโน้มของตลาดในหลายๆ ไทม์เฟรมได้พร้อมกันอย่างรวดเร็วและแม่นยำ. หัวใจสำคัญของการทำงานอยู่ที่การตรวจสอบราคาเปิดและราคาปิดของแท่งเทียนที่ ปิดไปแล้ว ในแต่ละไทม์เฟรม ซึ่งเป็นข้อมูลที่มีความน่าเชื่อถือสูงกว่าแท่งเทียนที่กำลังวิ่งอยู่.
1. การคำนวณสีแท่งเทียน (Candle Color Calculation)
อินดิเคเตอร์จะทำการส่งคำสั่งไปยังไทม์เฟรมย่อยแต่ละช่วงเวลาที่คุณเลือก (เช่น M1, M5, H1, D1) เพื่อดึงข้อมูลราคาเปิดและราคาปิดของแท่งเทียนล่าสุดที่ปิดสมบูรณ์แล้ว.
Bullish (ขาขึ้น): หากราคาปิดของแท่งเทียนที่ปิดไปแล้ว สูงกว่า ราคาเปิด อินดิเคเตอร์จะแสดงเป็น สีเขียว.
Bearish (ขาลง): หากราคาปิดของแท่งเทียนที่ปิดไปแล้ว ต่ำกว่า ราคาเปิด อินดิเคเตอร์จะแสดงเป็น สีแดง.
2. การนับแท่งเทียนต่อเนื่อง (Consecutive Candle Count)
นอกจากการแสดงสีแล้ว อินดิเคเตอร์ยังมีการนับจำนวนแท่งเทียนที่มีสีเดียวกันต่อเนื่องกัน.
ฟังก์ชันการนับ: โค้ดจะใช้ลูปในการย้อนกลับไปตรวจสอบแท่งเทียนที่ปิดไปแล้วตามจำนวนที่คุณกำหนดในหน้าการตั้งค่า Consecutive Bars for Status. หากจำนวนแท่งเทียนสีเดียวกันต่อเนื่องถึงเกณฑ์ที่ตั้งไว้ อินดิเคเตอร์จะแสดงคำว่า "Bullish" หรือ "Bearish" เพิ่มเติม.
ประโยชน์: ฟีเจอร์นี้ช่วยกรองสัญญาณรบกวนที่เกิดจากราคาที่ขึ้นลงเล็กน้อย และช่วยให้คุณยืนยันความแข็งแกร่งของเทรนด์ได้อย่างแม่นยำยิ่งขึ้น.
3. การใช้งานร่วมกับการวิเคราะห์เชิงเทคนิค (Integration with Technical Analysis)
หลักการทำงานของอินดิเคเตอร์สอดคล้องกับการวิเคราะห์แบบ Multi-Timeframe Analysis ซึ่งเป็นพื้นฐานสำคัญของการเทรด. การใช้ Dashboard จะช่วยให้คุณเห็นภาพรวมของตลาดในมุมกว้าง และใช้สัญญาณยืนยันการเข้าออเดอร์ในไทม์เฟรมที่คุณเทรดอยู่ได้ทันที.
ตัวอย่าง: หากคุณเทรดในไทม์เฟรม H1 (ชั่วโมง) และเห็นว่า H4 และ D1 ก็เป็นเทรนด์ขาขึ้นเช่นกัน (Bullish) สัญญาณเข้าออเดอร์ซื้อ (Long) ของคุณใน H1 ก็จะมีความน่าเชื่อถือมากขึ้น.
English Version: Indicator's Working Principle
The indicator is designed to help traders analyze market trends across multiple timeframes quickly and accurately. The core of its functionality lies in checking the open and close prices of closed bars in each timeframe, which provides more reliable information than a bar that is still forming.
1. Candle Color Calculation
The indicator sends a request to each selected sub-timeframe (e.g., M1, M5, H1, D1) to fetch the open and close prices of the most recently completed bar.
Bullish (Uptrend): If the close price of the closed bar is higher than its open price, the indicator will display a green color.
Bearish (Downtrend): If the close price of the closed bar is lower than its open price, the indicator will display a red color.
2. Consecutive Candle Count
In addition to the color display, the indicator also counts the number of consecutive candles of the same color.
Counting Function: The code uses a loop to check the past closed bars up to the number you've defined in the Consecutive Bars for Status input. If the number of consecutive candles of the same color meets or exceeds this threshold, the words "Bullish" or "Bearish" will appear.
Benefit: This feature helps to filter out market noise from minor price fluctuations, allowing you to confirm the strength of a trend more accurately.
3. Integration with Technical Analysis
The indicator's working principle aligns with Multi-Timeframe Analysis, a fundamental trading concept. The dashboard provides a comprehensive market overview, allowing you to use confirmation signals to enter trades on your primary timeframe with greater confidence.
Example: If you are trading on the H1 (hourly) timeframe and see that H4 and D1 are also in an uptrend (Bullish), your long entry signal on H1 will be more reliable.
unFair Value Gap Detector [theUltimator5]The unFair Value Gap Detector (uFVG) highlights imbalance zones that form when trend strength is weak but directional pressure spikes—a condition often followed by price reversion back into that level. Unlike the classic 3-candle ICT FVG, this tool is designed to help you have an unFair edge in gap retracement detection by plotting high probability gap reversion opportunities on the current timeframe and the next FIVE (yes five) higher timeframes.
What you’ll see:
Gap line per event: A single, no-nonsense line at the level price most often returns to.
Auto multi-timeframe view: uFVG ladders up through five higher timeframes and shows their levels too—each with its own color.
Smart de-clutter: Near-duplicate lines across timeframes are filtered so your chart stays readable.
Note: This indicator is intentionally minimalistic visually to minimize chart clutter, while still being an extremely powerful tool
Optional visuals:
Light background tint during quiet, coiling conditions.
Soft fill from price to the active line for quick context.
Compact labels that note the price and which timeframe printed it.
Why it is unique and effective (the “unfair” edge):
Early, practical context: Spots levels near when the imbalance forms—useful before the crowd catches on.
Clarity over noise: One line per event. No boxes, no sprawling zones, fewer “maybe” areas.
Timeframe confluence: When multiple timeframes cluster around the same price, you’ve got a stronger focal point.
Simple risk framing: If price slices through the line decisively, that idea’s done. Next.
How to use it:
Mean-reversion play: Look for price to tag the line, take profits into it, or fade a first reaction.
Continuation play: After the line is “mitigated,” reassess in the original direction.
Prioritize by timeframe: Higher-timeframe lines tend to carry more weight.
Respect clusters: Multiple lines stacked near one price often mark important pivots.
Customization
Colors: Separate colors for current and higher-timeframe lines.
Toggles: Turn on/off background highlights, line-to-price fill, and labels.
Minimal fuss: The rest is auto—timeframes, line lifecycle, and de-duplication are handled for you.
FX % Change TableFX % Change Table
This tool provides currency strength analysis at a glance, allowing traders to instantly identify which currencies are outperforming or underperforming without the need to manually check each pair. It offers decision support for entries and exits by helping traders align their positions with broader strength and weakness trends, such as buying the strongest currency against the weakest. Its versatility makes it suitable for any timeframe, whether used by scalpers or swing traders. Best of all, it delivers these insights in a clean and simple format, presenting complex multi-pair calculations in an easy-to-read visual display.
This tool is especially helpful for traders who incorporate currency strength analysis, correlation checks, or basket trading into their strategy. It reduces time spent flipping through charts and provides a structured overview for smarter trade decisions.
Unlike traditional single-pair indicators, this tool calculates the percentage change between the current and previous higher timeframe closes for a group of forex pairs. You can choose between two curated groups:
• Majors – EURUSD, GBPUSD, USDJPY, USDCHF, AUDUSD, NZDUSD, USDCAD
• Cross Pairs – A wide basket of EUR, GBP, AUD, NZD, CAD, and CHF crosses
For each symbol, the script requests the selected timeframe’s price data, calculates the percentage change from the previous bar’s close, and then displays it in a neatly formatted table. Green highlights strength, red highlights weakness, and gray shows neutrality — making shifts in momentum instantly recognizable.
How to Use
1. Select your timeframe – For example, "60" (1H) to view hourly change, "240" (4H) for broader moves, or "D" for daily strength/weakness.
2. Choose your group – Focus on the Majors for a macro USD view, or switch to Cross Pairs for secondary flows.
3. Position the table – Place it in any corner of your chart (top-left, top-right, bottom-left, bottom-right) to match your workspace.
The table updates dynamically at the close of each bar, ensuring the displayed data always reflects the most recent market movements.
AK EMA 200 Trend Filter StrategyStrategy Description – EMA 200 Trend Filter
This strategy uses the 200-period Exponential Moving Average (EMA) as a trend filter:
Entry Rule (Long only):
A long position is opened when the price crosses above the EMA 200 and closes above it.
Exit Rule:
The long position is closed if price closes back below the EMA 200.
Optional Short Trades (disabled by default, can be enabled):
A short position is opened when the price crosses below EMA 200 and closes below it.
The short is exited when price closes back above EMA 200.
Risk Management:
Configurable Stop Loss (%) and Take Profit (%) from entry price.
If enabled, trades are automatically protected with SL/TP levels.
Visualization:
EMA 200 is plotted in orange on the chart.
Green arrows mark long entries, red arrows mark exits.
✅ Use cases:
Works best on higher timeframes (1H, 4H, Daily) as a trend-following filter.
You can combine with additional indicators (RSI, MACD) to reduce false signals.
Always test in TradingView Strategy Tester before using in live trading.
TJR Session High/LowsThis indicator plots the session Highs and Lows for Tokyo (20:00–03:00), London (03:00–08:00), and New York (08:00–17:00).
Each session can be toggled on or off, and you can choose whether to display only the High, only the Low, or both.
Customization options include:
Colors and line styles (Solid, Dashed, Dotted) for each session
Line width
Optional vertical markers at the session boundaries (20:00, 03:00, 08:00, 17:00) – dashed blue lines by default
The indicator updates dynamically: session High/Low levels are recalculated in real time as new bars come in, and only the most recent session lines are shown (no clutter from past sessions).
Default session times are set for Tokyo, London, and New York, but you can adjust them if needed.
Rapeez's BOS IndicatorIt will highlight all the BOS (Break of Structure) points on the chart with blue and red lines, making it easier to spot them without having to analyze the chart deeply. This tool is also great for identifying the overall market trend and works across all timeframes. Updates will be provided every month.
Happy charting—hope you find it helpful!
Supertrend Ravi Shinde📌 Multi-Timeframe Supertrend (MFT Supertrend)
This indicator is a refined version of the classic Supertrend, designed with multi-timeframe flexibility for traders who rely on higher-timeframe confirmation while trading lower charts.
🔑 Key Features:
Multi-Timeframe Analysis: Apply Supertrend from any higher timeframe (e.g., use 15m, 1h, or 1d Supertrend on a 5m chart).
Clear Trend Identification:
🔴 Price below Supertrend → Bearish trend.
🟢 Price above Supertrend → Bullish trend.
Customizable Parameters: Input ATR length, ATR multiplier, and timeframe of your choice.
Visual Simplicity: Clean chart display with no clutter – just the essential Supertrend line.
EMA (20, 50, 100, 200) incl. TIMEFRAME!Multi-Timeframe EMA Indicator
Indicator designed for TradingView that plots up to four distinct Exponential Moving Average (EMA) lines on your chart. The script is highly flexible, allowing you to configure each EMA's length and color individually. Additionally, it features a crucial timeframe parameter, which enables you to apply the EMAs from a different, higher timeframe directly to your current chart.
Key Features:
Four Independent EMAs : The indicator calculates and displays four separate EMA lines simultaneously. The default lengths are set to the popular values of 20, 50, 100, and 200, which are commonly used for short-term, medium-term, and long-term trend analysis.
Customizable Length and Color: You have full control over each EMA. In the indicator's settings, you can easily change the length of each moving average to suit your trading strategy. You can also customize the color of each line, making it easy to distinguish them on the chart.
Multi-Timeframe Analysis (MTF) : The most powerful feature is the timeframe parameter. By entering a different timeframe (e.g., "D" for daily, "W" for weekly, or "60" for hourly), the indicator will calculate the EMAs based on that specific timeframe's data, regardless of your chart's current resolution. This is invaluable for traders who want to see long-term trends on a short-term chart without having to switch timeframes.
Market Structure - BOS LinesMarket Structure - BOS Lines individuazione delle 3cf e segnalazione con il bos
SMT Divergences Dual Lookback - MoonTradesThis Pine Script, titled "SMT Divergences Dual Lookback", is designed to detect and visualize divergences between two comparison symbols (symbols A and B) using two different lookback periods. The script specifically identifies bullish and bearish divergences based on pivot highs and lows and marks them on the chart with color-coded labels.
Bullish Divergence (Swing High) is marked when a price swing low diverges from a pivot low, indicating potential upward momentum.
Bearish Divergence (Swing Low) is marked when a price swing high diverges from a pivot high, indicating potential downward momentum.
The script works with two customizable comparison symbols and can also apply a specific timeframe for divergence detection (separate from the chart’s default timeframe). The results are displayed with labels showing the corresponding symbols, helping traders identify potential reversal points or continuation trends.
Users can customize the lookback periods and the colors for the divergence markers. This tool aids in technical analysis for traders who focus on multi-timeframe and multi-symbol divergence strategies.
ATR SNIPER + Fast MA Filter (KAMA fixed)This Pine Script v6 indicator is designed to detect high-probability trend reversals and continuations using an ATR-based trailing stop system, with optional multi-timeframe confirmation and fast moving average filtering. It combines volatility-based trailing stops with adaptive moving averages for a balance between trend strength and entry precision.
1. Inputs
Sensitivity (Key Value): Multiplier for ATR; higher values = looser stops, lower values = tighter stops.
ATR Period: Length for ATR calculation (default 14).
Heikin Ashi Option: Can calculate signals on Heikin Ashi candles instead of normal close.
Higher Timeframe (HTF) Filter: Optional filter requiring agreement with a higher timeframe trend.
Fast MA Confirmation: Option to confirm trades with a fast moving average.
MA types supported: SMA, EMA, WMA, VWMA, DEMA, TEMA, KAMA, HEMA, ZLEMA.
Fully customizable KAMA with fast and slow parameters.
🔹 2. ATR Trailing Stop
A custom ATR trailing stop line is computed.
It adjusts dynamically with price and volatility:
Moves upward in uptrends, downward in downtrends.
Prevents stop from reversing unless a confirmed cross happens.
Signals are generated when price crosses above/below this trailing stop.
🔹 3. Position & Trend Logic
pos variable determines the current market bias:
+1 → Long bias
-1 → Short bias
0 → Neutral
Buy/Sell Signals:
Buy when price crosses above the ATR trailing stop.
Sell when price crosses below the ATR trailing stop.
🔹 4. Multi-Timeframe (HTF) Filter
Pulls HTF close and HTF ATR stop with request.security().
Confirms trades only if lower-timeframe signals agree with higher-timeframe direction:
Longs allowed only if HTF trend is bullish.
Shorts allowed only if HTF trend is bearish.
🔹 5. Fast MA Filter
User-selectable fast MA filter.
Entry signals must agree with MA trend direction:
Long only if price > fast MA.
Short only if price < fast MA.
Prevents false signals during choppy markets.
🔹 6. KAMA Implementation
Script uses a local KAMA function (Kaufman’s Adaptive Moving Average).
KAMA adapts smoothing factor based on price efficiency ratio → faster in trending markets, slower in ranges.
Offers a more adaptive confirmation filter compared to static MAs.
🔹 7. Plotting
Plots ATR trailing stop line (green in uptrend, red in downtrend, blue neutral).
Plots fast MA line (configurable type & length).
Buy/Sell labels plotted on chart.
Candles are colored lightly green/red during active long/short signals.
🔹 8. Alerts
Alerts can be set for Buy (UT Long) and Sell (UT Short) signals.
Useful for automation or trading alerts in TradingView.
INDICADOR INSTITUCIONAL FVG + FRACTAL + FIBOINSTITUCIONAL INDICATOR
Help to identify FGV´S + Fractals + FIBO
Session AnchorsDescription
This indicator highlights the four main global trading sessions — London, New York AM, New York PM, and Asia — as color-coded boxes on the chart. Each session is defined by fixed start/end times (New York time) and dynamically updates with the evolving high and low during that interval. This provides a clear view of how volatility and structure shift as trading activity passes from one region to another.
How to use
• Works on any timeframe.
• Toggle sessions on/off based on your trading hours.
• Observe price behavior as one session closes and another opens.
• Use session boxes as context for liquidity, volatility, and structure analysis.
Originality
This script delivers a clean, customizable visualization of global market hours and session ranges, avoiding extra overlays so traders can isolate session-based behavior without distraction.
⚠️ Disclaimer
This indicator does not generate signals. It provides a structural mapping of global sessions for contextual analysis only.
Risk Calculator You can enter your account size and your stop-loss level, and the calculator will display the risk you are taking both as an actual monetary value and as a percentage of your account. If your account currency differs from the instrument’s currency, you can also input a conversion factor to see the risk in your account currency.
Copeland Dynamic Dominance Matrix System | GForgeCopeland Dynamic Dominance Matrix System | GForge - v1
---
📊 COMPREHENSIVE SYSTEM OVERVIEW
The GForge Dynamic BB% TrendSync System represents a revolutionary approach to algorithmic portfolio management, combining cutting-edge statistical analysis, momentum detection, and regime identification into a unified framework. This system processes up to 39 different cryptocurrency assets simultaneously, using advanced mathematical models to determine optimal capital allocation across dynamic market conditions.
Core Innovation: Multi-Dimensional Analysis
Unlike traditional single-asset indicators, this system operates on multiple analytical dimensions:
Momentum Analysis: Dual Bollinger Band Modified Deviation (DBBMD) calculations
Relative Strength: Comprehensive dominance matrix with head-to-head comparisons
Fundamental Screening: Alpha and Beta statistical filtering
Market Regime Detection: Five-component statistical testing framework
Portfolio Optimization: Dynamic weighting and allocation algorithms
Risk Management: Multi-layered protection and regime-based positioning
---
🔧 DETAILED COMPONENT BREAKDOWN
1. Dynamic Bollinger Band % Modified Deviation Engine (DBBMD)
The foundation of this system is an advanced oscillator that combines two independent Bollinger Band systems with asymmetric parameters to create unique momentum readings.
Technical Implementation:
[
// BB System 1: Fast-reacting with extended standard deviation
primary_bb1_ma_len = 40 // Shorter MA for responsiveness
primary_bb1_sd_len = 65 // Longer SD for stability
primary_bb1_mult = 1.0 // Standard deviation multiplier
// BB System 2: Complementary asymmetric design
primary_bb2_ma_len = 8 // Longer MA for trend following
primary_bb2_sd_len = 66 // Shorter SD for volatility sensitivity
primary_bb2_mult = 1.7 // Wider bands for reduced noise
Key Features:
Asymmetric Design: The intentional mismatch between MA and Standard Deviation periods creates unique oscillation characteristics that traditional Bollinger Bands cannot achieve
Percentage Scale: All readings are normalized to 0-100% scale for consistent interpretation across assets
Multiple Combination Modes:
BB1 Only: Fast/reactive system
BB2 Only: Smooth/stable system
Average: Balanced blend (recommended)
Both Required: Conservative (both must agree)
Either One: Aggressive (either can trigger)
Mean Deviation Filter: Additional volatility-based layer that measures the standard deviation of the DBBMD% itself, creating dynamic trigger bands
Signal Generation Logic:
// Primary thresholds
primary_long_threshold = 71 // DBBMD% level for bullish signals
primary_short_threshold = 33 // DBBMD% level for bearish signals
// Mean Deviation creates dynamic bands around these thresholds
upper_md_band = combined_bb + (md_mult * bb_std)
lower_md_band = combined_bb - (md_mult * bb_std)
// Signal triggers when DBBMD crosses these dynamic bands
long_signal = lower_md_band > long_threshold
short_signal = upper_md_band < short_threshold
For more information on this BB% indicator, find it here:
2. Revolutionary Dominance Matrix System
This is the system's most sophisticated innovation - a comprehensive framework that compares every asset against every other asset to determine relative strength hierarchies.
Mathematical Foundation:
The system constructs a mathematical matrix where each cell represents whether asset i dominates asset j:
// Core dominance matrix (39x39 for maximum assets)
var matrix dominance_matrix = matrix.new(39, 39, 0)
// For each qualifying asset pair (i,j):
for i = 0 to active_count - 1
for j = 0 to active_count - 1
if i != j
// Calculate price ratio BB% TrendSync for asset_i/asset_j
ratio_array = calculate_price_ratios(asset_i, asset_j)
ratio_dbbmd = calculate_dbbmd(ratio_array)
// Asset i dominates j if ratio is in uptrend
if ratio_dbbmd_state == 1
matrix.set(dominance_matrix, i, j, 1)
Copeland Scoring Algorithm:
Each asset receives a dominance score calculated as:
Dominance Score = Total Wins - Total Losses
// Calculate net dominance for each asset
for i = 0 to active_count - 1
wins = 0
losses = 0
for j = 0 to active_count - 1
if i != j
if matrix.get(dominance_matrix, i, j) == 1
wins += 1
else
losses += 1
copeland_score = wins - losses
array.set(dominance_scores, i, copeland_score)
Head-to-Head Analysis Process:
Ratio Construction: For each asset pair, calculate price_asset_A / price_asset_B
DBBMD Application: Apply the same DBBMD analysis to these ratios
Trend Determination: If ratio DBBMD shows uptrend, Asset A dominates Asset B
Matrix Population: Store dominance relationships in mathematical matrix
Score Calculation: Sum wins minus losses for final ranking
This creates a tournament-style ranking where each asset's strength is measured against all others, not just against a benchmark.
3. Advanced Alpha & Beta Filtering System
The system incorporates fundamental analysis through Capital Asset Pricing Model (CAPM) calculations to filter assets based on risk-adjusted performance.
Alpha Calculation (Excess Return Analysis):
// CAPM Alpha calculation
f_calc_alpha(asset_prices, benchmark_prices, alpha_length, beta_length, risk_free_rate) =>
// Calculate asset and benchmark returns
asset_returns = calculate_returns(asset_prices, alpha_length)
benchmark_returns = calculate_returns(benchmark_prices, alpha_length)
// Get beta for expected return calculation
beta = f_calc_beta(asset_prices, benchmark_prices, beta_length)
// Average returns over period
avg_asset_return = array_average(asset_returns) * 100
avg_benchmark_return = array_average(benchmark_returns) * 100
// Expected return using CAPM: E(R) = Beta * Market_Return + Risk_Free_Rate
expected_return = beta * avg_benchmark_return + risk_free_rate
// Alpha = Actual Return - Expected Return
alpha = avg_asset_return - expected_return
Beta Calculation (Volatility Relationship):
// Beta measures how much an asset moves relative to benchmark
f_calc_beta(asset_prices, benchmark_prices, length) =>
// Calculate return series for both assets
asset_returns =
benchmark_returns =
// Populate return arrays
for i = 0 to length - 1
asset_return = (current_price - previous_price) / previous_price
benchmark_return = (current_bench - previous_bench) / previous_bench
// Calculate covariance and variance
covariance = calculate_covariance(asset_returns, benchmark_returns)
benchmark_variance = calculate_variance(benchmark_returns)
// Beta = Covariance(Asset, Market) / Variance(Market)
beta = covariance / benchmark_variance
Filtering Applications:
Alpha Filter: Only includes assets with alpha above specified threshold (e.g., >0.5% monthly excess return)
Beta Filter: Screens for desired volatility characteristics (e.g., beta >1.0 for aggressive assets)
Combined Screening: Both filters must pass for asset qualification
Dynamic Thresholds: User-configurable parameters for different market conditions
4. Intelligent Tie-Breaking Resolution System
When multiple assets have identical dominance scores, the system employs sophisticated methods to determine final rankings.
Standard Tie-Breaking Hierarchy:
// Primary tie-breaking logic
if score_i == score_j // Tied dominance scores
// Level 1: Compare Beta values (higher beta wins)
beta_i = array.get(beta_values, i)
beta_j = array.get(beta_values, j)
if beta_j > beta_i
swap_positions(i, j)
else if beta_j == beta_i
// Level 2: Compare Alpha values (higher alpha wins)
alpha_i = array.get(alpha_values, i)
alpha_j = array.get(alpha_values, j)
if alpha_j > alpha_i
swap_positions(i, j)
Advanced Tie-Breaking (Head-to-Head Analysis):
For the top 3 performers, an enhanced tie-breaking mechanism analyzes direct head-to-head price ratio performance:
// Advanced tie-breaker for top performers
f_advanced_tiebreaker(asset1_idx, asset2_idx, lookback_period) =>
// Calculate price ratio over lookback period
ratio_history =
for k = 0 to lookback_period - 1
price_ratio = price_asset1 / price_asset2
array.push(ratio_history, price_ratio)
// Apply simplified trend analysis to ratio
current_ratio = array.get(ratio_history, 0)
average_ratio = calculate_average(ratio_history)
// Asset 1 wins if current ratio > average (trending up)
if current_ratio > average_ratio
return 1 // Asset 1 dominates
else
return -1 // Asset 2 dominates
5. Five-Component Aggregate Market Regime Filter
This sophisticated framework combines multiple statistical tests to determine whether market conditions favor trending strategies or require defensive positioning.
Component 1: Augmented Dickey-Fuller (ADF) Test
Tests for unit root presence to distinguish between trending and mean-reverting price series.
// Simplified ADF implementation
calculate_adf_statistic(price_series, lookback) =>
// Calculate first differences
differences =
for i = 0 to lookback - 2
diff = price_series - price_series
array.push(differences, diff)
// Statistical analysis of differences
mean_diff = calculate_mean(differences)
std_diff = calculate_standard_deviation(differences)
// ADF statistic approximation
adf_stat = mean_diff / std_diff
// Compare against threshold for trend determination
is_trending = adf_stat <= adf_threshold
Component 2: Directional Movement Index (DMI)
Classic Wilder indicator measuring trend strength through directional movement analysis.
// DMI calculation for trend strength
calculate_dmi_signal(high_data, low_data, close_data, period) =>
// Calculate directional movements
plus_dm_sum = 0.0
minus_dm_sum = 0.0
true_range_sum = 0.0
for i = 1 to period
// Directional movements
up_move = high_data - high_data
down_move = low_data - low_data
// Accumulate positive/negative movements
if up_move > down_move and up_move > 0
plus_dm_sum += up_move
if down_move > up_move and down_move > 0
minus_dm_sum += down_move
// True range calculation
true_range_sum += calculate_true_range(i)
// Calculate directional indicators
di_plus = 100 * plus_dm_sum / true_range_sum
di_minus = 100 * minus_dm_sum / true_range_sum
// ADX calculation
dx = 100 * math.abs(di_plus - di_minus) / (di_plus + di_minus)
adx = dx // Simplified for demonstration
// Trending if ADX above threshold
is_trending = adx > dmi_threshold
Component 3: KPSS Stationarity Test
Complementary test to ADF that examines stationarity around trend components.
// KPSS test implementation
calculate_kpss_statistic(price_series, lookback, significance_level) =>
// Calculate mean and variance
series_mean = calculate_mean(price_series, lookback)
series_variance = calculate_variance(price_series, lookback)
// Cumulative sum of deviations
cumulative_sum = 0.0
cumsum_squared_sum = 0.0
for i = 0 to lookback - 1
deviation = price_series - series_mean
cumulative_sum += deviation
cumsum_squared_sum += math.pow(cumulative_sum, 2)
// KPSS statistic
kpss_stat = cumsum_squared_sum / (lookback * lookback * series_variance)
// Compare against critical values
critical_value = significance_level == 0.01 ? 0.739 :
significance_level == 0.05 ? 0.463 : 0.347
is_trending = kpss_stat >= critical_value
Component 4: Choppiness Index
Measures market directionality using fractal dimension analysis of price movement.
// Choppiness Index calculation
calculate_choppiness(price_data, period) =>
// Find highest and lowest over period
highest = price_data
lowest = price_data
true_range_sum = 0.0
for i = 0 to period - 1
if price_data > highest
highest := price_data
if price_data < lowest
lowest := price_data
// Accumulate true range
if i > 0
true_range = calculate_true_range(price_data, i)
true_range_sum += true_range
// Choppiness calculation
range_high_low = highest - lowest
choppiness = 100 * math.log10(true_range_sum / range_high_low) / math.log10(period)
// Trending if choppiness below threshold (typically 61.8)
is_trending = choppiness < 61.8
Component 5: Hilbert Transform Analysis
Phase-based cycle detection and trend identification using mathematical signal processing.
// Hilbert Transform trend detection
calculate_hilbert_signal(price_data, smoothing_period, filter_period) =>
// Smooth the price data
smoothed_price = calculate_moving_average(price_data, smoothing_period)
// Calculate instantaneous phase components
// Simplified implementation for demonstration
instant_phase = smoothed_price
delayed_phase = calculate_moving_average(price_data, filter_period)
// Compare instantaneous vs delayed signals
phase_difference = instant_phase - delayed_phase
// Trending if instantaneous leads delayed
is_trending = phase_difference > 0
Aggregate Regime Determination:
// Combine all five components
regime_calculation() =>
trending_count = 0
total_components = 0
// Test each enabled component
if enable_adf and adf_signal == 1
trending_count += 1
if enable_adf
total_components += 1
// Repeat for all five components...
// Calculate trending proportion
trending_proportion = trending_count / total_components
// Market is trending if proportion above threshold
regime_allows_trading = trending_proportion >= regime_threshold
The system only allows asset positions when the specified percentage of components indicate trending conditions. During choppy or mean-reverting periods, the system automatically positions in USD to preserve capital.
6. Dynamic Portfolio Weighting Framework
Six sophisticated allocation methodologies provide flexibility for different market conditions and risk preferences.
Weighting Method Implementations:
1. Equal Weight Distribution:
// Simple equal allocation
if weighting_mode == "Equal Weight"
weight_per_asset = 1.0 / selection_count
for i = 0 to selection_count - 1
array.push(weights, weight_per_asset)
2. Linear Dominance Scaling:
// Linear scaling based on dominance scores
if weighting_mode == "Linear Dominance"
// Normalize scores to 0-1 range
min_score = array.min(dominance_scores)
max_score = array.max(dominance_scores)
score_range = max_score - min_score
total_weight = 0.0
for i = 0 to selection_count - 1
score = array.get(dominance_scores, i)
normalized = (score - min_score) / score_range
weight = 1.0 + normalized * concentration_factor
array.push(weights, weight)
total_weight += weight
// Normalize to sum to 1.0
for i = 0 to selection_count - 1
current_weight = array.get(weights, i)
array.set(weights, i, current_weight / total_weight)
3. Conviction Score (Exponential):
// Exponential scaling for high conviction
if weighting_mode == "Conviction Score"
// Combine dominance score with DBBMD strength
conviction_scores =
for i = 0 to selection_count - 1
dominance = array.get(dominance_scores, i)
dbbmd_strength = array.get(dbbmd_values, i)
conviction = dominance + (dbbmd_strength - 50) / 25
array.push(conviction_scores, conviction)
// Exponential weighting
total_weight = 0.0
for i = 0 to selection_count - 1
conviction = array.get(conviction_scores, i)
normalized = normalize_score(conviction)
weight = math.pow(1 + normalized, concentration_factor)
array.push(weights, weight)
total_weight += weight
// Final normalization
normalize_weights(weights, total_weight)
Advanced Features:
Minimum Position Constraint: Prevents dust allocations below specified threshold
Concentration Factor: Adjustable parameter controlling weight distribution aggressiveness
Dominance Boost: Extra weight for assets exceeding specified dominance thresholds
Dynamic Rebalancing: Automatic weight recalculation on portfolio changes
7. Intelligent USD Management System
The system treats USD as a competing asset with its own dominance score, enabling sophisticated cash management.
USD Scoring Methodologies:
Smart Competition Mode (Recommended):
f_calculate_smart_usd_dominance() =>
usd_wins = 0
// USD beats assets in downtrends or weak uptrends
for i = 0 to active_count - 1
asset_state = get_asset_state(i)
asset_dbbmd = get_asset_dbbmd(i)
// USD dominates shorts and weak longs
if asset_state == -1 or (asset_state == 1 and asset_dbbmd < long_threshold)
usd_wins += 1
// Calculate Copeland-style score
base_score = usd_wins - (active_count - usd_wins)
// Boost during weak market conditions
qualified_assets = count_qualified_long_assets()
if qualified_assets <= active_count * 0.2
base_score := math.round(base_score * usd_boost_factor)
base_score
Auto Short Count Mode:
// USD dominance based on number of bearish assets
usd_dominance = count_assets_in_short_state()
// Apply boost during low activity
if qualified_long_count <= active_count * 0.2
usd_dominance := usd_dominance * usd_boost_factor
Regime-Based USD Positioning:
When the five-component regime filter indicates unfavorable conditions, the system automatically overrides all asset signals and positions 100% in USD, protecting capital during choppy markets.
8. Multi-Asset Infrastructure & Data Management
The system maintains comprehensive data structures for up to 39 assets simultaneously.
Data Collection Framework:
// Full OHLC data matrices (200 bars depth for performance)
var matrix open_data = matrix.new(39, 200, na)
var matrix high_data = matrix.new(39, 200, na)
var matrix low_data = matrix.new(39, 200, na)
var matrix close_data = matrix.new(39, 200, na)
// Real-time data collection
if barstate.isconfirmed
for i = 0 to active_count - 1
ticker = array.get(assets, i)
= request.security(ticker, timeframe.period,
[open , high , low , close ],
lookahead=barmerge.lookahead_off)
// Store in matrices with proper shifting
matrix.set(open_data, i, 0, nz(o, 0))
matrix.set(high_data, i, 0, nz(h, 0))
matrix.set(low_data, i, 0, nz(l, 0))
matrix.set(close_data, i, 0, nz(c, 0))
Asset Configuration:
The system comes pre-configured with 39 major cryptocurrency pairs across multiple exchanges:
Major Pairs: BTC, ETH, XRP, SOL, DOGE, ADA, etc.
Exchange Coverage: Binance, KuCoin, MEXC for optimal liquidity
Configurable Count: Users can activate 2-39 assets based on preferences
Custom Tickers: All asset selections are user-modifiable
---
⚙️ COMPREHENSIVE CONFIGURATION GUIDE
Portfolio Management Settings
Maximum Portfolio Size (1-10):
Conservative (1-2): High concentration, captures strong trends
Balanced (3-5): Moderate diversification with trend focus
Diversified (6-10): Lower concentration, broader market exposure
Dominance Clarity Threshold (0.1-1.0):
Low (0.1-0.4): Prefers diversification, holds multiple assets frequently
Medium (0.5-0.7): Balanced approach, context-dependent allocation
High (0.8-1.0): Concentration-focused, single asset preference
Signal Generation Parameters
DBBMD Thresholds:
// Standard configuration
primary_long_threshold = 71 // Conservative: 75+, Aggressive: 65-70
primary_short_threshold = 33 // Conservative: 25-30, Aggressive: 35-40
// BB System parameters
bb1_ma_len = 40 // Fast system: 20-50
bb1_sd_len = 65 // Stability: 50-80
bb2_ma_len = 8 // Trend: 60-100
bb2_sd_len = 66 // Sensitivity: 10-20
Risk Management Configuration
Alpha/Beta Filters:
Alpha Threshold: 0.0-2.0% (higher = more selective)
Beta Threshold: 0.5-2.0 (1.0+ for aggressive assets)
Calculation Periods: 20-50 bars (longer = more stable)
Regime Filter Settings:
Trending Threshold: 0.3-0.8 (higher = stricter trend requirements)
Component Lookbacks: 30-100 bars (balance responsiveness vs stability)
Enable/Disable: Individual component control for customization
---
📊 PERFORMANCE TRACKING & VISUALIZATION
Real-Time Dashboard Features
The compact dashboard provides essential information:
Current Holdings: Asset names and allocation percentages
Dominance Score: Current position's relative strength ranking
Active Assets: Qualified long signals vs total asset count
Returns: Total portfolio performance percentage
Maximum Drawdown: Peak-to-trough decline measurement
Trade Count: Total portfolio transitions executed
Regime Status: Current market condition assessment
Comprehensive Ranking Table
The left-side table displays detailed asset analysis:
Ranking Position: Numerical order by dominance score
Asset Symbol: Clean ticker identification with color coding
Dominance Score: Net wins minus losses in head-to-head comparisons
Win-Loss Record: Detailed breakdown of dominance relationships
DBBMD Reading: Current momentum percentage with threshold highlighting
Alpha/Beta Values: Fundamental analysis metrics when filters enabled
Portfolio Weight: Current allocation percentage in signal portfolio
Execution Status: Visual indicator of actual holdings vs signals
Visual Enhancement Features
Color-Coded Assets: 39 distinct colors for easy identification
Regime Background: Red tinting during unfavorable market conditions
Dynamic Equity Curve: Portfolio value plotted with position-based coloring
Status Indicators: Symbols showing execution vs signal states
---
🔍 ADVANCED TECHNICAL FEATURES
State Persistence System
The system maintains asset states across bars to prevent excessive switching:
// State tracking for each asset and ratio combination
var array asset_states = array.new(1560, 0) // 39 * 40 ratios
// State changes only occur on confirmed threshold breaks
if long_crossover and current_state != 1
current_state := 1
array.set(asset_states, asset_index, 1)
else if short_crossover and current_state != -1
current_state := -1
array.set(asset_states, asset_index, -1)
Transaction Cost Integration
Realistic modeling of trading expenses:
// Transaction cost calculation
transaction_fee = 0.4 // Default 0.4% (fees + slippage)
// Applied on portfolio transitions
if should_execute_transition
was_holding_assets = check_current_holdings()
will_hold_assets = check_new_signals()
// Charge fees for meaningful transitions
if transaction_fee > 0 and (was_holding_assets or will_hold_assets)
fee_amount = equity * (transaction_fee / 100)
equity -= fee_amount
total_fees += fee_amount
Dynamic Memory Management
Optimized data structures for performance:
200-Bar History: Sufficient for calculations while maintaining speed
Matrix Operations: Efficient storage and retrieval of multi-asset data
Array Recycling: Memory-conscious data handling for long-running backtests
Conditional Calculations: Skip unnecessary computations during initialization
12H 30 assets portfolio
---
🚨 SYSTEM LIMITATIONS & TESTING STATUS
CURRENT DEVELOPMENT PHASE: ACTIVE TESTING & OPTIMIZATION
This system represents cutting-edge algorithmic trading technology but remains in continuous development. Key considerations:
Known Limitations:
Requires significant computational resources for 39-asset analysis
Performance varies significantly across different market conditions
Complex parameter interactions may require extensive optimization
Slippage and liquidity constraints not fully modeled for all assets
No consideration for market impact in large position sizes
Areas Under Active Development:
Enhanced regime detection algorithms
Improved transaction cost modeling
Additional portfolio weighting methodologies
Machine learning integration for parameter optimization
Cross-timeframe analysis capabilities
---
🔒 ANTI-REPAINTING ARCHITECTURE & LIVE TRADING READINESS
One of the most critical aspects of any trading system is ensuring that signals and calculations are based on confirmed, historical data rather than current bar information that can change throughout the trading session. This system implements comprehensive anti-repainting measures to ensure 100% reliability for live trading .
The Repainting Problem in Trading Systems
Repainting occurs when an indicator uses current, unconfirmed bar data in its calculations, causing:
False Historical Signals: Backtests appear better than reality because calculations change as bars develop
Live Trading Failures: Signals that looked profitable in testing fail when deployed in real markets
Inconsistent Results: Different results when running the same indicator at different times during a trading session
Misleading Performance: Inflated win rates and returns that cannot be replicated in practice
GForge Anti-Repainting Implementation
This system eliminates repainting through multiple technical safeguards:
1. Historical Data Usage for All Calculations
// CRITICAL: All calculations use PREVIOUS bar data (note the offset)
= request.security(ticker, timeframe.period,
[open , high , low , close , close],
lookahead=barmerge.lookahead_off)
// Store confirmed previous bar OHLC for calculations
matrix.set(open_data, i, 0, nz(o1, 0)) // Previous bar open
matrix.set(high_data, i, 0, nz(h1, 0)) // Previous bar high
matrix.set(low_data, i, 0, nz(l1, 0)) // Previous bar low
matrix.set(close_data, i, 0, nz(c1, 0)) // Previous bar close
// Current bar close only for visualization
matrix.set(current_prices, i, 0, nz(c0, 0)) // Live price display
2. Confirmed Bar State Processing
// Only process data when bars are confirmed and closed
if barstate.isconfirmed
// All signal generation and portfolio decisions occur here
// using only historical, unchanging data
// Shift historical data arrays
for i = 0 to active_count - 1
for bar = math.min(data_bars, 199) to 1
// Move confirmed data through historical matrices
old_data = matrix.get(close_data, i, bar - 1)
matrix.set(close_data, i, bar, old_data)
// Process new confirmed bar data
calculate_all_signals_and_dominance()
3. Lookahead Prevention
// Explicit lookahead prevention in all security calls
request.security(ticker, timeframe.period, expression,
lookahead=barmerge.lookahead_off)
// This ensures no future data can influence current calculations
// Essential for maintaining signal integrity across all timeframes
4. State Persistence with Historical Validation
// Asset states only change based on confirmed threshold breaks
// using historical data that cannot change
var array asset_states = array.new(1560, 0)
// State changes use only confirmed, previous bar calculations
if barstate.isconfirmed
=
f_calculate_enhanced_dbbmd(confirmed_price_array, ...)
// Only update states after bar confirmation
if long_crossover_confirmed and current_state != 1
current_state := 1
array.set(asset_states, asset_index, 1)
Live Trading vs. Backtesting Consistency
The system's architecture ensures identical behavior in both environments:
Backtesting Mode:
Uses historical offset data for all calculations
Processes confirmed bars with `barstate.isconfirmed`
Maintains identical signal generation logic
No access to future information
Live Trading Mode:
Uses same historical offset data structure
Waits for bar confirmation before signal updates
Identical mathematical calculations and thresholds
Real-time price display without affecting signals
Technical Implementation Details
Data Collection Timing
// Example of proper data collection timing
if barstate.isconfirmed // Wait for bar to close
// Collect PREVIOUS bar's confirmed OHLC data
for i = 0 to active_count - 1
ticker = array.get(assets, i)
// Get confirmed previous bar data (note offset)
=
request.security(ticker, timeframe.period,
[open , high , low , close , close],
lookahead=barmerge.lookahead_off)
// ALL calculations use prev_* values
// current_close only for real-time display
portfolio_calculations_use_previous_bar_data()
Signal Generation Process
// Signal generation workflow (simplified)
if barstate.isconfirmed and data_bars >= minimum_required_bars
// Step 1: Calculate DBBMD using historical price arrays
for i = 0 to active_count - 1
historical_prices = get_confirmed_price_history(i) // Uses offset data
= calculate_dbbmd(historical_prices)
update_asset_state(i, state)
// Step 2: Build dominance matrix using confirmed data
calculate_dominance_relationships() // All historical data
// Step 3: Generate portfolio signals
new_portfolio = generate_target_portfolio() // Based on confirmed calculations
// Step 4: Compare with previous signals for changes
if portfolio_signals_changed()
execute_portfolio_transition()
Verification Methods for Users
Users can verify the anti-repainting behavior through several methods:
1. Historical Replay Test
Run the indicator on historical data
Note signal timing and portfolio changes
Replay the same period - signals should be identical
No retroactive changes in historical signals
2. Intraday Consistency Check
Load indicator during active trading session
Observe that previous day's signals remain unchanged
Only current day's final bar should show potential signal changes
Refresh indicator - historical signals should be identical
Live Trading Deployment Considerations
Data Quality Assurance
Exchange Connectivity: Ensure reliable data feeds for all 39 assets
Missing Data Handling: System includes safeguards for data gaps
Price Validation: Automatic filtering of obvious price errors
Timeframe Synchronization: All assets synchronized to same bar timing
Performance Impact of Anti-Repainting Measures
The robust anti-repainting implementation requires additional computational resources:
Memory Usage: 200-bar historical data storage for 39 assets
Processing Delay: Signals update only after bar confirmation
Calculation Overhead: Multiple historical data validations
Alert Timing: Slight delay compared to current-bar indicators
However, these trade-offs are essential for reliable live trading performance and accurate backtesting results.
Critical: Equity Curve Anti-Repainting Architecture
The most sophisticated aspect of this system's anti-repainting design is the temporal separation between signal generation and performance calculation . This creates a realistic trading simulation that perfectly matches live trading execution.
The Timing Sequence
// STEP 1: Store what we HELD during the current bar (for performance calc)
if barstate.isconfirmed
// Record positions that were active during this bar
array.clear(held_portfolio)
array.clear(held_weights)
for i = 0 to array.size(execution_portfolio) - 1
array.push(held_portfolio, array.get(execution_portfolio, i))
array.push(held_weights, array.get(execution_weights, i))
// STEP 2: Calculate performance based on what we HELD
portfolio_return = 0.0
for i = 0 to array.size(held_portfolio) - 1
held_asset = array.get(held_portfolio, i)
held_weight = array.get(held_weights, i)
// Performance from current_price vs reference_price
// This is what we ACTUALLY earned during this bar
if held_asset != "USD"
current_price = get_current_price(held_asset) // End of bar
reference_price = get_reference_price(held_asset) // Start of bar
asset_return = (current_price - reference_price) / reference_price
portfolio_return += asset_return * held_weight
// STEP 3: Apply return to equity (realistic timing)
equity := equity * (1 + portfolio_return)
// STEP 4: Generate NEW signals for NEXT period (using confirmed data)
= f_generate_target_portfolio()
// STEP 5: Execute transitions if signals changed
if signal_changed
// Update execution_portfolio for NEXT bar
array.clear(execution_portfolio)
array.clear(execution_weights)
for i = 0 to array.size(new_signal_portfolio) - 1
array.push(execution_portfolio, array.get(new_signal_portfolio, i))
array.push(execution_weights, array.get(new_signal_weights, i))
Why This Prevents Equity Curve Repainting
Performance Attribution: Returns are calculated based on positions that were **actually held** during each bar, not future signals
Signal Timing: New signals are generated **after** performance calculation, affecting only **future** bars
Realistic Execution: Mimics real trading where you earn returns on current positions while planning future moves
No Retroactive Changes: Once a bar closes, its performance contribution to equity is permanent and unchangeable
The One-Bar Offset Mechanism
This system implements a critical one-bar timing offset:
// Bar N: Performance Calculation
// ================================
// 1. Calculate returns on positions held during Bar N
// 2. Update equity based on actual holdings during Bar N
// 3. Plot equity point for Bar N (based on what we HELD)
// Bar N: Signal Generation
// ========================
// 4. Generate signals for Bar N+1 (using confirmed Bar N data)
// 5. Send alerts for what will be held during Bar N+1
// 6. Update execution_portfolio for Bar N+1
// Bar N+1: The Cycle Continues
// =============================
// 1. Performance calculated on positions from Bar N signals
// 2. New signals generated for Bar N+2
Alert System Timing
The alert system reflects this sophisticated timing:
Transaction Cost Realism
Even transaction costs follow realistic timing:
// Fees applied when transitioning between different portfolios
if should_execute_transition
// Charge fees BEFORE taking new positions (realistic timing)
if transaction_fee > 0
fee_amount = equity * (transaction_fee / 100)
equity -= fee_amount // Immediate cost impact
total_fees += fee_amount
// THEN update to new portfolio
update_execution_portfolio(new_signals)
transitions += 1
// Fees reduce equity immediately, affecting all future calculations
// This matches real trading where fees are deducted upon execution
LIVE TRADING CERTIFICATION:
This system has been specifically designed and tested for live trading deployment. The comprehensive anti-repainting measures ensure that:
Backtesting results accurately represent real trading potential
Signals are generated using only confirmed, historical data
No retroactive changes can occur to previously generated signals
Portfolio transitions are based on reliable, unchanging calculations
Performance metrics reflect realistic trading outcomes including proper timing
Users can deploy this system with confidence that live trading results will closely match backtesting performance, subject to normal market execution factors such as slippage and liquidity.
---
⚡ ALERT SYSTEM & AUTOMATION
The system provides comprehensive alerting for automation and monitoring:
Available Alert Conditions
Portfolio Signal Change: Triggered when new portfolio composition is generated
Regime Override Active: Alerts when market regime forces USD positioning
Individual Asset Signals: Can be configured for specific asset transitions
Performance Thresholds: Drawdown or return-based notifications
---
📈 BACKTESTING & PERFORMANCE ANALYSIS
8 Comprehensive Metrics Tracking
The system maintains detailed performance statistics:
Equity Curve: Real-time portfolio value progression
Returns Calculation: Total and annualized performance metrics
Drawdown Analysis: Peak-to-trough decline measurements
Transaction Counting: Portfolio transition frequency
Fee Tracking: Cumulative transaction cost impact
Win Rate Analysis: Success rate of position changes
Backtesting Configuration
// Backtesting parameters
initial_capital = 10000.0 // Starting capital
use_custom_start = true // Enable specific start date
custom_start = timestamp("2023-09-01") // Backtest beginning
transaction_fee = 0.4 // Combined fees and slippage %
// Performance calculation
total_return = (equity - initial_capital) / initial_capital * 100
current_drawdown = (peak_equity - equity) / peak_equity * 100
---
🔧 TROUBLESHOOTING & OPTIMIZATION
Common Configuration Issues
Insufficient Data: Ensure 100+ bars available before start date
[*} Not Compiling: Go on an asset's price chart with 2 or 3 years of data to
make the system compile or just simply reapply the indicator again
Too Many Assets: Reduce active count if experiencing timeouts
Regime Filter Too Strict: Lower trending threshold if always in USD
Excessive Switching: Increase MD multiplier or adjust thresholds
---
💡 USER FEEDBACK & ENHANCEMENT REQUESTS
The continuous evolution of this system depends heavily on user experience and community feedback. Your insights will help motivate me for new improvements and new feature developments.
---
⚖️ FINAL COMPREHENSIVE RISK DISCLAIMER
TRADING INVOLVES SUBSTANTIAL RISK OF LOSS
This indicator is a sophisticated analytical tool designed for educational and research purposes. Important warnings and considerations:
System Limitations:
No algorithmic system can guarantee profitable outcomes
Complex systems may fail in unexpected ways during extreme market events
Historical backtesting does not account for all real-world trading challenges
Slippage, liquidity constraints, and market impact can significantly affect results
System parameters require careful optimization and ongoing monitoring
The creator and distributor of this indicator assume no liability for any financial losses, system failures, or adverse outcomes resulting from its use. This tool is provided "as is" without any warranties, express or implied.
By using this indicator, you acknowledge that you have read, understood, and agreed to assume all risks associated with algorithmic trading and cryptocurrency investments.
ElectronixTrader - Multi-Timeframe S/RThis script is a powerful multi-timeframe tool designed to help traders identify key support and resistance levels for both intraday and swing trading. It's a custom-built indicator that projects Bollinger Band levels from a higher timeframe onto your current chart, providing a unique perspective to filter out market noise and focus on high-probability trading zones.
The core principle is that significant price levels established on a daily or weekly chart can act as powerful support and resistance points on a lower, intraday timeframe. This helps traders align their entries and exits with the broader market context.
Key Features:
Dynamic Levels: The support and resistance lines are not static. They are automatically calculated and updated at the start of each new higher-timeframe candle, providing fresh and relevant levels.
Multi-Timeframe Capability: Easily switch the input timeframe (e.g., Daily to Weekly) to adapt the indicator for your trading style, from intraday to swing trading.
Disclaimer:
Trading involves significant risk, and past performance is not a guarantee of future results. This tool is for informational and educational purposes only and should be used in conjunction with your own risk management and trading plan.
A Note on Originality:
This indicator uses a unique application of built-in functions to project dynamic, higher-timeframe levels. While it is based on classic concepts, the specific methodology of projecting and consistently plotting these zones across different timeframes provides a unique and actionable tool for traders.
ADRIXAUUSD - BUY/SELL (MultiTF Strategy + Labels + Alerts)This strategy is designed for XAU/USD (Gold) and can be tested on multiple timeframes (15m, 1H, 4H).
It combines several confluences for high-probability trades:
🔹 EMA Cross (Fast/Slow) to capture trend direction
🔹 Fibonacci Golden Zone retracements
🔹 Fair Value Gaps (FVG) for imbalance confirmation
🔹 ATR-based Stop Loss and Take Profit for adaptive risk management
The script works as both a backtesting strategy and a live indicator:
✅ Strategy Tester shows profit factor, win rate, and performance
✅ On-chart labels with "BUY" and "SELL"
✅ Built-in alerts for real-time notifications
Presets included:
- 15m Scalping (short-term, more trades)
- 1H Intraday (balanced)
- 4H Swing (longer-term, fewer but stronger setups)
Dual EMA (EMA Average)Simple EMA visual with 2 EMAs + Average
Includes:
2 EMAs with timeframe settings
EMA Midline - an average of EMAs
shaded space between EMA lines
First Touch Orb Weaver (Precision Opening Range Breakout Tool)🕸️ First Touch Orb Weaver
Precision Opening Range Breakout Tool
The First Touch Orb Weaver captures and tracks the most important part of the trading day — the Opening Range. Like a spider’s web stretched across the market, Orb Weaver identifies the high and low of your chosen opening window, then waits patiently for price to make its first decisive move.
Custom Sessions: Choose your own time windows — default is 06:30–06:45 PT, but you can expand to 30-minute or multiple sessions (London, NY, custom).
Dynamic Zones: Shaded ORB box and extendable high/low lines keep you focused on key levels all day.
Breakout Alerts & Arrows: Get visual arrows and one-per-day alerts the moment price breaks above or below the range.
Smart Labels: Automatic high/low price labels that you can shift left or right for clarity.
Multi-Session Ready: Track two separate ORBs (e.g., London and New York) on the same chart with customizable colors and opacities.
Time Zone Selector: Works seamlessly across exchanges — lock your ORB to PT, NY, London, Madrid, or just follow the chart’s exchange.
Like the Predator hunts with speed, the Orb Weaver hunts with patience — sitting at the edge of the market’s web, waiting for the first breakout that defines the day’s momentum.
AM PRO – KDJ Long v3.0 (TV×BingX×Auto)AM Pro – Long Only v3.0 • TradingView Publication
AM Pro – Long Only v3.0 • TradingView 發表說明
Backtest (hypothetical), ETHUSDT.P 5m, 2024-09-18→2025-09-18, fee 0.05%, slippage 1t: Equity +30.2%, CAGR 100%, Win 77%.
歷史回測(模擬),ETHUSDT.P 5分,2024-09-18→2025-09-18,手續費 0.05%,滑點 1跳:權益 +30.2%,年化 100%,勝率77%。
Overview
概覽
This strategy automates long-only entries by blending KDJ momentum, MACD trend confirmation, EMA structure, ADX strength, OB/FVG pullbacks, S/R touches, and a double-bottom chart pattern pack.
本策略結合 KDJ 動能、MACD 趨勢確認、EMA 結構、ADX 強度、OB/FVG 回踩、支撐阻力觸價,以及雙底圖形模組,實現「只做多」自動進場。
It is designed for crypto perpetuals but works on any symbol/timeframe; presets are included for quick ETH deployment. For other symbols/timeframes, parameters may differ and should be tuned; this strategy ships with ETH as the default preset.
主要面向加密永續合約,亦適用任意商品與週期;內建 ETH 快速部署預設。其他商品或週期之參數可能不同,請自行調整;本策略預設以 ETH 為主。
How it works
運作原理
Entries are tiered into channels: Core KDJ trend longs, OB/FVG touch longs, S/R bounce longs, CP double-bottom break, EMA pullback, VWAP reclaim, and liquidity sweep-reclaim.
訊號分層:KDJ 核心順勢、OB/FVG 觸價、S/R 觸價不破、圖形雙底突破、EMA 回踩、VWAP 收復、以及流動性掃低回收。
Signals are filtered by “trend-only” (EMA alignment, MACD>0, ADX≥閾值) plus lite guards (over-extension, candle body, DI edge).
訊號受「僅順勢」(EMA 排列、MACD>0、ADX≥門檻) 與輕量濾網(過度延伸、實體大小、DI 差距)共同篩選。
A session filter lets you restrict trading windows (up to three sessions) for different market regimes.
時段過濾可設定三段交易窗口以適配不同盤態。
Risk & exits
風險與出場
Stops use ATR, swing-low, or “ATR_or_Swing”, with optional TP cap by ATR or %.
止損可選 ATR、近端擺動低點或兩者取大,並可用 ATR 或百分比限制 TP 上限。
Breakeven and trailing are dynamic: BE arms after a target R:R, then a highest-high minus ATRx trail takes over.
保本與移動止損為動態:達到指定 R:R 後啟動保本,再以「最高價回看 − ATRx」進行追蹤。
Same-bar exits are configurable to avoid instant stop/limit on the entry candle if desired.
可設定是否允許同根 K 線觸發停利/停損以避免入場即出場。
Multi-timeframe structure
多週期結構
A trend pack (5/15/1H or 15/60/4H) provides mid/high-TF trendlines and context for touch-zones.
多週期組合(5/15/1H 或 15/60/4H)提供中/高週期趨勢線與觸價區域參考。
EMA200 bias, EMA21 proximity, and HTF trendline distance (≤ ATRx) act as structure gates.
EMA200 位階、EMA21 鄰近度與高週期趨勢線距離(≤ ATRx)共同作為結構門檻。
Chart patterns & liquidity
圖形與流動性
The CP module detects valid double bottoms with ATR-tolerant symmetry and triggers on a buffered neckline break.
圖形模組偵測 ATR 容差對稱的雙底,並於頸線加緩衝突破時觸發。
A sweep setup buys failed breakdowns: pierce a prior low then close back above with trend confluence.
掃低回收:先掃過前低再收回,上方條件符合趨勢後進場。
Presets
預設
ETH preset tightens several gates (ADX/DI/J/KDJ timing) for plug-and-play deployment.
ETH 預設收緊 ADX/DI/J/KDJ 時序門檻,開箱即用。
Position sizing
部位大小
Choose base/quote/percent/percent_local to size orders; percent_local references a local USD account value.
提供 base/quote/percent/percent_local 四種下單型式;percent_local 以本地 USD 帳戶估值計算。
Automation with TradingView + BingX
透過 TradingView + BingX 自動化
This strategy emits JSON messages via alert_message on entries/exits; use TradingView alerts with “Any alert() function call”.
策略在進出場透過 alert_message 輸出 JSON;請在 TradingView 設定警示時選擇「Any alert() function call」。
Paste your BingX bot Webhook URL into the alert’s Webhook URL field to route orders to the exchange.
將 BingX 機器人提供的 Webhook URL 貼入警示的 Webhook 欄位,即可把指令送往交易所。
Select your preferred sizing mode, leverage, and symbol mapping in the panel before starting live alerts.
啟用前於面板選好下單型式、槓桿與交易對映射,然後啟動即時警示。
When an entry triggers, TradingView sends a “buy” payload with price, qty, SL/TP; when an exit triggers, it sends a “flat/exit” payload.
當入場觸發時,TV 會送出含價格、數量、SL/TP 的「買入」訊息;當出場觸發時,會送出「平倉/出場」訊息。
BingX receives the payload and places/updates orders accordingly, achieving fully automated long-only execution.
BingX 接收訊息後自動下單/更新委託,完成全自動的只做多執行。
Plotting & labels
視覺標示
EMA200 is plotted; entry types A/B/CP/SR/D/E/F are tagged on chart with distinct colors for quick audit.
圖上繪出 EMA200;A/B/CP/SR/D/E/F 各類進場以不同顏色標示,便於回看驗證。
Optional TP/SL labels print the live targets used by the Webhook messages.
可選擇顯示 TP/SL 標籤,與 Webhook 內使用的目標一致。
Suggested workflow
建議流程
Backtest on your market/timeframe → tune session and filters → enable alerts to Webhook → monitor broker logs.
先回測目標市場/週期 → 調整時段與濾網 → 啟用 Webhook 警示 → 監看交易所日誌。
Start conservative sizing and gradually scale as stability is verified; never disable SL/TP in production.
初期使用保守倉位並逐步擴大;實盤請勿關閉 SL/TP。
Notes & disclaimer
注意與免責
Execution, slippage, and latency depend on market/liquidity and your alert/Webhook reliability.
成交、滑點與延遲取決於市場流動性與您的警示/Webhook 穩定度。
This is not financial advice; test thoroughly and trade responsibly.
本文非投資建議;請充分測試並審慎交易。
Optimized for ETH; parameters are micro-tuned for the 5-minute chart to maximize effectiveness.
本版針對 ETH 做參數微調,最佳適用於 5 分鐘圖表以獲得最大效益。
Other symbols or timeframes may need retuning; results degrade if used unchanged.
套用到其他商品或週期可能需重新調參,直接套用可能降低效果。
Use the ETH preset for plug-and-play on 5m; switch to Generic before adapting to non-ETH markets.
5 分鐘圖請使用 ETH 預設可即插即用;移轉到非 ETH 市場前請改為 Generic 再調整。
Elite Zone Master Pro - Advanced Multi-Session Trading System
🚀 Elite Zone Master Pro - Advanced Multi-Session Trading System
🎯 PROFESSIONAL TRADING SUITE FOR SERIOUS TRADERS
Transform your trading with this comprehensive, institutional-grade indicator that combines Market Zone Analysis, Opening Range Breakouts, and Fair Value Gap Detection into one powerful tool.
⭐ KEY FEATURES
🌍 Multi-Session Market Zones
US Market Zone - Purple highlight
EU Market Zone - Green highlight
🌏 Asia Market Zone - Red highlight
📊 Visual zone tracking with customizable colors and opacity
🎨 Dynamic zone boxes that adapt to price action
🎯 Advanced Range System
🇺🇸 US Session Range - Market opening volatility
🇪🇺 EU Session Range - European market momentum
🌏 Asian Session Range - Asian market dynamics
⚙️ Custom Session - Define your own trading hours
🕐 Multi-timezone support (UTC-10 to UTC+13)
🚀 Intelligent Breakout Signals
📈 Bullish Breakouts - Green signals above resistance
📉 Bearish Breakouts - Red signals below support
🧠 Smart Bias Mode - Range-direction aware signals
🎨 Customizable signal sizes and colors
🔔 Built-in alert system for automated notifications
⚡ Fair Value Gap (FVG) Detection
📊 Automatic FVG identification with precision algorithms
🎯 Bullish & Bearish FVG zones with distinct coloring
📏 Adjustable threshold percentages for sensitivity control
🔄 Auto-threshold mode for dynamic adaptation
📋 FVG labels and midlines for clear visualization
✨ Smart mitigation tracking - gaps disappear when filled
📈 Session Moving Average
📊 EMA, SMA, RMA, WMA, VWMA options
🎯 Session-based calculations for accurate signals
🎨 Customizable colors and display options
🔧 PROFESSIONAL CUSTOMIZATION
🎨 Visual Controls
🌈 Full color customization for all elements
📊 Adjustable opacity for zone backgrounds
📏 Scalable text sizes (Tiny to Huge)
👁️ Show/hide historical data option
🖼️ Clean, professional chart appearance
⚙️ Advanced Settings
🕐 Flexible timezone configuration
📊 Multiple timeframe support
🎯 Precision threshold controls
🔄 Dynamic range calculations
📋 Comprehensive tooltip information
🎯 TRADING APPLICATIONS
📈 Day Trading
⚡ Quick range breakout entries
🎯 Session-based momentum plays
📊 FVG scalping opportunities
📊 Swing Trading
🌍 Multi-session analysis
📈 Range expansion setups
⚡ FVG retracement entries
🔍 Market Analysis
🌍 Global session overlaps
📊 Volatility assessment
🎯 Key level identification
🛡️ BUILT-IN SAFETY FEATURES
⚠️ Error handling for invalid timeframes
🔒 Memory optimization for smooth performance
📊 Automatic cleanup of historical elements
⚡ Efficient array management
🎓 WHO IS THIS FOR?
✅ Professional day traders seeking edge in session transitions
✅ Swing traders analyzing multi-session dynamics
✅ Scalpers hunting FVG and breakout opportunities
✅ Institutional traders requiring comprehensive market analysis
✅ Serious retail traders wanting professional-grade tools
🚀 GET STARTED
📊 Add to your chart - Works on all timeframes under 1D
⚙️ Configure your sessions - Enable US, EU, or Asian ranges
🎨 Customize visuals - Match your trading style
🔔 Set up alerts - Never miss a breakout
📈 Start trading - With institutional-grade precision
💎 WHAT MAKES THIS SPECIAL?
Unlike basic range indicators, Elite Zone Master Pro provides:
🌍 Global session awareness
⚡ Advanced FVG technology
🧠 Intelligent signal filtering
🎨 Professional presentation
⚙️ Institutional-grade customization
📞 SUPPORT & UPDATES
This indicator is actively maintained with regular updates and improvements. For questions or feature requests, feel free to reach out!
OB Retest + BOS + RSI (Cumulative Impulse)Find the last OB before a consecutive bars break the previous high or low and enter upon retest of this OB with RSI confirmation