Casa_SessionsLibrary "Casa_Sessions"
Advanced trading session management library that enhances TradingView's default functionality:
Key Features:
- Accurate session detection for futures markets
- Custom session hour definitions
- Drop-in replacements for standard TradingView session functions
- Flexible session map customization
- Full control over trading windows and market hours
Perfect for traders who need precise session timing, especially when working
with futures markets or custom trading schedules.
SetSessionTimes(session_type_input, custom_session_times_input, syminfo_type, syminfo_root, syminfo_timezone)
Parameters:
session_type_input (simple string) : Input string for session selection:
- 'Custom': User-defined session times
- 'FX-Tokyo': Tokyo forex session
- 'FX-London': London forex session
- 'FX-New York': NY forex session
- 'Overnight Session (ON)': After-hours trading
- 'Day Session (RTH)': Regular trading hours
custom_session_times_input (simple string) : Session parameter for custom time windows
Only used when session_type_input is 'Custom'
syminfo_type (simple string)
syminfo_root (simple string)
syminfo_timezone (simple string)
Returns:
session_times: Trading hours for selected session
session_timezone: Market timezone (relevant for forex)
getSessionMap()
Get futures trading session hours map
Keys are formatted as 'symbol:session', examples:
- 'ES:market' - Regular trading hours (RTH)
- 'ES:overnight' - Extended trading hours (ETH)
- 'NQ:market' - NASDAQ futures RTH
- 'CL:overnight' - Crude Oil futures ETH
Returns: Map
Key: Symbol:session identifier
Value: Session hours in format "HH:MM-HH:MM"
getSessionString(session, symbol, sessionMap)
Returns a session string representing the session hours (and days) for the requested symbol (or the chart's symbol if the symbol value is not provided). If the session string is not found in the collection, it will return a blank string.
Parameters:
session (string) : A string representing the session hour being requested. One of: market (regular trading hours), overnight (extended/electronic trading hours), postmarket (after-hours), premarket
symbol (string) : The symbol to check. Optional. Defaults to chart symbol.
sessionMap (map) : The map of futures session hours. Optional. Uses default if not provided.
inSession(session, sessionMap, barsBack)
Returns true if the current symbol is currently in the session parameters defined by sessionString.
Parameters:
session (string) : A string representing the session hour being requested. One of: market (regular trading hours), overnight (extended/electronic trading hours), postmarket (after-hours), premarket
sessionMap (map) : The map of futures session hours. Optional. Uses default if not provided.
barsBack (int) : Private. Only used by futures to check islastbar. Optional. The default is 0.
ismarket(sessionMap)
Returns true if the current bar is a part of the regular trading hours (i.e. market hours), false otherwise. Works for futures (TradingView's methods do not).
Parameters:
sessionMap (map) : The map of futures session hours. Optional. Uses default if not provided.
Returns: bool
isfirstbar()
Returns true if the current bar is the first bar of the day's session, false otherwise. If extended session information is used, only returns true on the first bar of the pre-market bars. Works for futures (TradingView's methods do not).
Returns: bool
islastbar()
Returns true if the current bar is the last bar of the day's session, false otherwise. If extended session information is used, only returns true on the last bar of the post-market bars. Works for futures (TradingView's methods do not).
Returns: bool
ispremarket(sessionMap)
Returns true if the current bar is a part of the pre-market, false otherwise. On non-intraday charts always returns false. Works for futures (TradingView's methods do not).
Parameters:
sessionMap (map) : The map of futures session hours. Optional. Uses default if not provided.
Returns: bool
ispostmarket(sessionMap)
Returns true if the current bar is a part of the post-market, false otherwise. On non-intraday charts always returns false. Works for futures (TradingView's methods do not).
Parameters:
sessionMap (map) : The map of futures session hours. Optional. Uses default if not provided.
Returns: bool
isfirstbar_regular(sessionMap)
Returns true on the first regular session bar of the day, false otherwise. The result is the same whether extended session information is used or not. Works for futures (TradingView's methods do not).
Parameters:
sessionMap (map) : The map of futures session hours. Optional. Uses default if not provided.
Returns: bool
islastbar_regular(sessionMap)
Returns true on the last regular session bar of the day, false otherwise. The result is the same whether extended session information is used or not. Works for futures (TradingView's methods do not).
Parameters:
sessionMap (map) : The map of futures session hours. Optional. Uses default if not provided.
Returns: bool
isovernight(sessionMap)
Returns true if the current bar is a part of the pre-market or post-market, false otherwise. On non-intraday charts always returns false.
Parameters:
sessionMap (map) : The map of futures session hours. Optional. Uses default if not provided.
Returns: bool
getSessionHighAndLow(session, sessionMap)
Returns a tuple containing the high and low print during the specified session.
Parameters:
session (string) : The session for which to get the high & low prints. Defaults to market.
sessionMap (map) : The map of futures session hours. Optional. Uses default if not provided.
Returns: A tuple containing
getSessionHigh(session, sessionMap)
Convenience function to return the session high. Necessary if you want to call this function from within a request.security expression where you can't return a tuple.
Parameters:
session (string) : The session for which to get the high & low prints. Defaults to market.
sessionMap (map) : The map of futures session hours. Optional. Uses default if not provided.
Returns: The high of the session
getSessionLow(session, sessionMap)
Convenience function to return the session low. Necessary if you want to call this function from within a request.security expression where you can't return a tuple.
Parameters:
session (string) : The session for which to get the high & low prints. Defaults to market.
sessionMap (map) : The map of futures session hours. Optional. Uses default if not provided.
Returns: The low of the session
Cerca negli script per "sessions"
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
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
Week designationThe script is primarily used for visualizing the beginning and end of the week. It is particularly helpful when working with time intervals shorter than one day. In a very simple and clear manner, you can see when a specific week has started. This makes it easier to assess the market sentiment in a short timeframe.
Here are the operating principles of this script:
Initialization:
The script begins with initialization, where basic parameters and settings such as line colors and line style are defined.
Determining the Session Start:
The startSession(hour, minute) function is used to calculate the starting time of a session on the chart. Sessions can be divided into different time intervals, such as the daily session (D), weekly session (W), and monthly session (M).
Checking for Session Start:
The script checks if a new session is starting. If so, a vertical line is inserted on the chart to mark the beginning of that session.
isSessionStart checks for the start of the daily session.
isSessionStart_2 checks for the start of the weekly session.
isSessionStart_3 checks for the start of the monthly session.
Marking Mondays:
The script checks if the current day is Monday (the day of the week number 2 represents Monday).
If the current session is starting or it is Monday, a vertical line is inserted on the chart with the day designation (color color_day).
Marking Lines on the Chart:
The lines inserted on the chart are vertical and have a specified style and color, which can be customized in the settings.
Incomplete Session Candle - Incomplete Timeframe Candle Marker The "Incomplete Session Candle - Incomplete Timeframe Candle Marker" is an advanced tool tailored for technical analysts who understand the importance of accurate timeframes in their charting. While the indicator is not limited to the Indian market, its genesis is rooted in the nuances of trading sessions like those in India, which span 375 minutes from 9:15 AM to 3:30 PM.
Key Features:
Detects if the current timeframe is intraday (minutes or hours).
Calculates the expected duration of the candle for the chosen timeframe.
Highlights candles that don't achieve their expected session duration by placing a cross shape above the bar.
Compatible across various intraday timeframes, aiding traders in spotting discrepancies promptly.
Why We Made This: Not Just for India:
While we looked at the Indian market, this indicator works everywhere. Regular timeframes like 30 minutes, 1 hour, and 2 hours often end with incomplete candles, especially at the end of the trading day. For example:
A 30-minute timeframe makes 13 candles, but the last one is only 15 minutes long.
A 1-hour timeframe shows 7 candles, but the last one is just the last 15 minutes.
By switching to different timeframes like 25 minutes, 75 minutes, and 125 minutes, you get more complete information for better trading decisions. Learn more about this in our article: "Power of 25, 75, and 125-Minute Timeframes in the Indian Market", recognized by Trading View's Editors' Pick.
Benefits:
The indicator extends its benefits even to users without access to certain timeframes. It accommodates traders using a 1-hour timeframe (pertaining to Indian traders). By employing this indicator, traders consistently remain mindful of incomplete candles within their chosen timeframe
For those who utilize concepts like RBR, RBD, DBR, and DBD, this indicator is paramount. An incomplete candle can skew analysis, leading to potential misinterpretations of base or leg candles.
Final thoughts:
In markets like the Indian stock market, adopting such a tool is not just beneficial, but necessary. Whether you have access to unconventional timeframes or are using traditional ones, recognizing and accounting for the limitations of incomplete candles is critical & it's important to know if your candles fit the timeframe properly. This indicator gives you a better view of the market, which helps you make smarter trades.
Lastly, Thank you for your support! Your likes & comments. If you want to give any feedback then you can give in comment section.
Let's conquer the markets together!
Forex Session OverlapApplies gray background coloring for each major active Forex session, the more sessions active the lighter the background. Adjusted coloring for low (Sydney, Tokyo) and high (Frankfurt, London, New York) liquidity. Market opening hours for Sydney, Tokyo, Frankfurt, London and New York have been set to 08:00 - 17:00 local time and are converted to EST while taking daylight saving time into account across regions (REMEMBER: configure manually!). Sessions can be turned on or off separately. By default this indicator hides itself in larger time-frames (>30min by default). Enabling session breaks or daily pivots helps distinguish between sessions.
Global Sessions with Trend & Liquidity Features:
-Session ranges with customizable lines & colors
-Opening range markers and optional background shading
-Automatic trend detection per session (Bullish / Bearish / Neutral)
-Indicators when highs/lows are broken
-Clean visual design with toggles for minimal or detailed display
This Pine Script code is designed to help traders visualize and analyze different market sessions. It's a tool that displays the trading hours for the Asian, London, and New York sessions right on the chart.
The main purpose is to show when these key markets are open and to highlight their price ranges. It also includes features to track the trend within each session and to identify "liquidity sweeps" or moments when the price breaks the high or low of a previous session.
In simple terms, it helps a trader see what the market is doing and where the price is likely to go, all based on the major global trading times. It's especially useful for day traders who want to align their strategies with the activity of specific markets.
P.S. Apologies to users not in the EST timezone! This version is hardcoded to Eastern Standard Time, and I'm not currently sure how to automatically adjust it for different timezones. But you can adjust manually and click the dropdown menu to Save As Default.
Prior sessions High/Low/MidThis indicator highlights the High, Low, and Midpoint of the most recently completed trading sessions. It helps traders visualize key price levels from the previous session that often act as support, resistance, or reaction zones.
It draws horizontal lines for the high and low of the last completed session, as well as the midpoint, which is calculated as the average of the high and low. These lines extend to the right side of the chart, remaining visible as reference levels throughout the day.
You can independently enable or disable the Tokyo, London, and New York sessions depending on your preferences. Each session has adjustable start and end times, as well as time zone settings, so you can align them accurately with your trading strategy.
This indicator is particularly useful for intraday and swing traders who use session-based levels to define market structure, bias, or areas of interest. Session highs and lows often align with institutional activity and can be key turning points in price action.
Please note that this script is designed to be used only on intraday timeframes such as 1-minute to 4-hour charts. It will not function on daily or higher timeframes.
Live SessionsLive sessions plots the highs and lows of the previous for sessions.
It also marks when these are broken by price.
Default Time Frames are:
London Session = "0000-0600", "UTC-4"
New York Session = "0830-1230", "UTC-4"
Asia Session = "1800-0000", "UTC-4"
New York Close Session = "1330-1630", "UTC-4"
Useful for highlighting when price has gone through a previous session high or low and quickly seeing where liquidity still lies.
Pre and Market OpeningsPre and Market Openings is to enable you to quickly visualize the opening markets and how they could influence trading.
The below script has used the market time data from the below links:
Tokyo/Asia www.tradinghours.com
London www.tradinghours.com
New York www.tradinghours.com
The below script aims to plot:
Daily Asia Open
Weekly Asia Open
Daily London Open
Weekly London Open
Daily New York Open
Weekly New York Open
Using background colour it also shows market sessions (pre-market) for London and New York and regular for London, New York and Asia.
There is also plotted text for days of the week and sessions.
As you can see from the picture below that these market openings can act as support and resistance:
BTC
ETH
Simple Market Session by GavThis is a simple script to highlight market sessions.
It highlights Sydney, Tokyo, London, and New York sessions with transparent background colors.
You are able to change session times, color, and transparency.
A Multi 10 indicatorREAD NOTE BEFORE APPLYING or you may think indicator doesnt work.
This indicator is a revise of another i made and contains 10 Optional Indicators allowing you to load more then 3 indicators at once if you so choose and dont pay for the platform!
Hopefully someone will find use for this script besides me :) I dont suggest turning all on at once because it
will not look right. Alot will overlap if you wish but i only use the Session and trend bar at once in
conjuction with a Oscillator setting like MacD , RSI , Stoch , Aroon or CCI .
In the chart you see i only have a few indicators active ENJOY!!
---------- NOTE ----------- ( Everything is OFF by default and indicator SHOULD show up BLANK when loaded) ------------ NOTE -------------
(Can turn EVERYTHING on AND change any values in the format tab once indicator loads)
Indicators included are listed below
Sessions, including, NY session, Aussie session, Asian session, and Europe market sessions.
MacD Split Colored , aroon oscillator
CCI Oscillator , classic aroon
RSI Oscillator , Elliot wave
Stoch RSI Oscillator , ATR%
My own Trend bar
---------- NOTE ----------- ( Everything is OFF by default and indicator SHOULD show up BLANK when loaded) ------------ NOTE -------------
(Can turn EVERYTHING on AND change any values in the format tab once indicator loads) CODE probably looks messey but this is something i made for me so i didnt really care lol
Worldwide Sessions and Open Range BreakoutThis script shows when the various normal market hours for each of the major worldwide markets (Asia, New York, and London). It also draws a line on the opening range for each of these market sessions. The opening range defaults to the first 15 minutes of the session, but this can be customized.
This script does automatically handle the session times regardless of your time zone or what time frame you are on. No need to set anything! This probably can't handle non-normal trading days, such as partial days.
This script is made for futures, but would likely work for other markets, like Forex.
TradeJorno - Time + Price Levels
Tired of manually drawing and updating important ICT or SMC time and price levels on your charts every day?
Here’s an indicator to draw important TIME and PRICE levels automatically.
Here’s what you can highlight in realtime on your charts:
1. Previous major highs and lows
⁃ Previous daily and weekly highs and low
- Weekly dividing lines
2. Session highs/lows
⁃ Plot the high and low of Asia and London sessions.
⁃ Customise the timeframe and appearance on the chart.
- Previous session settlement price.
3. Various price levels
⁃ Pre-market opening prices : midnight, 7:30 and 8:30
⁃ Regular market opening prices: 9:30, 10:00, 14:00
- end of session settlement prices
4. Market opening range high and low
⁃ Lines extending throughout the current session
⁃ Customise the timeframe and appearance on the chart.
5. ICT Macro times
- Draw customisable vertical lines and labels to indicate the start of each ICT macro
period.
Let us know in the comments below if there’s anything else we need to add!
London ORB + Session High/Low + FVGLondon ORB + Session High/Low + FVG
📘 Script Description: London ORB + Session High/Low + Fair Value Gap
This script is designed to assist intraday traders during the London session open by combining:
🕒 1. Opening Range Breakout (ORB)
Captures the high and low of the first 15-minute candle after the London open (08:00–08:15 GMT).
Draws lines and labels for the ORB High and Low levels.
Detects breakouts above or below the ORB and plots a triangle signal at the breakout bar.
🌐 2. Asian & US Session Levels
Automatically marks the highs and lows of the Asian (00:00–06:00 GMT) and US (13:30–20:00 GMT) sessions.
Useful for identifying prior session liquidity zones, key support/resistance levels, and potential reaction areas.
📉 3. Fair Value Gaps (FVG)
Highlights imbalances in price action between non-overlapping candles (also known as FVGs or inefficiencies).
Draws a shaded box between candles where gaps exist:
Green for bullish FVGs
Red for bearish FVGs
🔔 4. Alert Support
Optional alerts are built in for:
Long breakout (price breaks above ORB)
Short breakout (price breaks below ORB)
🎯 Use Case
Perfect for:
Day traders looking to capitalize on early volatility at the London open
Traders using liquidity-based strategies, retests, or gap-fills
Visualizing and aligning with prior session highs/lows for structure and context
ATT + Key Levels with SessionsKey Features:
ATT Turning Point Numbers:
This input allows the user to define specific numbers (e.g., "3,11,17,29,41,47,53,59") that mark turning points in price action, which are checked using the bar_index modulo 60. If the current bar index matches one of these turning points, it triggers potential buy or sell signals.
RSI (Relative Strength Index):
The RSI is calculated based on a user-defined period (rsi_period), typically 14, and used to indicate overbought or oversold conditions. The script defines overbought (70) and oversold (30) levels, which are used to filter buy or sell signals.
Session Times:
The script includes predefined session times for major trading markets:
New York: From 9:30 AM EST to 4:00 PM EST.
London: From 8:00 AM GMT to 4:30 PM GMT.
Asia: From 12:00 AM GMT to 9:00 AM GMT.
These session times are used to restrict the buy and sell signals to specific market sessions.
Key Levels:
The script calculates and plots key market levels for the current day and week:
Daily High and Low: The highest and lowest prices of the current day.
Weekly High and Low: The highest and lowest prices of the current week.
These levels are plotted with different colors for visual reference.
Signal Logic:
Buy Signal: Triggered when the current bar is a turning point (according to the ATT model), the RSI is below the oversold threshold, and the current time is within the active session times (New York, London, or Asia).
Sell Signal: Triggered when the current bar is a turning point, the RSI is above the overbought threshold, and the current time is within the active session times.
Signal Limitations:
A user-defined limit (max_signals_per_session) controls the maximum number of signals that can be plotted within each session. This prevents excessive signal generation.
Plotting and Background Highlights:
Buy and Sell Signals: The script plots shapes (labels) above or below the bars to indicate buy or sell signals when the conditions are met.
Background Highlight: The background color is highlighted in yellow when the current bar matches one of the defined ATT turning points.
In Summary:
The indicator combines multiple technical factors to generate trading signals:
Turning points in price action (based on custom ATT numbers),
RSI levels (overbought/oversold),
Market session times (New York, London, Asia),
Key price levels (daily and weekly highs and lows).
This combination helps traders identify potential buying and selling opportunities while considering broader market dynamics and limiting the number of signals during each session.
Igor Sessions Average Candle RangeCalculated Average Candle Range for Igor Sessions. Resets average at these time UTC: 00:00, 06:00, 12:00, 20:00.
Session AverageThis indicator finds the average time of High or Low formed in sessions.
This is a request from trader @Salmanmahmood15 . You need permission from him to fully use it
Custom Colored Session (Pre, Open, Close, Post, Outside)Another script enabling coloring of sessions. Variables for all session timings and colors are exposed. Backgrounds and/or dividers can be enabled. If you only want dividers, just uncheck all of the background sections.
Note: Due to the way weekends are handled on some exchanges, displaying the divider on Friday is not possible.
Note: Displaying backgrounds or dividers in the future does not seem to be possible. I would gladly add this if I can figure it out.
One for AllOne for All (OFA) - Complete ICT Analysis Suite
Version 3.3.0 by theCodeman
📊 Overview
One for All (OFA) is a comprehensive TradingView indicator designed for traders who follow Inner Circle Trader (ICT) concepts. This all-in-one tool combines essential ICT analysis features—sessions, kill zones, previous period levels, and higher timeframe candles with Fair Value Gaps (FVGs) and Volume Imbalances (VIs)—into a single, highly customizable indicator. Whether you're a beginner learning ICT concepts or an experienced trader refining your edge, OFA provides the visual structure needed for precise market analysis and execution.
✨ Key Features
- 🏷️ Customizable Watermark**: Display your trading identity with customizable titles, subtitles, symbol info, and full style control
- 🌍 Trading Sessions**: Visualize Asian, London, and New York sessions with high/low lines, range boxes, and open/close markers
- 🎯 Kill Zones**: Highlight 5 critical ICT kill zones with precise timing and visual boxes
- 📈 Previous Period H/L**: Track Daily, Weekly, and Monthly highs/lows with customizable styles and lookback periods
- 🕐 Higher Timeframe Candles**: Display up to 5 HTF timeframes with OHLC trace lines, timers, and interval labels
- 🔍 FVG & VI Detection**: Automatically detect and visualize Fair Value Gaps and Volume Imbalances on HTF candles
- ⚙️ Universal Timezone Support**: Works globally with GMT-12 to GMT+14 timezone selection
- 🎨 Full Customization**: Control colors, styles, visibility, and layout for every feature
🚀 How to Use
Watermark Setup
The watermark overlay helps you identify your charts and maintain focus on your trading principles:
1. Enable/disable watermark via "Show Watermark" toggle
2. Customize the title (default: "Name") to display your trading name or account identifier
3. Set up to 3 subtitles (default: "Patience", "Confidence", "Execution") as trading reminders
4. Choose position (9 locations available), size, color, and transparency
5. Toggle symbol and timeframe display as needed
Use Case: Display your trading principles or account name for multi-monitor setups or content creation.
Trading Sessions Analysis
Sessions define market character and liquidity availability:
1. Enable "Show All Sessions" to visualize all three sessions
2. Adjust timezone to match your local market (default: UTC-5 for EST)
3. Customize session times if needed (defaults cover standard hours)
4. Enable session range boxes to see consolidation zones
5. Use session high/low lines to identify key levels for the current session
6. Enable open/close markers to track session transitions
Use Case: Identify which session you're trading in, track session highs/lows for liquidity, and anticipate session transition volatility.
Kill Zones Trading
Kill zones are ICT's high-probability trading windows:
1. Enable individual kill zones or use "Show All Kill Zones"
2. **Asian Kill Zone** (2000-0000 GMT): Early positioning and smart money accumulation
3. **London Kill Zone** (0300-0500 GMT): European market opening volatility
4. **NY AM Kill Zone** (0930-1100 EST): Post-NYSE open expansion
5. **NY Lunch Kill Zone** (1200-1300 EST): Midday consolidation or manipulation
6. **NY PM Kill Zone** (1330-1600 EST): Afternoon positioning and closes
7. Customize colors and times to match your trading style
8. Set max days display to control historical visibility (default: 30 days)
Use Case: Focus entries during high-probability windows. Watch for liquidity sweeps at kill zone openings and institutional positioning.
Previous Period High/Low Levels
Previous period levels act as magnetic price targets and support/resistance:
1. Enable Daily (PDH/PDL), Weekly (PWH/PWL), or Monthly (PMH/PML) levels individually
2. Set lookback period (how many previous periods to display)
3. Choose line style: Solid (current emphasis), Dashed (standard), or Dotted (subtle)
4. Customize colors per timeframe for visual hierarchy
5. Adjust line width (1-5) for visibility preference
6. Enable gradient effect to fade older periods
7. Position labels left or right based on chart layout
8. Customize label text for your preferred notation
Use Case: Identify key levels where price is likely to react. Daily levels work on intraday timeframes, Weekly on daily charts, Monthly for swing trading.
Higher Timeframe (HTF) Candles
HTF candles reveal the larger market context while trading lower timeframes:
1. Enable up to 5 HTF slots simultaneously (default: 5m, 15m, 1H, 4H, Daily)
2. Choose display mode: "Below Chart" (stacked rows) or "Right Side" (compact column)
3. Customize timeframe, colors (bull/bear), and titles for each slot
4. **OHLC Trace Lines**: Visual lines connecting HTF candle levels to chart bars
5. **HTF Timer**: Countdown showing time remaining until HTF candle close
6. **Interval Labels**: Display day of week (Daily+) or time (intraday) on each candle
7. For Daily candles: Choose open time (Midnight, 8:30, 9:30) to match your market structure preference
Use Case: Trade lower timeframes while respecting higher timeframe structure. Watch for HTF candle closes to confirm directional bias.
FVG & VI Detection
Fair Value Gaps and Volume Imbalances highlight inefficiencies that price often revisits:
1. **Fair Value Gaps (FVGs)**: Detected when HTF candle wicks don't overlap between 3 consecutive candles
- Bullish FVG: Gap between candle 1 high and candle 3 low (green box by default)
- Bearish FVG: Gap between candle 1 low and candle 3 high (red box by default)
2. **Volume Imbalances (VIs)**: Similar detection but focuses on body gaps
- Bullish VI: Gap between candle 1 close and candle 3 open
- Bearish VI: Gap between candle 1 open and candle 3 close
3. Enable FVG/VI detection per HTF slot individually
4. Customize colors and transparency for each imbalance type
5. Boxes appear on chart at formation and remain visible as retracement targets
**Use Case**: Identify high-probability retracement zones. Price often returns to fill FVGs and VIs before continuing the trend. Use as entry zones or profit targets.
🎨 Customization
OFA is built for flexibility. Every feature includes extensive customization options:
Visual Customization
- **Colors**: Independent color control for every element (sessions, kill zones, lines, labels, FVGs, VIs)
- **Transparency**: Adjust box and label transparency (0-100%) for clean charts
- **Line Styles**: Choose Solid, Dashed, or Dotted for previous period lines
- **Sizes**: Control text size, line width, and box borders
- **Positions**: Place watermark in 9 positions, labels left/right
Layout Control
- **HTF Display Mode**: "Below Chart" for detailed analysis, "Right Side" for space efficiency
- **Drawing Limits**: Set max days for sessions/kill zones to manage chart clutter
- **Lookback Periods**: Control how many previous periods to display (1-10)
- **Gradient Effects**: Enable fading for older previous period lines
Timing Adjustments
- **Timezone**: Universal GMT offset selector (-12 to +14) for global markets
- **Session Times**: Customize each session's start/end times
- **Kill Zone Times**: Adjust kill zone windows to match your market's characteristics
- **Daily Open**: Choose Midnight, 8:30, or 9:30 for Daily HTF candle open time
💡 Best Practices
1. Start Simple: Enable one feature at a time to learn how each element affects your analysis
2. Match Your Timeframe: Use Daily levels on intraday charts, Weekly on daily charts, HTF candles one or two levels above your trading timeframe
3. Kill Zone Focus: Concentrate your trading activity during kill zones for higher probability setups
4. HTF Confirmation: Wait for HTF candle closes before committing to directional bias
5. FVG/VI Entries: Look for price to return to unfilled FVGs/VIs for entry opportunities with favorable risk/reward
6. Customize Colors: Use a consistent color scheme that matches your chart theme and reduces visual fatigue
7. Reduce Clutter: Disable features you're not actively using in your current trading plan
8. Session Context: Understand which session controls the market—trade with session direction or anticipate reversals at session transitions
⚙️ Settings Guide
OFA organizes settings into logical groups for easy navigation:
- **═══ WATERMARK ═══**: Title, subtitles, position, style, symbol/timeframe display
- **═══ SESSIONS ═══**: Enable/disable sessions, times, colors, high/low lines, boxes, markers
- **═══ KILL ZONES ═══**: Individual kill zone toggles, times, colors, max days display
- **═══ PREVIOUS H/L - DAILY ═══**: Daily high/low lines, style, color, lookback, labels
- **═══ PREVIOUS H/L - WEEKLY ═══**: Weekly high/low lines, style, color, lookback, labels
- **═══ PREVIOUS H/L - MONTHLY ═══**: Monthly high/low lines, style, color, lookback, labels
- **═══ HTF CANDLES ═══**: Global display mode, layout settings
- **═══ HTF SLOT 1-5 ═══**: Individual HTF configuration (timeframe, colors, title, FVG/VI detection, trace lines, timer, interval labels)
Each setting includes tooltips explaining its function. Hover over any input for detailed guidance.
📝 Final Notes
One for All (OFA) represents a complete ICT analysis toolkit in a single indicator. By combining watermark customization, session visualization, kill zone highlighting, previous period levels, and higher timeframe candles with FVG/VI detection, OFA eliminates the need for multiple indicators cluttering your chart.
**Version**: 3.3.0
**Author**: theCodeman
**Pine Script**: v6
**License**: Mozilla Public License 2.0
Start with default settings to learn the indicator's structure, then customize extensively to match your personal trading style. Remember: tools provide information, but your edge comes from disciplined execution of a proven strategy.
Happy Trading! 📈
AJForex Sessions + Killzones (Boxes)use timeline UTC -4 AJForex Sessions + Killzones (Boxes)AJForex Sessions + Killzones (Boxes)AJForex Sessions + Killzones (Boxes)AJForex Sessions + Killzones (Boxes)AJForex Sessions + Killzones (Boxes)AJForex Sessions + Killzones (Boxes)AJForex Sessions + Killzones (Boxes)AJForex Sessions + Killzones (Boxes)AJForex Sessions + Killzones (Boxes)
ORB & Sessions [Capitalize Labs]ORB & Sessions Indicator
The ORB & Sessions Indicator provides a structured way to analyze intraday price action by combining two well-established concepts: global trading sessions and Opening Range Breakouts (ORB). It is designed to help traders identify where liquidity forms, when volatility expands, and how price behaves around key session and range levels.
Market Sessions Framework
Displays New York, London, and Asian sessions directly on the chart.
Each session can be shown as a highlighted background zone, or with extended highs and lows for liquidity tracking.
Session highs and lows remain projected forward after the session ends, allowing traders to monitor sweeps, retests, and reactions throughout the day.
Session times are fully customizable and can be aligned with the trader’s own timezone or broker feed.
This structure helps traders place price action into context, whether during quiet Asian trading, London-driven volatility, or New York reversals.
Opening Range Breakouts (ORB)
Supports three independent ORBs, each with configurable session times.
During the defined ORB window, the indicator captures the high and low of the range and plots a live updating box.
Once the ORB closes, the range locks and projects breakout targets (T1 and T2) based on user-defined risk-to-reward multiples.
Alerts are included for breakouts of highs, lows, or target levels.
Traders can use a single ORB or multiple—for example, tracking an Asian ORB into London, or London into New York.
Visualization and Clarity
Color-coded boxes and levels for sessions and ORBs.
Labels such as “Range High” and “Range Low” ensure clarity without clutter.
Flexible display settings allow highlighting full zones, just lines, or minimal markers depending on preference.
Practical Applications
This indicator is useful for:
Liquidity and volatility analysis: Observe where session highs and lows form and how they influence later trading.
Breakout and reversal strategies: Use ORB ranges to define risk and plan target projections.
Time-based research: Explore how different session overlaps or ORBs affect markets like indices, FX, and commodities.
Risk planning: Built-in R-multiple targets provide a consistent framework for evaluating setups.
Why It’s Different
Instead of showing sessions and ORBs separately, this indicator integrates them into one framework. Traders can:
See when and where sessions open and establish range levels.
Define precise ORBs with customizable timing.
Track breakout levels and targets in real time with alerts.
The result is a clear, time-structured view of the trading day, helping traders align setups with session dynamics and opening range behavior.
This indicator does not generate buy or sell signals. It is an analytical and visualization tool, providing structure for traders to better interpret intraday price action.






















