Dynamic Market Correlation Analyzer (DMCA) v1.0Description
The Dynamic Market Correlation Analyzer (DMCA) is an advanced TradingView indicator designed to provide real-time correlation analysis between multiple assets. It offers a comprehensive view of market relationships through correlation coefficients, technical indicators, and visual representations.
Key Features
- Multi-asset correlation tracking (up to 5 symbols)
- Dynamic correlation strength categorization
- Integrated technical indicators (RSI, MACD, DX)
- Customizable visualization options
- Real-time price change monitoring
- Flexible timeframe selection
## Use Cases
1. **Portfolio Diversification**
- Identify highly correlated assets to avoid concentration risk
- Find negatively correlated assets for hedging strategies
- Monitor correlation changes during market events
2. Pairs Trading
- Detect correlation breakdowns for potential trading opportunities
- Track correlation strength for pair selection
- Monitor technical indicators for trade timing
3. Risk Management
- Assess portfolio correlation risk in real-time
- Monitor correlation shifts during market stress
- Identify potential portfolio vulnerabilities
4. **Market Analysis**
- Study sector relationships and rotations
- Analyze cross-asset correlations (e.g., stocks vs. commodities)
- Track market regime changes through correlation patterns
Components
Input Parameters
- **Timeframe**: Custom timeframe selection for analysis
- **Length**: Correlation calculation period (default: 20)
- **Source**: Price data source selection
- **Symbol Selection**: Up to 5 customizable symbols
- **Display Options**: Table position, text color, and size settings
Technical Indicators
1. **Correlation Coefficient**
- Range: -1 to +1
- Strength categories: Strong/Moderate/Weak (Positive/Negative)
2. **RSI (Relative Strength Index)**
- 14-period default setting
- Momentum comparison across assets
3. **MACD (Moving Average Convergence Divergence)**
- Standard settings (12, 26, 9)
- Trend direction indicator
4. **DX (Directional Index)**
- Trend strength measurement
- Based on DMI calculations
Visual Components
1. **Correlation Table**
- Symbol identifiers
- Correlation coefficients
- Correlation strength descriptions
- Price change percentages
- Technical indicator values
2. **Correlation Plot**
- Real-time correlation visualization
- Multiple correlation lines
- Reference levels at -1, 0, and +1
- Color-coded for easy identification
Installation and Setup
1. Load the indicator on TradingView
2. Configure desired symbols (up to 5)
3. Adjust timeframe and calculation length
4. Customize display settings
5. Enable/disable desired components (table, plot, RSI)
Best Practices
1. **Symbol Selection**
- Choose related but distinct assets
- Include a mix of asset classes
- Consider market cap and liquidity
2. **Timeframe Selection**
- Match timeframe to trading strategy
- Consider longer timeframes for strategic analysis
- Use shorter timeframes for tactical decisions
3. **Interpretation**
- Monitor correlation changes over time
- Consider multiple timeframes
- Combine with other technical analysis tools
- Account for market conditions and volatility
Performance Notes
- Calculations update in real-time
- Resource usage scales with number of active symbols
- Historical data availability may affect initial calculations
Version History
- v1.0: Initial release with core functionality
- Multi-symbol correlation analysis
- Technical indicator integration
- Customizable display options
Future Enhancements (Planned)
- Additional technical indicators
- Advanced correlation algorithms
- Enhanced visualization options
- Custom alert conditions
- Statistical significance testing
Pesquisar nos scripts por "Table"
XAUUSD Multi-Timeframe Trend AnalyzerOverview
The "XAUUSD Multi-Timeframe Trend Analyzer" is an advanced script designed to provide a comprehensive analysis of the XAUUSD (Gold/US Dollar) trend across multiple timeframes simultaneously. By combining several key technical indicators, this tool helps traders quickly assess the market direction and trend strength for M15, M30, H1, H4, and D1 timeframes.
Multi-Timeframe Analysis: Displays the trend direction and strength across M15, M30, H1, H4, and D1 timeframes, allowing for a complete overview in a single glance.
Comprehensive Indicator Blend: Utilizes six popular technical indicators to determine the trend—Moving Averages, RSI, MACD, Bollinger Bands, DMI, and Parabolic SAR.
Trend Strength Scoring: Provides a numerical trend strength score (from -6 to 6) based on the alignment of the indicators, with positive values indicating uptrends and negative values for downtrends.
Visual Table Display: Displays results in a color-coded table (green for uptrend, red for downtrend, yellow for neutral) with a strength score for each timeframe, helping traders quickly assess market conditions.
How It Works
This script calculates the overall trend and its strength for each selected timeframe by analyzing six widely-used technical indicators:
Moving Averages (MA): The script uses a Fast and a Slow Moving Average. When the Fast MA crosses above the Slow MA, it indicates an uptrend. When the Fast MA crosses below, it signals a downtrend.
Relative Strength Index (RSI): The RSI is used to assess momentum. An RSI value above 50 suggests bullish momentum, while a value below 50 suggests bearish momentum.
Moving Average Convergence Divergence (MACD): MACD measures momentum and trend direction. When the MACD line crosses above the signal line, it signals bullish momentum; when it crosses below, it signals bearish momentum.
Bollinger Bands: These measure price volatility. When the price is above the middle Bollinger Band, the script considers the trend to be bullish, and when it's below, bearish.
Directional Movement Index (DMI): The DMI compares positive directional movement (DI+) and negative directional movement (DI-). A stronger DI+ over DI- signals an uptrend and vice versa.
Parabolic SAR: This indicator is used for determining potential trend reversals and setting stop-loss levels. If the price is above the Parabolic SAR, it indicates an uptrend, and if below, a downtrend.
Trend Strength Calculation
The script calculates a trend strength score for each timeframe:
Each indicator adds or subtracts 1 to the score based on whether it aligns with an uptrend or a downtrend.
A score of 6 indicates a Strong Uptrend, with all indicators aligned bullishly.
A score of -6 indicates a Strong Downtrend, with all indicators aligned bearishly.
Intermediate scores (e.g., 2 or -2) indicate Weak Uptrend or Weak Downtrend, suggesting that not all indicators are in agreement.
A score between 1 and -1 indicates a Neutral trend, suggesting uncertainty in the market.
How to Use
Assess Trend Direction and Strength: The table provides an easy-to-read summary of the trend and its strength on different timeframes. Look for timeframes where the strength is high (either 6 for a strong uptrend or -6 for a strong downtrend) to confirm the market’s overall direction.
Use in Conjunction with Other Strategies: This indicator is designed to provide a comprehensive view of the market. Traders should combine it with other strategies, such as price action analysis or candlestick patterns, to further confirm their trades.
Trend Reversal or Continuation: A weak trend (e.g., a strength of 2 or -2) could signal a possible reversal or a trend that has lost momentum. Strong trends (with a strength of 6 or -6) indicate higher confidence in trend continuation.
Multiple Timeframe Confirmation: Look for alignment across multiple timeframes to confirm the strength and direction of the trend before entering trades. For example, if M15, M30, and H1 are all showing a strong uptrend, it suggests a higher probability of the trend continuing.
Customization Options
- Adjustable Indicators: Users can modify the length and parameters of the Moving Averages, RSI, MACD, Bollinger Bands, DMI, and Parabolic SAR to suit their trading style.
- Flexible Timeframes: You can toggle between different timeframes (M15, M30, H1, H4, D1) to focus on the intervals most relevant to your strategy.
Ideal For
- Traders looking for a detailed, multi-timeframe trend analysis tool for XAUUSD.
- Traders who rely on trend-following strategies and need confirmation across multiple timeframes.
- Those who prefer a multi-indicator approach to avoid false signals and improve the accuracy of their trades.
Disclaimer
This indicator is for informational and educational purposes only. It is recommended to combine this with proper risk management strategies and your own analysis. Past performance does not guarantee future results. Always perform your own due diligence before making trading decisions.
SHIBO V6.0**SHIBO v6 - Fibonacci Impulse Analysis Indicator**
*By Shahab Sadeghi (@shahabs2004)*
**Overview:**
Welcome to SHIBO v6, a revolutionary Fibonacci Impulse Analysis Indicator designed to harness the power of a unique chart pattern. The script employs a reverse Fibonacci methodology to identify powerful impulses that first reach Fibonacci level 0.382, experience a correction, and then continue toward Fibonacci level 1. This description delves into the intricacies of how the script calculates precise price targets based on this distinctive pattern.
keep in mind that this Indicator is based on this Idea that each Impulse have its own support and Resistant Levels(stop loss and Target)
**Key Features:**
1. **Reverse Fibonacci Calculation:** SHIBO v6 introduces a novel approach to Fibonacci analysis. Instead of the conventional method where price targets are set from Fibonacci 0 to 1, this script calculates the distance price moves towards Fibonacci 1 from 0.382. This innovative technique identifies potential reversal and continuation zones with unparalleled accuracy.
2. **Impulse and Correction Identification:** Users play a pivotal role in recognizing high-probability trading opportunities. The script requires manual selection and marking of powerful impulses, focusing on identifying corrections and anticipating potential reversal zones within these impulses.
3. **Optimized Fibonacci Levels:** Leveraging the reverse Fibonacci approach, the script dynamically computes and draws Fibonacci retracement levels (R1, R2, R3) based on the calculated distance the price has moved towards Fibonacci 1. These levels serve as strategic benchmarks, offering insights into potential price movements and areas of interest.
4. **Dynamic Line Drawings:** SHIBO v6 features dynamic line drawings, including impulse start and end points, Fibonacci levels, and stop-loss levels. These visual elements facilitate a comprehensive understanding of the analysis, assisting users in making well-informed trading decisions.
5. **Informative Table Display:** A dedicated table provides crucial information, including impulse start and end points, Fibonacci levels, and percentage deviations from the current price. This table enhances the user's grasp of the analyzed data, fostering effective decision-making.
6. **Prefix Identification:** Users employing multiple SHIBO indicators on a chart can use the Prefix input to assign a unique identifier to each instance. This streamlines the analysis process, particularly when dealing with multiple instances of the indicator.
**How the Script Calculates Targets:**
1. **Impulse Recognition:** Users manually identify a robust impulse in the price movement, signifying a potential trend change or continuation.
2. **Correction Confirmation:** Anticipate or confirm the start of a correction phase within the selected impulse. Corrections often occur after a strong price movement.
3. **Manual Setting of IS and IE Points:** Set the impulse start (IS) and end (IE) points manually based on the identified impulse and correction.
4. **Fibonacci Level Calculation:** The script dynamically calculates Fibonacci levels (R1, R2, R3) based on the distance the price has moved towards Fibonacci 1 from 0.382. These levels serve as potential targets and areas of interest.
5. **Visual Representation:** The script visually represents the calculated levels through dynamic line drawings, providing a clear picture of potential reversal and continuation zones.
**Advanced Usage (Pro Users):**
- **Customizable Line Drawings:** Explore the commented-out lines in the script for additional functionalities and customization options for line drawings. Pro users can tailor the script to align with unique trading strategies.
**Disclaimer:**
Trading carries inherent risks, and SHIBO v6 introduces a distinctive approach to technical analysis. Exercise caution, conduct thorough analysis, and consider risk management strategies before making trading decisions. Past performance does not guarantee future results.
**Support and Feedback:**
Join the community of traders committed to refining strategies based on reverse Fibonacci impulse analysis. Share your experiences, insights, and suggestions to contribute to the continuous improvement of SHIBO v6.
**how Calculations Goes ?**
Imagine you're analyzing a stock price:
IS (Initial Start Price): Let's say the stock price starts at $100.
IE (Initial End Price): After a significant movement, the price reaches $120.
1. Identify Fibonacci Retracement Levels:
fi1 (0.382): This level suggests a potential retracement of 38.2% of the upward move.
fi2 (0.5000): This level represents a 50% retracement, or halfway back to the starting price.
fi3 (0.6180): This level represents the "Golden Ratio" and another potential support/resistance area.
fi4 (0.7860): This level suggests a retracement of 78.6% and can also be used for stop-loss calculations.
2. Calculate Multiples:
m1: Divide the final price ($120) by the starting price ($100) raised to the power of fi1 (120 / 100^0.382). This gives you a value we'll use later.
m2: Similar calculation, but using fi2 instead of fi1.
m3: Similar calculation, but using fi3 instead of fi1.
3. Calculate Target Prices:
Take Profit (Resistance)
TP1: Raise the value of m1 to the power of 1/(1-fi1). This gives you a potential upside target price based on the 38.2% retracement level.
TP2: Similar calculation, but using m2 and fi2.
TP3: Similar calculation, but using m3 and fi3.
4. Calculate Stop-Loss Levels:
Stop loss(Support)
SL1 or Support: Multiply TP1 by the starting price ($100) raised to the power of fi4. This gives you a potential downside stop-loss level based on the 78.6% retracement from TP1.
SL2: Similar calculation, but using TP2 and fi4.
SL3: Similar calculation, but using TP3 and fi4.
5. Calculate Midpoint Level:
MID: Multiply TP1 by the starting price ($100) raised to the power of fi3. This gives you a potential support/resistance level halfway between TP1 and the starting price.
Remember, these are just potential levels and not guaranteed. It's important to use other technical and fundamental analysis alongside Fibonacci retracements.
Here's the breakdown of the steps and their results:
1. Fibonacci levels define potential support and resistance areas:
The chosen Fibonacci levels (0.382, 0.5, 0.618, and 0.786) are often seen as potential zones where the price might stall or reverse after a strong move.
2. Multiples and target prices:
The multiples (m1, m2, m3) represent price ratios based on different retracement levels.
Target prices (TP1, TP2, TP3) are calculated by raising these multiples to specific exponents. These prices suggest areas where the price might encounter resistance after a retracement (not guaranteed predictions).
3. Stop-loss levels:
Stop-loss levels (SL1, SL2, SL3) are based on the target prices and another Fibonacci level (0.786). They mark price points where a trader might exit a trade to manage risk if the price moves against them.
Essentially, the calculations translate Fibonacci retracement levels into concrete price points for potential entry (targets) and exit (stop-loss) points.
*Happy Trading and Empowered Analysis!*
Accurate 10x Volume Spike with Corrected Next Candle AnalysisDescription :
The Volume Ten Candles indicator is a technical analysis tool that helps traders identify candles with volume exceeding the previous one by 10 times. This can indicate a potential trend reversal or continuation of the current price movement.
Signal :
The indicator generates a signal when a candle with volume exceeding the previous one by 10 times appears. The signal is displayed on the chart as an arrow or other symbol.
Statistics :
The indicator also displays statistics in the form of a table that shows the number of candles with volume exceeding the previous one by 10 times for a certain period of time. This helps traders assess the strength of the trend and make a decision about entering a trade.
Example of Use :
The Volume Ten Candles indicator can be useful for traders who want to find candles with high volume and use them to enter a trade. For example, if a candle with volume exceeding the previous one by 10 times appears, it may indicate that the market is ready for a price movement. In this case, the trader can open a trade in the direction of this movement.
It is important to note that the Volume Ten Candles indicator is not a guarantee of profit and may produce false signals. Therefore, before using the indicator, it is necessary to conduct testing on historical data and develop a trading strategy.
Statistics Table :
The table displays the number of candles with volume exceeding the previous one by 10 times for each day.
Volume CalendarDescription:
The indicator displays a calendar with Volume data for up to 6 last months. It is designed to work on any timeframe, but works best on Daily and below. It is also consistent in that it displays the same data even if you go to lower timeframes like 5 minutes (even though the data is used is Daily).
Features:
- displays volume data for last N months (volume, volume change, % of weekly, monthly and yearly volume)
- display total volume for each month
- display monthly sentiment
- find dates with volume spikes
Inputs:
- Number of months -> how many last months of data to display (from 1 to 6)
- Volume Type -> display only Bullish, only Bearish or all volume
- Cell color is based on -> Volume - the brighter the cell the higher volume was on that day; Volume Change - the brighter the cell the higher was the volume change that day; Volume Spike - the brighter the cell the higher was volume spike that day (volume spike is based on volume being above its average over last N candles)
- Cell color timeframe -> Weekly - the cell color is calculated comparing volume of that cell with weekly volume; Monthly - comparing volume with monthly volume
- Use volume for sentiment -> take the volume into account when calculating monthly sentiment (otherwise calculate it based on number of Bullish and Bearish days in the month)
- Spike Average Period -> period of the moving average used for spike calculation
- Spike Threshold -> current volume must be this many times greater than the average for it to be considered a spike
- Table Size -> size of the table
- Theme -> colouring of the table
DRIP Yearly PerformanceOverview: The DRIP Yearly Performance indicator is designed for long-term investors using Dividend Reinvestment Plans (DRIP). This script calculates both the total and average yearly performance of an asset, factoring in the reinvestment of dividends over time. It provides key insights into portfolio growth by tracking the number of accumulated units from dividend reinvestment and how this impacts overall performance.
Key Features:
Dividend Reinvestment (DRIP) Calculation: Automatically adjusts the number of units held by reinvesting dividends, enhancing the calculation of total returns.
Custom Start Date: Choose a custom start date to begin tracking performance from a specific time period, allowing for more tailored performance analysis.
Performance Metrics: Displays key metrics such as the initial investment value, current value, total performance percentage, and the average yearly performance, all in an easy-to-read table format.
Visual Representation: Plots accumulated units and overall performance on the chart, with customizable colors for clarity.
Inputs Explained:
Start Quantity: Define the initial number of units (shares) held at the start of the investment.
Dividend Type: Choose between tracking Net or Gross dividends for reinvestment purposes. Net is always better unless you have a special case and you need to base your calculations on gross.
Start Date: Select a custom date to begin tracking performance. This allows users to focus on performance from any historical point.
Table Size: Customize the size of the text in the performance table to suit your visual preferences.
Performance Line Color: Choose the color of the performance plot line that tracks the value of your investment over time.
Accumulator Line Color: Customize the color of the line that tracks the accumulated units (shares) due to reinvested dividends.
Who Can Benefit: This indicator is ideal for long-term investors and dividend growth investors who want to measure their investment returns over time while factoring in the effects of dividend reinvestment.
Use Cases:
Tracking Dividend Impact: See how reinvesting dividends enhances your overall portfolio value.
Custom Performance Analysis: Set a custom start date to analyze performance from a specific point in time.
Visualizing Growth: Use the chart's plots to visually track your growing number of shares (units) and overall performance.
Sector Performance v0.3Sector Performance Dashboard v0.3 (Work In Progress)
- Provides a comprehensive view of sector and stock performance across multiple timeframes
Features:
- Displays performance data for various Indian market sectors and their constituent stocks
- Allows selection of different sector groups (e.g., NIFTY, BANKNIFTY, CNXAUTO, etc.)
- Shows performance over four customizable time periods (default: Year, Quarter, Month, Week)
- Calculates percentage change for each time period
- Presents current price, 250-day high and low, and percentage distance from these extremes
- Uses color-coding to quickly identify positive (green) and negative (red) performance
- Adjustable text size for better visibility
- Functionality:
- Creates a table in the center of the chart
- Populates the table with up to 15 symbols per sector
- Updates data in real-time on daily timeframe
- Allows for easy comparison of different stocks within a sector
- User Inputs:
- Sector selection
- Four customizable date inputs for different time periods
- Adjustable text size for the table
- Use Cases:
- Quick sector rotation analysis
- Identifying outperforming and underperforming stocks within a sector
- Monitoring multiple timeframes simultaneously for comprehensive market view
- Assisting in stock screening and selection process
ATR+StdTR Band and Trailing StopThis Pine Script code plots the "ATR+StdTR Band and Trailing Stop," serving as a tool for volatility-based risk management and trend detection. While bands are typically set using a multiple of ATR, this script uses StdTR (the True Range standard deviation) and sets the band width based on ±(ATR + n times StdTR). StdTR is a great tool for detecting price volatility and anomalies, allowing traders to adapt to rapid changes in extreme market conditions. This helps traders proactively manage risk during sudden market fluctuations.
The following features are provided:
Table Display
A table is shown on the chart, allowing traders to visually track the current ATR value, StdTR (σ), and the long/short stop-loss levels (±ATR ± nσ). This enables real-time monitoring of risk management data.
Band Plots
The script plots bands that combine ATR with StdTR (nσ).
The upper and lower bands are calculated using the previous candle’s closing price (the source is customizable) and are plotted as ±(ATR + nσ), providing a clear visual of the price range.
ATR ± nσ Trailing Stop
The trailing stop dynamically adjusts the stop-loss levels based on price movements. In an uptrend, the stop-loss rises, while in a downtrend, it lowers, helping traders lock in profits while minimizing losses during significant reversals.
Breakout Detection
Breakouts are detected when the price exceeds the upper band or drops below the lower band. A visual marker (X) is displayed on the chart, allowing traders to quickly recognize when the price has moved beyond normal volatility ranges, making it easier to respond to trend formations or reversals.
Customization Points:
The ATR period and StdTR (n) are fully customizable.
The source for ATR band calculation can be adjusted, allowing traders to choose from close, open, high, low, etc.
The table’s display position and design (text color, size, etc.) can be customized to present the information clearly and effectively.
Median Kijun-Sen [InvestorUnknown]The Median Kijun-Sen is a versatile technical indicator designed for both trend-following strategies and long-term market valuation. It incorporates various display modes and includes a backtest mode to simulate its performance on historical price action.
Key Features:
1. Trend-Following and Long-Term Valuation:
The indicator is ideal for trend-following strategies, helping traders identify entry and exit points based on the relationship between price and the Kijun-Sen calculated from median price (customizable price source).
With longer-term settings, it can also serve as a valuation tool (in oscillator display mode), assisting in identifying potential overbought or oversold conditions over extended timeframes.
2. Display Modes:
The indicator can be displayed in three main modes, each serving a different purpose:
Overlay Mode : Plots the Median Kijun-Sen directly over the price chart, useful for visualizing trends relative to price action.
Oscillator Mode : Displays the oscillator that compares the current price to the Median Kijun-Sen, providing a clearer signal of trend strength and direction
Backtest Mode : Simulates the performance of the indicator with different settings on historical data, offering traders a way to evaluate its reliability and effectiveness without needing TradingView's built-in strategy tool
3. Backtest Functionality:
The inbuilt backtest mode enables users to evaluate the indicator's performance across historical data by simulating long and short trades. Users can customize the start and end dates for the backtest, as well as specify whether to allow long & short, long only, or short only signals.
This backtest functionality mimics TradingView's strategy feature, allowing users to test the effectiveness of their chosen settings before applying them to live markets.
equity(series int sig, series float r, startDate, string signals, bool endDate_bool) =>
if time >= startDate and endDate_bool
float a = 0
if signals == "Long & Short"
if sig > 0
a := r
else
a := -r
else if signals == "Long Only"
if sig > 0
a := r
else if signals == "Short Only"
if sig < 0
a := -r
else
runtime.error("No Signal Type found")
var float e = na
if na(e )
e := 1
else
e := e * (1 + a)
float r = 0.0
bool endDate_bool = use_endDate ? (time <= endDate ? true : false) : true
float eq = 1.0
if disp_mode == "Backtest Mode"
r := (close - close ) / close
eq := equity(sig, r, startDate, signals, endDate_bool)
4. Hint Table for Pane Suggestions:
An inbuilt hint table guides users on how to best visualize the indicator in different display modes:
For Overlay Mode, it is recommended to use the same pane as the price action.
For Oscillator and Backtest Modes, it is advised to plot them in a separate pane for better clarity.
This table also provides step-by-step instructions on how to move the indicator to a different pane and adjust scaling, making it user-friendly.
Potential Weakness
One of the key drawbacks is the indicator’s tendency to produce false signals during price consolidations, where price action lacks clear direction and may trigger unnecessary trades. This is particularly noticeable in markets with low volatility.
Alerts
The indicator includes alert conditions for when it crosses above or below key levels, enabling traders to receive notifications of LONG or SHORT signals.
Summary
The Median Kijun-Sen is a highly adaptable tool that serves multiple purposes, from trend-following to long-term valuation. With its customizable settings, backtest functionality, and built-in hints, it provides traders with valuable insights into market trends while allowing them to optimize the indicator to their specific strategy.
This versatility, however, comes with the potential weakness of false signals during consolidation phases, so it's most effective in trending markets.
EMA-BAND-PIVOT-VCPThis indicator is named "EMA-BAND-PIVOT-VCP" and integrates multiple elements such as moving averages, volume, volatility contraction patterns (VCP), pivot points, and a table to display key market metrics.
Key Features:
Moving Averages: ( 4 - EMA) default settings 20 , 50 ,144 , 200 . Can be changed in settings.
Pivot Highs and Lows:
The script detects pivot highs and pivot lows using customizable left and right lengths and plots labels to mark these points on the chart.
TIG BAND : This is setting of 2 sma - with the high and low of 90 day average which forms like a band . Its a very strong indicator of trend . Buying is suggestable above this .This has to be tested on your own to knowhow it works wonders ( price magnet). Works on all timeframes . (credit : Bhushan Sir from TIG ) .These are the best buy areas.
Volatility Contraction :
It identifies specific price contraction pattern .
vc marked - used 4 candles - first candle is the mother bar ., 2,3 and 4th candles complete range ( high to low ) is within the range of mother candle.
lc marked -here the closing is considered not the wicks. used 8 candles., the 7 candles closing is within the range of motherbar. Crosses are plotted on the last candle
Table Display:
A table is displayed on the chart with data such as EMA values, relative volume (RVol), Average Daily Range (ADR), and volume ratios. This gives a comprehensive overview of current market conditions.(RVol) compared to the 50-period volume SMA, percentage volume change, and other metrics is also displayed.
ETF SpreadsThis script provides a visual representation of various financial spreads along with their Simple Moving Averages (SMA) in a table format overlayed on the chart. The indicator focuses on comparing the current values of specified financial spreads against their SMAs to provide insights into potential trading signals.
Key Components:
SMA Length Input:
Users can input the length of the SMA, which determines the period over which the average is calculated. The default length is set to 20 days.
Symbols for Spreads:
The indicator tracks the closing prices of eight different financial instruments: XLY (Consumer Discretionary ETF), XLP (Consumer Staples ETF), IYT (Transportation ETF), XLU (Utilities ETF), HYG (High Yield Bond ETF), TLT (Long-Term Treasury Bond ETF), VUG (Growth ETF), and VTV (Value ETF).
Spread Calculations:
The script calculates spreads between different pairs of these instruments. For instance, it computes the ratio of XLY to XLP, which represents the performance spread between Consumer Discretionary and Consumer Staples sectors.
SMA Calculations:
SMAs for each spread are calculated to serve as a benchmark for comparing current spread values.
Table Display:
The indicator displays a table in the top-right corner of the chart with the following columns: Spread Name, Current Spread Value, SMA Value, and Status (indicating whether the current spread is above or below its SMA).
Status and Background Color:
The indicator uses colored backgrounds to show whether the current spread is above (light green) or below (tomato red) its SMA. Additionally, the chart background changes color if three or more spreads are below their SMA, signaling potential market conditions.
Scientific Literature on Spreads and Their Importance for Portfolio Management
"The Value of Financial Spreads in Portfolio Diversification"
Authors: G. Gregoriou, A. Z. P. G. Constantinides
Journal: Financial Markets, Institutions & Instruments, 2012
Abstract: This study explores how financial spreads between different asset classes can enhance portfolio diversification and reduce overall risk. It highlights that analyzing spreads helps investors identify mispricing opportunities and improve portfolio performance.
"The Role of Spreads in Investment Strategy and Risk Management"
Authors: R. J. Hodrick, E. S. S. Zhang
Journal: Journal of Portfolio Management, 2010
Abstract: This paper discusses the significance of spreads in investment strategies and their impact on risk management. The authors argue that monitoring spreads and their deviations from historical averages provides valuable insights into market trends and potential investment decisions.
"Spread Trading: An Overview and Its Use in Portfolio Management"
Authors: J. M. M. Perkins, L. A. B. Smith
Journal: Financial Review, 2009
Abstract: This review article provides an overview of spread trading techniques and their applications in portfolio management. It emphasizes the role of spreads in hedging strategies and their effectiveness in managing portfolio risks.
"Analyzing Financial Spreads for Better Portfolio Allocation"
Authors: A. S. Dechow, J. E. Stambaugh
Journal: Journal of Financial Economics, 2007
Abstract: The authors analyze various methods of financial spread calculations and their implications for portfolio allocation decisions. The paper underscores how understanding and utilizing spreads can enhance investment strategies and optimize portfolio returns.
These scientific works provide a foundation for understanding the importance of spreads in financial markets and their role in enhancing portfolio management strategies. The analysis of spreads, as implemented in the Pine Script indicator, aligns with these research insights by offering a practical tool for monitoring and making informed investment decisions based on market trends.
LazyScalp Board by MalexThis indicator offers a quick view of essential trading parameters in a customizable table format.
The table displays key metrics such as daily volume, average volume over a chosen period, volatility (normalized ATR), correlation coefficient, and funding rate, all of which can be tailored to your preferences.
You can also adjust the table's appearance, style, and layout to better fit your needs.
Designed with intraday traders and scalpers in mind, this indicator helps you swiftly identify the most suitable trading instruments.
Based on LazyScalp Board by Aleksandr400
BTC Coinbase PremiumThis script is designed to compare the price of Bitcoin on two major exchanges: Coinbase and Binance. It helps you see if there’s a difference in the price of Bitcoin between these two exchanges, which is known as a “premium” or “discount.”
Here’s how it works in simple terms:
Getting the Prices:
The script first fetches the current price of Bitcoin from Coinbase and Binance. It looks at the closing price, which is the price at the end of the selected time period on your chart.
Calculating the Difference:
It then calculates the difference between these two prices. If Bitcoin is more expensive on Coinbase than on Binance, this difference will be positive, indicating a “premium.” If it’s cheaper on Coinbase, the difference will be negative, indicating a “discount.”
Visualizing the Difference:
The script creates a visual chart that shows this price difference over time. It uses green bars to show when there’s a premium (Coinbase is more expensive) and red bars to show when there’s a discount (Coinbase is cheaper).
Optional Table Display:
If you choose to, the script can also show this price difference in a small table at the top right corner of your chart. The table displays the words “Coinbase Premium” and the exact dollar amount of the premium or discount.
Why does it matter?
Traders and investors have spotted a correlation between bullish strength on BTC and a strong Coinbase premium along with the inverse of a strong Coinbase discount and BTC price weakness.
NEXT BAR PercentagesNEXT BAR Percentages Indicator
This Pine Script code implements the "NEXT BAR Percentages" indicator, designed to analyze and display percentage changes between consecutive bars on a TradingView chart. The script provides valuable insights into how percentage changes in price behave after significant price movements, aiding traders in identifying potential trends or reversals.
Key Features:
Percentage Change Calculations :
Close-to-Close : Calculates the percentage change between the close of the current bar and the close of the previous bar.
High-to-Close : Calculates the percentage change between the high of the current bar and the close of the previous bar.
Low-to-Close : Calculates the percentage change between the low of the current bar and the close of the previous bar.
High-to-Close (Wick) : Computes the percentage change from the close to the high of the current bar.
Low-to-Close (Wick) : Computes the percentage change from the close to the low of the current bar.
Dynamic Table Display :
Creates a table on the chart to display various statistics related to percentage changes.
The table position is customizable, with options including "Top Left," "Middle Left," "Bottom Left," "Top Right," "Middle Right," "Bottom Right," "Top Center," "Middle Center," and "Bottom Center."
Count and Average Calculations :
High POS/NEG Counts : Counts occurrences of significant positive and negative percentage changes based on user-defined thresholds.
High POS/NEG Average : Computes the average percentage change following high positive and negative percentage changes.
Next Bar Statistics : Provides statistics on the percentage change of the next bar following identified significant price movements.
Visual Indicators :
Labels : Plots arrows on the chart when a high positive or high negative percentage change is detected, visually highlighting these events.
Customizable Input Parameters :
Adjust the thresholds for identifying high positive and negative percentage changes ( highpos, highposEnd, highneg, highnegEnd ).
Specify the start date for analysis ( teststartdate ), allowing for focused period analysis.
Usage:
Traders : Gain insights into price behavior following significant movements to make informed trading decisions.
Analysis : Customizable parameters and visual indicators enable detailed analysis of price action and trend identification.
Enhance your chart analysis with this indicator for a clear, data-driven view of percentage changes and their implications for future price movements.
SPX Mapped Gaps [Mxwll]Hello traders 👋
This indicator "SPX Mapped Gaps" detects gaps from the SPX (or the trader's choice of index/asset) and plots them for the asset on your chart!
Features
Selectable comparison symbol
Gaps from the selected symbol (SPX by default) are plotted for the asset on your chart - serving as potential support/resistance levels!
Closest gaps from comparison symbol displayed in upper-right table
Overlapped gaps deleted automatically - less clutter!
How this script works
The "SPX Mapped Gaps" is designed to help traders determine price levels for the asset on their chart where a major index (any asset) gapped up or down.
Of course, a gap that occurs on SPX (4-digit price) is incompatible with the price chart of BTC (5-digit price). To circumvent this, the percentage distance of the gap from SPX is determined, and a gap level is drawn equidistantly (up/down) from the open price of the asset on your chart. With this method, the proportion of the gap is maintained at the price area it occurred for the asset on your chart!
The image above outlines functionality for the indicator!
Key points:
Up gaps are denoted by green boxes
Down gaps are denoted by red boxes
All gaps are listed with their start and end price for the comparison asset (SPX for the example). These labels can be hidden at the user's discretion.
Gaps are expected to act as support/resistance during their lifetime
The image above explains the output of the script, including line style indications!
Solid lines indicate that the leverage used for at your entry price constitutes an active trade. Dotted lines mean the trade has already achieved your profit target for that leverage, or stopped out.
The image above explains the table attached to the indicator!
This table displays the closest gaps to the current asset price. The status (up gap or down gap) from the gap to the current price is also detailed.
Why are gaps on the SPX, or major index, relevant to BTC and other assets?
When a gap on the major indices occurs, it's expected that strong aggregate buying or selling pressure will transpire for BTC and other coins. Due to this, the presence of a gap on a major index might correspond to increased activity on smaller market-cap assets with some degree of positive correlation to the index. Consequently, the price level for the asset at which a gap for the major index occurred may function as support/resistance for future price!
That is all for this - thanks traders!
Machine Learning Adaptive SuperTrend [AlgoAlpha]📈🤖 Machine Learning Adaptive SuperTrend - Take Your Trading to the Next Level! 🚀✨
Introducing the Machine Learning Adaptive SuperTrend , an advanced trading indicator designed to adapt to market volatility dynamically using machine learning techniques. This indicator employs k-means clustering to categorize market volatility into high, medium, and low levels, enhancing the traditional SuperTrend strategy. Perfect for traders who want an edge in identifying trend shifts and market conditions.
What is K-Means Clustering and How It Works
K-means clustering is a machine learning algorithm that partitions data into distinct groups based on similarity. In this indicator, the algorithm analyzes ATR (Average True Range) values to classify volatility into three clusters: high, medium, and low. The algorithm iterates to optimize the centroids of these clusters, ensuring accurate volatility classification.
Key Features
🎨 Customizable Appearance: Adjust colors for bullish and bearish trends.
🔧 Flexible Settings: Configure ATR length, SuperTrend factor, and initial volatility guesses.
📊 Volatility Classification: Uses k-means clustering to adapt to market conditions.
📈 Dynamic SuperTrend Calculation: Applies the classified volatility level to the SuperTrend calculation.
🔔 Alerts: Set alerts for trend shifts and volatility changes.
📋 Data Table Display: View cluster details and current volatility on the chart.
Quick Guide to Using the Machine Learning Adaptive SuperTrend Indicator
🛠 Add the Indicator: Add the indicator to favorites by pressing the star icon. Customize settings like ATR length, SuperTrend factor, and volatility percentiles to fit your trading style.
📊 Market Analysis: Observe the color changes and SuperTrend line for trend reversals. Use the data table to monitor volatility clusters.
🔔 Alerts: Enable notifications for trend shifts and volatility changes to seize trading opportunities without constant chart monitoring.
How It Works
The indicator begins by calculating the ATR values over a specified training period to assess market volatility. Initial guesses for high, medium, and low volatility percentiles are inputted. The k-means clustering algorithm then iterates to classify the ATR values into three clusters. This classification helps in determining the appropriate volatility level to apply to the SuperTrend calculation. As the market evolves, the indicator dynamically adjusts, providing real-time trend and volatility insights. The indicator also incorporates a data table displaying cluster centroids, sizes, and the current volatility level, aiding traders in making informed decisions.
Add the Machine Learning Adaptive SuperTrend to your TradingView charts today and experience a smarter way to trade! 🌟📊
test - ClassificationTensor-Based Classification Experiment
This innovative script represents an experimental foray into classification techniques, specifically designed to analyze returns within a compact time frame. By leveraging tensor-based analytics, it generates a comprehensive table that visually illustrates the distribution of counts across both current and historical bars, providing valuable insights into market patterns.
The script's primary objective is to classify returns over a small window, using this information to inform trading decisions. The output table showcases a normal distribution of count values for each bar in the lookback period, allowing traders to gain a deeper understanding of market behavior and identify potential opportunities.
Key Features:
Experimental classification approach utilizing tensor-based analytics
Compact time frame analysis (small window)
Comprehensive table displaying return counts across current and historical bars
Normal distribution visualization for better insight into market patterns
By exploring this script, traders can gain a deeper understanding of the underlying dynamics driving market movements and develop more effective trading strategies.
Outside Bar ProbabilityOutside Bar Percentage by Hour Indicator
Description:
The "Outside Bar Percentage by Hour" indicator is a powerful tool designed to analyze the occurrence of outside bars within each hour of the trading day. This indicator not only tracks the frequency of these key market events but also provides a detailed breakdown of their distribution, allowing traders to identify potential patterns and key trading hours.
What It Does:
Outside Bar Detection: The indicator identifies "outside bars," which occur when the high of a bar is higher than the previous bar's high, and the low is lower than the previous bar's low. These bars often signal significant market moves and potential reversals.
Hourly Analysis: The script tracks the total number of bars and outside bars for each hour (0 to 23) of the trading day. This granular analysis helps traders pinpoint specific hours when outside bars are more likely to occur.
Percentage Calculation: It calculates the percentage chance of an outside bar occurring for each hour, based on the total bars observed. This percentage provides a clear view of the likelihood of encountering an outside bar within a given hour, which can be critical for timing entries and exits.
Visual Representation: The data is displayed in a table format directly on the chart, showing:
Hour: The specific hour of the day.
Total Bars: The total number of bars observed during each hour.
Outside Bar Count: The number of outside bars detected in that hour.
Percentage: The calculated percentage chance of an outside bar occurring in each hour.
How It Works:
The indicator uses a loop to analyze each bar in real-time, checking if it qualifies as an outside bar. It then records the occurrence in arrays that track data for each hour.
At the start of each new day, the counts are reset to ensure the data remains relevant and accurate.
The percentage chance of an outside bar occurring is computed using the formula: (Outside Bar Count / Total Bar Count) * 100.
The results are neatly organized in a table that updates dynamically, providing traders with real-time insights.
How to Use It:
Identify Key Trading Hours: Use the table to observe the distribution of outside bars across different hours. This can help you identify when significant market moves are more likely to occur.
Time Your Entries and Exits: Understanding the likelihood of outside bars can assist in timing your trades, particularly if you use strategies that rely on volatility or market reversals.
Market Analysis: The percentage data can provide insights into the market's behavior during specific times, helping you refine your trading strategy based on historical patterns.
Concepts Underlying the Calculations:
The script leverages the concept of "outside bars," which are often considered indicators of potential reversals or significant market movements. By analyzing these bars across different hours, the indicator provides a temporal dimension to market analysis, helping traders understand when these pivotal events are most likely to occur.
The detailed hourly breakdown and percentage calculations offer a nuanced view of market activity, making it a valuable tool for traders looking to enhance their timing and strategic decision-making.
This indicator is suitable for all types of traders, including those focused on day trading, swing trading, or even longer-term analysis. It provides a unique perspective on market activity that can complement other technical indicators and analyses.
ADR Study [TFO]This indicator is focused on the Average Daily Range (ADR), with the goal of collecting data to show how often price reaches/closes through these levels, as well as a look at historical moves that reached ADR and at similar times of day to study how price moved for the remainder of the session.
The ADR here (blue line) is calculated using the difference between a day's highest and lowest points. If our ADR length is 5, then we are taking this difference from the last 5 days and averaging them together. At the following day's open, we take half of this average and plot it above and below the daily opening price to place theoretical limits on how far price may move according to the lookback period. The triangles indicate when price has reached ADR (either +ADR or -ADR), and alerts can be created for these events.
The Scale Factor is an optional parameter to scale the ADR by a certain amount. If set to 2 for example, then the ADR would be 2x the average daily range. This value will be reflected in the statistics options so that users can see how different values affect the outcomes.
Show Table will display data collected on how often price reaches these levels, and how often price closes through them, for each day of the week. By default, these are colored as blue and red, respectively. From the following chart of NQ1!, we can see for example that on Mondays, price reached +ADR 38% of the time and closed through it 23% of the time. Note that the statistics for closing through the ADR levels are derived from all instances, not just those that reached ADR.
Show Sample Sizes will display how many instances were collected for all given sets of data. Referring to the same example of NQ1!, we can see that this particular chart has collected data from 109 Mondays. From those Mondays, 41 reached +ADR (38%, verifying our initial claim) and 25 closed through it (23%). This is important to understand the scope of the data that we're working with, as percentages can be misleading for smaller sample sizes.
Show Histogram will plot the same exact data as the table, just in a histogram form to visually emphasize the differences on a day-by-day basis. On this chart of RTY1!, we can see for example from the top histogram that on Wednesdays, 40% reached +ADR and only 22% closed through it. Similarly if we look at the bottom histogram, we can see that Wednesdays reached -ADR 46% of the time and closed through it only 28% of the time.
We can also use Show Sample Sizes to display the same information that would be in the table, showing how many instances were collected for each event. In this case we can see that we observed 175 Fridays, where 76 reached +ADR (43%) and 44 closed above it (25%).
Show Historical Moves is an interesting feature of this script. When enabled, if price has reached +/- ADR in the current session, the indicator will plot the evolution of the close prices from all past sessions that reached +/- ADR to see how they traded for the remainder of the session. These calculations are made with respect to the ADR range at the time that price traded through these levels.
Historical Proximity (Bars) allows the user to observe historical moves where price reached ADR within this many bars of the current session (assuming price has reached an ADR level in the current session). In the above chart, this is set to 1000 so that we can observe each and every instance where price reached an ADR level. However, we can refine this a bit more.
By limiting the Historical Proximity to something like 20, we are only considering historical moves that reached ADR within 20 bars of todays +ADR reach (9:50 am EST, noted by the blue triangle up). We can enable Show Average Move to display the average move by the filtered dataset, and Match +/-ADR to only observe moves inline with the current day's price action (in this case, only moves that reached +ADR, since price has not reached -ADR).
We can add one more filter to this data with the setting Only Show Days That: closed through ADR; closed within ADR; or either. The option either is what you see above, as we are considering both days that closed through ADR and days that closed within it (note that in this case, closing within ADR simply means that price reached +ADR and closed the day below it, and vice versa for -ADR; this does not mean that price must have closed in between +ADR and -ADR). If we set this to only show instances that closed within ADR, we see the following data.
Alternatively, we can choose to Only Show Days That closed through ADR, where we would see the following data. In this case, the average move very much resembles the price action that occurred on this particular day. This is in no way guaranteed, but it makes an interesting case for how we could use this data in our analysis by observing similar, historical price action.
Please note that this data will change over time on a rolling basis due to TradingView's bar lookback, and that for this same reason, lower timeframes will yield less data than larger timeframes.
RH_Previous Session CloseRaghee Horner Previous Session Close (PSC)
The RH_PSC is an automated Previous Session Close (PSC) indicator to show, at a glance, general market sentiment -- whether the market is generally bullish, bearish or neutral --for the current trading session.
The PSC plots the previous session close from the Daily candle, with a customizable table of data to show the previous price, whether or not the current price is above or below that previous close and the percentage move above or below.
It includes the ability to enable only the last session or to plot for all previous sessions continuously.
The data table is configurable for bearish, bullish or sideways coloring and can be moved to different locations to suite users preferences and charts. It can also be fully disabled.
Defaults are to show all previous sessions in a continuous plot and the data table is disabled.
What is “sentiment”?
Market sentiment reflects investors’ overall attitude toward a symbol, influenced by news, economic reports, and perceptions. It can be bullish, bearish, or neutral and significantly affects trading behavior and price movements. Bullish sentiment typically drives prices up, while bearish sentiment can cause them to fall. Understanding market sentiment is key for trend follow-through.
Why does it matter?
Effectively using sentiment allows for quicker, smarter trading decisions. As an active trader, understanding market sentiment is vital for follow-through. It shows real-time investor feelings, affecting price movements. Gauging sentiment helps you:
Anticipate Breakouts.
Time Entries and Exits.
Increase Probability of Continuation.
Trend, Momentum, Volume Delta Ratings Emoji RatingsThis indicator provides a visual summary of three key market conditions - Trend, Momentum, and Volume Delta - to help traders quickly assess the current state of the market. The goal is to offer a concise, at-a-glance view of these important technical factors.
Trend (HMA): The indicator uses a Hull Moving Average (HMA) to assess the overall trend direction. If the current price is above the HMA, the trend is considered "Good" or bullish (represented by a 😀 emoji). If the price is below the HMA, the trend is "Bad" or bearish (🤮). If the price is equal to the HMA, the trend is considered "Neutral" (😐).
Momentum (ROC): The Rate of Change (ROC) is used to measure the momentum of the market. A positive ROC indicates "Good" or bullish momentum (😀), a negative ROC indicates "Bad" or bearish momentum (🤮), and a zero ROC is considered "Neutral" (😐).
Volume Delta: The indicator calculates the difference between the current trading volume and a simple moving average of the volume (Volume Delta). If the Volume Delta is above a user-defined threshold, it is considered "Good" or bullish (😀). If the Volume Delta is below the negative of the threshold, it is "Bad" or bearish (🤮). Values within the threshold are considered "Neutral" (😐).
The indicator displays these three ratings in a compact table format in the top-right corner of the chart. The table uses color-coding to quickly convey the overall market conditions - green for "Good", red for "Bad", and gray for "Neutral".
This indicator can be useful for traders who want a concise, at-a-glance view of the current market trend, momentum, and volume activity. By combining these three technical factors, traders can get a more well-rounded understanding of the market conditions and potentially identify opportunities or areas of concern more easily.
The user can customize the indicator by adjusting the lengths of the HMA, ROC, and Volume moving average, as well as the Volume Delta threshold. The colors used in the table can also be customized to suit the trader's preferences.
Long / Short OI Build Up ntroduction
The "Long / Short OI Build Up" script is designed to identify potential long or short build-up opportunities based on changes in open interest (OI) and price movements. Open interest refers to the total number of outstanding contracts for a financial asset, such as futures or options, that have not been settled. This script provides insights into whether there is a build-up of long positions (bullish sentiment) or short positions (bearish sentiment) in the market.
Script Overview
Indicator Overlay: This script functions as an overlay indicator, meaning it plots its output on the price chart.
Input Customization: Users can customize the symbol for which they want to analyze open interest data. Additionally, they can adjust parameters like the percentage change in open interest and price to define build-up conditions.
Dashboard Display: The script includes a dashboard feature that displays the build-up analysis at a chosen location on the chart.
Build-Up Analysis: Based on the defined criteria, the script identifies whether there is a long build-up (bullish) or short build-up (bearish) scenario. It calculates the change in open interest and price and compares them against user-defined thresholds.
Table Visualization: The results of the analysis are presented in a table format, showing the build-up type, percentage change in open interest, and percentage change in price.
Usage
Override Symbol: Users can choose to override the default symbol for analysis by selecting this option and entering the desired symbol.
Price Change Percentage: Set the percentage change in price that should trigger a build-up signal.
OI Change Percentage: Define the percentage change in open interest necessary to signal a build-up scenario.
Dashboard Location: Choose the location on the chart where the build-up analysis table will be displayed (options include Top Right, Bottom Right, and Bottom Left).
Interpretation
Build Up: Indicates whether there is a long build-up (green) or short build-up (red) based on the defined criteria.
OI Change: Shows the percentage change in open interest relative to the previous value. Positive values are highlighted in green, indicating an increase, while negative values are highlighted in red, indicating a decrease.
Price Change: Displays the percentage change in price relative to the previous close. Positive values are highlighted in green for price increase, while negative values are highlighted in red for price decrease.
Conclusion
The "Long / Short OI Build Up" script provides traders with valuable insights into potential bullish or bearish build-up scenarios based on changes in open interest and price movements. By customizing parameters and visualizing the analysis on a chart dashboard, traders can make more informed decisions regarding their trading strategies.
Higher-timeframe requests█ OVERVIEW
This publication focuses on enhancing awareness of the best practices for accessing higher-timeframe (HTF) data via the request.security() function. Some "traditional" approaches, such as what we explored in our previous `security()` revisited publication, have shown limitations in their ability to retrieve non-repainting HTF data. The fundamental technique outlined in this script is currently the most effective in preventing repainting when requesting data from a higher timeframe. For detailed information about why it works, see this section in the Pine Script™ User Manual .
█ CONCEPTS
Understanding repainting
Repainting is a behavior that occurs when a script's calculations or outputs behave differently after restarting it. There are several types of repainting behavior, not all of which are inherently useless or misleading. The most prevalent form of repainting occurs when a script's calculations or outputs exhibit different behaviors on historical and realtime bars.
When a script calculates across historical data, it only needs to execute once per bar, as those values are confirmed and not subject to change. After each historical execution, the script commits the states of its calculations for later access.
On a realtime, unconfirmed bar, values are fluid . They are subject to change on each new tick from the data provider until the bar closes. A script's code can execute on each tick in a realtime bar, meaning its calculations and outputs are subject to realtime fluctuations, just like the underlying data it uses. Each time a script executes on an unconfirmed bar, it first reverts applicable values to their last committed states, a process referred to as rollback . It only commits the new values from a realtime bar after the bar closes. See the User Manual's Execution model page to learn more.
In essence, a script can repaint when it calculates on realtime bars due to fluctuations before a bar's confirmation, which it cannot reproduce on historical data. A common strategy to avoid repainting when necessary involves forcing only confirmed values on realtime bars, which remain unchanged until each bar's conclusion.
Repainting in higher-timeframe (HTF) requests
When working with a script that retrieves data from higher timeframes with request.security() , it's crucial to understand the differences in how such requests behave on historical and realtime bars .
The request.security() function executes all code required by its `expression` argument using data from the specified context (symbol, timeframe, or modifiers) rather than on the chart's data. As when executing code in the chart's context, request.security() only returns new historical values when a bar closes in the requested context. However, the values it returns on realtime HTF bars can also update before confirmation, akin to the rollback and recalculation process that scripts perform in the chart's context on the open bar. Similar to how scripts operate in the chart's context, request.security() only confirms new values after a realtime bar closes in its specified context.
Once a script's execution cycle restarts, what were previously realtime bars become historical bars, meaning the request.security() call will only return confirmed values from the HTF on those bars. Therefore, if the requested data fluctuates across an open HTF bar, the script will repaint those values after it restarts.
This behavior is not a bug; it's simply the default behavior of request.security() . In some cases, having the latest information from an unconfirmed HTF bar is precisely what a script needs. However, in many other cases, traders will require confirmed, stable values that do not fluctuate across an open HTF bar. Below, we explain the most reliable approach to achieve such a result.
Achieving consistent timing on all bars
One can retrieve non-fluctuating values with consistent timing across historical and realtime feeds by exclusively using request.security() to fetch the data from confirmed HTF bars. The best way to achieve this result is offsetting the `expression` argument by at least one bar (e.g., `close [1 ]`) and using barmerge.lookahead_on as the `lookahead` argument.
We discourage the use of barmerge.lookahead_on alone since it prompts the function to look toward future values of HTF bars across historical data, which is heavily misleading. However, when paired with a requested `expression` that includes a one-bar historical offset, the "future" data the function retrieves is not from the future. Instead, it represents the last confirmed bar's values at the start of each HTF bar, thus preventing the results on realtime bars from fluctuating before confirmation from the timeframe.
For example, this line of code uses a request.security() call with barmerge.lookahead_on to request the close price from the "1D" timeframe, offset by one bar with the history-referencing operator [ ] . This line will return the daily price with consistent timing across all bars:
float htfClose = request.security(syminfo.tickerid, "1D", close , lookahead = barmerge.lookahead_on)
Note that:
• This technique only works as intended for higher-timeframe requests .
• When designing a script to work specifically with HTFs, we recommend including conditions to prevent request.security() from accessing timeframes equal to or lower than the chart's timeframe, especially if you intend to publish it. In this script, we included an if structure that raises a runtime error when the requested timeframe is too small.
• A necessary trade-off with this approach is that the script must wait for an HTF bar's confirmation to retrieve new data on realtime bars, thus delaying its availability until the open of the subsequent HTF bar. The time elapsed during such a delay varies with each market, but it's typically relatively small.
👉 Failing to offset the function's `expression` argument while using barmerge.lookahead_on will produce historical results with lookahead bias , as it will look to the future states of historical HTF bars, retrieving values before the times at which they're available in the feed. See the `lookahead` and Future leak with `request.security()` sections in the Pine Script™ User Manual for more information.
Evolving practices
The fundamental technique outlined in this publication is currently the only reliable approach to requesting non-repainting HTF data with request.security() . It is the superior approach because it avoids the pitfalls of other methods, such as the one introduced in the `security()` revisited publication. That publication proposed using a custom `f_security()` function, which applied offsets to the `expression` and the requested result based on historical and realtime bar states. At that time, we explored techniques that didn't carry the risk of lookahead bias if misused (i.e., removing the historical offset on the `expression` while using lookahead), as requests that look ahead to the future on historical bars exhibit dangerously misleading behavior.
Despite these efforts, we've unfortunately found that the bar state method employed by `f_security()` can produce inaccurate results with inconsistent timing in some scenarios, undermining its credibility as a universal non-repainting technique. As such, we've deprecated that approach, and the Pine Script™ User Manual no longer recommends it.
█ METHOD VARIANTS
In this script, all non-repainting requests employ the same underlying technique to avoid repainting. However, we've applied variants to cater to specific use cases, as outlined below:
Variant 1
Variant 1, which the script displays using a lime plot, demonstrates a non-repainting HTF request in its simplest form, aligning with the concept explained in the "Achieving consistent timing" section above. It uses barmerge.lookahead_on and offsets the `expression` argument in request.security() by one bar to retrieve the value from the last confirmed HTF bar. For detailed information about why this works, see the Avoiding Repainting section of the User Manual's Other timeframes and data page.
Variant 2
Variant 2 ( fuchsia ) introduces a custom function, `htfSecurity()`, which wraps the request.security() function to facilitate convenient repainting control. By specifying a value for its `repaint` parameter, users can determine whether to allow repainting HTF data. When the `repaint` value is `false`, the function applies lookahead and a one-bar offset to request the last confirmed value from the specified `timeframe`. When the value is `true`, the function requests the `expression` using the default behavior of request.security() , meaning the results can fluctuate across chart bars within realtime HTF bars and repaint when the script restarts.
Note that:
• This function exclusively handles HTF requests. If the requested timeframe is not higher than the chart's, it will raise a runtime error .
• We prefer this approach since it provides optional repainting control. Sometimes, a script's calculations need to respond immediately to realtime HTF changes, which `repaint = true` allows. In other cases, such as when issuing alerts, triggering strategy commands, and more, one will typically need stable values that do not repaint, in which case `repaint = false` will produce the desired behavior.
Variant 3
Variant 3 ( white ) builds upon the same fundamental non-repainting approach used by the first two. The difference in this variant is that it applies repainting control to tuples , which one cannot pass as the `expression` argument in our `htfSecurity()` function. Tuples are handy for consolidating `request.*()` calls when a script requires several values from the same context, as one can request a single tuple from the context rather than executing multiple separate request.security() calls.
This variant applies the internal logic of our `htfSecurity()` function in the script's global scope to request a tuple containing open and `srcInput` values from a higher timeframe with repainting control. Historically, Pine Script™ did not allow the history-referencing operator [ ] when requesting tuples unless the tuple came from a function call, which limited this technique. However, updates to Pine over time have lifted this restriction, allowing us to pass tuples with historical offsets directly as the `expression` in request.security() . By offsetting all items in a tuple `expression` by one bar and using barmerge.lookahead_on , we effectively retrieve a tuple of stable, non-repainting HTF values.
Since we cannot encapsulate this method within the `htfSecurity()` function and must execute the calculations in the global scope, the script's "Repainting" input directly controls the global `offset` and `lookahead` values to ensure it behaves as intended.
Variant 4 (Control)
Variant 4, which the script displays as a translucent orange plot, uses a default request.security() call, providing a reference point to compare the difference between a repainting request and the non-repainting variants outlined above. Whenever the script restarts its execution cycle, realtime bars become historical bars, and the request.security() call here will repaint the results on those bars.
█ Inputs
Repainting
The "Repainting" input (`repaintInput` variable) controls whether Variant 2 and Variant 3 are allowed to use fluctuating values from an unconfirmed HTF bar. If its value is `false` (default), these requests will only retrieve stable values from the last confirmed HTF bar.
Source
The "Source" input (`srcInput` variable) determines the series the script will use in the `expression` for all HTF data requests. Its default value is close .
HTF Selection
This script features two ways to specify the higher timeframe for all its data requests, which users can control with the "HTF Selection" input (`tfTypeInput` variable):
1) If its value is "Fixed TF", the script uses the timeframe value specified by the "Fixed Higher Timeframe" input (`fixedTfInput` variable). The script will raise a runtime error if the selected timeframe is not larger than the chart's.
2) If the input's value is "Multiple of chart TF", the script multiplies the value of the "Timeframe Multiple" input (`tfMultInput` variable) by the chart's timeframe.in_seconds() value, then converts the result to a valid timeframe string via timeframe.from_seconds() .
Timeframe Display
This script features the option to display an "information box", i.e., a single-cell table that shows the higher timeframe the script is currently using. Users can toggle the display and determine the table's size, location, and color scheme via the inputs in the "Timeframe Display" group.
█ Outputs
This script produces the following outputs:
• It plots the results from all four of the above variants for visual comparison.
• It highlights the chart's background gray whenever a new bar starts on the higher timeframe, signifying when confirmations occur in the requested context.
• To demarcate which bars the script considers historical or realtime bars, it plots squares with contrasting colors corresponding to bar states at the bottom of the chart pane.
• It displays the higher timeframe string in a single-cell table with a user-specified size, location, and color scheme.
Look first. Then leap.
Sessions Lite [TradingFinder] New York, London, Asia, NYSE Forex🔵 Introduction
A trading session is one of the basic concepts in the financial market that refers to specific time periods. In fact, a session means hours during the day and night, during which traders in a certain part of the world conduct their transactions.
Although the "Forex" and "CFDs" market is open 24 hours a day and it is possible to trade in it, but in some hours the activity in this market decreases so much that many traders prefer not to trade and only watch the market. On the other hand, there are specific times when the market is very busy and dynamic, and many traders tend to trade during these hours of the day and night.
Trading sessions are usually divided into three main categories, which are "Asian", "European" and "North American" sessions. These trading sessions are also called the "Tokyo", "London" and "New York" sessions, respectively. But they also categorized these sessions in more detailed ways such as "Sydney session", "Shanghai session" or "NYSE session".
🔵 Tokyo trading session (Asian session)
After the weekend that happens on Saturday and Sunday, the Forex market starts with the Asian session. In this continent, most of the transactions are done in the Tokyo session, and for this reason, it is usually called the Asian session or the Tokyo session. However, other countries such as Australia, China and Singapore also do a lot of trading in this session.
The Tokyo session has a lower volume of transactions compared to the London and New York sessions, and therefore the liquidity is lower. In this session, most of the Forex currency pairs move in a price range. For this reason, different people use the ups and downs with the trading strategy in the range and get profit.
The low liquidity of the Tokyo session means that trading spreads are also higher during these hours. Besides, most of the transactions of this session are done in the early hours and at the same time as the planned news release.
In the Tokyo or Asia session, the best currency pairs to trade are the "Japanese yen", the "Australian dollar", and the "New Zealand dollar".
"Nikkei" index is also a good option for trading. If you trade in the Tokyo session, you should also be aware of the release of economic news and data from Australian, New Zealand and Japanese financial institutions.
🔵 London trading session (European session)
After the Asian session, it is time for the European session. In this period of time, transactions are very large and many European markets are involved. However, the European session is usually known as the London session.
Because of its specific time zone, London is not only known as the Forex trading center in Europe, but it is also known as the Forex trading center in the world. The London session overlaps with two other major trading sessions in the world, Asia and America. This means that most of the Forex transactions are done in this session. According to the latest statistics, 32% of Forex transactions are related to the London session, which shows that about a third of the activity performed in Forex takes place during this period.
This will increase the volume of Forex transactions and increase liquidity. An event that causes the spread of transactions to decrease. Of course, high liquidity also leads to greater volatility, which is desirable for many traders.
In the European session, the pound and euro currencies and the "DAX", "FTSE100", and "CAC40" indices are known as the best tradable assets. Also, traders of this session should pay attention to the news and data published by the "European Central Bank" and the "Bank of England". The news of countries like Germany, France and Italy are also very important.
🔵 American trading session (New York session)
When the New York session begins, several hours have passed since the end of the Tokyo session, but the European session is in the middle. In this session, they usually affect the financial activities carried out in America, but they also affect other countries such as Canada, Mexico and several South American countries.
The "US dollar" and stock indices such as "S&P", "Dow Jones" and "Nasdaq" are the most important assets that are traded in this session.
The early hours of the American session have a lot of liquidity and volatility due to the overlap with the European session, but with the end of the European session, the activity in the American session also decreases.
You can trade all major Forex currency pairs in the New York trading session. In this session, the "Federal Reserve", as the most important central bank in the world, is the institution that you should pay attention to its news and data.
The trading session indicator is an analytical tool in the financial markets that is used to display and analyze specific trading periods during a day. These indicators are generally useful for determining support and resistance levels during any trading session and for detecting different trading patterns.
For example, usually these indicators display the open and close price levels, the highest and lowest prices during a trading session. Also, you may notice various price patterns such as price channels, price phase phases and market trend changes during different trading sessions using these indicators.
🔵 cause of construction
In particular, the session light indicator version is designed and built for those traders who use many different tools on their chart at the same time. These traders can include "Volume Traders", "ICT traders", "Day Traders" and... These individuals can use "Session Lite" without disturbing the display of their other trading tools such as "Order Blocks", "Liquidity", "Zigzag", "FVG" etc.
But in general, there are several reasons for making tools like trading session indicators in financial markets, some of which include the following :
1. Analysis of specific time frames : Some traders and investors like to consider specific time frames for price analysis and review. For example, analyzing price changes during each trading session can help analyze trading patterns and identify trading opportunities.
2. Recognize different price patterns : Different price patterns may be observed during trading sessions. Trading session indicators can help to make better trading decisions by analyzing these patterns and their strengths and weaknesses.
3. Identifying Support and Resistance Levels : These tools may help to identify support and resistance levels during any trading session which can be helpful in deciding whether to enter or exit the market.
🔵 How to use
The Session Lite indicator displays 8 sessions by default. Asia session, Sydney session, Tokyo session, Shanghai session, Europe session, London session, New York session and New York Stock Exchange (NYSE) session are the sessions that are displayed.
You can activate or deactivate the display of each session by using the tick button next to the name of each session.
Two gray vertical dashes are also displayed by default, which indicate the beginning of the European session and the New York session. This feature is available for all sessions, but it is enabled by default only for these two sessions, and you can activate it for the rest of the session. You can enable or disable the display of this line by using the Start Session tick key.
Likewise, the information table is displayed by default, which includes the open or closed information of each session and the start and end times of each session. These timings are based on the UTC time zone.
Accordingly, the schedule of trading sessions is as follows :
Asia session from 23:00 to 06:00
Sydney session from 23:00 to 05:00
Tokyo session from 00:00 to 00:06
Shanghai session from 01:30 to 06:57
European session from 07:00 to 16:30
London session from 08:00 to 16:30
New York session from 13:00 to 22:00
New York Stock Exchange (NYSE) session from 14:30 to T 22:00
Important note : the beginning of the European session coincides with the opening of the Frankfurt market.
🔵 Settings
• In the settings section, there are customization capabilities according to the type of use of each user. The settings related to showing or not showing the box of each session, the start indicator of each session, setting the start and end time of the session and choosing the desired color to display each session are among the things that can be set from this section.
• At the end of the settings, you will see the "Info Table" option; By disabling this option, the "sessions" clock table displayed on the upper right side will be disabled.