Volume Surge Momentum Detector [CHE]Volume Surge Momentum Detector – Discover explosive price movements fueled by sudden volume spikes.
Volume Surge Momentum Detector – Capture Key Inflection Points Using Volume Dynamics
Description:
This indicator helps traders identify highprobability entries by focusing on volume dynamics. Significant price movements often occur when interest in a stock rises, and this is reflected in volume spikes. The Volume Analysis Indicator is designed to detect key inflection points such as breakouts and capitulations by analyzing the relationship between volume and price. It enables traders to avoid false breakouts, identify trend exhaustion, and make informed trading decisions.
Key Features:
VolumeBased Inflection Points: The indicator tracks the volume levels to detect when there is significant interest in a stock. High volume signals increased market participation, often preceding large price moves.
Breakout Detection: It identifies breakouts by detecting price moves beyond a key level (the highest price over a certain period) along with a volume spike, indicating strong momentum.
Capitulation Detection: Capitulation is detected when a strong trend weakens and reverses with increased volume, signaling potential trend exhaustion.
Volume Thresholds: By using statistical measures, the indicator identifies unusually high or low volume based on the average volume and standard deviations, helping traders to spot major turning points in the market.
This tool simplifies volume bar analysis by automatically highlighting significant volume events, which often indicate large upcoming price movements.
Detailed Breakdown:
1. Volume as a Catalyst for Price Movements:
Volume is essential for price action. Without sufficient volume, price moves may not be sustained. This indicator highlights moments of increased market interest by tracking significant volume increases, helping traders stay ahead of major price movements.
2. Breakouts and Capitulation Detection:
Breakout: Detected when the volume exceeds an upper threshold (based on two standard deviations above the average volume) and the price breaks above the highest close of the previous period. These moments are marked with green labels on the chart.
Capitulation: Detected when volume increases significantly but the trend cannot sustain itself, and the price reverses below the lowest close of the previous period. These moments are marked with red labels on the chart, indicating potential trend exhaustion.
3. Sentiment and Market Dynamics:
Market sentiment can lead to price inflections when one side of the market becomes overbought or exhausted. Volume spikes in either direction provide clues as to whether a trend will continue or reverse. This indicator helps identify these critical points by monitoring volume patterns.
4. Visual Representation:
Green Bars: High volume indicating strong market interest or momentum.
Red Bars: Low volume, signaling potential lack of interest or exhaustion.
Gray Bars: Normal volume, helping to distinguish significant market events from regular activity.
Breakout and Capitulation Labels: Green labels for breakouts and red labels for capitulation points are shown directly on the chart for easy reference.
5. Alerts for Key Signals:
Breakout Alert: Notifies traders when a breakout occurs with strong volume, indicating a potential for significant price movement.
Capitulation Alert: Alerts traders when a capitulation occurs, suggesting a trend reversal.
High and Low Volume Alerts: Receive notifications when the volume exceeds the upper or lower thresholds, highlighting key moments of market interest or disinterest.
Why This Indicator Matters:
Traders often miss significant price moves or enter too late. This indicator helps traders by identifying highprobability entry points before the stock makes major moves. By focusing on volume spikes, the indicator provides insight into market sentiment and allows traders to act quickly.
How It Works:
1. Calculate Volume Significance: The indicator calculates the average volume over a userdefined period (`length`) and identifies significant deviations using standard deviations.
2. Mark Key Levels: Breakouts are detected when price moves above recent highs with significant volume, while capitulation is flagged when trends show exhaustion with a volume spike and price reversal.
3. Receive Alerts: Traders can set up alerts for key events like breakouts, capitulations, and significant volume changes to stay informed in realtime.
Perfect For:
Active traders looking to spot early market movements driven by volume changes.
Traders who want to avoid false breakouts by confirming price moves with volume spikes.
Swing traders identifying capitulation points to reduce exposure or enter positions on trend reversals.
How to Use:
Customize the "Average Period" to determine how many bars are used to calculate the average volume.
Adjust the "Multiplier for Standard Deviation" to finetune the sensitivity of high and low volume detection.
Enable alerts to receive realtime notifications for breakouts, capitulations, or volume spikes.
Conclusion:
Volume analysis is essential to understanding stock movements. This indicator simplifies the process of identifying breakouts and capitulation points by using volume dynamics. Whether you are a beginner looking for powerful tools or an experienced trader refining your strategy, this indicator offers valuable insights into market behavior driven by volume.
Additional Insights:
1. Statistical Significance: The use of standard deviations to identify high and low volume gives the indicator a statistical basis, helping to reduce noise and false signals.
2. Flexible Alerts: Traders can set up custom alerts based on their trading preferences, whether they focus on volume changes or price breakouts and reversals.
This detailed description now includes all the important aspects of the script without referencing any external sources, focusing solely on the functionality and trading strategy the script provides.
Best regards
Chervolino
Cari dalam skrip untuk "break"
PERFECT PIVOT RANGE DR ABIRAM SIVPRASAD (PPR)PERFECT PIVOT RANGE (PPR) by Dr. Abhiram Sivprasad
The Perfect Pivot Range (PPR) indicator is designed to provide traders with a comprehensive view of key support and resistance levels based on pivot points across different timeframes. This versatile tool allows users to visualize daily, weekly, and monthly pivots along with high and low levels from previous periods, helping traders identify potential areas of price reversals or breakouts.
Features:
Multi-Timeframe Pivots:
Daily, weekly, and monthly pivot levels (Pivot Point, Support 1 & 2, Resistance 1 & 2).
Helps traders understand price levels across various timeframes, from short-term (daily) to long-term (monthly).
Previous High-Low Levels:
Displays the previous week, month, and day high-low levels to highlight key zones of historical support and resistance.
Traders can easily see areas of price action from prior periods, giving context for future price movements.
Customizable Options:
Users can choose which pivot levels and high-lows to display, allowing for flexibility based on trading preferences.
Visual settings can be toggled on and off to suit different trading strategies and timeframes.
Real-Time Data:
All pivot points and levels are dynamically calculated based on real-time price data, ensuring accurate and up-to-date information for decision-making.
How to Use:
Pivot Points: Use daily, weekly, or monthly pivot points to find potential support or resistance levels. Prices above the pivot suggest bullish sentiment, while prices below indicate bearishness.
Previous High-Low: The high-low levels from previous days, weeks, or months can serve as critical zones where price may reverse or break through, indicating potential trade entries or exits.
Confluence: When pivot points or high-low levels overlap across multiple timeframes, they become even stronger levels of support or resistance.
This indicator is suitable for all types of traders (scalpers, swing traders, and long-term investors) looking to enhance their technical analysis and make more informed trading decisions.
Here are three detailed trading strategies for using the Perfect Pivot Range (PPR) indicator for options, stocks, and commodities:
1. Options Buying Strategy with PPR Indicator
Strategy: Buying Call and Put Options Based on Pivot Breakouts
Objective: To capitalize on sharp price movements when key pivot levels are breached, leading to high returns with limited risk in options trading.
Timeframe: 15-minute to 1-hour chart for intraday option trading.
Steps:
Identify the Key Levels:
Use weekly pivots for intraday trading, as they provide more significant levels for options.
Enable the "Previous Week High-Low" to gauge support and resistance from the previous week.
Call Option Setup (Bullish Breakout):
Condition: If the price breaks above the weekly pivot point (PP) with high momentum (indicated by a strong bullish candle), it signifies potential bullishness.
Action: Buy Call Options at the breakout of the weekly pivot.
Confirmation: Check if the price is sustaining above the pivot with a minimum of 1-2 candles (depending on timeframe) and the first resistance (R1) isn’t too far away.
Target: The first resistance (R1) or previous week’s high can be your target for exiting the trade.
Stop-Loss: Set a stop-loss just below the pivot point (PP) to limit risk.
Put Option Setup (Bearish Breakdown):
Condition: If the price breaks below the weekly pivot (PP) with strong bearish momentum, it’s a signal to expect a downward move.
Action: Buy Put Options on a breakdown below the weekly pivot.
Confirmation: Ensure that the price is closing below the pivot, and check for declining volumes or bearish candles.
Target: The first support (S1) or the previous week’s low.
Stop-Loss: Place the stop-loss just above the pivot point (PP).
Example:
Let’s say the weekly pivot point (PP) is at 1500, the price breaks above and sustains at 1510. You buy a Call Option with a strike price near 1500, and the target will be the first resistance (R1) at 1530.
2. Stock Trading Strategy with PPR Indicator
Strategy: Swing Trading Using Pivot Points and Previous High-Low Levels
Objective: To capture mid-term stock price movements using pivot points and historical high-low levels for better trade entries and exits.
Timeframe: 1-day or 4-hour chart for swing trading.
Steps:
Identify the Trend:
Start by determining the overall trend of the stock using the weekly pivots. If the price is consistently above the pivot point (PP), the trend is bullish; if below, the trend is bearish.
Buy Setup (Bullish Trend Reversal):
Condition: When the stock bounces off the weekly pivot point (PP) or previous week’s low, it signals a bullish reversal.
Action: Enter a long position near the pivot or previous week’s low.
Confirmation: Look for a bullish candle pattern or increasing volumes.
Target: Set your first target at the first resistance (R1) or the previous week’s high.
Stop-Loss: Place your stop-loss just below the previous week’s low or support (S1).
Sell Setup (Bearish Trend Reversal):
Condition: When the price hits the weekly resistance (R1) or previous week’s high and starts to reverse downwards, it’s an opportunity to short-sell the stock.
Action: Enter a short position near the resistance.
Confirmation: Watch for bearish candle patterns or decreasing volume at the resistance.
Target: Your first target would be the weekly pivot point (PP), with the second target as the previous week’s low.
Stop-Loss: Set a stop-loss just above the resistance (R1).
Use Previous High-Low Levels:
The previous week’s high and low are key levels where price reversals often occur, so use them as reference points for potential entry and exit.
Example:
Stock XYZ is trading at 200. The previous week’s low is 195, and it bounces off that level. You enter a long position with a target of 210 (previous week’s high) and place a stop-loss at 193.
3. Commodity Trading Strategy with PPR Indicator
Strategy: Trend Continuation and Reversal in Commodities
Objective: To capitalize on the strong trends in commodities by using pivot points as key support and resistance levels for trend continuation and reversal.
Timeframe: 1-hour to 4-hour charts for commodities like Gold, Crude Oil, Silver, etc.
Steps:
Identify the Trend:
Use monthly pivots for long-term commodities trading since commodities often follow macroeconomic trends.
The monthly pivot point (PP) will give an idea of the long-term trend direction.
Trend Continuation Setup (Bullish Commodity):
Condition: If the price is consistently trading above the monthly pivot and pulling back towards the pivot without breaking below it, it indicates a bullish continuation.
Action: Enter a long position when the price tests the monthly pivot (PP) and starts moving up again.
Confirmation: Look for a strong bullish candle or an increase in volume to confirm the continuation.
Target: The first resistance (R1) or previous month’s high.
Stop-Loss: Place the stop-loss below the monthly pivot (PP).
Trend Reversal Setup (Bearish Commodity):
Condition: When the price reverses from the monthly resistance (R1) or previous month’s high, it’s a signal for a bearish reversal.
Action: Enter a short position at the resistance level.
Confirmation: Watch for bearish candle patterns or decreasing volumes at the resistance.
Target: Set your first target as the monthly pivot (PP) or the first support (S1).
Stop-Loss: Stop-loss should be placed just above the resistance level.
Using Previous High-Low for Swing Trades:
The previous month’s high and low are important in commodities. They often act as barriers to price movement, so traders should look for breakouts or reversals near these levels.
Example:
Gold is trading at $1800, with a monthly pivot at $1780 and the previous month’s high at $1830. If the price pulls back to $1780 and starts moving up again, you enter a long trade with a target of $1830, placing your stop-loss below $1770.
Key Points Across All Strategies:
Multiple Timeframes: Always use a combination of timeframes for confirmation. For example, a daily chart may show a bullish setup, but the weekly pivot levels can provide a larger trend context.
Volume: Volume is key in confirming the strength of price movement. Always confirm breakouts or reversals with rising or declining volume.
Risk Management: Set tight stop-loss levels just below support or above resistance to minimize risk and lock in profits at pivot points.
Each of these strategies leverages the powerful pivot and high-low levels provided by the PPR indicator to give traders clear entry, exit, and risk management points across different markets
Inverse Head and Shoulders Patterns [theEccentricTrader]█ OVERVIEW
This indicator automatically draws inverse head and shoulders patterns and price projections derived from the ranges that constitute the patterns.
█ CONCEPTS
Green and Red Candles
• A green candle is one that closes with a close price equal to or above the price it opened.
• A red candle is one that closes with a close price that is lower than the price it opened.
Swing Highs and Swing Lows
• A swing high is a green candle or series of consecutive green candles followed by a single red candle to complete the swing and form the peak.
• A swing low is a red candle or series of consecutive red candles followed by a single green candle to complete the swing and form the trough.
Peak and Trough Prices (Basic)
• The peak price of a complete swing high is the high price of either the red candle that completes the swing high or the high price of the preceding green candle, depending on which is higher.
• The trough price of a complete swing low is the low price of either the green candle that completes the swing low or the low price of the preceding red candle, depending on which is lower.
Historic Peaks and Troughs
The current, or most recent, peak and trough occurrences are referred to as occurrence zero. Previous peak and trough occurrences are referred to as historic and ordered numerically from right to left, with the most recent historic peak and trough occurrences being occurrence one.
Upper Trends
• A return line uptrend is formed when the current peak price is higher than the preceding peak price.
• A downtrend is formed when the current peak price is lower than the preceding peak price.
• A double-top is formed when the current peak price is equal to the preceding peak price.
Lower Trends
• An uptrend is formed when the current trough price is higher than the preceding trough price.
• A return line downtrend is formed when the current trough price is lower than the preceding trough price.
• A double-bottom is formed when the current trough price is equal to the preceding trough price.
Range
The range is simply the difference between the current peak and current trough prices, generally expressed in terms of points or pips.
Support and Resistance
• Support refers to a price level where the demand for an asset is strong enough to prevent the price from falling further.
• Resistance refers to a price level where the supply of an asset is strong enough to prevent the price from rising further.
Support and resistance levels are important because they can help traders identify where the price of an asset might pause or reverse its direction, offering potential entry and exit points. For example, a trader might look to buy an asset when it approaches a support level , with the expectation that the price will bounce back up. Alternatively, a trader might look to sell an asset when it approaches a resistance level , with the expectation that the price will drop back down.
It's important to note that support and resistance levels are not always relevant, and the price of an asset can also break through these levels and continue moving in the same direction.
Breakouts and Breakdowns
• A breakout occurs when the price of an asset breaks above a resistance level.
• A breakdown occurs when the price of an asset breaks below a support level.
• A confirmed breakout occurs when the price of an asset breaks and closes above a resistance level.
• A confirmed breakdown occurs when the price of an asset breaks and closes below a support level.
It's important to note that breakouts and breakdowns of resistance and support levels are not always relevant, and the price of an asset can also reverse once it has broken through a level to carry on in the opposite direction.
Trendlines
Trendlines are straight lines that are drawn between two or more points on a price chart. These lines are used as dynamic support and resistance levels for making strategic decisions and predictions about future price movements. For example traders will look for price movements along, and reactions to, trendlines in the form of rejections or breakouts/downs.
Inverse Head and Shoulders Patterns
Inverse head and shoulders patterns are generally characterised by three troughs with the one in the middle being the lowest of the three.
The current peak acts as neckline resistance and the trendline drawn from the preceding peak to current peak acts as dynamic neckline resistance.
Traders typically look for breakouts of Inverse head and shoulders necklines to identify potential trading opportunities, with targets and stop losses set as multiples of the pattern's range.
█ FEATURES
Inputs
• Show Historic
• Show Necklines
• Show Dynamic Necklines
• Show Projections
• Pattern Color
• Pattern Neckline Color
• Extend Current Pattern Lines
• Extend Current Pattern Necklines
• Extend Current Projection Lines
█ LIMITATIONS
All green and red candle calculations are based on differences between open and close prices, as such I have made no attempt to account for green candles that gap lower and close below the close price of the preceding candle, or red candles that gap higher and close above the close price of the preceding candle. This may cause some unexpected behaviour on some markets and timeframes. I can only recommend using 24-hour markets, if and where possible, as there are far fewer gaps and, generally, more data to work with.
Head and Shoulders Patterns [theEccentricTrader]█ OVERVIEW
This indicator automatically draws head and shoulders patterns and price projections derived from the ranges that constitute the patterns.
█ CONCEPTS
Green and Red Candles
• A green candle is one that closes with a close price equal to or above the price it opened.
• A red candle is one that closes with a close price that is lower than the price it opened.
Swing Highs and Swing Lows
• A swing high is a green candle or series of consecutive green candles followed by a single red candle to complete the swing and form the peak.
• A swing low is a red candle or series of consecutive red candles followed by a single green candle to complete the swing and form the trough.
Peak and Trough Prices (Basic)
• The peak price of a complete swing high is the high price of either the red candle that completes the swing high or the high price of the preceding green candle, depending on which is higher.
• The trough price of a complete swing low is the low price of either the green candle that completes the swing low or the low price of the preceding red candle, depending on which is lower.
Historic Peaks and Troughs
The current, or most recent, peak and trough occurrences are referred to as occurrence zero. Previous peak and trough occurrences are referred to as historic and ordered numerically from right to left, with the most recent historic peak and trough occurrences being occurrence one.
Upper Trends
• A return line uptrend is formed when the current peak price is higher than the preceding peak price.
• A downtrend is formed when the current peak price is lower than the preceding peak price.
• A double-top is formed when the current peak price is equal to the preceding peak price.
Lower Trends
• An uptrend is formed when the current trough price is higher than the preceding trough price.
• A return line downtrend is formed when the current trough price is lower than the preceding trough price.
• A double-bottom is formed when the current trough price is equal to the preceding trough price.
Range
The range is simply the difference between the current peak and current trough prices, generally expressed in terms of points or pips.
Support and Resistance
• Support refers to a price level where the demand for an asset is strong enough to prevent the price from falling further.
• Resistance refers to a price level where the supply of an asset is strong enough to prevent the price from rising further.
Support and resistance levels are important because they can help traders identify where the price of an asset might pause or reverse its direction, offering potential entry and exit points. For example, a trader might look to buy an asset when it approaches a support level , with the expectation that the price will bounce back up. Alternatively, a trader might look to sell an asset when it approaches a resistance level , with the expectation that the price will drop back down.
It's important to note that support and resistance levels are not always relevant, and the price of an asset can also break through these levels and continue moving in the same direction.
Breakouts and Breakdowns
• A breakout occurs when the price of an asset breaks above a resistance level.
• A breakdown occurs when the price of an asset breaks below a support level.
• A confirmed breakout occurs when the price of an asset breaks and closes above a resistance level.
• A confirmed breakdown occurs when the price of an asset breaks and closes below a support level.
It's important to note that breakouts and breakdowns of resistance and support levels are not always relevant, and the price of an asset can also reverse once it has broken through a level to carry on in the opposite direction.
Trendlines
Trendlines are straight lines that are drawn between two or more points on a price chart. These lines are used as dynamic support and resistance levels for making strategic decisions and predictions about future price movements. For example traders will look for price movements along, and reactions to, trendlines in the form of rejections or breakouts/downs.
Head and Shoulders Patterns
Head and shoulders patterns are generally characterised by three peaks with the one in the middle being the highest of the three.
The current trough acts as neckline support and the trendline drawn from the preceding trough to current trough acts as dynamic neckline support.
Traders typically look for breakdowns of head and shoulders necklines to identify potential trading opportunities, with targets and stop losses set as multiples of the pattern's range.
█ FEATURES
Inputs
• Show Historic
• Show Necklines
• Show Dynamic Necklines
• Show Projections
• Pattern Color
• Pattern Neckline Color
• Extend Current Pattern Lines
• Extend Current Pattern Necklines
• Extend Current Projection Lines
█ LIMITATIONS
All green and red candle calculations are based on differences between open and close prices, as such I have made no attempt to account for green candles that gap lower and close below the close price of the preceding candle, or red candles that gap higher and close above the close price of the preceding candle. This may cause some unexpected behaviour on some markets and timeframes. I can only recommend using 24-hour markets, if and where possible, as there are far fewer gaps and, generally, more data to work with.
Descending Inv. Head and Shoulders Patterns [theEccentricTrader]█ OVERVIEW
This indicator automatically draws descending inverse head and shoulders patterns and price projections derived from the ranges that constitute the patterns.
█ CONCEPTS
Green and Red Candles
• A green candle is one that closes with a close price equal to or above the price it opened.
• A red candle is one that closes with a close price that is lower than the price it opened.
Swing Highs and Swing Lows
• A swing high is a green candle or series of consecutive green candles followed by a single red candle to complete the swing and form the peak.
• A swing low is a red candle or series of consecutive red candles followed by a single green candle to complete the swing and form the trough.
Peak and Trough Prices (Basic)
• The peak price of a complete swing high is the high price of either the red candle that completes the swing high or the high price of the preceding green candle, depending on which is higher.
• The trough price of a complete swing low is the low price of either the green candle that completes the swing low or the low price of the preceding red candle, depending on which is lower.
Historic Peaks and Troughs
The current, or most recent, peak and trough occurrences are referred to as occurrence zero. Previous peak and trough occurrences are referred to as historic and ordered numerically from right to left, with the most recent historic peak and trough occurrences being occurrence one.
Upper Trends
• A return line uptrend is formed when the current peak price is higher than the preceding peak price.
• A downtrend is formed when the current peak price is lower than the preceding peak price.
• A double-top is formed when the current peak price is equal to the preceding peak price.
Lower Trends
• An uptrend is formed when the current trough price is higher than the preceding trough price.
• A return line downtrend is formed when the current trough price is lower than the preceding trough price.
• A double-bottom is formed when the current trough price is equal to the preceding trough price.
Range
The range is simply the difference between the current peak and current trough prices, generally expressed in terms of points or pips.
Support and Resistance
• Support refers to a price level where the demand for an asset is strong enough to prevent the price from falling further.
• Resistance refers to a price level where the supply of an asset is strong enough to prevent the price from rising further.
Support and resistance levels are important because they can help traders identify where the price of an asset might pause or reverse its direction, offering potential entry and exit points. For example, a trader might look to buy an asset when it approaches a support level , with the expectation that the price will bounce back up. Alternatively, a trader might look to sell an asset when it approaches a resistance level , with the expectation that the price will drop back down.
It's important to note that support and resistance levels are not always relevant, and the price of an asset can also break through these levels and continue moving in the same direction.
Breakouts and Breakdowns
• A breakout occurs when the price of an asset breaks above a resistance level.
• A breakdown occurs when the price of an asset breaks below a support level.
• A confirmed breakout occurs when the price of an asset breaks and closes above a resistance level.
• A confirmed breakdown occurs when the price of an asset breaks and closes below a support level.
It's important to note that breakouts and breakdowns of resistance and support levels are not always relevant, and the price of an asset can also reverse once it has broken through a level to carry on in the opposite direction.
Trendlines
Trendlines are straight lines that are drawn between two or more points on a price chart. These lines are used as dynamic support and resistance levels for making strategic decisions and predictions about future price movements. For example traders will look for price movements along, and reactions to, trendlines in the form of rejections or breakouts/downs.
Descending Inverse Head and Shoulders Patterns
Descending inverse head and shoulders patterns are generally characterised by three troughs with the one in the middle being the lowest of the three and the third trough being lower than the first. Similarly, the two peaks that connect the three troughs are also descending, with the second peak, or right shoulder peak, being lower than the preceding peak, or left shoulder peak.
The current peak acts as neckline resistance and the trendline drawn from the preceding peak to current peak acts as dynamic neckline resistance.
Traders typically look for breakouts of descending head and shoulders necklines to identify potential trading opportunities, with targets and stop losses set as multiples of the pattern's range.
█ FEATURES
Inputs
• Show Historic
• Show Necklines
• Show Dynamic Necklines
• Show Projections
• Pattern Color
• Pattern Neckline Color
• Extend Current Pattern Lines
• Extend Current Pattern Necklines
• Extend Current Projection Lines
█ LIMITATIONS
All green and red candle calculations are based on differences between open and close prices, as such I have made no attempt to account for green candles that gap lower and close below the close price of the preceding candle, or red candles that gap higher and close above the close price of the preceding candle. This may cause some unexpected behaviour on some markets and timeframes. I can only recommend using 24-hour markets, if and where possible, as there are far fewer gaps and, generally, more data to work with.
Descending Head and Shoulders Patterns [theEccentricTrader]█ OVERVIEW
This indicator automatically draws descending head and shoulders patterns and price projections derived from the ranges that constitute the patterns.
█ CONCEPTS
Green and Red Candles
• A green candle is one that closes with a close price equal to or above the price it opened.
• A red candle is one that closes with a close price that is lower than the price it opened.
Swing Highs and Swing Lows
• A swing high is a green candle or series of consecutive green candles followed by a single red candle to complete the swing and form the peak.
• A swing low is a red candle or series of consecutive red candles followed by a single green candle to complete the swing and form the trough.
Peak and Trough Prices (Basic)
• The peak price of a complete swing high is the high price of either the red candle that completes the swing high or the high price of the preceding green candle, depending on which is higher.
• The trough price of a complete swing low is the low price of either the green candle that completes the swing low or the low price of the preceding red candle, depending on which is lower.
Historic Peaks and Troughs
The current, or most recent, peak and trough occurrences are referred to as occurrence zero. Previous peak and trough occurrences are referred to as historic and ordered numerically from right to left, with the most recent historic peak and trough occurrences being occurrence one.
Upper Trends
• A return line uptrend is formed when the current peak price is higher than the preceding peak price.
• A downtrend is formed when the current peak price is lower than the preceding peak price.
• A double-top is formed when the current peak price is equal to the preceding peak price.
Lower Trends
• An uptrend is formed when the current trough price is higher than the preceding trough price.
• A return line downtrend is formed when the current trough price is lower than the preceding trough price.
• A double-bottom is formed when the current trough price is equal to the preceding trough price.
Range
The range is simply the difference between the current peak and current trough prices, generally expressed in terms of points or pips.
Support and Resistance
• Support refers to a price level where the demand for an asset is strong enough to prevent the price from falling further.
• Resistance refers to a price level where the supply of an asset is strong enough to prevent the price from rising further.
Support and resistance levels are important because they can help traders identify where the price of an asset might pause or reverse its direction, offering potential entry and exit points. For example, a trader might look to buy an asset when it approaches a support level , with the expectation that the price will bounce back up. Alternatively, a trader might look to sell an asset when it approaches a resistance level , with the expectation that the price will drop back down.
It's important to note that support and resistance levels are not always relevant, and the price of an asset can also break through these levels and continue moving in the same direction.
Breakouts and Breakdowns
• A breakout occurs when the price of an asset breaks above a resistance level.
• A breakdown occurs when the price of an asset breaks below a support level.
• A confirmed breakout occurs when the price of an asset breaks and closes above a resistance level.
• A confirmed breakdown occurs when the price of an asset breaks and closes below a support level.
It's important to note that breakouts and breakdowns of resistance and support levels are not always relevant, and the price of an asset can also reverse once it has broken through a level to carry on in the opposite direction.
Trendlines
Trendlines are straight lines that are drawn between two or more points on a price chart. These lines are used as dynamic support and resistance levels for making strategic decisions and predictions about future price movements. For example traders will look for price movements along, and reactions to, trendlines in the form of rejections or breakouts/downs.
Descending Head and Shoulders Patterns
Descending head and shoulders patterns are generally characterised by three peaks with the one in the middle being the highest of the three and the third peak being lower than the first. Similarly, the two troughs that connect the three peaks are also descending, with the second trough, or right shoulder trough, being lower than the preceding trough, or left shoulder trough.
The current trough acts as neckline support and the trendline drawn from the preceding trough to current trough acts as dynamic neckline support.
Traders typically look for breakouts of descending head and shoulders necklines to identify potential trading opportunities, with targets and stop losses set as multiples of the pattern's range.
█ FEATURES
Inputs
• Show Historic
• Show Necklines
• Show Dynamic Necklines
• Show Projections
• Pattern Color
• Pattern Neckline Color
• Extend Current Pattern Lines
• Extend Current Pattern Necklines
• Extend Current Projection Lines
█ LIMITATIONS
All green and red candle calculations are based on differences between open and close prices, as such I have made no attempt to account for green candles that gap lower and close below the close price of the preceding candle, or red candles that gap higher and close above the close price of the preceding candle. This may cause some unexpected behaviour on some markets and timeframes. I can only recommend using 24-hour markets, if and where possible, as there are far fewer gaps and, generally, more data to work with.
Ascending Inv. Head and Shoulders Patterns [theEccentricTrader]█ OVERVIEW
This indicator automatically draws ascending inverse head and shoulders patterns and price projections derived from the ranges that constitute the patterns.
█ CONCEPTS
Green and Red Candles
• A green candle is one that closes with a close price equal to or above the price it opened.
• A red candle is one that closes with a close price that is lower than the price it opened.
Swing Highs and Swing Lows
• A swing high is a green candle or series of consecutive green candles followed by a single red candle to complete the swing and form the peak.
• A swing low is a red candle or series of consecutive red candles followed by a single green candle to complete the swing and form the trough.
Peak and Trough Prices (Basic)
• The peak price of a complete swing high is the high price of either the red candle that completes the swing high or the high price of the preceding green candle, depending on which is higher.
• The trough price of a complete swing low is the low price of either the green candle that completes the swing low or the low price of the preceding red candle, depending on which is lower.
Historic Peaks and Troughs
The current, or most recent, peak and trough occurrences are referred to as occurrence zero. Previous peak and trough occurrences are referred to as historic and ordered numerically from right to left, with the most recent historic peak and trough occurrences being occurrence one.
Upper Trends
• A return line uptrend is formed when the current peak price is higher than the preceding peak price.
• A downtrend is formed when the current peak price is lower than the preceding peak price.
• A double-top is formed when the current peak price is equal to the preceding peak price.
Lower Trends
• An uptrend is formed when the current trough price is higher than the preceding trough price.
• A return line downtrend is formed when the current trough price is lower than the preceding trough price.
• A double-bottom is formed when the current trough price is equal to the preceding trough price.
Range
The range is simply the difference between the current peak and current trough prices, generally expressed in terms of points or pips.
Support and Resistance
• Support refers to a price level where the demand for an asset is strong enough to prevent the price from falling further.
• Resistance refers to a price level where the supply of an asset is strong enough to prevent the price from rising further.
Support and resistance levels are important because they can help traders identify where the price of an asset might pause or reverse its direction, offering potential entry and exit points. For example, a trader might look to buy an asset when it approaches a support level , with the expectation that the price will bounce back up. Alternatively, a trader might look to sell an asset when it approaches a resistance level , with the expectation that the price will drop back down.
It's important to note that support and resistance levels are not always relevant, and the price of an asset can also break through these levels and continue moving in the same direction.
Breakouts and Breakdowns
• A breakout occurs when the price of an asset breaks above a resistance level.
• A breakdown occurs when the price of an asset breaks below a support level.
• A confirmed breakout occurs when the price of an asset breaks and closes above a resistance level.
• A confirmed breakdown occurs when the price of an asset breaks and closes below a support level.
It's important to note that breakouts and breakdowns of resistance and support levels are not always relevant, and the price of an asset can also reverse once it has broken through a level to carry on in the opposite direction.
Trendlines
Trendlines are straight lines that are drawn between two or more points on a price chart. These lines are used as dynamic support and resistance levels for making strategic decisions and predictions about future price movements. For example traders will look for price movements along, and reactions to, trendlines in the form of rejections or breakouts/downs.
Ascending Inverse Head and Shoulders Patterns
Ascending inverse head and shoulders patterns are generally characterised by three troughs with the one in the middle being the lowest of the three and the third trough being higher than the first. Similarly, the two peaks that connect the three troughs are also ascending, with the second peak, or right shoulder peak, being higher than the preceding peak, or left shoulder peak.
The current peak acts as neckline resistance and the trendline drawn from the preceding peak to current peak acts as dynamic neckline resistance.
Traders typically look for breakouts of ascending inverse head and shoulders necklines to identify potential trading opportunities, with targets and stop losses set as multiples of the pattern's range.
█ FEATURES
Inputs
• Show Historic
• Show Necklines
• Show Dynamic Necklines
• Show Projections
• Pattern Color
• Pattern Neckline Color
• Extend Current Pattern Lines
• Extend Current Pattern Necklines
• Extend Current Projection Lines
█ LIMITATIONS
All green and red candle calculations are based on differences between open and close prices, as such I have made no attempt to account for green candles that gap lower and close below the close price of the preceding candle, or red candles that gap higher and close above the close price of the preceding candle. This may cause some unexpected behaviour on some markets and timeframes. I can only recommend using 24-hour markets, if and where possible, as there are far fewer gaps and, generally, more data to work with.
Ascending Head and Shoulders Patterns [theEccentricTrader]█ OVERVIEW
This indicator automatically draws ascending head and shoulders patterns and price projections derived from the ranges that constitute the patterns.
█ CONCEPTS
Green and Red Candles
• A green candle is one that closes with a close price equal to or above the price it opened.
• A red candle is one that closes with a close price that is lower than the price it opened.
Swing Highs and Swing Lows
• A swing high is a green candle or series of consecutive green candles followed by a single red candle to complete the swing and form the peak.
• A swing low is a red candle or series of consecutive red candles followed by a single green candle to complete the swing and form the trough.
Peak and Trough Prices (Basic)
• The peak price of a complete swing high is the high price of either the red candle that completes the swing high or the high price of the preceding green candle, depending on which is higher.
• The trough price of a complete swing low is the low price of either the green candle that completes the swing low or the low price of the preceding red candle, depending on which is lower.
Historic Peaks and Troughs
The current, or most recent, peak and trough occurrences are referred to as occurrence zero. Previous peak and trough occurrences are referred to as historic and ordered numerically from right to left, with the most recent historic peak and trough occurrences being occurrence one.
Upper Trends
• A return line uptrend is formed when the current peak price is higher than the preceding peak price.
• A downtrend is formed when the current peak price is lower than the preceding peak price.
• A double-top is formed when the current peak price is equal to the preceding peak price.
Lower Trends
• An uptrend is formed when the current trough price is higher than the preceding trough price.
• A return line downtrend is formed when the current trough price is lower than the preceding trough price.
• A double-bottom is formed when the current trough price is equal to the preceding trough price.
Range
The range is simply the difference between the current peak and current trough prices, generally expressed in terms of points or pips.
Support and Resistance
• Support refers to a price level where the demand for an asset is strong enough to prevent the price from falling further.
• Resistance refers to a price level where the supply of an asset is strong enough to prevent the price from rising further.
Support and resistance levels are important because they can help traders identify where the price of an asset might pause or reverse its direction, offering potential entry and exit points. For example, a trader might look to buy an asset when it approaches a support level , with the expectation that the price will bounce back up. Alternatively, a trader might look to sell an asset when it approaches a resistance level , with the expectation that the price will drop back down.
It's important to note that support and resistance levels are not always relevant, and the price of an asset can also break through these levels and continue moving in the same direction.
Breakouts and Breakdowns
• A breakout occurs when the price of an asset breaks above a resistance level.
• A breakdown occurs when the price of an asset breaks below a support level.
• A confirmed breakout occurs when the price of an asset breaks and closes above a resistance level.
• A confirmed breakdown occurs when the price of an asset breaks and closes below a support level.
It's important to note that breakouts and breakdowns of resistance and support levels are not always relevant, and the price of an asset can also reverse once it has broken through a level to carry on in the opposite direction.
Trendlines
Trendlines are straight lines that are drawn between two or more points on a price chart. These lines are used as dynamic support and resistance levels for making strategic decisions and predictions about future price movements. For example traders will look for price movements along, and reactions to, trendlines in the form of rejections or breakouts/downs.
Ascending Head and Shoulders Patterns
Ascending head and shoulders patterns are generally characterised by three peaks with the one in the middle being the highest of the three and the third peak being higher than the first. Similarly, the two troughs that connect the three peaks are also ascending, with the second trough, or right shoulder trough, being higher than the preceding trough, or left shoulder trough.
The current trough acts as neckline support and the trendline drawn from the preceding trough to current trough acts as dynamic neckline support.
Traders typically look for breakdowns of ascending head and shoulders necklines to identify potential trading opportunities, with targets and stop losses set as multiples of the pattern's range.
█ FEATURES
Inputs
• Show Historic
• Show Necklines
• Show Dynamic Necklines
• Show Projections
• Pattern Color
• Pattern Neckline Color
• Extend Current Pattern Lines
• Extend Current Pattern Necklines
• Extend Current Projection Lines
█ LIMITATIONS
All green and red candle calculations are based on differences between open and close prices, as such I have made no attempt to account for green candles that gap lower and close below the close price of the preceding candle, or red candles that gap higher and close above the close price of the preceding candle. This may cause some unexpected behaviour on some markets and timeframes. I can only recommend using 24-hour markets, if and where possible, as there are far fewer gaps and, generally, more data to work with.
Topological Market Stress (TMS) - Quantum FabricTopological Market Stress (TMS) - Quantum Fabric
What Stresses The Market?
Topological Market Stress (TMS) represents a revolutionary fusion of algebraic topology and quantum field theory applied to financial markets. Unlike traditional indicators that analyze price movements linearly, TMS examines the underlying topological structure of market data—detecting when the very fabric of market relationships begins to tear, warp, or collapse.
Drawing inspiration from the ethereal beauty of quantum field visualizations and the mathematical elegance of topological spaces, this indicator transforms complex mathematical concepts into an intuitive, visually stunning interface that reveals hidden market dynamics invisible to conventional analysis.
Theoretical Foundation: Topology Meets Markets
Topological Holes in Market Structure
In algebraic topology, a "hole" represents a fundamental structural break—a place where the normal connectivity of space fails. In markets, these topological holes manifest as:
Correlation Breakdown: When traditional price-volume relationships collapse
Volatility Clustering Failure: When volatility patterns lose their predictive power
Microstructure Stress: When market efficiency mechanisms begin to fail
The Mathematics of Market Topology
TMS constructs a topological space from market data using three key components:
1. Correlation Topology
ρ(P,V) = correlation(price, volume, period)
Hole Formation = 1 - |ρ(P,V)|
When price and volume decorrelate, topological holes begin forming.
2. Volatility Clustering Topology
σ(t) = volatility at time t
Clustering = correlation(σ(t), σ(t-1), period)
Breakdown = 1 - |Clustering|
Volatility clustering breakdown indicates structural instability.
3. Market Efficiency Topology
Efficiency = |price - EMA(price)| / ATR
Measures how far price deviates from its efficient trajectory.
Multi-Scale Topological Analysis
Markets exist across multiple temporal scales simultaneously. TMS analyzes topology at three distinct scales:
Micro Scale (3-15 periods): Immediate structural changes, market microstructure stress
Meso Scale (10-50 periods): Trend-level topology, medium-term structural shifts
Macro Scale (50-200 periods): Long-term structural topology, regime-level changes
The final stress metric combines all scales:
Combined Stress = 0.3×Micro + 0.4×Meso + 0.3×Macro
How TMS Works
1. Topological Space Construction
Each market moment is embedded in a multi-dimensional topological space where:
- Price efficiency forms one dimension
- Correlation breakdown forms another
- Volatility clustering breakdown forms the third
2. Hole Detection Algorithm
The indicator continuously scans this topological space for:
Hole Formation: When stress exceeds the formation threshold
Hole Persistence: How long structural breaks maintain
Hole Collapse: Sudden topology restoration (regime shifts)
3. Quantum Visualization Engine
The visualization system translates topological mathematics into intuitive quantum field representations:
Stress Waves: Main line showing topological stress intensity
Quantum Glow: Surrounding field indicating stress energy
Fabric Integrity: Background showing structural health
Multi-Scale Rings: Orbital representations of different timeframes
4. Signal Generation
Stable Topology (✨): Normal market structure, standard trading conditions
Stressed Topology (⚡): Increased structural tension, heightened volatility expected
Topological Collapse (🕳️): Major structural break, regime shift in progress
Critical Stress (🌋): Extreme conditions, maximum caution required
Inputs & Parameters
🕳️ Topological Parameters
Analysis Window (20-200, default: 50)
Primary period for topological analysis
20-30: High-frequency scalping, rapid structure detection
50: Balanced approach, recommended for most markets
100-200: Long-term position trading, major structural shifts only
Hole Formation Threshold (0.1-0.9, default: 0.3)
Sensitivity for detecting topological holes
0.1-0.2: Very sensitive, detects minor structural stress
0.3: Balanced, optimal for most market conditions
0.5-0.9: Conservative, only major structural breaks
Density Calculation Radius (0.1-2.0, default: 0.5)
Radius for local density estimation in topological space
0.1-0.3: Fine-grained analysis, sensitive to local changes
0.5: Standard approach, balanced sensitivity
1.0-2.0: Broad analysis, focuses on major structural features
Collapse Detection (0.5-0.95, default: 0.7)
Threshold for detecting sudden topology restoration
0.5-0.6: Very sensitive to regime changes
0.7: Balanced, reliable collapse detection
0.8-0.95: Conservative, only major regime shifts
📊 Multi-Scale Analysis
Enable Multi-Scale (default: true)
- Analyzes topology across multiple timeframes simultaneously
- Provides deeper insight into market structure at different scales
- Essential for understanding cross-timeframe topology interactions
Micro Scale Period (3-15, default: 5)
Fast scale for immediate topology changes
3-5: Ultra-fast, tick/minute data analysis
5-8: Fast, 5m-15m chart optimization
10-15: Medium-fast, 30m-1H chart focus
Meso Scale Period (10-50, default: 20)
Medium scale for trend topology analysis
10-15: Short trend structures
20-25: Medium trend structures (recommended)
30-50: Long trend structures
Macro Scale Period (50-200, default: 100)
Slow scale for structural topology
50-75: Medium-term structural analysis
100: Long-term structure (recommended)
150-200: Very long-term structural patterns
⚙️ Signal Processing
Smoothing Method (SMA/EMA/RMA/WMA, default: EMA) Method for smoothing stress signals
SMA: Simple average, stable but slower
EMA: Exponential, responsive and recommended
RMA: Running average, very smooth
WMA: Weighted average, balanced approach
Smoothing Period (1-10, default: 3)
Period for signal smoothing
1-2: Minimal smoothing, noisy but fast
3-5: Balanced, recommended for most applications
6-10: Heavy smoothing, slow but very stable
Normalization (Fixed/Adaptive/Rolling, default: Adaptive)
Method for normalizing stress values
Fixed: Static 0-1 range normalization
Adaptive: Dynamic range adjustment (recommended)
Rolling: Rolling window normalization
🎨 Quantum Visualization
Fabric Style Options:
Quantum Field: Flowing energy visualization with smooth gradients
Topological Mesh: Mathematical topology with stepped lines
Phase Space: Dynamical systems view with circular markers
Minimal: Clean, simple display with reduced visual elements
Color Scheme Options:
Quantum Gradient: Deep space blue → Quantum red progression
Thermal: Black → Hot orange thermal imaging style
Spectral: Purple → Gold full spectrum colors
Monochrome: Dark gray → Light gray elegant simplicity
Multi-Scale Rings (default: true)
- Display orbital rings for different time scales
- Visualizes how topology changes across timeframes
- Provides immediate visual feedback on cross-scale dynamics
Glow Intensity (0.0-1.0, default: 0.6)
Controls the quantum glow effect intensity
0.0: No glow, pure line display
0.6: Balanced, recommended setting
1.0: Maximum glow, full quantum field effect
📋 Dashboard & Alerts
Show Dashboard (default: true)
Real-time topology status display
Current market state and trading recommendations
Stress level visualization and fabric integrity status
Show Theory Guide (default: true)
Educational panel explaining topological concepts
Dashboard interpretation guide
Trading strategy recommendations
Enable Alerts (default: true)
Extreme stress detection alerts
Topological collapse notifications
Hole formation and recovery signals
Visual Logic & Interpretation
Main Visualization Elements
Quantum Stress Line
Primary indicator showing topological stress intensity
Color intensity reflects current market state
Line style varies based on selected fabric style
Glow effect indicates stress energy field
Equilibrium Line
Silver line showing average stress level
Reference point for normal market conditions
Helps identify when stress is elevated or suppressed
Upper/Lower Bounds
Red upper bound: High stress threshold
Green lower bound: Low stress threshold
Quantum fabric fill between bounds shows stress field
Multi-Scale Rings
Aqua circles : Micro-scale topology (immediate changes)
Orange circles: Meso-scale topology (trend-level changes)
Provides cross-timeframe topology visualization
Dashboard Information
Topology State Icons:
✨ STABLE: Normal market structure, standard trading conditions
⚡ STRESSED: Increased structural tension, monitor closely
🕳️ COLLAPSE: Major structural break, regime shift occurring
🌋 CRITICAL: Extreme conditions, reduce risk exposure
Stress Bar Visualization:
Visual representation of current stress level (0-100%)
Color-coded based on current topology state
Real-time percentage display
Fabric Integrity Dots:
●●●●● Intact: Strong market structure (0-30% stress)
●●●○○ Stressed: Weakening structure (30-70% stress)
●○○○○ Fractured: Breaking down structure (70-100% stress)
Action Recommendations:
✅ TRADE: Normal conditions, standard strategies apply
⚠️ WATCH: Monitor closely, increased vigilance required
🔄 ADAPT: Change strategy, regime shift in progress
🛑 REDUCE: Lower risk exposure, extreme conditions
Trading Strategies
In Stable Topology (✨ STABLE)
- Normal trading conditions apply
- Use standard technical analysis
- Regular position sizing appropriate
- Both trend-following and mean-reversion strategies viable
In Stressed Topology (⚡ STRESSED)
- Increased volatility expected
- Widen stop losses to account for higher volatility
- Reduce position sizes slightly
- Focus on high-probability setups
- Monitor for potential regime change
During Topological Collapse (🕳️ COLLAPSE)
- Major regime shift in progress
- Adapt strategy immediately to new market character
- Consider closing positions that rely on previous regime
- Wait for new topology to stabilize before major trades
- Opportunity for contrarian plays if collapse is extreme
In Critical Stress (🌋 CRITICAL)
- Extreme market conditions
- Significantly reduce risk exposure
- Avoid new positions until stress subsides
- Focus on capital preservation
- Consider hedging existing positions
Advanced Techniques
Multi-Timeframe Topology Analysis
- Use higher timeframe TMS for regime context
- Use lower timeframe TMS for precise entry timing
- Alignment across timeframes = highest probability trades
Topology Divergence Trading
- Most powerful at regime boundaries
- Price makes new high/low but topology stress decreases
- Early warning of potential reversals
- Combine with key support/resistance levels
Stress Persistence Analysis
- Long periods of stable topology often precede major moves
- Extended stress periods often resolve in regime changes
- Use persistence tracking for position sizing decisions
Originality & Innovation
TMS represents a genuine breakthrough in applying advanced mathematics to market analysis:
True Topological Analysis: Not a simplified proxy but actual topological space construction and hole detection using correlation breakdown, volatility clustering analysis, and market efficiency measurement.
Quantum Aesthetic: Transforms complex topology mathematics into an intuitive, visually stunning interface inspired by quantum field theory visualizations.
Multi-Scale Architecture: Simultaneous analysis across micro, meso, and macro timeframes provides unprecedented insight into market structure dynamics.
Regime Detection: Identifies fundamental market character changes before they become obvious in price action, providing early warning of structural shifts.
Practical Application: Clear, actionable signals derived from advanced mathematical concepts, making theoretical topology accessible to practical traders.
This is not a combination of existing indicators or a cosmetic enhancement of standard tools. It represents a fundamental reimagining of how we measure, visualize, and interpret market dynamics through the lens of algebraic topology and quantum field theory.
Best Practices
Start with defaults: Parameters are optimized for broad market applicability
Match timeframe: Adjust scales based on your trading timeframe
Confirm with price action: TMS shows market character, not direction
Respect topology changes: Reduce risk during regime transitions
Use appropriate strategies: Adapt approach based on current topology state
Monitor persistence: Track how long topology states maintain
Cross-timeframe analysis: Align multiple timeframes for highest probability trades
Alerts Available
Extreme Topological Stress: Market fabric under severe deformation
Topological Collapse Detected: Regime shift in progress
Topological Hole Forming: Market structure breakdown detected
Topology Stabilizing: Market structure recovering to normal
Chart Requirements
Recommended Markets: All liquid markets (forex, stocks, crypto, futures)
Optimal Timeframes: 5m to Daily (adaptable to any timeframe)
Minimum History: 200 bars for proper topology construction
Best Performance: Markets with clear regime characteristics
Academic Foundation
This indicator draws from cutting-edge research in:
- Algebraic topology and persistent homology
- Quantum field theory visualization techniques
- Market microstructure analysis
- Multi-scale dynamical systems theory
- Correlation topology and network analysis
Disclaimer
This indicator is for educational and research purposes only. It does not constitute financial advice or provide direct buy/sell signals. Topological analysis reveals market structure characteristics, not future price direction. Always use proper risk management and combine with your own analysis. Past performance does not guarantee future results.
See markets through the lens of topology. Trade the structure, not the noise.
Bringing advanced mathematics to practical trading through quantum-inspired visualization.
Trade with insight. Trade with structure.
— Dskyz , for DAFE Trading Systems
Smart Trend Lines [The_lurker]
Smart Trend Lines
A multi-level trend classifier that detects bullish and bearish conditions using a methodology based on drawing trend lines—main, intermediate, and short-term—by identifying peaks and troughs. The tool highlights trend strength by applying filters such as the Average Directional Index (ADX) (A), Relative Strength Index (RSI) (R), and Volume (V), making it easier to interpret trend strength. The filter markers (V, A, R) in the Smart Trend Lines indicator are powerful tools for assessing the reliability of breakouts. Breakouts containing are the most reliable, as they indicate strong volume support, trend strength, and favorable momentum. Breakouts with partial filters (such as or ) require additional confirmation, while breakouts without filters ( ) should be avoided unless supported by other strong signals. By understanding the meaning of each filter and the market context.
Core Functionality
1. Trend Line Types
The indicator generates three distinct trend line categories, each serving a specific analytical purpose:
Main Trend Lines: These are long-term trend lines designed to capture significant market trends. They are calculated based on pivot points over a user-defined period (default: 50 bars). Main trend lines are ideal for identifying macro-level support and resistance zones.
Mid Trend Lines: These are medium-term trend lines (default: 21 bars) that focus on intermediate price movements. They provide a balance between short-term fluctuations and long-term trends, suitable for swing trading strategies.
Short Trend Lines: These are short-term trend lines (default: 9 bars) that track rapid price changes. They are particularly useful for scalping or day trading, highlighting immediate support and resistance levels.
Each trend line type can be independently enabled or disabled, allowing traders to tailor the indicator to their preferred timeframes.
2. Breakout Detection
The indicator employs a robust breakout detection system that identifies when the price crosses a trend line, signaling a potential trend reversal or continuation. Breakouts are validated using the following filters:
ADX Filter: The Average Directional Index (ADX) measures trend strength. A user-defined threshold (default: 20) ensures that breakouts occur during strong trends, reducing false signals in range-bound markets.
RSI Filter: The Relative Strength Index (RSI) identifies overbought or oversold conditions. Breakouts are filtered based on RSI thresholds (default: 65 for overbought, 35 for oversold) to avoid signals in extreme market conditions.
Volume Filter: Breakouts are confirmed only when trading volume exceeds a moving average (default: 20 bars) and aligns with the breakout direction (e.g., higher volume on bullish breakouts when the candle closes higher).
Breakout events are marked with labels on the chart, indicating the type of trend line broken (Main, Mid, or Short) and the filters satisfied (Volume, ADX, RSI). Alerts are triggered for each breakout, providing real-time notifications.
3. Customization Options
The indicator offers extensive customization through input settings, organized into logical groups for ease of use:
Main Trend Line Settings
Length: Defines the number of bars used to calculate pivot points (default: 50).
Bullish Color: Color for upward-sloping (bullish) main trend lines (default: green).
Bearish Color: Color for downward-sloping (bearish) main trend lines (default: red).
Style: Line style options include solid, dashed, or dotted (default: solid).
Mid Trend Line Settings
Length: Number of bars for mid-term pivot points (default: 21).
Show/Hide: Toggle visibility of mid trend lines (default: enabled).
Bullish Color: Color for bullish mid trend lines (default: lime).
Bearish Color: Color for bearish mid trend lines (default: maroon).
Style: Line style (default: dashed).
Short Trend Line Settings
Length: Number of bars for short-term pivot points (default: 9).
Show/Hide: Toggle visibility of short trend lines (default: enabled).
Bullish Color: Color for bullish short trend lines (default: teal).
Bearish Color: Color for bearish short trend lines (default: purple).
Style: Line style (default: dotted).
General Display Settings
Break Check Price: Selects the price type for breakout detection (Close, High, or Low; default: Close).
Show Previous Trendlines: Option to display historical main trend lines (default: disabled).
Label Size: Size of breakout labels (Tiny, Small, Normal, Large, Huge; default: Small).
Filter Settings
ADX Threshold: Minimum ADX value for trend strength confirmation (default: 25).
Volume MA Period: Period for the volume moving average (default: 20).
RSI Filter: Enable/disable RSI filtering (default: enabled).
RSI Upper Threshold: Upper RSI limit for overbought conditions (default: 65).
RSI Lower Threshold: Lower RSI limit for oversold conditions (default: 35).
4. Technical Calculations
The indicator relies on several technical calculations to ensure accuracy:
Pivot Points: Pivot highs and lows are detected using the ta.pivothigh and ta.pivotlow functions, with separate lengths for Main, Mid, and Short trend lines.
Slope Calculation: The slope of each trend line is calculated as the change in price divided by the change in bar index between two pivot points.
ADX Calculation: ADX is computed using a 14-period Directional Movement Index (DMI), with smoothing over 14 bars.
RSI Calculation: RSI is calculated over a 14-period lookback using the ta.rsi function.
Volume Moving Average: A simple moving average (SMA) of volume is used to determine if current volume exceeds the average.
5. Strict Mode Validation
To ensure the reliability of trend lines, the indicator employs a strict mode check:
For bearish trend lines, all prices between pivot points must remain below the projected trend line.
For bullish trend lines, all prices must remain above the projected trend line.
Post-pivot break checks ensure that no breakouts occur between pivot points, enhancing the validity of the trend line.
6. Trend Line Extension
Trend lines are dynamically extended forward until a breakout occurs. The extension logic:
Projects the trend line using the calculated slope.
Continuously validates the extension using strict mode checks.
Stops extension upon a breakout, fixing the trend line at the breakout point.
7. Alerts and Labels
Labels: Breakout labels are placed above (for bearish breakouts) or below (for bullish breakouts) the price bar. Labels include:
A prefix indicating the trend line type (B for Main, M for Mid, S for Short).
A suffix showing satisfied filters (e.g., for Volume, ADX, and RSI).
Alerts: Each breakout triggers a one-time alert per bar close, with a descriptive message indicating the trend line type and filters met.
Detailed Code Breakdown
1. Initialization and Inputs
The script begins by defining the indicator with indicator('Smart Trend Lines ', overlay = true), ensuring it overlays on the price chart. Input settings are grouped into categories (Main, Mid, Short, General Display, Filters) for user convenience. Each input includes a tooltip in both English and Arabic, enhancing accessibility.
2. Technical Indicator Calculations
Volume MA: Calculated using ta.sma(volume, volPeriod) to compare current volume against the average.
ADX: Computed using custom dirmov and adx functions, which calculate the Directional Movement Index and smooth it over 14 periods.
RSI: Calculated with ta.rsi(close, rsiPeriod) over 14 periods.
Price Selection: The priceToCheck function selects the price type (Close, High, or Low) for breakout detection.
3. Pivot Detection
Pivot points are detected using ta.pivothigh and ta.pivotlow for each trend line type. The lookback period is set to the respective trend line length (e.g., 50 for Main, 21 for Mid, 9 for Short).
4. Trend Line Logic
For each trend line type (Main, Mid, Short):
Bearish Trend Lines: Identified when two consecutive pivot highs form a downward slope. The script validates the trend line using strict mode and post-pivot break checks.
Bullish Trend Lines: Identified when two consecutive pivot lows form an upward slope, with similar validation.
Trend lines are drawn using line.new, with separate lines for the initial segment (between pivots) and the extended segment (from the second pivot forward).
5. Breakout Detection and Labeling
Breakouts are detected when the selected price crosses the trend line level. The script checks:
Volume conditions (above average and aligned with candle direction).
ADX condition (above threshold).
RSI condition (within thresholds if enabled). Labels are created with label.new, and alerts are triggered with alert.
6. Trend Line Extension
The extendTrendline function dynamically updates the trend line’s endpoint unless a breakout occurs. It uses strict mode checks to ensure the trend line remains valid.
7. Previous Trend Lines
If enabled, previous main trend lines are stored in arrays (previousBearishStartLines, previousBullishTrendLines, etc.) and displayed on the chart, providing historical context.
Disclaimer:
The information and publications are not intended to be, nor do they constitute, financial, investment, trading, or other types of advice or recommendations provided or endorsed by TradingView.
Vacuum Candles [XrayAlgo]The Vacuum Candles indicator helps traders identify inefficient price movements—where the price moves significantly but lacks sufficient volume to support it. These inefficiencies may signal weak trends, potential reversals, or false breakouts/breakdowns.
Inefficient candles are visually marked with a darker / black body to indicate when the price movement is disproportionate to the volume.
1. Spotting Potential Reversals
When the indicator marks an inefficient candle, it signals that the price movement may be unsustainable.
In an uptrend: A inefficient bullish candle suggests that the uptrend is losing momentum, potentially leading to a downward reversal.
In a downtrend: A inefficient bearish candle signals that the downtrend may be weakening, with a potential bullish reversal.
2. Identifying Breakout and Breakdown Failures
This indicator is useful for recognizing false breakouts or false breakdowns.
If price breaks resistance but the candle is inefficient, the breakout may be weak and could fail quickly.
If price breaks support with an inefficient bearish candle, the breakdown could be a false signal, with price reverting back above support.
3. Recognizing Weak Trends
Inefficient candles help you spot when a trend is losing strength and could soon reverse or consolidate.
In an uptrend: A series of dark body bullish candles suggests that the uptrend may be weakening, signaling a potential correction or trend reversal.
In a downtrend: A series of dark body bearish candles suggests that the selling pressure is weakening, indicating a potential bullish reversal.
4. Fine-Tuning Entries and Exits
Inefficient candles offer an opportunity to fine-tune your entries and exits based on weak price moves.
Entering a trade: An inefficient candle near key support or resistance can indicate a reversal, making it a good entry point for a counter-trend position.
Exiting a trade: If you're already in a trend, and an inefficient candle appears, it suggests the trend is losing strength, indicating it may be a good time to exit before a potential reversal.
5. Fine-Tuning with Inputs
The Vacuum Candles indicator includes two key inputs:
Length: The number of candles used to calculate the average price movement and volume. A longer length (e.g., 20-30) smooths out the inefficiencies, while a shorter length (e.g., 10-15) makes the indicator more sensitive to recent price moves.
Multiplier: Controls the threshold for what is considered an inefficient candle:
A higher Multiplier (e.g., 1.5–3) filters out smaller inefficiencies and focuses on large discrepancies.
A lower Multiplier (e.g., 0.1–0.9) captures even smaller inefficiencies in highly efficient markets.
Wyckoff Range Detector [Beta] + Smart Money ElementsThis indicator detects the key phases of the Wyckoff market structure and integrates smart money elements, such as Order Blocks (OB), Fair Value Gaps (FVG), and Breaker Blocks. It also helps identify potential reversal zones (LPS, UTAD, Spring), breakout opportunities, and provides automatic Risk-Reward (R:R) calculations.
Key Features:
Wyckoff Phases Detection:
Automatically detects key phases of Wyckoff's market structure:
B (Range) – The initial range of accumulation.
C (Spring Phase) – Accumulation phase with a potential breakout.
C (UTAD Phase) – Upthrust After Distribution, indicating a potential reversal.
D (LPS Phase) – Last Point of Support, signaling accumulation before a breakout.
E (Breakout) – Phase marking breakout from range.
Re-Accumulation – Possible continuation in the range after a breakout.
Re-Distribution – Possible breakdown of a distribution phase.
Smart Money Elements:
Order Blocks (OB): Identifies Bullish and Bearish OBs to anticipate market entries.
Fair Value Gap (FVG): Highlights imbalance areas where price is likely to return.
Breaker Blocks: Marks areas where the price has previously broken a structure, indicating strong supply/demand zones.
Automatic Risk-Reward Calculation:
Smart RR: Automatically calculates Risk-Reward (R:R) ratios from LPS phases and Order Blocks. It draws lines to indicate target and stop levels with green for the target and red for the stop.
Visual representation of the entry signal with target and stop levels displayed.
Alerts:
Set alerts for phase changes, breakout, re-accumulation, or re-distribution to stay updated on the market’s movements.
Visual Tools:
Labels are used to indicate key zones such as AR, SC, LPS, and Spring Zones.
Draw boxes for the Spring and LPS phases to highlight areas where price action is likely to reverse.
Lines to represent potential breakouts, with customizable risk-reward indicators.
How to Use:
Apply the Indicator on any chart.
Identify Wyckoff phases to understand market trends.
Monitor Smart Money Elements (OB, FVG, Breaker) for entry and exit points.
Use automatic Risk-Reward levels for managing trades.
Set alerts for various Wyckoff phases and smart money signals to stay updated.
Market Structure Trend Targets [ChartPrime]The Market Structure Trend Targets indicator is designed to identify trend direction and continuation points by marking significant breaks in price levels. This approach helps traders track trend strength and potential reversal points. The indicator uses previous highs and lows as breakout triggers, providing a visual roadmap for trend continuation or mean reversion signals.
⯁ KEY FEATURES AND HOW TO USE
⯌ Breakout Points with Numbered Markers :
The indicator identifies key breakout points where price breaks above a previous high (for uptrends) or below a previous low (for downtrends). The initial breakout (zero break) is marked with the entry price and a triangle icon, while subsequent breakouts within the trend are numbered sequentially (1, 2, 3…) to indicate trend continuation.
Example of breakout markers for uptrend and downtrend:
⯌ Percentage Change Display Option :
Traders can toggle on a setting to display the percentage change from the initial breakout point to each subsequent break level, offering an easy way to gauge trend momentum over time. This is particularly helpful for identifying how far price has moved in the current trend.
Percentage change example between break points:
⯌ Dynamic Stop Loss Levels :
In uptrends, the stop loss level is placed below the price to protect against downside moves. In downtrends, it is positioned above the price. If the price breaches the stop loss level, the indicator resets, indicating a potential end or reversal of the trend.
Dynamic stop loss level illustration in uptrend and downtrend:
⯌ Mean Reversion Signals :
The indicator identifies potential mean reversion points with diamond icons. In an uptrend, if the price falls below the stop loss and then re-enters above it, a diamond is plotted, suggesting a possible mean reversion. Similarly, in a downtrend, if the price moves above the stop loss and then falls back below, it indicates a reversion possibility.
Mean reversion diamond signals on the chart:
⯌ Trend Visualization with Colored Zones :
The chart background is shaded to visually represent trend direction, with color changes corresponding to uptrends and downtrends. This makes it easier to see overall market conditions at a glance.
⯁ USER INPUTS
Length : Defines the number of bars used to identify pivot highs and lows for trend breakouts.
Display Percentage : Option to toggle between showing sequential breakout numbers or the percentage change from the initial breakout.
Colors for Uptrend and Downtrend : Allows customization of color zones for uptrends and downtrends to match individual chart preferences.
⯁ CONCLUSION
The Market Structure Trend Targets indicator offers a strategic way to monitor market trends, track breakouts, and manage risk through dynamic stop loss levels. Its clear visual representation of trend continuity, alongside mean reversion signals, provides traders with actionable insights for both trend-following and counter-trend strategies.
Trading IQ - ICT LibraryLibrary "ICTlibrary"
Used to calculate various ICT related price levels and strategies. An ongoing project.
Hello Coders!
This library is meant for sourcing ICT related concepts. While some functions might generate more output than you require, you can specify "Lite Mode" as "true" in applicable functions to slim down necessary inputs.
isLastBar(userTF)
Identifies the last bar on the chart before a timeframe change
Parameters:
userTF (simple int) : the timeframe you wish to calculate the last bar for, must be converted to integer using 'timeframe.in_seconds()'
Returns: bool true if bar on chart is last bar of higher TF, dalse if bar on chart is not last bar of higher TF
necessaryData(atrTF)
returns necessaryData UDT for historical data access
Parameters:
atrTF (float) : user-selected timeframe ATR value.
Returns: logZ. log return Z score, used for calculating order blocks.
method gradBoxes(gradientBoxes, idColor, timeStart, bottom, top, rightCoordinate)
creates neon like effect for box drawings
Namespace types: array
Parameters:
gradientBoxes (array) : an array.new() to store the gradient boxes
idColor (color)
timeStart (int) : left point of box
bottom (float) : bottom of box price point
top (float) : top of box price point
rightCoordinate (int) : right point of box
Returns: void
checkIfTraded(tradeName)
checks if recent trade is of specific name
Parameters:
tradeName (string)
Returns: bool true if recent trade id matches target name, false otherwise
checkIfClosed(tradeName)
checks if recent closed trade is of specific name
Parameters:
tradeName (string)
Returns: bool true if recent closed trade id matches target name, false otherwise
IQZZ(atrMult, finalTF)
custom ZZ to quickly determine market direction.
Parameters:
atrMult (float) : an atr multiplier used to determine the required price move for a ZZ direction change
finalTF (string) : the timeframe used for the atr calcuation
Returns: dir market direction. Up => 1, down => -1
method drawBos(id, startPoint, getKeyPointTime, getKeyPointPrice, col, showBOS, isUp)
calculates and draws Break Of Structure
Namespace types: array
Parameters:
id (array)
startPoint (chart.point)
getKeyPointTime (int) : the actual time of startPoint, simplystartPoint.time
getKeyPointPrice (float) : the actual time of startPoint, simplystartPoint.price
col (color) : color of the BoS line / label
showBOS (bool) : whether to show label/line. This function still calculates internally for other ICT related concepts even if not drawn.
isUp (bool) : whether BoS happened during price increase or price decrease.
Returns: void
method drawMSS(id, startPoint, getKeyPointTime, getKeyPointPrice, col, showMSS, isUp, upRejections, dnRejections, highArr, lowArr, timeArr, closeArr, openArr, atrTFarr, upRejectionsPrices, dnRejectionsPrices)
calculates and draws Market Structure Shift. This data is also used to calculate Rejection Blocks.
Namespace types: array
Parameters:
id (array)
startPoint (chart.point)
getKeyPointTime (int) : the actual time of startPoint, simplystartPoint.time
getKeyPointPrice (float) : the actual time of startPoint, simplystartPoint.price
col (color) : color of the MSS line / label
showMSS (bool) : whether to show label/line. This function still calculates internally for other ICT related concepts even if not drawn.
isUp (bool) : whether MSS happened during price increase or price decrease.
upRejections (array)
dnRejections (array)
highArr (array) : array containing historical highs, should be taken from the UDT "necessaryData" defined above
lowArr (array) : array containing historical lows, should be taken from the UDT "necessaryData" defined above
timeArr (array) : array containing historical times, should be taken from the UDT "necessaryData" defined above
closeArr (array) : array containing historical closes, should be taken from the UDT "necessaryData" defined above
openArr (array) : array containing historical opens, should be taken from the UDT "necessaryData" defined above
atrTFarr (array) : array containing historical atr values (of user-selected TF), should be taken from the UDT "necessaryData" defined above
upRejectionsPrices (array) : array containing up rejections prices. Is sorted and used to determine selective looping for invalidations.
dnRejectionsPrices (array) : array containing down rejections prices. Is sorted and used to determine selective looping for invalidations.
Returns: void
method getTime(id, compare, timeArr)
gets time of inputted price (compare) in an array of data
this is useful when the user-selected timeframe for ICT concepts is greater than the chart's timeframe
Namespace types: array
Parameters:
id (array) : the array of data to search through, to find which index has the same value as "compare"
compare (float) : the target data point to find in the array
timeArr (array) : array of historical times
Returns: the time that the data point in the array was recorded
method OB(id, highArr, signArr, lowArr, timeArr, sign)
store bullish orderblock data
Namespace types: array
Parameters:
id (array)
highArr (array) : array of historical highs
signArr (array) : array of historical price direction "math.sign(close - open)"
lowArr (array) : array of historical lows
timeArr (array) : array of historical times
sign (int) : orderblock direction, -1 => bullish, 1 => bearish
Returns: void
OTEstrat(OTEstart, future, closeArr, highArr, lowArr, timeArr, longOTEPT, longOTESL, longOTElevel, shortOTEPT, shortOTESL, shortOTElevel, structureDirection, oteLongs, atrTF, oteShorts)
executes the OTE strategy
Parameters:
OTEstart (chart.point)
future (int) : future time point for drawings
closeArr (array) : array of historical closes
highArr (array) : array of historical highs
lowArr (array) : array of historical lows
timeArr (array) : array of historical times
longOTEPT (string) : user-selected long OTE profit target, please create an input.string() for this using the example below
longOTESL (int) : user-selected long OTE stop loss, please create an input.string() for this using the example below
longOTElevel (float) : long entry price of selected retracement ratio for OTE
shortOTEPT (string) : user-selected short OTE profit target, please create an input.string() for this using the example below
shortOTESL (int) : user-selected short OTE stop loss, please create an input.string() for this using the example below
shortOTElevel (float) : short entry price of selected retracement ratio for OTE
structureDirection (string) : current market structure direction, this should be "Up" or "Down". This is used to cancel pending orders if market structure changes
oteLongs (bool) : input.bool() for whether OTE longs can be executed
atrTF (float) : atr of the user-seleceted TF
oteShorts (bool) : input.bool() for whether OTE shorts can be executed
@exampleInputs
oteLongs = input.bool(defval = false, title = "OTE Longs", group = "Optimal Trade Entry")
longOTElevel = input.float(defval = 0.79, title = "Long Entry Retracement Level", options = , group = "Optimal Trade Entry")
longOTEPT = input.string(defval = "-0.5", title = "Long TP", options = , group = "Optimal Trade Entry")
longOTESL = input.int(defval = 0, title = "How Many Ticks Below Swing Low For Stop Loss", group = "Optimal Trade Entry")
oteShorts = input.bool(defval = false, title = "OTE Shorts", group = "Optimal Trade Entry")
shortOTElevel = input.float(defval = 0.79, title = "Short Entry Retracement Level", options = , group = "Optimal Trade Entry")
shortOTEPT = input.string(defval = "-0.5", title = "Short TP", options = , group = "Optimal Trade Entry")
shortOTESL = input.int(defval = 0, title = "How Many Ticks Above Swing Low For Stop Loss", group = "Optimal Trade Entry")
Returns: void (0)
displacement(logZ, atrTFreg, highArr, timeArr, lowArr, upDispShow, dnDispShow, masterCoords, labelLevels, dispUpcol, rightCoordinate, dispDncol, noBorders)
calculates and draws dispacements
Parameters:
logZ (float) : log return of current price, used to determine a "significant price move" for a displacement
atrTFreg (float) : atr of user-seleceted timeframe
highArr (array) : array of historical highs
timeArr (array) : array of historical times
lowArr (array) : array of historical lows
upDispShow (int) : amount of historical upside displacements to show
dnDispShow (int) : amount of historical downside displacements to show
masterCoords (map) : a map to push the most recent displacement prices into, useful for having key levels in one data structure
labelLevels (string) : used to determine label placement for the displacement, can be inside box, outside box, or none, example below
dispUpcol (color) : upside displacement color
rightCoordinate (int) : future time for displacement drawing, best is "last_bar_time"
dispDncol (color) : downside displacement color
noBorders (bool) : input.bool() to remove box borders, example below
@exampleInputs
labelLevels = input.string(defval = "Inside" , title = "Box Label Placement", options = )
noBorders = input.bool(defval = false, title = "No Borders On Levels")
Returns: void
method getStrongLow(id, startIndex, timeArr, lowArr, strongLowPoints)
unshift strong low data to array id
Namespace types: array
Parameters:
id (array)
startIndex (int) : the starting index for the timeArr array of the UDT "necessaryData".
this point should start from at least 1 pivot prior to find the low before an upside BoS
timeArr (array) : array of historical times
lowArr (array) : array of historical lows
strongLowPoints (array) : array of strong low prices. Used to retrieve highest strong low price and see if need for
removal of invalidated strong lows
Returns: void
method getStrongHigh(id, startIndex, timeArr, highArr, strongHighPoints)
unshift strong high data to array id
Namespace types: array
Parameters:
id (array)
startIndex (int) : the starting index for the timeArr array of the UDT "necessaryData".
this point should start from at least 1 pivot prior to find the high before a downside BoS
timeArr (array) : array of historical times
highArr (array) : array of historical highs
strongHighPoints (array)
Returns: void
equalLevels(highArr, lowArr, timeArr, rightCoordinate, equalHighsCol, equalLowsCol, liteMode)
used to calculate recent equal highs or equal lows
Parameters:
highArr (array) : array of historical highs
lowArr (array) : array of historical lows
timeArr (array) : array of historical times
rightCoordinate (int) : a future time (right for boxes, x2 for lines)
equalHighsCol (color) : user-selected color for equal highs drawings
equalLowsCol (color) : user-selected color for equal lows drawings
liteMode (bool) : optional for a lite mode version of an ICT strategy. For more control over drawings leave as "True", "False" will apply neon effects
Returns: void
quickTime(timeString)
used to quickly determine if a user-inputted time range is currently active in NYT time
Parameters:
timeString (string) : a time range
Returns: true if session is active, false if session is inactive
macros(showMacros, noBorders)
used to calculate and draw session macros
Parameters:
showMacros (bool) : an input.bool() or simple bool to determine whether to activate the function
noBorders (bool) : an input.bool() to determine whether the box anchored to the session should have borders
Returns: void
po3(tf, left, right, show)
use to calculate HTF po3 candle
@tip only call this function on "barstate.islast"
Parameters:
tf (simple string)
left (int) : the left point of the candle, calculated as bar_index + left,
right (int) : :the right point of the candle, calculated as bar_index + right,
show (bool) : input.bool() whether to show the po3 candle or not
Returns: void
silverBullet(silverBulletStratLong, silverBulletStratShort, future, userTF, H, L, H2, L2, noBorders, silverBulletLongTP, historicalPoints, historicalData, silverBulletLongSL, silverBulletShortTP, silverBulletShortSL)
used to execute the Silver Bullet Strategy
Parameters:
silverBulletStratLong (simple bool)
silverBulletStratShort (simple bool)
future (int) : a future time, used for drawings, example "last_bar_time"
userTF (simple int)
H (float) : the high price of the user-selected TF
L (float) : the low price of the user-selected TF
H2 (float) : the high price of the user-selected TF
L2 (float) : the low price of the user-selected TF
noBorders (bool) : an input.bool() used to remove the borders from box drawings
silverBulletLongTP (series silverBulletLevels)
historicalPoints (array)
historicalData (necessaryData)
silverBulletLongSL (series silverBulletLevels)
silverBulletShortTP (series silverBulletLevels)
silverBulletShortSL (series silverBulletLevels)
Returns: void
method invalidFVGcheck(FVGarr, upFVGpricesSorted, dnFVGpricesSorted)
check if existing FVGs are still valid
Namespace types: array
Parameters:
FVGarr (array)
upFVGpricesSorted (array) : an array of bullish FVG prices, used to selective search through FVG array to remove invalidated levels
dnFVGpricesSorted (array) : an array of bearish FVG prices, used to selective search through FVG array to remove invalidated levels
Returns: void (0)
method drawFVG(counter, FVGshow, FVGname, FVGcol, data, masterCoords, labelLevels, borderTransp, liteMode, rightCoordinate)
draws FVGs on last bar
Namespace types: map
Parameters:
counter (map) : a counter, as map, keeping count of the number of FVGs drawn, makes sure that there aren't more FVGs drawn
than int FVGshow
FVGshow (int) : the number of FVGs to show. There should be a bullish FVG show and bearish FVG show. This function "drawFVG" is used separately
for bearish FVG and bullish FVG.
FVGname (string) : the name of the FVG, "FVG Up" or "FVG Down"
FVGcol (color) : desired FVG color
data (FVG)
masterCoords (map) : a map containing the names and price points of key levels. Used to define price ranges.
labelLevels (string) : an input.string with options "Inside", "Outside", "Remove". Determines whether FVG labels should be inside box, outside,
or na.
borderTransp (int)
liteMode (bool)
rightCoordinate (int) : the right coordinate of any drawings. Must be a time point.
Returns: void
invalidBlockCheck(bullishOBbox, bearishOBbox, userTF)
check if existing order blocks are still valid
Parameters:
bullishOBbox (array) : an array declared using the UDT orderBlock that contains bullish order block related data
bearishOBbox (array) : an array declared using the UDT orderBlock that contains bearish order block related data
userTF (simple int)
Returns: void (0)
method lastBarRejections(id, rejectionColor, idShow, rejectionString, labelLevels, borderTransp, liteMode, rightCoordinate, masterCoords)
draws rejectionBlocks on last bar
Namespace types: array
Parameters:
id (array) : the array, an array of rejection block data declared using the UDT rejection block
rejectionColor (color) : the desired color of the rejection box
idShow (int)
rejectionString (string) : the desired name of the rejection blocks
labelLevels (string) : an input.string() to determine if labels for the block should be inside the box, outside, or none.
borderTransp (int)
liteMode (bool) : an input.bool(). True = neon effect, false = no neon.
rightCoordinate (int) : atime for the right coordinate of the box
masterCoords (map) : a map that stores the price of key levels and assigns them a name, used to determine price ranges
Returns: void
method OBdraw(id, OBshow, BBshow, OBcol, BBcol, bullishString, bearishString, isBullish, labelLevels, borderTransp, liteMode, rightCoordinate, masterCoords)
draws orderblocks and breaker blocks for data stored in UDT array()
Namespace types: array
Parameters:
id (array) : the array, an array of order block data declared using the UDT orderblock
OBshow (int) : the number of order blocks to show
BBshow (int) : the number of breaker blocks to show
OBcol (color) : color of order blocks
BBcol (color) : color of breaker blocks
bullishString (string) : the title of bullish blocks, which is a regular bullish orderblock or a bearish orderblock that's converted to breakerblock
bearishString (string) : the title of bearish blocks, which is a regular bearish orderblock or a bullish orderblock that's converted to breakerblock
isBullish (bool) : whether the array contains bullish orderblocks or bearish orderblocks. If bullish orderblocks,
the array will naturally contain bearish BB, and if bearish OB, the array will naturally contain bullish BB
labelLevels (string) : an input.string() to determine if labels for the block should be inside the box, outside, or none.
borderTransp (int)
liteMode (bool) : an input.bool(). True = neon effect, false = no neon.
rightCoordinate (int) : atime for the right coordinate of the box
masterCoords (map) : a map that stores the price of key levels and assigns them a name, used to determine price ranges
Returns: void
FVG
UDT for FVG calcualtions
Fields:
H (series float) : high price of user-selected timeframe
L (series float) : low price of user-selected timeframe
direction (series string) : FVG direction => "Up" or "Down"
T (series int) : => time of bar on user-selected timeframe where FVG was created
fvgLabel (series label) : optional label for FVG
fvgLineTop (series line) : optional line for top of FVG
fvgLineBot (series line) : optional line for bottom of FVG
fvgBox (series box) : optional box for FVG
labelLine
quickly pair a line and label together as UDT
Fields:
lin (series line) : Line you wish to pair with label
lab (series label) : Label you wish to pair with line
orderBlock
UDT for order block calculations
Fields:
orderBlockData (array) : array containing order block x and y points
orderBlockBox (series box) : optional order block box
vioCount (series int) : = 0 violation count of the order block. 0 = Order Block, 1 = Breaker Block
traded (series bool)
status (series string) : = "OB" status == "OB" => Level is order block. status == "BB" => Level is breaker block.
orderBlockLab (series label) : options label for the order block / breaker block.
strongPoints
UDT for strong highs and strong lows
Fields:
price (series float) : price of the strong high or strong low
timeAtprice (series int) : time of the strong high or strong low
strongPointLabel (series label) : optional label for strong point
strongPointLine (series line) : optional line for strong point
overlayLine (series line) : optional lines for strong point to enhance visibility
overlayLine2 (series line) : optional lines for strong point to enhance visibility
displacement
UDT for dispacements
Fields:
highPrice (series float) : high price of displacement
lowPrice (series float) : low price of displacement
timeAtPrice (series int) : time of bar where displacement occurred
displacementBox (series box) : optional box to draw displacement
displacementLab (series label) : optional label for displacement
po3data
UDT for po3 calculations
Fields:
dHigh (series float) : higher timeframe high price
dLow (series float) : higher timeframe low price
dOpen (series float) : higher timeframe open price
dClose (series float) : higher timeframe close price
po3box (series box) : box to draw po3 candle body
po3line (array) : line array to draw po3 wicks
po3Labels (array) : label array to label price points of po3 candle
macros
UDT for session macros
Fields:
sessions (array) : Array of sessions, you can populate this array using the "quickTime" function located above "export macros".
prices (matrix) : Matrix of session data -> open, high, low, close, time
sessionTimes (array) : Array of session names. Pairs with array sessions.
sessionLines (matrix) : Optional array for sesion drawings.
OTEtimes
UDT for data storage and drawings associated with OTE strategy
Fields:
upTimes (array) : time of highest point before trade is taken
dnTimes (array) : time of lowest point before trade is taken
tpLineLong (series line) : line to mark tp level long
tpLabelLong (series label) : label to mark tp level long
slLineLong (series line) : line to mark sl level long
slLabelLong (series label) : label to mark sl level long
tpLineShort (series line) : line to mark tp level short
tpLabelShort (series label) : label to mark tp level short
slLineShort (series line) : line to mark sl level short
slLabelShort (series label) : label to mark sl level short
sweeps
UDT for data storage and drawings associated with liquidity sweeps
Fields:
upSweeps (matrix) : matrix containing liquidity sweep price points and time points for up sweeps
dnSweeps (matrix) : matrix containing liquidity sweep price points and time points for down sweeps
upSweepDrawings (array) : optional up sweep box array. Pair the size of this array with the rows or columns,
dnSweepDrawings (array) : optional up sweep box array. Pair the size of this array with the rows or columns,
raidExitDrawings
UDT for drawings associated with the Liquidity Raid Strategy
Fields:
tpLine (series line) : tp line for the liquidity raid entry
tpLabel (series label) : tp label for the liquidity raid entry
slLine (series line) : sl line for the liquidity raid entry
slLabel (series label) : sl label for the liquidity raid entry
m2022
UDT for data storage and drawings associated with the Model 2022 Strategy
Fields:
mTime (series int) : time of the FVG where entry limit order is placed
mIndex (series int) : array index of FVG where entry limit order is placed. This requires an array of FVG data, which is defined above.
mEntryDistance (series float) : the distance of the FVG to the 50% range. M2022 looks for the fvg closest to 50% mark of range.
mEntry (series float) : the entry price for the most eligible fvg
fvgHigh (series float) : the high point of the eligible fvg
fvgLow (series float) : the low point of the eligible fvg
longFVGentryBox (series box) : long FVG box, used to draw the eligible FVG
shortFVGentryBox (series box) : short FVG box, used to draw the eligible FVG
line50P (series line) : line used to mark 50% of the range
line100P (series line) : line used to mark 100% (top) of the range
line0P (series line) : line used to mark 0% (bottom) of the range
label50P (series label) : label used to mark 50% of the range
label100P (series label) : label used to mark 100% (top) of the range
label0P (series label) : label used to mark 0% (bottom) of the range
sweepData (array)
silverBullet
UDT for data storage and drawings associated with the Silver Bullet Strategy
Fields:
session (series bool)
sessionStr (series string) : name of the session for silver bullet
sessionBias (series string)
sessionHigh (series float) : = high high of session // use math.max(silverBullet.sessionHigh, high)
sessionLow (series float) : = low low of session // use math.min(silverBullet.sessionLow, low)
sessionFVG (series float) : if applicable, the FVG created during the session
sessionFVGdraw (series box) : if applicable, draw the FVG created during the session
traded (series bool)
tp (series float) : tp of trade entered at the session FVG
sl (series float) : sl of trade entered at the session FVG
sessionDraw (series box) : optional draw session with box
sessionDrawLabel (series label) : optional label session with label
silverBulletDrawings
UDT for trade exit drawings associated with the Silver Bullet Strategy
Fields:
tpLine (series line) : tp line drawing for strategy
tpLabel (series label) : tp label drawing for strategy
slLine (series line) : sl line drawing for strategy
slLabel (series label) : sl label drawing for strategy
unicornModel
UDT for data storage and drawings associated with the Unicorn Model Strategy
Fields:
hPoint (chart.point)
hPoint2 (chart.point)
hPoint3 (chart.point)
breakerBlock (series box) : used to draw the breaker block required for the Unicorn Model
FVG (series box) : used to draw the FVG required for the Unicorn model
topBlock (series float) : price of top of breaker block, can be used to detail trade entry
botBlock (series float) : price of bottom of breaker block, can be used to detail trade entry
startBlock (series int) : start time of the breaker block, used to set the "left = " param for the box
includes (array) : used to store the time of the breaker block, or FVG, or the chart point sequence that setup the Unicorn Model.
entry (series float) : // eligible entry price, for longs"math.max(topBlock, FVG.get_top())",
tpLine (series line) : optional line to mark PT
tpLabel (series label) : optional label to mark PT
slLine (series line) : optional line to mark SL
slLabel (series label) : optional label to mark SL
rejectionBlocks
UDT for data storage and drawings associated with rejection blocks
Fields:
rejectionPoint (chart.point)
bodyPrice (series float) : candle body price closest to the rejection point, for "Up" rejections => math.max(open, close),
rejectionBox (series box) : optional box drawing of the rejection block
rejectionLabel (series label) : optional label for the rejection block
equalLevelsDraw
UDT for data storage and drawings associated with equal highs / equal lows
Fields:
connector (series line) : single line placed at the first high or low, y = avgerage of distinguished equal highs/lows
connectorLab (series label) : optional label to be placed at the highs or lows
levels (array) : array containing the equal highs or lows prices
times (array) : array containing the equal highs or lows individual times
startTime (series int) : the time of the first high or low that forms a sequence of equal highs or lows
radiate (array) : options label to "radiate" the label in connector lab. Can be used for anything
necessaryData
UDT for data storage of historical price points.
Fields:
highArr (array) : array containing historical high points
lowArr (array) : array containing historical low points
timeArr (array) : array containing historical time points
logArr (array) : array containing historical log returns
signArr (array) : array containing historical price directions
closeArr (array) : array containing historical close points
binaryTimeArr (array) : array containing historical time points, uses "push" instead of "unshift" to allow for binary search
binaryCloseArr (array) : array containing historical close points, uses "push" instead of "unshift" to allow the correct
binaryOpenArr (array) : array containing historical optn points, uses "push" instead of "unshift" to allow the correct
atrTFarr (array) : array containing historical user-selected TF atr points
openArr (array) : array containing historical open points
Aggregated VolumeHow to Read the “Aggregated Volume” Signal
This indicator combines normalized volume, short-term volume bursts, pivot levels, VWAP, and a 200-period EMA to give you a multi-dimensional view of trading activity. Here’s how to interpret each component and synthesize them into actionable insights.
1. Custom Volume Signal (vSignal)
• Calculation
• vSignal = Sum of over bars, divided by the current price.
• A rising vSignal means more volume is being traded per unit of price, signaling growing interest relative to price level.
• Plot styling
• Bars are lime when (bullish volume days)
• Bars are orange when (bearish volume days)
How to read it
• Trend confirmation: Increasing lime bars alongside rising price suggests buyers in control.
• Warning sign: Rising orange bars on a down move indicate accelerating selling pressure.
• Divergence:
• Price making new highs while vSignal stalls or drops → potential top.
• Price making new lows while vSignal holds → potential bottom.
2. Short-Term Volume Bursts
Three semi-transparent histograms show how much the last 2, 5, and 10-bar raw volumes exceed (or fall below) the current vSignal:
• Blue = vol(2) – vSignal
• Green = vol(5) – vSignal
• Red = vol(10) – vSignal
If a colored bar sits above zero, that lookback’s volume is surging relative to the longer-term average (vSignal).
How to read it
• Clustered bursts:
• Blue + Green + Red above zero → strong, broad-based volume surge.
• Great for confirming breakouts and shakeouts.
• Isolated burst:
• Only Blue (> 0) on a small range bar → might be a false breakout or intrabar squeeze.
• Only Red (> 0) on a wide range → institutional involvement; act with caution.
3. Pivot Volume Levels (v & t)
• Every 21 bars, the script finds the highest and lowest vSignal values and plots them as shaded price levels:
• Magenta area = recent vSignal high (resistance)
• Cyan area = recent vSignal low (support)
How to read it
• Rejection/Break:
• Price approaches magenta zone and stalls → sellers defending that volume high.
• Break above magenta with high vSignal → likely sustained rally.
• Support flip:
• Cyan zone hold → buyers stepping in at heavy-volume lows.
• Break below cyan with rising vSignal → bearish conviction.
4. Midline Cross (Volume Equilibrium)
• A 10-bar SMA of
• Drawn as a faint white cross on price
How to read it
• Above midline → overall volume bias is skewed bullish.
• Below midline → bearish volume bias.
Crossovers of vSignal through this midline can signal shifts in underlying conviction.
5. VWAP & 200-Period EMA Overlays
• VWAP (transparent red if above price, green if below)
• EMA(200) plotted as aqua circles
How to read them
• VWAP tells you the intraday “value area.”
• Price above VWAP + rising vSignal = intraday buyers in charge.
• Price below VWAP + rising vSignal = aggressive sellers.
• EMA(200) gives you the longer-term trend.
• Above EMA200 = bullish regime
• Below EMA200 = bearish regime
6. Putting It All Together: Example Scenarios
1. Bullish Entry
• Price > EMA200 & VWAP is green
• vSignal rising in lime
• All three short-term bursts above zero
• Price near or breaking the magenta pivot with volume confirmation
2. Bearish Entry
• Price < EMA200 & VWAP is red
• vSignal rising in orange
• Two-bar burst (blue) spikes on a down bar
• Price failing at magenta pivot or breaking cyan support
3. Divergence Play
• Price makes new high, but vSignal peaks lower than last high → look for a reversal.
• Price drops to new low, but vSignal stays above its last low → prepare for a bounce.
By combining these layers—normalized volume, burst indicators, pivot levels, VWAP, and EMA—you get a clear map of where volume is clustering, which lets you anticipate support/resistance, gauge real interest, and spot potential reversals or breakouts with greater confidence.
Consolidation BoxesConsolidation Boxes — Indicator
Overview :
This indicator automatically detects and highlights periods of market consolidation, drawing shaded boxes around tight price ranges where the market is temporarily indecisive. It’s designed to help traders easily identify when price is moving sideways — a key phase that often precedes a breakout.
Key Features :
-Automatic Consolidation Detection: Recognizes when a series of candles close within a defined range and marks the area as a consolidation zone.
-Customizable Parameters: Set how many candles must consolidate before a box is drawn.
-Breakout Alerts: Notifies you when price breaks out above or below a consolidation box — a potential signal for trade entries.
-Clean Chart Management: Optional setting to automatically remove old zones when new consolidations form.
-Dynamic Box Extension: As long as price stays within the box, the zone will continue to extend until a breakout occurs.
Inputs :
- Minimum Consolidation Candles : Define how many candles must fit within a range to confirm a consolidation zone.
- Terminate Old Zones : Automatically delete the previous zone when a new one is formed (optional).
How to use :
1. Add the Indicator: Apply it to any chart — works across all timeframes and markets (e.g., crypto, stocks, forex).
2. Adjust Parameters: Choose how many candles must consolidate to form a valid box. Enable or disable zone termination to fit your preference.
3. Watch the Boxes: The indicator draws a shaded box once it detects a valid consolidation zone. The box will continue to extend as long as price stays within the range.
4. Look for Breakouts: When price breaks above or below the box, a breakout is confirmed and an alert (if enabled) will trigger — great for breakout trading strategies.
5. Use in Strategy: Combine with volume, momentum indicators, or price action to validate breakouts and filter false signals.
Ideal For :
Traders who want to visually identify consolidation areas and trade breakout setups with minimal manual analysis. Especially useful for scalpers, day traders, and swing traders looking to anticipate volatility after quiet periods.
Impulse Zones | Flux Charts💎 GENERAL OVERVIEW
Introducing our new Impulse Zones indicator, a powerful tool designed to identify significant price movements accompanied by strong volume, highlighting potential areas of support and resistance. These Impulse Zones can offer valuable insights into market momentum and potential reversal or continuation points. For more information about the process, please check the "HOW DOES IT WORK ?" section.
Impulse Zones Features :
Dynamic Zone Creation : Automatically identifies and plots potential supply and demand zones based on significant price impulses and volume spikes.
Customizable Settings : Allows you to adjust the sensitivity of zone detection based on your trading style and market conditions.
Retests and Breakouts : Clearly marks instances where price retests or breaks through established Impulse Zones, providing potential entry or exit signals.
Alerts : You can set alerts for Bullish & Bearish Impulse Zone detection and their retests.
🚩 UNIQUENESS
Our Impulse Zones indicator stands out by combining both price action (impulsive moves) and volume confirmation to define significant zones. Unlike simple support and resistance indicators, it emphasizes the strength behind price movements, potentially filtering out less significant levels. The inclusion of retest and breakout visuals directly on the chart provides immediate context for potential trading opportunities. The user can also set up alerts for freshly detected Impulse Zones & the retests of them.
📌 HOW DOES IT WORK ?
The indicator identifies bars where the price range (high - low) is significantly larger than the average true range (ATR), indicating a strong price movement. The Size Sensitivity input allows you to control how large this impulse needs to be relative to the ATR.
Simultaneously, it checks if the volume on the impulse bar is significantly higher than the average volume. The Volume Sensitivity input governs this threshold.
When both the price impulse and volume confirmation criteria are met, an Impulse Zone is created in the corresponding direction. The high and low of the impulse bar define the initial boundaries of the zone. Zones are extended forward in time to remain relevant. The indicator manages the number of active zones to maintain chart clarity and can remove zones that haven't been touched for a specified period. The indicator monitors price action within and around established zones.
A retest is identified when the price touches a zone and then moves away. A break occurs when the price closes beyond the invalidation point of a zone. Keep in mind that if "Show Historic Zones" setting is disabled, you will not see break labels as their zones will be removed from the chart.
The detection of Impulse Zones are immediate signs of significant buying or selling pressure entering the market. These zones represent areas where a strong imbalance between buyers and sellers has led to a rapid price movement accompanied by high volume. Bullish Impulse Zones act as a possible future support zone, and Bearish Impulse Zones act as a possible future resistance zone. Retests of the zones suggest a strong potential movement in the corresponding direction.
⚙️ SETTINGS
1. General Configuration
Show Historic Zones: If enabled, invalidated or expired Impulse Zones will remain visible on the chart.
2. Impulse Zones
Invalidation Method: Determines which part of the candle (Wick or Close) is used to invalidate a zone break.
Size Sensitivity: Controls the required size of the impulse bar relative to the ATR for a zone to be detected. Higher values may identify fewer, larger zones. Lower values may detect more, smaller zones.
Volume Sensitivity: Controls the required volume of the impulse bar relative to the average volume for a zone to be detected. Higher values require more significant volume.
Labels: Toggles the display of "IZ" labels on the identified zones.
Retests: Enables the visual highlighting of retests on the zones.
Breaks: Enables the visual highlighting of zone breaks.
Opening Range and Market BoundariesOpening Range and Market Boundaries
This versatile and insightful indicator combines two powerful concepts frequently used by professional traders: Opening Range Analysis and Market Boundaries derived from previous high/low levels. It is specifically designed to support intraday trading strategies and helps you identify key price zones for entries, exits, and breakout confirmations.
🔍 Features & Utility
1. Opening Range Box
What it does:
Highlights the high and low of the first candle after market open (9:15 AM IST) with a shaded box. This box spans the full trading session, from 9:15 AM to 3:30 PM, representing the key price range where the initial balance is formed.
Timeframe Compatibility:
The Opening Range box is optimized for 1-minute to 1-hour charts. It is most effective on lower timeframes (1m, 5m, 15m, 30m) where intraday price movements and breakout patterns can be clearly observed.
Usage Tips:
Breakouts above or below the Opening Range box can signal potential directional bias for the rest of the trading day.
Price consolidating within the range may indicate a choppy or range-bound session.
Works well with volume and momentum indicators for confirmation.
2. Market Boundaries
What it does:
Plots horizontal lines at:
Previous Day High/Low
Previous Week High/Low
Previous Month High/Low
Why it matters:
These levels act as natural support and resistance zones, and are commonly watched by institutional traders, making them crucial for:
Spotting reversals or breakouts
Planning stop-loss and target zones
Avoiding trades around high-rejection areas
Customization Options:
Toggle ON/OFF for Daily, Weekly, and Monthly levels.
Independent colors and line thickness for each level, enabling you to distinguish between different timeframes easily.
🛠️ How to Use Effectively
Use during market open:
Switch to a 5-minute or 15-minute chart during the first few candles of the session. Observe the Opening Range box formation and plan trades based on breakout direction.
Confluence Trading:
Look for price action near previous session highs/lows in confluence with the Opening Range box edges. These intersections often become high-probability zones for breakouts or reversals.
Session Preparation:
Before the market opens, analyze where the price is relative to past high/low boundaries. If it's near a weekly/monthly level, be cautious — those areas can cause whipsaws or false breakouts.
Avoid low-volume breakouts:
Use this indicator in conjunction with volume tools or price action confirmation to validate the strength of a move outside the Opening Range or Market Boundaries.
📌 Summary
This indicator is designed for intraday traders, scalpers, and swing traders who want a reliable structure to guide their decisions. It visually marks the opening balance of the market and essential higher timeframe boundaries, helping you trade with discipline and precision.
BK AK-9I am incredibly proud to introduce my fourth indicator to the TradingView community:
BK AK-9 — a next-level momentum-volatility hybrid, built for traders who demand precision.
🔥 Why “AK-9”? The Meaning Behind the Name
This indicator is deeply personal to me.
The “AK” in the name represents the initials of my mentor — the man whose guidance shaped my journey in trading, discipline, and strategy.
His wisdom is woven into every line of code, every design choice, and every purpose behind this tool.
The “9” holds its own powerful meaning:
9 is the number of completion and breakthrough — the moment where preparation meets opportunity.
The AK-9 weapon itself is a suppressed variant of the legendary AK platform, built for stealth, precision, and maximum impact in close-quarters combat.
It’s quiet, adaptive, and deadly effective — just like this indicator cuts through market noise, adapts to volatility, and pinpoints moments of maximum opportunity.
✨ About the BK AK-9 Indicator
The BK AK-9 is not just an oscillator.
It’s a multi-layered trading weapon combining:
✅ RSI → Stochastic → Bollinger Bands on Stoch RSI → momentum measured inside volatility.
✅ Dynamic or Static Background Flash → when extremes hit, you get instant visual alerts.
✅ Color-coded %K zones →
🔴 Red: oversold
🟢 Green: overbought
🔵 Blue: neutral
✅ Volatility-adaptive bands → instead of relying on static levels, the bands expand and contract dynamically using standard deviation.
🛡️ Why This Indicator Matters
Pinpoints exhaustion zones statistically, not emotionally.
Confirms breakouts with volatility evidence, not just price action.
Filters noise and helps you wait for high-probability setups.
Gives you visual edge with color-coded momentum and background flash.
Perfect for:
🔹 Breakout traders confirming momentum surges.
🔹 Mean-reversion traders catching exhaustion pivots.
🔹 Swing traders using multi-layered momentum analysis.
🔹 Momentum traders hunting volatility-backed entries.
💥 How to Use BK AK-9
Breakout Confirmation → when Stoch RSI breaks above upper Bollinger Band (green zone, flash ON), ride the trend.
Mean Reversion Trades → when Stoch RSI drops below lower Bollinger Band (red zone, flash ON), look for reversals.
Noise Filtering → stay patient inside the blue zone, wait for extremes.
Advanced Sync → align it with Gann levels, harmonic patterns, Fibonacci clusters, or Elliott waves for maximum edge.
🙏 Final Thoughts
This isn’t just another tool — it’s a weapon in your trading arsenal.
🔹 Dedicated to my mentor, A.K., whose wisdom and legacy guide my work.
🔹 Designed around the number 9, the number of completion, transition, and breakthrough.
🔹 Built to help traders act with precision, discipline, and clarity.
But above all, I give praise and glory to Gd — the true source of wisdom, insight, and success.
Markets will test your patience and your skill, but faith tests your soul. Through every challenge, every victory, and every setback, Gd remains the constant.
This tool is simply another way to use the gifts He has given — to help others rise.
⚡ Stay Ready, Stay Sharp
The markets are a battlefield. But with the right tools, the right strategy, and the right mindset — you will always stay 10 steps ahead.
🔥 Stay locked. Stay loaded. Trade with precision. 🔥
Gd bless, and may He guide us all to wisdom and success. 🙏
Multiple (12) Strong Buy/Sell Signals + Momentum
Indicator Manual: "Multiple (12) Strong Buy/Sell Signals + Momentum"
This indicator is designed to identify strong buy and sell signals based on 12 configurable conditions, which include a variety of technical analysis methods such as trend-following indicators, pattern recognition, volume analysis, and momentum oscillators. It allows for customizable alerts and visual cues on the chart. The indicator helps traders spot potential entry and exit points by displaying buy and sell signals based on the selected conditions.
Key Observations:
• The script integrates multiple indicators and pattern recognition methods to provide comprehensive buy/sell signals.
• Trend-based indicators like EMAs and MACD are combined with pattern recognition (flags, triangles) and momentum-based signals (RSI, ADX, and volume analysis).
• User customization is a core feature, allowing adjustments to the conditions and thresholds for more tailored signals.
• The script is designed to be responsive to market conditions, with multiple conditions filtering out noise to generate reliable signals.
________________________________________
Key Features:
1. 12 Combined Buy/Sell Signal Conditions: This indicator incorporates a diverse set of conditions based on trend analysis, momentum, and price patterns.
2. Minimum Conditions Input: You can adjust the threshold of conditions that need to be met for the buy/sell signals to appear.
3. Alert Customization: Set alert thresholds for both buy and sell signals.
4. Dynamic Visualization: Buy and sell signals are shown as triangles on the chart, with momentum signals highlighted as circles.
________________________________________
Detailed Description of the 12 Conditions:
1. Exponential Moving Averages (EMA):
o Conditions: The indicator uses EMAs with periods 3, 8, and 13 for quick trend-following signals.
o Bullish Signal: EMA3 > EMA8 > EMA13 (Bullish stack).
o Bearish Signal: EMA3 < EMA8 < EMA13 (Bearish stack).
o Reversal Signal: The crossing over or under of these EMAs can signify trend reversals.
2. MACD (Moving Average Convergence Divergence):
o Fast MACD (2, 7, 3) is used to confirm trends quickly.
o Bullish Signal: When the MACD line crosses above the signal line.
o Bearish Signal: When the MACD line crosses below the signal line.
3. Donchian Channel:
o Tracks the highest high and lowest low over a given period (default 20).
o Breakout Signal: Price breaking above the upper band is bullish; breaking below the lower band is bearish.
4. VWAP (Volume-Weighted Average Price):
o Above VWAP: Bullish condition (price above VWAP).
o Below VWAP: Bearish condition (price below VWAP).
5. EMA Stacking & Reversal:
o Tracks the order of EMAs (3, 8, 13) to confirm strong trends and reversals.
o Bullish Reversal: EMA3 < EMA8 < EMA13 followed by a crossing to bullish.
o Bearish Reversal: EMA3 > EMA8 > EMA13 followed by a crossing to bearish.
6. Bull/Bear Flags:
o Bull Flag: Characterized by a strong price movement (flagpole) followed by a pullback and breakout.
o Bear Flag: Similar to Bull Flag but in the opposite direction.
7. Triangle Patterns (Ascending and Descending):
o Detects ascending and descending triangles using pivot highs and lows.
o Ascending Triangle: Higher lows and flat resistance.
o Descending Triangle: Lower highs and flat support.
8. Volume Sensitivity:
o Identifies price moves with significant volume increases.
o High Volume: When current volume is significantly above the moving average volume (set to 1.2x of the average).
9. Momentum Indicators:
o RSI (Relative Strength Index): Confirms overbought and oversold levels with thresholds set at 65 (overbought) and 35 (oversold).
o ADX (Average Directional Index): Confirms strong trends when ADX > 28.
o Momentum Up: Momentum is upward with strong volume and bullish RSI/ADX conditions.
o Momentum Down: Momentum is downward with strong volume and bearish RSI/ADX conditions.
10. Bollinger & Keltner Squeeze:
o Squeeze Condition: A contraction in both Bollinger Bands and Keltner Channels indicates low volatility, signaling a potential breakout.
o Squeeze Breakout: Price breaking above or below the squeeze bands.
11. 3 Consecutive Candles Condition:
o Bullish: Price rises for three consecutive candles with higher highs and lows.
o Bearish: Price falls for three consecutive candles with lower highs and lows.
12. Williams %R and Stochastic RSI:
o Williams %R: A momentum oscillator with signals when the line crosses certain levels.
o Stochastic RSI: Provides overbought/oversold levels with smoother signals.
o Combined Signals: You can choose whether to require both WPR and StochRSI to signal a buy/sell.
________________________________________
User Inputs (Inputs Tab):
1. Minimum Conditions for Buy/Sell:
o min_conditions: Number of conditions required to trigger a buy/sell signal on the chart (1 to 12).
o Alert_min_conditions: User-defined alert threshold (how many conditions must be met before an alert is triggered).
2. Donchian Channel Settings:
o Show Donchian: Toggle visibility of the Donchian channel.
o Donchian Length: The length of the Donchian Channel (default 20).
3. Bull/Bear Flag Settings:
o Bull Flag Flagpole Strength: ATR multiplier to define the strength of the flagpole.
o Bull Flag Pullback Length: Length of pullback for the bull flag pattern.
o Bull Flag EMA Length: EMA length used to confirm trend during bull flag pattern.
Similar settings exist for Bear Flag patterns.
4. Momentum Indicators:
o RSI Length: Period for calculating the RSI (default 9).
o RSI Overbought: Overbought threshold for the RSI (default 65).
o RSI Oversold: Oversold threshold for the RSI (default 35).
5. Bollinger/Keltner Squeeze Settings:
o Squeeze Width Threshold: The maximum width of the Bollinger and Keltner Bands for squeeze conditions.
6. Stochastic RSI Settings:
o Stochastic RSI Length: The period for calculating the Stochastic RSI.
7. WPR Settings:
o WPR Length: Period for calculating Williams %R (default 14).
________________________________________
User Inputs (Style Tab):
1. Signal Plotting:
o Control the display and colors of the buy/sell signals, momentum indicators, and pattern signals on the chart.
o Buy/Sell Signals: Can be customized with different colors and shapes (triangle up for buys, triangle down for sells).
o Momentum Signals: Custom circle placement for momentum-up or momentum-down signals.
2. Donchian Channel:
o Show Donchian: Toggle visibility of the Donchian upper, lower, and middle bands.
o Band Colors: Choose the color for each band (upper, lower, middle).
________________________________________
How to Use the Indicator:
1. Adjust Minimum Conditions: Set the minimum number of conditions that must be met for a signal to appear. For example, set it to 5 if you want only stronger signals.
2. Set Alert Threshold: Define the number of conditions needed to trigger an alert. This can be different from the minimum conditions for visual signals.
3. Customize Appearance: Modify the colors and styles of the signals to match your preferences.
________________________________________
Conclusion:
This comprehensive trading indicator uses a combination of trend-following, pattern recognition, and momentum-based conditions to help you spot potential buy and sell opportunities. By adjusting the input settings, you can fine-tune it to match your specific trading strategy, making it a versatile tool for different market conditions.
Signal Reliability Based on Condition Count
The reliability of the buy/sell signals increases as more conditions are met. Here's a breakdown of the probabilities:
1. 1-3 Conditions Met: Lower Probability
o Signals that meet only 1-3 conditions tend to have lower reliability and are considered less probable. These signals may represent false positives or weaker market movements, and traders should approach them with caution.
2. 4 Conditions Met: More Reliable Signal
o When 4 conditions are met, the signal becomes more reliable. This indicates that multiple indicators or market patterns are aligning, increasing the likelihood of a valid buy/sell opportunity. While not foolproof, it's a stronger indication that the market may be moving in a particular direction.
3. 5-6 Conditions Met: Strong Signal
o A signal meeting 5-6 conditions is considered a strong signal. This indicates a well-confirmed move, with several technical indicators and market factors aligning to suggest a higher probability of success. These are the signals that traders often prioritize.
4. 7+ Conditions Met: Rare and High-Confidence Signal
o Signals that meet 7 or more conditions are rare and should be considered high-confidence signals. These represent a significant alignment of multiple factors, and while they are less frequent, they are highly reliable when they do occur. Traders can be more confident in acting on these signals, but they should still monitor market conditions for confirmation.
________________________________________
You can adjust the number of conditions as needed, but this breakdown should give a clear structure on how the signal strength correlates with the number of conditions met!
Williams Fractals Dynamic Horizontal LinesWilliams Fractals with Dynamic Horizontal Lines
Overview
This script identifies Williams Fractals (support and resistance points) on any chart and automatically draws horizontal lines at those fractal levels.
The lines extend right and disappear when price breaks them — giving a clean and real-time view of key support and resistance levels.
Features
Detects upward fractals (potential resistances).
Detects downward fractals (potential supports).
Draws horizontal lines at each fractal point.
Automatically deletes a line when:
Price closes above a resistance.
Price closes below a support.
Clean and lightweight — minimal performance impact.
Inputs
Setting Description Default
Periods (n) Number of candles on each side required to confirm a fractal (minimum 2). 2
How It Works
Fractal Detection:
An up fractal is confirmed when a candle has the highest high compared to its neighbors.
A down fractal is confirmed when a candle has the lowest low compared to its neighbors.
Custom logic supports different "ties" — not just strict greater-than or less-than comparisons.
Drawing Lines:
When an up fractal is detected → a red horizontal resistance line is drawn.
When a down fractal is detected → a green horizontal support line is drawn.
Lines are drawn starting at the fractal candle and extend right across the chart.
Dynamic Line Deletion:
Every new candle is checked:
If high > resistance line → delete that resistance line.
If low < support line → delete that support line.
Only unbroken lines are kept on the chart, providing live, updated support/resistance zones.
Visual Elements
Up Fractal: 🡅 Triangular marker (teal color) above the fractal candle.
Down Fractal: 🡇 Triangular marker (red color) below the fractal candle.
Resistance Line: Red horizontal line.
Support Line: Green horizontal line.
Technical Details
Version: Pine Script v6
Arrays Used:
To store and manage active lines (line arrays).
To track the price associated with each line (float arrays).
Error Handling:
Backward iteration is handled using a while loop instead of a for loop to comply with Pine Script restrictions.
Offset Handling:
Fractal markers are plotted with an offset of -n bars for visual alignment.
Possible Enhancements (Future Ideas)
Sensitivity Settings: Allow a small margin (buffer) to define breakouts.
Extend Options: Let users choose between extending "infinite" or "limited" bars.
Custom Alerts: Generate alerts when fractal levels are broken.
Multi-timeframe Support: Detect fractals from higher timeframes on lower timeframe charts.
Example Usage
Swing Trading:
Use the fractal lines to identify and react to key breakouts or breakdowns dynamically.
Intraday Trading:
Spot live support/resistance on smaller timeframes for quick trades.
Trend Reversal Spotting:
Notice when a major fractal level is broken, possibly indicating trend changes.
Example Visual — Williams Fractals Dynamic Lines
Price Chart View:
What This Diagram Shows:
▲ Up Fractals:
Form resistance lines.
Line extends until price breaks above it.
▼ Down Fractals:
Form support lines.
Line extends until price breaks below it.
Lines are removed from the chart as soon as broken.
📈 Real Chart Example
Here's a rough idea how it will look live on your TradingView chart:
Feature Visual
Up Fractal 🔺 Green triangle above bar
Resistance Line ➖ Horizontal red line across the chart
Down Fractal 🔻 Red triangle below bar
Support Line ➖ Horizontal green line across the chart
Line Break 🚫 Line disappears when price crosses
Key Levels (4H and Daily)Key Levels (4H and Daily)
This indicator highlights important key price levels derived from the 4-hour (4H) and daily (D) timeframes, providing traders with critical support and resistance areas. The levels are calculated using the highest highs and lowest lows over a customizable lookback period, offering a dynamic view of significant price points that could influence market movement.
Key Features:
Key Levels for 4H and Daily Timeframes:
The indicator calculates and displays the highest high and lowest low over a user-defined period for both the 4-hour and daily timeframes. This helps traders identify key support and resistance levels that could dictate the market's behavior.
Customizable Lookback Period:
Traders can adjust the lookback period (in days) for both the 4-hour and daily timeframes to reflect different market conditions. This flexibility ensures the levels are tailored to your preferred trading style and market conditions.
Horizontal Lines:
The indicator plots horizontal lines at the high and low levels for both timeframes. These levels serve as dynamic support and resistance areas and help traders monitor price action near these critical points.
Real-Time Updates:
The lines adjust automatically with each new bar, providing up-to-date key levels based on the most recent price action and trading session.
Alert Conditions:
Alerts are built-in to notify traders when the price breaks above or below these key levels. Traders can set up notifications to stay informed when significant market moves occur.
How to Use:
Support and Resistance: Use the levels as potential support and resistance areas where price could reverse. Price often reacts at these levels, providing potential trading opportunities.
Breakouts: Pay attention to breakouts above the high or below the low of these levels. A break above the 4H or daily high could indicate bullish momentum, while a break below could signal bearish trends.
Trend Confirmation: Combine these levels with other technical analysis tools to confirm the overall market trend and enhance your trading strategy.
Perfect for:
Day Traders: Use the 4-hour levels for intraday trading setups, such as potential reversals or breakouts.
Swing Traders: The daily levels provide longer-term insights, helping to identify key zones where price might pause, reverse, or break out.
Market Context: Ideal for those who want to contextualize their trades within broader timeframes, helping to understand the market’s structure at multiple time scales.
This description conveys the utility and functionality of the indicator, focusing on how it helps traders identify and monitor key levels that influence market action.
Money Flow Pulse💸 In markets where volatility is cheap and structure is noisy, what matters most isn’t just the move — it’s the effort behind it. Money Flow Pulse (MFP) offers a compact, color-coded readout of real-time conviction by scoring volume-weighted price action on a five-tier scale. It doesn’t try to predict reversals or validate trends. Instead, it reveals the quality of the move in progress: is it fading , driving , exhausting , or hollow ?
🎨 MFP draws from the traditional Money Flow Index (MFI), a volume-enhanced momentum oscillator, but transforms it into a modular “pressure readout” that fits seamlessly into any structural overlay. Rather than oscillating between extremes with little interpretive guidance, MFP discretizes the flow into clean, color-coded regimes ranging from strong inflow (+2) to strong outflow (–2). The result is a responsive diagnostic layer that complements, rather than competes with, tools like ATR and/or On-Balance Volume.
5️⃣ MFP uses a normalized MFI value smoothed over 13 periods and classified into a 5-tier readout of Volume-Driven Conviction :
🍆 Exhaustion Inflow — usually a top or blowoff; not strength, but overdrive (+2)
🥝 Active Inflow — supportive of trend continuation (+1)
🍋 Neutral — chop, coil, or fakeouts (0)
🍑 Selling Intent — weakening structure, possible fade setups (-1)
🍆 Exhaustion Outflow — often signals forced selling or accumulation traps (-2)
🎭 These tiers are not arbitrary. Each one is tuned to reflect real capital behavior across timeframes. For instance, while +1 may support continuation, +2 often precedes exhaustion — especially on the lower timeframes. Similarly, a –1 reading during a pullback suggests sell-side pressure is building, but a shift to –2 may mean capitulation is already underway. The difference between the two can define whether a move is tradable continuation or strategic exhaustion .
🌊 The MFI ROC (Rate of Change) feature can be toggled to become a volatility-aware pulse monitor beneath the derived MFI tier. Instead of scoring direction or structure, ROC reveals how fast conviction is changing — not just where it’s headed, but how hard it's accelerating or decaying. It measures the raw Δ between the current and previous MFI values, exposing bursts of energy, fading pressure, or transitional churn .
🎢 Visually, ROC appears as a low-opacity area fill, anchored to a shared lemon-yellow zero line. When the green swell rises, buying pressure is accelerating; when the red drops, flow is actively deteriorating. A subtle bump may signal early interest — while a steep wave hints at an emotional overreaction. The ROC value itself provides numeric insight alongside the raw MFI score. A reading of +3.50 implies strong upside momentum in the flow — often supporting trend ignition. A score of –6.00 suggests rapid deceleration or full exhaustion — often preceding reversals or failed breakouts.
・ MFI shows you where the flow is
・ ROC tells you how it’s behaving
😎 This blend reveals not just structure or intent — but also urgency . And in flow-based trading, urgency often precedes outcome.
🧩 Divergence isn’t delay — it’s disagreement . One of the most revealing features of MFP is how it exposes momentum dissonance — situations where price and flow part ways. These divergences often front-run pivots , traps , or velocity stalls . Unlike RSI-style divergence, which whispers of exhaustion, MFI divergence signals a breakdown in conviction. The structure may extend — but the effort isn’t there.
・ Price ▲ MFI ▼ → Effortless Markup : Often signals distribution or a grind into liquidity. Without rising MFI, the rally lacks true flow participation — a warning of fragility.
・ Price ▼ MFI ▲ → Absorption or Early Accumulation : Price breaks down, but money keeps flowing in — a hidden bid. Watch for MFI tier shifts or ROC bursts to confirm a reversal.
🏄♂️ These moments don’t require signal overlays or setup hunting. MFP narrates the imbalance. When price breaks structure but flow does not — or vice versa — you’re not seeing trend, you’re seeing disagreement, and that's where edge begins.
💤 MFP is especially effective on intraday charts where volume dislocations matter most. On the 1H or 15m chart, it helps distinguish between breakouts with conviction versus those lacking flow. On higher timeframes, its resolution softens — it becomes more of a drift indicator than a trigger device. That’s by design: MFP prioritizes pulse, not position. It’s not the fire, it’s the heat.
📎 Use MFP in confluence with structural overlays to validate price behavior. A ribbon expansion with rising MFP is real. A compression breakout without +1 flow is "fishy". Watch how MFP behaves near key zones like anchored VWAP, MAs or accumulation pivots. When MFP rises into a +2 and fails to sustain, the reversal isn’t just technical — it’s flow-based.
🪟 MFP doesn’t speak loudly, but it never whispers without reason. It’s the pulse check before action — the breath of the move before the breakout. While it stays visually minimal on the chart, the true power is in the often overlooked Data Window, where traders can read and interpret the score in real time. Once internalized, these values give structure-aware traders a framework for conviction, continuation, or caution.
🛜 MFP doesn’t chase momentum — it confirms conviction. And in markets defined by noise, that signal isn’t just helpful — it’s foundational.