Liquidity VisualizerThe "Liquidity Visualizer" indicator is designed to help traders visualize potential areas of liquidity on a price chart. In trading, liquidity often accumulates around key levels where market participants have placed their stop orders or pending orders. These levels are commonly found at significant highs and lows, where traders tend to set their stop-losses or take-profit orders. The indicator aims to highlight these areas by drawing unbroken lines that extend indefinitely until breached by the price action.
Specifically, this indicator identifies and marks pivot highs and pivot lows, which are price levels where a trend changes direction. When a pivot high or pivot low is formed, it is represented on the chart with a horizontal line that continues to extend until the price touches or surpasses that level. The line remains in place as long as the level remains unbroken, which means there is potential liquidity still resting at that level.
The concept behind this indicator is that liquidity is likely to be resting at unbroken pivot points. These levels are areas where stop-loss orders or pending buy/sell orders may have accumulated, making them attractive zones for large market participants, such as institutions, to target. By visualizing these unbroken levels, traders can gain insight into where liquidity might be concentrated and where potential price reversals or significant movements could occur as liquidity is taken out.
The indicator helps traders make more informed decisions by showing them key price levels that may attract significant market activity. For instance, if a trader sees multiple unbroken pivot high lines above the current price, they might infer that there is a cluster of liquidity in that area, which could lead to a price spike as those levels are breached. Similarly, unbroken pivot lows may indicate areas where downside liquidity is concentrated.
In summary, this indicator acts as a "liquidity visualizer," providing traders with a clear, visual representation of potential liquidity resting at significant pivot points. This information can be valuable for understanding where price might be drawn to, and where large movements might occur as liquidity is targeted and removed by market participants.
Trend Analysis
Follow LineFollow Line is a common MT4 FX indicator based on trend following.
The main idea behind the calculation is volatility:
-Indicator Line increases as price goes above Bollinger Bands but with 1 standard deviation.
-Likewise when price moves below the lower Bollinger Band with 1 Standard deviation, Follow -Line decreases down.
-As you can imagine, indicator stays as a flat line when price moves between the bands.
There are two critical settings about the indicator:
1- Bollinger Bands Deviation is set to 1 as default but if you want to have early signals you have to decrease that amount. Also you'd better increase that to have flat values on sideways market conditions for not getting chopped by the early but false signals.
2- ATR Filter is activated in default settings and the indicator follows the trend with a distance from Highs and Lows considering ATR (default length 5) values. If you turn off the ATR filter, the indicator line only takes into account the Highs and the Lows. Indicator will get more agile but the risk of choppy signals can be taken that time. I personally advise you to increase the Bollinger Band Deviation from 1 to between 1.5-2 to stabilize the fake signals when ATR filter is turned off.
Signals can be shown on the graph:
BUY: when Follow Line changes direction from red to blue.(which means Price is above Bollinger Upper Band with 1 standard deviation)
SELL: when Follow Line changes direction from blue to red. (which means Price moves below Bollinger Lower Band with 1 standard deviation)
Finally, some of you may know there are also several Follow Line indicators on TradingView but unfortunately they don't show the same exact values (close but not same) comparing with original version of MT4 and the Metastock version that I've coded recently. So, I shared this stuff to have the exact same values on graphs on all platforms.
Dynamic Darvas Lines [CHE] Dynamic Darvas Lines
Unlock Precision Trading with Dynamic Darvas Lines
Overview:
Dynamic Darvas Lines is an advanced trading indicator designed for traders seeking to enhance their market analysis and decision-making process. Building upon the classic Darvas Box theory, this indicator introduces dynamic zone detection and comprehensive customization features, making it an indispensable tool for both novice and experienced traders.
Key Features & Advantages:
1. Dynamic Zone Detection:
- Adaptive Boxes: Automatically identifies and adjusts support and resistance levels based on market volatility and price movements, ensuring that the indicator remains relevant in varying market conditions.
- Real-Time Updates: Continuously recalculates box boundaries, providing up-to-the-minute insights into potential breakout or reversal points.
2. Enhanced Signal Accuracy:
- Buy & Sell Signals: Generates clear and actionable buy and sell signals based on the crossover and crossunder of price with dynamic Darvas lines, helping traders capitalize on optimal entry and exit points.
- Signal Confirmation: Reduces false signals by requiring confirmation through multiple conditions, enhancing overall trade reliability.
3. Comprehensive Customization:
- Adjustable Parameters: Tailor the indicator to your specific trading style with customizable box length, signal colors, and plot shapes.
- Color Management: Differentiate between various market signals with intuitive color coding for buy/sell signals, box boundaries, and debug lines, enhancing visual clarity on your charts.
4. Advanced Visualization:
- Signal Circles: Visual markers highlight significant price levels where buy and sell signals are triggered, making it easier to spot opportunities at a glance.
- Debug Mode: Activate debug lines to display the lowest lows and highest highs within the defined box length, aiding in in-depth market analysis and strategy refinement.
5. Robust Alert System:
- Custom Alerts: Set up real-time alerts for buy and sell signals, ensuring you never miss critical trading opportunities even when you're away from your screen.
- Automated Notifications: Receive instant notifications directly through your trading platform, keeping you informed and ready to act.
6. Seamless Integration:
- Overlay Capability: Easily integrates with your existing charts, allowing you to combine Dynamic Darvas Lines with other technical indicators for a more comprehensive market view.
- Optimized Performance: Efficiently coded in Pine Script V5, ensuring smooth performance without lag, even on lower-end devices.
Use Cases:
- Trend Identification: Detect and follow market trends by observing the formation and breakout of dynamic Darvas boxes, helping you stay aligned with the market’s momentum.
- Breakout Trading: Capitalize on significant price movements when the price breaks out of established Darvas zones, indicating potential strong directional moves.
- Reversal Detection: Identify potential market reversals by monitoring when the price crosses under the lower Darvas line or above the upper Darvas line, signaling a change in market sentiment.
- Risk Management: Utilize the indicator’s clear support and resistance levels to set strategic stop-loss and take-profit points, enhancing your risk-reward ratio.
- Market Analysis: Combine with other technical tools and indicators to perform comprehensive market analysis, improving the accuracy of your trading strategies.
Why Choose Dynamic Darvas Lines ?
Dynamic Darvas Lines stands out with its blend of traditional Darvas Box principles and modern enhancements. Its dynamic nature ensures adaptability across different market conditions, while the extensive customization options provide traders with the flexibility to tailor the indicator to their unique trading strategies. Whether you’re aiming to identify trends, execute breakout trades, or manage risks more effectively, Dynamic Darvas Lines offers the precision and reliability you need to elevate your trading game.
Get Started Today:
Enhance your trading toolkit with Dynamic Darvas Lines and experience the difference in your market analysis and trading performance. Download now and take the first step towards more informed and strategic trading decisions!
Note: Always backtest any trading indicator and use it in conjunction with other analysis tools to develop a robust trading strategy. Trading involves risk, and it's essential to practice sound risk management.
Disclaimer:
The content provided, including all code and materials, is strictly for educational and informational purposes only. It is not intended as, and should not be interpreted as, financial advice, a recommendation to buy or sell any financial instrument, or an offer of any financial product or service. All strategies, tools, and examples discussed are provided for illustrative purposes to demonstrate coding techniques and the functionality of Pine Script within a trading context.
Any results from strategies or tools provided are hypothetical, and past performance is not indicative of future results. Trading and investing involve high risk, including the potential loss of principal, and may not be suitable for all individuals. Before making any trading decisions, please consult with a qualified financial professional to understand the risks involved.
By using this script, you acknowledge and agree that any trading decisions are made solely at your discretion and risk.
Weekly Initial BalanceWeekly Initial Balance Indicator
The Weekly Initial Balance (IB) indicator is a powerful tool designed for traders to identify key support and resistance levels based on the market's initial activity at the start of each week. By analyzing the first 30 hours of trading.
Key Features:
Customizable IB Period: Define the start hour and duration of the initial balance period to suit your trading schedule and the specific market you are analyzing, I have it set at 30 hours by default.
IB High, Low, and Midpoint Levels: Automatically plots the high, low, and midpoint of the IB period, providing immediate visual reference to critical price levels.
Extension Levels: Calculate and display extension levels based on customizable percentages (e.g., 50%, 100%, 150%), allowing you to project potential breakout targets and identify areas of interest beyond the initial balance range.
Dynamic Lines and Labels: The indicator updates in real-time, extending lines and repositioning labels as new bars form, ensuring you always have the most current information.
Customizable Appearance: Adjust line styles, widths, colors, and label positions to match your charting preferences and improve visual clarity.
How to Use:
Set the IB Parameters:
Week Start Hour (UTC): Specify the hour when the weekly IB period begins. I use 1800EST as that is when the futures market opens.
IB Duration in Hours: Define how many hours constitute the IB period.
Configure Extension Levels:
Input the desired extension percentages to calculate levels beyond the IB range.
Customize Visual Settings:
Adjust line colors, styles, widths, and label offsets to tailor the indicator's appearance.
Interpret the Levels:
Use the IB high and low as immediate support and resistance levels.
Monitor the midpoint for potential pivot areas.
Watch for price interactions with extension levels to anticipate breakouts or reversals.
Benefits:
Identify Key Weekly Levels: Understand the market's initial sentiment each week to gauge potential trends.
Enhance Trading Strategies: Incorporate the IB levels into your trading plan for better entry and exit points.
Adaptable to Various Markets: Suitable for Forex, commodities, indices, and other markets where weekly analysis is beneficial.
Industry Group StrengthThe Industry Group Strength indicator is designed to help traders identify the best-performing stocks within specific industry groups. The movement of individual stocks is often closely tied to the overall performance of their industry. By focusing on industry groups, this indicator allows you to find the top-performing stocks within an industry.
Thanks to a recent Pine Script update, an indicator like this is now possible. Special thanks to @PineCoders for introducing the dynamic requests feature.
How this indicator works:
The indicator contains predefined lists of stocks for each industry group. To be included in these lists, stocks must meet the following basic filters:
Market capitalization over 2B
Price greater than $10
Primary listing status
Once the relevant stocks are filtered, the indicator automatically recognizes the industry group of the current stock displayed on the chart. It then retrieves and displays data for that entire industry group.
Data Points Available:
The user can choose between three different data points to rank and compare stocks:
YTD (Year-To-Date) Return: Measures how much a stock has gained or lost since the start of the year.
RS Rating: A relative strength rating for a user-selected lookback period (explained below).
% Return: The percentage return over a user-selected lookback period.
Stock Ranking:
Stocks are ranked based on their performance within their respective industry groups, allowing users to easily identify which stocks are leading or lagging behind others in the same sector.
Visualization:
The indicator presents stocks in a table format, with performance metrics displayed both as text labels and color-coded lines. The color gradient represents the percentile rank, making it visually clear which stocks are outperforming or underperforming within their industry group.
Relative Strength (RS):
Relative Strength (RS) measures a stock’s performance relative to a benchmark, typically the S&P 500 (the default setting). It is calculated by dividing the closing price of the stock by the closing price of the S&P 500.
If the stock rises while the S&P 500 falls, or if the stock rises more sharply than the S&P 500, the RS value increases. Conversely, if the stock falls while the S&P 500 rises, the RS value decreases. This indicator normalizes the RS value into a range from 1 to 99, allowing for easier comparison across different stocks, regardless of their raw performance. This normalized RS value helps traders quickly assess how a stock is performing relative to others.
Consecutive CandlesTrading as Easy as One, Two, and Three
Unlock the power of simplicity in trading with this innovative script inspired by KepalaBesi. Designed for traders of all levels, this script provides a user-friendly approach to market analysis, enabling you to make informed trading decisions effortlessly.
Key Features:
Simplified Signals: Receive clear buy and sell signals based on robust technical indicators. The script streamlines your trading process, allowing you to focus on execution rather than analysis.
Customizable Settings: Tailor the script to fit your trading style. Adjust parameters to suit your risk tolerance and market preferences, ensuring a personalized trading experience.
Visual Clarity: Benefit from intuitive visual cues on your chart, making it easy to identify optimal entry and exit points. The clean interface helps you make quick decisions without confusion.
Whether you’re a seasoned trader or just starting, "Trading as Easy as One, Two, and Three" simplifies your trading journey, turning complex strategies into straightforward actions. Embrace a more efficient way to trade and elevate your performance in the markets!
Get Started Today!
Join the community of traders who have discovered the ease of trading with KepalaBesi's inspired script. Elevate your trading experience and achieve your financial goals with confidence!
Three Bar Reversal Pattern [LuxAlgo]The Three Bar Reversal Pattern indicator identifies and highlights three bar reversal patterns on the user price chart.
The script also provides an option for incorporating various trend indicators used to filter out detected signals, allowing them to enhance their accuracy and help obtain a more comprehensive analysis.
🔶 USAGE
The script automates the detection of three-bar reversal patterns and provides a clear, visually identifiable signal for potential trend reversals.
When a reversal chart pattern is confirmed and price action aligns with the pattern, the pattern's boundaries are extended, forming levels, with the upper boundary often acting as a resistance and the lower boundary as a support.
The script allows users to filter patterns based on a specific trend direction detected by multiple trend indicators. Users can choose to view patterns that are either aligned with the detected trend or opposite to it.
Included trend indicators are: Moving Average Cloud, Supertrend, and Donchian Channels.
🔶 DETAILS
The three-bar reversal pattern is a technical analysis pattern that signals a potential reversal in the prevailing trend. The pattern consists of three consecutive bar formations:
First Bar and Second Bar: 2 consecutive of the same sentiment, representing the prevailing trend in the market.
Third Bar: Confirms the reversal by closing beyond the high or low of the first bar, signaling a potential change in market sentiment.
Various types of three-bar reversal patterns are documented. The script supports two main types:
Normal Pattern: Detects three-bar reversal patterns without requiring the third bar closing price to surpass the high (bullish pattern) or low (bearish pattern) of the first bar. It identifies basic formations signaling potential trend reversals.
Enhanced Pattern: Specifically identifies three-bar reversal patterns where the third bar closing price surpasses the high (bullish pattern) or low (bearish pattern) of the first bar. This type provides a more selective signal for stronger trend reversals.
🔶 SETTINGS
Pattern Type: Users can choose the type of 3-bar reversal patterns to detect: Normal, Enhanced, or All. "Normal" detects patterns that do not necessarily surpass the high/low of the first bar. "Enhanced" detects patterns where the third bar surpasses the high/low of the first bar. "All" detects both Normal and Enhanced patterns.
Derived Support and Resistance: Toggles the visibility of the support and resistance levels/zones.
🔹 Trend Filtering
Filtering: Allows users to filter patterns based on the trend indicators: Moving Average Cloud, Supertrend, and Donchian Channels. The "Aligned" option only detects patterns that align with the trend and conversely, the "Opposite" option detects patterns that go against the trend.
🔹 Trend Indicator Settings
Moving Average Cloud: Allows traders to choose the type of moving averages (SMA, EMA, HMA, etc.) and set the lengths for fast and slow-moving averages.
Supertrend: Options to set the ATR length and factor for Supertrend.
Donchian Channels: Option to set the length for the channel calculation.
🔶 RELATED SCRIPTS
Reversal-Candlestick-Structure .
Reversal-Signals .
[ AlgoChart ] - Pearson Index CorrelationCorrelation Indicator (Pearson Index)
The correlation indicator measures the strength and direction of the relationship between two financial assets using the Pearson Index.
Correlation values range from +100 to -100, where:
+100 indicates perfect positive correlation, meaning the two assets tend to move in the same direction.
-100 indicates perfect negative correlation, where the two assets move in opposite directions.
The neutral zone ranges from +25% to -25%, suggesting that the asset movements are independent, with no clear correlation between them.
Interpreting Correlation Levels:
Correlation above +75%: The two assets tend to move similarly and in the same direction. This may indicate a risk of overexposure if both assets are traded in the same direction, as their movements will be very similar, increasing the likelihood of double losses or gains.
Correlation below -75%: The two assets tend to move similarly but in opposite directions. This correlation level can be useful for strategies that benefit from opposing movements between assets, such as trading pairs with inverse dynamics.
Practical Use of the Indicator:
Risk management: Use the indicator to monitor asset correlations before opening positions. High correlation may indicate you are duplicating exposure, as two highly correlated assets tend to move similarly. This helps avoid excessive risk and improves portfolio diversification.
Statistical Arbitrage: During moments of temporary decorrelation between two assets, the indicator can be used for statistical arbitrage strategies. In such cases, you can take advantage of the divergence by opening positions and closing them when the correlation returns to higher or positive levels, thus potentially profiting from the reconvergence of movements.
While the correlation indicator provides valuable insights into asset relationships, it is most effective when used in conjunction with other concepts and tools. On its own, it may offer limited relevance in trading decisions.
Kijun Sen MedianKey Features:
Kijun-Sen Calculation: The traditional Kijun-Sen is calculated as the average of the highest high and the lowest low over a specified period. This script introduces a variation by using the median price of the user-defined source (kj_src2) over the selected length (med_len), creating a median-based Kijun-Sen.
Trend Indication:
A positive trend is indicated when the source price is above the Kijun-Sen.
A neutral trend is indicated when the source price is equal to the Kijun-Sen.
A negative trend is indicated when the source price is below the Kijun-Sen.
User Inputs:
Plot Kijun-Sen: Toggle to enable or disable the display of the Kijun-Sen line.
Kijun-Sen Length (len): Sets the period for calculating the Kijun-Sen.
Median Length (med_len): Defines the period over which the median price is calculated.
Kijun Source (kj_src): The source price for evaluating conditions above, equal, or below the Kijun-Sen.
Median Source (kj_src2): The source price used in calculating the median price for the Kijun-Sen.
This indicator is designed to help traders identify trend changes and potential reversal points based on a modified Kijun-Sen line. The color-coded line provides an immediate visual cue for the current market condition, making it easier to interpret trends and potential trading signals.
Larry Williams Valuation Index [tradeviZion]Larry Williams Valuation Index
Welcome to the Larry Williams Valuation Index by tradeviZion! This script is an interpretation of Larry Williams' famous WillVal (Valuation) Index, originally developed in 1990 to help traders determine whether a market or asset is overvalued or undervalued. We've extended it to support multiple securities and offer alerts for different valuation levels, helping you make more informed trading decisions.
What is the Valuation Index?
The Valuation Index measures how a security's current price compares to its historical price action. It helps identify whether the security is overvalued (priced too high), undervalued (priced too low), or in a normal range.
This version supports multiple securities and uses valuation parameters to help you assess the relative valuation of three securities simultaneously. It can help you determine the best times to enter (buy) or exit (sell) the market.
Key Features
Multi-Security Analysis: Analyze up to three securities simultaneously to get a broader view of market conditions.
Valuation Levels: Automatically calculate overvaluation and undervaluation levels or set manual levels for consistent analysis.
Custom Alerts: Create custom alerts when securities move between overvalued, undervalued, or normal ranges.
Customizable Table Display: Display a table with valuation values and their status on the chart.
Getting Started
Step 1: Adding the Script to Your Chart
First, add the Larry Williams Valuation Index script to your chart on TradingView. The script is designed to work with any timeframe, but for best results, use weekly or daily timeframes for a longer-term perspective.
Step 2: Configuring Securities
The script allows you to analyze up to three different securities :
Security 1 (Default: DXY)
Security 2 (Default: GC1!)
Security 3 (Default: ZB1!)
You can enable or disable each security individually.
Custom Timeframe Option: You have the option to select a custom timeframe for analysis. This allows you to see whether the security is overvalued or undervalued in lower or higher timeframes. Note that this feature is experimental and has not been extensively tested. Larry Williams originally used the weekly timeframe to determine if a stock was overvalued or undervalued. By default, the indicator compares the current price with the security based on the selected timeframe, except if you choose to use a custom timeframe.
Pro Tip : New users can start with the default securities to understand the concept before using other assets.
Step 3: Valuation Index Settings
Short EMA Length : This is the short-term average used for calculations. A lower value makes it more responsive to recent price changes.
Long EMA Length : This is the long-term average, used to smooth the valuation over time.
Valuation Length (Default: 156) : Represents approximately three years of daily bars (as recommended by Larry Williams).
How is the Valuation Index Calculated?
The valuation calculation is done using a method called WVI (WillVal Index), which compares the current price of a security to the price of another correlated security. Here’s a step-by-step explanation:
1. Data Collection: The script takes the closing price of the security you are analyzing and the closing price of the correlated security.
2. Ratio Calculation : The ratio of the two prices is calculated:
Price Ratio = (Price of your security) / (Price of correlated security) * 100.
This ratio helps determine how expensive or cheap your security is compared to the correlated one.
3. Exponential Moving Averages (EMAs) : The price ratio is used to calculate short-term and long-term EMAs (Exponential Moving Averages). EMAs are used to create smooth lines that represent the average price of a security over a specific period of time, with more weight given to recent data. By calculating both short-term and long-term EMAs, we can identify the trend direction and how the security is performing compared to its historical averages.
4. Valuation Index Calculation:
The Valuation Index is calculated as the difference between the short-term EMA and the long-term EMA. This difference helps to determine if the security is currently overvalued or undervalued:
A positive value indicates that the price is above its longer-term trend, suggesting potential overvaluation.
A negative value indicates that the price is below its longer-term trend, suggesting potential undervaluation.
5. Normalization:
To make the valuation easier to interpret, the calculated valuation index is then normalized using the highest and lowest values over the selected valuation length (e.g., 156 bars).
This normalization process converts the index into a percentage between 0 and 100, where higher values indicate overvaluation and lower values indicate undervaluation.
Step 4: Understanding Valuation Levels
The valuation levels indicate whether a security is currently undervalued, overvalued, or in a normal range.
Manual Levels : You can manually set the overvaluation and undervaluation thresholds (default is 85 for overvalued and 15 for undervalued).
Auto Levels : The script can automatically calculate these levels based on recent price action, allowing you to adapt to changing market conditions.
Auto Levels Calculation Explained:
The Auto Levels are calculated by taking the average of the valuation indices for all three securities (e.g., index1, index2, and index3).
The script then looks at the highest and lowest values of this average over a selected number of recent bars (e.g., 50 bars).
The overvaluation level is determined by taking the highest value and multiplying it by a multiplier (e.g., 5). Similarly, the undervaluation level is calculated using the lowest value and the multiplier.
These dynamic levels adjust according to recent price action, providing an adaptive approach to identifying overvalued and undervalued conditions.
Step 5: How to Use the Script to Make Trading Decisions
For new users, here's a step-by-step trading strategy you can use with the Valuation Index:
1. Identify Undervalued Opportunities
When two or more securities are in the undervalued range (below 15 for manual or below automatically calculated undervalue levels), wait for at least two of these securities to turn from undervalued to normal .
This transition indicates a potential buy opportunity .
2. Buying Signal
When at least two securities transition from undervalued to normal, you can consider buying the asset.
This indicates that the market may be recovering from undervalued conditions and could be moving into a growth phase.
3. Selling Signal
Exit when the price high closes below the EMA 21 (21-day exponential moving average).
Alternatively, if the valuation index reaches overvalued levels (above 85 manually or auto-calculated), wait for it to drop back to normal . This can be another point to exit the trade .
You can also use any other sell condition based on your r isk management strategy .
Alerts for Valuation Levels
The script includes alerts to notify you of changing market conditions:
To activate these alerts, follow these steps, referring to the provided screenshot with detailed steps:
1. Enable Alerts : Click on the settings gear icon on the script title in your chart. In the settings menu, scroll to the section labeled Alerts Settings .
Enable Alerts by checking the Enable Alerts box.
Set the Required Securities for Alert (default is 2 securities).
Choose the Alert Frequency : Selecting Once Per Bar Close will trigger alerts only at the close of each bar, ensuring you receive confirmed signals rather than potentially noisy intermediate signals.
2. Select Alert Type : Choose the type of alert you want to activate, such as Alert on Overvalued, Alert on Undervalued, Alert on Over to Normal , or Alert on Under to Normal .
3. Save Settings : Click OK to save your alert settings.
4. Add Alert on Indicator : Click the "..." (More button) next to the indicator name on the chart and select " Add alert on tradeviZion - WillVal ".
5. Create Alert : In the Create Alert window:
Set Condition to tradeviZion - WillVal .
Ensure Any alert() function call is selected.
Set the Alert Name and select your Expiration preferences.
6. Set Notification Preferences : Go to the Notifications tab and select how you want to receive notifications, such as via app notification, toast notification, email , or sound alert . Adjust these preferences to best suit your needs.
7. Click Create : Finally, click Create to activate the alert.
These alerts will help you stay informed about key market conditions and take action accordingly, ensuring you do not miss critical trading opportunities.
Understanding the Table Display
The script includes an interactive table on the chart to show the valuation status of each security:
Security : The name of the security being analyzed.
Value : The current valuation index value.
Status : Indicates whether the security is overvalued, undervalued , or in a normal range.
Color: Displays a color code for easy identification of status:
Red for overvalued.
Green for undervalued.
Other colors represent normal valuation levels.
Empowering Messages : Motivational messages are displayed to encourage disciplined trading. These messages will change periodically, helping keep a positive trading mindset.
Acknowledgment
This tool builds upon the foundational work of Larry Williams, who developed the WillVal (Valuation) Index concept. It also incorporates enhancements to extend multi-security analysis, valuation normalization, and advanced alerting features, providing a more versatile and powerful indicator. The Larry Williams Valuation Index [ tradeviZion ] helps traders make informed decisions by assessing overvalued and undervalued conditions for multiple securities simultaneously.
Note : Always practice proper risk management and thoroughly test the indicator to ensure it aligns with your trading strategy. Past performance is not indicative of future results.
Trade smarter with TradeVizion—unlock your trading potential today!
Price Action Analyst [OmegaTools]Price Action Analyst (PAA) is an advanced trading tool designed to assist traders in identifying key price action structures such as order blocks, market structure shifts, liquidity grabs, and imbalances. With its fully customizable settings, the script offers both novice and experienced traders insights into potential market movements by visually highlighting premium/discount zones, breakout signals, and significant price levels.
This script utilizes complex logic to determine significant price action patterns and provides dynamic tools to spot strong market trends, liquidity pools, and imbalances across different timeframes. It also integrates an internal backtesting function to evaluate win rates based on price interactions with supply and demand zones.
The script combines multiple analysis techniques, including market structure shifts, order block detection, fair value gaps (FVG), and ICT bias detection, to provide a comprehensive and holistic market view.
Key Features:
Order Block Detection: Automatically detects order blocks based on price action and strength analysis, highlighting potential support/resistance zones.
Market Structure Analysis: Tracks internal and external market structure changes with gradient color-coded visuals.
Liquidity Grabs & Breakouts: Detects potential liquidity grab and breakout areas with volume confirmation.
Fair Value Gaps (FVG): Identifies bullish and bearish FVGs based on historical price action and threshold calculations.
ICT Bias: Integrates ICT bias analysis, dynamically adjusting based on higher-timeframe analysis.
Supply and Demand Zones: Highlights supply and demand zones using customizable colors and thresholds, adjusting dynamically based on market conditions.
Trend Lines: Automatically draws trend lines based on significant price pivots, extending them dynamically over time.
Backtesting: Internal backtesting engine to calculate the win rate of signals generated within supply and demand zones.
Percentile-Based Pricing: Plots key percentile price levels to visualize premium, fair, and discount pricing zones.
High Customizability: Offers extensive user input options for adjusting zone detection, color schemes, and structure analysis.
User Guide:
Order Blocks: Order blocks are significant support or resistance zones where strong buyers or sellers previously entered the market. These zones are detected based on pivot points and engulfing price action. The strength of each block is determined by momentum, volume, and liquidity confirmations.
Demand Zones: Displayed in shades of blue based on their strength. The darker the color, the stronger the zone.
Supply Zones: Displayed in shades of red based on their strength. These zones highlight potential resistance areas.
The zones will dynamically extend as long as they remain valid. Users can set a maximum number of order blocks to be displayed.
Market Structure: Market structure is classified into internal and external shifts. A bullish or bearish market structure break (MSB) occurs when the price moves past a previous high or low. This script tracks these breaks and plots them using a gradient color scheme:
Internal Structure: Short-term market structure, highlighting smaller movements.
External Structure: Long-term market shifts, typically more significant.
Users can choose how they want the structure to be visualized through the "Market Structure" setting, choosing from different visual methods.
Liquidity Grabs: The script identifies liquidity grabs (false breakouts designed to trap traders) by monitoring price action around highs and lows of previous bars. These are represented by diamond shapes:
Liquidity Buy: Displayed below bars when a liquidity grab occurs near a low.
Liquidity Sell: Displayed above bars when a liquidity grab occurs near a high.
Breakouts: Breakouts are detected based on strong price momentum beyond key levels:
Breakout Buy: Triggered when the price closes above the highest point of the past 20 bars with confirmation from volume and range expansion.
Breakout Sell: Triggered when the price closes below the lowest point of the past 20 bars, again with volume and range confirmation.
Fair Value Gaps (FVG): Fair value gaps (FVGs) are periods where the price moves too quickly, leaving an unbalanced market condition. The script identifies these gaps:
Bullish FVG: When there is a gap between the low of two previous bars and the high of a recent bar.
Bearish FVG: When a gap occurs between the high of two previous bars and the low of the recent bar.
FVGs are color-coded and can be filtered by their size to focus on more significant gaps.
ICT Bias: The script integrates the ICT methodology by offering an auto-calculated higher-timeframe bias:
Long Bias: Suggests the market is in an uptrend based on higher timeframe analysis.
Short Bias: Indicates a downtrend.
Neutral Bias: Suggests no clear directional bias.
Trend Lines: Automatic trend lines are drawn based on significant pivot highs and lows. These lines will dynamically adjust based on price movement. Users can control the number of trend lines displayed and extend them over time to track developing trends.
Percentile Pricing: The script also plots the 25th percentile (discount zone), 75th percentile (premium zone), and a fair value price. This helps identify whether the current price is overbought (premium) or oversold (discount).
Customization:
Zone Strength Filter: Users can set a minimum strength threshold for order blocks to be displayed.
Color Customization: Users can choose colors for demand and supply zones, market structure, breakouts, and FVGs.
Dynamic Zone Management: The script allows zones to be deleted after a certain number of bars or dynamically adjusts zones based on recent price action.
Max Zone Count: Limits the number of supply and demand zones shown on the chart to maintain clarity.
Backtesting & Win Rate: The script includes a backtesting engine to calculate the percentage of respect on the interaction between price and demand/supply zones. Results are displayed in a table at the bottom of the chart, showing the percentage rating for both long and short zones. Please note that this is not a win rate of a simulated strategy, it simply is a measure to understand if the current assets tends to respect more supply or demand zones.
How to Use:
Load the script onto your chart. The default settings are optimized for identifying key price action zones and structure on intraday charts of liquid assets.
Customize the settings according to your strategy. For example, adjust the "Max Orderblocks" and "Strength Filter" to focus on more significant price action areas.
Monitor the liquidity grabs, breakouts, and FVGs for potential trade opportunities.
Use the bias and market structure analysis to align your trades with the prevailing market trend.
Refer to the backtesting win rates to evaluate the effectiveness of the zones in your trading.
Terms & Conditions:
By using this script, you agree to the following terms:
Educational Purposes Only: This script is provided for informational and educational purposes and does not constitute financial advice. Use at your own risk.
No Warranty: The script is provided "as-is" without any guarantees or warranties regarding its accuracy or completeness. The creator is not responsible for any losses incurred from the use of this tool.
Open-Source License: This script is open-source and may be modified or redistributed in accordance with the TradingView open-source license. Proper credit to the original creator, OmegaTools, must be maintained in any derivative works.
Cubic Bezier Curve RSI [CBCR]Overview :
Introducing the Cubic Bézier Curve RSI – an innovative approach to smoothing the traditional RSI using cubic Bézier curves. This indicator provides traders with a smoother, adaptive version of the RSI that can help filter out noise and better highlight market trends.
Key Features:
Bézier Curve : the script uses cubic Bézier curves to create a smoothed version of the RSI, offering a more visually appealing and potentially more insightful representation of market momentum.
Customizable Settings: Users can adjust the Bézier Curve Length, Impact Factor, and color modes, allowing full customization of the smoothing effect and visualization.
Color-coded Trend Indicator: The smoothed RSI is displayed with colors that indicate potential bullish or bearish trends, helping traders quickly assess market conditions.
Overbought/Oversold Lines: Option to display overbought and oversold levels for better identification of market extremes.
Parameters:
RSI Length: Set the length for the traditional RSI calculation (default is 14).
Bézier Curve Length: Adjust the length of the Bézier curve used to smooth the RSI (default is 20).
Impact Factor: Control the influence of the Bézier smoothed values versus the original RSI values (default is 0.5, ranging from 0.0 to 1.0).
Overbought/Oversold Lines: Option to show overbought (default: 70) and oversold (default: 30) lines for easier identification of extreme conditions.
Color Mode: Choose between "Trend Following" and "Overbought/Oversold" modes for line color indication.
Display Settings: Color customization for bullish and bearish phases allows better visual differentiation.
How It Works:
The CBCR uses four control points derived from historical RSI values over a user-defined length. It then applies the cubic Bezier formula to generate a sequence of points representing a smoothed version of the RSI over this range.
The Bezier curve is recalculated each time a specific number of bars (as defined by the Bezier Curve Length) have passed, helping reduce noise while retaining key trend information.
The result is a smoothed RSI that combines the adaptability of cubic Bezier curves with the familiar oscillation of the RSI, making it potentially more robust for identifying shifts in market sentiment.
Visuals:
Smoothed RSI Line: Plotted on the indicator pane, the line changes color depending on the chosen color mode:
Trend Following Mode: Color changes based on whether the smoothed RSI is above or below the 50-level.
Overbought/Oversold Mode: Color changes based on whether the smoothed RSI is above the overbought level or below the oversold level.
Bullish Color: Configurable (default: cyan).
Bearish Color: Configurable (default: red).
Overbought/Oversold Lines: Horizontal lines at user-defined levels (default: 70 for overbought, 30 for oversold) for easy identification of market extremes.
Usage:
The CBCR can be used like a traditional RSI but with a smoother output that may help traders avoid false signals generated by sudden price spikes. For instance:
Look for crossovers around the 50 level as a signal for changing momentum.
Use the overbought and oversold levels to identify potential reversal zones.
Observe the color change of the line for an immediate visual cue on current sentiment.
CRT candles Multi-Timeframe Intrabar(open Source ) # CRT candles Multi-Timeframe Intrabar Indicator( open source )
This advanced indicator visualizes Candle Range Theory (CRT) across multiple timeframes, providing traders with a comprehensive view of market structure and potential high-probability setups.
## Key Features:
- Supports 7 timeframes: 30 minutes, 1 hour, 2 hours, 4 hours, daily, weekly, and monthly
- Customizable color schemes for each timeframe
- Options to display mid-level (50%) lines for each range
- Bullish and bearish touch detection with customizable label display
- End-of-line labels for easy identification of CRT levels
- Flexible alert system for touch detections on each timeframe
- Adjustable minimum and maximum bar count for range validity
- Options for wick touch and body touch detection
## How It Works:
The indicator plots CRT ranges for each selected timeframe, identifying potential accumulation, manipulation, and distribution phases. It detects when price touches these levels, providing visual cues and optional alerts for potential trade setups.
snapshot
## Customization:
Users can fine-tune the indicator's appearance and functionality through various input options, including:
- Toggling timeframes on/off
snapshot
- Adjusting colors for range lines and mid-levels
- Controlling label display and count
- Setting alert preferences
- Adjusting line widths and label offsets
## Usage:
This indicator is designed for traders familiar with Candle Range Theory and multi-timeframe analysis. It can be used to identify potential entry and exit points, confirm trends, and spot potential reversals across different timeframes.
## Note:
This indicator is for educational and informational purposes only. Always combine with other forms of analysis and proper risk management when making trading decisions.
## Credits:
Inspired by Romeo's Candle Range Theory and developed to provide a comprehensive multi-timeframe analysis tool.
[MAD] Fibonacci Bands with SmoothingHi, this is just an easy script, nothing special, it was a request from a community member and was finished in just 40 minutes :D
This indicator offers a approach to tracking market price movements by utilizing Fibonacci-based levels combined with customizable smoothing options for both the bands and the high/low values.
Key Features:
Customizable Moving Averages: Choose from a variety of smoothing methods, including SMA, EMA, WMA, HMA, VWMA, and advanced Ehlers-based methods.
This allows for flexible adaptation to different assets.
Multiple Fibonacci Band Multipliers: The user can define six different multipliers for both the upper and lower Fibonacci bands, allowing for granular customization of the indicator. The middle line serves as the central reference, and the multipliers extend the bands outward based on price range dynamics.
High/Low Smoothing: In addition to smoothing the Fibonacci bands, users can apply smoothing to the high and low prices that form the basis for calculating the Fibonacci bands. This ensures that the indicator responds smoothly to market movements, reducing noise while capturing key trends.
Forward Shift Option: Allows for projecting the bands into the future by shifting the calculated levels forward by a user-specified number of periods. This feature is particularly useful for those interested in anticipating price actions and future trends.
Visual Enhancements: The indicator features filled regions between bands to clearly visualize the zones of price movement. The fills between the bands offer insight into potential support and resistance zones, based on price levels defined by the Fibonacci ratios.
How It Works:
The indicator uses the highest and lowest closing prices over a specified lookback period to establish a price range. Based on this range, it calculates the middle line (0.5 level) and applies user-defined Fibonacci multipliers to generate both upper and lower bands. Users have control over the smoothing method for both the high/low prices and the bands themselves, allowing for an adaptive experience that can be tailored to different timeframes or market conditions.
For visualization, areas between the upper and lower bands are filled with distinct colors, providing an intuitive view of the potential price zones where the market might react or consolidate.
These fills highlight the zones created by the Fibonacci bands, helping users identify critical market levels with ease.
have fun
p.s.: @frankchef hope that suits your needs & expectations ;-)
Trend Following Regression CloudTrend Following Regression Cloud Indicator
The Trend Following Regression Cloud is a versatile trading tool designed to help you effortlessly identify the market's prevailing trend. By analyzing price movements over multiple time frames, it provides a clear visual representation of whether the market is trending upwards or downwards.
How It Works:
- Adaptive Analysis: The indicator calculates linear regression lines over various periods ranging from short-term to long-term (e.g., 10, 20, 50, up to 500 periods). This means it adapts quickly to recent market changes, capturing new trends as they develop.
- Noise Reduction: By comparing and weighting the slopes of these regression lines, it filters out insignificant price fluctuations (market noise). This ensures that the signals you receive are more reliable and less prone to false alarms.
- Cloud Calculation: The cloud is generated by first calculating the slopes of multiple linear regression lines over different lengths. The differences between the slopes of shorter-term and longer-term regressions are then computed and weighted by their respective lengths. By summing up these weighted differences, the indicator produces a "total distance" value. This value is applied to a baseline (such as a 100-period simple moving average) to create the cloud line. The area between the baseline and the cloud line is filled, and its color changes based on whether the total distance is positive or negative, providing a visual cue of the market's trend direction.
- Visual Representation: The indicator plots two lines—a base line and a cloud line—creating a shaded area (the "cloud") between them. The color of this cloud changes based on market conditions:
- Green Cloud: Indicates that short-term trends are stronger than long-term trends, suggesting an upward market movement. This could be a good time to consider buying.
- Red Cloud: Signifies that the market may be trending downwards, as long-term trends overpower short-term ones. This could be an opportune moment to consider selling.
Session Range Breakouts With Targets [AlgoAlpha]⛓️💥Session Range Breakouts With Targets 🚀
Introducing the "Session Range Breakouts With Targets" indicator by AlgoAlpha, a powerful tool for traders to capitalize on session-based range breakouts and identify precise target zones using ATR-based calculations! Whether you trade the Asian, American, European, or Oceanic sessions, this script highlights key breakout levels and targets that adapt to market volatility, ensuring you're always prepared for those crucial price movements. 🕒📊
Session-based Trading : The indicator highlights session-specific ranges, offering clear breakouts for Asian, American, European, Oceanic, and even custom sessions 🌍.
Adaptive Volatility Zones : Uses ATR to determine dynamic zone widths, filtering out fakeouts and adjusting to market conditions ⚡.
Precise Take-Profit Targets : Set multiple levels of take-profits based on ATR multipliers, ensuring you can manage both aggressive and conservative trades 🎯.
Customizable Appearance : Tailor the look with customizable colors for session highlights and breakout zones to fit your chart style 🎨.
Alerts on Key Events : Built-in alert conditions for breakouts and take-profit hits, so you never miss a trading opportunity 🔔.
🚀 Quick Guide to Using the Indicator
🛠 Add the Indicator : Add the indicator to favorites by pressing the star icon. Choose your session (Asia, America, Europe, Oceana, or Custom) and adjust the ATR length, zone width multiplier, and target multipliers to suit your strategy.
📊 Analyze Breakouts : Watch for the indicator to plot upper and lower range boxes based on session highs and lows. Price breaking through these boxes will signal a potential entry.
📈 Monitor Targets : Track bullish and bearish targets as price moves, with up to three take-profit levels based on ATR multipliers.
🔔 Set Alerts : Enable alerts for session breakouts or when price hits your designated take-profit targets.
🔍 How It Works
This script operates by identifying session-specific ranges based on highs and lows from the beginning of the selected session (Asia, America, Europe, or others). After a user-defined wait period (default: 120 bars), it calculates the highest and lowest points and creates upper and lower zones using the Average True Range (ATR) to adapt to market volatility. If the price breaks above or below these zones, it is identified as a breakout, and the script dynamically calculates up to three take-profit targets for both bullish and bearish scenarios using an ATR multiplier. The indicator also includes alerts for breakouts and take-profit hits, providing real-time trading signals.
Gann Square of 9Understanding the Gann Square of 9
Delve into the fascinating realm of W.D. Gann’s Square of 9, a tool that has intrigued traders for generations. As we explore the insights behind this unique structure, we’ll show you how our Gann Square of 9 Indicator can become a valuable asset in your trading toolkit.
The History of the Gann Square of 9
The story behind the Gann Square of 9 is as fascinating as the man who created it. W.D. Gann, a pioneering trader from the early 20th century, introduced a method that highlighted the connection between time and price. Rooted in ancient mathematics and geometry, Gann’s theory suggests that financial markets follow cyclical patterns, which are captured in the design of the Square of 9.
Core Principles of the Gann Square of 9
At its heart, the Gann Square of 9 is based on a numerical system that spirals outward from a central point. This unique arrangement allows traders to identify potential support and resistance levels in the market. Each number represents a possible pivot point, indicating shifts in market direction, aligned with Gann’s time-price equilibrium theory.
Applying the Gann Square in Market Analysis
The strength of the Gann Square of 9 lies in its ability to predict key moments in the market where significant price movements may occur. By utilizing our Gann Square of 9 Indicator, traders can easily pinpoint these crucial points, applying Gann’s principles to anticipate both market highs and lows. This section will guide you through practical applications of the Gann Square for making both short-term and long-term trading decisions.
Market Timing with the Gann Square of 9 Indicator
Unlock the potential of market timing and price prediction using our Gann Square of 9 Indicator. This versatile tool brings Gann’s trading insights into the modern world of finance. Here, you’ll find a detailed walkthrough on how to use the indicator to enhance your trading strategies.
Step-by-Step Guide
Input the Source Price: Open, High, Low, Close on specific Timeframe.
Set the Pip Value: Adjust the pip value according to the scale of your trades. The pip value helps define the precision of the price levels the calculator will generate.
Analyze Results: The generated grid displays a central value (your input price) surrounded by numbers representing possible support and resistance levels.
Use the Support and Resistance Levels: Below the grid, you’ll find specific support and resistance points. These are key price levels that can help you plan your trading strategy, such as entry or exit points.
Apply Gann's Trading Entries: At the bottom, suggested long and short trade entries, with targets and stop-loss levels, giving you essential tools for managing risk effectively.
By following these steps, you can effectively incorporate Gann’s time-tested techniques into modern market analysis. Our Gann Square of 9 Indicator simplifies complex calculations while offering powerful insights, helping you make informed trading decisions rooted in one of market analysis’s most influential theories.
Whether you’re new to Gann’s approach or a seasoned trader, this indicator is designed to provide valuable insights aligned with Gann’s original concepts while delivering a seamless user experience for today’s traders. With just a few clicks, you can transform market data into a geometric pattern of time and price, setting the stage for strategic trading based on the cyclical nature of financial markets.
Linear Regression ChannelLinear Regression Channel Indicator
Overview:
The Linear Regression Channel Indicator is a versatile tool designed for TradingView to help traders visualize price trends and potential reversal points. By calculating and plotting linear regression channels, bands, and future projections, this indicator provides comprehensive insights into market dynamics. It can highlight overbought and oversold conditions, identify trend direction, and offer visual cues for future price movements.
Key Features:
Linear Regression Bands:
Input: Plot Linear Regression Bands
Description: Draws bands based on linear regression calculations, representing overbought and oversold levels.
Customizable Parameters:
Length: Defines the look-back period for the regression calculation.
Deviation: Determines the width of the bands based on standard deviations.
Linear Regression Channel:
Input: Plot Linear Regression Channel
Description: Plots a channel using linear regression to visualize the main trend.
Customizable Parameters:
Channel Length: Defines the look-back period for the channel calculation.
Deviation: Determines the channel's width.
Future Projection Channel:
Input: Plot Future Projection of Linear Regression
Description: Projects a linear regression channel into the future, aiding in forecasting potential price movements.
Customizable Parameters:
Length: Defines the look-back period for the projection calculation.
Deviation: Determines the width of the projected channel.
Arrow Direction Indicator:
Input: Plot Arrow Direction
Description: Displays directional arrows based on future projection, indicating expected price movement direction.
Color-Coded Price Bars:
Description: Colors the price bars based on their position within the regression bands or channel, providing a heatmap-like visualization.
Dynamic Visualization:
Colors: Uses a gradient color scheme to highlight different conditions, such as uptrend, downtrend, and mid-levels.
Labels and Markers: Plots visual markers for significant price levels and conditions, enhancing interpretability.
Usage Notes
Setting the Length:
Adjust the look-back period (Length) to suit the timeframe you are analyzing. Shorter lengths are responsive to recent price changes, while longer lengths provide a broader view of the trend.
Interpreting Bands and Channels:
The bands and channels help identify overbought and oversold conditions. Price moving above the upper band or channel suggests overbought conditions, while moving below the lower band or channel indicates oversold conditions.
Using the Future Projection:
Enable the future projection channel to anticipate potential price movements. This can be particularly useful for setting target prices or stop-loss levels based on expected trends.
Arrow Direction Indicator:
Use the arrow direction indicator to quickly grasp the expected price movement direction. An upward arrow indicates a potential uptrend, while a downward arrow suggests a potential downtrend.
Color-Coded Price Bars:
The color of the price bars changes based on their relative position within the regression bands or channel. This heatmap visualization helps quickly identify bullish, bearish, and neutral conditions.
Dynamic Adjustments:
The indicator dynamically adjusts its visual elements based on user settings and market conditions, ensuring that the most relevant information is always displayed.
Visual Alerts:
Pay attention to the labels and markers on the chart indicating significant events, such as crossovers and breakouts. These visual alerts help in making informed trading decisions.
The Linear Regression Channel Indicator is a powerful tool for traders looking to enhance their technical analysis. By offering multiple regression-based visualizations and customizable parameters, it helps identify key market conditions, trends, and potential reversal points. Whether you are a day trader or a long-term investor, this indicator can provide valuable insights to improve your trading strategy.
Premium & Discount Delta Volume [BigBeluga]Premium & Discount Delta Volume is an advanced volume-based tool that helps traders identify zones of market imbalances by using the concepts of premium and discount pricing, commonly taught by ICT trader. It calculates and highlights periods where the market is trading at a premium (selling pressure is stronger) or a discount (buying pressure is stronger) and dynamically plots these zones over time. The indicator also calculates delta volume between buying and selling within these zones, showing shifts in market sentiment and potential areas for reversals or continuations.
🔵 IDEA
The Premium & Discount Delta Volume indicator is rooted in the ICT (Inner Circle Trader) concept of premium and discount zones. This concept divides the price action into two key zones:
Premium Zone : This area is where the market is trading at a level where sellers dominate, leading to more selling pressure. The idea is that the price is overvalued, and a potential drop could occur as the market reverts to a balanced state.
Discount Zone : This area is where the market is undervalued, with buyers dominating and applying upward pressure. Prices in this area often indicate opportunities to buy into strength as the market moves back to equilibrium.
At the core of the indicator is the delta volume, which measures the difference between buying and selling pressure within the premium and discount zones. When the delta volume is negative, it signals a downtrend with more selling pressure, while a positive delta volume signals an uptrend with more buying pressure. These zones and their associated delta values update dynamically, providing traders with real-time insights into market strength and potential price reversals.
The equilibrium in the middle of the premium and discount zones represents the balance point between buyers and sellers. When price moves away from equilibrium, it either enters the premium zone (potentially overbought) or the discount zone (potentially oversold), helping traders make more informed decisions based on volume and price structure.
🔵 KEY FEATURES & USAGE
Premium & Discount Zones:
The indicator automatically identifies and plots premium and discount zones on the chart. Premium zones count only negative (selling) volume, while discount zones count only positive (buying) volume. These zones are key areas of interest for identifying potential price reversals or continuations based on volume pressure.
Dynamic Delta Volume Calculation:
The indicator calculates delta volume between the premium and discount zones, showing the imbalance between buyers and sellers. A positive delta volume inside the discount zone suggests strong buying pressure, while a negative delta inside the premium zone suggests strong selling pressure. This helps traders quickly identify trends or market exhaustion.
Up Trend:
Down Trend:
Real-time Updates & Equilibrium Line:
The zones update dynamically every 100 bars or after price crosses them, ensuring that traders always have the most relevant market data. The equilibrium line in the middle of the zones helps traders gauge whether the market is balanced or moving into overbought (premium) or oversold (discount) territory.
Macro and Local Period Calculations:
The indicator allows traders to customize two different periods for analysis: a smaller lookback period (e.g., 50 bars) for short-term price action and a macro period (e.g., 200 bars) for larger trends. Each period has its own premium and discount zones, allowing for a multi-timeframe view of market strength.
Macro:
Both:
Color-coded background for Volume Pressure:
The background color of the smaller period premium and discount box changes based on delta volume. A positive delta turns the background blue, indicating higher buy pressure, while a negative delta turns the background red, signaling higher sell pressure.
🔵 CUSTOMIZATION
Toggle Premium & Discount: Traders can choose to display support and resistance levels based on the high and low points of the premium and discount zones.
Premium & Discount Lookback Period: Traders can adjust the lookback period to define the length of price action to be analyzed for premium and discount zones. A shorter period focuses on more recent market activity, while a longer period provides a broader view of trends.
Macro Highs/Lows Period: The indicator also offers a macro lookback period for identifying larger market trends and key levels of buying or selling volume.
Toggle Macro Levels: Macro levels help identify long-term price extremes, and traders can toggle this feature on or off as needed.
Standard Deviation-Based Fibonacci Band by zdmre This indicator is designed to better understand market dynamics by focusing on standard deviation and the Fibonacci sequence. This indicator includes the following components to assist investors in analyzing price movements:
Weighted Moving Average (WMA) : The indicator creates a central band by utilizing the weighted moving average of standard deviation. WMA provides a more current and accurate representation by giving greater weight to recent prices. This central band offers insights into the general trend of the market, helping to identify potential buying and selling opportunities.
Fibonacci Bands : The Fibonacci bands located above and below the central band illustrate potential support and resistance levels for prices. These bands enable investors to pinpoint areas where the price may exhibit indecisiveness. When prices move within these bands, it may be challenging for investors to discern the market's preferred direction.
Indecisiveness Representation : When prices fluctuate between the Fibonacci bands, they may reflect a state of indecisiveness. This condition is critical for identifying potential reversal points and trend changes. Investors can evaluate these periods of indecisiveness to develop suitable buying and selling strategies.
This indicator is designed to assist investors in better analyzing market trends and supporting their decision-making processes. The integration of standard deviation and the Fibonacci sequence offers a new perspective on understanding market movements.
#DYOR
Universal Ratio Trend Matrix [InvestorUnknown]The Universal Ratio Trend Matrix is designed for trend analysis on asset/asset ratios, supporting up to 40 different assets. Its primary purpose is to help identify which assets are outperforming others within a selection, providing a broad overview of market trends through a matrix of ratios. The indicator automatically expands the matrix based on the number of assets chosen, simplifying the process of comparing multiple assets in terms of performance.
Key features include the ability to choose from a narrow selection of indicators to perform the ratio trend analysis, allowing users to apply well-defined metrics to their comparison.
Drawback: Due to the computational intensity involved in calculating ratios across many assets, the indicator has a limitation related to loading speed. TradingView has time limits for calculations, and for users on the basic (free) plan, this could result in frequent errors due to exceeded time limits. To use the indicator effectively, users with any paid plans should run it on timeframes higher than 8h (the lowest timeframe on which it managed to load with 40 assets), as lower timeframes may not reliably load.
Indicators:
RSI_raw: Simple function to calculate the Relative Strength Index (RSI) of a source (asset price).
RSI_sma: Calculates RSI followed by a Simple Moving Average (SMA).
RSI_ema: Calculates RSI followed by an Exponential Moving Average (EMA).
CCI: Calculates the Commodity Channel Index (CCI).
Fisher: Implements the Fisher Transform to normalize prices.
Utility Functions:
f_remove_exchange_name: Strips the exchange name from asset tickers (e.g., "INDEX:BTCUSD" to "BTCUSD").
f_remove_exchange_name(simple string name) =>
string parts = str.split(name, ":")
string result = array.size(parts) > 1 ? array.get(parts, 1) : name
result
f_get_price: Retrieves the closing price of a given asset ticker using request.security().
f_constant_src: Checks if the source data is constant by comparing multiple consecutive values.
Inputs:
General settings allow users to select the number of tickers for analysis (used_assets) and choose the trend indicator (RSI, CCI, Fisher, etc.).
Table settings customize how trend scores are displayed in terms of text size, header visibility, highlighting options, and top-performing asset identification.
The script includes inputs for up to 40 assets, allowing the user to select various cryptocurrencies (e.g., BTCUSD, ETHUSD, SOLUSD) or other assets for trend analysis.
Price Arrays:
Price values for each asset are stored in variables (price_a1 to price_a40) initialized as na. These prices are updated only for the number of assets specified by the user (used_assets).
Trend scores for each asset are stored in separate arrays
// declare price variables as "na"
var float price_a1 = na, var float price_a2 = na, var float price_a3 = na, var float price_a4 = na, var float price_a5 = na
var float price_a6 = na, var float price_a7 = na, var float price_a8 = na, var float price_a9 = na, var float price_a10 = na
var float price_a11 = na, var float price_a12 = na, var float price_a13 = na, var float price_a14 = na, var float price_a15 = na
var float price_a16 = na, var float price_a17 = na, var float price_a18 = na, var float price_a19 = na, var float price_a20 = na
var float price_a21 = na, var float price_a22 = na, var float price_a23 = na, var float price_a24 = na, var float price_a25 = na
var float price_a26 = na, var float price_a27 = na, var float price_a28 = na, var float price_a29 = na, var float price_a30 = na
var float price_a31 = na, var float price_a32 = na, var float price_a33 = na, var float price_a34 = na, var float price_a35 = na
var float price_a36 = na, var float price_a37 = na, var float price_a38 = na, var float price_a39 = na, var float price_a40 = na
// create "empty" arrays to store trend scores
var a1_array = array.new_int(40, 0), var a2_array = array.new_int(40, 0), var a3_array = array.new_int(40, 0), var a4_array = array.new_int(40, 0)
var a5_array = array.new_int(40, 0), var a6_array = array.new_int(40, 0), var a7_array = array.new_int(40, 0), var a8_array = array.new_int(40, 0)
var a9_array = array.new_int(40, 0), var a10_array = array.new_int(40, 0), var a11_array = array.new_int(40, 0), var a12_array = array.new_int(40, 0)
var a13_array = array.new_int(40, 0), var a14_array = array.new_int(40, 0), var a15_array = array.new_int(40, 0), var a16_array = array.new_int(40, 0)
var a17_array = array.new_int(40, 0), var a18_array = array.new_int(40, 0), var a19_array = array.new_int(40, 0), var a20_array = array.new_int(40, 0)
var a21_array = array.new_int(40, 0), var a22_array = array.new_int(40, 0), var a23_array = array.new_int(40, 0), var a24_array = array.new_int(40, 0)
var a25_array = array.new_int(40, 0), var a26_array = array.new_int(40, 0), var a27_array = array.new_int(40, 0), var a28_array = array.new_int(40, 0)
var a29_array = array.new_int(40, 0), var a30_array = array.new_int(40, 0), var a31_array = array.new_int(40, 0), var a32_array = array.new_int(40, 0)
var a33_array = array.new_int(40, 0), var a34_array = array.new_int(40, 0), var a35_array = array.new_int(40, 0), var a36_array = array.new_int(40, 0)
var a37_array = array.new_int(40, 0), var a38_array = array.new_int(40, 0), var a39_array = array.new_int(40, 0), var a40_array = array.new_int(40, 0)
f_get_price(simple string ticker) =>
request.security(ticker, "", close)
// Prices for each USED asset
f_get_asset_price(asset_number, ticker) =>
if (used_assets >= asset_number)
f_get_price(ticker)
else
na
// overwrite empty variables with the prices if "used_assets" is greater or equal to the asset number
if barstate.isconfirmed // use barstate.isconfirmed to avoid "na prices" and calculation errors that result in empty cells in the table
price_a1 := f_get_asset_price(1, asset1), price_a2 := f_get_asset_price(2, asset2), price_a3 := f_get_asset_price(3, asset3), price_a4 := f_get_asset_price(4, asset4)
price_a5 := f_get_asset_price(5, asset5), price_a6 := f_get_asset_price(6, asset6), price_a7 := f_get_asset_price(7, asset7), price_a8 := f_get_asset_price(8, asset8)
price_a9 := f_get_asset_price(9, asset9), price_a10 := f_get_asset_price(10, asset10), price_a11 := f_get_asset_price(11, asset11), price_a12 := f_get_asset_price(12, asset12)
price_a13 := f_get_asset_price(13, asset13), price_a14 := f_get_asset_price(14, asset14), price_a15 := f_get_asset_price(15, asset15), price_a16 := f_get_asset_price(16, asset16)
price_a17 := f_get_asset_price(17, asset17), price_a18 := f_get_asset_price(18, asset18), price_a19 := f_get_asset_price(19, asset19), price_a20 := f_get_asset_price(20, asset20)
price_a21 := f_get_asset_price(21, asset21), price_a22 := f_get_asset_price(22, asset22), price_a23 := f_get_asset_price(23, asset23), price_a24 := f_get_asset_price(24, asset24)
price_a25 := f_get_asset_price(25, asset25), price_a26 := f_get_asset_price(26, asset26), price_a27 := f_get_asset_price(27, asset27), price_a28 := f_get_asset_price(28, asset28)
price_a29 := f_get_asset_price(29, asset29), price_a30 := f_get_asset_price(30, asset30), price_a31 := f_get_asset_price(31, asset31), price_a32 := f_get_asset_price(32, asset32)
price_a33 := f_get_asset_price(33, asset33), price_a34 := f_get_asset_price(34, asset34), price_a35 := f_get_asset_price(35, asset35), price_a36 := f_get_asset_price(36, asset36)
price_a37 := f_get_asset_price(37, asset37), price_a38 := f_get_asset_price(38, asset38), price_a39 := f_get_asset_price(39, asset39), price_a40 := f_get_asset_price(40, asset40)
Universal Indicator Calculation (f_calc_score):
This function allows switching between different trend indicators (RSI, CCI, Fisher) for flexibility.
It uses a switch-case structure to calculate the indicator score, where a positive trend is denoted by 1 and a negative trend by 0. Each indicator has its own logic to determine whether the asset is trending up or down.
// use switch to allow "universality" in indicator selection
f_calc_score(source, trend_indicator, int_1, int_2) =>
int score = na
if (not f_constant_src(source)) and source > 0.0 // Skip if you are using the same assets for ratio (for example BTC/BTC)
x = switch trend_indicator
"RSI (Raw)" => RSI_raw(source, int_1)
"RSI (SMA)" => RSI_sma(source, int_1, int_2)
"RSI (EMA)" => RSI_ema(source, int_1, int_2)
"CCI" => CCI(source, int_1)
"Fisher" => Fisher(source, int_1)
y = switch trend_indicator
"RSI (Raw)" => x > 50 ? 1 : 0
"RSI (SMA)" => x > 50 ? 1 : 0
"RSI (EMA)" => x > 50 ? 1 : 0
"CCI" => x > 0 ? 1 : 0
"Fisher" => x > x ? 1 : 0
score := y
else
score := 0
score
Array Setting Function (f_array_set):
This function populates an array with scores calculated for each asset based on a base price (p_base) divided by the prices of the individual assets.
It processes multiple assets (up to 40), calling the f_calc_score function for each.
// function to set values into the arrays
f_array_set(a_array, p_base) =>
array.set(a_array, 0, f_calc_score(p_base / price_a1, trend_indicator, int_1, int_2))
array.set(a_array, 1, f_calc_score(p_base / price_a2, trend_indicator, int_1, int_2))
array.set(a_array, 2, f_calc_score(p_base / price_a3, trend_indicator, int_1, int_2))
array.set(a_array, 3, f_calc_score(p_base / price_a4, trend_indicator, int_1, int_2))
array.set(a_array, 4, f_calc_score(p_base / price_a5, trend_indicator, int_1, int_2))
array.set(a_array, 5, f_calc_score(p_base / price_a6, trend_indicator, int_1, int_2))
array.set(a_array, 6, f_calc_score(p_base / price_a7, trend_indicator, int_1, int_2))
array.set(a_array, 7, f_calc_score(p_base / price_a8, trend_indicator, int_1, int_2))
array.set(a_array, 8, f_calc_score(p_base / price_a9, trend_indicator, int_1, int_2))
array.set(a_array, 9, f_calc_score(p_base / price_a10, trend_indicator, int_1, int_2))
array.set(a_array, 10, f_calc_score(p_base / price_a11, trend_indicator, int_1, int_2))
array.set(a_array, 11, f_calc_score(p_base / price_a12, trend_indicator, int_1, int_2))
array.set(a_array, 12, f_calc_score(p_base / price_a13, trend_indicator, int_1, int_2))
array.set(a_array, 13, f_calc_score(p_base / price_a14, trend_indicator, int_1, int_2))
array.set(a_array, 14, f_calc_score(p_base / price_a15, trend_indicator, int_1, int_2))
array.set(a_array, 15, f_calc_score(p_base / price_a16, trend_indicator, int_1, int_2))
array.set(a_array, 16, f_calc_score(p_base / price_a17, trend_indicator, int_1, int_2))
array.set(a_array, 17, f_calc_score(p_base / price_a18, trend_indicator, int_1, int_2))
array.set(a_array, 18, f_calc_score(p_base / price_a19, trend_indicator, int_1, int_2))
array.set(a_array, 19, f_calc_score(p_base / price_a20, trend_indicator, int_1, int_2))
array.set(a_array, 20, f_calc_score(p_base / price_a21, trend_indicator, int_1, int_2))
array.set(a_array, 21, f_calc_score(p_base / price_a22, trend_indicator, int_1, int_2))
array.set(a_array, 22, f_calc_score(p_base / price_a23, trend_indicator, int_1, int_2))
array.set(a_array, 23, f_calc_score(p_base / price_a24, trend_indicator, int_1, int_2))
array.set(a_array, 24, f_calc_score(p_base / price_a25, trend_indicator, int_1, int_2))
array.set(a_array, 25, f_calc_score(p_base / price_a26, trend_indicator, int_1, int_2))
array.set(a_array, 26, f_calc_score(p_base / price_a27, trend_indicator, int_1, int_2))
array.set(a_array, 27, f_calc_score(p_base / price_a28, trend_indicator, int_1, int_2))
array.set(a_array, 28, f_calc_score(p_base / price_a29, trend_indicator, int_1, int_2))
array.set(a_array, 29, f_calc_score(p_base / price_a30, trend_indicator, int_1, int_2))
array.set(a_array, 30, f_calc_score(p_base / price_a31, trend_indicator, int_1, int_2))
array.set(a_array, 31, f_calc_score(p_base / price_a32, trend_indicator, int_1, int_2))
array.set(a_array, 32, f_calc_score(p_base / price_a33, trend_indicator, int_1, int_2))
array.set(a_array, 33, f_calc_score(p_base / price_a34, trend_indicator, int_1, int_2))
array.set(a_array, 34, f_calc_score(p_base / price_a35, trend_indicator, int_1, int_2))
array.set(a_array, 35, f_calc_score(p_base / price_a36, trend_indicator, int_1, int_2))
array.set(a_array, 36, f_calc_score(p_base / price_a37, trend_indicator, int_1, int_2))
array.set(a_array, 37, f_calc_score(p_base / price_a38, trend_indicator, int_1, int_2))
array.set(a_array, 38, f_calc_score(p_base / price_a39, trend_indicator, int_1, int_2))
array.set(a_array, 39, f_calc_score(p_base / price_a40, trend_indicator, int_1, int_2))
a_array
Conditional Array Setting (f_arrayset):
This function checks if the number of used assets is greater than or equal to a specified number before populating the arrays.
// only set values into arrays for USED assets
f_arrayset(asset_number, a_array, p_base) =>
if (used_assets >= asset_number)
f_array_set(a_array, p_base)
else
na
Main Logic
The main logic initializes arrays to store scores for each asset. Each array corresponds to one asset's performance score.
Setting Trend Values: The code calls f_arrayset for each asset, populating the respective arrays with calculated scores based on the asset prices.
Combining Arrays: A combined_array is created to hold all the scores from individual asset arrays. This array facilitates further analysis, allowing for an overview of the performance scores of all assets at once.
// create a combined array (work-around since pinescript doesn't support having array of arrays)
var combined_array = array.new_int(40 * 40, 0)
if barstate.islast
for i = 0 to 39
array.set(combined_array, i, array.get(a1_array, i))
array.set(combined_array, i + (40 * 1), array.get(a2_array, i))
array.set(combined_array, i + (40 * 2), array.get(a3_array, i))
array.set(combined_array, i + (40 * 3), array.get(a4_array, i))
array.set(combined_array, i + (40 * 4), array.get(a5_array, i))
array.set(combined_array, i + (40 * 5), array.get(a6_array, i))
array.set(combined_array, i + (40 * 6), array.get(a7_array, i))
array.set(combined_array, i + (40 * 7), array.get(a8_array, i))
array.set(combined_array, i + (40 * 8), array.get(a9_array, i))
array.set(combined_array, i + (40 * 9), array.get(a10_array, i))
array.set(combined_array, i + (40 * 10), array.get(a11_array, i))
array.set(combined_array, i + (40 * 11), array.get(a12_array, i))
array.set(combined_array, i + (40 * 12), array.get(a13_array, i))
array.set(combined_array, i + (40 * 13), array.get(a14_array, i))
array.set(combined_array, i + (40 * 14), array.get(a15_array, i))
array.set(combined_array, i + (40 * 15), array.get(a16_array, i))
array.set(combined_array, i + (40 * 16), array.get(a17_array, i))
array.set(combined_array, i + (40 * 17), array.get(a18_array, i))
array.set(combined_array, i + (40 * 18), array.get(a19_array, i))
array.set(combined_array, i + (40 * 19), array.get(a20_array, i))
array.set(combined_array, i + (40 * 20), array.get(a21_array, i))
array.set(combined_array, i + (40 * 21), array.get(a22_array, i))
array.set(combined_array, i + (40 * 22), array.get(a23_array, i))
array.set(combined_array, i + (40 * 23), array.get(a24_array, i))
array.set(combined_array, i + (40 * 24), array.get(a25_array, i))
array.set(combined_array, i + (40 * 25), array.get(a26_array, i))
array.set(combined_array, i + (40 * 26), array.get(a27_array, i))
array.set(combined_array, i + (40 * 27), array.get(a28_array, i))
array.set(combined_array, i + (40 * 28), array.get(a29_array, i))
array.set(combined_array, i + (40 * 29), array.get(a30_array, i))
array.set(combined_array, i + (40 * 30), array.get(a31_array, i))
array.set(combined_array, i + (40 * 31), array.get(a32_array, i))
array.set(combined_array, i + (40 * 32), array.get(a33_array, i))
array.set(combined_array, i + (40 * 33), array.get(a34_array, i))
array.set(combined_array, i + (40 * 34), array.get(a35_array, i))
array.set(combined_array, i + (40 * 35), array.get(a36_array, i))
array.set(combined_array, i + (40 * 36), array.get(a37_array, i))
array.set(combined_array, i + (40 * 37), array.get(a38_array, i))
array.set(combined_array, i + (40 * 38), array.get(a39_array, i))
array.set(combined_array, i + (40 * 39), array.get(a40_array, i))
Calculating Sums: A separate array_sums is created to store the total score for each asset by summing the values of their respective score arrays. This allows for easy comparison of overall performance.
Ranking Assets: The final part of the code ranks the assets based on their total scores stored in array_sums. It assigns a rank to each asset, where the asset with the highest score receives the highest rank.
// create array for asset RANK based on array.sum
var ranks = array.new_int(used_assets, 0)
// for loop that calculates the rank of each asset
if barstate.islast
for i = 0 to (used_assets - 1)
int rank = 1
for x = 0 to (used_assets - 1)
if i != x
if array.get(array_sums, i) < array.get(array_sums, x)
rank := rank + 1
array.set(ranks, i, rank)
Dynamic Table Creation
Initialization: The table is initialized with a base structure that includes headers for asset names, scores, and ranks. The headers are set to remain constant, ensuring clarity for users as they interpret the displayed data.
Data Population: As scores are calculated for each asset, the corresponding values are dynamically inserted into the table. This is achieved through a loop that iterates over the scores and ranks stored in the combined_array and array_sums, respectively.
Automatic Extending Mechanism
Variable Asset Count: The code checks the number of assets defined by the user. Instead of hardcoding the number of rows in the table, it uses a variable to determine the extent of the data that needs to be displayed. This allows the table to expand or contract based on the number of assets being analyzed.
Dynamic Row Generation: Within the loop that populates the table, the code appends new rows for each asset based on the current asset count. The structure of each row includes the asset name, its score, and its rank, ensuring that the table remains consistent regardless of how many assets are involved.
// Automatically extending table based on the number of used assets
var table table = table.new(position.bottom_center, 50, 50, color.new(color.black, 100), color.white, 3, color.white, 1)
if barstate.islast
if not hide_head
table.cell(table, 0, 0, "Universal Ratio Trend Matrix", text_color = color.white, bgcolor = #010c3b, text_size = fontSize)
table.merge_cells(table, 0, 0, used_assets + 3, 0)
if not hide_inps
table.cell(table, 0, 1,
text = "Inputs: You are using " + str.tostring(trend_indicator) + ", which takes: " + str.tostring(f_get_input(trend_indicator)),
text_color = color.white, text_size = fontSize), table.merge_cells(table, 0, 1, used_assets + 3, 1)
table.cell(table, 0, 2, "Assets", text_color = color.white, text_size = fontSize, bgcolor = #010c3b)
for x = 0 to (used_assets - 1)
table.cell(table, x + 1, 2, text = str.tostring(array.get(assets, x)), text_color = color.white, bgcolor = #010c3b, text_size = fontSize)
table.cell(table, 0, x + 3, text = str.tostring(array.get(assets, x)), text_color = color.white, bgcolor = f_asset_col(array.get(ranks, x)), text_size = fontSize)
for r = 0 to (used_assets - 1)
for c = 0 to (used_assets - 1)
table.cell(table, c + 1, r + 3, text = str.tostring(array.get(combined_array, c + (r * 40))),
text_color = hl_type == "Text" ? f_get_col(array.get(combined_array, c + (r * 40))) : color.white, text_size = fontSize,
bgcolor = hl_type == "Background" ? f_get_col(array.get(combined_array, c + (r * 40))) : na)
for x = 0 to (used_assets - 1)
table.cell(table, x + 1, x + 3, "", bgcolor = #010c3b)
table.cell(table, used_assets + 1, 2, "", bgcolor = #010c3b)
for x = 0 to (used_assets - 1)
table.cell(table, used_assets + 1, x + 3, "==>", text_color = color.white)
table.cell(table, used_assets + 2, 2, "SUM", text_color = color.white, text_size = fontSize, bgcolor = #010c3b)
table.cell(table, used_assets + 3, 2, "RANK", text_color = color.white, text_size = fontSize, bgcolor = #010c3b)
for x = 0 to (used_assets - 1)
table.cell(table, used_assets + 2, x + 3,
text = str.tostring(array.get(array_sums, x)),
text_color = color.white, text_size = fontSize,
bgcolor = f_highlight_sum(array.get(array_sums, x), array.get(ranks, x)))
table.cell(table, used_assets + 3, x + 3,
text = str.tostring(array.get(ranks, x)),
text_color = color.white, text_size = fontSize,
bgcolor = f_highlight_rank(array.get(ranks, x)))
Futures Daily Settlement PricesDaily settlement prices reflect the fair market value of the underlying commodity or financial instrument, as determined by buyers and sellers during the settlement period or “close”. The price quoted in the evening news for items like a bush of corn, a barrel of crude oil, or a 10-year U.S. Treasury note frequently use the settlement price for the corresponding futures product that day.
Settlement prices are used to mark traders’ positions to market daily, determining profits or losses. Daily settlement prices play a key role in facilitating price discovery, risk management, and market integrity.
This indicator plots up to 30 settlement prices as well as the date of settlement on your chart, on time frames under 1 hour.
Customizable line types, colors, and label colors.
DWMA & Normalized DWMA St. Dev.The Distance Weighted Moving Average With Standard Deviations enhanced by Normalizing it (DWMA & NDWMA) is an advanced technical indicator designed to identify trends, potential breakouts, and reversals while accounting for market volatility. By combining a weighted approach to moving averages with dynamic standard deviations and a normalized component, this tool offers a robust framework for both short-term traders and long-term investors. It brings together several layers of trend analysis to provide clearer signals and minimize market noise.
1. DWMA (Distance Weighted Moving Average)
At its core, the DWMA assigns more weight to price points that are closer in value to the current price. Unlike traditional moving averages that focus on time-based proximity, DWMA highlights price similarity, making it more adaptive to sudden changes in the market. This helps to smooth out erratic price movements while staying responsive to meaningful shifts.
2. DWMA SD (Standard Deviation)
The DWMA SD measures how much the DWMA fluctuates from its mean over a specified period. By analyzing these fluctuations, the DWMA SD provides a volatility assessment of the DWMA itself, offering insights into the stability or turbulence of the current trend. This is a critical aspect for traders who want to gauge whether a trend is steady or losing momentum.
3. DWMA WSD (Weighted Standard Deviations)
The DWMA WSD introduces a volatility-based channel around the DWMA by multiplying the standard deviation with user-defined weights. This creates dynamic upper and lower bands, allowing traders to identify potential overbought and oversold conditions. When the price crosses these bands, it signals possible trend reversals or breakout opportunities, helping traders make more informed decisions on entry and exit points.
4. NDWMA (Normalized DWMA)
The Normalized DWMA takes the DWMA one step further by adjusting it relative to the current price level. This normalization ensures that the DWMA remains comparable across different price ranges, whether the asset’s price is high or low. This component is particularly useful for analyzing assets with volatile or widely varying price levels, as it makes trends easier to spot and interpret.
5. NDWMA SD (Standard Deviation)
The NDWMA SD works similarly to the DWMA SD, but it focuses on the volatility of the normalized DWMA. It reflects how much the normalized DWMA fluctuates around its average, providing an additional perspective on market conditions. Traders can use this to detect shifts in the strength of the trend and to anticipate potential changes in direction.
6. Signals
The Signals generated by this indicator combine insights from both the DWMA and NDWMA:
Long Signals (L) occur when the price moves above the DWMA’s upper band and the NDWMA confirms a positive trend. This suggests that the market is gaining momentum, making it a potential buy signal.
Short Signals (S) are triggered when the price falls below the DWMA’s lower band, and the NDWMA shows weakness. This indicates a possible bearish trend, signaling traders to consider selling or shorting.
These signals are designed to filter out false signals and provide more reliable trend confirmations by leveraging the combined power of both moving averages and their volatility bands.
The DWMA & NDWMA indicator provides a sophisticated approach to trend analysis by merging price-weighted moving averages with volatility bands and normalization. Its multi-layered structure offers a detailed perspective on price movements and trends, helping traders identify potential opportunities with greater accuracy.