lib_session_gapsLibrary "lib_session_gaps"
simple lib to calculate the gaps between sessions
time_gap()
calculates the time gap between this and previous session (in case of irregular end of previous session, considering extended sessions)
Returns: the time gap between this and previous session in ms (time - time_close )
bar_gap()
calculates the bars missing between this and previous session (in case of irregular end of previous session, considering extended sessions)
Returns: the bars virtually missing between this and previous session (time gap / bar size in ms)
Sessions
KillZones + ACD Fisher [TradingFinder] Sessions + Reversal Level🔵 Introduction
🟣 ACD Method
"The Logical Trader" opens with a thorough exploration of the ACD Methodology, which focuses on pinpointing particular price levels associated with the opening range.
This approach enables traders to establish reference points for their trades, using "A" and "C" points as entry markers. Additionally, the book covers the concept of the "Pivot Range" and how integrating it with the ACD method can help maximize position size while minimizing risk.
🟣 Session
The forex market is operational 24 hours a day, five days a week, closing only on Saturdays and Sundays. Typically, traders prefer to concentrate on one specific forex trading session rather than attempting to trade around the clock.
Trading sessions are defined time periods when a particular financial market is active, allowing for the execution of trades.
The most crucial trading sessions within the 24-hour cycle are the Asia, London, and New York sessions, as these are when substantial money flows and liquidity enter the market.
🟣 Kill Zone
Traders in financial markets earn profits by capitalizing on the difference between their buy/sell prices and the prevailing market prices.
Traders vary in their trading timelines.Some traders engage in daily or even hourly trading, necessitating activity during periods with optimal trading volumes and notable price movements.
Kill zones refer to parts of a session characterized by higher trading volumes and increased price volatility compared to the rest of the session.
🔵 How to Use
🟣 Session Times
The "Asia Session" comprises two parts: "Sydney" and "Tokyo." This session begins at 23:00 and ends at 06:00 UTC. The "Asia KillZone" starts at 23:00 and ends at 03:55 UTC.
The "London Session" includes "Frankfurt" and "London," starting at 07:00 and ending at 14:25 UTC. The "London KillZone" runs from 07:00 to 09:55 UTC.
The "New York" session starts at 14:30 and ends at 19:25 UTC, with the "New York am KillZone" beginning at 14:30 and ending at 22:55 UTC.
🟣 ACD Methodology
The ACD strategy is versatile, applicable to various markets such as stocks, commodities, and forex, providing clear buy and sell signals to set price targets and stop losses.
This strategy operates on the premise that the opening range of trades holds statistical significance daily, suggesting that initial market movements impact the market's behavior throughout the day.
Known as a breakout strategy, the ACD method thrives in volatile or strongly trending markets like crude oil and stocks.
Some key rules for employing the ACD strategy include :
Utilize points A and C as critical reference points, continually monitoring these during trades as they act as entry and exit markers.
Analyze daily and multi-day pivot ranges to understand market trends. Prices above the pivots indicate an upward trend, while prices below signal a downward trend.
In forex trading, the ACD strategy can be implemented using the ACD indicator, a technical tool that gauges the market's supply and demand balance. By evaluating trading volume and price, this indicator assists traders in identifying trend strength and optimal entry and exit points.
To effectively use the ACD indicator, consider the following :
Identifying robust trends: The ACD indicator can help pinpoint strong, consistent market trends.
Determining entry and exit points: ACD generates buy and sell signals to optimize trade timing.
Bullish Setup :
When the "A up" line is breached, it’s wise to wait briefly to confirm it’s not a "Fake Breakout" and that the price stabilizes above this line.
Upon entering the trade, the most effective stop loss is positioned below the "A down" line. It's advisable to backtest this to ensure the best outcomes. The recommended reward-to-risk ratio for this strategy is 1, which should also be verified through backtesting.
Bearish Setup :
When the "A down" line is breached, it’s prudent to wait briefly to ensure it’s not a "Fake Breakout" and that the price stabilizes below this line.
Upon entering the trade, the most effective stop loss is positioned above the "A up" line. Backtesting is recommended to confirm the best results. The recommended reward-to-risk ratio for this strategy is 1, which should also be validated through backtesting.
Advantages of Combining Kill Zone and ACD Method in Market Analysis :
Precise Trade Timing : Integrating the Kill Zone strategy with the ACD Method enhances precision in trade entries and exits. The ACD Method identifies key points for trading, while the Kill Zone focuses on high-activity periods, together ensuring optimal timing for trades.
Better Trend Identification : The ACD Method’s pivot ranges help spot market trends, and when combined with the Kill Zone’s emphasis on periods of significant price movement, traders can more effectively identify and follow strong market trends.
Maximized Profits and Minimized Risks : The ACD Method's structured approach to setting price targets and stop losses, coupled with the Kill Zone's high-volume trading periods, helps maximize profit potential while reducing risk.
Robust Risk Management : Combining these methods provides a comprehensive risk management strategy, strategically placing stop losses and protecting capital during volatile periods.
Versatility Across Markets : Both methods are applicable to various markets, including stocks, commodities, and forex, offering flexibility and adaptability in different trading environments.
Enhanced Confidence : Using the combined insights of the Kill Zone and ACD Method, traders gain confidence in their decision-making process, reducing emotional trading and improving consistency.
By merging the Kill Zone’s focus on trading volumes and the ACD Method’s structured breakout strategy, traders benefit from a synergistic approach that enhances precision, trend identification, and risk management across multiple markets.
ICT KillZones + Pivot Points [TradingFinder] Support/Resistance 🟣 Introduction
Pivot Points are critical levels on a price chart where trading activity is notably high. These points are derived from the prior day's price data and serve as key reference markers for traders' decision-making processes.
Types of Pivot Points :
Floor
Woodie
Camarilla
Fibonacci
🔵 Floor Pivot Points
Widely utilized in technical analysis, floor pivot points are essential in identifying support and resistance levels. The central pivot point (PP) acts as the primary level, suggesting the trend's likely direction.
The additional resistance levels (R1, R2, R3) and support levels (S1, S2, S3) offer further insight into potential trend reversals or continuations.
🔵 Camarilla Pivot Points
Featuring eight distinct levels, Camarilla pivot points closely correspond with support and resistance, making them highly effective for setting stop-loss orders and profit targets.
🔵 Woodie Pivot Points
Similar to floor pivot points, Woodie pivot points differ by placing greater emphasis on the closing price, often resulting in different pivot levels compared to the floor method.
🔵 Fibonacci Pivot Points
Fibonacci pivot points combine the standard floor pivot points with Fibonacci retracement levels applied to the previous trading period's range. Common retracement levels used are 38.2%, 61.8%, and 100%.
🟣 Sessions
Financial markets are divided into specific time segments, known as sessions, each with unique characteristics and activity levels. These sessions are active at different times throughout the day.
The primary sessions in financial markets include :
Asian Session
European Session
New York Session
The timing of these major sessions in UTC is as follows :
Asian Session: 23:00 to 06:00
European Session: 07:00 to 14:25
New York Session: 14:30 to 22:55
🟣 Kill Zones
Kill zones are periods within a session marked by heightened trading activity. During these times, trading volume surges and price movements become more pronounced.
The timing of the major kill zones in UTC is :
Asian Kill Zone: 23:00 to 03:55
European Kill Zone: 07:00 to 09:55
New York Kill Zone: 14:30 to 16:55
Combining kill zones and pivot points in financial market analysis provides several advantages :
Enhanced Market Sentiment Analysis : Aligns key price levels with high-activity periods for a clearer market sentiment.
Improved Timing for Trade Entries and Exits : Helps better time trades based on when price movements are most likely.
Higher Probability of Successful Trades : Increases the accuracy of predicting market movements and placing profitable trades.
Strategic Stop-Loss and Profit Target Placement : Allows for precise risk management by strategically setting stop-loss and profit targets.
Versatility Across Different Time Frames : Effective in both short and long time frames, suitable for various trading strategies.
Enhanced Trend Identification and Confirmation : Confirms trends using both pivot levels and high-activity periods, ensuring stronger trend validation.
In essence, this integrated approach enhances decision-making, optimizes trading performance, and improves risk management.
🟣 How to Use
🔵 Two Approaches to Trading Pivot Points
There are two main strategies for trading pivot points: utilizing "pivot point breakouts" and "price reversals."
🔵 Pivot Point Breakout
When the price breaks through pivot lines, it signals a shift in market sentiment to the trader. In the case of an upward breakout, where the price crosses these pivot lines, a trader might enter a long position, placing their stop-loss just below the pivot point (P).
Conversely, if the price breaks downward, a short position can be initiated below the pivot point. When using the pivot point breakout strategy, the first and second support levels can serve as profit targets in an upward trend. In a downward trend, these roles are filled by the first and second resistance levels.
🔵 Price Reversal
An alternative method involves waiting for the price to reverse at the support and resistance levels. To implement this strategy, traders should take positions opposite to the prevailing trend as the price rebounds from the pivot point.
While this tool is commonly used in higher time frames, it tends to produce better results in shorter time frames, such as 1-hour, 30-minute, and 15-minute intervals.
Three Strategies for Trading the Kill Zone
There are three principal strategies for trading within the kill zone :
Kill Zone Hunt
Breakout and Pullback to Kill Zone
Trading in the Trend of the Kill Zone
🔵 Kill Zone Hunt
This strategy involves waiting until the kill zone concludes and its high and low lines are established. If the price reaches one of these lines within the same session and is strongly rejected, a trade can be executed.
🔵 Breakout and Pullback to Kill Zone
In this approach, once the kill zone ends and its high and low lines stabilize, a trade can be made if the price breaks one of these lines decisively within the same session and then pulls back to that level.
🔵 Trading in the Trend of the Kill Zone
Kill zones are characterized by high trading volumes and strong trends. Therefore, trades can be placed in the direction of the prevailing trend. For instance, if an upward trend dominates this area, a buy trade can be entered when the price reaches a demand order block.
TimeFilterLibrary "TimeFilter"
provides utilities for dates and times
inSession(session, timezone, period)
Parameters:
session (simple string)
timezone (simple string)
period (simple string)
Returns: bool inSession Whether the current time is within the defined time session
inDateRange(startDate, endDate)
Parameters:
startDate (int)
endDate (int)
Returns: bool inRange Whether the current time is within the defined date range
isWeekDay(weekDay, timezone)
Parameters:
weekDay (int)
timezone (simple string)
Returns: bool isWeekDay Whether the provided day is the current day of the week
inWeek(useMon, useTue, useWed, useThu, useFri, useSat, useSun, timezone)
Parameters:
useMon (bool)
useTue (bool)
useWed (bool)
useThu (bool)
useFri (bool)
useSat (bool)
useSun (bool)
timezone (simple string)
Returns: bool inWeek Whether the current time is one of the defined days
filter(useRange, useSession, useWeek, inRange, inSession, inWeek)
Parameters:
useRange (bool)
useSession (bool)
useWeek (bool)
inRange (bool)
inSession (bool)
inWeek (bool)
Returns: bool filter Whether the filter matches or not
ICT Times [joshu]This TradingView indicator provides a comprehensive view of ICT killzones, Silver Bullet times, and ICT Macros, enhancing your trading experience.
In those time windows price either seeks liquidity or imbalances and you often find the most energetic price moves and turning points.
Features:
Automatic Adaptation: The ICT killzones intelligently adapt to the specific chart you are using. For Forex charts, it follows the ICT Forex times:
Asia: 2000-0000
London: 0200-0500
New York: 0700-1000
London Close: 1000-1200
For other charts, it uses the following session times:
Asia: 2000-0000
London: 0200-0500
New York AM: 0830-1100
New York PM: 1330-1600
Silver Bullet Times:
0300-0400
1000-1100
1400-1500
How to Use:
Simply apply the indicator to your chart, and the session boxes and Silver Bullet times will be plotted automatically.
Horizontal Sessions - B A N K $This is a simple indicator that has been designed to aid intraday trading and has only 1 function;
Information ℹ️
This indicator prints Horizontal Lines in a separate chart pane above/below for the 3 main session killzones in the markets; Asia, London & New York + Optimal Exit Time.
The indicator is only visible up to and including the 1h timeframe.
Settings ⚙️
The default timings are set to perfectly align with each session killzone however the Start & End times for each session can be changed in the settings.
You can change the colour & line thickness of the horizontal lines in the settings.
Session [ShuZik]The Trading Sessions Indicator is a tool that draws smart boxes around the ranges of four trading sessions.
By default, it is set to display the Asian, Frankfurt London and New York sessions in UTC+3 time.
Users can customize:
the time for each session,
Enable/Disable the appearing of sessions box,
change smart box color
The indicator is designed for use on 5-minute timeframe but is working for use from 1 minute to 1 hour.
All parameters, such as session times, the number of sessions, and colors, can be adjusted through the settings, allowing the indicator to be tailored to any trading style and user preferences. It is primarily aimed at working with forex and cryptocurrency markets.
KillZones Hunt + Sessions [TradingFinder] Alert & Volume Ranges🟣 Introduction
🔵 Session
Financial markets are divided into various time segments, each with its own characteristics and activity levels. These segments are called sessions, and they are active at different times of the day.
The most important active sessions in financial markets are :
1. Asian Session
2. European Session
3. New York Session
The timing of these major sessions based on the UTC time zone is as follows :
1. Asian Session: 23:00 to 06:00
2. European Session: 07:00 to 16:30
3. New York Session: 13:00 to 22:00
Note
To avoid overlap between sessions and interference in kill zones, we have adjusted the session timings as follows :
• Asian Session: 23:00 to 06:00
• European Session: 07:00 to 14:25
• New York Session: 14:30 to 22:55
🔵 Kill Zones
Kill zones are parts of a session where trader activity is higher than usual. During these periods, trading volume increases and price fluctuations are more intense.
The timing of the major kill zones based on the UTC time zone is as follows :
• Asian Kill Zone: 23:00 to 03:55
• European Kill Zone: 07:00 to 09:55
• New York Morning Kill Zone: 14:30 to 16:55
• New York Evening Kill Zone: 19:30 to 20:55
This indicator focuses on tracking the kill zone and its range. For example, once a kill zone ends, the high and low formed during it remain unchanged.
If the price reaches the high or low of the kill zone while the session is still active, the corresponding line is not drawn any further. Based on this information, various strategies can be developed, and the most important ones are discussed below.
🟣 How to Use
There are three main ways to trade based on the kill zone :
• Kill Zone Hunt
• Breakout and Pullback to Kill Zone
• Trading in the Trend of the Kill Zone
🔵 Kill Zone Hunt
According to this strategy, once the kill zone ends and its high and low lines no longer change, if the price reaches one of these lines within the same session and is strongly rejected, a trade can be entered.
🔵 Breakout and Pullback to Kill Zone
According to this strategy, once the kill zone ends and its high and low lines no longer change, if the price breaks one of these lines strongly within the same session, a trade can be entered on the pullback to that level.
Trading in the Trend of the Kill Zone
We know that kill zones are areas where high-volume trading occurs and powerful trends form. Therefore, trades can be made in the direction of the trend. For example, when an upward trend dominates this area, you can enter a buy trade when the price reaches a demand order block.
🟣 Features
🔵 Alerts
You can set alerts to be notified when the price hits the high or low lines of the kill zone.
🔵 More Information
By enabling this feature, you can view information such as the time and trading volume within the kill zone. This allows you to compare the trading volume with the same period on the previous day or other kill zones.
🟣 Settings
Through the settings, you have access to the following options :
• Show or hide additional information
• Enable or disable alerts
• Show or hide sessions
• Show or hide kill zones
• Set preferred colors for displaying sessions
• Customize the time range of sessions
• Customize the time range of kill zones
KillZones & Sessions [TradingFinder] Volume | Asia, London & NY🔵 Introduction
🟣 Session
The forex market operates 24 hours a day, 5 days a week, with only Saturdays and Sundays being off; traders often focus on one of the forex trading sessions instead of trying to trade in all markets 24 hours a day.
Trading sessions are time intervals during which a specific financial market is active and trades are conducted. The Asia, London, and New York sessions are the most important trading sessions throughout the 24-hour period, during which a significant amount of money and liquidity enters the market.
🟣 Kill Zone
Traders in financial markets profit from the difference between the price at which they buy or sell and the current market price. Traders have different time horizons for trading.
Among these, some traders engage in daily or even hourly trading and must operate during times when the market has desirable trading volumes and significant price movements.
Kill zones are segments of a session with higher trading volumes and price fluctuations compared to the rest of the session.
🔵 How to Use
🟣 Session Time
The "Asia Session" consists of two sessions: "Sydney" and "Tokyo." The beginning of this session, according to the "UTC" time zone, is at 23:00 and ends at 06:00. Similarly, the beginning of the "Asia KillZone," according to the "UTC" time zone, is at 23:00, and it ends at 03:55.
The "London Session" consists of two sessions: "Frankfurt" and "London." The beginning of this session, according to the "UTC" time zone, is at 07:00, and it ends at 14:25. Similarly, the beginning of the "London KillZone," according to the "UTC" time zone, is at 07:00, and it ends at 09:55.
The beginning of the "New York am" session, according to the "UTC" time zone, is at 14:30, and it ends at 19:25. Similarly, the beginning of the "New York am KillZone," according to the "UTC" time zone, is at 14:30, and it ends at 16:55.
The beginning of the "New York pm" session, according to the "UTC" time zone, is at 19:30, and it ends at 22:55. Similarly, the beginning of the "New York pm KillZone," according to the "UTC" time zone, is at 19:30, and it ends at 20:55.
Important : To prevent session overlap, the working hours of each session have slightly changed.
🔵 Features
🟣 Simultaneous Session and Kill Zone
With this indicator, you can simultaneously view the kill zone and session. High and low lines are used to indicate sessions, while filled areas with color represent kill zones. If you do not want to see kill zones, you can turn off the display settings.
🟣 Candle, Time, and Volume
Using the "More Info" feature, you can see the number of candles, elapsed time, and traded volume within the colored filled area.
🔵 Settings
•Show More Info: To display "More Info," you need to turn on this feature and turn it off whenever you don't need it.
• You can also customize these settings for each session separately :
o Display or hide session.
o Choose session color.
o Set session time range.
o Display or hide kill zone.
o Set kill zone time range.
Sessions KillZones Library [TradingFinder]🔵 Introduction
"The Forex Trading Sessions" highlight the active periods across different markets where significant trading volume and influence on the forex market are evident. The primary trading sessions globally include the "Asian Session," "London Session," and "New York Session."
A "Kill Zone" refers to a segment within a session characterized by high trading volume and notably sharper price movements. Consequently, there's a higher probability of encountering price action setups within these zones. Traders capitalize on this phenomenon in pursuit of more successful trading outcomes.
If you aim to integrate sessions or kill zones into your indicators or strategies, utilizing this library can amplify the precision and efficiency of your Python script development.
🔵 How to Use
First, you can add the library to your code as shown in the example below:
import TFlab/SessionAndKillZoneLibrary_TradingFinder/1
🟣 Parameters
SessionDetector(Session_Name, Session_Time, KillZone_Time, Session_Show, KillZone_Show, AreaUpdate, MoreInfo, Session_Color, Info_Color) =>
Parameters:
•Session_Name (string)
•Session_Time (string)
•KillZone_Time (string)
•Session_Show (bool)
•KillZone_Show (bool)
•AreaUpdate (string)
•MoreInfo (bool)
•Session_Color (color)
•Info_Color (color)
Session_Name : You must enter the session name in this parameter.
Session_Time : Enter here the start and end time of the session, which should be based on the UTC time zone.
KillZone_Time : Enter the start and end times of the kill zone, which should be based on the UTC time zone, here.
Session_Show : You can control whether or not to show the session using this entry. You must set true to display and false to not display.
KillZone_Show : Using this input you can control whether the kill zone is displayed or not. You must set true to display and false to not display.
AreaUpdate : If you want the session to be determined based on the time and high and low of the session itself, you must enter "Session" and if you want the area to be determined based on the time and high and low of the kill zone, you must enter "Kill Zone".
MoreInfo : If you want more information, you should set this entry to true, otherwise set to false. This information includes the number of candles in the area, the length of time in the area and the volume of transactions in the area.
Session_Color : Enter your desired color to display the session at this section. It is recommended to use bright and sharp colors.
Info_Color : Enter your desired color to display more information in this section.
🔵 Function Outputs
The outputs of this function are direct and indirect.
🟣 Indirect outputs
These outputs include session display, kill zone display, and time and volume information of session or kill zone.
🟣 Direct outputs
There are 8 direct outputs, which are:
Session Time : If the Session is active, it outputs 1, and if the Session is inactive, it outputs 0.
Kill Zone Time : If the Kill Zone is active, it outputs 1, and if the Kill Zone is inactive, it outputs 0.
Open : Session opening price.
High : The highest price of the session.
Low : The lowest price of the session.
Close : The last price of the session.
Low Touch Alert : If "Area Update" is in "Kill Zone" mode, if the price reaches the lowest price of the kill zone in the same session after the end of the kill zone, this output will be true. You can use this output to create an alert.
High Touch Alert : If "Area Update" is in "Kill Zone" mode, if the price reaches the highest price of the kill zone in the same session after the end of the kill zone, this output will be true. You can use this output to create an alert.
Important : To use "Open", "High", "Low" and "Close", "Area Update" must be in "Session" mode.
NY Killzone (Morning, Lunch, Afternoon)Indicator for New York session that splits Morning, Lunch and Afternoon part of the session.
Works on Time Frames of 30m and below.
Session TimesDescription:
This indicator simply when enabled will draw dashed lines at each of the session openings. This is based on UTC+1 Time. There will be lines at 00:00 & 08:00 (Asian Session), lines at 08:00 & 13:00 (London Session) and finally lines at 13:00 & 00:00 (New York Session).
Potential Use:
There are many ways you could use this indicator to benefit your trading, but the best way I find is that it makes it clear where the previous highs and lows are of a session, which are potential areas you could trade off. Obviously, there are many other ways you can use this to help you.
How The Script Works:
The way the script works isn't too complicated as it is only a short script. Simply it firstly calculates what are the weekdays (Whenever it isn't Saturday or Sunday). Then from there simply finds the times which I mentioned above, and adds a vertical dashed line there.
Future Updates:
In the future I will mainly be looking to make the indicator more customisable. Firstly, I will look to make it so that the user can adjust the times that the lines are drawn at so it still works wherever you are in the world. I would also like to make it so the user can choose the colour of the lines. If you have any other additions you would like added to this, then feel free to message me.
Relative Average Extrapolation [ChartPrime]Relative Average Extrapolation (ChartPrime) is a new take on session averages, like the famous vwap . This indicator leverages patterns in the market by leveraging average-at-time to get a footprint of the average market conditions for the current time. This allows for a great estimate of market conditions throughout the day allowing for predictive forecasting. If we know what the market conditions are at a given time of day we can use this information to make assumptions about future market conditions. This is what allows us to estimate an entire session with fair accuracy. This indicator works on any intra-day time frame and will not work on time frames less than a minute, or time frames that are a day or greater in length. A unique aspect of this indicator is that it allows for analysis of pre and post market sessions independently from regular hours. This results in a cleaner and more usable vwap for each individual session. One drawback of this is that the indicator utilizes an average for the length of a session. Because of this, some after hour sessions will only have a partial estimation. The average and deviation bands will work past the point where it has been extrapolated to in this instance however. On low time frames due to the limited number of data points, the indicator can appear noisy.
Generally crypto doesn't have a consistent footprint making this indicator less suitable in crypto markets. Because of this we have implemented other weighting schemes to allow for more flexibility in the number of use cases for this indicator. Besides volume weighting we have also included time, volatility, and linear (none) weighting. Using any one of these weighting schemes will transform the vwap into a wma, volatility adjusted ma, or a simple moving average. All of the style are still session period and will become longer as the session progresses.
Relative Average Extrapolation (ChartPrime) works by storing data for each time step throughout the day by utilizing a custom indexing system. It takes the a key , ie hour/minute, and transforms it into an array index to stor the current data point in its unique array. From there we can take the current time of day and advance it by one step to retrieve the data point for the next bar index. This allows us to utilize the footprint the extrapolate into the future. We use the relative rate of change for the average, the relative deviation, and relative price position to extrapolate from the current point to the end of the session. This process is fast and effective and possibly easier to use than the built in map feature.
If you have used vwap before you should be familiar with the general settings for this indicator. We have made a point to make it as intuitive for anyone who is already used to using the standard vwap. You can pick the source for the average and adjust/enable the deviation bands multipliers in the settings group. The average period is what determines the number of days to use for the average-at-time. When it is set to 0 it will use all available data. Under "Extrapolation" you will find the settings for the estimation. "Direction Sensitivity" adjusts how sensitive the indicator is to the direction of the vwap. A higher number will allow it to change directions faster, where a lower number will make it more stable throughout the session. Under the "Style" section you will find all of the color and style adjustments to customize the appearance of this indicator.
Relative Average Extrapolation (ChartPrime) is an advanced and customizable session average indicator with the ability to estimate the direction and volatility of intra-day sessions. We hope you will find this script fascinating and useful in your trading and decision making. With its unique take on session weighting and forecasting, we believe it will be a secret weapon for traders for years to come.
Enjoy
Timeframe Marker - know when timeframes start/end
When you're on a lower timeframe, it's important to know which timeframes are starting/ending.
Timeframe Marker will display a bars that stack notifying you of your chosen timeframes.
For example, if you're on the one minute chart or another low timeframe, you'll be aware of the larger timeframes are about to begin or start.
It's always good to select the lowest timeframe first in ascending order so that the lowest bar is the lowest timeframe and bars that stack on top are larger timeframes.
The default timeframes are:
• 5 minutes (green)
• 15 minutes (yellow)
• 1 hour (orange)
• 4 hour (red)
• daily (blue)
• weekly (purple)
• monthly (gray)
If your chart's timeframe is higher than the timeframe marker you've selected, then it won't display a bar stack for that timeframe as it would normally display on every bar (this is to avoid clutter).
The future timeframe marks basically will offset to future timeframes. Set how many bars forward you'd like to see.
Time Bound Trading SessionsTime Bound Trading Sessions allows to add time bound conditions to your trading sessions given a date range , a time range and/or days of the week .
This indicator can be very handy if you want to control your trading sessions along those three time boundaries, applying them together and/or separately.
Feel free to reuse this code in your own strategy, and leverage the inSession condition as needed.
Features
+ It allows for date range start and/or end to be set.
+ It allows for session time range to be set.
+ It allows for days of the week to be set.
+ It applies chart background color if we are not within the given time bound session parameters.
+ It includes turn on/off functionality.
Settings
Date Range
+ {Start} checkbox: turns on/off start date
+ {Start} date/time
+ {End} checkbox: turns on/off end date
+ {End} date/time
Time Range
+ {Session} checkbox: turns on/off session time range
+ {Session} time range
Days
+ {M} checkbox: turns on/off Mondays
+ {T} checkbox: turns on/off Tuesdays
+ {W} checkbox: turns on/off Wednesdays
+ {T} checkbox: turns on/off Thursdays
+ {F} checkbox: turns on/off Fridays
+ {S} checkbox: turns on/off Saturdays
+ {S} checkbox: turns on/off Sundays
Globbex Session IdTThis indicator allows you to visualize a specific period of time, marking the maximums and minimums they have had.
Additionally, it marks the change of day (NY Time).
The base configuration that the Indicator brings, shows the Globbex session, obtaining the maximum and minimum that it has had.
Marks the London/NY Session Intersection.
Settings
Inputs
Session
Globbex Session Idt
• From HH:MM
• To HH:MM
Globbex Session Check box
o Shows or Hide Session
Display Hour
• Mark - Number of hours after Globbex Session Ends
• We use it to shows the London/NY Session Intersection
Timezone Offset UTC – 4 NY
DIVIDERS
Daily Divider Check box
Style
Background Color checkbox
o Shows or Hide Session
o Can choose the background color
Globbex Low checkbox
o Shows or Hide Low Line
o Can choose the Low Line color
Globbex High checkbox
o Shows or Hide High Line
o Can choose the High Line color
[KVA] Custom Sessions Custom Sessions: Multi-Timeframe Analysis & Key Level Insights
Introduction:
Introducing " Custom Sessions," an innovative Pine Script indicator meticulously crafted to empower traders by offering an advanced level of analysis on various global trading sessions. This tool is designed not just to highlight trading sessions but to delve deeper into the nuances of market movements by analyzing candlestick behavior within those sessions, offering a nuanced view of market trends, liquidity, and potential turning points.
Core Features :
Session Customization : Tailor trading sessions to align with your strategy, focusing on the markets that matter most to you. Whether it's London, New York, Tokyo, Sydney, or Frankfurt, you have the control.
Enhanced Market Insight : Beyond session timing, gain a refined understanding of market dynamics through detailed candlestick analysis within each session, providing a granular view of price action.
Comprehensive Analysis Tools : Alongside session analysis, the indicator includes features like VWAP (Volume Weighted Average Price) and Fibonacci retracement levels, offering a multifaceted approach to market analysis across chosen timeframes.
VWAP : Gain insights into the market's trend and liquidity by viewing the Volume Weighted Average Price calculated for the custom timeframe.
Fibonacci Retracement Levels : Easily identify potential reversal points with automatically plotted Fibonacci levels at 0.236, 0.382, 0.5, 0.618, and 0.782for each candle
Real-Time Updates : As the market moves, so does " Custom Sessions," offering real-time insights that adapt to the unfolding market conditions.
Utilization Guide :
Configure Your Sessions : Begin by setting up the sessions that are most relevant to your trading approach, customizing their times as needed.
Select the Desired Timeframe : Input your preferred higher timeframe to analyze data that is most relevant to your trading strategy.
Dive into the Details : Use the detailed candlestick analysis within sessions to pinpoint potential entry and exit points, supported by VWAP and Fibonacci levels for deeper market insight.
Customize Your View : Adjust the visual aspects of the indicator, including session color coding and which elements to display, tailoring the tool to your preferences.
Acknowledgements :
A special thanks to Aurocks_AIF for their foundational work on "Sessions on Chart" . This project has been an invaluable resource, inspiring the development of " Custom Sessions" and pushing the boundaries of traditional session analysis.
Final Thoughts :
" Custom Sessions" is more than just an indicator; it's a comprehensive analysis tool that brings a new depth to the understanding of market sessions. By offering detailed insights into the behavior of candles within these sessions, along with essential analysis features, this indicator is a must-have for traders seeking to enhance their technical analysis arsenal.
Whether you're a day trader looking to capture short-term movements or a long-term investor seeking broader market insights, this indicator offers valuable data visualization to enhance your trading decisions. By integrating highs, lows, VWAP, and Fibonacci levels into your analysis, you gain a comprehensive view of market behavior across different timeframes and sessions
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.
Session breakThis indicator will show future lines before each session start. It will only show London session and US session start.
You can change the color of the lines and time as per day light savings.
Session Levels Predictor [LuxAlgo]The "Session Levels Predictor" indicator predicts the maximum/minimum levels that will be made within a user-specified session. Hit rate percentages are displayed to measure how often a specific level has been hit.
🔶 USAGE
The indicator can be used to estimate the expected maximum/minimum levels within a specified session, these are directly displayed at the start of a session. This operation can be useful to set take profits/stop losses levels when we expect to exit within a specific session.
Users can display up to 3 upper and lower extremities on their chart (by default only 2 upper and lower extremities are displayed), with their distance from the session opening price being determined by the user-set percentile setting, values closer to 100 will return levels farther away from the session opening price.
Predicting maximum/minimum levels effectively allows obtaining support/resistance levels for the user-defined session, with a breakout probability indicating how easy it can be for the price to reach the estimated levels. These levels can be extended outside the specified session, allowing to test their relevancy as support/resistance levels to prices outside the specified sessions.
🔶 DETAILS
To predict maximum/minimum levels made within a session we keep a record of the distance between a session's maximum/minimum value and the session opening price (opening price when the session starts).
By using the percentile_nearest_rank() on our recorded distances we draw levels from the session opening price. If a level is hit between 2 sessions, this is saved for further calculations.
Lastly, a % hit rate of these levels is shown at the sessions open, indicating the probability that these levels could be hit before the next session.
🔹 array.percentile_nearest_rank()
Returns the value for which the specified percentage of array values (percentile) is less than or equal to it, using the nearest-rank method.
For example, taking the 75th percentile from our recorded distances between the maximum session level and session opening price will return a new distance where 75% of the recorded distances are lower.
The same goes for the green session's open - low levels
🔶 SETTINGS
Session: User-defined session interval, uses the symbol timezone.
Percentile (1, 2, 3): K-th percentile used to estimate session max/min levels, higher values will return more distant levels.
Max Population: Maximum amount of recorded distance data for the calculation of percentiles.
🔹 Style
Extend Middle Line: Toggle to extend the blue Middle Line to the next session - Default disabled
Session Sweeps [LuxAlgo]The Session Sweeps indicator combines ICT-based features for a complete trading methodology involving market sessions, market structure, and fair value gaps to find optimal entry conditions for trading price action.
Traders frequently tend to place stop/limit orders at the high and low points of major trading sessions such as Asian (Tokyo), European (London), and North American (New York), resulting in the establishment of liquidity pools at those particular levels. The Session Sweeps indicator is crafted to recognize and underscore occurrences of session sweeps or liquidity sweeps during these major trading sessions.
🔶 USAGE
Default settings utilize major forex trading sessions, yet users can select their preferred opening and closing times, rename the sessions, or adjust the colors. It's important to note that the specified times for each session align with the respective local timezones: Asian (Tokyo) UTC+9, European (London) UTC, and North American (New York) UTC-5.
If the price briefly crosses either the highest or lowest point of a market session. These movements, aiming at triggering stop losses, suggest potential shifts in the market direction. Detecting such movements is the fundamental purpose and core functionality of the script.
🔹Market Structure Shifts
A Market Structure Shift refers to a change in market direction, either from an uptrend to a downtrend or vice versa. A part of a common entry model when using session sweeps is waiting for the formation of a CHoCH after a session sweep.
🔹Fair Value Gaps
A Fair Value Gap (FVG) holds particular appeal for price action traders, emerging when there are inefficiencies or imbalances in the market, often a result of uneven buying and selling activity. The underlying concept of FVGs is that the market tends to revisit these inefficiencies before resuming its trajectory in alignment with the initial impulsive move.
After the formation of a CHoCH traders can enter a position when the price enters the area of a Fair Value Gap (FVG).
🔹Setup Examples
This entry setup is commonly used by ICT traders and is shared for informational & educational purposes only.
Long Positions (5-Minute Timeframe):
Wait for the previous session's low to be swept.
Look for a Bullish Choch.
Find a Bullish FVG formed by or before the Choch.
Entry Point: At the FVG.
Take Profit (TP): At the session high or aim for a 1:2 Risk-Reward Ratio.
Stop Loss (SL): At the session low or nearest Swing Low.
Take partial profits at intermediate swings, but don’t shift SL prematurely.
Short Positions (5-Minute Timeframe):
Wait for the previous session's high to be swept.
Look for a Bearish Choch.
Find a FVG formed by or before the Choch.
Entry Point: At the FVG.
Take Profit (TP): At the previous session's low or aim for a 1:2 RR.
Stop Loss (SL): At the session high or nearest Swing High.
Take partial profits at intermediate swings, but don’t shift SL prematurely.
🔶 SETTINGS
🔹Session Sweeps
Buyside Sweep Zones, Color, and Margin: toggles the visibility of bullside sweep zones, customizes the associated color, and sets the margin value defining the range of a bullside sweep zone.
Sellside Sweep Zones, Color, and Margin: toggles the visibility of sell-side sweep zones, customizes the associated color, and sets the margin value defining the range of a sell-side sweep zone.
Sweep Margin Length: specifies the maximum allowed length of a sweep zone invalidation, the length over which the price slightly invalidated the margin range.
Detect Sweeps Once per Session: if enabled will detect only once a sweep zone within a session.
Hide Fake Sweep Zones, and Color: controls the visibility and color of the fake sweep zones.
🔹Sessions
Session (Asia, London, New York AM, and New York PM), Start Time, and End Time: enables or disables the visibility of the named market session range, and customization of the session hours.
Color: color customization option of the named session.
Extend Max/Min: extends the highest and lowest price levels of the named session until the end of the next enabled session. This option is recommended to be enabled when sweep zone detection is activated to observe the relationship between the sweep zone and previous session extreme levels.
Extend Mid: extends the mean price levels of the named session until the end of the next enabled session. The extended line may serve as potential support and resistance levels.
Fill: enables/disables background coloring of the named session.
New York DST | London DST: enabling this option initiates Daylight Saving Time (DST) for New York or London. Note: Daylight Saving Time is not applied to the Asian (Tokyo) session.
Sessions Extreme Lines | Sessions Names: toggles the visibility of the highest and lowest price levels, as well as the names, for all market sessions.
Session Lines Width: sets the width of the lines for all sessions.
Session Fill Transparency: sets the background color transparency of the range for all sessions.
🔹Market Structure Shifts
Market Structure Shifts: toggles the visibility of market structure shifts, also known as change of character (CHoCH).
Detection Length: specifies the detection length.
Market Structure Shifts; Bull & Bear: color customization options.
🔹Fair Value Gaps
Fair Value Gaps: toggles the visibility of the fair value gaps.
Fair Value Gap Width Filter: specifies the filtering multiplier; additional details can be found in the tooltip of the respective input option.
Bullish & Bearish Imbalance: color customization options.
🔹Sessions Tabular View
Sessions Tabular View: toggles the visibility of the tabular view of the sessions, displaying date &time, status, and countdown counter.
Hide if not Forex Market Instrument: checks the market and automatically enables/disables the option based on the market instrument.
Table Text Size & Position: size and placement customization options
🔶 LIMITATIONS
Please be aware that fair value gap filtering cannot be applied to the initial 144 candles (with a fixed-length ATR) as the ATR value necessary for filtering won't be available during this period.
🔶 RELATED SCRIPTS
Buyside-Sellside-Liquidity
Sessions
Liquidity-Voids-FVG
Thank you to our community for the recommendation of this script. To explore additional conceptual scripts and related content, we invite you to visit >>> LuxAlgo-Scripts .
Sessions [TradingFinder] New York, London, Tokyo & Sydney ForexTiming is one of the influential factors in a trader's position. This indicator categorizes transactions into three sessions (Asia, Europe, and America). Five significant trading cities (New York, London, Frankfurt, Tokyo, and Sydney) are selectable.
I recommend using the tool on a 5-minute time frame, but it is usable on all time frames.
Settings:
• Trading sessions: Display or hide each trading session as needed.
• Color: Change the color of each box.
• Session time intervals: The default is based on the main working hours for each time interval and can be adjusted.
• Information table: Delete or display additional information table.
Information Table:
• Trading sessions
• Opening and closing times of each trading session
How to Use:
Initiating trading sessions involves entering with increased liquidity, and the market usually experiences significant movements. Many trading strategies are based on "time" and "session openings." This tool empowers traders to focus intensely on each time interval.
These trading sessions are crucial for all Forex, stock, and index traders:
The total price ceiling and floor in the Asia session (Tokyo and Sydney) are crucial for traders in the European session.
The European session starts with Frankfurt, and an hour later, London begins, collectively forming the European session.
The dashboard provides additional information, displaying hours based on UTC.
Customization options are considered in all sections so that everyone can apply their own settings.
Important: Default times are the most accurate for each region, and in most indicators, this time is not correctly selected. Therefore, the level of influence and time intervals are specified at the beginning of each session. If you are using another indicator, match its default time to the announced time and share the results with me in the comments.
VWAP RangeThe VWAP Range indicator is a highly versatile and innovative tool designed with trading signals for trading the supply and demand within consolidation ranges.
What's a VWAP?
A VWAP (Volume Weighted Average Price) represents an equilibrium point in the market, balancing supply and demand over a specified period. Unlike simple moving averages, VWAP gives more weight to periods with higher volume. This is crucial because large volumes indicate significant trading activity, often by institutional traders, whose actions can reflect deeper market insights or create substantial market movements. The VWAP is also often used as a benchmark to evaluate the efficiency of executed trades. If a trader buys below the VWAP and sells above it, they are generally considered to have transacted favourably.
This is how it works:
Multiple VWAP Anchors:
This indicator uses multiple VWAPs anchored to different optional time periods, such as Daily, Weekly, Monthly, as well as to the highest high a lowest low within those periods. This multiplicity allows for a comprehensive view of the market’s average price based on volume and price, tailored to different trading styles and strategies.
Dynamic and Fixed Periods:
Traders can choose between using dynamic ranges, which reset at the start of each selected period, and specifying a date and time for a particular fixed range to trade. This flexibility is crucial for analyzing price movements within specific ranges or market phases.
Fixed ranges allow VWAPs to be calculated and anchored to a significant market event, the beginning of a consolidation phase or after a major news announcement.
Signal Generation:
The indicator generates buy and sell signals based on the relationship of the price to the VWAPs. It also allows for setting a maximum number of signals in one direction to avoid overtrading or pyramiding. Be sure to wait for the candle close before trading on the signals.
Average Buy/Sell Signal Lines:
Lines can be plotted to display the average buy and sell signal prices. The difference between the lines shows the average profit per trade when trading on the signals in that range. It's a good way to see how profitable a range is on average without backtesting the signals. The lines will also often turn into support and resistance areas, similar to value areas in a volume profile.
Customizable Settings:
Traders have control over various settings, such as the VWAP calculation method and bar color. There are also tooltips for every function.
Hidden Feature:
There's a subtle feature in this indicator: if you have 'Indicator values' turned on in TradingView, you'll see a Sell/Buy Ratio displayed only in the status line. This ratio indicates whether there are more sell signals than buy signals in a range, regardless of the Max Signals setting. A red value above 1 suggests that the market is trending upward, indicating you might want to hold your long positions a bit longer. Conversely, a green value below 1 implies a downward trend.
chrono_utilsLibrary "chrono_utils"
📝 Description
Collection of objects and common functions that are related to datetime windows session days and time ranges. The main purpose of this library is to handle time-related functionality and make it easy to reason about a future bar checking if it will be part of a predefined session and/or inside a datetime window. All existing session functionality I found in the documentation e.g. "not na(time(timeframe, session, timezone))" are not suitable for strategy scripts, since the execution of the orders is delayed by one bar, due to the script execution happening at the bar close. Moreover, a history operator with a negative value that looks forward is not allowed in any pinescript expression. So, a prediction for the next bar using the bars_back argument of "time()"" and "time_close()" was necessary. Thus, I created this library to overcome this small but very important limitation. In the meantime, I added useful functionality to handle session-based behavior. An interesting utility that emerged from this development is data anomaly detection where a comparison between the prediction and the actual value is happening. If those two values are different then a data inconsistency happens between the prediction bar and the actual bar (probably due to a holiday, half session day, a timezone change etc..)
🤔 How to Guide
To use the functionality this library provides in your script you have to import it first!
Copy the import statement of the latest release by pressing the copy button below and then paste it into your script. Give a short name to this library so you can refer to it later on. The import statement should look like this:
import jason5480/chrono_utils/2 as chr
To check if a future bar will be inside a window first of all you have to initialize a DateTimeWindow object.
A code example is the following:
var dateTimeWindow = chr.DateTimeWindow.new().init(fromDateTime = timestamp('01 Jan 2023 00:00'), toDateTime = timestamp('01 Jan 2024 00:00'))
Then you have to "ask" the dateTimeWindow if the future bar defined by an offset (default is 1 that corresponds th the next bar), will be inside that window:
// Filter bars outside of the datetime window
bool dateFilterApproval = dateTimeWindow.is_bar_included()
You can visualize the result by drawing the background of the bars that are outside the given window:
bgcolor(color = dateFilterApproval ? na : color.new(color.fuchsia, 90), offset = 1, title = 'Datetime Window Filter')
In the same way, you can "ask" the Session if the future bar defined by an offset it will be inside that session.
First of all, you should initialize a Session object.
A code example is the following:
var sess = chr.Session.new().from_sess_string(sess = '0800-1700:23456', refTimezone = 'UTC')
Then check if the given bar defined by the offset (default is 1 that corresponds th the next bar), will be inside the session like that:
// Filter bars outside the sessions
bool sessionFilterApproval = view.sess.is_bar_included()
You can visualize the result by drawing the background of the bars that are outside the given session:
bgcolor(color = sessionFilterApproval ? na : color.new(color.red, 90), offset = 1, title = 'Session Filter')
In case you want to visualize multiple session ranges you can create a SessionView object like that:
var view = SessionView.new().init(SessionDays.new().from_sess_string('2345'), array.from(SessionTimeRange.new().from_sess_string('0800-1600'), SessionTimeRange.new().from_sess_string('1300-2200')), array.from('London', 'New York'), array.from(color.blue, color.orange))
and then call the draw method of the SessionView object like that:
view.draw()
🏋️♂️ Please refer to the "EXAMPLE DATETIME WINDOW FILTER" and "EXAMPLE SESSION FILTER" regions of the script for more advanced code examples of how to utilize the full potential of this library, including user input settings and advanced visualization!
⚠️ Caveats
As I mentioned in the description there are some cases that the prediction of the next bar is not accurate. A wrong prediction will affect the outcome of the filtering. The main reasons this could happen are the following:
Public holidays when the market is closed
Half trading days usually before public holidays
Change in the daylight saving time (DST)
A data anomaly of the chart, where there are missing and/or inconsistent data.
A bug in this library (Please report by PM sending the symbol, timeframe, and settings)
Special thanks to @robbatt and @skinra for the constructive feedback 🏆. Without them, the exposed API of this library would be very lengthy and complicated to use. Thanks to them, now the user of this library will be able to get the most, with only a few lines of code!