MA Multi-Timeframe [ChartPrime]The MA Multi-Timeframe indicator is designed to provide multi-timeframe moving averages (MAs) for better trend analysis across different periods. This tool allows traders to monitor up to four different MAs on a single chart, each coming from a selectable timeframe and type (SMA, EMA, SMMA, WMA, VWMA). The indicator helps traders gauge both short-term and long-term price trends, allowing for a clearer understanding of market dynamics.
⯁ KEY FEATURES AND HOW TO USE
⯌ Multi-Timeframe Moving Averages :
The indicator allows traders to select up to four MAs, each from different timeframes. These timeframes can be set in the input settings (e.g., Daily, Weekly, Monthly), and each moving average can be displayed with its corresponding timeframe label directly on the chart.
Example of different timeframes for MAs:
⯌ Moving Average Types :
Users can choose from several types of moving averages, including SMA, EMA, SMMA, WMA, and VWMA, making the indicator adaptable to different strategies and market conditions. This flexibility allows traders to tailor the MAs to their preference.
Example of different types of MAs:
⯌ Dashboard Display :
The indicator includes a built-in dashboard that shows each MA, its timeframe, and whether the price is currently above or below that MA. This dashboard provides a quick overview of the trend across different timeframes, allowing traders to determine whether the overall trend is up or down.
Example of trend overview via the dashboard:
⯌ Polyline Representation :
Each MA is plotted using polylines to avoid plot functions and create a curves across up to 4000 bars back, ensuring that historical data is visualized clearly for a deeper analysis of how the price interacts with these levels over time.
if barstate.islast
for i = 0 to 4000
cp.push(chart.point.from_index(bar_index , ma ))
polyline.delete(polyline.new(cp, curved = false, line_color = color, line_style = style) )
Example of polylines for moving averages:
⯌ Customization Options :
Traders can customize the length of the MAs for all timeframes using a single input. The color, style (solid, dashed, dotted) of each moving average are also customizable, giving users full control over the visual appearance of the indicator on their chart.
Example of custom MA styles:
⯁ USER INPUTS
MA Type : Select the type of moving average for each timeframe (SMA, EMA, SMMA, WMA, VWMA).
Timeframe : Choose the timeframe for each moving average (e.g., Daily, Weekly, Monthly).
MA Length : Set the length for the moving averages, which will be applied to all four MAs.
Line Style : Customize the style of each MA line (solid, dashed, or dotted).
Colors : Set the color for each MA for better visual distinction.
⯁ CONCLUSION
The MA Multi-Timeframe indicator is a versatile and powerful tool for traders looking to monitor price trends across multiple timeframes with different types of moving averages. The dashboard simplifies trend identification, while the customizable options make it easy to adapt to individual trading strategies. Whether you're analyzing short-term price movements or long-term trends, this indicator offers a comprehensive solution for tracking market direction.
Cerca negli script per "chart"
Trend Levels [ChartPrime]The Trend Levels indicator is designed to identify key trend levels (High, Mid, and Low) during market trends, based on real-time calculations of highest, lowest, and mid-level values over a customizable length. Additionally, the indicator calculates trend strength by measuring the ratio of candles closing above or below the midline, providing a clear view of the ongoing trend dynamics and strength.
⯁ KEY FEATURES AND HOW TO USE
⯌ Trend Shift Signals :
Trend shifts, based on highest and lowest values during input length. When high is == to highest it will change trend to up when low == lowest value it will be shift to down trend.
// Calculate highest and lowest over the specified length
h = ta.highest(length)
l = ta.lowest(length)
// Determine trend direction: if the current high is the highest value, set trend to true
if h == high
trend := true
// If the current low is the lowest value, set trend to false
if l == low
trend := false
Whenever the trend changes direction (from uptrend to downtrend or vice versa), the indicator provides visual cues in the form of arrows. This gives traders clear signals to identify potential trend reversals, enabling them to adjust their strategies accordingly.
⯌ Trend Level Calculation :
As soon as a trend is detected (uptrend or downtrend), the indicator starts calculating the highest, lowest, and mid-level values over the defined period. These levels are plotted on the chart as color-coded lines for easy visualization, allowing traders to quickly spot the key levels within a trend.
⯌ Midline Retests :
Throughout the trend, the mid-level line is often retested, acting as a potential zone for pullbacks or rejections. Traders can use these retests as opportunities for entering positions or confirming trend continuation. The chart shows how price frequently interacts with the midline, helping to identify important reaction levels.
⯌ Trend Strength Calculation :
The indicator measures the trend strength by calculating the delta between the number of candles closing above and below the midline. This percentage-based delta is displayed in real-time, providing a clear indication of whether the trend is gaining or losing momentum.
⯁ USER INPUTS
Length : Specifies the lookback period for calculating the highest and lowest values, which determines the key trend levels.
Candle Counting : Measures the number of candles closing above and below the midline to calculate the trend strength delta.
⯁ CONCLUSION
The Trend Levels indicator provides traders with a powerful tool for visualizing trend dynamics, key levels of support and resistance, and real-time trend strength. By identifying midline retests, tracking candle counts, and providing trend shift signals, this indicator can help traders make well-informed decisions during market trends.
Liquidations Zones [ChartPrime]The Liquidation Zones indicator is designed to detect potential liquidation zones based on common leverage levels such as 10x, 25x, 50x, and 100x. By calculating percentage distances from recent pivot points, the indicator shows where leveraged positions are most likely to get liquidated. It also tracks buy and sell volumes in these zones, helping traders assess market pressure and predict liquidation scenarios. Additionally, the indicator features a heat map mode to highlight areas where orders and stop-losses might be clustered.
⯁ KEY FEATURES AND HOW TO USE
⯌ Leverage Zones Detection :
The indicator identifies zones where positions with leverage ratios of 100x, 50x, 25x, and 10x are at risk of liquidation. These zones are based on percentage moves from recent pivots: a 1% move can liquidate 100x positions, a 4% move affects 25x positions, and so on.
⯌ Liquidated Zones and Volume Tracking :
The indicator displays liquidated zones by plotting gray areas where the price potentually liquidate positons. It calculates the volume needed to liquidate positions in these zones, showing volume from bullish candles if short positions were liquidated and volume from bearish candles for long positions. This feature helps traders assess the risk of liquidation as the price approaches these zones.
⯌ Buy/Sell Volume Calculation :
Buy and sell volumes are calculated from the most recent pivot high or low. For buy volume, only bullish candles are considered, while for sell volume, only bearish candles are summed. This data helps traders gauge the strength of potential liquidation in different zones.
Example of buy and sell volume tracking in active zones:
⯌ Liquidity Heat Map :
In heat map mode, the indicator visualizes potential liquidity areas where orders and stop-losses may be clustered. This map highlights zones that are likely to experience liquidations based on leverage ratios. Additionally, it tracks the highest and lowest price levels for the past 100 bars, while also displaying buy and sell volumes. This feature is useful for predicting market moves driven by liquidation events.
⯁ USER INPUTS
Length : Determines the number of bars used to calculate pivots for liquidation zones.
Extend : Controls how far the liquidation zones are extended on the chart.
Leverage Options : Toggle options to display zones for different leverage levels: 10x, 25x, 50x, and 100x.
Display Heat Map : Enables or disables the liquidity heat map feature.
⯁ CONCLUSION
The Liquidation Zones indicator provides a powerful tool for identifying potential liquidation zones, tracking volume pressure, and visualizing liquidity areas on the chart. With its real-time updates and multiple features, this indicator offers valuable insights for managing risk and anticipating market moves driven by leveraged positions.
Zero-Lag MA Trend Levels [ChartPrime] The Zero-Lag MA Trend Levels indicator combines a Zero-Lag Moving Average (ZLMA) with a standard Exponential Moving Average (EMA) to provide a dynamic view of the market trend. This indicator uses a color-changing cloud to represent shifts in trend momentum and plots key levels when trend reversals are detected. The addition of trend level boxes helps identify significant price zones where market shifts occur, with retest signals aiding in spotting potential continuation or reversal points.
⯁ KEY FEATURES & HOW TO USE
⯌ Zero-Lag Moving Average (ZLMA) with EMA Cloud :
The indicator employs a Zero-Lag Moving Average (ZLMA) alongside a standard EMA.
series float emaValue = ta.ema(close, length) // EMA of the closing price
series float correction = close + (close - emaValue) // Correction factor for zero-lag calculation
series float zlma = ta.ema(correction, length) // Zero-Lag Moving Average (ZLMA)
The cloud between these averages changes color depending on the trend direction. During a downtrend, if the ZLMA begins to increase, the cloud partially turns green, signaling potential strength. Conversely, during an uptrend, if the ZLMA decreases, the cloud partially turns to the downtrend color (blue by default), indicating potential weakness.
Use : Traders can monitor the cloud's color shifts for early signs of changing momentum. A fully colored cloud aligning with the current trend indicates a strong directional move, while mixed colors suggest a potential trend change.
⯌ Trend Shift and Level Boxes :
Each time a crossover between the EMA and the ZLMA occurs, indicating a trend shift, the indicator plots a box around the price level where the shift occurred. This box remains on the chart to mark the price zone of the trend change.
Use : The boxes provide clear visual markers of where market sentiment shifted. These levels can act as support and resistance zones. Traders can use these boxes to identify potential entry or exit points when the market retests these key levels.
⯌ Retest Detection with Labels :
If the price action crosses a previously plotted trend level box, the indicator marks this event with triangle labels. An upward triangle (▲) appears when the price retests the top of a box during a bullish crossover, and a downward triangle (▼) appears when the price retests the bottom of a box during a bearish crossunder.
Use : These labels help traders identify potential continuation or reversal points at critical price levels, offering additional confirmation for trading decisions.
⯌ Dynamic Color-Coding :
The color of the ZLMA and the EMA is adjusted according to their current trend direction, with the ZLMA adopting green for upward trends and blue for downward trends. This visual representation makes it easier to quickly gauge the market's momentum at a glance.
Use : Traders can use the color-coding to quickly assess the strength and direction of the current trend, allowing for more informed decision-making.
⯁ USER INPUTS
Length : Sets the period for both the ZLMA and EMA calculations.
Trend Levels : Toggle to display the trend level boxes on the chart.
Colors (+ / -) : Define the colors for bullish and bearish trends.
⯁ CONCLUSION
The Zero-Lag MA Trend Levels - ChartPrime indicator offers a nuanced approach to trend detection by combining the ZLMA with a traditional EMA. Its dynamic cloud color changes, trend level boxes, and retest labels make it a versatile tool for traders seeking to identify trend shifts and key price zones effectively. By incorporating elements of support and resistance along with trend momentum, this indicator provides a comprehensive view of market dynamics for both trend-following and counter-trend trading strategies.
Gaps Trend [ChartPrime]The Gaps Trend - ChartPrime indicator is designed to detect Fair Value Gaps (FVGs) in the market and apply a trailing stop mechanism based on those gaps. It identifies both bullish and bearish gaps and provides traders with a way to manage trades dynamically as gaps appear. The indicator visually highlights gaps and uses the detected momentum to assess trend direction, helping traders identify price imbalances caused by strong buy or sell pressure.
⯁ KEY FEATURES & HOW TO USE
⯌ Fair Value Gap (FVG) Detection :
The indicator automatically detects both bullish and bearish FVGs, identifying gaps between candle highs and lows. Bullish gaps are shown in green, and bearish gaps in purple. These gaps indicate price imbalances driven by strong momentum, such as when there is significant buying or selling pressure.
Use : Traders can use FVG detection to identify periods of high price momentum, offering insight into potential continuation or exhaustion of trends.
⯌ Trailing Stop Feature Based on FVGs :
A core feature of this indicator is the trailing stop mechanism, which adjusts dynamically based on the identified FVGs. When a bullish gap is detected, the trailing stop is placed below the price to capture upward momentum, while bearish gaps result in a trailing stop placed above the price. This feature helps traders stay in trends while protecting profits as the price moves.
Use : The trailing stop follows the momentum of the price, ensuring that traders can stay in profitable trades during strong trends and exit when the momentum shifts.
bullish set up
bearish set up
⯌ Trend Direction Indication :
The indicator colors the chart according to the current trend direction based on the position of the price relative to the trailing stop. Green indicates an uptrend (bullish gap), while purple shows a downtrend (bearish gap). This provides traders with a quick visual assessment of trend direction based on the presence of gaps.
Use : Traders can monitor the chart's color to stay aligned with the market’s trend, staying long during green phases and short during purple ones.
⯌ Gap Size Filtering :
Each detected gap is assigned a numerical ranking based on its size, with larger gaps having higher rankings. The gap size filter allows traders to only display gaps that meet a minimum size threshold, focusing on the most impactful gaps in terms of price movement.
Use : Traders can use the filter to focus on gaps of a certain size, filtering out smaller, less significant gaps. The numerical ranking helps identify the largest and most influential gaps for decision-making.
⯌ FVG Level Visualization :
The indicator can display dashed lines marking the levels of previously filled FVGs. These levels represent areas where price once experienced a gap and later filled it. Monitoring these levels can provide traders with key reference points for potential reactions in price.
Use : Traders can use these gap levels to track where price has filled gaps and potentially use these levels as zones for entry, exit, or assessing market behavior.
⯁ USER INPUTS
Filter Gaps : Adjust the size threshold to filter gaps by their size ranking.
Show Gap Levels : Toggle the display of dashed lines at filled FVG levels.
Enable Trailing Stop : Activate or deactivate the trailing stop feature based on FVGs.
Trailing Stop Length : Set the number of bars used to calculate the trailing stop.
Bullish/Bearish Colors : Customize the colors representing bullish and bearish gaps.
⯁ CONCLUSION
The Gaps Trend indicator combines Fair Value Gap detection with a dynamic trailing stop feature to help traders manage trades during periods of high price momentum. By detecting gaps caused by strong buy or sell pressure and applying adaptive stops, the indicator provides a powerful tool for riding trends and managing risk. The additional ability to filter gaps by size and visualize previously filled gaps enhances its utility for both trend-following and risk management strategies.
Double Ribbon [ChartPrime]The Double Ribbon - ChartPrime indicator is a powerful tool that combines two sets of Simple Moving Averages (SMAs) into a visually intuitive ribbon, which helps traders assess market trends and momentum. This indicator features two distinct ribbons: one with a fixed length but changing offset (displayed in gray) and another with varying lengths (displayed in colors). The relationship between these ribbons forms the basis of a trend score, which is visualized as an oscillator. This comprehensive approach provides traders with a clear view of market direction and strength.
◆ KEY FEATURES
Dual Ribbon Visualization : Displays two sets of 11 SMAs—one in a neutral gray color with a fixed length but varying offset, and another in vibrant colors with lengths that increase incrementally.
Trend Score Calculation : The trend score is derived from comparing each SMA in the colored ribbon with its corresponding SMA in the gray ribbon. If a colored SMA is above its gray counterpart, a positive score is added; if below, a negative score is assigned.
// Loop to calculate SMAs and update the score based on their relationships
for i = 0 to length
// Calculate SMA with increasing lengths
sma = ta.sma(src, len + 1 + i)
// Update score based on comparison of primary SMA with current SMA
if sma1 < sma
score += 1
else
score -= 1
// Store calculated SMAs in the arrays
sma_array.push(sma)
sma_array1.push(sma1 )
Dynamic Trend Analysis : The score oscillator provides a dynamic analysis of the trend, allowing traders to quickly gauge market conditions and potential reversals.
Customizable Ribbon Display : Users can toggle the display of the ribbon for a cleaner chart view, focusing solely on the trend score if desired.
◆ USAGE
Trend Confirmation : Use the position and color of the ribbon to confirm the current market trend. When the colored ribbon consistently stays above the gray ribbon, it indicates a strong uptrend, and vice versa for a downtrend.
Momentum Assessment : The score oscillator provides insight into the strength of the current trend. Higher scores suggest stronger trends, while lower scores may indicate weakening momentum or a potential reversal.
Strategic Entry/Exit Points : Consider using crossovers between the ribbons and changes in the score oscillator to identify potential entry or exit points in trades.
⯁ USER INPUTS
Length : Sets the base length for the primary SMAs in the ribbons.
Source : Determines the price data used for calculating the SMAs (e.g., close, open).
Ribbon Display Toggle : Allows users to show or hide the ribbon on the chart, focusing on either the ribbon, the trend score, or both.
⯁ CONCLUSION
The Double Ribbon indicator offers traders a comprehensive tool for analyzing market trends and momentum. By combining two ribbons with varying SMA lengths and offsets, it provides a clear visual representation of market conditions. The trend score oscillator enhances this analysis by quantifying trend strength, making it easier for traders to identify potential trading opportunities and manage risk effectively.
Radius Trend [ChartPrime]RADIUS TREND
⯁ OVERVIEW
The Radius Trend [ ChartPrime ] indicator is an innovative technical analysis tool designed to visualize market trends using a dynamic, radius-based approach. By incorporating adaptive bands that adjust based on price action and volatility, this indicator provides traders with a unique perspective on trend direction, strength, and potential reversal points.
The Radius Trend concept involves creating a dynamic trend line that adjusts its angle and position based on market movements, similar to a radius sweeping across a chart. This approach allows for a more fluid and adaptive trend analysis compared to traditional linear trend lines.
◆ KEY FEATURES
Dynamic Trend Band: Calculates and plots a main trend band that adapts to market conditions.
Radius-Based Adjustment: Uses a step-based radius approach to adjust the trend band angle.
// Apply step angle to trend lines
if bar_index % n == 0 and trend
multi1 := 0
multi2 += step
band += distance1 * multi2
if bar_index % n == 0 and not trend
multi1 += step
multi2 := 0
band -= distance1 * multi1
Volatility-Adjusted Calculations: Incorporates price range volatility for more accurate band placement.
Trend Direction Visualization: Provides clear color-coding to distinguish between uptrends and downtrends.
Flexible Parameters: Allows users to adjust the radius step and initial distance for customized analysis.
◆ USAGE
Trend Identification: Use the color and direction of the main band to determine the current market trend.
Trend Strength Analysis: Observe the angle and consistency of the band for insights into trend strength.
Reversal Detection: Watch for price crossing the main band or crossing a dashed band as a potential trend reversal signal.
Volatility Assessment: The distance between price and bands can provide insights into market volatility.
⯁ USER INPUTS
Radius Step: Controls the rate of angle adjustment for the trend band (default: 0.15, step: 0.001).
Start Points Distance: Sets the initial distance multiplier for band calculations (default: 2, step: 0.1).
The Radius Trend indicator offers traders a unique and dynamic approach to trend analysis. By combining radius-based trend adjustments with volatility-sensitive calculations, it provides a fluid representation of market trends. This indicator is particularly useful for traders looking to identify trend persistence, potential reversal points, and adaptive support/resistance levels across various market conditions and timeframes.
LOWESS (Locally Weighted Scatterplot Smoothing) [ChartPrime]LOWESS (Locally Weighted Scatterplot Smoothing)
⯁ OVERVIEW
The LOWESS (Locally Weighted Scatterplot Smoothing) [ ChartPrime ] indicator is an advanced technical analysis tool that combines LOWESS smoothing with a Modified Adaptive Gaussian Moving Average. This indicator provides traders with a sophisticated method for trend analysis, pivot point identification, and breakout detection.
◆ KEY FEATURES
LOWESS Smoothing: Implements Locally Weighted Scatterplot Smoothing for trend analysis.
Modified Adaptive Gaussian Moving Average: Incorporates a volatility-adapted Gaussian MA for enhanced trend detection.
Pivot Point Identification: Detects and visualizes significant pivot highs and lows.
Breakout Detection: Tracks and optionally displays the count of consecutive breakouts.
Gaussian Scatterplot: Offers a unique visualization of price movements using randomly colored points.
Customizable Parameters: Allows users to adjust calculation length, pivot detection, and visualization options.
◆ FUNCTIONALITY DETAILS
⬥ LOWESS Calculation:
Utilizes a weighted local regression to smooth price data.
Adapts to local trends, reducing noise while preserving important price movements.
⬥ Modified Adaptive Gaussian Moving Average:
Combines Gaussian weighting with volatility adaptation using ATR and standard deviation.
Smooths the Gaussian MA using LOWESS for enhanced trend visualization.
⬥ Pivot Point Detection and Visualization:
Identifies pivot highs and lows using customizable left and right bar counts.
Draws lines and labels to mark broke pivot points on the chart.
⬥ Breakout Tracking:
Monitors price crossovers of pivot lines to detect breakouts.
Optionally displays and updates the count of consecutive breakouts.
◆ USAGE
Trend Analysis: Use the color and direction of the smoothed Gaussian MA line to identify overall trend direction.
Breakout Trading: Monitor breakouts from pivot levels and their persistence using the breakout count feature.
Volatility Assessment: The spread of the Gaussian scatterplot can provide insights into market volatility.
⯁ USER INPUTS
Length: Sets the lookback period for LOWESS and Gaussian MA calculations (default: 30).
Pivot Length: Determines the number of bars to the left for pivot calculation (default: 5).
Count Breaks: Toggle to show the count of consecutive breakouts (default: false).
Gaussian Scatterplot: Toggle to display the Gaussian MA as a scatterplot (default: true).
⯁ TECHNICAL NOTES
Implements a custom LOWESS function for efficient local regression smoothing.
Uses a modified Gaussian MA calculation that adapts to market volatility.
Employs Pine Script's line and label drawing capabilities for clear pivot point visualization.
Utilizes random color generation for the Gaussian scatterplot to enhance visual distinction between different time periods.
The LOWESS (Locally Weighted Scatterplot Smoothing) indicator offers traders a sophisticated tool for trend analysis and breakout detection. By combining advanced smoothing techniques with pivot point analysis, it provides a comprehensive view of market dynamics. The indicator's adaptability to different market conditions and its customizable nature make it suitable for various trading styles and timeframes.
Spiral Levels [ChartPrime]SPIRAL LEVELS
⯁ OVERVIEW
The Spiral Levels [ ChartPrime ] indicator, designed for use on TradingView and developed with Pine Script™ , leveraging a combination of traditional pivot points and spiral geometry to visualize support and resistance levels on the chart. By plotting spirals from pivot points, the indicator provides a distinctive perspective on potential price movements.
It's an experiment inspired from spirals in the Pine documentation and the concept of using spirals to add padding/offsets to SR zones in a market (an idea we plan to expand on in the future).
◆ USAGE
● Identifying Pivot Points: The indicator identifies significant pivot highs and lows based on user-defined criteria.
● Filtered Pivot Points: Pivot points for spirals are filtered using volume and high/low thresholds to ensure they are significant.
● Spiral Visualization: Spirals are plotted from these pivots, indicating potential future support and resistance levels or as liquidity zones.
Additionally, the plotted levels can serve as liquidity zones where the price might attempt to grab liquidity, providing a deeper understanding of market behavior at significant volume levels.
● Volume-Based Coloring: Spirals are colored based on volume data, providing additional context about the strength of the price movement.
● Labeling and Line Extensions: Labels display volume information, and lines extend from the end of the spirals to the current bar for clarity.
● Spiral Rotation: By adjusting the "Number of spiral rotations" input, you can control the number of rotations each spiral makes around a pivot point, offering more detailed insights. This also allows you to control the distance of levels from a pivot. More rotations will extend the spiral further from the pivot point, potentially identifying support and resistance levels or liquidity zones at greater distances.
This modification emphasizes that the number of rotations not only provides more detailed insights but also affects the spatial distribution of the identified levels relative to the pivot point.
⯁ USER INPUTS
● Pivots
Left Bars: Determines the number of bars to the left of the pivot.
Right Bars: Determines the number of bars to the right of the pivot.
● Filter
Volume Filter: Sets the threshold for volume filtering.
High & Low Filter: Sets the threshold for filtering pivot highs and lows.
● Spiral
Spirals Shown: Specifies the number of spirals to be displayed on the chart.
Number of spiral rotations: Sets the number of rotations for each spiral.
X Scale: Adjusts the horizontal scale of the spirals.
Y Scale: Adjusts the vertical scale of the spirals, relative to the ATR(200).
Reverse Spirals: Option to reverse the direction of the spirals.
⯁ TECHNICAL NOTES
The indicator uses Pine Script's polyline feature for smooth spiral rendering.
It implements a custom cross detection function to manage line and label visibility.
The script is optimized to limit calculations to the last 1000 bars for performance.
It automatically manages the number of displayed elements to prevent clutter and ensure smooth performance.
The Spiral Levels ChartPrime indicator offers a unique and visually engaging method to identify potential support and resistance levels. By integrating volume data and pivot points with spiral geometry, traders can gain valuable insights into market dynamics and make more informed trading decisions.
Bayesian Trend Indicator [ChartPrime]Bayesian Trend Indicator
Overview:
In probability theory and statistics, Bayes' theorem (alternatively Bayes' law or Bayes' rule), named after Thomas Bayes, describes the probability of an event, based on prior knowledge of conditions that might be related to the event.
The "Bayesian Trend Indicator" is a sophisticated technical analysis tool designed to assess the direction of price trends in financial markets. It combines the principles of Bayesian probability theory with moving average analysis to provide traders with a comprehensive understanding of market sentiment and potential trend reversals.
At its core, the indicator utilizes multiple moving averages, including the Exponential Moving Average (EMA), Simple Moving Average (SMA), Double Exponential Moving Average (DEMA), and Volume Weighted Moving Average (VWMA) . These moving averages are calculated based on user-defined parameters such as length and gap length, allowing traders to customize the indicator to suit their trading strategies and preferences.
The indicator begins by calculating the trend for both fast and slow moving averages using a Smoothed Gradient Signal Function. This function assigns a numerical value to each data point based on its relationship with historical data, indicating the strength and direction of the trend.
// Smoothed Gradient Signal Function
sig(float src, gap)=>
ta.ema(source >= src ? 1 :
source >= src ? 0.9 :
source >= src ? 0.8 :
source >= src ? 0.7 :
source >= src ? 0.6 :
source >= src ? 0.5 :
source >= src ? 0.4 :
source >= src ? 0.3 :
source >= src ? 0.2 :
source >= src ? 0.1 :
0, 4)
Next, the indicator calculates prior probabilities using the trend information from the slow moving averages and likelihood probabilities using the trend information from the fast moving averages . These probabilities represent the likelihood of an uptrend or downtrend based on historical data.
// Define prior probabilities using moving averages
prior_up = (ema_trend + sma_trend + dema_trend + vwma_trend) / 4
prior_down = 1 - prior_up
// Define likelihoods using faster moving averages
likelihood_up = (ema_trend_fast + sma_trend_fast + dema_trend_fast + vwma_trend_fast) / 4
likelihood_down = 1 - likelihood_up
Using Bayes' theorem , the indicator then combines the prior and likelihood probabilities to calculate posterior probabilities, which reflect the updated probability of an uptrend or downtrend given the current market conditions. These posterior probabilities serve as a key signal for traders, informing them about the prevailing market sentiment and potential trend reversals.
// Calculate posterior probabilities using Bayes' theorem
posterior_up = prior_up * likelihood_up
/
(prior_up * likelihood_up + prior_down * likelihood_down)
Key Features:
◆ The trend direction:
To visually represent the trend direction , the indicator colors the bars on the chart based on the posterior probabilities. Bars are colored green to indicate an uptrend when the posterior probability is greater than 0.5 (>50%), while bars are colored red to indicate a downtrend when the posterior probability is less than 0.5 (<50%).
◆ Dashboard on the chart
Additionally, the indicator displays a dashboard on the chart , providing traders with detailed information about the probability of an uptrend , as well as the trends for each type of moving average. This dashboard serves as a valuable reference for traders to monitor trend strength and make informed trading decisions.
◆ Probability labels and signals:
Furthermore, the indicator includes probability labels and signals , which are displayed near the corresponding bars on the chart. These labels indicate the posterior probability of a trend, while small diamonds above or below bars indicate crossover or crossunder events when the posterior probability crosses the 0.5 threshold (50%).
The posterior probability of a trend
Crossover or Crossunder events
◆ User Inputs
Source:
Description: Defines the price source for the indicator's calculations. Users can select between different price values like close, open, high, low, etc.
MA's Length:
Description: Sets the length for the moving averages used in the trend calculations. A larger length will smooth out the moving averages, making the indicator less sensitive to short-term fluctuations.
Gap Length Between Fast and Slow MA's:
Description: Determines the difference in lengths between the slow and fast moving averages. A higher gap length will increase the difference, potentially identifying stronger trend signals.
Gap Signals:
Description: Defines the gap used for the smoothed gradient signal function. This parameter affects the sensitivity of the trend signals by setting the number of bars used in the signal calculations.
In summary, the "Bayesian Trend Indicator" is a powerful tool that leverages Bayesian probability theory and moving average analysis to help traders identify trend direction, assess market sentiment, and make informed trading decisions in various financial markets.
Volume Storm Trend [ChartPrime]The Volume Storm Trend (VST) indicator is a robust tool for traders looking to analyze volume momentum and trend strength in the market. By incorporating key volume-based calculations and dynamic visualizations, VST provides clear insights into market conditions.
Components:
Calculating the median of the source data.
Volume Power Calculation: The indicator calculates the "heat power" and "cold power" by applying an Exponential Moving Average (EMA) to the median of volume data arrays.
// ---------------------------------------------------------------------------------------------------------------------}
// 𝙄𝙉𝘿𝙄𝘾𝘼𝙏𝙊𝙍 𝘾𝘼𝙇𝘾𝙐𝙇𝘼𝙏𝙄𝙊𝙉𝙎
// ---------------------------------------------------------------------------------------------------------------------{
max_val = 1000
src = close
source = ta.median(src, len)
heat.push(src > source ? (volume > max_val ? max_val : volume) : 0)
heat.remove(0)
cold.push(src < source ? (volume > max_val ? max_val : volume) : 0)
cold.remove(0)
heat_power = ta.ema(heat.median(), 10)
cold_power = ta.ema(cold.median(), 10)
Visualization:
Gradient Colors: The indicator uses gradient colors to visualize bullish volume and bearish volume powers, providing a clear contrast between rising and falling trends.
Bars Fill Color: The color fill between high and low prices changes based on whether the heat power is greater than the cold power.
Bottom Line: A zero line with changing colors based on the dominance of heat or cold power.
Weather Symbols: Visual indicators ("☀" for hot weather and "❄" for cold weather) appear on the chart when the heat and cold powers crossover, helping traders quickly identify trend changes.
Inputs:
Source: The input data source, typically the closing price.
Median Length: The period length for calculating the median of the source. Default is 40.
Volume Length: The period length for calculating the average volume. Default is 3.
Show Weather: A toggle to display weather symbols on the chart. Default is false.
Temperature Type: Allows users to choose between Celsius (°C) and Fahrenheit (°F) for temperature display.
Show Weather Function:
The `Show Weather?` function enhances the VST indicator by displaying weather symbols ("☀" for hot and "❄" for cold) when there are significant crossovers between heat power and cold power. This feature adds a visual cue for potential market tops and bottoms. When the market heats to a high temperature, it often indicates a potential top, signaling traders to consider exiting long positions or preparing for a reversal.
Additional Features:
Dynamic Table Display: A table displays the current "temperature" on the chart, indicating market heat based on the calculated heat and cold powers.
The Volume Storm Trend indicator is a powerful tool for traders
looking to enhance their market analysis with volume and momentum insights, providing a clear and visually appealing representation of key market dynamics.
Liquidations [ChartPrime]Liquidations Indicator:
The Liquidations indicator is a powerful tool designed to help traders identify significant liquidation levels in financial markets. By analyzing volume data over a specified lookback period, the indicator highlights potential areas where market participants with high leverage positions may face liquidation, providing valuable insights into market dynamics.
Usage:
Traders can use the Liquidations indicator to:
◈ Identify liquidity grab opportunities: Liquidation levels often attract price action as market participants with leveraged positions face the risk of forced liquidation. Traders can anticipate price movements as the market aims to trigger these stops, potentially leading to rapid price movements or reversals.
◈ Confirm trend strength: A cluster of liquidation levels in the same direction as the prevailing trend may confirm the strength of the trend, while divergences between liquidation levels and price movements may signal potential trend reversals.
Settings:
◈ Previous Value Bars Back: Specifies the number of previous bars used in calculating the liquidation levels.
◈ Show Leverage: Allows users to selectively display liquidation levels for different leverage multiples, including 5x, 10x, 25x, 50x, and 100x.
◈ Liquidation Levels Width: Sets the width of the lines representing liquidation levels on the chart.
◈ Short Liquidations Color: Specifies the color of the lines representing short liquidation levels.
◈ Long Liquidations Color: Specifies the color of the lines representing long liquidation levels.
◈ Bar Color: Sets the color of the background bar when the indicator is active.
Visual Representation:
◈ Liquidation levels are plotted as horizontal lines on the chart, with different colors representing short and long liquidation levels.
◈ Each liquidation level is labeled with the corresponding leverage multiple (e.g., 5x, 10x, etc.).
A dashboard displays the active liquidation levels for each leverage multiple, allowing traders to quickly assess the current market conditions.
◈ Time Window allows users to cut off unnecessary part of the chart and concentrate on a current active part of the chart to make better trading decisions:
Interpretation:
Market participants tend to place stop-loss orders near liquidation levels , creating clusters of pending orders. As price approaches these levels, it may trigger a cascade of stop-loss orders, providing liquidity for market orders and potentially leading to rapid price movements in the opposite direction.
Traders can anticipate price reversals or accelerations as price interacts with liquidation levels, using them as reference points for identifying potential entry or exit opportunities.
Note:
While the Liquidations indicator provides valuable insights into market dynamics, traders should use it in conjunction with other technical analysis tools and risk management strategies to make informed trading decisions.
Composite Trend Oscillator [ChartPrime]CODE DUELLO:
Have you ever stopped to wonder what the underlying filters contained within complex algorithms are actually providing for you? Wouldn't it be nice to actually visually inspect for that? Those would require some kind of wild west styled quick draw duel or some comparison method as a proper 'code duello'. Then it can be determined which filter can 'draw' the quickest from it's computational holster with the least amount of lag and smoothness.
In Pine we can do so, discovering how beneficial that would be. This can be accomplished by quickly switching from one filter to another by input() back and forth, requiring visual memory. A better way could be done by placing two indicators added to the chart and then eventually placed into one indicator pane on top of each other.
By adding a filter() helper function that calls other moving average functions chosen for comparison, it can put to the test which moving average is the best drawing filter suited to our expected needs. PhiSmoother was formerly debuted and now it is utilized in a more complex environment in a multitude of ways along side other commonly utilized filters. Now, you the reader, get to judge for yourself...
FILTER VERSATILITY:
Having the capability to adjust between various smoothing methods such as PhiSmoother, TEMA, DEMA, WMA, EMA, and SMA on historical market data within the code provides an advantage. Each of these filter methods offers distinct advantages and hinderances. PhiSmoother stands out often by having superb noise rejection, while also being able to manipulate the fine-tuning of the phase or lag of the indicator, enhancing responsiveness to price movements.
The following are more well-known classic filters. TEMA (Triple Exponential Moving Average) and DEMA (Double Exponential Moving Average) offer reduced transient response times to price changes fluctuations. WMA (Weighted Moving Average) assigns more weight to recent data points, making it particularly useful for reduced lag. EMA (Exponential Moving Average) strikes a balance between responsiveness and computational efficiency, making it a popular choice. SMA (Simple Moving Average) provides a straightforward calculation based on the arithmetic mean of the data. VWMA and RMA have both been excluded for varying reasons, both being unworthy of having explanation here.
By allowing for adjustment refinements between these filter methods, traders may garner the flexibility to adapt their analysis to different market dynamics, optimizing their algorithms for improved decision-making and performance on demand.
INDICATOR INTRODUCTION:
ChartPrime's Composite Trend Oscillator operates as an oscillator based on the concept of a moving average ribbon. It utilizes up to 32 filters with progressively longer periods to assess trend direction and strength. Embedded within this indicator is an alternative view that utilizes the separation of the ribbon filaments to assess volatility. Both versions are excellent candidates for trend and momentum, both offering visualization of polarity, directional coloring, and filter crossings. Anyone who has former experience using RSI or stochastics may have ease of understanding applying this to their chart.
COMPOSITE CLUSTER MODES EXPLAINED:
In Trend Strength mode, the oscillator behavior signifies market direction and movement strength. When the oscillator is rising and above zero, the market is within a bullish phase, and visa versa. If the signal filter crosses the composite trend, this indicates a potential dynamic shift signaling a possible reversal. When the oscillator is teetering on its extremities, the market is more inclined to reverse later.
With Volatility mode, the oscillator undergoes a transformation, displaying an unbounded oscillator driven by market volatility. While it still employs the same scoring mechanism, it is now scaled according to the strength of the market move. This can aid with identification of ranging scenarios. However, one side effect is that the oscillator no longer has minimum or maximum boundaries. This can still be advantageous when considering divergences.
NOTEWORTHY SETTINGS FEATURES:
The following input settings described offer comprehensive control over the indicator's behavior and visualization.
Common Controls:
Price Source Selection - The indicator offers flexibility in choosing the price source for analysis. Traders can select from multiple options.
Composite Cluster Mode - Choose between "Trend Strength" and "Volatility" modes, providing insights into trend directionality or volatility weighting.
Cluster Filter and Length - Selects a filter for the cluster composition. This includes a length parameter adjustment.
Cluster Options:
Cluster Dispersion - Users can adjust the separation between moving averages in the cluster, influencing the sensitivity of the analysis.
Cluster Trimming - By modifying upper and lower trim parameters, traders can adjust the sensitivity of the moving averages within the cluster, enhancing its adaptability.
PostSmooth Filter and Length - Choose a filter to refine the composite cluster's post-smoothing with a length parameter adjustment.
Signal Filter and Length - Users can select a filter for the lagging signal plot, also having a length parameter adjustment.
Transition Easing - Sensitivity adjustment to influence the transition between bullish and bearish colors.
Enjoy
Deep Volume [ChartPrime]Deep Volume is an indicator designed to give you high fidelity volume information. It does this by utilizing real time data provided by Tradingview to generate a wide range of metrics. We have included a convenient column chart to visualize the polarity of the volume, and a table to see the real time data. This works by utilizing pine script's varip feature to get information within candles. This is convenient as it allows users to get lower time frame information without the use of ltf functions. The result is seconds level data with out the need to be on a lower time frame chart. As a result, as you increase the time frame of the chart the updates will become slower. This is because Tradingview doesn't update the chart information as frequently on higher time frames as there isn't as much of a need.
This indicator works on real time data so to compensate for this we generate a simulated history based on candle structure. This helps in estimating the state of the moving average before the real time data starts. As a result the estimated history isn't as accurate and should be treated as such. That being said it is nice to have an estimation when the indicator is first loaded onto the chart.
Finally we have included a cumulative volume comparison that shows you how much volume there is compared to the average cumulative volume for the day. This metric utilizes a gradient to help you interpret the information at a glance. Low daily volume is represented with grays by default, while normal volume and greater is represented with a green color by default.
The table is partitioned into two sections; tick data, and average data. On the left you will see color coded information based on the direction of the move. On the left, the information is color coded based on the average movement direction. You can control how much information is displayed in the table within the indicators settings. This is defaulted to 20 but it can be as long or short as you like. Every new candle open the far left of the table you will see a 🗘 symbol and at the start of a new session you will see a 🗓 symbol.
The included metrics are as follows:
Time: This displays the time of the real time data update.
Time Delta: This displays the elapsed time between updates.
Order Size: This is the volume times the price change between updates.
Volume: This is the volume change for the update.
Price Change: This is the change in price since the last update.
Price: This is the price of the asset at the time of the update.
Speed of Tape: This is the average time delta. Use this to see how quickly the market is moving.
Average Order Size: This is the average order size.
Average Volume: This is the average volume
Volume Ratio: This the the ratio of bullish to bearish volume as expressed by a percent. 100% is all bullish within the window and -100% is all bearish within the window.
Average Price Change: This is the average price change within the window.
Sensitivity: This is a volatility metric designed to show you the price change per 1 volume unit.
Relative Sensitivity: This is a volatility metric designed to show you the average price change per average volume.
Enjoy
Smart Money Oscillator [ChartPrime]The "Smart Money Oscillator " is a premium and discount zone oscillator with BOS and CHoCH built in for further analysis of price action. This indicator works by first determining the the premium and discount zones by using pivot points and high/lows. The top of this oscillator represents the current premium zone while the bottom half of this oscillator represents the discount zone. This oscillator functionally works like a stochastic oscillator with more sophisticated upper and lower bounds generated using smart money concept theories. We have included a moving average to allow the user to visualize the currant momentum in the oscillator. Another key feature we have included lagging divergences to help traders visualize potential reversal conditions.
Understanding the concepts of Premium and Discount zones, as well as Break of Structure (BoS) and Change of Character (CHoCH), is crucial for traders using the Smart Money Oscillator. These concepts are rooted in market structure analysis, which involves studying price levels and movements.
Premium Zone is where the price is considered to be relatively high or 'overbought'. In this zone, prices have risen significantly and may indicate that the asset is becoming overvalued, potentially leading to a reversal or slowdown in the upward trend.
The Discount Zone represents a 'discount' or 'oversold' area. Here, prices have fallen substantially, suggesting that the asset might be undervalued. This could be an indicator of a potential upward reversal or a pause in the downward trend.
Break of Structure (BoS) is about the continuation of a trend. In a bullish trend, a BoS is identified by the break of a recent higher high. In a bearish trend, it's the break of a recent Lower Low. BoS indicates that the trend is strong and likely to continue in its current direction. It's a sign of strength in the prevailing trend, whether up or down.
Change of Character (CHoCH) is an indication of a potential end to a trend. It occurs when there's a significant change in the market's behavior, contradicting the current trend. For example, in an uptrend characterized by higher highs and higher lows, a CHoCH may occur if a new high is formed but then is followed by an impulsive move downwards. This suggests that the bullish trend may be weakening and a bearish reversal could be imminent. CHoCH is essentially a sign of trend exhaustion and potential reversal.
With each consecutive BoS, the signal line of the oscillator will deepen in color. This allows you to visually see the strength of the current trend. The maximum strength of the trend is found by keeping track of the maximum number of consecutive BoS's within a window of 10. This calculation excludes periods without any BoS's to allow for a more stable max.
Quick Update is a feature that implements a more aggressive algorithm to update the highs and lows. Instead of updating the pivot points exclusively to update the range levels, it will attempt to use the current historical highs/lows to update the bounds. This results in a more responsive range at the cost of stability. There are pros and cons for both settings. With Quick Update disabled, the indicator will allow for strong reversals to register without the indicator maxing out. With Quick Update enabled, the indicator will show shorter term extremes with the risk of the signal being pinned to the extremities during strong trends or large movements. With Quick Update disabled, the oscillator prioritizes stability, using a more historical perspective to set its bounds. When Quick Update is enabled, the oscillator becomes more responsive, adjusting its bounds rapidly to reflect the latest market movements.
The Scale Offset feature allows the indicator to break the boundaries of the oscillator. This can be useful when the market is breaking highs or lows allowing the user to identify extremities in price. With Scale Offset disabled the oscillator will always remain inside of the boundaries because the extremities will be updated instantly. When this feature is enabled it will update the boundaries one step behind instead of updating it instantly. This allows the user to more easily see overbought and oversold conditions at the cost of incurring a single bar lag to the boundaries. Generally this is a good idea as this behavior makes the oscillator more sensitive to recent price spikes or drops, reflecting sudden market movements more accurately. It accentuates the extremities of the market conditions, potentially offering a more aggressive analysis. The main trade-off with the Scale Offset feature is between sensitivity and potential overreaction. It offers a more immediate and exaggerated reflection of market conditions but might also lead to misinterpretations in certain scenarios, especially in highly volatile markets.
Divergence is used to predict potential trend reversals. It occurs when the price of an asset and the reading of an oscillator move in opposite directions. This discrepancy can signal a weakening of the current trend and possibly indicate a potential reversal.
Divergence doesn't always lead to a trend reversal, but it's a warning sign that the current trend might be weakening. Divergence can sometimes give false signals, particularly in strongly trending markets where the oscillator may remain in overbought or oversold conditions for extended periods. The lagging nature of using pivot points to calculate divergences means that all divergences are limited by the pivot look forward input. The upside of using a longer look forward is that the divergences will be more accurate. The obvious con here is that it will be more delayed and might be useless by the time it appears. Its recommended to use the built in divergences as a way to learn how these are formed so you can make your own in real time.
By default, the oscillator uses a smoothing of 3 to allow for a more price like behavior while still being rather smooth compared to raw price data. Conversely, you can increase this value to make this indicator behave smoother. Something to keep in mind is that the amount of delay from real time is equal to half of the smoothing period.
We have included a verity of alerts in this indicator. Here is a list of all of the available alerts: Bullish BOS, Bearish BOS, Bullish CHoCH, Bearish CHoCH, Bullish Divergence, Hidden Bullish Divergence, Bearish Divergence, Hidden Bearish Divergence, Cross Over Average, Cross Under Average.
Below are all of the inputs and their tooltips to get you started:
Settings:
Smoothing: Specifies the degree of smoothing applied to the oscillator. Higher values result in smoother but potentially less responsive signals.
Average Length: Sets the length of the moving average applied to the oscillator, affecting its sensitivity and smoothness.
Pivot Length: Specifies the forward-looking length for pivot points, affecting how the oscillator anticipates future price movements. This directly impacts the delay in finding a pivot.
Max Length: Sets the maximum length to consider for calculating the highest values in the oscillator.
Min Length: Defines the minimum length for calculating the lowest values in the oscillator.
Quick Update: Activates a faster update mode for the oscillator's extremities, which may result in less stable range boundaries.
Scale Offset: When enabled, delays updating minimum and maximum values to enhance signal directionality, allowing the signal to occasionally exceed normal bounds.
Candle Color: Enables coloring of candles based on the current directional signal of the oscillator.
Labels:
Enable BOS/CHoCH Labels: Activates the display of BOS (Break of Structure) and CHoCH (Change of Character) labels on the chart.
Visual Padding: Turns on additional visual padding at the top and bottom of the chart to accommodate labels. Determines the amount of visual padding added to the chart for label display.
Divergence:
Divergence Pivot: Defines the number of bars to the right of the pivot in divergence calculations, influencing the oscillator's responsiveness.
Divergence Pivot Forward: Directly impacts latency. Longer periods results in more accurate results at the sacrifice of delay.
Upper Range: Sets the upper range limit for divergence calculations, influencing the oscillator's sensitivity to larger trends.
Lower Range: Determines the lower range limit for divergence calculations, affecting the oscillator's sensitivity to shorter trends.
Symbol: Allows selection of the label style for divergence indicators, with options for text or symbolic representation.
Regular Bullish: Activates the detection and marking of regular bullish divergences in the oscillator.
Hidden Bullish: Enables the identification and display of hidden bullish divergences.
Regular Bearish: Turns on the feature to detect and highlight regular bearish divergences.
Hidden Bearish: Activates the functionality for detecting and displaying hidden bearish divergences.
Color:
Bullish: Determines the minimum/maximum color gradient for bullish signals, impacting the chart's visual appearance.
Bearish: Defines the minimum/maximum color gradient for bearish signals, affecting their visual representation.
Average: Specifies the color for the average line of the oscillator, enhancing chart readability.
CHoCH: Sets the color for bullish/bearish CHoCH (Change of Character) signals.
Premium/Discount: Determines the color for the premium/discount zone in the oscillator's visual representation.
Text Color: Sets the color for the text in BoS/CHoCH labels.
Regular Bullish: Defines the color used to represent regular bullish divergences.
Hidden Bullish: Specifies the color for hidden bullish divergences.
Regular Bearish: Determines the color for hidden bearish divergences.
Divergence Text Color: Specifies the color for the text in divergence labels.
Channels With Patterns [ChartPrime]The Channels With Patterns indicator is an attempt at minimizing the delay in forming a trend channel. This indicator uses a single pivot in conjunction with a smooth version of the price to estimate the direction of an emerging trend. Using ATR, this indicator estimates the volatility of the new trend by adjusting the channel size by a multiple of the current ATR.
One of the biggest complains for any trend indicator is that it takes too long to create a channel or trend line. This indicator estimates the trend channel by checking if the price is moving in the correct direction and then it projects the channel from a single pivot. To allow for some margin of error, this script uses an offset to help center the channel.
This offset is generated from the ATR at the time of formation. In conjunction with forming estimated trend channels, this indicator features select candle stick patterns. These candle stick patterns are filtered by location in the formed trend channel. If the price is within an extremity of the trend channel it will appear. Filtering classical vanilla candle stick patterns using this methodology can result in some interesting results and possible confluence points for traders. For example; a bearish hammer appearing when filtered in an upper zone might add an extra level of realtime unique confluence traders.
Traders can use this script as a general trend line indicator that is a bit more forward looking than others, or it can be used it as its full blown trend channel estimator. Due to the fact that this is an estimate using the minimum possible information to make the channel, its accuracy will not always be perfect and can suffer compared to alternative methods.
When configuring the indicator it is important to understand the role of each input. Here is a description of all of the settings provided:
Presets (`preset`): This input allows users to quickly configure the indicator based on the market they are trading in. Selecting "Stocks," "Forex," or "Crypto" automatically adjusts various parameters to settings deemed optimal for these markets. The "User" option lets traders manually configure settings for a more personalized approach.
Style (`style`): This setting determines how pivot points are calculated. "Wick" uses the high and low of candlesticks (including wicks), which can be more sensitive to market extremes. "Body" uses only the open and close prices (the body of the candlesticks), potentially offering a more stable pivot point calculation.
Break Style (`break_style`): This option defines what price is used to determine if a channel has been broken. "Close" uses the closing price of a candlestick, while "High/Low" uses the highest and lowest prices. This affects how channel breaks are identified and can influence trading signals.
Instant Mode (`instant`): When enabled, this feature allows the indicator to form channels more quickly by initiating them as soon as potential formations are detected. This can provide earlier signals but may increase the risk of false positives.
ATR Length (`atr_length`): This input sets the period for the Average True Range (ATR), a common volatility indicator. A longer ATR period may smooth out the channel but could delay responsiveness to market changes. A shorter period might make the channel more responsive but potentially more erratic.
Offset Center (`offset`): Adjusts the vertical positioning of the channel. This can help in aligning the channel more accurately with the price action, depending on market conditions and personal trading strategies.
Size (`atr_multiplier`): Alters the channel's size relative to the ATR. A higher multiplier makes a wider channel, which might be useful in more volatile markets. A lower multiplier tightens the channel, which could be better for less volatile conditions.
Padding % (`padding`): This setting adjusts the padding within the top and bottom quarters of the channel. It essentially fine-tunes the channel's sensitivity to price movements near its boundaries.
Pivot Length (`pivot_length`): Determines the number of bars used to calculate pivot points. A longer length may provide more significant pivot points but can reduce the number of channels formed.
Pivot Look Forward (`look_forward`): Sets the number of bars to look forward in the pivot calculation, affecting how quickly the channel adapts to new pivots.
Average H/L Length (`avg_length`): Controls the smoothing of the high and low prices used in the channel calculation. A longer average length can lead to smoother, more gradual channel slopes.
Enable Hammer (`enable_hammer`): When enabled, the indicator will highlight Hammer candlestick patterns, which are often considered bullish reversal indicators.
Enable Inverted Hammer (`enable_ihammer`): This toggles the display of Inverted Hammer patterns, typically viewed as potential bullish reversal signals.
Enable Bullish Engulfing (`enable_bullish_engulfing`): Enables the identification of Bullish Engulfing patterns, another type of bullish reversal indicator.
Enable Bearish Engulfing (`enable_bearish_engulfing`): When activated, this highlights Bearish Engulfing patterns, which are often interpreted as bearish reversal signals.
Extend Channel (`extend`): This option, when enabled, extends the drawn channels forward until they are either broken or a new channel is formed.
Show Break Label (`show_break_label`): Toggles the display of labels indicating where the channel has been broken, providing visual cues for potential trade entries or exits.
Channel History Length (`history_length`): Determines how many historical channels are displayed on the chart. This can be useful for analyzing past performance and patterns.
Channel Colors (`top_color`, `bottom_color`, `center_color`): These settings allow customization of the channel's appearance by setting the colors of the top, bottom, and center lines.
Line Transparency (`line_trans`): Adjusts the transparency of the channel lines, helping to balance visibility with chart readability.
Center Line Transparency (`center_trans`): Specifically sets the transparency level of the center line of the channel.
Channel Fill Transparency (`fill_trans`): Modifies the transparency of the filled areas between the channel lines, which can enhance chart clarity and focus on the price action.
Break Colors (`break_up_color`, `break_down_color`): Sets the colors for labels that appear when the channel is broken, either upwards or downwards.
Break Label Text Color (`text_color`): Determines the color of the text in the break labels, enhancing readability based on the chart's background and color scheme.
Candle Pattern Colors (`h_color`, `ih_color`, `bullish_engulfing_color`, `bearish_engulfing_color`): These inputs allow for the customization of the colors used to highlight various candle patterns on the chart.
Candle Pattern Text Color (`candle_text_color`): Sets the color of the text for labels associated with candle pattern indicators.
Alerts (`new_channel_alert`, `break_alert`, `hammer_alert`, `ihammer_alert`, `bullish_engulfing_alert`, `bearish_engulfing_alert`): These toggles enable or disable alerts for different events, such as the formation of new channels, channel breaks, or the appearance of specific candle patterns. This feature is crucial for traders who rely on timely notifications for potential trading opportunities.
We have provided a few presets to allow you to get a feeling for how the indicator works with different settings easily. Here is a description of the settings used in each preset:
Stocks Preset:
Style: "Wick"
Break Style: False (High/Low)
Instant Mode: True
ATR Length: 10
Size (ATR Multiplier): 4
Pivot Length: 10
Pivot Look Forward: 15
Average H/L Length: 18
Forex Preset:
Style: "Wick"
Break Style: False (High/Low)
Instant Mode: True
ATR Length: 100
Size (ATR Multiplier): 5
Pivot Length: 10
Pivot Look Forward: 15
Average H/L Length: 18
Crypto Preset:
Style: "Wick"
Break Style: False (High/Low)
Instant Mode: True
ATR Length: 10
Size (ATR Multiplier): 4
Pivot Length: 10
Pivot Look Forward: 15
Average H/L Length: 18
This script first starts by defining and collecting the relevant data for the main body of the code with data(). This generates the pivot data, the levels, the ranges, the averages, the deltas, and finally the candle sticks. Once there is a higher low, or lower high detected via the pivots and the current price it triggers the formation of the new channel. It takes the delta between the last pivot and the current average price and projects the trend channel using this delta. If the price exceeds the extremities of the channel it will classify this as a break from the estimated structure and begin looking for a new channel. The idea is that when trending, the price will oscillate between extremities as defined by a range and direction. If the price is inside of one of these extremities the script will look for candle stick patterns. This is how the script operates.
On a more technical level, this script is meant to showcase Pine Script's custom types and methods. We have made use of a properties pattern allows functions to use a minimal number of arguments. This allows you to add new inputs without modifying a string of functions. The use of methods and data structures allows the main body of the code to be easy to understand and for the script as a whole to be easily modified. We have made sure that the script is modular so that users can incorporate this into their own custom scripts. It should be easy to expand on this script as the main logic is fairly compact and open for easy modification. All features are packed into their own function for easy use elsewhere. This is particularly evident in the candle stick section. I have simplified the process of creating candle stick patterns by creating a type. All users have to do is make methods for this type.
candle()=>
polarity = open < close
body_top = math.max(open, close)
body_bottom = math.min(open, close)
body_range = body_top - body_bottom
top_wick = high - body_top
bottom_wick = body_bottom - low
average_body = ta.ema(body_range, 14)
average_top_wick = ta.ema(top_wick, 14)
average_bottom_wick = ta.ema(bottom_wick, 14)
has_body = body_range != 0
has_top_wick = top_wick != 0
has_bottom_wick = bottom_wick != 0
above_average_body = body_range > average_body
above_average_top_wick = top_wick > average_top_wick
above_average_bottom_wick = bottom_wick > average_bottom_wick
candle_data.new(
polarity
, body_top
, body_bottom
, body_range
, top_wick
, bottom_wick
, average_body
, average_top_wick
, average_bottom_wick
, has_body
, has_top_wick
, has_bottom_wick
, above_average_body
, above_average_top_wick
, above_average_bottom_wick
)
In conclusion, this script offers a blend of rapid trend channel formation and candlestick pattern recognition, making it a unique tool for traders looking for a more proactive approach to trend analysis.
Supertrend Targets [ChartPrime]The Supertrend Targets indicator combines the concepts of trend-following with dynamic volatility-based target levels. It takes core simple and classical concepts and provides actionable insights. The core of this indicator revolves around the "Supertrend" algorithm, which essentially uses the Average True Range (ATR) and a multiplier to determine if the price of a financial instrument is in an uptrend or downtrend. The indicator generates various plot points on the trading chart, which traders can use to make informed trading decisions.
Users can set several input parameters such as the source price, custom levels, multiplier scale, length of the average true range, and the window length. Traders can also opt to enable a table that shows numeric target data by percentiles, risk ratio, take profit and stop loss points.
The generated plots and fills on the chart represent various levels of potential gains and drawdowns, acting as potential targets for taking profit or stopping losses. These include the 25th, 50th, 75th, 90th, and 100th percentiles, which are adjustable by scale. There are also plots for average gain and drawdown levels, enhanced by standard deviation curves if enabled.
The Supertrend line indicators are color-coded for ease of understanding: blue for bullish performance and orange for bearish performance. The "Center Line" represents the point at which traders might consider entering a position.
Lastly, the script presents a summary table (when enabled) at the right side of the chart displaying numeric data of the plotted targets. This data provides additional insights on the risk-reward balance for each percentile, helping traders to execute their strategies more effectively.
Here's a comprehensive breakdown of its functionalities and features:
Inputs:
Source: Determines the price series type (e.g., Close, Open, High, Low, etc.).
Show Trailing Stop: Option to display the trailing stop on the chart.
Levels: Sets the number of target levels you want to display. Can range from -5 to 5.
Scale: A scaling factor for adjusting targets, can be between 1 to 100.
Window Length: Length for the target computation, determines how many bars will be considered.
Unique: Ensures every data point used in calculations is unique.
Multiplier: Multiplier for the ATR (Average True Range) to compute the SuperTrend.
ATR Length: Period for the ATR computation.
Custom Level: Allows users to set their own levels using various statistics like Average, Average + STDEV, Percentile, or can be disabled.
Percent Rank: Determines the percentile rank for targeting.
Enable Table: Enables or disables a table display.
Methods:
Flag: Identifies bullish and bearish trend reversals.
Target Percent: Determines the expected price movement (both gains and drawdowns) based on historical trend reversals.
Value Percent: Computes the percentage difference between the current price and the entry price during trend reversals.
Plots:
Multiple target lines are plotted on the chart to visualize potential gain and drawdown levels. These levels are adjusted based on user settings. Additionally, the main Supertrend line is plotted to indicate the prevailing trend direction.
Gain Levels: Target levels which show potential upside from the current price.
Drawdown Levels: Target levels which represent potential downside from the current price.
SuperTrend Line: A line that adjusts based on price volatility and trend direction, acting as a dynamic support or resistance.
In conclusion, the "Supertrend Targets " indicator is a powerful tool that combines the principle of trend-following with dynamic targets, providing traders with insights into potential future price movements. The range of customization options allows traders to adapt the indicator to different trading strategies and market conditions.
Volume HeatMap With Profile [ChartPrime]The Volume Heatmap with Profile indicator is a tool designed to provide traders with a comprehensive view of market activity through customizable visualizations. This indicator goes beyond traditional volume analysis by offering a range of adjustable parameters and features that enhance analysis of volume and give a cleaner experience when analyzing it.
To get started click the start and end time for the profile.
Key Features:
Extended Calculation: This indicator extends its calculation to the last bar, ensuring that the user has insights into current market dynamics.
Point of Control (POC): Easily identify the price level at which the highest trading activity has occurred, helping the user pinpoint potential reversal points and significant support/resistance zones.
VWAP Point of Control: Display the Volume Weighted Average Price (VWAP) Point of Control, giving the user a clear reference for determining the average price traders are paying and potential price reversals.
Adjustable Colors for Heatmap: Change the heatmap colors to the users preference, allowing the user to match the indicator's appearance to their chart style and personal visual preferences.
Forecasted Zone: This feature allows traders to forecast areas of high activity by providing the option to adjust colors within this zone. This feature assists in identifying potential breakouts or areas where increased trading volume is anticipated.
Volume Profile: Customize the colors of the volume profile to make it distinct and easily distinguishable on the chart.
Adjustable Volume Levels: Specify the number volume levels that are most relevant to your trading strategy.
Adjustable Placement for Volume Profile: Position the volume profile on the chart. Whether the user prefers it on the left, right, or at the center of the chart, this indicator offers placement flexibility.
The ratio of bull vs bear volume is plotted on the outside of the range indicating how bullish or bearish price action is in a given range.
Bollinger Bands Liquidity Cloud [ChartPrime]This indicator overlays a heatmap on the price chart, providing a detailed representation of Bollinger bands' profile. It offers insights into the price's behavior relative to these bands. There are two visualization styles to choose from: the Volume Profile and the Z-Score method.
Features
Volume Profile: This method illustrates how the price interacts with the Bollinger bands based on the traded volume.
Z-Score: In this mode, the indicator samples the real distribution of Z-Scores within a specified window and rescales this distribution to the desired sample size. It then maps the distribution as a heatmap by calculating the corresponding price for each Z-Score sample and representing its weight via color and transparency.
Parameters
Length: The period for the simple moving average that forms the base for the Bollinger bands.
Multiplier: The number of standard deviations from the moving average to plot the upper and lower Bollinger bands.
Main:
Style: Choose between "Volume" and "Z-Score" visual styles.
Sample Size: The size of the bin. Affects the granularity of the heatmap.
Window Size: The lookback window for calculating the heatmap. When set to Z-Score, a value of `0` implies using all available data. It's advisable to either use `0` or the highest practical value when using the Z-Score method.
Lookback: The amount of historical data you want the heatmap to represent on the chart.
Smoothing: Implements sinc smoothing to the distribution. It smoothens out the heatmap to provide a clearer visual representation.
Heat Map Alpha: Controls the transparency of the heatmap. A higher value makes it more opaque, while a lower value makes it more transparent.
Weight Score Overlay: A toggle that, when enabled, displays a letter score (`S`, `A`, `B`, `C`, `D`) inside the heatmap boxes, based on the weight of each data point. The scoring system categorizes each weight into one of these letters using the provided percentile ranks and the median.
Color
Color: Color for high values.
Standard Deviation Color: Color to represent the standard deviation on the Bollinger bands.
Text Color: Determines the color of the letter score inside the heatmap boxes. Adjusting this parameter ensures that the score is visible against the heatmap color.
Usage
Once this indicator is applied to your chart, the heatmap will be overlaid on the price chart, providing a visual representation of the price's behavior in relation to the Bollinger bands. The intensity of the heatmap is directly tied to the price action's intensity, defined by your chosen parameters.
When employing the Volume Profile style, a brighter and more intense area on the heatmap indicates a higher trading volume within that specific price range. On the other hand, if you opt for the Z-Score method, the intensity of the heatmap reflects the Z-Score distribution. Here, a stronger intensity is synonymous with a more frequent occurrence of a specific Z-Score.
For those seeking an added layer of granularity, there's the "Weight Score Overlay" feature. When activated, each box in your heatmap will sport a letter score, ranging from `S` to `D`. This score categorizes the weight of each data point, offering a concise breakdown:
- `S`: Data points with a weight of 1.
- `A`: Weights below 1 but greater than or equal to the 75th percentile rank.
- `B`: Weights under the 75th percentile but at or above the median.
- `C`: Weights beneath the median but surpassing the 25th percentile rank.
- `D`: All that fall below the 25th percentile rank.
This scoring feature augments the heatmap's visual data, facilitating a quicker interpretation of the weight distribution across the dataset.
Further Explanations
Volume Profile
A volume profile is a tool used by traders to visualize the amount of trading volume occurring at specific price levels. This kind of profile provides a deep insight into the market's structure and helps traders identify key areas of support and resistance, based on where the most trading activity took place. The concept behind the volume profile is that the amount of volume at each price level can indicate the potential importance of that price.
In this indicator:
- The volume profile mode creates a visual representation by sampling trading volumes across price levels.
- The representation displays the balance between bullish and bearish volumes at each level, which is further differentiated using a color gradient from `low_color` to `high_color`.
- The volume profile becomes more refined with sinc smoothing, helping to produce a smoother distribution of volumes.
Z-Score and Distribution Resampling
Z-Score, in the context of trading, represents the number of standard deviations a data point (e.g., closing price) is from the mean (average). It’s a measure of how unusual or typical a particular data point is in relation to all the data. In simpler terms, a high Z-Score indicates that the data point is far away from the mean, while a low Z-Score suggests it's close to the mean.
The unique feature of this indicator is that it samples the real distribution of z-scores within a window and then resamples this distribution to fit the desired sample size. This process is termed as "resampling in the context of distribution sampling" . Resampling provides a way to reconstruct and potentially simplify the original distribution of z-scores, making it easier for traders to interpret.
In this indicator:
- Each Z-Score corresponds to a price value on the chart.
- The resampled distribution is then used to display the heatmap, with each Z-Score related price level getting a heatmap box. The weight (or importance) of each box is represented as a combination of color and transparency.
How to Interpret the Z-Score Distribution Visualization:
When interpreting the Z-Score distribution through color and alpha in the visualization, it's vital to understand that you're seeing a representation of how unusual or typical certain data points are without directly viewing the numerical Z-Score values. Here's how you can interpret it:
Intensity of Color: This often corresponds to the distance a particular data point is from the mean.
Lighter shades (closer to `low_color`) typically indicate data points that are more extreme, suggesting overbought or oversold conditions. These could signify potential reversals or significant deviations from the norm.
Darker shades (closer to `high_color`) represent data points closer to the mean, suggesting that the price is relatively typical compared to the historical data within the given window.
Alpha (Transparency): The degree of transparency can indicate the significance or confidence of the observed deviation. More opaque boxes might suggest a stronger or more reliable deviation from the mean, implying that the observed behavior is less likely to be a random occurrence.
More transparent boxes could denote less certainty or a weaker deviation, meaning that the observed price behavior might not be as noteworthy.
- Combining Color and Alpha: By observing both the intensity of color and the level of transparency, you get a richer understanding. For example:
- A light, opaque box could suggest a strong, significant deviation from the mean, potentially signaling an overbought or oversold scenario.
- A dark, transparent box might indicate a weak, insignificant deviation, suggesting the price is behaving typically and is close to its average.
Retest Support Resistance Signals [ChartPrime]The Retest Support Resistance Signals Indicator is a powerful tool designed to assist traders in identifying key support and resistance levels within the market. Most importantly and uniquely it identifies retests of these structures and displays them on the trader's chart. By utilizing a combination of pivot points and price action analysis, this indicator offers valuable insights for both signal-based and support/resistance trading strategies.
Key Features & settings:
Retest Confirmation: The indicator waits for a break above a support or resistance level and observes subsequent price action. If price retraces and forms a wick below the level, followed by a bounce, the indicator identifies it as a retest and labels it as "R" to indicate potential support or resistance confirmation.
This indicator combines the benefits of signal-based trading and support/resistance analysis, providing users with a versatile trading tool suitable for various strategies.
Retest Weaker Toggle: Users have the option to enable or disable the retest weaker feature. When enabled, the indicator considers a support or resistance level weaker if it experiences a test. When disabled, the indicator assumes that a bounce may occur from the level.
Pivot Detection Customization: Users can adjust the pivot detection method based on either wicks or bodies. This flexibility allows traders to adapt the indicator to different market conditions and preferences. The trader can also customize the number of bars used for pivot detection on both the left and right sides. This feature enables traders to fine-tune the indicator's sensitivity and responsiveness.
Users also have control over how support or resistance levels are managed on the chart. They can choose to either stop updating the levels (freeze) or completely remove them (delete) from the chart.
Breakout Threshold Setting: Traders can adjust the breakout threshold until deletion setting. This setting determines the number of successful breakouts through a support or resistance level required to remove it from the chart. This feature helps filter out weaker levels and focus on more significant ones.
Shown above we see the retest labels in action denoted with an R label
This indicator can be a useful addition to an SR trader's toolkit. Identifying when a level in the market is retested can reveal interesting information about the underlying strength of a trend. This indicator has been designed with the two major schools of thought; a level gets weaker the more it's tested vs stronger the more it's tested. We have designed this therefore to be versatile and adapt to both thought procceses. The R labels should be taken and considered as a larger part of an analysis process and not followed blindly.
Multi Kernel Regression [ChartPrime]The "Multi Kernel Regression" is a versatile trading indicator that provides graphical interpretations of market trends by using different kernel regression methods. It's beneficial because it smoothes out price data, creating a clearer picture of price movements, and can be tailored according to the user's preference with various options.
What makes this indicator uniquely versatile is the 'Kernel Select' feature, which allows you to choose from a variety of regression kernel types, such as Gaussian, Logistic, Cosine, and many more. In fact, you have 17 options in total, making this an adaptable tool for diverse market contexts.
The bandwidth input parameter directly affects the smoothness of the regression line. While a lower value will make the line more sensitive to price changes by sticking closely to the actual prices, a higher value will smooth out the line even further by placing more emphasis on distant prices.
It's worth noting that the indicator's 'Repaint' function, which re-estimates work according to the most recent data, is not a deficiency or a flaw. Instead, it’s a crucial part of its functionality, updating the regression line with the most recent data, ensuring the indicator measurements remain as accurate as possible. We have however included a non-repaint feature that provides fixed calculations, creating a steady line that does not change once it has been plotted, for a different perspective on market trends.
This indicator also allows you to customize the line color, style, and width, allowing you to seamlessly integrate it into your existing chart setup. With labels indicating potential market turn points, you can stay on top of significant price movements.
Repaint : Enabling this allows the estimator to repaint to maintain accuracy as new data comes in.
Kernel Select : This option allows you to select from an array of kernel types such as Triangular, Gaussian, Logistic, etc. Each kernel has a unique weight function which influences how the regression line is calculated.
Bandwidth : This input, a scalar value, controls the regression line's sensitivity towards the price changes. A lower value makes the regression line more sensitive (closer to price) and higher value makes it smoother.
Source : Here you denote which price the indicator should consider for calculation. Traditionally, this is set as the close price.
Deviation : Adjust this to change the distance of the channel from the regression line. Higher values widen the channel, lower values make it smaller.
Line Style : This provides options to adjust the visual style of the regression lines. Options include Solid, Dotted, and Dashed.
Labels : Enabling this introduces markers at points where the market direction switches. Adjust the label size to suit your preference.
Colors : Customize color schemes for bullish and bearish trends along with the text color to match your chart setup.
Kernel regression, the technique behind the Multi Kernel Regression Indicator, has a rich history rooted in the world of statistical analysis and machine learning.
The origins of kernel regression are linked to the work of Emanuel Parzen in the 1960s. He was a pioneer in the development of nonparametric statistics, a domain where kernel regression plays a critical role. Although originally developed for the field of probability, these methods quickly found application in various other scientific disciplines, notably in econometrics and finance.
Kernel regression became really popular in the 1980s and 1990s along with the rise of other nonparametric techniques, like local regression and spline smoothing. It was during this time that kernel regression methods were extensively studied and widely applied in the fields of machine learning and data science.
What makes the kernel regression ideal for various statistical tasks, including financial market analysis, is its flexibility. Unlike linear regression, which assumes a specific functional form for the relationship between the independent and dependent variables, kernel regression makes no such assumptions. It creates a smooth curve fit to the data, which makes it extremely useful in capturing complex relationships in data.
In the context of stock market analysis, kernel regression techniques came into use in the late 20th century as computational power improved and these techniques could be more easily applied. Since then, they have played a fundamental role in financial market modeling, market prediction, and the development of trading indicators, like the Multi Kernel Regression Indicator.
Today, the use of kernel regression has solidified its place in the world of trading and market analysis, being widely recognized as one of the most effective methods for capturing and visualizing market trends.
The Multi Kernel Regression Indicator is built upon kernel regression, a versatile statistical method pioneered by Emanuel Parzen in the 1960s and subsequently refined for financial market analysis. It provides a robust and flexible approach to capturing complex market data relationships.
This indicator is more than just a charting tool; it reflects the power of computational trading methods, combining statistical robustness with visual versatility. It's an invaluable asset for traders, capturing and interpreting complex market trends while integrating seamlessly into diverse trading scenarios.
In summary, the Multi Kernel Regression Indicator stands as a testament to kernel regression's historic legacy, modern computational power, and contemporary trading insight.
MACD + SMA 200 Strategy (by ChartArt)Here is a combination of the classic MACD (moving average convergence divergence indicator) with the classic slow moving average SMA with period 200 together as a strategy.
This strategy goes long if the MACD histogram and the MACD momentum are both above zero and the fast MACD moving average is above the slow MACD moving average. As additional long filter the recent price has to be above the SMA 200. If the inverse logic is true, the strategy goes short. For the worst case there is a max intraday equity loss of 50% filter.
Save another $999 bucks with my free strategy.
This strategy works in the backtest on the daily chart of Bitcoin, as well as on the S&P 500 and the Dow Jones Industrial Average daily charts. Current performance as of November 30, 2015 on the SPX500 CFD daily is percent profitable: 68% since the year 1970 with a profit factor of 6.4. Current performance as of November 30, 2015 on the DOWI index daily is percent profitable: 51% since the year 1915 with a profit factor of 10.8.
All trading involves high risk; past performance is not necessarily indicative of future results. Hypothetical or simulated performance results have certain inherent limitations. Unlike an actual performance record, simulated results do not represent actual trading. Also, since the trades have not actually been executed, the results may have under- or over-compensated for the impact, if any, of certain market factors, such as lack of liquidity. Simulated trading programs in general are also subject to the fact that they are designed with the benefit of hindsight. No representation is being made that any account will or is likely to achieve profits or losses similar to those shown.
MACD Color Trawler (by ChartArt)This version of the MACD indicator is 'trawling' (checking) if the MACD histogram and the zero line crossing with the MACD line are both positive or negative. The idea behind this is to show areas with higher or lower risk.
Features:
1. Enable the bar color
2. Enable the background color
3. Change zero line value
FYI:
"The MACD-Histogram is an indicator of an indicator. In fact, MACD is also an indicator of an indicator. This means that the MACD-Histogram is the fourth derivative of price."
First derivative: 12-day EMA and 26-day EMA
Second derivative: MACD (12-day EMA less the 26-day EMA)
Third derivative: MACD signal line (9-day EMA of MACD)
Fourth derivative: MACD-Histogram (MACD less MACD signal line)
Source: stockcharts.com