[FN] Session Range & Date Range For BacktestingThis has been done before in different ways, however, my goal is to publish a single, simplified copy/paste version of the idea so you can quickly and easily incorporate it into your strategy backtesting.
You can designate weekdays, weekdays + weekends for 24/7 markets, and also session range.
So, you trade bitcoin? It works. CME futures? It works. You are a discretionary trader so the only signals that matter are the ones that happen when you're awake? It works. Copy and paste.
The goal is that its that easy. You'll have to let me know if it is. glhf everyone.
If I'm not mistaken, you should be able to copy/paste this directly into your strategy script (Paste it in before your entry declarations). Just leave out the last 2 lines where the bgcolor() is declared... unless you want the background color lit up, that's up to you. It's just for demonstration purposes in this script.
After you've pasted it in, then in your strategy.entry() function you are adding: to the strategy.entry() function.
e.g:
strategy.entry("Long", strategy.long, qty=1, when = ENTRY_SIGNAL and signal_backtest())
Shoutouts to @zenandtheartoftrading and @allanster for providing the basis of this code that I put together here. We stand on the shoulders of giants.
Komut dosyalarını "session" için ara
[STRATEGY][RS]Open Session Breakout TraderEXPERIMENTAL: use at your own discretion.
custom session breakout strategy, it uses a percentage of daily atr to set breakout limits. strategy only viable for intraday timeframes and is suggested under 1hour.
Session P4L SNIPERSsession separator only for the operation of the academy. by its time margin. added the asian range for a power of three
SessionBarThis PineScript is designed to display various visual elements on a chart to help traders track session activity within the lower time frames, specifically for the USA main session. Here's a breakdown of the script's functionality:
Session Tracking
The script tracks the USA main session, defined as 9:30 AM to 4:00 PM ET, Monday through Friday.
Visual Elements
The script displays various visual elements, including:
1. Session Open and Close Lines: Lines marking the open and close of the USA main session.
2. Session High and Low Lines: Lines marking the high and low of the USA sessions.
3. Active Session Bar: A Realtime Candle as the current session bar.
4. Overnight Session Bar: A Realtime Candle as the overnight session bar.
5. Session Timer: A label displaying the time left until the next session.
6. Background Colors: Colors indicating different session periods, such as pre-market, post-market, and active session.
Customization
The script allows users to customize various aspects, including:
1. Session Time: Users can adjust the session time.
2. Colors: Users can choose colors for different visual elements.
3. Display Options: Users can toggle the display of various visual elements.
Overall, this script provides a educational tool for traders to track session activity and visualize key market data.
SessionBoxLibrary "SessionBox"
This library provides functions to manage and visualize session boxes and labels on chart. A session box is a visual representation of a trading session with properties like time, name, color and the ability to track the high and low price within that session.
SessionBox
SessionBox: stores session data and provides methods to manage that data and visualize it on the chart.
Fields:
session_time (series bool)
session_name (series string)
session_color (series color)
SessionsThis is an advanced level sessions indicator.
Not so much an indicator, more of an auto way of plotting levels rather than drawing levels by hand every day.
It maps out the London and New York Sessions.
It also maps out the closing time and price for future reference.
Daily high and low of the past few days are laid out.
Each setting can be turned on and off in the settings if you don't require that session info.
The time settings are setup according to NY time. It should work straight without any modifications.
If you are a price action trader using sessions, this indicator will help you track price movement between sessions and give you possible support and resistance levels based on the previous session close.
This indicator does require allot of sessions based trading knowledge but if you understand it, it can be of major use to you.
Best used on GBP and USD currency pairs
Best timeframes 5Min - 1Hour
Best trading style would be day trading
SessionInBoxesProLibrary "SessionInBoxesPro"
get_time_by_bar(bar_count)
Parameters:
bar_count
get_positions_func(sessiontime_, duration_)
Parameters:
sessiontime_
duration_
get_period(_session, _start, _lookback)
Parameters:
_session
_start
_lookback
is_start(_session)
Parameters:
_session
is_end(_session)
Parameters:
_session
draw_progress(_show, _session, _is_started, _is_ended, _color, _bottom, _delete_history)
Parameters:
_show
_session
_is_started
_is_ended
_color
_bottom
_delete_history
draw_label(_show, _session, _is_started, _color, _top, _bottom, _text, _delete_history, i_label_chg, i_label_size, i_label_position, i_tz, i_label_format_day)
Parameters:
_show
_session
_is_started
_color
_top
_bottom
_text
_delete_history
i_label_chg
i_label_size
i_label_position
i_tz
i_label_format_day
draw_fib(_show, _session, _is_started, _color, _top, _bottom, _level, _width, _style, _is_extend, _delete_history)
Parameters:
_show
_session
_is_started
_color
_top
_bottom
_level
_width
_style
_is_extend
_delete_history
get_op_stricts(_session, _is_started, top, bottom, i_o_minutes)
Parameters:
_session
_is_started
top
bottom
i_o_minutes
draw_op(_show, _session, _is_started, _color, top, bottom, _is_extend, _delete_history, i_o_minutes, i_o_opacity)
Parameters:
_show
_session
_is_started
_color
top
bottom
_is_extend
_delete_history
i_o_minutes
i_o_opacity
get_pm_stricts(_show, _show_pm, tf, ctf, _is_started)
Parameters:
_show
_show_pm
tf
ctf
_is_started
draw_pm(_show, _show_pm, tf, ctf, _is_started, _is_ended, _delete_history, _color)
Parameters:
_show
_show_pm
tf
ctf
_is_started
_is_ended
_delete_history
_color
draw_market(_show, _session, _is_started, _color, btr, _top, _bottom, _extend, _is_extend, _delete_history, i_sess_border_style, i_sess_border_width, i_sess_bgopacity)
Parameters:
_show
_session
_is_started
_color
btr
_top
_bottom
_extend
_is_extend
_delete_history
i_sess_border_style
i_sess_border_width
i_sess_bgopacity
draw(_show, _show_pm, pm_tf, ctf, _session, _color, btr, _label, _extend, _show_fib, _show_op, i_label_chg, i_label_size, i_label_position, i_o_minutes, i_o_opacity, i_sess_border_style, i_sess_border_width, i_sess_bgopacity, i_show_history, i_show_closed, i_label_show, i_f_linewidth, i_f_linestyle, top, bottom, i_tz, i_label_format_day)
Parameters:
_show
_show_pm
pm_tf
ctf
_session
_color
btr
_label
_extend
_show_fib
_show_op
i_label_chg
i_label_size
i_label_position
i_o_minutes
i_o_opacity
i_sess_border_style
i_sess_border_width
i_sess_bgopacity
i_show_history
i_show_closed
i_label_show
i_f_linewidth
i_f_linestyle
top
bottom
i_tz
i_label_format_day
Session S/RThis indicator marks the resistances and supports of the post, pre and market sessions of the previous day projecting up to the market of the day, also it marks the hours of these three markets allowing to identify the beginning and end of the sessions in London, Hong Kong, and America.
SessionsInBoxesLibLibrary "SessionsInBoxesLib"
Provides functions calculating the all-time high/low of values.
get_positions()
draw()
SessionsA very simple indicator that draws vertical lines on the chart to visually indicate session boundaries. You can set any target timeframe that is larger than the current one and is a multiple of it.
--
Очень простой индикатор, который строит вертикальные линии на графике, чтобы визуально указать границы сессий. Можно задавать любой целевой таймфрейм, который больше текущего и кратен ему.
SessionsLondon, US , ASIA open sessions
Use this indicator to highlight Above time zones to analyse trading opportunity during those sessions
Sessions [Plug&Play]This indicator automatically highlights the three major FX trading sessions—Asia, London, and New York—on your chart and, at the close of each session, draws right-extended horizontal rays at that session’s high and low. It’s designed to help you visually identify when price is trading within each session’s range and to quickly see where the highest and lowest prices occurred before the next major session begins.
Key Features:
Session Boxes
Draws a semi-transparent box around each session’s timeframe (Asia, London, New York) based on your local UTC offset.
Each box dynamically expands in real time: as new candles form during the session, the box’s top and bottom edges update to match the highest high and lowest low seen so far in that session.
When the session ends, the box remains on your chart, anchored to the exact candles that formed its boundaries.
High/Low Rays
As soon as a session closes (e.g., London session ends at 17:00 UTC+0 by default), two horizontal rays are drawn at that session’s final high and low.
These rays are “pinned” to the exact candles where the high/low occurred, so they stay in place when you scroll or zoom.
Each ray extends indefinitely to the right, providing a clear reference of the key supply/demand levels created during that session.
Session Labels
Optionally places a small “London,” “New York,” or “Asia” label at the top edge of each completed session’s box.
Labels are horizontally centered within the session’s box and use a contrasting, easy-to-read font color.
Customizable Appearance
Show/Hide Each Session: Toggle display of London, New York, and Asia sessions separately.
Time Ranges: By default, London is 08:00–17:00 (UTC), New York is 13:00–22:00 (UTC), and Asia is 00:00–07:00 (UTC). You can override each session’s start/end times using the “Time Range” picker.
Color & Opacity: Assign custom colors to each session. Choose a global “Dark,” “Medium,” or “Light” opacity preset to adjust box fill transparency and border shading.
Show/Hide Labels & Outlines: Turn the text labels and the box borders on or off independently.
UTC Offset Support
If your local broker feed or price data is not in UTC, simply adjust the “UTC Offset (+/–)” input. The indicator will recalculate session start/end times relative to your chosen offset.
How to Use:
Add the Indicator:
Open TradingView’s Pine Editor, paste in this script, and click “Add to Chart.”
By default, you’ll see three translucent boxes appear once each session begins (Asia, London, New York).
Watch in Real Time:
As soon as a session starts, its box will appear anchored to the first candle. The top and bottom of the box expand if new extremes occur.
When the session closes, the final box remains visible and two horizontal rays mark that session’s high and low.
Analyze Key Levels:
Use the high- and low-level rays to gauge session liquidity zones—areas where stop orders, breakouts, or reversals often occur.
For example, if London’s high is significantly above current price, it may act as resistance in the New York session.
Customize to Your Needs:
Toggle specific sessions on/off (e.g., if you only care about London and New York).
Change each session’s color to match your chart theme.
Adjust the “UTC Offset” so sessions align with your local time.
Disable labels or box borders if you prefer a cleaner look.
Inputs Overview:
Show London/New York/Asia Session (bool): Show or hide each session’s box and its high/low rays.
Time Range (session): Defines the start/end of each session in “HHMM–HHMM” (24h) format.
Colour (color): Custom color for each session’s box fill, border, and high/low rays.
Show Session Labels (bool): Toggle the “London,” “New York,” “Asia” text that appears at the top of each completed box.
Show Range Outline (bool): Toggle the box border (if off, only a translucent fill is drawn).
Opacity Preset (Dark/Medium/Light): Controls transparency of box fill and border.
UTC Offset (+/–) (int): Adjusts session times for different time zones (e.g., +1 for UTC+1).
Why It’s Useful:
Quickly Identify Session Activity: Visually distinguish when each major trading session is active, then compare price action across sessions.
Pinpoint High/Low Liquidity Levels: Drawn rays highlight where the market hit its extremes—critical zones for stop orders or breakout entries.
Multi-Timeframe Context: By seeing historical session boxes and rays, you can locate recurring supply/demand areas, overlap zones, or session re-tests.
Fully Automated Workflow: Once added to your chart, the script does all the work of tracking session boundaries and drawing high/low lines—no manual box or line drawing necessary.
Example Use Cases:
London Breakout Traders: See where London’s high/low formed, then wait for price to revisit those levels during the New York session.
Range Breakout Strategies: If price consolidates inside the London box, use the boxed extremes as immediate targets for breakout entries.
Intraday Liquidity Swings: During quieter hours, watch Asia’s high/low to identify potential support/resistance before London’s opening.
Overlap Zones: Compare London’s range with Asia’s range to find areas of confluence—high-probability reversal or continuation zones.
Session VWAPS [QuantVue]The Session VWAPS indicator is a designed for traders to enhance their trading analysis by incorporating Volume Weighted Average Price (VWAP) anchored to custom-defined trading sessions.
This indicator automatically plots VWAPs at three critical points of a user defined session:
🔹session start
🔹session high
🔹session low
Additionally, it provides the option to display the VWAPs from previous sessions, offering a look at potential areas of support and resistance.
Anchored VWAP, or Anchored Volume-Weighted Average Price, is a technical analysis tool used to determine the average price of a stock weighted by volume, starting from a specific point in time chosen by the analyst.
Unlike traditional VWAP, which starts at the beginning of the trading session, the anchored VWAP allows traders to select any point on the chart, such as a significant event, price low, high, or a breakout, to begin the calculation.
VWAP incorporates price and volume in a weighted average and can be used to identify areas of support and resistance on the chart.
Indicator Features:
Custom Session Definition:
Users can define their own trading sessions by specifying start and end times, allowing for tailored analysis according to individual trading strategies or market hours.
Anchored VWAP at Three Key Points:
🔹Session Start VWAP: This VWAP is anchored at the start of the defined session.
🔹Session High VWAP: Anchored at the highest price point within the session.
🔹Session Low VWAP: Anchored at the lowest price point within the session.
Previous Session VWAPs:
The indicator can display VWAPs from the previous session, allowing traders to spot potential areas of support and resistance.
Give this indicator a BOOST and COMMENT your thoughts below!
We hope you enjoy.
Cheers!
Session Fibonacci Levels [QuantVue]The "Session Fibonacci Levels" indicator is a powerful tool designed for traders who aim to use Fibonacci retracement and extension levels in their trading strategy.
The indicator combines Fibonacci levels with customized trading sessions, allowing traders to observe and utilize Fibonacci levels that are automatically calculated for each defined session.
This approach offers a dynamic and session-relevant perspective on potential support and resistance levels, which can be crucial for intraday trading strategies.
🔹The indicator calculates Fibonacci retracement and extension levels based on the high and low prices of a specified trading session, dynamically adjusting to the location of the high and low bar.
If the low of the session occurs before the high, the fib levels are measured from low to high.
If the low of the session occurs after the high, the fib levels are measured from high to low.
🔹Users can set their time zone and define trading sessions, allowing for flexibility and applicability across global markets. This is particularly beneficial for traders who focus on specific market hours like the London or New York sessions.
Important sessions:
New York (8:00am - 5:00pm EST)
London (3:00am - 12:00pm EST)
Asia (7:00pm - 4:00am EST)
Custom session (user defined session in indicator settings)
🔹The indicator dynamically updates Fibonacci levels as new highs and lows are made within the session, keeping the analysis current. Additionally, it provides alerts when prices hit key Fibonacci levels, aiding in timely decision-making.
How to Use:
Configure the time zone and session time
Once the session begins, the indicator will begin highlighting the session range
When the session ends, Fibonacci levels based on the high and low of the session will be drawn
Use these levels to identify potential support and resistance areas
Sessions [UkutaLabs]█ OVERVIEW
Sessions is a trading toolkit that displays the different trading sessions on your chart during a trading day. By default, Sessions displays the four standard trading sessions; New York, Tokyo, London, and Sydney.
Each of the four sessions can be toggled, and the Sessions indicator is completely customizable, allowing users to define their own sessions to be generated by the script.
The aim of this script is to improve the trading experience of users by automatically displaying information about each default or custom session to the user.
█ USAGE
This script will automatically detect and label different market sessions. By default, the script will identify the four standard trading sessions, but each of these can be toggled off in the settings.
However, users are not limited to these four trading sessions and have the ability to define their own sessions to be identified by the script. When a session begins, the script will automatically start outlining the market data of that session, including the high and low of the period that is represented by the session.
If the market is within two or more sessions at the same time, then each session will be treated individually and will overlap with each other.
The sessions will be identified as a colored box surrounding the market data of the period that it represents, and a label will be displayed above the box to identify the session that it represents. The label, color and period of each session is completely customizable.
The user can also adjust all sessions at once to account for timezones in the settings.
█ SETTINGS
Session 1
• Session 1: Determines whether or not this session will be drawn by the script.
• A string field to determine the name of the session that will be displayed above the session range.
• Two time fields representing the start and finish of the session.
• A color field to determine the color of the range and label.
Session 2
• Session 2: Determines whether or not this session will be drawn by the script.
• A string field to determine the name of the session that will be displayed above the session range.
• Two time fields representing the start and finish of the session.
• A color field to determine the color of the range and label.
Session 3
• Session 3: Determines whether or not this session will be drawn by the script.
• A string field to determine the name of the session that will be displayed above the session range.
• Two time fields representing the start and finish of the session.
• A color field to determine the color of the range and label.
Session 4
• Session 4: Determines whether or not this session will be drawn by the script.
• A string field to determine the name of the session that will be displayed above the session range.
• Two time fields representing the start and finish of the session.
• A color field to determine the color of the range and label.
Time Zones
• UTC +/-: Determines the offset of each session. Enter - before the number to represent a negative offset.
Sessions ny vizScript Purpose
This indicator draws a colored background during the New York trading session. It's useful for traders who want to have a visual overview of when the American (NY) trading session is active.
Main Features
NY Session Visualization - draws a gray bar in the background of the chart during NY trading hours (15:00-19:00 CET)
Customization - allows users to:
Set custom session time range
Adjust background color and transparency
Limit display to only the last 24 hours
Input Parameters
sessionRange - session time range (default 15:00-19:00 CET)
sessionColour - background color (default gray with 90% transparency)
onlyLast24Hours - toggle for showing only the last 24 hours (default false)
Technical Details
Script is written in Pine Script version 5
Uses UNIX timestamp for time period calculations
Runs as an overlay indicator (overlay=true), meaning it displays directly on the price chart
Uses the bgcolor() function for background rendering
Contains logic to check if current time is within defined session
Usage
This indicator is useful for:
Monitoring active NY trading session hours
Planning trades during the most liquid hours of the US market
Visual orientation in the chart during different trading sessions
Session TimeZonesThis indicators show background colours to identify world timezones
New York, London, Tokio, China and Sydney sessions
You can also setup timeframe intervals to show or hide.
Time Values based on UTC: ** YOU HAVE TO SETUP YOUR CHARTS TO 0-UTC TIMEZONE **
Values from: en.wikipedia.org
New York: UTC-5
Market Session: 09:30 - 16:00 (Local Time)
Market Session: 14:30 - 21:00 (UTC Based Time)
London: UTC
Market Session: 08:00 - 16:30 (Local Time)
Market Session: 08:00 - 16:30 (UTC Based Time)
Tokyo: UTC+9
Market Session: 09:00 - 15:00 (Local Time)
Market Session: 00:00 - 06:00 (UTC Based Time)
China: UTC+8
Market Session: 09:30 - 16:00 (Local Time)
Market Session: 01:30 - 08:00 (UTC Based Time)
Sydney: UTC+10
Market Session: 10:00 - 16:00 (Local Time)
Market Session: 00:00 - 06:00 (UTC Based Time)
Can be used to know from what time of the world they are traders awake or
to search correlations between big moves and timezones hours.
Thanks to:
www.tradingcode.net
01/06/2018
Session Filter [Trendoscope]🎲 Session Filter: A Customisable Trading Indicator for Defining Preferred Trade Sessions
Session Filter is a simple trading indicator that enables traders to define their preferred trading sessions and optimise their approach based on individual preferences. By providing a range of flexible customisation options, Session Filter can help traders reduce risk, increase accuracy, by helping them to adhere to their trading sessions. Features include
🎯 Customisable Trading Sessions
One of the key features of Session Filter is the ability to select from four different trading sessions. These sessions are designed to be flexible, making it easy to tailor your approach to specific markets, assets, and trading styles. By selecting the sessions that are most relevant to your strategy, you can reduce the risk of making trades during less favourable market conditions.
For example, if you prefer to trade during the Asian session, you can set the session times to "Asian Session" in input settings. This will highlight the specific times when the Asian markets are open, allowing you to focus your trading activity during these periods. By doing so, you can avoid trading during times when the market is less active or more volatile.
🎯 Customisable Timezone and Days of the Week:
In addition to customisable trading sessions, Session Filter also allows users to select a timezone and specific days of the week. This ensures that the displayed trading zones and signals are aligned with your local time, and that you can tailor your approach to your preferred schedule. This is particularly useful for traders who have other commitments, or who prefer to focus on specific markets or assets on certain days.
For example, if you are based in New York and prefer to trade during the European session, you can select the "European Session" option in Session Filter and adjust the timezone to reflect your local time. You can also select specific days of the week when you prefer to trade during the European session, such as Tuesday through Thursday. This allows you to optimize your approach based on your personal preferences and schedule.
🎯 Easy Visual Interpretation:
Session Filter uses green and red overlays on the chart to indicate the trading zones, making it easy for users to visually identify their trading sessions
For example, when a green overlay is displayed on the chart, this indicates that the market is within the selected trading session and that it may be a good time to start trade. Conversely, when a red overlay is displayed, this indicates that the market is outside of the selected trading session and that it may be a good time close all trading. By providing this visual feedback, Session Filter helps traders stay focused and disciplined, and avoid making impulsive trading decisions.
🎯Force Exit Signal for Risk Management:
Session Filter also offers the ability to generate a force exit signal when not in any of the selected sessions. This can be used in conjunction with alerts to exit all trades outsize session zone.
For example, if you are using Session Filter to trade during the European session, but the market is particularly volatile during a specific day, the force exit signal will be generated to indicate that it may be a good time to exit your trade. This helps you avoid potential losses and stay disciplined during periods of market turbulence.
🎯External Signal Plots:
In addition to the chart overlays, Session Filter also plots signals on the data window that can be used as external inputs in other indicators and strategies. This feature allows traders to incorporate the signals generated by Session Filter into their existing trading systems and this can be used as additional filters on an existing strategy or methodology.
🎯Alerts using Alert Conditions
Alerts are provided for start and end of session so that users can make use of it to set auto turn on or off their bots.
Settings are pretty simple and are explained here.
Session Extremes High/Low ZonesThis indicator highlights the High and Low of the three main trading sessions: Asia, London, and New York, based on configurable time ranges and UTC offset.
It also displays the previous day's and previous week's High and Low as dynamic lines with labels for reference.
🛠️ Features:
Customizable session times (HHMM-HHMM format)
Adjustable UTC offset for correct timezone alignment
Styling options for line colors, widths, styles and transparency
Optional session range shading
🔎 Ideal for traders who use intraday support/resistance levels or want to visualize volatility zones during different sessions.
Built with Pine Script v5. No alerts or trading signals included.
This script is intended for educational and informational purposes only.
Session VWAPsThis indicator plots volume-weighted average price (VWAP) lines for three major trading sessions: Tokyo, London, and New York. Each VWAP resets at the start of its session and tracks the average price weighted by volume during that window. You can choose the exact session times, turn individual sessions on or off, and optionally extend each VWAP line until the end of the trading day.
It’s designed to give you a clear view of how price is behaving relative to session-specific value areas. This can help in identifying session overlaps, shifts in price control, or whether price is holding above or below a particular session’s average. The indicator supports futures-style day rollovers and works across markets.
Session High Low 2024
Overview of the Code:
Input for Session Times:
You set up inputs for the start and end times of the trading session, allowing you to customize them as needed.
Time Range Function:
A function isTimeInRange checks whether the current time falls within the specified session start and end times.
initialize High and Low:
indicator initialize session high, low, and their corresponding labels and lines.
Tracking Session High and Low:
Within the specified time range, continuously update session1High and session1Low based on the highest and lowest prices encountered.
Time of Session High/Low:
The High_Time and Low_Time are tracked using the ta.valuewhen() function to capture the exact times when the session high and low occur.
Notes Creation:
You format the high and low values along with their timestamps to create notes that will be displayed alongside the lines.
Drawing Lines and Labels:
After the session ends, you check if there is a new session high or low and draw lines and labels accordingly. If a line or label already exists, you delete it before drawing a new one.
Resetting for Next Session:
At the end of the session, the high and low values are reset for the next session.
Suggestions for Improvement:
Dynamic Line Extensions:
Clear Variable Names Used in Code:
Consider using more descriptive names for variables like Entry_Point and SL_Point to make the code easier to understand.
Commenting:
Although the code is well-commented, always ensure the comments explain the "why" behind the code rather than just the "what."
Example Output:
The output will show the highest and lowest prices during the specified session times and the times they occurred formatted correctly. This output is useful for quick reference during trading and aids in making informed decisions.
Added functionality tool tip Note:
Added a tooltip Note to Get All information of Session High Low & Range.
If you need further modifications, enhancements, or specific functionalities added to this script, please let me know!