BRT MACD CustomBRT MACD Custom — Adaptive and Flexible MACD for Multi-Timeframe Analysis
The BRT MACD Custom is an advanced version of the traditional MACD indicator, offering additional flexibility and adaptability for multi-timeframe trading. This custom script allows traders to adjust the calculation parameters for MACD to suit their specific trading strategy, timeframe, and market conditions.
Key Features
Multi-Timeframe Support
Unlike the standard MACD, this indicator lets you choose a specific timeframe (different from the chart timeframe) for calculating MACD values. This feature provides more flexibility in analyzing market trends on multiple timeframes without changing the main chart.
Example: You can analyze MACD on a 15-minute timeframe even when your chart is set to 1-minute, giving you broader market insights.
Customizable EMA and Signal Settings
Users can adjust the fast and slow EMA lengths as well as the signal smoothing to better align with their preferred trading strategies. The script allows switching between the two popular types of moving averages — SMA or EMA — for both the MACD and the signal line.
Volatility-Based Adaptive EMA
The script includes an adaptive mechanism for EMA calculation. When the selected timeframe closes, the indicator dynamically adjusts the calculation, ensuring the MACD values respond quickly to market volatility. This makes the indicator more reactive compared to static MACD implementations.
Shift Options for MACD, Signal, and Histogram
The indicator allows shifting the MACD, signal line, and histogram values by one or more bars. This can be useful for backtesting and simulating strategies where you anticipate future price movements.
Signal Alerts for Long and Short Trades
The script generates visual signals when certain conditions are met, indicating potential long or short trade opportunities. These signals are based on MACD and histogram crossovers:
Long Signal: Triggered when MACD is above the signal line and both are rising.
Short Signal: Triggered when MACD is below the signal line and both are falling.
Custom Plotting
The MACD line, signal line, and histogram are plotted on the chart for easy visualization. The histogram changes colors to reflect positive or negative momentum:
Green shades when MACD is above the signal line.
Red shades when MACD is below the signal line.
Applications in Trading
The BRT MACD Custom is ideal for traders who need flexibility in their technical analysis. Its multi-timeframe capabilities and customizable moving averages make it suitable for day trading, swing trading, and long-term investing across a variety of markets.
Scalping: Use the 1-minute or 5-minute timeframe to identify short-term trends while calculating MACD on a higher timeframe such as 15 or 30 minutes.
Swing Trading: Apply the indicator on 1-hour or 4-hour charts to detect mid-term trends.
Long-Term Investing: Analyze daily or weekly charts with longer EMA periods to confirm market direction before making large investments.
Indicators and strategies
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.
Consecutive Candle Detector Consecutive Candle Detector , can be used to highlight impulsive moves . 3 or more candles with the same colour in the same direction .
Set an alert notification to let you know price has moved in an impulsive way and is forming a pattern to sell or buy
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.
ATR Band, Stop loss , Take Profit Lines, and Pip Distance# ATR Band, Take Profit Lines, and Pip Distance Indicator
This indicator helps traders identify potential stop loss and take profit levels using Average True Range (ATR) bands and custom multipliers. It provides a visual representation of these levels and calculates the pip distance to stop loss, aiding in risk management and trade planning.
## Key Features:
- ATR-based upper and lower bands for potential stop loss levels
- Two take profit levels above and below the ATR bands
- Customizable ATR period and multipliers for bands and take profit levels
- Pip distance calculation to stop loss levels
- Adjustable colors for all elements
## How to Use:
1. The ATR bands (blue and red lines) suggest potential stop loss levels.
2. Take profit levels are shown as green lines above and below the ATR bands.
3. Labels display the pip distance from the current or last close to the stop loss levels.
## Customization:
- Adjust the ATR period and multipliers to fit your trading style
- Customize colors for better visibility on your chart
- Choose between current candle or last close for pip distance calculation
Remember, this indicator is for informational purposes only. Always manage your risk carefully and consider using it in conjunction with other analysis tools and your trading strategy.
Good luck with your trading!
See LTF Candles and VolumeThis indicator will show you the candles, wicks, and their volumes from a lower timeframe chart. You can also select a different symbol in inputs.
This indicator uses requests to receive data from different timeframe or symbols, and it simply draws boxes and lines from the requested data.
[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 ;-)
Advanced Marubozu DetectorAdvanced Marubozu Detector
This indicator identifies bullish and bearish Marubozu candles based on specific conditions:
Bullish Marubozu: Detected when the candle's body is completely green without upper or lower shadows, and it closes higher than the high of the previous candle.
Bearish Marubozu: Detected when the candle's body is completely red without upper or lower shadows, and it closes lower than the low of the previous candle.
The indicator plots a green arrow below the bullish Marubozu and a red arrow above the bearish Marubozu directly on the chart, making it easy to spot these patterns in any time frame.
Designed by : Morteza Bakhshi
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.
Cumulative Volume Delta Histogram [TradingFinder] CVD Histogram🔵 Introduction
To fully understand Cumulative Volume Delta (CVD), it’s important to start by explaining Volume Delta. In trading, "Delta" refers to the difference between two values or the rate of change between two data points. Volume Delta represents the difference between buying and selling pressure for each candlestick on a chart, and this difference can vary across different time frames.
A positive delta indicates that buying volume exceeds selling volume, while a negative delta shows that selling pressure is stronger. When buying and selling volumes are equal, the volume delta equals zero.
The Cumulative Volume Delta (CVD) indicator tracks the cumulative difference between buying and selling volumes over time, helping traders analyze market dynamics and identify reliable trading signals through CVD divergences.
🔵 How to Use
Cumulative Volume Delta (CVD) is an essential technical analysis tool that aggregates delta values for each candlestick, creating a comprehensive indicator. This helps traders evaluate overall buying and selling pressure over market swings.
Unlike standard Volume Delta, which compares the delta on a candle-by-candle basis, CVD provides a broader view of buying and selling pressure during market trends. A downward-trending CVD suggests that selling pressure is dominant, which is typically a bearish signal.
Conversely, an upward-trending CVD indicates bullish sentiment, suggesting buyers are in control. This analysis becomes even more valuable when compared with price action and market structure, helping traders predict the direction of asset prices.
🟣 How to Use CVD in Trend Analysis and Market Reversals
Understanding how to detect trend changes using Cumulative Volume Delta is crucial for traders. Typically, CVD aligns with market structure, moving in the same direction as price trends.
However, divergences between CVD and price movements or signs of volume exhaustion can be powerful indicators of potential market reversals. Recognizing these patterns helps traders make more informed decisions and improve their trading strategies.
🟣 How to Spot Trend Exhaustion with CVD
CVD is particularly effective for identifying trend exhaustion in the market. For instance, if an asset's price hits a new low, but CVD doesn’t follow, this might indicate a lack of seller interest, signaling potential exhaustion and a possible reversal.
Similarly, if an asset reaches a new high but CVD fails to follow, it can suggest that buyers lack the strength to push the market higher, indicating a possible reversal to the downside.
🟣 How to Use CVD Divergence in Price Trend Analysis
Another effective use of CVD is identifying divergences in price trends. For example, if CVD breaks a previous high or low while the price remains stable, this divergence may indicate that buying or selling pressure is being absorbed.
For instance, if CVD rises sharply without a corresponding increase in asset prices, it may suggest that sellers are absorbing the buying pressure, which could lead to a strong sell-off. Conversely, if prices remain stable while CVD declines, it may indicate that buyers are absorbing selling pressure, likely leading to a price increase once the selling subsides.
🟣 CVD Display, Candlestick vs. Histogram – What’s the Difference?
CVD can be displayed in two different formats :
Candlestick Display : In this format, the data is shown as green and red candlesticks, each representing the difference in buying and selling pressure over a given time period. This display allows traders to visually analyze market pressure along with price changes.
Histogram Display : Here, the data is represented as vertical green and red bars, where each bar’s height corresponds to the volume delta. This format offers a clearer view of the strengths and weaknesses in market buying and selling pressure.
🟣 What are the Key Settings for CVD?
Cumulative Mode : CVD offers three modes: "Total," "Periodic," and "EMA." In "Total" mode, CVD accumulates the delta from the beginning to the end of the session. In "Periodic" mode, it accumulates volume periodically, resetting at specific intervals. In "EMA" mode, the CVD is smoothed using an Exponential Moving Average (EMA) to filter out short-term fluctuations.
Period : The "Period" setting allows you to define the number of bars or intervals for "Periodic" and "EMA" modes. A shorter period captures more short-term movements, while a longer period smooths out the fluctuations and provides a broader view of market trends.
Market Ultra Data : This feature integrates data from 26 major brokers into the volume calculations, providing more reliable volume data. It’s important to specify the type of market you are analyzing (Forex, crypto, etc.) as different brokers contribute to different markets. Enabling this setting ensures the highest accuracy in volume analysis.
🔵 Conclusion
Cumulative Volume Delta (CVD) is a powerful technical indicator that helps traders assess buying and selling pressure by aggregating the delta values of each candlestick. Whether displayed as candlesticks or histograms, CVD provides insights into market trends, helping traders make informed decisions.
CVD is particularly useful in identifying divergences and exhaustion in market trends. For example, if CVD does not align with price movements, it can signal a potential trend reversal. Traders use this tool to fine-tune their entry and exit points and better predict future market movements.
In summary, CVD is a versatile tool for analyzing volume data and understanding the balance of buying and selling pressure in the market, making it an invaluable asset in any trader’s toolkit
Volume-Supported Linear Regression Trend TableThe "Volume-Supported Linear Regression Trend Table" (VSLRT Table) script helps traders identify buy and sell opportunities by analyzing price trends and volume dynamics across multiple timeframes. It uses linear regression to calculate the trend direction and volume strength, visually representing this data with color-coded signals on the chart and in a table. Green signals indicate buying opportunities, while red signals suggest selling, with volume acting as confirmation of trend strength. Traders can use these signals for both short and long positions, with additional risk management and multi-timeframe validation to enhance the strategy.
------------------------------------------------------------------------------
To use the "Volume-Supported Linear Regression Trend Table" (VSLRT Table) script in a trading strategy, you would incorporate it into your decision-making process to identify potential buy and sell opportunities based on the trend and volume dynamics. Here’s how you could apply it for trading:
1. Understanding the Key Elements:
Trend Direction (Slope of Price): The script uses linear regression to assess the trend direction of the price. If the price slope is positive, the asset is likely in an uptrend; if it's negative, the asset is in a downtrend.
Volume-Backed Signals: The buy or sell signal is not only based on the price trend but also on volume. Volume is crucial in validating the strength of a trend; large volume often indicates strong interest in a direction.
2. Interpreting the Table and Signals:
The table displayed at the bottom-right of your TradingView chart gives you a clear overview of the trends across different timeframes:
Trend Colors:
Green hues (e.g., ccol11, ccol12, etc.): Indicate a buying trend supported by volume.
Red hues (e.g., ccol21, ccol22, etc.): Indicate a selling trend supported by volume.
Gray: Indicates weak or unclear trends where no decisive direction is present.
Buy/Sell Signals:
The script plots triangles on the chart:
Upward triangle below the bar signals a potential buy.
Downward triangle above the bar signals a potential sell.
3. Building a Trading Strategy:
Here’s how you can incorporate the script’s information into a trading strategy:
Buy Signal (Long Entry):
Look for green triangles (indicating a buy signal) below a bar.
Confirm that the trend color in the table for the relevant timeframe is green, which shows that the buy signal is supported by strong volume.
Ensure that the price is in an uptrend (positive slope) and that volume is increasing on upward moves, as this indicates buying interest.
Execute a long position when these conditions align.
Sell Signal (Short Entry):
Look for red triangles (indicating a sell signal) above a bar.
Confirm that the trend color in the table for the relevant timeframe is red, which shows that the sell signal is supported by strong volume.
Ensure that the price is in a downtrend (negative slope) and that volume is increasing on downward moves, indicating selling pressure.
Execute a short position when these conditions align.
Exiting the Trade:
Exit a long position when a sell signal (red triangle) appears, or when the trend color in the table shifts to red.
Exit a short position when a buy signal (green triangle) appears, or when the trend color in the table shifts to green.
4. Multi-Timeframe Confirmation:
The script provides trends across multiple timeframes (tf1, tf2, tf3), which can help in validating your trade:
Short-Term Trading: Use shorter timeframes (e.g., 3, 5 minutes) for intraday trades. If both short and medium timeframes align in trend direction (e.g., both showing green), it strengthens the signal.
Longer-Term Trading: If you are trading on a higher timeframe (e.g., daily or weekly), confirm that the lower timeframes align with your intended trade direction.
5. Adding Risk Management:
Stop-Loss: Place stop-losses below recent lows (for long trades) or above recent highs (for short trades) to minimize risk.
Take Profit: Consider taking profit at key support/resistance levels or based on a fixed risk-to-reward ratio (e.g., 2:1).
Example Strategy Flow:
For Long (Buy) Trade:
Signal: A green triangle appears below a candle (Buy signal).
Trend Confirmation: Check that the color in the table for your selected timeframe is green, confirming the trend is supported by volume.
Execute Long: Enter a long trade if the price is trending upward (positive price slope).
Exit Long: Exit when a red triangle appears above a candle (Sell signal) or if the trend color shifts to red in the table.
For Short (Sell) Trade:
Signal: A red triangle appears above a candle (Sell signal).
Trend Confirmation: Check that the color in the table for your selected timeframe is red, confirming the trend is supported by volume.
Execute Short: Enter a short trade if the price is trending downward (negative price slope).
Exit Short: Exit when a green triangle appears below a candle (Buy signal) or if the trend color shifts to green in the table.
6. Fine-Tuning:
Backtesting: Before trading live, use TradingView’s backtesting features to test the strategy on historical data and optimize the settings (e.g., length of linear regression, timeframe).
Combine with Other Indicators: Use this strategy alongside other technical indicators (e.g., RSI, MACD) for better confirmation.
In summary, the script helps identify trends with volume support, giving more confidence in buy/sell decisions. Combining these signals with risk management and multi-timeframe analysis can create a solid trading strategy.
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.
90 Minute Cycles Full90-Minute Cycles Indicator for London and NY Sessions
This is a more streamlined version of the 90-minute cycle indicator by sunwoo101.
The 90-Minute Cycles Indicator is built to help traders easily follow and trade around key market cycles during the London and New York sessions. Marking important 90-minute intervals and highlighting the True Cycle Open Price provides clear visual cues to help you make more informed trading decisions.
Key Features:
90-Minute Cycles for London and NY: The indicator automatically draws vertical lines marking every 90-minute cycle for the London and NY sessions. These lines are great for timing your trades and spotting potential shifts in market momentum.
True Cycle Open Price: A horizontal line is drawn at the True Cycle Open Price, which stays visible throughout the session. This gives you a key reference point for price levels that tend to act as support or resistance.
Customizable Visuals: You can fully personalize the indicator’s appearance - adjusting the colors and line styles and even controlling when the lines appear - so it blends perfectly with your existing charts.
All Cycles Drawn from the Start: Unlike other indicators, this one draws all the 90-minute cycles right when the session begins, so you can see the full day’s potential market moves as soon as the first cycle starts.
What’s Different About This Indicator:
London Session Support: In addition to the NY session, you now have 90-minute cycles for the London session, complete with its own True Cycle Open Price.
Better Customization: You have more control over the visual aspects of the indicator, so it can be tailored to fit your specific charting preferences.
Complete Cycle Visibility: All cycles are drawn immediately when the session starts, providing a full view of the day’s key moments right from the opening.
How to Use:
This indicator is perfect for scalping and short-term trading. Whether trading Forex or Indices and following SMT concepts, the cycle timing can help you pinpoint the best times for entering and exiting trades. The True Cycle Open Price is a crucial level of support or resistance throughout the session, making it a key marker to watch.
Scalpers: Use the 90-minute cycle lines to time your trades with the market's rhythm.
Day Traders: This indicator tracks the London and NY sessions, making it an excellent tool for day trading strategies where timing is critical.
Multi-Session Support:
Whether you're trading the London or New York session, the indicator will automatically adjust to your time zone and align the cycles to the relevant session. This helps you stay on top of key market activity across major trading hubs without changing anything manually.
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.
Set Alarm for Closed Codes [Mr_Rakun]Set Alarm for Closed Codes
This Pine Script code is designed to set up alerts based on two types of conditions: Crossover or Greater-Lesser thresholds. The script's most significant feature is its ability to set alerts using external sources that the user defines for long and short positions. These sources can be any other indicator or value on the chart, giving traders maximum flexibility in choosing their alert triggers.
Crossover Condition: The script triggers an alert when the closing price crosses above or below the user-defined external sources for long and short signals.
Greater-Lesser Condition: It also allows triggering alerts when the defined input values (like 70 for greater, 30 for lesser) are crossed by the external sources.
Users can input the message for buy and sell signals (such as "BUY" or "SELL") and set custom thresholds to create more flexible alerts based on market behavior. The code also visually plots the user-selected entry sources on the chart, with the short entry source being displayed in red for easier identification.
In summary, the key feature of this script is its ability to set alerts based on external sources defined by the user, making it highly versatile for traders who want to automate alerts for specific price movements or indicator-based conditions.
--------------------------------------------------
Türkçe Açıklama
Bu Pine Script kodu, iki farklı koşula dayalı olarak alarm kurmayı amaçlar: Kesişim veya Büyük-Küçük eşikleri. Kodun en önemli özelliği, uzun ve kısa pozisyonlar için kullanıcı tarafından tanımlanan dış kaynaklar kullanılarak alarm kurulabilmesidir. Bu kaynaklar, grafikteki herhangi bir gösterge veya değer olabilir, bu da yatırımcılara alarm tetikleyicilerini seçmede maksimum esneklik sağlar.
Kesişim Koşulu: Kapanış fiyatı, kullanıcı tarafından tanımlanan dış kaynakları geçtiğinde uzun veya kısa sinyaller için alarm tetiklenir.
Büyük-Küçük Koşulu: Ayrıca, belirlenen giriş değerlerinin (örneğin, büyük için 70, küçük için 30) dış kaynaklarla kesişmesi durumunda alarm tetiklenir.
Kullanıcılar, alış ve satış sinyalleri için mesajlar (örneğin, "AL" veya "SAT") girebilir ve piyasa hareketlerine dayalı olarak daha esnek alarmlar oluşturmak için özel eşikler belirleyebilir. Kod, ayrıca grafik üzerinde kullanıcı tarafından seçilen giriş kaynaklarını da çizer; kısa giriş kaynağı kırmızı renkte gösterilir, böylece kolayca tanımlanabilir.
Özetle, bu scriptin ana özelliği, kullanıcı tarafından tanımlanan dış kaynaklara dayalı alarm kurabilme yeteneği olup, belirli fiyat hareketleri veya gösterge tabanlı koşullar için alarm kurmak isteyen yatırımcılar için oldukça esnektir.
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)))
ZERO LAG TRADE SIGNALS by BootcampZeroThe ZERO LAG TRADE SIGNALS by BootcampZero indicator is a versatile tool designed to help traders identify optimal entry and exit points for both short-term scalping and long-term trading across multiple time frames. It combines several well-known technical analysis methods, including moving averages, trend analysis, directional indicators, and adaptive trend calculations, to deliver reliable buy and sell signals.
Short-Term Scalping (Under 5-Minute Time Frames)
For short-term traders who prefer quick trades on lower time frames, such as under 5 minutes, this indicator uses a combination of the EMA (Exponential Moving Average) and SMA (Simple Moving Average) to spot fast trend reversals. The indicator is particularly useful for scalpers because it focuses on detecting short-term price momentum by comparing the faster-moving averages with slower ones, triggering signals based on their crossover.
Buy Signals are generated when a fast-moving EMA crosses above a slower-moving SMA, indicating upward momentum.
Sell Signals are triggered when the fast-moving EMA crosses below the slower-moving SMA, signaling potential downward price movement.
In addition, the Adaptive Trend Finder feature dynamically adjusts to recent price deviations and volatility, making it easier for scalpers to spot the prevailing short-term trend with high confidence. The indicator also uses ADX (Average Directional Index) for momentum confirmation, ensuring that signals are only generated during strong price trends, reducing false positives in sideways markets.
Long-Term Trading (Above 1-Day Charts)
When applied to higher time frames such as daily charts or above, this indicator excels in generating reliable long-term buy and sell signals, perfect for swing traders and long-term investors. The Kaufman Adaptive Moving Average (KAMA) and the Ichimoku Cloud are used to assess long-term trends by filtering out market noise and focusing on sustainable price direction.
KAMA helps to adapt the moving average based on market volatility, providing smoother signals that minimize whipsawing in longer-term trades.
Ichimoku Cloud provides additional trend confirmation by identifying whether the market is bullish or bearish based on the relationship between key lines like the Tenkan-Sen (Conversion Line) and Kijun-Sen (Base Line), and how the current price interacts with the Ichimoku Cloud itself.
The indicator also integrates PPO (Percentage Price Oscillator) to capture divergences between price and momentum, further supporting traders in holding positions for extended periods when the signal strength is robust.
Key Technical Values and Factors for Signals
EMA and SMA Crossover: Fast EMA vs. Slow SMA to detect short-term trend reversals.
ADX: Helps gauge the strength of the trend; signals are only generated in trending markets.
KAMA: Filters noise in long-term trends, providing smooth signals based on market volatility.
Ichimoku Cloud: Offers insight into long-term trends and momentum by analyzing price relative to the cloud.
PPO: Detects divergences between price and momentum for trend continuation or reversal signals.
How It Works
Buy signals are generated when bullish conditions are met, and the indicator confirms momentum with ADX, crossover of the EMAs, or a bullish breakout from the Ichimoku Cloud.
Sell signals are triggered when bearish conditions prevail, confirmed by the same factors in reverse, such as a bearish EMA crossover or weakness in ADX.
By combining these powerful tools, ZERO LAG TRADE SIGNALS by BootcampZero offers traders a comprehensive system for both quick scalping trades and more conservative long-term positioning, providing reliable and adaptive signals across different market conditions.
Magnificent 7 Overall Percentage Change with MA and Angle LabelsMagnificent 7 Overall Percentage Change with MA and Angle Labels
Overview:
The "Magnificent 7 Overall Percentage Change with MA and Angle Labels" indicator tracks the percentage change of seven key tech stocks (Apple, Microsoft, Amazon, NVIDIA, Tesla, Meta, and Alphabet) and displays their overall average percentage change on the chart. It also provides a moving average of this overall change and calculates the angle of the moving average to help traders gauge the momentum and direction of the overall trend.
How it works:
Real-Time Percentage Change: The indicator calculates the percentage change of each of the "Magnificent 7" stocks compared to their previous day's closing price, giving a snapshot of the market's performance.
Overall Average: It then computes the average of the seven stocks' percentage changes to reflect the broader movement of these major tech companies.
Moving Average: The indicator offers a choice of four types of moving averages (SMA, EMA, WMA, or VWMA) to smooth the overall percentage change, allowing traders to focus on the trend rather than short-term fluctuations.
Slope and Angle Calculation: To provide additional insights, the indicator calculates the slope of the moving average and converts it into an angle (in degrees). This can help traders determine the strength of the trend—steeper angles often indicate stronger momentum.
Key Features:
Percentage Change of the "Magnificent 7":
Tracks the percentage change of Apple (AAPL), Microsoft (MSFT), Amazon (AMZN), NVIDIA (NVDA), Tesla (TSLA), Meta (META), and Alphabet (GOOGL) on the current chart's timeframe.
Overall Average Change:
Computes the average percentage change across all seven stocks, giving a combined view of how the most influential tech stocks are performing.
Customizable Moving Averages:
Offers four types of moving averages (SMA, EMA, WMA, VWMA) to provide flexibility in tracking the trend of the overall percentage change.
Angle Calculation:
Measures the angle of the moving average in degrees, which helps assess the strength of the market’s momentum. Alerts and visual cues can be triggered based on the angle's steepness.
Visual Cues:
The percentage change is plotted in green when positive and red when negative, with a background color that changes accordingly. A zero line is plotted for reference.
Use Case:
This indicator is ideal for traders and investors looking to track the collective performance of the most dominant tech companies in the market. It provides real-time insights into how the "Magnificent 7" stocks are moving together and offers clues about potential market momentum based on the direction and angle of their average percentage change.
Customization:
Moving Average Type and Length: Choose between different types of moving averages (SMA, EMA, WMA, VWMA) and adjust the length to suit your preferred timeframe.
Angle Threshold: Set an angle threshold to trigger alerts when the moving average slope becomes too steep, indicating strong momentum.
Alerts:
Alerts can be created based on the crossing of the moving average or when the angle of the moving average exceeds a specified threshold. This ensures traders are notified when the trend is accelerating or decelerating significantly.
Conclusion:
The "Magnificent 7 Overall Percentage Change with MA and Angle Labels" indicator is a powerful tool for those wanting to monitor the performance of the most influential tech stocks, analyze their overall trend, and receive timely alerts when market conditions shift.
Market Volatility Key: CHOP, ATR, VIX & 10Y BondThis script builds upon existing market analysis tools by providing a comprehensive dashboard that combines the Choppiness Index (CHOP), Average True Range (ATR) with a user-selectable timeframe, VIX (Volatility Index), and the 10-year US Treasury bond price in a compact tile format. The color-coded key provides quick visual cues for market conditions—highlighting whether the market is trending or consolidating—allowing traders to make informed decisions quickly.
For example, when trading the Nasdaq (NQ), you might use this indicator to help manage your scalping trades. If you trade on a 10-minute chart but set the ATR timeframe to 1 minute, it helps identify whether there is enough price movement to justify entering a trade. If the ATR is less than 10, it suggests there's not enough range for scalping opportunities, and you may choose to stay out of the trade.
This expanded indicator integrates and enhances existing concepts to deliver a well-rounded view of volatility, trend strength, and market conditions all in one glance, making it an essential tool for both trend-following and scalping strategies.