VIX DualVIX Dual nasceu em 27.01.2025 com intuito de mesclar ferramentas e diferentes indicadores em uma única linha, que o trader possa identificar reversões através da divergência e também o início de movimentos promissores através do cruzamento do VIX.
Movingavarage
Liquidity Trap Detector (LTD)The Liquidity Trap Detector is an advanced trading tool designed to identify liquidity zones and potential traps set by institutional players. It provides traders with a comprehensive framework to align with smart money movements, helping them avoid common retail pitfalls such as bull and bear traps.
The indicator focuses on detecting liquidity sweeps, breaker blocks, and areas of institutional accumulation/distribution. It integrates multiple technical analysis methods to offer high-probability signals and insights into how liquidity dynamics unfold in the market.
Note : This indicator is not designed for beginners; it is intended for traders who already have a solid understanding of trading fundamentals. It is tailored for individuals who are familiar with concepts like liquidity, order blocks, and traps. Traders with at least 6 months to 1 year of trading experience will fully appreciate the power and potential of this indicator, as they will have the necessary knowledge to leverage its features effectively. Beginners may find it challenging to grasp the advanced concepts embedded in this tool.
Why Combine These Elements?
The components of the Liquidity Trap Detector are carefully chosen to address the core challenges of identifying institutional activity and liquidity traps. Here’s why each element is included and how they work together:
1. Order Blocks:
• Purpose: Identify zones where large institutional players accumulate or distribute positions.
• Role in the Indicator: These zones act as primary liquidity areas, where price is likely to reverse or consolidate due to significant order flow.
2. Breaker Blocks:
• Purpose: Highlight areas where liquidity has been swept, leading to potential price reversals or continuations.
• Role in the Indicator: Confirms whether a liquidity trap has occurred and provides actionable levels for entry or exit.
3. ATR-Based Volatility Zones:
• Purpose: Filter signals based on market volatility to ensure trades align with statistically significant price movements.
• Role in the Indicator: Defines dynamic support and resistance zones, improving the accuracy of signal generation.
4. Volume Delta:
• Purpose: Measure the imbalance between aggressive buyers and sellers, often indicating institutional activity.
• Role in the Indicator: Validates whether a liquidity trap is backed by smart money absorption or retail-driven momentum.
5. Trend Confirmation (EMA):
• Purpose: Align liquidity trap signals with the broader market trend, reducing false positives.
• Role in the Indicator: Ensures trades are executed in the direction of the prevailing trend.
What Makes It Unique?
1. Gen 1 Liquidity Zones and Traps:
• The indicator identifies Gen 1 Liquidity Zones, which represent the first areas where liquidity is accumulated or swept. While these zones often lead to reversals, they can sometimes fail, resulting in continuation moves. The indicator highlights these scenarios, helping traders adapt.
• For example, a bull trap identified in a Gen 1 Zone may see price move higher after an initial red candle, completing a secondary liquidity sweep before reversing.
2. Multi-Layer Signal Validation:
• Signals are only generated when liquidity, volume, trend, and volatility align. This ensures high-probability setups and reduces noise in choppy markets.
3. Dynamic Adaptability:
• ATR-based zones and volume delta filtering allow the indicator to adapt to different market conditions, from trending to range-bound environments.
4. Institutional Insights:
• By focusing on liquidity sweeps, order blocks, and volume imbalances, the indicator helps traders align with institutional strategies rather than retail behavior.
How It Works
The Liquidity Trap Detector uses a step-by-step process to identify and validate liquidity traps:
1. Identifying Liquidity Zones:
• Order Blocks: Mark key zones of institutional activity where price is likely to reverse.
• Breaker Blocks: Highlight areas where liquidity sweeps have occurred, signaling potential traps.
2. Filtering with Volatility (ATR):
• ATR defines dynamic support and resistance zones, ensuring signals are only generated near significant price levels.
3. Validating Traps with Volume Delta:
• Volume delta shows whether liquidity sweeps are backed by aggressive buying/selling from institutions, confirming the trap’s validity.
4. Aligning with Market Trends:
• EMA ensures signals align with the broader trend to reduce false positives.
5. Monitoring Gen 1 Liquidity Zones:
• The indicator highlights Gen 1 Liquidity Zones where price may initially reverse or sweep further before a true reversal. Traders are alerted to potential continuation scenarios if volume or momentum suggests unmet liquidity above/below the zone.
How to Use It
Buy Signal:
• Triggered when:
• Price sweeps below an order block and forms a breaker block, indicating a liquidity trap.
• Volume delta confirms aggressive selling absorption.
• ATR volatility zone supports the reversal.
• EMA confirms a bullish trend.
• Action: Enter a Buy trade and set:
• Stop Loss (SL): Below the order block.
• Take Profit (TP): Near the next resistance or liquidity zone.
Sell Signal:
• Triggered when:
• Price sweeps above an order block and forms a breaker block, indicating a liquidity trap.
• Volume delta confirms aggressive buying absorption.
• ATR volatility zone supports the reversal.
• EMA confirms a bearish trend.
• Action: Enter a Sell trade and set:
• SL: Above the order block.
• TP: Near the next support or liquidity zone.
Timeframes:
• Best suited for scalping and intraday trading on lower timeframes (5m, 15m, 1H).
• Can also be applied to swing trading on higher timeframes.
Example Scenarios:
1. Bull Trap in a Gen 1 Zone:
• Price sweeps above a resistance order block, forms a breaker block, and reverses sharply. However, if momentum persists, price may continue higher after a minor pullback. The indicator helps traders anticipate this by monitoring volume and trend shifts.
2. Bear Trap with Secondary Sweep:
• Price sweeps below a support order block but fails to reverse immediately, instead forming a secondary liquidity sweep before turning bullish. The indicator highlights both scenarios, allowing for flexible trade management.
Why Use It?
The Liquidity Trap Detector offers:
1. Precision: Combines multiple filters to identify institutional liquidity traps with high accuracy.
2. Adaptability: Works across trending and range-bound markets.
3. Smart Money Alignment: Helps traders avoid retail traps by focusing on liquidity sweeps and institutional behavior.
Sweaty Palms MA (50/100/200 + 250)The "Sweaty Palms MA (50/100/200 + 250)" script plots four customizable Moving Averages (MAs) to help traders analyze trends across different timeframes. It includes the 50, 100, and 200-length MAs for short, medium, and long-term trend analysis, with an optional 250-length MA for additional insights. Users can choose from five different MA types: Simple (SMA), Exponential (EMA), Weighted (WMA), Relative (RMA), and Hull (HMA), offering flexibility to fit various trading strategies.
Each MA is color-coded for easy identification: blue for the 50-length MA, orange for the 100-length MA, purple for the 200-length MA, and white for the optional 250-length MA. The script also features dynamic labels placed near the most recent bar, displaying the length and type of each MA. These labels update automatically as new bars are added, ensuring that the information is always current and accessible.
This script is ideal for traders looking to identify support and resistance levels, track momentum trends, and validate trading setups across multiple timeframes. The ability to toggle the 250-length MA and adjust MA types and lengths makes it a versatile tool for both swing and intraday trading. Whether you’re monitoring crossovers, evaluating market direction, or confirming long-term trends, this indicator provides the clarity and functionality needed to make informed decisions.
Multi-Timeframe Confluence IndicatorThe Multi-Timeframe Confluence Indicator strategically combines multiple timeframes with technical tools like EMA and RSI to provide robust, high-probability trading signals. This combination is grounded in the principles of technical analysis and market behavior, tailored for traders across all styles—whether intraday, swing, or positional.
1. The Power of Multi-Timeframe Confluence
Markets are influenced by participants operating on different time horizons:
• Intraday traders act on short-term price fluctuations.
• Swing traders focus on intermediate trends lasting days or weeks.
• Position traders aim to capture multi-month or long-term trends.
By aligning signals from a higher timeframe (macro trend) with a lower timeframe (micro trend), the indicator ensures that short-term entries are in harmony with the broader market direction. This multi-timeframe approach significantly reduces false signals caused by temporary market noise or counter-trend moves.
Example: A bullish trend on the daily chart (higher timeframe) combined with a bullish RSI and EMA alignment on the 15-minute chart (lower timeframe) provides a stronger confirmation than relying on the 15-minute chart alone.
2. Why EMA and RSI Are Essential
Each element of the indicator serves a unique role in ensuring accuracy and reliability:
• EMA (Exponential Moving Average):
• A dynamic trend filter that adjusts quickly to price changes.
• On the higher timeframe, it establishes the overall trend direction (e.g., bullish or bearish).
• On the lower timeframe, it identifies precise entry/exit zones within the trend.
• RSI (Relative Strength Index):
• Adds a momentum-based perspective, confirming whether a trend is backed by strong buying or selling pressure.
• Ensures that signals occur in areas of strength (RSI > 55 for bullish signals, RSI < 45 for bearish signals), filtering out weak or uncertain price movements.
By combining EMA (trend) and RSI (momentum), the indicator delivers confluence-based validation, where both trend and momentum align, making signals more reliable.
3. Cooldown Period for Signal Optimization
Trading in choppy or sideways markets often leads to overtrading and false signals. The cooldown period ensures that once a signal is generated, subsequent signals are suppressed for a defined number of bars. This prevents traders from entering low-probability trades during indecisive market phases, improving overall signal quality.
Example: After a bullish confluence signal, the cooldown period prevents a bearish signal from being triggered prematurely if the market enters a temporary retracement.
4. Use Cases Across Trading Styles
This indicator caters to various trading styles, each benefiting from the confluence of timeframes and technical elements:
• Intraday Trading:
• Use a 1-hour chart as the higher timeframe and a 5-minute chart as the lower timeframe.
• Benefit: Align intraday entries with the hourly trend for higher win rates.
• Swing Trading:
• Use a daily chart as the higher timeframe and a 1-hour chart as the lower timeframe.
• Benefit: Capture multi-day moves while avoiding counter-trend entries.
• Scalping:
• Use a 30-minute chart as the higher timeframe and a 1-minute chart as the lower timeframe.
• Benefit: Enhance scalping efficiency by ensuring short-term trades align with broader intraday trends.
• Position Trading:
• Use a weekly chart as the higher timeframe and a daily chart as the lower timeframe.
• Benefit: Time long-term entries more precisely, maximizing profit potential.
5. Robustness Through Customization
The indicator allows traders to customize:
• Timeframes for higher and lower analysis.
• EMA lengths for trend filtering.
• RSI settings for momentum confirmation.
• Cooldown periods to adapt to market volatility.
This flexibility ensures that the indicator can be tailored to suit individual trading preferences, market conditions, and asset classes, making it a comprehensive tool for any trading strategy.
Why This Mashup Stands Out
The Multi-Timeframe Confluence Indicator is more than a sum of its parts. It leverages:
• EMA’s ability to identify trends, combined with RSI’s insight into momentum, ensuring each signal is well-supported.
• A multi-timeframe perspective that incorporates both macro and micro trends, filtering out noise and improving reliability.
• A cooldown mechanism that prevents overtrading, a common pitfall for traders in volatile markets.
This integration results in a powerful, adaptable indicator that provides actionable, high-confidence signals, reducing uncertainty and enhancing trading performance across all styles.
SPY/TLT Strategy█ STRATEGY OVERVIEW
The "SPY/TLT Strategy" is a trend-following crossover strategy designed to trade the relationship between TLT and its Simple Moving Average (SMA). The default configuration uses TLT (iShares 20+ Year Treasury Bond ETF) with a 20-period SMA, entering long positions on bullish crossovers and exiting on bearish crossunders. **This strategy is NOT optimized and performs best in trending markets.**
█ KEY FEATURES
SMA Crossover System: Uses price/SMA relationship for signal generation (Default: 20-period)
Dynamic Time Window: Configurable backtesting period (Default: 2014-2099)
Equity-Based Position Sizing: Default 100% equity allocation per trade
Real-Time Visual Feedback: Price/SMA plot with trend-state background coloring
Event-Driven Execution: Processes orders at bar close for accurate backtesting
█ SIGNAL GENERATION
1. LONG ENTRY CONDITION
TLT closing price crosses ABOVE SMA
Occurs within specified time window
Generates market order at next bar open
2. EXIT CONDITION
TLT closing price crosses BELOW SMA
Closes all open positions immediately
█ ADDITIONAL SETTINGS
SMA Period: Simple Moving Average length (Default: 20)
Start Time and End Time: The time window for trade execution (Default: 1 Jan 2014 - 1 Jan 2099)
Security Symbol: Ticker for analysis (Default: TLT)
█ PERFORMANCE OVERVIEW
Ideal Market Conditions: Strong trending environments
Potential Drawbacks: Whipsaws in range-bound markets
Backtesting results should be analyzed to optimize the MA Period and EMA Filter settings for specific instruments
Consecutive Bars Above/Below EMA Buy the Dip Strategy█ STRATEGY DESCRIPTION
The "Consecutive Bars Above/Below EMA Buy the Dip Strategy" is a mean-reversion strategy designed to identify potential buying opportunities when the price dips below a moving average for a specified number of consecutive bars. It enters a long position when the dip condition is met and exits when the price shows strength by exceeding the previous bar's high. This strategy is suitable for use on various timeframes.
█ WHAT IS THE MOVING AVERAGE?
The strategy uses either a Simple Moving Average (SMA) or an Exponential Moving Average (EMA) as a reference for identifying dips. The type and length of the moving average can be customized in the settings.
█ SIGNAL GENERATION
1. LONG ENTRY
A Buy Signal is triggered when:
The close price is below the selected moving average for a specified number of consecutive bars (`consecutiveBarsTreshold`).
The signal occurs within the specified time window (between `Start Time` and `End Time`).
2. EXIT CONDITION
A Sell Signal is generated when the current closing price exceeds the high of the previous bar (`close > high `). This indicates that the price has shown strength, potentially confirming the reversal and prompting the strategy to exit the position.
█ ADDITIONAL SETTINGS
Consecutive Bars Threshold: The number of consecutive bars the price must remain below the moving average to trigger a Buy Signal. Default is 3.
MA Type: The type of moving average used (SMA or EMA). Default is SMA.
MA Length: The length of the moving average. Default is 5.
Start Time and End Time: The time window during which the strategy is allowed to execute trades.
█ PERFORMANCE OVERVIEW
This strategy is designed for mean-reverting markets and performs best when the price frequently oscillates around the moving average.
It is sensitive to the number of consecutive bars below the moving average, which helps to identify potential dips.
Backtesting results should be analysed to optimize the Consecutive Bars Threshold, MA Type, and MA Length for specific instruments.
Normalized Jurik Moving Average [QuantAlgo]Upgrade your investing and trading strategy with the Normalized Jurik Moving Average (JMA) , a sophisticated oscillator that combines adaptive smoothing with statistical normalization to deliver high-quality signals! Whether you're a swing trader looking for momentum shifts or a medium- to long-term investor focusing on trend validation, this indicator's statistical approach offers valuable analytical advantages that can enhance your trading and investing decisions!
🟢 Core Architecture
The foundation of this indicator lies in its unique dual-layer calculation system. The first layer implements the Jurik Moving Average, known for its superior noise reduction and responsiveness, while the second layer applies statistical normalization (Z-Score) to create standardized readings. This sophisticated approach helps identify significant price movements while filtering out market noise across various timeframes and instruments.
🟢 Technical Foundation
Three key components power this indicator are:
Jurik Moving Average (JMA): An advanced moving average calculation that provides superior smoothing with minimal lag
Statistical Normalization: Z-Score based scaling that creates consistent, comparable readings across different market conditions
Dynamic Zone Detection: Automatically identifies overbought and oversold conditions based on statistical deviations
🟢 Key Features & Signals
The Normalized JMA delivers market insights through:
Color-adaptive oscillator line that reflects momentum strength and direction
Statistically significant overbought/oversold zones for trade validation
Smart gradient fills between signal line and zero level for enhanced visualization
Clear long (L) and short (S) markers for validated momentum shifts
Intelligent bar coloring that highlights the current market state
Customizable alert system for both bullish and bearish setups
🟢 Practical Usage Tips
Here's how to maximize your use of the Normalized JMA:
1/ Setup:
Add the indicator to your favorites, then apply it to your chart ⭐️
Begin with the default smoothing period for balanced analysis
Use the default normalization period for optimal signal generation
Start with standard visualization settings
Customize colors to match your chart preferences
Enable both bar coloring and signal markers for complete visual feedback
2/ Reading Signals:
Watch for L/S markers - they indicate validated momentum shifts
Monitor oscillator line color changes for direction confirmation
Use the built-in alert system to stay informed of potential trend changes
🟢 Pro Tips
Adjust Smoothing Period based on your trading style:
→ Lower values (8-12) for more responsive signals
→ Higher values (20-30) for more stable trend identification
Fine-tune Normalization Period based on market conditions:
→ Shorter periods (20-25) for more dynamic markets
→ Longer periods (40-50) for more stable markets
Optimize your analysis by:
→ Using +2/-2 zones for primary trade signals
→ Using +3/-3 zones for extreme market conditions
→ Combining with volume analysis for trade confirmation
→ Using multiple timeframe analysis for strategic context
Combine with:
→ Volume indicators for trade validation
→ Price action for entry timing
→ Support/resistance levels for profit targets
→ Trend-following indicators for directional bias
STH MVRV + Double MA | JeffreyTimmermansSTH MVRV + Double MA
This indicator combines blockchain analytics and technical analysis to provide traders with insights into market trends and cycles. At its core, it utilizes the Short-Term Holder (STH) Market Value to Realized Value (MVRV) ratio, a powerful metric in blockchain analysis, alongside Moving Averages (MA's) to offer a comprehensive view of market dynamics.
What Is the STH-MVRV Ratio?
The STH-MVRV ratio is a blockchain-based metric that compares the market value of Bitcoin held by short-term holders to its realized value.
Market Value: The current price of Bitcoin multiplied by the number of coins held by short-term holders.
Realized Value : The average price at which short-term holders acquired their Bitcoin, based on blockchain transaction data.
This ratio provides a unique perspective on market sentiment:
Above 1: Short-term holders, on average, are in profit. This often signals a bullish market.
Below 1: Short-term holders are, on average, at a loss, which can indicate bearish sentiment.
The STH-MVRV is particularly useful for identifying potential market tops or bottoms, as short-term holder behavior often reflects broader market trends.
How Does This Indicator Work?
The STH MVRV + Double MA indicator builds on the STH-MVRV ratio by integrating it with additional data and tools to enhance its practical use:
STH-MVRV Variations:
STH-MVRV (MVRV): The traditional ratio as described above.
Price-Based MVRV: A variation using Bitcoin price to measure similar dynamics.
Average MVRV: A hybrid metric combining the two for balanced insights.
Dynamic Moving Averages (MA's):
Primary SMA (STH-MVRV): Smooths out fluctuations in the STH-MVRV ratio over a default period of 155 days.
Extra MA: A faster-moving average for shorter-term trends (default: 50 days).
Second MA: A slower-moving average for longer-term trends (default: 200 days).
Visual and Alert Features:
Color-coded plots to highlight bullish or bearish conditions.
Alerts for key crossover events, such as when STH-MVRV crosses above/below critical levels or Moving Averages.
Key Features
STH-MVRV as a Sentiment Gauge:
Use the ratio to determine whether short-term holders are profiting (bullish) or losing (bearish).
Moving Average Integration:
Identify trends and reversals with customizable Moving Averages.
Crossovers between MA's and the STH-MVRV indicate actionable trading signals.
Customizable Parameters:
Tailor SMA and MA settings to align with your strategy.
Adjust colors and labels for clearer insights.
Real-Time Updates:
Dynamic labels display the current values of STH-MVRV, Price-based MVRV, or the Average, providing instant clarity.
How to Use This Indicator
Gauge Market Sentiment:
Use the STH-MVRV to understand whether the market is overvalued or undervalued based on short-term holder behavior.
Trend Identification with MA's:
Monitor crossovers between STH-MVRV and Moving Averages for potential buy or sell signals.
Analyze Market Cycles:
Use the Average MVRV to gain a broader view of market conditions, balancing short-term and long-term insights.
What Makes This Indicator Unique?
In-Depth Blockchain Metric: Builds directly on the STH-MVRV ratio, a key metric in blockchain analysis.
Integrated Analysis: Combines the STH-MVRV with Moving Averages for enhanced functionality.
Customizability and Practicality: Users can adapt the settings to fit their unique trading style, ensuring the tool is both flexible and powerful.
This combination of blockchain insights and technical tools makes the STH MVRV + Double MA indicator an essential addition to any trader’s arsenal. Use it to stay ahead of market trends and make informed decisions with confidence.
-Jeffrey
MA PremiumMA Premium: Advanced Moving Average with Dynamic ATR Bands
MA Premium is a cutting-edge moving average indicator designed to help traders identify potential price reversal zones and optimize their trading strategies. The indicator combines a proprietary “Safety MA” with dynamic ATR-based support and resistance bands, visualized through clean lines and optional cloud regions.
Key Features
1. Proprietary “Safety MA”
The Safety MA utilizes a custom multi-layered EMA algorithm, providing a highly responsive and smooth trend line.
Dynamically adjusts to changing market conditions, offering clear signals for trend direction and potential reversals.
2. Dynamic ATR-Based Bands
Generates multiple support and resistance levels using advanced ATR calculations.
Bands represent zones of increasing market volatility and highlight potential price reversal areas, suitable for tiered trading strategies.
Visually separates overbought and oversold zones to assist in identifying critical price action points.
3. Customizable Settings
Adjustable Bandwidth: Scale the ATR bands dynamically using the Bandwidth Coefficient to align with market volatility.
MA Speed Selection: Toggle between “Fast,” “Medium,” or “Slow” settings to adjust the sensitivity of the Safety MA.
4. Intuitive Visualizations
Optional display of cloud lines and shaded regions to visually enhance support/resistance zones.
A clean and structured design ensures clarity in interpretation.
How to Use
Set the MA Type (“Fast,” “Medium,” or “Slow”) for desired responsiveness.
Adjust the Bandwidth Coefficient to match the current market's volatility.
The Safety MA acts as a dynamic trend-following tool.
Use the ATR-based bands to identify areas where price may react (e.g., potential reversals in overbought or oversold zones).
Employ the dynamic bands for tiered trade execution to manage risk and enhance entry/exit strategies.
Green bands highlight overbought zones (potential bearish reactions).
Red bands indicate oversold zones (potential bullish reactions).
Unlike traditional moving average tools, MA Premium introduces advanced dynamic band calculations and unique visual cues to help traders navigate market volatility effectively. Its adaptability and precision make it an invaluable tool for scalpers, swing traders, and long-term investors alike.
Note on Closed-Source Policy
As part of my development principles, I choose to publish my indicators as closed-source to preserve the uniqueness and integrity of the algorithms used. While the underlying logic remains private, the detailed description provided ensures that traders can fully understand the purpose, functionality, and application of the indicator. This approach allows me to focus on delivering original tools that add value to the trading community.
Disclaimer
This script is provided under the Mozilla Public License 2.0 and is intended for educational purposes only. It should not be construed as financial advice. Always combine this indicator with additional market context and use sound risk management practices.
Range Channel by Atilla YurtsevenThis script creates a dynamic channel around a user-selected moving average (MA). It calculates the relative difference between price and the MA, then finds the average of the positive differences and the negative differences separately. Using these averages, it plots upper and lower bands around the MA as well as a histogram-like oscillator to show when price moves above or below the average thresholds.
How It Works
Moving Average Selection
The indicator allows you to choose among multiple MA types (SMA, EMA, WMA, Linear Regression, etc.). Depending on your preference, it calculates the chosen MA for the selected lookback period.
Relative Difference Calculation
It then computes the percentage difference between the source (typically the closing price) and the MA. (diff = (src / ma - 1) * 100)
Positive & Negative Averages
- Positive differences are averaged and represent how far the price typically moves above the MA.
- Negative differences are similarly averaged for when price moves below the MA.
Range Channel & Oscillator
- The channel is plotted around the MA using the average positive and negative differences (Upper Edge and Lower Edge).
- The “Untrended” histogram plots the difference (diff). Green bars occur when price is above the MA on average, and red bars when below. Two additional lines mark the upper and lower average thresholds on this histogram.
How to Use
Identify Overbought/Oversold Zones: The upper edge can serve as a dynamic overbought level, while the lower edge can suggest potential oversold conditions. When the histogram approaches or crosses these levels, it may signal price extremes relative to its average movement.
Trend Confirmation: Compare price action relative to the channel. If price and the histogram consistently remain above the MA and upper threshold, it could indicate a stronger bullish trend. If they remain below, it might signal a prolonged bearish trend.
Entry/Exit Timings:
- Entry: Traders can look for moments when price breaks back inside the channel from an extreme, anticipating a mean reversion.
- Exit: Watching how price interacts with these dynamic edges can help define stop-loss or take-profit points.
Because these thresholds adapt over time based on actual price behavior, they can be more responsive than fixed-percentage bands. However, like all indicators, it’s most effective when used in conjunction with other technical and fundamental tools.
Disclaimer
This script is provided for educational and informational purposes only. It does not guarantee any specific outcome or profit. Use it at your own discretion and risk.
Trade smart, stay safe.
Atilla Yurtseven
Strength of Divergence Across Multiple Indicators (+CMF&VWMACD)Modified Version of Strength of Divergence Across Multiple Indicators by reees
Purpose:
This Pine Script indicator is designed to identify and evaluate the strength of bullish and bearish divergences across multiple technical indicators. Divergences occur when the price of an asset is moving in one direction while a technical indicator is moving in the opposite direction, potentially signaling a trend reversal.
Key Features:
1. Multiple Indicator Support: The script now analyzes divergences for the following indicators:
* RSI (Relative Strength Index)
* OBV (On-Balance Volume)
* MACD (Moving Average Convergence/Divergence)
* STOCH (Stochastic Oscillator)
* CCI (Commodity Channel Index)
* MFI (Money Flow Index)
* AO (Awesome Oscillator)
* CMF (Chaikin Money Flow) - Newly added
* VWMACD (Volume-Weighted MACD) - Newly added
2. Customizable Divergence Parameters:
* Bullish/Bearish: Enable or disable the detection of bullish and bearish divergences independently.
* Regular/Hidden: Detect both regular and hidden divergences (hidden divergences can indicate trend continuation).
* Broken Trendline Exclusion: Optionally ignore divergences where the trendline connecting price pivots is broken by an intermediate pivot.
* Pivot Lookback Periods: Adjust the number of bars used to identify valid pivot highs and lows for divergence calculations.
* Weighting: Assign different weights to regular vs. hidden divergences and to the relative change in price vs. the indicator.
3. Indicator-Specific Settings:
* Weight: Each indicator can be assigned a weight, influencing its contribution to the overall divergence strength calculation.
* Extreme Value: Define a threshold above which an indicator's divergence is considered "extreme," giving it a higher strength rating.
4. Divergence Strength Calculation:
* For each indicator, the script calculates a divergence "degree" based on the magnitude of the divergence and the user-defined weightings.
* The total divergence strength is the sum of the individual indicator divergence degrees.
* Strength is categorized as "Extreme," "Very strong," "Strong," "Moderate," "Weak," or "Very weak."
5. Visualization:
* Divergence Lines: The script draws lines on the chart connecting the price and indicator pivots that form a divergence (optional, with customizable transparency).
* Labels: Labels display the total divergence strength and a breakdown of each indicator's contribution. The size and visibility of labels are based on the strength.
6. Alerts:
* The script can generate alerts when the total divergence strength exceeds a user-defined threshold.
New Indicators (CMF and VWMACD):
* Chaikin Money Flow (CMF):
* Purpose: Measures the buying and selling pressure by analyzing the relationship between price, volume, and the accumulation/distribution line.
* Divergence: A bullish CMF divergence occurs when the price makes a lower low, but the CMF makes a higher low (suggesting increasing buying pressure). A bearish divergence is the opposite.
* Volume-Weighted MACD (VWMACD):
* Purpose: Similar to the standard MACD but uses volume-weighted moving averages instead of simple moving averages, giving more weight to periods with higher volume.
* Divergence: Divergences are interpreted similarly to the standard MACD, but the VWMACD can be more sensitive to volume changes.
How It Works (Simplified):
1. Pivot Detection: The script identifies pivot highs and lows in both price and the selected indicators using the specified lookback periods.
2. Divergence Check: For each indicator:
* It checks if a series of pivots in price and the indicator are diverging (e.g., price makes a lower low, but the indicator makes a higher low for a bullish divergence).
* It calculates the divergence degree based on the difference in price and indicator values, weightings, and whether it's a regular or hidden divergence.
3. Strength Aggregation: The script sums up the divergence degrees of all enabled indicators to get the total divergence strength.
4. Visualization and Alerts: It draws lines and labels on the chart to visualize the divergences and generates alerts if the total strength exceeds the set threshold.
Benefits:
* Comprehensive Divergence Analysis: By considering multiple indicators, the script provides a more robust assessment of potential trend reversals.
* Customization: The many adjustable parameters allow traders to fine-tune the script to their specific trading style and preferences.
* Objective Strength Evaluation: The divergence strength calculation and categorization offer a more objective way to evaluate the significance of divergences.
* Early Warning System: Divergences can often precede significant price movements, making this script a valuable tool for anticipating potential trend changes.
* Volume Confirmation: The inclusion of CMF and VWMACD add volume-based confirmation to the divergence signals, potentially increasing their reliability.
Limitations:
* Lagging Indicators: Most of the indicators used are lagging, meaning they are based on past price data. Divergences may sometimes occur after a significant price move has already begun.
* False Signals: No indicator is perfect, and divergences can sometimes produce false signals, especially in choppy or ranging markets.
* Subjectivity: While the script aims for objectivity, some settings (like weightings and extreme values) still involve a degree of subjective judgment.
EMA Volatility Channel [QuantAlgo]EMA Volatility Channel 🌊📈
The EMA Volatility Channel by QuantAlgo is an advanced technical indicator designed to capture price volatility and trend dynamics through adaptive channels based on exponential moving averages. This sophisticated system combines EMA-based trend analysis with dynamic volatility-adjusted bands to help traders and investors identify trend direction, potential reversals, and market volatility conditions. By evaluating both price momentum and volatility together, this tool enables users to make informed trading decisions while adapting to changing market conditions.
💫 Dynamic Channel Architecture
The EMA Volatility Channel provides a unique framework for assessing market trends through a blend of exponential moving averages and volatility-based channel calculations. Unlike traditional channel indicators that use fixed-width bands, this system incorporates dynamic volatility measurements to adjust channel width automatically, helping users determine whether price movements are significant relative to current market conditions. By combining smooth EMA trends with adaptive volatility bands, it evaluates both directional movement and market volatility, while the smoothing parameters ensure stable yet responsive channel adjustments. This adaptive approach allows users to identify trending conditions while remaining aware of volatility expansions and contractions, enhancing both trend-following and reversal strategies.
📊 Indicator Components & Mechanics
The EMA Volatility Channel is composed of several technical components that create a dynamic channel system:
EMA Midline: Calculates a smoothed exponential moving average that serves as the channel's centerline, providing a clear reference for trend direction.
Volatility Measurement: Computes average price movement to determine dynamic channel width, adapting to changing market conditions automatically.
Smooth Band Calculation: Applies additional smoothing to the channel bands, reducing noise while maintaining responsiveness to significant price movements.
📈 Key Indicators and Features
The EMA Volatility Channel combines various technical tools to deliver a comprehensive analysis of market conditions.
The indicator utilizes exponential moving averages with customizable length and smoothing parameters to adapt to different trading styles. Volatility calculations are applied to determine channel width, providing context-aware boundaries for price movement. The trend detection component evaluates price action relative to the channel bands, helping validate trends and identify potential reversals.
The indicator incorporates multi-layered visualization with color-coded channels and bars to signal both trend direction and market position. These adaptive visual cues, combined with programmable alerts for channel breakouts, help traders and investors track both trend changes and volatility conditions, supporting both trend-following and mean-reversion strategies.
⚡️ Practical Applications and Examples
✅ Add the Indicator: Add the indicator to your TradingView chart by clicking on the star icon to add it to your favorites ⭐️
👀 Monitor Channel Position: Watch the price position relative to the channel bands to identify trend direction and potential reversals. When price moves outside the channel, consider potential trend changes or extreme conditions.
🔔 Set Alerts: Configure alerts for channel breakouts and trend changes, ensuring you can act on significant technical developments promptly.
🌟 Summary and Tips
The EMA Volatility Channel by QuantAlgo is a versatile technical tool, designed to support both trend following and volatility analysis across different market environments. By combining smooth EMA trends with dynamic volatility-based channels, it helps traders and investors identify significant price movements while measuring market volatility, providing reliable technical signals. The tool's adaptability across timeframes makes it suitable for both trend-following and reversal strategies, allowing users to capture opportunities while maintaining awareness of changing market conditions.
HMA Gaussian Volatility AdjustedOverview
The "HMA Gaussian Volatility Adjusted" indicator introduces a unique combination of HMA smoothing with a Gaussian filter and two components to measure volatility (Average True Range (ATR) and Standard Deviation (SD)). This tool provides traders with a stable and accurate measure of price trends by integrating a Gaussian Filter smoothed using HMA with a customized calculation of volatility. This innovative approach allows for enhanced sensitivity to market fluctuations while filtering out short-term price noise.
Technical Composition and Calculation
The "HMA Gaussian Volatility Adjusted" indicator incorporates HMA smoothing and dynamic standard deviation calculations to build upon traditional volatility measures.
HMA & Gaussian Smoothing:
HMA Calculation (HMA_Length): The script applies a Hull Moving Average (HMA) to smooth the price data over a user-defined period, reducing noise and helping focus on broader market trends.
Gaussian Filter Calculation (Length_Gaussian): The smoothed HMA data is further refined by putting it into a Gaussian filter to incorporate a normal distribution.
Volatility Measurement:
ATR Calculation (ATR_Length, ATR_Factor): The indicator incorporates the Average True Range (ATR) to measure market volatility. The user-defined ATR multiplier is applied to this value to calculate upper and lower trend bands around the Gaussian, providing a dynamic measure of potential price movement based on recent volatility.
Standard Deviation Calculation (SD_Length): The script calculates the standard deviation of the price over a user-defined length, providing another layer of volatility measurement. The upper and lower standard deviation bands (SDD, SDU) act as additional indicators of price extremes.
Momentum Calculation & Scoring
When the indicator signals SHORT:
Diff = Price - Upper Boundary of the Standard Deviation (calculated on a Gaussian filter).
When the indicator signals LONG:
Diff = Price - Upper Boundary of the ATR (calculated on a Gaussian filter).
The calculated Diff signals how close the indicator is to changing trends. An EMA is applied to the Diff to smooth the data. Positive momentum occurs when the Diff is above the EMA, and negative momentum occurs when the Diff is below the EMA.
Trend Detection
Trend Logic: The indicator uses the calculated bands to identify whether the price is moving within or outside the standard deviation and ATR bands. Crosses above or below these bands, combined with positive/negative momentum, signals potential uptrends or downtrends, offering traders a clear view of market direction.
Features and User Inputs
The "HMA Gaussian Volatility Adjusted" script offers a variety of user inputs to customize the indicator to suit traders' styles and market conditions:
HMA Length: Allows traders to adjust the sensitivity of the HMA smoothing to control the amount of noise filtered from the price data.
Gaussian Length: Users can define the length at which the Gaussian filter is applied.
ATR Length and Multiplier: These inputs let traders fine-tune the ATR calculation, affecting the size of the dynamic upper and lower bands to adjust for price volatility.
Standard Deviation Length: Controls how the standard deviation is calculated, allowing further customization in detecting price volatility.
EMA Confluence: This input lets traders determine the length of the EMA used to calculate price momentum.
Type of Plot Setting: Allows users to determine how the indicator signal is plotted on the chart (Background color, Trend Lines, BOTH (backgroung color and Trend Lines)).
Transparency: Provides users with customization of the background color's transparency.
Color Long/Short: Offers users the option to choose their preferred colors for both long and short signals.
Summary and Usage Tips
The "HMA Gaussian Volatility Adjusted" indicator is a powerful tool for traders looking to refine their analysis of market trends and volatility. Its combination of HMA smoothing, Gaussian filtering, and standard deviation analysis provides a nuanced view of market movements by incorporating various metrics to determine direction, momentum, and volatility. This helps traders make better-informed decisions. It's recommended to experiment with the various input parameters to optimize the indicator for specific needs.
VD Zig Zag with SMAIntroduction
The VD Zig Zag with SMA indicator is a powerful tool designed to streamline technical analysis by combining Zig Zag swing lines with a Simple Moving Average (SMA). It offers traders a clear and intuitive way to analyze price trends, market structure, and potential reversals, all within a customizable framework.
Definition
The Zig Zag indicator is a trend-following tool that highlights significant price movements by filtering out smaller fluctuations. It visually connects swing highs and lows to reveal the underlying market structure. When paired with an SMA, it provides an additional layer of trend confirmation, helping traders align their strategies with market momentum.
Calculations
Zig Zag Logic:
Swing highs and lows are determined using a user-defined length parameter.
The highest and lowest points within the specified range are identified using the ta.highest() and ta.lowest() functions.
Zig Zag lines dynamically connect these swing points to visually map price movements.
SMA Logic:
The SMA is calculated using the closing prices over a user-defined period.
It smooths out price action to provide a clearer view of the prevailing trend.
The indicator allows traders to adjust the Zig Zag length and SMA period to suit their preferred trading timeframe and strategy.
Takeaways
Enhanced Trend Analysis: The Zig Zag lines clearly define the market's structural highs and lows, helping traders identify trends and reversals.
Customizable Parameters: Both the swing length and SMA period can be tailored for short-term or long-term trading strategies.
Visual Clarity: By filtering out noise, the indicator simplifies chart analysis and enables better decision-making.
Multi-Timeframe Support: Adapts seamlessly to the chart's timeframe, ensuring usability across all trading horizons.
Limitations
Lagging Nature: As with any indicator, the Zig Zag and SMA components are reactive and may lag during sudden price movements.
Sensitivity to Parameters: Improper parameter settings can lead to overfitting, where the indicator reacts too sensitively or misses significant trends.
Does Not Predict: This indicator identifies trends and structure but does not provide forward-looking predictions.
Summary
The VD Zig Zag with SMA indicator is a versatile and easy-to-use tool that combines the strengths of Zig Zag swing analysis and moving average trends. It helps traders filter market noise, visualize structural patterns, and confirm trends with greater confidence. While it comes with limitations inherent to all technical tools, its customizable features and multi-timeframe adaptability make it an excellent addition to any trader’s toolkit.
Additional Features
Have an idea or a feature you'd like to see added?
Feel free to reach out or share your suggestions here—I’m always open to updates!
RawCuts_01Library "RawCuts_01"
A collection of functions by:
mutantdog
The majority of these are used within published projects, some useful variants have been included here aswell.
This is volume one consisting mainly of smaller functions, predominantly the filters and standard deviations from Weight Gain 4000.
Also included at the bottom are various snippets of related code for demonstration. These can be copied and adjusted according to your needs.
A full up-to-date table of contents is located at the top of the main script.
WEIGHT GAIN FILTERS
A collection of moving average type filters with adjustable volume weighting.
Based upon the two most common methods of volume weighting.
'Simple' uses the standard method in which a basic VWMA is analogous to SMA.
'Elastic' uses exponential method found in EVWMA which is analogous to RMA.
Volume weighting is applied according to an exponent multiplier of input volume.
0 >> volume^0 (unweighted), 1 >> volume^1 (fully weighted), use float values for intermediate weighting.
Additional volume filter switch for smoothing of outlier events.
DIVA MODULAR DEVIATIONS
A small collection of standard and absolute deviations.
Includes the weightgain functionality as above.
Basic modular functionality for more creative uses.
Optional input (ct) for external central tendency (aka: estimator).
Can be assigned to alternative filter or any float value. Will default to internal filter when no ct input is received.
Some other useful or related functions included at the bottom along with basic demonstration use.
weightgain_sma(src, len, xVol, fVol)
Simple Moving Average (SMA): Weight Gain (Simple Volume).
Parameters:
src (float) : Source input.
len (int) : Length (number of bars).
xVol (float) : Volume exponent multiplier (0 = unweighted, 1 = fully weighted).
fVol (bool) : Volume smoothing filter.
Returns: Standard Simple Moving Average with Simple Weight Gain applied.
weightgain_hsma(src, len, xVol, fVol)
Harmonic Simple Moving Average (hSMA): Weight Gain (Simple Volume).
Parameters:
src (float) : Source input.
len (int) : Length (number of bars).
xVol (float) : Volume exponent multiplier (0 = unweighted, 1 = fully weighted).
fVol (bool) : Volume smoothing filter.
Returns: Harmonic Simple Moving Average with Simple Weight Gain applied.
weightgain_gsma(src, len, xVol, fVol)
Geometric Simple Moving Average (gSMA): Weight Gain (Simple Volume).
Parameters:
src (float) : Source input.
len (int) : Length (number of bars).
xVol (float) : Volume exponent multiplier (0 = unweighted, 1 = fully weighted).
fVol (bool) : Volume smoothing filter.
Returns: Geometric Simple Moving Average with Simple Weight Gain applied.
weightgain_wma(src, len, xVol, fVol)
Linear Weighted Moving Average (WMA): Weight Gain (Simple Volume).
Parameters:
src (float) : Source input.
len (int) : Length (number of bars).
xVol (float) : Volume exponent multiplier (0 = unweighted, 1 = fully weighted).
fVol (bool) : Volume smoothing filter.
Returns: Basic Linear Weighted Moving Average with Simple Weight Gain applied.
weightgain_hma(src, len, xVol, fVol)
Hull Moving Average (HMA): Weight Gain (Simple Volume).
Parameters:
src (float) : Source input.
len (int) : Length (number of bars).
xVol (float) : Volume exponent multiplier (0 = unweighted, 1 = fully weighted).
fVol (bool) : Volume smoothing filter.
Returns: Basic Hull Moving Average with Simple Weight Gain applied.
diva_sd_sma(src, len, xVol, fVol, ct)
Standard Deviation (SD SMA): Diva / Weight Gain (Simple Volume)
Parameters:
src (float) : Source input.
len (int) : Length (number of bars).
xVol (float) : Volume exponent multiplier (0 = unweighted, 1 = fully weighted).
fVol (bool) : Volume smoothing filter.
ct (float) : Central tendency (optional, na = bypass). Internal: weightgain_sma().
Returns:
diva_sd_wma(src, len, xVol, fVol, ct)
Standard Deviation (SD WMA): Diva / Weight Gain (Simple Volume).
Parameters:
src (float) : Source input.
len (int) : Length (number of bars).
xVol (float) : Volume exponent multiplier (0 = unweighted, 1 = fully weighted).
fVol (bool) : Volume smoothing filter.
ct (float) : Central tendency (optional, na = bypass). Internal: weightgain_wma().
Returns:
diva_aad_sma(src, len, xVol, fVol, ct)
Average Absolute Deviation (AAD SMA): Diva / Weight Gain (Simple Volume).
Parameters:
src (float) : Source input.
len (int) : Length (number of bars).
xVol (float) : Volume exponent multiplier (0 = unweighted, 1 = fully weighted).
fVol (bool) : Volume smoothing filter.
ct (float) : Central tendency (optional, na = bypass). Internal: weightgain_sma().
Returns:
diva_aad_wma(src, len, xVol, fVol, ct)
Average Absolute Deviation (AAD WMA): Diva / Weight Gain (Simple Volume) .
Parameters:
src (float) : Source input.
len (int) : Length (number of bars).
xVol (float) : Volume exponent multiplier (0 = unweighted, 1 = fully weighted).
fVol (bool) : Volume smoothing filter.
ct (float) : Central tendency (optional, na = bypass). Internal: weightgain_wma().
Returns:
weightgain_ema(src, len, xVol, fVol)
Exponential Moving Average (EMA): Weight Gain (Elastic Volume).
Parameters:
src (float) : Source input.
len (int) : Length (number of bars).
xVol (float) : Volume exponent multiplier (0 = unweighted, 1 = fully weighted).
fVol (bool) : Volume smoothing filter.
Returns: Exponential Moving Average with Elastic Weight Gain applied.
weightgain_dema(src, len, xVol, fVol)
Double Exponential Moving Average (DEMA): Weight Gain (Elastic Volume).
Parameters:
src (float) : Source input.
len (int) : Length (number of bars).
xVol (float) : Volume exponent multiplier (0 = unweighted, 1 = fully weighted).
fVol (bool) : Volume smoothing filter.
Returns: Double Exponential Moving Average with Elastic Weight Gain applied.
weightgain_tema(src, len, xVol, fVol)
Triple Exponential Moving Average (TEMA): Weight Gain (Elastic Volume).
Parameters:
src (float) : Source input.
len (int) : Length (number of bars).
xVol (float) : Volume exponent multiplier (0 = unweighted, 1 = fully weighted).
fVol (bool) : Volume smoothing filter.
Returns: Triple Exponential Moving Average with Elastic Weight Gain applied.
weightgain_rma(src, len, xVol, fVol)
Rolling Moving Average (RMA): Weight Gain (Elastic Volume).
Parameters:
src (float) : Source input.
len (int) : Length (number of bars).
xVol (float) : Volume exponent multiplier (0 = unweighted, 1 = fully weighted).
fVol (bool) : Volume smoothing filter.
Returns: Rolling Moving Average with Elastic Weight Gain applied.
weightgain_drma(src, len, xVol, fVol)
Double Rolling Moving Average (DRMA): Weight Gain (Elastic Volume).
Parameters:
src (float) : Source input.
len (int) : Length (number of bars).
xVol (float) : Volume exponent multiplier (0 = unweighted, 1 = fully weighted).
fVol (bool) : Volume smoothing filter.
Returns: Double Rolling Moving Average with Elastic Weight Gain applied.
weightgain_trma(src, len, xVol, fVol)
Triple Rolling Moving Average (TRMA): Weight Gain (Elastic Volume).
Parameters:
src (float) : Source input.
len (int) : Length (number of bars).
xVol (float) : Volume exponent multiplier (0 = unweighted, 1 = fully weighted).
fVol (bool) : Volume smoothing filter.
Returns: Triple Rolling Moving Average with Elastic Weight Gain applied.
diva_sd_ema(src, len, xVol, fVol, ct)
Standard Deviation (SD EMA): Diva / Weight Gain: (Elastic Volume).
Parameters:
src (float) : Source input.
len (int) : Length (number of bars).
xVol (float) : Volume exponent multiplier (0 = unweighted, 1 = fully weighted).
fVol (bool) : Volume smoothing filter.
ct (float) : Central tendency (optional, na = bypass). Internal: weightgain_ema().
Returns:
diva_sd_rma(src, len, xVol, fVol, ct)
Standard Deviation (SD RMA): Diva / Weight Gain: (Elastic Volume).
Parameters:
src (float) : Source input.
len (int) : Length (number of bars).
xVol (float) : Volume exponent multiplier (0 = unweighted, 1 = fully weighted).
fVol (bool) : Volume smoothing filter.
ct (float) : Central tendency (optional, na = bypass). Internal: weightgain_rma().
Returns:
weightgain_vidya_rma(src, len, xVol, fVol)
VIDYA v1 RMA base (VIDYA-RMA): Weight Gain (Elastic Volume).
Parameters:
src (float) : Source input.
len (int) : Length (number of bars).
xVol (float) : Volume exponent multiplier (0 = unweighted, 1 = fully weighted).
fVol (bool) : Volume smoothing filter.
Returns: VIDYA v1, RMA base with Elastic Weight Gain applied.
weightgain_vidya_ema(src, len, xVol, fVol)
VIDYA v1 EMA base (VIDYA-EMA): Weight Gain (Elastic Volume).
Parameters:
src (float) : Source input.
len (int) : Length (number of bars).
xVol (float) : Volume exponent multiplier (0 = unweighted, 1 = fully weighted).
fVol (bool) : Volume smoothing filter.
Returns: VIDYA v1, EMA base with Elastic Weight Gain applied.
diva_sd_vidya_rma(src, len, xVol, fVol, ct)
Standard Deviation (SD VIDYA-RMA): Diva / Weight Gain: (Elastic Volume).
Parameters:
src (float) : Source input.
len (int) : Length (number of bars).
xVol (float) : Volume exponent multiplier (0 = unweighted, 1 = fully weighted).
fVol (bool) : Volume smoothing filter.
ct (float) : Central tendency (optional, na = bypass). Internal: weightgain_vidya_rma().
Returns:
diva_sd_vidya_ema(src, len, xVol, fVol, ct)
Standard Deviation (SD VIDYA-EMA): Diva / Weight Gain: (Elastic Volume).
Parameters:
src (float) : Source input.
len (int) : Length (number of bars).
xVol (float) : Volume exponent multiplier (0 = unweighted, 1 = fully weighted).
fVol (bool) : Volume smoothing filter.
ct (float) : Central tendency (optional, na = bypass). Internal: weightgain_vidya_ema().
Returns:
weightgain_sema(src, len, xVol, fVol)
Parameters:
src (float)
len (simple int)
xVol (float)
fVol (bool)
diva_sd_sema(src, len, xVol, fVol)
Parameters:
src (float)
len (simple int)
xVol (float)
fVol (bool)
diva_mad_mm(src, len, ct)
Median Absolute Deviation (MAD MM): Diva (no volume weighting).
Parameters:
src (float) : Source input.
len (int) : Length (number of bars).
ct (float) : Central tendency (optional, na = bypass). Internal: ta.median()
Returns:
source_switch(slct, aux1, aux2, aux3, aux4)
Custom Source Selector/Switch function. Features standard & custom 'weighted' sources with additional aux inputs.
Parameters:
slct (string) : Choose from custom set of string values.
aux1 (float) : Additional input for user-defined source, eg: standard input.source(). Optional, use na to bypass.
aux2 (float) : Additional input for user-defined source, eg: standard input.source(). Optional, use na to bypass.
aux3 (float) : Additional input for user-defined source, eg: standard input.source(). Optional, use na to bypass.
aux4 (float) : Additional input for user-defined source, eg: standard input.source(). Optional, use na to bypass.
Returns: Float value, to be used as src input for other functions.
colour_gradient_ma_div(ma1, ma2, div, bull, bear, mid, mult)
Colour Gradient for plot fill between two moving averages etc, with seperate bull/bear and divergence strength.
Parameters:
ma1 (float) : Input for fast moving average (eg: bullish when above ma2).
ma2 (float) : Input for slow moving average (eg: bullish when below ma1).
div (float) : Input deviation/divergence value used to calculate strength of colour.
bull (color) : Colour when ma1 above ma2.
bear (color) : Colour when ma1 below ma2.
mid (color) : Neutral colour when ma1 = ma2.
mult (int) : Opacity multiplier. 100 = maximum, 0 = transparent.
Returns: Colour with transparency (according to specified inputs)
Moving AveragesWhile this "Moving Averages" indicator may not revolutionize technical analysis, it certainly offers a valuable and efficient solution for traders seeking to streamline their chart analysis process. This all-in-one tool addresses a common frustration among traders: the need to constantly search for and compare different types and lengths of moving averages.
Key Features
The indicator allows for the configuration of up to 5 moving averages simultaneously, providing a comprehensive view of price trends. Users can choose from 7 types of moving averages for each line, including SMA, EMA, WMA, VWMA, HMA, SMMA, and TMA. This variety ensures that traders can apply their preferred moving average types without the need for multiple indicators.
Each moving average can be fully customized in terms of length, color, line style, and thickness, allowing for clear visual differentiation. However, what sets this indicator apart is its "Smart Opacity" feature. When activated, this option dynamically adjusts the transparency of the moving average lines based on their direction, with ascending lines appearing more opaque and descending lines more transparent. This subtle yet effective visual cue aids in quickly identifying trend changes and potential trading signals.
Advantages
The primary benefit of this indicator lies in its convenience. By consolidating multiple moving averages into a single, customizable tool, it saves traders valuable time and reduces chart clutter. The Smart Opacity feature, while not groundbreaking, does offer an intuitive way to visualize trend strength and direction at a glance.
Moreover, the indicator's flexibility makes it suitable for various trading styles and experience levels. Whether you're a novice trader learning to interpret basic trend signals or an experienced analyst fine-tuning a complex strategy, this tool can adapt to your needs.
In conclusion, while this "Moving Averages" indicator may not be a game-changer in the world of technical analysis, it represents a thoughtful refinement of a fundamental trading tool. By focusing on user convenience and visual clarity, it offers a practical solution for traders looking to optimize their chart analysis process and make more informed trading decisions.
Dynamic Score SMA [QuantAlgo]Dynamic Score SMA 📈🌊
The Dynamic Score SMA by QuantAlgo offers a powerful trend-following approach that combines the simplicity of the Simple Moving Average (SMA) with an innovative dynamic trend scoring technique . By continuously evaluating price movement relative to the SMA over a customizable window, this indicator adapts to varying market conditions, providing traders and investors with clearer, more adaptable trend signals. With this dynamic scoring approach, the Dynamic Score SMA helps identify trend shifts, allowing for more strategic decision-making.
🌟 Conceptual Foundation and Innovation
At the core of the Dynamic Score SMA is its dynamic trend score system , which assesses price movements by comparing them to the SMA over a series of historical data points. This technique goes beyond traditional SMA indicators by offering a dynamic, probabilistic evaluation of trend strength, delivering a more responsive and nuanced view of market direction. The integration of this scoring system enables traders and investors to navigate both trending and sideway markets with greater confidence and precision.
⚙️ Technical Composition and Calculation
The Dynamic Score SMA leverages the Simple Moving Average to establish a baseline trend, with customizable SMA length to control the indicator’s sensitivity. The dynamic trend scoring technique then evaluates price behavior relative to the SMA over a specified window, generating a trend score that reflects the current market bias.
When the score crosses the designated uptrend or downtrend thresholds, the indicator signals a potential trend shift. By adjusting the SMA length, window duration, and thresholds, users can refine the indicator’s responsiveness to match their preferred trading or investing strategy, making it suitable for both volatile and steady markets.
📈 Features and Practical Applications
Customizable SMA Length: Set the length of the SMA to control how sensitive the trend is to price changes. Longer lengths produce smoother trends, while shorter lengths increase responsiveness.
Window Length for Dynamic Scoring: Adjust the window length to determine how many data points are considered in the dynamic trend score calculation, allowing for more tailored analysis of recent versus long-term trends.
Uptrend/Downtrend Thresholds: Define thresholds for triggering trend signals. Higher thresholds reduce sensitivity, providing clearer signals in volatile markets, while lower thresholds capture shorter-term movements.
Bar and Background Coloring: Visual cues, including bar coloring and background fills, provide a quick reference for current trend direction, making it easier to monitor market conditions.
Trend Confirmation: The dynamic trend scoring system verifies trend strength, offering more reliable entry and exit points by filtering out potential false signals.
⚡️ How to Use
✅ Add the Indicator: Add the Dynamic Score SMA to your favourites, then apply it to your chart. Customize the SMA length, window size, and thresholds to match your trading or investing preferences.
👀 Monitor Trend Shifts: Observe the trend in relation to the SMA and watch for signals when the score crosses key thresholds. Bar and/or background coloring will help identify the current trend direction and any shifts in momentum.
🔔 Set Alerts: Configure alerts for significant trend crossovers and reversals, enabling you to act on market changes in real-time without needing constant chart observation.
💫 Summary and Usage Tips
The Dynamic Score SMA by QuantAlgo is a sophisticated trend-following indicator that combines the familiarity of the SMA with a dynamic trend scoring system, providing a more adaptable and probabilistic approach to trend analysis. By tailoring the SMA length, scoring window, and thresholds, traders and investors can fine-tune the indicator for both short-term adjustments and long-term trend following. For optimal use, adjust sensitivity based on market volatility, and rely on the visual cues for clear trend confirmation. Whether you’re navigating choppy markets or stable trends, the Dynamic Score SMA offers a refined approach to capturing market direction with enhanced precision.
CPR by NKDCentral Pivot Range (CPR) Trading Strategy:
The Central Pivot Range (CPR) is a widely-used tool in technical analysis, helping traders pinpoint potential support and resistance levels in the market. By using the CPR effectively, traders can better gauge market trends and determine favorable entry and exit points. This guide explores how the CPR works, outlines its calculation, and describes how traders can enhance their strategies using an extended 10-line version of CPR.
What Really Central Pivot Range (CPR) is?
At its core, the CPR consists of three key lines:
Pivot Point (PP) – The central line, calculated as the average of the previous day’s high, low, and closing prices.
Upper Range (R1) – Positioned above the Pivot Point, acting as a potential ceiling where price may face resistance.
Lower Range (S1) – Found below the Pivot Point, serving as a potential floor where price might find support.
Advanced traders often expand on the traditional three-line CPR by adding extra levels above and below the pivot, creating up to a 10-line system. This extended CPR allows for a more nuanced understanding of the market and helps identify more detailed trading opportunities.
Applying CPR for Trading Success
1. How CPR is Calculation
The CPR relies on the previous day's high (H), low (L), and close (C) prices to create its structure:
Pivot Point (PP) = (H + L + C) / 3
First Resistance (R1) = (2 * PP) - L
First Support (S1) = (2 * PP) - H
Additional resistance levels (R2, R3) and support levels (S2, S3) are calculated by adding or subtracting multiples of the previous day’s price range (H - L) from the Pivot Point.
2. Recognizing the Market Trend
To effectively trade using CPR, it’s essential to first determine whether the market is trending up (bullish) or down (bearish). In an upward-trending market, traders focus on buying at support levels, while in a downward market, they look to sell near resistance.
3. Finding Ideal Entry Points
Traders often look to enter trades when price approaches key levels within the CPR range. Support levels (S1, S2) offer buying opportunities, while resistance levels (R1, R2) provide selling opportunities. These points are considered potential reversal zones, where price may bounce or reverse direction.
4. Managing Risk with Stop-Loss Orders
Proper risk management is crucial in any trading strategy. A stop-loss should be set slightly beyond the support level for buy positions and above the resistance level for sell positions, ensuring that losses are contained if the market moves against the trader’s position.
5. Determining Profit Targets
Profit targets are typically set based on the distance between entry points and the next support or resistance level. Many traders apply a risk-reward ratio, aiming for larger potential profits compared to the potential losses. However, if the next resistance and support level is far then middle levels are used for targets (i.e. 50% of R1 and R2)
6. Confirmation Through Other Indicators
While CPR provides strong support and resistance levels, traders often use additional indicators to confirm potential trade setups. Indicators such as moving averages can
help validate the signals provided by the CPR.
7. Monitoring Price Action At CPR Levels
Constantly monitoring price movement near CPR levels is essential. If the price fails to break through a resistance level (R1) or holds firm at support (S1), it can offer cues on when to exit or adjust a trade. However, a strong price break past these levels often signals a continued trend.
8. Trading Breakouts with CPR
When the price breaks above resistance or below support with strong momentum, it may signal a potential breakout. Traders can capitalize on these movements by entering positions in the direction of the breakout, ideally confirmed by volume or other technical indicators.
9. Adapting to Changing Market Conditions
CPR should be used in the context of broader market influences, such as economic reports, news events, or geopolitical shifts. These factors can dramatically affect market direction and how price reacts to CPR levels, making it important to stay informed about external market conditions.
10. Practice and Backtesting for Improvements
Like any trading tool, the CPR requires practice. Traders are encouraged to backtest their strategies on historical price data to get a better sense of how CPR works in different market environments. Continuous analysis and practice help improve decision-making and strategy refinement.
The Advantages of Using a 10-Line CPR System
An extended 10-line CPR system—comprising up to five resistance and five support levels—provides more granular control and insight into market movements. This expanded view helps traders better gauge trends and identify more opportunities for entry and exit. Key benefits include:
R2, S2 Levels: These act as secondary resistance or support zones, giving traders additional opportunities to refine their trade entries and exits.
R3, S3 Levels: Provide an even wider range for identifying reversals or trend continuations in more volatile markets.
Flexibility: The broader range of levels allows traders to adapt to changing market conditions and make more precise decisions based on market momentum.
So in Essential:
The Central Pivot Range is a valuable tool for traders looking to identify critical price levels in the market. By providing a clear framework for identifying potential support and resistance zones, it helps traders make informed decisions about entering and exiting trades. However, it’s important to combine CPR with sound risk management and additional confirmation through other technical indicators for the best results.
Although no trading tool guarantees success, the CPR, when used effectively and combined with practice, can significantly enhance a trader’s ability to navigate market fluctuations.
Options Series - Supertrend, HalfTrend, Ichimoku Cloud and P_SAR➤ Supertrend:
➤ HalfTrend:
➤ Ichimoku Cloud:
➤ Parabolic SAR:
⭐ Overview and How It Works:
This script combines multiple popular technical indicators—Supertrend, HalfTrend, Ichimoku Cloud, and Parabolic SAR—into a single, cohesive tool for analyzing price trends and reversals. Designed for traders who prefer multi-layered confirmation, it displays non-overlay signals in a candlestick format, helping users make sense of intricate market dynamics. It also includes a "Master Candle" condition, which aggregates the signals from all indicators, providing a powerful snapshot of market sentiment.
References for study,
Supertrend and HalfTrend and Ichimoku Cloud and Parabolic SAR
⭐ Key Features and Functionality:
The script integrates four indicators and visually represents them in a non-overlay fashion, meaning that each indicator's signal appears on separate candlestick layers. It uses color coding to differentiate between bullish and bearish signals. The Master Candle is a unique feature that aggregates the signals from all indicators to show the overall sentiment.
Supertrend: It uses ATR and a multiplier factor to create a trailing stop, identifying bullish and bearish trends.
HalfTrend: It analyzes market volatility that provides buy and sell signals based on volatility channels and historical highs and lows.
Ichimoku Cloud: It leverages historical highs and lows to form the conversion and baseline, which are compared to assess market strength.
Parabolic SAR: A stop-and-reverse system that highlights potential reversals. It is based on time and price, offering traders potential reversal points.
Master Candle: It computes a score based on the confluence of all four indicators, adding another layer of confirmation.
🎨 Visualizations and User Experience:
The script's user interface is highly visual, with color-coded candlesticks plotted across multiple layers. Each indicator has its own color coding for bullish and bearish signals, ensuring clarity:
➤ Green for bullish signals.
➤ Red for bearish signals.
➤ Each candlestick layer represents a different indicator (e.g., Supertrend, HalfTrend, etc.), making it easy for the trader to isolate and interpret signals.
➤ The "Master Candle" provides an overarching view of the market by displaying a consolidated signal, which can reduce confusion from mixed indicator signals.
⭐ Settings and Customization:
The script is highly customizable, allowing users to adjust the settings for each indicator. Key customizable parameters include:
• Supertrend ATR Period and Factor
• HalfTrend Amplitude and Channel Deviation
• Ichimoku Conversion, Base, and Lagging Span Periods
• Parabolic SAR Start, Increment, and Maximum value
Additionally, users can toggle the visibility of each indicator and customize the look of the plot to suit their preferences.
⭐ Uniqueness of the Concept:
No repaints. This is the advanced representation and the combination of multiple indicators into a single script, along with a powerful "Master Candle" that aggregates them, makes this tool unique. Most scripts provide isolated indicator signals, while this one brings together four powerful indicators and visually simplifies the analysis. The non-overlay style and color-coded candlesticks offer traders an easy-to-understand, actionable visual cue, which stands out from traditional indicator overlays.
🚀 Conclusion:
This script is a comprehensive, multi-indicator trading tool suitable for traders looking for reliable trend-following and reversal detection. Its ability to provide an aggregated "Master Candle" signal reduces noise and aids in better decision-making. Customization options allow users to tailor it to their trading style, while its clear visualizations provide an excellent user experience.
MACD Trend Trading with Dynamic Position Sizing // AlgoFyreThe MACD Trend Trading with Dynamic Position Sizing strategy combines MACD and trend indicators for trend trading. It uses MACD crossovers to identify entry points and a trend source for directional bias. The strategy incorporates risk management through dynamic position sizing based on a fixed risk amount. It allows for both long and short positions with customizable stop-loss and take-profit levels. The script includes visualization options for entry, stop-loss, and take-profit levels, enhancing trade analysis.
TABLE OF CONTENTS
🔶 ORIGINALITY
🔸Dynamic Position Sizing
🔸Trend-MACD Combination
🔸Customizable Risk Management
🔶 FUNCTIONALITY
🔸Indicators
🞘 Trend Indicator
🞘 Moving Average Convergence Divergence (MACD)
🔸Conditions
🞘 Long Entry
🞘 Short Entry
🔶 INSTRUCTIONS
🔸Step-by-Step Guidelines
🞘 Setting Up the Strategy
🞘 Alerts
🔸Customize settings
🔶 CONCLUSION
▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅
🔶 ORIGINALITY The MACD Trend Trading with Dynamic Position Sizing strategy uniquely combines MACD indicators with trend analysis to optimize entry and exit points. Unlike static trading strategies, it employs dynamic position sizing based on a fixed risk amount, ensuring consistent risk management. This approach allows traders to adapt to varying market conditions by adjusting position sizes according to predefined risk parameters, enhancing both flexibility and control in trading decisions. The strategy's integration of customizable stop-loss and take-profit levels further refines its risk management capabilities, making it a robust tool for both trending and volatile markets.
🔸Dynamic Position Sizing This strategy calculates position sizes dynamically, based on a fixed risk amount, allowing traders to maintain consistent risk exposure across trades.
🔸Trend-MACD Combination By combining trend direction with MACD crossovers, the strategy enhances the accuracy of entry signals, aligning trades with prevailing market trends.
🔸Customizable Risk Management Traders can set flexible risk-reward ratios and adjust stop-loss and take-profit levels, tailoring the strategy to their risk tolerance and market conditions.
🔶 FUNCTIONALITY The MACD Trend Trading with Dynamic Position Sizing strategy leverages a combination of trend indicators and the MACD to identify optimal trading opportunities. This strategy is designed to capitalize on short-term price movements by dynamically adjusting position sizes based on predefined risk parameters. It allows traders to manage risk effectively while taking advantage of both long and short positions.
🔸Indicators 🞘 Trend Indicator: Utilizes the trend source to determine market direction, ensuring trades align with prevailing trends.
Recommendation: We recommend using the Adaptive MAs (Hurst, CVaR, Fractal) indicator with the following settings for trend detection. However, you can use any trend indicator that suits your trading style.
🞘 Moving Average Convergence Divergence (MACD): Employs MACD crossovers to generate entry signals, enhancing the accuracy of trade execution. Use the "Moving Average Convergence Divergence" Indicator with the following settings:
🔸Conditions 🞘 Long Entry: Initiates a long position when the price is above the trend source, and a MACD crossover occurs with both MACD and signal lines below zero.
🞘 Short Entry: Initiates a short position when the price is below the trend source, and a MACD crossunder occurs with both MACD and signal lines above zero.
🔶 INSTRUCTIONS
The MACD Trend Trading with Dynamic Position Sizing strategy can be set up by adding it to your TradingView chart and configuring parameters such as the MACD source, trend source, and risk management settings. This strategy is designed to capitalize on short-term price movements by dynamically adjusting position sizes based on predefined risk parameters. Enhance the accuracy of signals by combining this strategy with additional indicators like trend-following or momentum-based tools. Adjust settings to better manage risk and optimize entry and exit points.
🔸Step-by-Step Guidelines
🞘 Setting Up the Strategy
Adding the Strategy to the Chart:
Go to your TradingView chart.
Click on the "Indicators" button at the top.
Search for "MACD Trend Trading with Dynamic Position Sizing" in the indicators list.
Click on the strategy to add it to your chart.
Configuring the Strategy:
Open the strategy settings by clicking on the gear icon next to its name on the chart.
MACD: Select the MACD from the MACD Indicator.
MACD Signal: Select the MACD Signal from the MACD Indicator.
Trend Source: Choose the trend source to determine market direction. If you use the Adaptive MAs (Hurst, CVaR, Fractal) with our settings shown above, choose the MA1 Smoothing Line.
Stop Loss Percentage: Set the stop loss distance from the trend source as a percentage.
Risk/Reward Ratio: Define the desired risk/reward ratio for trades.
Backtesting and Practice:
Backtest the strategy on historical data to understand how it performs in various market environments.
Practice using the strategy on a demo account before implementing it in live trading.
Market Awareness:
Keep an eye on market news and events that might cause extreme price movements. The strategy reacts to price data and might not account for news-driven events that can cause large deviations.
🔶 CONCLUSION
The MACD Trend Trading with Dynamic Position Sizing strategy provides a robust framework for capitalizing on short-term market trends by combining the MACD indicator with dynamic position sizing. This strategy leverages MACD crossovers to identify entry points and utilizes a trend source for directional bias, ensuring trades align with prevailing market conditions. By incorporating dynamic position sizing based on a fixed risk amount, traders can effectively manage risk and adapt to varying market conditions. The strategy's customizable stop-loss and take-profit levels further enhance its risk management capabilities, making it a versatile tool for both trending and volatile markets. With its strategic blend of technical indicators and risk management, the MACD Trend Trading strategy offers traders a comprehensive approach to optimizing trade execution and maximizing potential returns.
Technical Analysis ExpressionsDescription:
The indicator allows to display different moving averages and price levels from any timeframe. Instead of setting each plot one by one, you can specify all of them in one expression.
Inputs:
There's only one input, which is a text area where you can specify each plot as an expression. Each expression must be on a new line. Each expression can specify the source of the displayed values, the plot color and the timeframe from which that value is taken.
Here's an example expression that will plot SMA(20) of Close price from Daily timeframe, and the plot is going to be red. This will also plot an EMA(50) of High price from current timeframe, and the plot is going to be green (notice that you can specify the color as one of the standard Pinescript colors, or using a HEX color, and even using transparency if needed):
SMA(close, 20) red "D"
EMA(high, 50) #00ff00
You can also specify the color to be "chart.fg" which is the Foreground Color of current chart (it depends on whether the "Dark Theme" is enabled in Tradingview). The available moving averages are: SMA, EMA, WMA, HMA, RMA, VWMA. The available sources are: open, high, low, close, hl2, hlc3, hlcc4, ohlc4.
Multi-Scale Adaptive MAs (Hurst, CVaR, Fractal) // AlgoFyreThe Multi-Scale Adaptive MAs (Hurst, CVaR, Fractal) indicator adjusts moving averages based on market conditions, using Hurst Exponent for trend persistence, CVaR for extreme risk assessment, and Fractal Dimension for market complexity. It enhances trend detection and risk management across various timeframes.
TABLE OF CONTENTS
🔶 ORIGINALITY 🔸Adaptive Mechanisms
🔸Multi-Faceted Analysis
🔸Versatility Across Timeframes
🔸Multi-Scale Combination
🔶 FUNCTIONALITY 🔸Hurst Exponent (H)
🞘 How it works
🞘 How to calculate
🞘 Code extract
🔸Conditional Value at Risk (CVaR)
🞘 How it works
🞘 How to calculate
🞘 Code extract
🔸Fractal Dimension (FD)
🞘 How it works
🞘 How to calculate
🞘 Code extract
🔶 INSTRUCTIONS 🔸Step-by-Step Guidelines
🞘 Setting Up the Indicator
🞘 Understanding What to Look For on the Chart
🞘 Possible Entry Signals
🞘 Possible Take Profit Strategies
🞘 Possible Stop-Loss Levels
🞘 Additional Tips
🔸Customize settings
🔶 CONCLUSION
▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅
🔶 ORIGINALITY The Multi-Scale Adaptive MAs (Hurst, CVaR, Fractal) indicator stands out due to its unique approach of dynamically adjusting moving averages based on advanced statistical measures, making it highly responsive to varying market conditions. Unlike traditional moving averages that rely on static periods, this indicator adapts in real-time using three distinct adaptive methods: Hurst Exponent, CVaR, and Fractal Dimension.
🔸Adaptive Mechanisms
Traditional MA indicators use fixed lengths, which can lead to lagging signals or over-sensitivity in volatile markets. The Multi-Scale Adaptive MAs employ adaptive methods to adjust the MA length dynamically, providing a more accurate reflection of current market conditions.
🔸Multi-Faceted Analysis
By integrating Hurst Exponent, CVaR, and Fractal Dimension, the indicator offers a comprehensive market analysis. It captures different aspects of market behavior, including trend persistence, risk of extreme movements, and complexity, which are often missed by standard MAs.
🔸Versatility Across Timeframes
The indicator’s ability to switch between different adaptive methods based on market conditions allows traders to analyze short-term, medium-term, and long-term trends with enhanced precision.
🔸Multi-Scale Combination
Utilizing multiple adaptive MAs in combination provides a more nuanced view of the market, allowing traders to see how short, medium, and long-term trends interact. This layered approach helps in identifying the strength and consistency of trends across different scales, offering more reliable signals and aiding in complex decision-making processes. When combined, these MAs can also signal key market shifts when they converge or diverge, offering deeper insights than a single MA could provide.
🔶 FUNCTIONALITY The indicator adjusts moving averages based on a variety of different choosable adaptives. The Hurst Exponent to identify trend persistence or mean reversion, adapting to market conditions for both short-term and long-term trends. Using CVaR, it evaluates the risk of extreme price movements, ensuring the moving average is more conservative during high-risk periods, protecting against potential large losses. By incorporating the Fractal Dimension, the indicator adapts to market complexity, adjusting to varying levels of price roughness and volatility, which allows it to respond more accurately to different market structures and patterns.
Let's dive into the details:
🔸Hurst Exponent (H)
Measures the degree of trend persistence or mean reversion.
By using the Hurst Exponent, the indicator adjusts to capture the strength and duration of trends, helping traders to stay in profitable trades longer and avoid false reversals in ranging markets.
It enhances the detection of trends, making it suitable for both short-term scalping and identifying long-term trends.
🞘 How it works Rescaled Range (R/S) Analysis Calculate the mean of the closing prices over a set window.
Determine the deviation of each price from the mean.
Compute the cumulative sum of these deviations over the window.
Calculate the range (R) of the cumulative deviations (maximum minus minimum).
Compute the standard deviation (S) of the price series over the window.
Obtain the R/S ratio as R/S.
Linear Regression for Hurst Exponent Calculate the logarithm of multiple window sizes and their corresponding R/S values.
Use linear regression to determine the slope of the line fitting the log(R/S) against log(window size).
The slope of this line is an estimate of the Hurst Exponent.
🞘 How to calculate Range (R)
Calculate the maximum cumulative deviation:
R=max(sum(deviation))−min(sum(deviation))
Where deviation is the difference between each price and the mean.
Standard Deviation (S)
Calculate the standard deviation of the price series:
S=sqrt((1/(n−1))∗sum((Xi−mean)2))
Rescaled Range (R/S)
Divide the range by the standard deviation:
R/S=R/S
Hurst Exponent
Perform linear regression to estimate the slope of:
log(R/S) versus log(windowsize)
The slope of this line is the Hurst Exponent.
🞘 Code extract // Hurst Exponent
calc_hurst(source_, adaptive_window_) =>
window_sizes = array.from(adaptive_window_/10, adaptive_window_/5, adaptive_window_/2, adaptive_window_)
float hurst_exp = 0.5
// Calculate Hurst Exponent proxy
rs_list = array.new_float()
log_length_list = array.new_float()
for i = 0 to array.size(window_sizes) - 1
len = array.get(window_sizes, i)
// Ensure we have enough data
if bar_index >= len * 2
mean = adaptive_sma(source_, len)
dev = source_ - mean
// Calculate cumulative deviations over the window
cum_dev = ta.cum(dev) - ta.cum(dev )
r = ta.highest(cum_dev, len) - ta.lowest(cum_dev, len)
s = ta.stdev(source_, len)
if s != 0
rs = r / s
array.push(rs_list, math.log(rs))
array.push(log_length_list, math.log(len))
// Linear regression to estimate Hurst Exponent
n = array.size(log_length_list)
if n > 1
mean_x = array.sum(log_length_list) / n
mean_y = array.sum(rs_list) / n
sum_num = 0.0
sum_den = 0.0
for i = 0 to n - 1
x = array.get(log_length_list, i)
y = array.get(rs_list, i)
sum_num += (x - mean_x) * (y - mean_y)
sum_den += (x - mean_x) * (x - mean_x)
hurst_exp := sum_den != 0 ? sum_num / sum_den : 0.5
else
hurst_exp := 0.5 // Default to 0.5 if not enough data
hurst_exp
🔸Conditional Value at Risk (CVaR)
Assesses the risk of extreme losses by focusing on tail risk.
This method adjusts the moving average to account for market conditions where extreme price movements are likely, providing a more conservative approach during periods of high risk.
Traders benefit by better managing risk and avoiding major losses during volatile market conditions.
🞘 How it works Calculate Returns Determine the returns as the percentage change between consecutive closing prices over a specified window.
Percentile Calculation Identify the percentile threshold (e.g., the 5th percentile) for the worst returns in the dataset.
Average of Extreme Losses Calculate the average of all returns that are less than or equal to this percentile, representing the CVaR.
🞘 How to calculate Return Calculation
Calculate the return as the percentage change between consecutive prices:
Return = (Pt − Pt−1) / Pt−1
Where Pt is the price at time t.
Percentile Threshold
Identify the return value at the specified percentile (e.g., 5th percentile):
PercentileValue=percentile(returns,percentile_threshold)
CVaR Calculation
Compute the average of all returns below the percentile threshold:
CVaR = (1/n)∗sum(Return) for all Return≤PercentileValue
Where n is the total number of returns.
🞘 Code extract // Percentile
calc_percentile(data, percentile, window) =>
arr = array.new_float(0)
for i = 0 to window - 1
array.push(arr, data )
array.sort(arr)
index = math.floor(percentile / 100 * (window - 1))
array.get(arr, index)
// Conditional Value at Risk
calc_cvar(percentile_value, returns, window) =>
// Collect returns worse than the threshold
cvar_sum = 0.0
cvar_count = 0
for i = 0 to window - 1
ret = returns
if ret <= percentile_value
cvar_sum += ret
cvar_count += 1
// Calculate CVaR
cvar = cvar_count > 0 ? cvar_sum / cvar_count : 0.0
cvar
🔸Fractal Dimension (FD)
Evaluates market complexity and roughness by analyzing how price movements behave across different scales.
It enables the moving average to adapt based on the level of market noise or structure, allowing for smoother MAs during complex, volatile periods and more sensitive MAs during clear trends.
This adaptability is crucial for traders dealing with varying market states, improving the indicator's responsiveness to price changes.
🞘 How it works Total Distance (L) Calculation Sum the absolute price movements between consecutive periods over a given window.
Maximum Distance (D) Calculation Calculate the maximum displacement from the first to the last price point within the window.
Calculate Fractal Dimension Use Katz's method to estimate the Fractal Dimension as the ratio of the logarithms of L and D, divided by the logarithm of the number of steps (N).
🞘 How to calculate Total Distance (L)
Sum the absolute price changes over the window:
L=sum(abs(Pt−Pt−1)) for t from 2 to n
Where Pt is the price at time t.
Maximum Distance (D)
Find the maximum absolute displacement from the first to the last price in the window:
D=max(abs(Pn-P1))
Fractal Dimension Calculation
Use Katz's method to estimate fractal dimension:
FD=log(L/D)/log(N)
Where N is the number of steps in the window.
🞘 Code extract // Fractal Dimension
calc_fractal(source_, adaptive_window_) =>
// Calculate the total distance (L) traveled by the price
L = 0.0
for i = 1 to adaptive_window_
L += math.abs(source_ - source_ )
// Calculate the maximum distance between first and last price
D = math.max(math.abs(source_ - source_ ), 1e-10) // Avoid division by zero
// Calculate the number of steps (N)
N = adaptive_window_
// Estimate the Fractal Dimension using Katz's formula
math.log(L / D) / math.log(N)
🔶 INSTRUCTIONS The Multi-Scale Adaptive MAs indicator can be set up by adding it to your TradingView chart and configuring the adaptive method (Hurst, CVaR, or Fractal) to match current market conditions. Look for price crossovers and changes in the slope for potential entry signals. Set take profit and stop-loss levels based on dynamic changes in the moving average, and consider combining it with other indicators for confirmation. Adjust settings and use adaptive strategies for enhanced trend detection and risk management.
🔸Step-by-Step Guidelines 🞘 Setting Up the Indicator Adding the Indicator to the Chart: Go to your TradingView chart.
Click on the "Indicators" button at the top.
Search for "Multi-Scale Adaptive MAs (Hurst, CVaR, Fractal)" in the indicators list.
Click on the indicator to add it to your chart.
Configuring the Indicator: Open the indicator settings by clicking on the gear icon next to its name on the chart.
Adaptive Method: Choose between "Hurst," "CVaR," and "Fractal" depending on the market condition and your trading style.
Length: Set the base length for the moving average (e.g., 20, 50, or 100). This length will be adjusted dynamically based on the selected adaptive method.
Other Parameters: Adjust any other parameters as needed, such as window sizes or scaling factors specific to each adaptive method.
Chart Setup: Ensure you have an appropriate timeframe selected (e.g., 1-hour, 4-hour, daily) based on your trading strategy.
Consider using additional indicators like volume or RSI to confirm signals.
🞘 Understanding What to Look For on the Chart Indicator Behavior: Observe how the adaptive moving average (AMA) behaves compared to standard moving averages, e.g. notice how it might change direction with strength (Hurst).
For example, the AMA may become smoother during high market volatility (CVaR) or more responsive during strong trends (Hurst).
Crossovers: Look for crossovers between the price and the adaptive moving average.
A bullish crossover occurs when the price crosses above the AMA, suggesting a potential uptrend.
A bearish crossover occurs when the price crosses below the AMA, indicating a possible downtrend.
Slope and Direction: Pay attention to the slope of the AMA. A rising slope suggests a bullish trend, while a declining slope indicates a bearish trend.
The slope’s steepness can give you clues about the trend's strength.
🞘 Possible Entry Signals Bullish Entry: Crossover Entry: Enter a long position when the price crosses above the AMA and the AMA has a positive slope.
Confirmation Entry: Combine the crossover with other indicators like RSI (above 50) or increasing volume for confirmation.
Bearish Entry: Crossover Entry: Enter a short position when the price crosses below the AMA and the AMA has a negative slope.
Confirmation Entry: Use additional indicators like RSI (below 50) or decreasing volume to confirm the bearish trend.
Adaptive Method Confirmation: Hurst: Enter when the AMA indicates a strong trend (steeper slope). Suitable for trend-following strategies.
CVaR: Be cautious during high-risk periods. Enter only if confirmed by other indicators, as the AMA may become more conservative.
Fractal: Ideal for capturing reversals in complex markets. Look for crossovers in volatile markets.
🞘 Possible Take Profit Strategies Static Take Profit Levels: Set take profit levels based on predefined ratios (e.g., 1:2 or 1:3 risk-reward ratio).
Place take profit orders at recent swing highs (for long positions) or swing lows (for short positions).
Trailing Stop Loss: Use a trailing stop based on a percentage of the AMA value to lock in profits as the trend progresses.
Adjust the trailing stop dynamically to follow the AMA, allowing profits to run while protecting gains.
Adaptive Method Based Exits: Hurst: Exit when the AMA begins to flatten or turn in the opposite direction, signaling a potential trend reversal.
CVaR: Consider taking profits earlier during high-risk periods when the AMA suggests caution.
Fractal: Use the AMA to exit in complex markets when it smooths out, indicating reduced volatility.
🞘 Possible Stop-Loss Levels Initial Stop Loss: Place an initial stop loss below the AMA (for long positions) or above the AMA (for short positions) to protect against adverse movements.
Use a buffer (e.g., ATR value) to avoid being stopped out by normal price fluctuations.
Adaptive Stop Loss: Adjust the stop loss dynamically based on the AMA. Move the stop loss along the AMA as the trend progresses to minimize risk.
This helps in adapting to changing market conditions and avoiding premature exits.
Adaptive Method-Specific Stop Loss: Hurst: Use wider stops during trending markets to allow for minor pullbacks.
CVaR: Adjust stops in high-risk periods to avoid being stopped out prematurely during price fluctuations.
Fractal: Place stops at recent support/resistance levels in highly volatile markets.
🞘 Additional Tips Combine with Other Indicators: Enhance your strategy by combining the AMA with other technical indicators like MACD, RSI, or Bollinger Bands for better signal confirmation.
Backtesting and Practice: Backtest the indicator on historical data to understand how it performs in different market conditions.
Practice using the indicator on a demo account before applying it to live trading.
Market Awareness: Always be aware of market conditions and fundamental events that might impact price movements, as the AMA reacts to price action and may not account for sudden news-driven events.
🔸Customize settings 🞘 Time Override: Enables or disables the ability to override the default time frame for the moving averages. When enabled, you can specify a custom time frame for the calculations.
🞘 Time: Specifies the custom time frame to use when the Time Override setting is enabled.
🞘 Enable MA: Enables or disables the moving average. When disabled, MA will not be displayed on the chart.
🞘 Show Smoothing Line: Enables or disables the display of a smoothing line for the moving average. The smoothing line helps to reduce noise and provide a clearer trend.
🞘 Show as Horizontal Line: Displays the moving average as a horizontal line instead of a dynamic line that follows the price.
🞘 Source: Specifies the data source for the moving average calculation (e.g., close, open, high, low).
🞘 Length: Sets the period length for the moving average. A longer length will result in a smoother moving average, while a shorter length will make it more responsive to price changes.
🞘 Time: Specifies a custom time frame for the moving average, overriding the default time frame if Time Override is enabled.
🞘 Method: Selects the calculation method for the moving average (e.g., SMA, EMA, SMMA, WMA, VWMA).
🞘 Offset: Shifts the moving average forward or backward by the specified number of bars.
🞘 Color: Sets the color for the moving average line.
🞘 Adaptive Method: Selects the adaptive method to dynamically adjust the moving average based on market conditions (e.g., Hurst, CVaR, Fractal).
🞘 Window Size: Sets the window size for the adaptive method, determining how much historical data is used for the calculation.
🞘 CVaR Scaling Factor: Adjusts the influence of CVaR on the moving average length, controlling how much the length changes based on calculated risk.
🞘 CVaR Risk: Specifies the percentile cutoff for the worst-case returns used in the CVaR calculation to assess extreme losses.
🞘 Smoothing Method: Selects the method for smoothing the moving average (e.g., SMA, EMA, SMMA, WMA, VWMA).
🞘 Smoothing Length: Sets the period length for smoothing the moving average.
🞘 Fill Color to Smoothing Moving Average: Enables or disables the color fill between the moving average and its smoothing line.
🞘 Transparency: Sets the transparency level for the color fill between the moving average and its smoothing line.
🞘 Show Label: Enables or disables the display of a label for the moving average on the chart.
🞘 Show Label for Smoothing: Enables or disables the display of a label for the smoothing line of the moving average on the chart.
🔶 CONCLUSION The Multi-Scale Adaptive MAs indicator offers a sophisticated approach to trend analysis and risk management by dynamically adjusting moving averages based on Hurst Exponent, CVaR, and Fractal Dimension. This adaptability allows traders to respond more effectively to varying market conditions, capturing trends and managing risks with greater precision. By incorporating advanced statistical measures, the indicator goes beyond traditional moving averages, providing a nuanced and versatile tool for both short-term and long-term trading strategies. Its unique ability to reflect market complexity and extreme risks makes it an invaluable asset for traders seeking a deeper understanding of market dynamics.
Intramarket Difference Index StrategyHi Traders !!
The IDI Strategy:
In layman’s terms this strategy compares two indicators across markets and exploits their differences.
note: it is best the two markets are correlated as then we know we are trading a short to long term deviation from both markets' general trend with the assumption both markets will trend again sometime in the future thereby exhausting our trading opportunity.
📍 Import Notes:
This Strategy calculates trade position size independently (i.e. risk per trade is controlled in the user inputs tab), this means that the ‘Order size’ input in the ‘Properties’ tab will have no effect on the strategy. Why ? because this allows us to define custom position size algorithms which we can use to improve our risk management and equity growth over time. Here we have the option to have fixed quantity or fixed percentage of equity ATR (Average True Range) based stops in addition to the turtle trading position size algorithm.
‘Pyramiding’ does not work for this strategy’, similar to the order size input togeling this input will have no effect on the strategy as the strategy explicitly defines the maximum order size to be 1.
This strategy is not perfect, and as of writing of this post I have not traded this algo.
Always take your time to backtests and debug the strategy.
🔷 The IDI Strategy:
By default this strategy pulls data from your current TV chart and then compares it to the base market, be default BINANCE:BTCUSD . The strategy pulls SMA and RSI data from either market (we call this the difference data), standardizes the data (solving the different unit problem across markets) such that it is comparable and then differentiates the data, calling the result of this transformation and difference the Intramarket Difference (ID). The formula for the the ID is
ID = market1_diff_data - market2_diff_data (1)
Where
market(i)_diff_data = diff_data / ATR(j)_market(i)^0.5,
where i = {1, 2} and j = the natural numbers excluding 0
Formula (1) interpretation is the following
When ID > 0: this means the current market outperforms the base market
When ID = 0: Markets are at long run equilibrium
When ID < 0: this means the current market underperforms the base market
To form the strategy we define one of two strategy type’s which are Trend and Mean Revesion respectively.
🔸 Trend Case:
Given the ‘‘Strategy Type’’ is equal to TREND we define a threshold for which if the ID crosses over we go long and if the ID crosses under the negative of the threshold we go short.
The motivating idea is that the ID is an indicator of the two symbols being out of sync, and given we know volatility clustering, momentum and mean reversion of anomalies to be a stylised fact of financial data we can construct a trading premise. Let's first talk more about this premise.
For some markets (cryptocurrency markets - synthetic symbols in TV) the stylised fact of momentum is true, this means that higher momentum is followed by higher momentum, and given we know momentum to be a vector quantity (with magnitude and direction) this momentum can be both positive and negative i.e. when the ID crosses above some threshold we make an assumption it will continue in that direction for some time before executing back to its long run equilibrium of 0 which is a reasonable assumption to make if the market are correlated. For example for the BTCUSD - ETHUSD pair, if the ID > +threshold (inputs for MA and RSI based ID thresholds are found under the ‘‘INTRAMARKET DIFFERENCE INDEX’’ group’), ETHUSD outperforms BTCUSD, we assume the momentum to continue so we go long ETHUSD.
In the standard case we would exit the market when the IDI returns to its long run equilibrium of 0 (for the positive case the ID may return to 0 because ETH’s difference data may have decreased or BTC’s difference data may have increased). However in this strategy we will not define this as our exit condition, why ?
This is because we want to ‘‘let our winners run’’, to achieve this we define a trailing Donchian Channel stop loss (along with a fixed ATR based stop as our volatility proxy). If we were too use the 0 exit the strategy may print a buy signal (ID > +threshold in the simple case, market regimes may be used), return to 0 and then print another buy signal, and this process can loop may times, this high trade frequency means we fail capture the entire market move lowering our profit, furthermore on lower time frames this high trade frequencies mean we pay more transaction costs (due to price slippage, commission and big-ask spread) which means less profit.
By capturing the sum of many momentum moves we are essentially following the trend hence the trend following strategy type.
Here we also print the IDI (with default strategy settings with the MA difference type), we can see that by letting our winners run we may catch many valid momentum moves, that results in a larger final pnl that if we would otherwise exit based on the equilibrium condition(Valid trades are denoted by solid green and red arrows respectively and all other valid trades which occur within the original signal are light green and red small arrows).
another example...
Note: if you would like to plot the IDI separately copy and paste the following code in a new Pine Script indicator template.
indicator("IDI")
// INTRAMARKET INDEX
var string g_idi = "intramarket diffirence index"
ui_index_1 = input.symbol("BINANCE:BTCUSD", title = "Base market", group = g_idi)
// ui_index_2 = input.symbol("BINANCE:ETHUSD", title = "Quote Market", group = g_idi)
type = input.string("MA", title = "Differrencing Series", options = , group = g_idi)
ui_ma_lkb = input.int(24, title = "lookback of ma and volatility scaling constant", group = g_idi)
ui_rsi_lkb = input.int(14, title = "Lookback of RSI", group = g_idi)
ui_atr_lkb = input.int(300, title = "ATR lookback - Normalising value", group = g_idi)
ui_ma_threshold = input.float(5, title = "Threshold of Upward/Downward Trend (MA)", group = g_idi)
ui_rsi_threshold = input.float(20, title = "Threshold of Upward/Downward Trend (RSI)", group = g_idi)
//>>+----------------------------------------------------------------+}
// CUSTOM FUNCTIONS |
//<<+----------------------------------------------------------------+{
// construct UDT (User defined type) containing the IDI (Intramarket Difference Index) source values
// UDT will hold many variables / functions grouped under the UDT
type functions
float Close // close price
float ma // ma of symbol
float rsi // rsi of the asset
float atr // atr of the asset
// the security data
getUDTdata(symbol, malookback, rsilookback, atrlookback) =>
indexHighTF = barstate.isrealtime ? 1 : 0
= request.security(symbol, timeframe = timeframe.period,
expression = [close , // Instentiate UDT variables
ta.sma(close, malookback) ,
ta.rsi(close, rsilookback) ,
ta.atr(atrlookback) ])
data = functions.new(close_, ma_, rsi_, atr_)
data
// Intramerket Difference Index
idi(type, symbol1, malookback, rsilookback, atrlookback, mathreshold, rsithreshold) =>
threshold = float(na)
index1 = getUDTdata(symbol1, malookback, rsilookback, atrlookback)
index2 = getUDTdata(syminfo.tickerid, malookback, rsilookback, atrlookback)
// declare difference variables for both base and quote symbols, conditional on which difference type is selected
var diffindex1 = 0.0, var diffindex2 = 0.0,
// declare Intramarket Difference Index based on series type, note
// if > 0, index 2 outpreforms index 1, buy index 2 (momentum based) until equalibrium
// if < 0, index 2 underpreforms index 1, sell index 1 (momentum based) until equalibrium
// for idi to be valid both series must be stationary and normalised so both series hae he same scale
intramarket_difference = 0.0
if type == "MA"
threshold := mathreshold
diffindex1 := (index1.Close - index1.ma) / math.pow(index1.atr*malookback, 0.5)
diffindex2 := (index2.Close - index2.ma) / math.pow(index2.atr*malookback, 0.5)
intramarket_difference := diffindex2 - diffindex1
else if type == "RSI"
threshold := rsilookback
diffindex1 := index1.rsi
diffindex2 := index2.rsi
intramarket_difference := diffindex2 - diffindex1
//>>+----------------------------------------------------------------+}
// STRATEGY FUNCTIONS CALLS |
//<<+----------------------------------------------------------------+{
// plot the intramarket difference
= idi(type,
ui_index_1,
ui_ma_lkb,
ui_rsi_lkb,
ui_atr_lkb,
ui_ma_threshold,
ui_rsi_threshold)
//>>+----------------------------------------------------------------+}
plot(intramarket_difference, color = color.orange)
hline(type == "MA" ? ui_ma_threshold : ui_rsi_threshold, color = color.green)
hline(type == "MA" ? -ui_ma_threshold : -ui_rsi_threshold, color = color.red)
hline(0)
Note it is possible that after printing a buy the strategy then prints many sell signals before returning to a buy, which again has the same implication (less profit. Potentially because we exit early only for price to continue upwards hence missing the larger "trend"). The image below showcases this cenario and again, by allowing our winner to run we may capture more profit (theoretically).
This should be clear...
🔸 Mean Reversion Case:
We stated prior that mean reversion of anomalies is an standerdies fact of financial data, how can we exploit this ?
We exploit this by normalizing the ID by applying the Ehlers fisher transformation. The transformed data is then assumed to be approximately normally distributed. To form the strategy we employ the same logic as for the z score, if the FT normalized ID > 2.5 (< -2.5) we buy (short). Our exit conditions remain unchanged (fixed ATR stop and trailing Donchian Trailing stop)
🔷 Position Sizing:
If ‘‘Fixed Risk From Initial Balance’’ is toggled true this means we risk a fixed percentage of our initial balance, if false we risk a fixed percentage of our equity (current balance).
Note we also employ a volatility adjusted position sizing formula, the turtle training method which is defined as follows.
Turtle position size = (1/ r * ATR * DV) * C
Where,
r = risk factor coefficient (default is 20)
ATR(j) = risk proxy, over j times steps
DV = Dollar Volatility, where DV = (1/Asset Price) * Capital at Risk
🔷 Risk Management:
Correct money management means we can limit risk and increase reward (theoretically). Here we employ
Max loss and gain per day
Max loss per trade
Max number of consecutive losing trades until trade skip
To read more see the tooltips (info circle).
🔷 Take Profit:
By defualt the script uses a Donchain Channel as a trailing stop and take profit, In addition to this the script defines a fixed ATR stop losses (by defualt, this covers cases where the DC range may be to wide making a fixed ATR stop usefull), ATR take profits however are defined but optional.
ATR SL and TP defined for all trades
🔷 Hurst Regime (Regime Filter):
The Hurst Exponent (H) aims to segment the market into three different states, Trending (H > 0.5), Random Geometric Brownian Motion (H = 0.5) and Mean Reverting / Contrarian (H < 0.5). In my interpretation this can be used as a trend filter that eliminates market noise.
We utilize the trending and mean reverting based states, as extra conditions required for valid trades for both strategy types respectively, in the process increasing our trade entry quality.
🔷 Example model Architecture:
Here is an example of one configuration of this strategy, combining all aspects discussed in this post.
Future Updates
- Automation integration (next update)