Asset Rotation System [InvestorUnknown]Overview
This system creates a comprehensive trend "matrix" by analyzing the performance of six assets against both the US Dollar and each other. The objective is to identify and hold the asset that is currently outperforming all others, thereby focusing on maintaining an investment in the most "optimal" asset at any given time.
- - - Key Features - - -
1. Trend Classification:
The system evaluates the trend for each of the six assets, both individually against USD and in pairs (assetX/assetY), to determine which asset is currently outperforming others.
Utilizes five distinct trend indicators: RSI (50 crossover), CCI, SuperTrend, DMI, and Parabolic SAR.
Users can customize the trend analysis by selecting all indicators or choosing a single one via the "Trend Classification Method" input setting.
2. Backtesting:
Calculates an equity curve for each asset and for the system itself, which assumes holding only the asset deemed optimal at any time.
Customizable start date for backtesting; by default, it begins either 5000 bars ago (the maximum in TradingView) or at the inception of the youngest asset included, whichever is shorter. If the youngest asset's history exceeds 5000 bars, the system uses 5000 bars to prevent errors.
The equity curve is dynamically colored based on the asset held at each point, with this coloring also reflected on the chart via barcolor().
Performance metrics like returns, standard deviation of returns, Sharpe, Sortino, and Omega ratios, along with maximum drawdown, are computed for each asset and the system's equity curve.
3 Alerts:
Supports alerts for when a new, confirmed optimal asset is identified. However, due to TradingView limitations, the specific asset cannot be included in the alert message.
- - - Usage - - -
1. Select Assets/Tickers:
Choose which assets or tickers you want to include in the rotation system. Ensure that all selected tickers are denominated in USD to maintain consistency in analysis.
2. Configure Trend Classification:
Decide on the trend classification method from the available options (RSI, CCI, SuperTrend, DMI, or Parabolic SAR, All) and adjust the settings to your preferences. This customization allows you to tailor the system to different market conditions or your specific trading strategy.
3. Utilize Backtesting for Calibration:
Use the backtesting results, including equity curves and performance metrics, to fine-tune your chosen trend indicators.
Be cautious not to overemphasize performance maximization, as this can lead to overfitting. The goal is to achieve a robust system that performs well across various market conditions, rather than just optimizing for past data.
- - - Parameters - - -
Tickers:
Asset 1: Select the symbol for the first asset.
Asset 2: Select the symbol for the second asset.
Asset 3: Select the symbol for the third asset.
Asset 4: Select the symbol for the fourth asset.
Asset 5: Select the symbol for the fifth asset.
Asset 6: Select the symbol for the sixth asset.
General Settings:
Trend Classification Method: Choose from RSI, CCI, SuperTrend, DMI, PSAR, or "All" to determine how trends are analyzed.
Use Custom Starting Date for Backtest: Toggle to use a custom date for beginning the backtest.
Custom Starting Date: Set the custom start date for backtesting.
Plot Perf. Metrics Table: Option to display performance metrics in a table on the chart.
RSI (Relative Strength Index):
RSI Source: Choose the price data source for RSI calculation.
RSI Length: Set the period for the RSI calculation.
CCI (Commodity Channel Index):
CCI Source: Select the price data source for CCI calculation.
CCI Length: Determine the period for the CCI.
SuperTrend:
SuperTrend Factor: Adjust the sensitivity of the SuperTrend indicator.
SuperTrend Length: Set the period for the SuperTrend calculation.
DMI (Directional Movement Index):
DMI Length: Define the period for DMI calculations.
Parabolic SAR:
PSAR Start: Initial acceleration factor for the Parabolic SAR.
PSAR Increment: Increment value for the acceleration factor.
PSAR Max Value: Maximum value the acceleration factor can reach.
Notes/Recommendations:
While this system is operational, it's important to recognize that it relies on "basic" indicators, which may not be ideal for generating trading signals on their own. I strongly suggest that users delve into the code to grasp the underlying logic of the system. Consider customizing it by integrating more sophisticated and higher-quality trend-following indicators to enhance its performance and reliability.
Disclaimer:
This system's backtest results are historical and do not predict future performance. Use for educational purposes only; not investment advice.
Statistics
[COG] Advanced School Run StrategyAdvanced School Run Strategy (ASRS) – Explanation
Overview: The Advanced School Run Strategy (ASRS) is an intraday trading approach designed to identify breakout opportunities based on specific time and price patterns. This script applies the concepts of the Advanced School Run Strategy as outlined in Tom Hougaard's research, adapted to work seamlessly on TradingView charts. It leverages 5-minute candlestick data to set actionable breakout levels and provides traders with visual cues and alerts to make informed decisions.
Features:
Dynamic Breakout Levels: Automatically calculates high and low levels based on the market's behavior during the initial trading minutes.
Custom Visualization: Highlights breakout zones with customizable colors and transparency, providing clear visual feedback for bullish and bearish breakouts.
Configurable Alerts: Includes alert conditions for both bullish and bearish breakouts, ensuring traders never miss a trading opportunity.
Reset Logic: Resets breakout levels daily at the market open to ensure accurate signal generation for each session.
How It Works:
The script identifies key levels (high and low) after a configurable number of minutes from the market open (default: 25 minutes).
If the price breaks above the high level or below the low level, a corresponding breakout is detected.
The script draws breakout zones on the chart and triggers alerts based on the breakout direction.
All levels and signals reset at the start of each new trading session, maintaining relevance to current market conditions.
Customization Options:
Line and box colors for bullish and bearish breakouts.
Transparency levels for breakout visualizations.
Alert settings to receive notifications for detected breakouts.
Acknowledgment: This script is inspired by Tom Hougaard's Advanced School Run Strategy. The methodology has been translated into Pine Script for TradingView users, adhering to TradingView’s policies and community guidelines. This script does not redistribute proprietary content from the original research but implements the principles for educational and analytical purposes.
Anomaly DetectorPrice Anomaly Detector
This is a script designed to identify unusual price movements. By analyzing deviations from typical price behavior, this tool helps traders spot potential trading opportunities and manage risks effectively.
---
Features
- Anomaly Detection: Flags price points that significantly deviate from the average.
- Visual Indicators: Highlights anomalies with background colors and cross markers.
- Customizable Settings: Adjust sensitivity and window size to match your trading strategy.
- Real-Time Analysis: Continuously updates anomaly signals as new data is received.
---
Usage
After adding the indicator to your chart:
1. View Anomalies: Red backgrounds and cross markers indicate detected anomalies.
2. Adjust Settings: Modify the `StdDev Threshold` and `Window Length` to change detection sensitivity.
3. Interpret Signals:
- Red Background: Anomaly detected on that bar.
- Red Cross: Specific point of anomaly.
---
Inputs
- StdDev Threshold: Higher values reduce anomaly sensitivity. Default: 2.0.
- Window Length: Larger windows smooth data, reducing false positives. Default: 20.
---
Limitations
- Approximation Method: Uses a simple method to detect anomalies, which may not capture all types of unusual price movements.
- Performance: Extremely large window sizes may impact script performance.
- Segment Detection: Does not group consecutive anomalies into segments.
---
Disclaimer : This tool is for educational purposes only. Trading involves risk, and you should perform your own analysis before making decisions. The author is not liable for any losses incurred.
Rolling CAGRRolling CAGR (Compound Annual Growth Rate) Indicator
This indicator calculates and plots the rolling Compound Annual Growth Rate (CAGR) for any selected data source. CAGR represents the mean annual growth rate of an investment over a specified time period, taking into account the effect of compounding.
Features:
• Customizable data source (default: close price)
• Adjustable time period in years
• Configurable trading days per year (252 for stocks, 365 for crypto)
• Results displayed as percentage values
• Works on daily timeframes
Input Parameters:
• Data Source: Select the price or indicator data to analyze
• Number of Years: Set the lookback period for CAGR calculation
• Trading Days in a Year: Adjust based on market type (252 for stocks, 365 for crypto)
Usage:
Perfect for analyzing long-term growth rates and comparing investment performance across different periods. The indicator provides a rolling view of compound growth, helping traders and investors understand the sustained growth rate of an asset over their chosen timeframe.
Note: This indicator is designed for daily timeframes as CAGR calculations are most meaningful over longer periods.
Formula Used:
CAGR = (End Value / Start Value)^(1/number of years) - 1
Quantitative Breakout Bands (AIBitcoinTrend)Quantitative Breakout Bands (AIBitcoinTrend) is an advanced indicator designed to adapt to dynamic market conditions by utilizing a Kalman filter for real-time data analysis and trend detection. This innovative tool empowers traders to identify price breakouts, evaluate trends, and refine their trading strategies with precision.
👽 What Are Quantitative Breakout Bands, and Why Are They Unique?
Quantitative Breakout Bands combine advanced filtering techniques (Kalman Filters) with statistical measures such as mean absolute error (MAE) to create adaptive price bands. These bands adjust to market conditions dynamically, providing insights into volatility, trend strength, and breakout opportunities.
What sets this indicator apart is its ability to incorporate both position (price) and velocity (rate of price change) into its calculations, making it highly responsive yet smooth. This dual consideration ensures traders get reliable signals without excessive lag or noise.
👽 The Math Behind the Indicator
👾 Kalman Filter Estimation:
At the core of the indicator is the Kalman Filter, a recursive algorithm used to predict the next state of a system based on past observations. It incorporates two primary elements:
State Prediction: The indicator predicts future price (position) and velocity based on previous values.
Error Covariance Adjustment: The process and measurement noise parameters refine the prediction's accuracy by balancing smoothness and responsiveness.
👾 Breakout Bands Calculation:
The breakout bands are derived from the mean absolute error (MAE) of price deviations relative to the filtered trendline:
float upperBand = kalmanPrice + bandMultiplier * mae
float lowerBand = kalmanPrice - bandMultiplier * mae
The multiplier allows traders to adjust the sensitivity of the bands to market volatility.
👾 Slope-Based Trend Detection:
A weighted slope calculation measures the gradient of the filtered price over a configurable window. This slope determines whether the market is trending bullish, bearish, or neutral.
👾 Trailing Stop Mechanism:
The trailing stop employs the Average True Range (ATR) to calculate dynamic stop levels. This ensures positions are protected during volatile moves while minimizing premature exits.
👽 How It Adapts to Price Movements
Dynamic Noise Calibration: By adjusting process and measurement noise inputs, the indicator balances smoothness (to reduce noise) with responsiveness (to adapt to sharp price changes).
Trend Responsiveness: The Kalman Filter ensures that trend changes are quickly identified, while the slope calculation adds confirmation.
Volatility Sensitivity: The MAE-based bands expand and contract in response to changes in market volatility, making them ideal for breakout detection.
👽 How Traders Can Use the Indicator
👾 Breakout Detection:
Bullish Breakouts: When the price moves above the upper band, it signals a potential upward breakout.
Bearish Breakouts: When the price moves below the lower band, it signals a potential downward breakout.
The trailing stop feature offers a dynamic way to lock in profits or minimize losses during trending moves.
👾 Trend Confirmation:
The color-coded Kalman line and slope provide visual cues:
Bullish Trend: Positive slope, green line.
Bearish Trend: Negative slope, red line.
👽 Why It’s Useful for Traders
Dynamic and Adaptive: The indicator adjusts to changing market conditions, ensuring relevance across timeframes and asset classes.
Noise Reduction: The Kalman Filter smooths price data, eliminating false signals caused by short-term noise.
Comprehensive Insights: By combining breakout detection, trend analysis, and risk management, it offers a holistic trading tool.
👽 Indicator Settings
Process Noise (Position & Velocity): Adjusts filter responsiveness to price changes.
Measurement Noise: Defines expected price noise for smoother trend detection.
Slope Window: Configures the lookback for slope calculation.
Lookback Period for MAE: Defines the sensitivity of the bands to volatility.
Band Multiplier: Controls the band width.
ATR Multiplier: Adjusts the sensitivity of the trailing stop.
Line Width: Customizes the appearance of the trailing stop line.
Disclaimer: This indicator is designed for educational purposes and does not constitute financial advice. Please consult a qualified financial advisor before making investment decisions.
Smart Money Breakout Signals [AlgoAlpha]Introducing the Smart Money Breakout Signals, a cutting-edge trading indicator designed to identify key structural shifts and breakout opportunities in the market. This tool leverages a blend of smart money concepts like Break of Structure (BOS) and Change of Character (CHoCH) to provide traders with actionable insights into market direction and potential entry or exit points.
Key Features :
✨ Market Structure Analysis : Automatically detects and labels BOS and CHoCH for trend confirmation and reversals.
🎨 Customizable Visualization : Tailor bullish and bearish colors for breakout lines and signals to suit your preferences.
📊 Dynamic Take-Profit Targets : Displays three tiered take-profit levels based on breakout volatility.
🔔 Real-Time Alerts : Stay ahead of the game with notifications for bullish and bearish breakouts.
📋 Performance Dashboard : Monitor signal statistics, including win rates and total signals, directly on your chart.
How to Use :
Add the Indicator : Add the script to your favourites ⭐ and customize settings like market structure horizon and confirmation type.
Monitor Breakouts : Observe BOS and CHoCH labels to identify potential trend shifts. Use the breakout lines and tiered take-profit levels to plan trades effectively.
Set Alerts : Enable alerts for bullish or bearish breakouts to act on opportunities without constant monitoring.
How It Works :
The indicator identifies market structure by analyzing pivot highs and lows over a user-defined time horizon. A breakout is confirmed based on either candle closes or wicks surpassing previous pivot points. Upon detection, the script generates signals with breakout lines and calculates take-profit targets based on the distance from the breakout level. A built-in dashboard tracks performance metrics like total signals and win rates, giving traders real-time feedback on strategy effectiveness.
200 EMA Breakout & Retest Strategy200 EMA Breakout & Retest Strategy
This script is designed for traders who rely on the 200 EMA as a key indicator for trend direction and trade setups. The strategy identifies potential buy and sell opportunities based on breakouts and subsequent retests of the 200 EMA.
How It Works
EMA Breakout Detection:
The script monitors when the price crosses and closes above or below the 200 EMA.
No signal is generated immediately upon the breakout.
Retest Confirmation:
After the breakout, the price must retrace to touch the 200 EMA.
A valid signal occurs only when the price touches the EMA and the candle closes above (for buy) or below (for sell).
Trade Signal Generation:
Once the retest is confirmed:
A Buy Signal is generated if the price closes above the 200 EMA after the retest.
A Sell Signal is generated if the price closes below the 200 EMA after the retest.
The script calculates:
Stop Loss: Placed at the low of the candle for a buy signal and at the high of the candle for a sell signal.
Take Profit: Based on a customizable Risk-Reward Ratio (default is 1:2).
Visual Indicators:
The 200 EMA is plotted on the chart for reference.
Buy/Sell signals are displayed as labels on the chart.
Stop loss and take profit levels are drawn using dotted lines.
Customization Options
EMA Length: Adjustable (default is 200).
Risk-Reward Ratio: Customizable to suit different trading styles.
Who Is This For?
This strategy is ideal for traders who:
Prefer trading with the trend using EMA-based strategies.
Look for precise entry points with confirmation from retests.
Require automated calculation of risk-reward levels.
CAD CHF JPY (Index) vs USDDescription:
Analyze the combined performance of CAD, CHF, and JPY against the USD with this customized Forex currency index. This tool enables traders to gain a broader perspective of how these three currencies behave relative to the US Dollar by aggregating their movements into a single index. It’s a versatile tool designed for traders seeking actionable insights and trend identification.
Core Features:
Flexible Display Options:
Choose between Line Mode for a simplified view of the index trend or Candlestick Mode for detailed analysis of price action.
Custom Weight Adjustments:
Fine-tune the weight of each currency pair (USD/CAD, USD/CHF, USD/JPY) to better reflect your trading priorities or market expectations.
Moving Average Integration:
Add a moving average to smooth the data and identify trends more effectively. Choose your preferred type: SMA, EMA, WMA, or VWMA, and configure the number of periods to suit your strategy.
Streamlined Calculation:
The index aggregates data from USD/CAD, USD/CHF, and USD/JPY using a weighted average of their OHLC (Open, High, Low, Close) values, ensuring accuracy and adaptability to different market conditions.
Practical Applications:
Trend Identification:
Use the Line Mode with a moving average to confirm whether CAD, CHF, and JPY collectively show strength or weakness against the USD. A rising trendline signals currency strength, while a declining line suggests USD dominance.
Weight-Based Analysis:
If CAD is expected to lead, adjust its weight higher relative to CHF and JPY to emphasize its influence in the index. This customization makes the indicator adaptable to your market outlook.
Actionable Insights:
Identify key reversal points or breakout opportunities by analyzing the interaction of the index with its moving average. Combined with other technical tools, this indicator becomes a robust addition to any trader’s toolkit.
Additional Notes:
This indicator is a valuable resource for comparing the collective behavior of CAD, CHF, and JPY against the USD. Pair it with additional oscillators or divergence tools for a comprehensive market overview.
Perfect for both intraday analysis and swing trading strategies. Combine it with EUR GPB AUD (Index) indicator.
Good Profits!
Futuristic Indicator v3 - Enhanced Glow & Strength MetersTo ensure candles are display by script go to trading view settings and uncheck default Candle, Body and Wick to prevent them from plotting over your modified candles.
Futuristic Indicator v3 - Enhanced Glow & Strength Meters: Detailed Breakdown
This Modern styled Pine Script indicator is designed to enhance technical analysis by providing a visually striking OLED-style dashboard with multiple market insights. It integrates trend detection, momentum analysis, volatility tracking, and strength meters into a single, streamlined interface for traders.
1️⃣ Customizable Features for Flexibility
The indicator offers multiple user-configurable settings, allowing traders to adjust the display based on their trading strategy and preferences. Users can toggle elements such as strength meters, volatility indicators, trend arrows, moving averages, and buy/sell alerts. Additionally, background and candle colors can be customized for better readability.
🔹 Why is this useful?
Traders can customize their charts to focus on the data they care about.
Reduces chart clutter by allowing users to toggle features on or off.
2️⃣ Trend Detection Using EMAs
This indicator detects market trends using two Exponential Moving Averages (EMA):
A "Fast" EMA (shorter period) for quick trend shifts.
A "Slow" EMA (longer period) to confirm trends.
Comparison of the two EMAs determines if the trend is bullish (uptrend) or bearish (downtrend).
The indicator colors the trend lines accordingly and adds a trend arrow 📈📉 for quick visual cues.
🔹 Why is this useful?
EMA crossovers are widely used to identify trend reversals.
Provides clear visual cues for traders to confirm entry & exit points.
3️⃣ RSI-Based Momentum Analysis
The indicator integrates the Relative Strength Index (RSI) to gauge market momentum. The momentum value changes color dynamically based on whether it's in bullish (>50) or bearish (<50) territory.
🔹 Why is this useful?
RSI helps identify overbought and oversold conditions.
Detects trend strength by measuring the speed of price movements.
4️⃣ Bullish & Bearish Strength Meters
The indicator quantifies bullish and bearish market strength based on RSI and converts it into a percentage-based meter:
Bullish Strength (Long Strength)
Bearish Strength (Short Strength)
Strength meters are displayed using OLED-styled bars, dynamically changing in real-time.
🔹 Why is this useful?
Allows traders to visually gauge market sentiment at a glance.
Helps confirm if a trend has strong momentum or is losing strength.
5️⃣ Market Volatility Indicator (ATR-Based)
The indicator includes a volatility tracker using the Average True Range (ATR):
ATR is scaled up to provide easier readability.
Higher ATR values indicate higher market volatility.
🔹 Why is this useful?
Helps traders identify potential breakout or consolidation phases.
Allows better risk management by understanding price fluctuations.
6️⃣ Trend Strength Calculation
The indicator calculates trend strength based on the difference between the EMAs:
A higher trend strength value suggests a stronger directional trend.
Displayed as a percentage for better clarity.
🔹 Why is this useful?
Helps traders differentiate between strong and weak trends.
Reduces the likelihood of entering weak or choppy markets.
7️⃣ OLED-Style Dashboard for Market Data
A futuristic OLED-styled table is used to display critical market data in a visually appealing way:
Trend direction (Bullish/Bearish with an arrow 📈📉).
Current price.
Momentum value.
Strength meters (Bullish/Bearish).
Trend strength percentage.
Volatility Meter
The dashboard uses high-contrast colors and neon glow effects, making it easier to read against dark backgrounds.
🔹 Why is this useful?
Provides a centralized view of key trading metrics.
Eliminates the need to manually calculate trend strength.
8️⃣ Modern Style Neon Glow Effects
To enhance visibility, the indicator applies glowing effects to:
Moving Averages (EMAs): Highlighted with layered glow effects.
Candlesticks: Borders and wicks dynamically change color based on trend direction.
🔹 Why is this useful?
Improves readability in low-contrast or dark-mode charts.
Helps traders spot trends faster without reading numerical data.
9️⃣ Automated Buy & Sell Alerts
The script triggers alerts when momentum crosses key levels:
Above 55 → Potential Long Setup
Below 45 → Potential Short Setup.
🔹 Why is this useful?
Alerts help traders react quickly without constantly monitoring the chart.
Reduces the risk of missing critical trade opportunities.
🔹 Final Summary: Why is This Indicator Useful?
This futuristic cyberpunk-styled trading tool enhances traditional market analysis by combining technical indicators with high-visibility visuals.
🔹 Key Benefits:
✅ Customizable Display – Toggle elements based on trading needs.
✅ Trend Detection – EMAs highlight uptrends & downtrends.
✅ Momentum Tracking – RSI-based momentum gauge identifies strong moves.
✅ Strength Meters – Bullish/Bearish power is clearly visualized.
✅ Volatility Insights – ATR-based metric highlights market turbulence.
✅ Trend Strength Analysis – Quantifies trend intensity.
✅ Dashboard – Provides a centralized, easy-to-read data panel.
✅ Cyberpunk Neon Glow – Enhances clarity with stylish aesthetics.
✅ Real-Time Alerts – Helps traders react to key opportunities.
This indicator is designed to be both functional and visually appealing, making market analysis more intuitive and efficient. 🚀
Multiple Values TableThis Pine Script indicator, named "Multiple Values Table," provides a comprehensive view of various technical indicators in a tabular format directly on your trading chart. It allows traders to quickly assess multiple metrics without switching between different charts or panels.
Key Features:
Table Position and Size:
Users can choose the position of the table on the chart (e.g., top left, top right).
The size of the table can be adjusted (e.g., tiny, small, normal, large).
Moving Averages:
Calculates the 5-day Exponential Moving Average (5DEMA) using daily data.
Calculates the 5-week and 20-week EMAs (5WEMA and 20WEMA) using weekly data.
Indicates whether the current price is above or below these moving averages in percentage terms.
Drawdown and Williams VIX Fix:
Computes the drawdown from the 365-day high to the current close.
Calculates the Williams VIX Fix (WVF), which measures the volatility of the asset.
Shows both the current WVF and a 2% drawdown level.
Relative Strength Index (RSI):
Displays the current RSI and compares it to the RSI from 14 days ago.
Indicates whether the RSI is increasing, decreasing, or flat.
Stochastic RSI:
Computes the Stochastic RSI and compares it to the value from 14 days ago.
Indicates whether the Stochastic RSI is increasing, decreasing, or flat.
Normalized MACD (NMACD):
Calculates the Normalized MACD values.
Indicates whether the MACD is increasing, decreasing, or flat.
Awesome Oscillator (AO):
Calculates the AO on a daily timeframe.
Indicates whether the AO is increasing, decreasing, or flat.
Volume Analysis:
Displays the average volume over the last 22 days.
Shows the current day's volume as a percentage of the average volume.
Percentile Calculations:
Calculates the current percentile rank of the WVF and ATH over specified periods.
Indicates the percentile rank of the current volume percentage over the past period.
Table Display:
All these values are presented in a neatly formatted table.
The table updates dynamically with the latest data.
Example Use Cases:
Comprehensive Market Analysis: Quickly assess multiple indicators at a glance.
Trend and Momentum Analysis: Identify trends and momentum changes based on various moving averages and oscillators.
Volatility and Drawdown Monitoring: Track volatility and drawdown levels to manage risk effectively.
This script offers a powerful tool for traders who want to have a holistic view of various technical indicators in one place. It provides flexibility in customization and a user-friendly interface to enhance your trading experience.
Closing Prices for Indices AMMOthe "Closing Prices for Indices" indicator displays the daily closing prices of four major stock indices: FTSE 100, DAX 40, Dow Jones Industrial Average, and NASDAQ Composite. The indicator updates the prices based on their respective market closing times:
FTSE 100 and DAX 40: Updates at 4:30 PM UK time.
Dow Jones and NASDAQ Composite: Updates at 9:00 PM UK time.
Key features:
Customizable Labels: Option to display labels showing the closing prices directly on the chart.
Color-Coded Lines: Plots each index's closing price using distinct, customizable colors for easy differentiation.
User-Friendly Settings: Includes options for customizing line and label colors.
This indicator is perfect for traders and analysts looking to monitor and compare key index closing prices visually on their charts.
Best Buffett Ratio w/ Std-Dev Offset + Conditional PlotSummary:
This script provides a visually clear way to track the so-called “Buffett Ratio,”
a popular market valuation gauge which compares the total US stock market cap
to the country’s GDP. In addition, it plots a “hardcoded” long-term trend line,
along with fixed standard-deviation bands (in log space), and uses background colors
to signal potentially overvalued or undervalued zones.
What Is the Buffett Ratio?
Often credited to Warren Buffett, the Buffett Ratio (or Buffett Indicator) measures:
(Total US Stock Market Capitalization) / (US GDP)
• A higher ratio typically means equities are more expensive relative to the size of the economy.
• A lower ratio suggests equities may be more attractively valued compared to GDP.
Historically, the ratio has tended to drift upward over many decades,
as the US economy and stock markets grow, but it still oscillates around some trend over time.
How to Use
1) Add to Chart:
- In TradingView, simply apply the indicator (it internally fetches CRSPTM1 & GDP data).
2) Tweak Inputs:
- Log Offset for 1σ: Adjust how wide the ±1σ/±2σ bands appear around the trend.
- Anchor Points: Edit startYear , endYear , startRatio , endRatio
if you want a different slope or different “fair value” anchors.
3) Interpretation:
- If the indicator is above +2σ (red line) , it’s historically “very expensive,”
often leading to lower future returns over the long term.
- If it’s below –2σ (green line) , it’s historically “deep undervaluation,”
often pointing to better future returns over time.
- The intermediate zones show degrees of mild over- or undervaluation.
How This Script Works
1) Buffett Ratio Calculation:
- The script requests data from TradingView’s built-in CRSPTM1 index (total US market cap).
- It also requests US GDP data via request.economic("US", "GDP") .
- If GDP data is missing, the ratio becomes na on that bar.
2) Hardcoded Trend Line:
- Rather than a rolling average, the script uses two “anchors” (e.g. 1950 → 0.30 ratio, 2024 → 1.25 ratio)
and solves for a single log-growth rate to produce a steady upward slope.
3) Fixed Standard Deviations in Log Space:
- The script takes the log of the trend line, then applies a fixed offset for ±1σ and ±2σ,
creating proportional bands that do not “expand/contract” from a rolling window.
4) Conditional Plotting:
- The script only begins plotting once the Buffett Ratio actually has data (around 2011).
5) Color-Coded Zones:
- Above +2σ: red background (historically very expensive)
- Between +1σ and +2σ: yellow background (moderately expensive)
- Between –1σ and +1σ: no background color (around normal)
- Between –2σ and –1σ: aqua background (moderately undervalued)
- Below –2σ: green background (historically deep undervaluation)
Final Notes
• Data Limitations: US GDP data and CRSPTM1 only go back so far, so this starts around 2011.
• Long-Term vs. Short-Term: Best viewed on monthly/quarterly charts and interpreted over years.
• Tuning: If you believe structural changes have shifted the ratio’s fair slope,
adjust the code’s anchors or log offsets.
Enjoy, and use responsibly!
Countdown Candle RRS// Countdown Candle RRS Indicator
//
// This indicator displays a countdown timer for the current candle on the chart.
// It shows the remaining time until the current candle closes, providing traders
// with a visual reference for time-based decision making.
//
// Features:
// - Customizable countdown display (size, position, and color)
// - Adapts to different timeframes (daily, hourly, and minute-based)
// - Displays time in appropriate format based on the chart timeframe
// - Daily or higher: XdHH:MM:SS (e.g., 2d05:30:15)
// - Hourly: HH:MM:SS
// - Minute or lower: MM:SS
// - Updates in real-time on the last candle
//
// Usage:
// - Add this indicator to your chart to see the countdown timer
// - Use the input options to customize the appearance and position of the timer
// - The timer will update on each tick, showing the time remaining until the current candle closes
//
// Note: This indicator is particularly useful for traders who need precise timing
// for entry or exit decisions, especially in fast-moving markets or when using
// specific time-based strategies.
//
// Author: reza rashidi
// Version: 1.0
Comprehensive Volume and Metrics with Pre-Market Volume Data
This script is designed for traders who want a detailed view of market activity, including regular market and pre-market volume, dollar volume, relative volume (RVOL), average daily range (ADR), average true range (ATR), relative strength index (RSI), and the QQQ’s percentage change.
The script includes customizable metrics displayed in tables on the chart for easy analysis, with the option to toggle the visibility of each metric.
Key Features:
Volume and Dollar Volume:
Displays the volume of shares traded during the current day (or pre-market, if enabled).
Includes a calculation of dollar volume, representing the total dollar amount of trades (Volume × Close Price).
Relative Volume (RVOL):
Displays RVOL Day, which is the relative volume of the current day compared to the 2-day moving average.
Shows RVOL 90D, indicating relative volume over the past 90 days.
Both RVOL metrics are calculated as percentages and display the percentage change compared to the standard (100%).
Pre-Market Data:
Includes pre-market volume (PVOL) and pre-market dollar volume (P$ VOL) which are displayed only if pre-market data is enabled.
Tracks volume and dollar volume during pre-market hours (4:00 AM to 9:30 AM Eastern Time) for more in-depth analysis.
Optionally, shows pre-market RSI based on volume-weighted close prices.
Average Daily Range (ADR):
Displays the percentage change between the highest and lowest prices over the defined ADR period (default is 20 days).
Average True Range (ATR):
Shows the ATR, a popular volatility indicator, for a given period (default is 14 bars).
RSI (Relative Strength Index):
Displays RSI for the given period (default is 14).
RSI is calculated using pre-market data when available.
QQQ:
Shows the percentage change of the QQQ ETF from the previous day’s close.
The QQQ percentage change is color-coded: green for positive, red for negative, and gray for no change.
Customizable Inputs:
Visibility Options: Toggle the visibility of each metric, such as volume, dollar volume, RVOL, ADR, ATR, RSI, and QQQ.
Pre-Market Data: Enable or disable the display of pre-market data for volume and dollar volume.
Table Positioning: Adjust the position of tables displaying the metrics either at the bottom-left or bottom-right of the chart.
Text Color and Table Background: Choose between white or black text for the tables and customize the background color.
Tables:
The script utilizes tables to display multiple metrics in an organized and easy-to-read format.
The values are updated dynamically, reflecting real-time data as the market moves.
Pre-Market Data:
The script calculates pre-market volume and dollar volume, along with other key metrics like RSI and RVOL, to help assess market sentiment before the market officially opens.
The pre-market data is accumulated from 4:00 AM to 9:30 AM ET, allowing for pre-market analysis and comparison to regular market hours.
User-Friendly and Flexible:
This script is designed to be highly customizable, giving you the ability to toggle which metrics to display and where they appear on the chart. You can easily focus on the data that matters most to your trading strategy.
DCA Simulation for CryptoCommunity v1.1Overview
This script provides a detailed simulation of a Dollar-Cost Averaging (DCA) strategy tailored for crypto traders. It allows users to visualize how their DCA strategy would perform historically under specific parameters. The script is designed to help traders understand the mechanics of DCA and how it influences average price movement, budget utilization, and trade outcomes.
Key Features:
Combines Interval and Safety Order DCA:
Interval DCA: Regular purchases based on predefined time intervals.
Safety Order DCA: Additional buys triggered by percentage price drops.
Interactive Visualization:
Displays buy levels, average price, and profit-taking points on the chart.
Allows traders to assess how their strategy adapts to price movements.
Comprehensive Dashboard:
Tracks money spent, contracts acquired, and budget utilization.
Shows maximum amounts used if profit-taking is active.
Dynamic Safety Orders:
Resets safety orders when a new higher high is established.
Customizable Parameters:
Adjustable buy frequency, safety order settings, and profit-taking levels.
Suitable for traders with varying budgets and risk tolerances.
Default Strategy Settings:
Account Size: Default account size is set to $10,000 to represent a realistic budget for the average trader.
Commission & Slippage: Includes realistic trading fees and slippage assumptions to ensure accurate backtesting results.
Risk Management: Defaults to risking no more than 5% of the account balance per trade.
Sample Size: Optimized to generate a minimum of 100 trades for meaningful statistical analysis. Users can adjust parameters to fit longer timeframes or different datasets.
Usage Instructions:
Configure Your Strategy: Set the base order, safety order size, and buy frequency based on your preferred DCA approach.
Analyze Historical Performance: Use the chart and dashboard to understand how the strategy performs under different market conditions.
Optimize Parameters: Adjust settings to align with your risk tolerance and trading objectives.
Important Notes:
This script is for educational and simulation purposes. It is not intended to provide financial advice or guarantee profitability.
If the strategy's default settings do not meet your needs, feel free to adjust them while keeping risk management in mind.
TradingView limits the number of open trades to 999, so reduce the buy frequency if necessary to fit longer timeframes.
Price Move DetectorThe Price Move Detector is a powerful technical analysis tool that automatically detects and highlights significant price movements over a user-defined time frame. This indicator allows traders to quickly identify instances where an asset has experienced a large price change, making it easier to spot potential trading opportunities.
Key Features
Customizable Parameters: Adjust the percentage change and time period (bars or sessions) to define what qualifies as a "significant" price move.
Automatic Highlighting: The indicator overlays a background highlight on the chart whenever the price moves by the specified percentage within the chosen time period.
Flexible Time Frame: Use this indicator across various timeframes and adjust the settings to suit your trading strategy, such as detecting 100% price moves over 20 sessions.
Ideal for Historical Analysis: Perfect for backtesting and screening for past price surges, helping traders spot explosive price action and market trends.
Use Cases
Spot Potential Breakouts: Use the detector to identify stocks or assets that have made significant moves, potentially signaling the start of a breakout or new trend.
Quickly Identify Major Market Moves: Scan historical data to pinpoint times when an asset experienced substantial price changes, providing insight into past performance and future potential.
How to Use
Customize the Settings
Percentage Threshold: Set the minimum percentage increase (e.g., 50%, 100%) that qualifies as a significant move. You can experiment with different percentages to suit your analysis.
Time Period (Bars): Define the lookback period (in bars/sessions) over which the price move should be measured. For example, set it to 20 bars for a one-month time frame on a daily chart.
Analyze the Highlights
Whenever the price increases by the defined percentage over the set period, the indicator will highlight that section of the chart with a background color.
The highlighted sections will make it easy to identify historical periods of large price movements, which can be useful for spotting trends, potential breakouts, or other market behaviors.
Adjust the Parameters for Your Strategy
You can fine-tune the settings to detect smaller or larger price moves depending on your trading goals.
The indicator is flexible enough for use on different timeframes and assets, providing valuable insights across various markets.
Codi's Perp-Spot Basis# Perp-Spot Basis Indicator
This indicator calculates the percentage basis between perpetual futures and spot prices for crypto assets. It is inspired by the original concept from **Krugermacro**, with the added improvement of **automatic detection of the asset pairs** based on the current chart symbol. This enhancement makes it faster and easier to apply across different assets without manual configuration.
## How It Works
The indicator compares the perpetual futures price (e.g., `BTCUSDT.P`) to the spot price (e.g., `BTCUSDT`) on Binance. The difference is expressed as a percentage: (Perp - Spot) / Spot * 100
The results are displayed in a color-coded graph:
- **Blue (Positive Basis):** Perpetual futures are trading at a premium, indicating **bullish sentiment** among derivatives traders.
- **Red (Negative Basis):** Perpetual futures are trading at a discount, indicating **bearish sentiment** among derivatives traders.
This percentage basis is a core component in understanding funding rates and derivatives market dynamics. It serves as a faster proxy for funding rates, which typically lag behind real-time price movements.
---
## How to Use It
### General Concept
- **Red (Negative Basis):** Ideal to execute **longs** when derivatives traders are overly bearish.
- **Blue (Positive Basis):** Ideal to execute **shorts** when derivatives traders are overly bullish.
### Pullback Sniping
1. During an **uptrend**:
- If the basis turns **red** temporarily, it can signal an opportunity to **buy the dip**.
2. During a **downtrend**:
- If the basis turns **blue** temporarily, it can signal an opportunity to **sell the rip**.
3. Wait for the basis to **pop back** (higher in uptrend, lower in downtrend) to time entries more effectively—this often coincides with **stop runs** or **liquidations**.
### Intraday Execution
- **When price is falling**:
- If the basis is **red**, the move is derivatives-led (**normal**).
- If the basis is **blue**, spot traders are leading, and perps are offside—wait for **price dumps** before longing.
- **When price is rising**:
- If the basis is **blue**, the move is derivatives-led (**normal**).
- If the basis is **red**, spot traders are leading, and perps are offside—wait for **price pops** before shorting.
### Larger Time Frames
- **Consistently Blue Basis:** Indicates a **bull market** as derivatives traders are bullish over the long term.
- **Consistently Red Basis:** Indicates a **bear market** as derivatives traders are bearish over the long term.
---
## Improvements Over the Original
This version of the Perp-Spot Basis indicator **automatically detects the Binance perpetual futures and spot pairs** based on the current chart symbol. For example:
- If you are viewing `ETHUSDT`, it automatically references `ETHUSDT.P` for the perpetual futures pair and `ETHUSDT` for the spot pair in BINANCE.
Mxwll Hedge Suite [Mxwll]Hello Traders!
The Mxwll Hedge Suite determines the best asset to hedge against the asset on your chart!
By determining correlation between the asset on your chart and a group of internally listed assets, the Mxwll Hedge Suite determines which asset from the list exhibits the highest negative correlation, and then determines exactly how many coins/shares/contracts of the asset must be bought to achieve a perfect 1:1 hedge!
The image above exemplifies the process!
The purple box on the chart shows the eligible price action used to determine correlation between the asset on my chart (BTCUSDT.P) and the list of cryptocurrencies that can be used as a hedge!
From this price action, the coin determined to have to greatest negative correlation to BTCUSDT.P is FTMUSD.
The image above further outlines the hedge table located in the bottom-right corner of your chart!
The hedge table shows exactly how many coins you’d need to purchase for the hedge asset at various leverages to achieve a perfect 1:1 hedge!
Hedge Suite works on any asset on any timeframe!
And that’s all! A short and sweet script that is hopefully helpful to traders looking to hedge their positions with a negatively correlated asset!
Thank you, Traders!
Mean Reversion Pro Strategy [tradeviZion]Mean Reversion Pro Strategy : User Guide
A mean reversion trading strategy for daily timeframe trading.
Introduction
Mean Reversion Pro Strategy is a technical trading system that operates on the daily timeframe. The strategy uses a dual Simple Moving Average (SMA) system combined with price range analysis to identify potential trading opportunities. It can be used on major indices and other markets with sufficient liquidity.
The strategy includes:
Trading System
Fast SMA for entry/exit points (5, 10, 15, 20 periods)
Slow SMA for trend reference (100, 200 periods)
Price range analysis (20% threshold)
Position management rules
Visual Elements
Gradient color indicators
Three themes (Dark/Light/Custom)
ATR-based visuals
Signal zones
Status Table
Current position information
Basic performance metrics
Strategy parameters
Optional messages
📊 Strategy Settings
Main Settings
Trading Mode
Options: Long Only, Short Only, Both
Default: Long Only
Position Size: 10% of equity
Starting Capital: $20,000
Moving Averages
Fast SMA: 5, 10, 15, or 20 periods
Slow SMA: 100 or 200 periods
Default: Fast=5, Slow=100
🎯 Entry and Exit Rules
Long Entry Conditions
All conditions must be met:
Price below Fast SMA
Price below 20% of current bar's range
Price above Slow SMA
No existing position
Short Entry Conditions
All conditions must be met:
Price above Fast SMA
Price above 80% of current bar's range
Price below Slow SMA
No existing position
Exit Rules
Long Positions
Exit when price crosses above Fast SMA
No fixed take-profit levels
No stop-loss (mean reversion approach)
Short Positions
Exit when price crosses below Fast SMA
No fixed take-profit levels
No stop-loss (mean reversion approach)
💼 Risk Management
Position Sizing
Default: 10% of equity per trade
Initial capital: $20,000
Commission: 0.01%
Slippage: 2 points
Maximum one position at a time
Risk Control
Use daily timeframe only
Avoid trading during major news events
Consider market conditions
Monitor overall exposure
📊 Performance Dashboard
The strategy includes a comprehensive status table displaying:
Strategy Parameters
Current SMA settings
Trading direction
Fast/Slow SMA ratio
Current Status
Active position (Flat/Long/Short)
Current price with color coding
Position status indicators
Performance Metrics
Net Profit (USD and %)
Win Rate with color grading
Profit Factor with thresholds
Maximum Drawdown percentage
Average Trade value
📱 Alert Settings
Entry Alerts
Long Entry (Buy Signal)
Short Entry (Sell Signal)
Exit Alerts
Long Exit (Take Profit)
Short Exit (Take Profit)
Alert Message Format
Strategy name
Signal type and direction
Current price
Fast SMA value
Slow SMA value
💡 Usage Tips
Consider starting with Long Only mode
Begin with default settings
Keep track of your trades
Review results regularly
Adjust settings as needed
Follow your trading plan
⚠️ Disclaimer
This strategy is for educational and informational purposes only. It is not financial advice. Always:
Conduct your own research
Test thoroughly before live trading
Use proper risk management
Consider your trading goals
Monitor market conditions
Never risk more than you can afford to lose
📋 Release Notes
14 January 2025
Added New Fast & Slow SMA Options:
Fibonacci-based periods: 8, 13, 21, 144, 233, 377
Additional period: 50
Complete Fast SMA options now: 5, 8, 10, 13, 15, 20, 21, 34, 50
Complete Slow SMA options now: 100, 144, 200, 233, 377
Bug Fixes:
Fixed Maximum Drawdown calculation in the performance table
Now using strategy.max_drawdown_percent for accurate DD reporting
Previous version showed incorrect DD values
Performance metrics now accurately reflect trading results
Performance Note:
Strategy tested with Fast/Slow SMA 13/377
Test conducted with 10% equity risk allocation
Daily Timeframe
For Beginners - How to Modify SMA Levels:
Find this line in the code:
fastLength = input.int(title="Fast SMA Length", defval=5, options= )
To add a new Fast SMA period: Add the number to the options list, e.g.,
To remove a Fast SMA period: Remove the number from the options list
For Slow SMA, find:
slowLength = input.int(title="Slow SMA Length", defval=100, options= )
Modify the options list the same way
⚠️ Note: Keep the periods that make sense for your trading timeframe
💡 Tip: Test any new combinations thoroughly before live trading
"Trade with Discipline, Manage Risk, Stay Consistent" - tradeviZion
IU Trailing Stop Loss MethodsThe 'IU Trailing Stop Loss Methods' it's a risk management tool which allows users to apply 12 trailing stop-loss (SL) methods for risk management of their trades and gives live alerts when the trailing Stop loss has hit. Below is a detailed explanation of each input and the working of the Script.
Main Inputs:
- bar_time: Specifies the date from which the trade begins and entry price will be the open of the first candle.
- entry_type: Choose between 'Long' or 'Short' positions.
- trailing_method: Select the trailing stop-loss method. Options include ATR, Parabolic SAR, Supertrend, Point/Pip based, Percentage, EMA, Highest/Lowest, Standard Deviation, and multiple target-based methods.
- exit_after_close: If checked, exits the trade only after the candle closes.
Optional Inputs:
ATR Settings:
- atr_Length: Length for the ATR calculation.
- atr_factor: ATR multiplier for SL calculation.
Parabolic SAR Settings:
- start, increment, maximum: Parameters for the Parabolic SAR indicator.
Supertrend Settings:
- supertrend_Length, supertrend_factor: Length and factor for the Supertrend indicator.
Point/Pip Based:
- point_base: Set trailing SL in points/pips.
Percentage Based:
- percentage_base: Set SL as a percentage of entry price.
EMA Settings:
- ema_Length: Length for EMA calculation.
Standard Deviation Settings:
- std_Length, std_factor: Length and factor for standard deviation calculation.
Highest/Lowest Settings:
- highest_lowest_Length: Length for the highest/lowest SL calculation.
Target-Based Inputs:
- ATR, Point, Percentage, and Standard Deviation based target SL settings with customizable lengths and multipliers.
Entry Logic:
- Trades initiate based on the entry_type selected and the specified bar_time.
- If Long is selected, a long trade is initiated when the conditions match, and vice versa for Short.
Trailing Stop-Loss (SL) Methods Explained:
The strategy dynamically adjusts stop-loss based on the chosen method. Each method has its calculation logic:
- ATR: Stop-loss calculated using ATR multiplied by a user-defined factor.
- Parabolic SAR: Uses the Parabolic SAR indicator for trailing stop-loss.
- Supertrend: Utilizes the Supertrend indicator as the stop-loss line.
- Point/Pip Based: Fixed point-based stop-loss.
- Percentage Based: SL set as a percentage of entry price.
- EMA: SL based on the Exponential Moving Average.
- Highest/Lowest: Uses the highest high or lowest low over a specified period.
- Standard Deviation: SL calculated using standard deviation.
Exit Conditions:
- If exit_after_close is enabled, the position will only close after the candle confirms the stop-loss hit.
- If exit_after_close is disabled, the strategy will close the trade immediately when the SL is breached.
Visualization:
The script plots the chosen trailing stop-loss method on the chart for easy visualization.
Target-Based Trailing SL Logic:
- When a position is opened, the strategy calculates the initial stop-loss and progressively adjusts it as the price moves favorably.
- Each SL adjustment is stored in an array for accurate tracking and visualization.
Alerts and Labels:
- When the Entry or trailing stop loss is hit this scripts draws a label and give alert to the user that trailing stop has been hit for the trade.
Note - on the historical data The Script will show nothing if the entry and the exit has happened on the same candle, because we don't know what was hit first SL or TP (basically how the candle was formed on the lower timeframe).
Summary:
This script offers flexible trailing stop-loss options for traders who want dynamic risk management in their strategies. By offering multiple methods like ATR, SAR, Supertrend, and EMA, it caters to various trading styles and risk preferences.
Advanced Options Trading Indicator: Buy & Sell Signal Generator This powerful custom indicator combines the Relative Strength Index (RSI) and Moving Average (MA) to help traders identify optimal entry and exit points in the options market. The indicator generates real-time buy and sell signals based on RSI crossovers and price positioning relative to the moving average, providing actionable insights for traders seeking to make informed decisions. Additionally, it calculates potential call and put option strike prices with a buffer for added flexibility and precision, ensuring a well-rounded approach to options trading.
Machine Learning Price Target Prediction Signals [AlgoAlpha]Introducing the Machine Learning Price Target Predictions, a cutting-edge trading tool that leverages kernel regression to provide accurate price targets and enhance your trading strategy. This indicator combines trend-based signals with advanced machine learning techniques, offering predictive insights into potential price movements. Perfect for traders looking to make data-driven decisions with confidence.
What is Kernel Regression and How It Works
Kernel regression is a non-parametric machine learning technique that estimates the relationship between variables by weighting data points based on their similarity to a given input. The similarity is determined using a kernel function, such as the Gaussian (RBF) kernel, which assigns higher weights to closer data points and progressively lower weights to farther ones. This allows the model to make smooth and adaptive predictions, balancing recent data and historical trends.
Key Features
🎯 Predictive Price Targets : Uses kernel regression to estimate the magnitude of price movements.
📈 Dynamic Trend Analysis : Multiple trend detection methods, including EMA crossovers, Hull Moving Average, and SuperTrend.
🔧 Customizable Settings : Adjust bandwidth for kernel regression and tweak trend indicator parameters to suit your strategy.
📊 Visual Trade Levels : Displays take-profit and stop-loss levels directly on the chart with customizable colors.
📋 Performance Metrics : Real-time win rate, recommended risk-reward ratio, and training data size displayed in an on-chart table.
🔔 Alerts : Get notified for new trends, take-profit hits, and stop-loss triggers.
How to Use
🛠 Add the Indicator : Add it to your favorites and apply it to your chart. Configure the trend detection method (SuperTrend, HMA, or EMA crossover) and other parameters based on your preferences.
📊 Analyze Predictions : Observe the predicted move size, recommended risk-reward ratio, and trend direction. Use the displayed levels for trade planning.
🔔 Set Alerts : Enable alerts for trend signals, take-profit hits, or stop-loss triggers to stay informed without constant monitoring.
How It Works
The indicator calculates features such as price volatility, relative strength, and trend signals, which are stored during training periods. When a trend change is detected, the kernel regression model predicts the likely price move based on these features. Predictions are smoothed using the specified bandwidth to avoid overfitting while ensuring timely responses to feature changes. Visualized take-profit and stop-loss levels help traders optimize risk management. Real-time metrics like win rate and recommended risk-reward ratios provide actionable insights for decision-making.
Accurate Bollinger Bands mcbw_ [True Volatility Distribution]The Bollinger Bands have become a very important technical tool for discretionary and algorithmic traders alike over the last decades. It was designed to give traders an edge on the markets by setting probabilistic values to different levels of volatility. However, some of the assumptions that go into its calculations make it unusable for traders who want to get a correct understanding of the volatility that the bands are trying to be used for. Let's go through what the Bollinger Bands are said to show, how their calculations work, the problems in the calculations, and how the current indicator I am presenting today fixes these.
--> If you just want to know how the settings work then skip straight to the end or click on the little (i) symbol next to the values in the indicator settings window when its on your chart <--
--------------------------- What Are Bollinger Bands ---------------------------
The Bollinger Bands were formed in the 1980's, a time when many retail traders interacted with their symbols via physically printed charts and computer memory for personal computer memory was measured in Kb (about a factor of 1 million smaller than today). Bollinger Bands are designed to help a trader or algorithm see the likelihood of price expanding outside of its typical range, the further the lines are from the current price implies the less often they will get hit. With a hands on understanding many strategies use these levels for designated levels of breakout trades or to assist in defining price ranges.
--------------------------- How Bollinger Bands Work ---------------------------
The calculations that go into Bollinger Bands are rather simple. There is a moving average that centers the indicator and an equidistant top band and bottom band are drawn at a fixed width away. The moving average is just a typical moving average (or common variant) that tracks the price action, while the distance to the top and bottom bands is a direct function of recent price volatility. The way that the distance to the bands is calculated is inspired by formulas from statistics. The standard deviation is taken from the candles that go into the moving average and then this is multiplied by a user defined value to set the bands position, I will call this value 'the multiple'. When discussing Bollinger Bands, that trading community at large normally discusses 'the multiple' as a multiplier of the standard deviation as it applies to a normal distribution (gaußian probability). On a normal distribution the number of standard deviations away (which trades directly use as 'the multiple') you are directly corresponds to how likely/unlikely something is to happen:
1 standard deviation equals 68.3%, meaning that the price should stay inside the 1 standard deviation 68.3% of the time and be outside of it 31.7% of the time;
2 standard deviation equals 95.5%, meaning that the price should stay inside the 2 standard deviation 95.5% of the time and be outside of it 4.5% of the time;
3 standard deviation equals 99.7%, meaning that the price should stay inside the 3 standard deviation 99.7% of the time and be outside of it 0.3% of the time.
Therefore when traders set 'the multiple' to 2, they interpret this as meaning that price will not reach there 95.5% of the time.
---------------- The Problem With The Math of Bollinger Bands ----------------
In and of themselves the Bollinger Bands are a great tool, but they have become misconstrued with some incorrect sense of statistical meaning, when they should really just be taken at face value without any further interpretation or implication.
In order to explain this it is going to get a bit technical so I will give a little math background and try to simplify things. First let's review some statistics topics (distributions, percentiles, standard deviations) and then with that understanding explore the incorrect logic of how Bollinger Bands have been interpreted/employed.
---------------- Quick Stats Review ----------------
.
(If you are comfortable with statistics feel free to skip ahead to the next section)
.
-------- I: Probability distributions --------
When you have a lot of data it is helpful to see how many times different results appear in your dataset. To visualize this people use "histograms", which just shows how many times each element appears in the dataset by stacking each of the same elements on top of each other to form a graph. You may be familiar with the bell curve (also called the "normal distribution", which we will be calling it by). The normal distribution histogram looks like a big hump around zero and then drops off super quickly the further you get from it. This shape (the bell curve) is very nice because it has a lot of very nifty mathematical properties and seems to show up in nature all the time. Since it pops up in so many places, society has developed many different shortcuts related to it that speed up all kinds of calculations, including the shortcut that 1 standard deviation = 68.3%, 2 standard deviations = 95.5%, and 3 standard deviations = 99.7% (these only apply to the normal distribution). Despite how handy the normal distribution is and all the shortcuts we have for it are, and how much it shows up in the natural world, there is nothing that forces your specific dataset to look like it. In fact, your data can actually have any possible shape. As we will explore later, economic and financial datasets *rarely* follow the normal distribution.
-------- II: Percentiles --------
After you have made the histogram of your dataset you have built the "probability distribution" of your own dataset that is specific to all the data you have collected. There is a whole complicated framework for how to accurately calculate percentiles but we will dramatically simplify it for our use. The 'percentile' in our case is just the number of data points we are away from the "middle" of the data set (normally just 0). Lets say I took the difference of the daily close of a symbol for the last two weeks, green candles would be positive and red would be negative. In this example my dataset of day by day closing price difference is:
week 1:
week 2:
sorting all of these value into a single dataset I have:
I can separate the positive and negative returns and explore their distributions separately:
negative return distribution =
positive return distribution =
Taking the 25th% percentile of these would just be taking the value that is 25% towards the end of the end of these returns. Or akin the 100%th percentile would just be taking the vale that is 100% at the end of those:
negative return distribution (50%) = -5
positive return distribution (50%) = +4
negative return distribution (100%) = -10
positive return distribution (100%) = +20
Or instead of separating the positive and negative returns we can also look at all of the differences in the daily close as just pure price movement and not account for the direction, in this case we would pool all of the data together by ignoring the negative signs of the negative reruns
combined return distribution =
In this case the 50%th and 100%th percentile of the combined return distribution would be:
combined return distribution (50%) = 4
combined return distribution (100%) = 10
Sometimes taking the positive and negative distributions separately is better than pooling them into a combined distribution for some purposes. Other times the combined distribution is better.
Most financial data has very different distributions for negative returns and positive returns. This is encapsulated in sayings like "Price takes the stairs up and the elevator down".
-------- III: Standard Deviation --------
The formula for the standard deviation (refereed to here by its shorthand 'STDEV') can be intimidating, but going through each of its elements will illuminate what it does. The formula for STDEV is equal to:
square root ( (sum ) / N )
Going back the the dataset that you might have, the variables in the formula above are:
'mean' is the average of your entire dataset
'x' is just representative of a single point in your dataset (one point at a time)
'N' is the total number of things in your dataset.
Going back to the STDEV formula above we can see how each part of it works. Starting with the '(x - mean)' part. What this does is it takes every single point of the dataset and measure how far away it is from the mean of the entire dataset. Taking this value to the power of two: '(x - mean) ^ 2', means that points that are very far away from the dataset mean get 'penalized' twice as much. Points that are very close to the dataset mean are not impacted as much. In practice, this would mean that if your dataset had a bunch of values that were in a wide range but always stayed in that range, this value ('(x - mean) ^ 2') would end up being small. On the other hand, if your dataset was full of the exact same number, but had a couple outliers very far away, this would have a much larger value since the square par of '(x - mean) ^ 2' make them grow massive. Now including the sum part of 'sum ', this just adds up all the of the squared distanced from the dataset mean. Then this is divided by the number of values in the dataset ('N'), and then the square root of that value is taken.
There is nothing inherently special or definitive about the STDEV formula, it is just a tool with extremely widespread use and adoption. As we saw here, all the STDEV formula is really doing is measuring the intensity of the outliers.
--------------------------- Flaws of Bollinger Bands ---------------------------
The largest problem with Bollinger Bands is the assumption that price has a normal distribution. This is assumption is massively incorrect for many reasons that I will try to encapsulate into two points:
Price return do not follow a normal distribution, every single symbol on every single timeframe has is own unique distribution that is specific to only itself. Therefore all the tools, shortcuts, and ideas that we use for normal distributions do not apply to price returns, and since they do not apply here they should not be used. A more general approach is needed that allows each specific symbol on every specific timeframe to be treated uniquely.
The distributions of price returns on the positive and negative side are almost never the same. A more general approach is needed that allows positive and negative returns to be calculated separately.
In addition to the issues of the normal distribution assumption, the standard deviation formula (as shown above in the quick stats review) is essentially just a tame measurement of outliers (a more aggressive form of outlier measurement might be taking the differences to the power of 3 rather than 2). Despite this being a bit of a philosophical question, does the measurement of outlier intensity as defined by the STDEV formula really measure what we want to know as traders when we're experiencing volatility? Or would adjustments to that formula better reflect what we *experience* as volatility when we are actively trading? This is an open ended question that I will leave here, but I wanted to pose this question because it is a key part of what how the Bollinger Bands work that we all assume as a given.
Circling back on the normal distribution assumption, the standard deviation formula used in the calculation of the bands only encompasses the deviation of the candles that go into the moving average and have no knowledge of the historical price action. Therefore the level of the bands may not really reflect how the price action behaves over a longer period of time.
------------ Delivering Factually Accurate Data That Traders Need------------
In light of the problems identified above, this indicator fixes all of these issue and delivers statistically correct information that discretionary and algorithmic traders can use, with truly accurate probabilities. It takes the price action of the last 2,000 candles and builds a huge dataset of distributions that you can directly select your percentiles from. It also allows you to have the positive and negative distributions calculated separately, or if you would like, you can pool all of them together in a combined distribution. In addition to this, there is a wide selection of moving averages directly available in the indicator to choose from.
Hedge funds, quant shops, algo prop firms, and advanced mechanical groups all employ the true return distributions in their work. Now you have access to the same type of data with this indicator, wherein it's doing all the lifting for you.
------------------------------ Indicator Settings ------------------------------
.
---- Moving average ----
Select the type of moving average you would like and its length
---- Bands ----
The percentiles that you enter here will be pulled directly from the return distribution of the last 2,000 candles. With the typical Bollinger Bands, traders would select 2 standard deviations and incorrectly think that the levels it highlights are the 95.5% levels. Now, if you want the true 95.5% level, you can just enter 95.5 into the percentile value here. Each of the three available bands takes the true percentile you enter here.
---- Separate Positive & Negative Distributions----
If this box is checked the positive and negative distributions are treated indecently, completely separate from each other. You will see that the width of the top and bottom bands will be different for each of the percentiles you enter.
If this box is unchecked then all the negative and positive distributions are pooled together. You will notice that the width of the top and bottom bands will be the exact same.
---- Distribution Size ----
This is the number of candles that the price return is calculated over. EG: to collect the price return over the last 33 candles, the difference of price from now to 33 candles ago is calculated for the last 2,000 candles, to build a return distribution of 2000 points of price differences over 33 candles.
NEGATIVE NUMBERS(<0) == exact number of candles to include;
EG: setting this value to -20 will always collect volatility distributions of 20 candles
POSITIVE NUMBERS(>0) == number of candles to include as a multiple of the Moving Average Length value set above;
EG: if the Moving Average Length value is set to 22, setting this value to 2 will use the last 22*2 = 44 candles for the collection of volatility distributions
MORE candles being include will generally make the bands WIDER and their size will change SLOWER over time.
I wish you focus, dedication, and earnest success on your journey.
Happy trading :)