Forex Market Session Indicator Download

Last updated
A Forex Market Session Indicator is a trading tool that displays the active trading sessions on your chart, helping you identify when major global forex markets are open.
//@version=5
indicator("FX Market Sessions - Nepal Time (Auto Box Start)", overlay=true, max_boxes_count=500)
// Inputs for sessions (in UTC+5:45)
showAsian = input.bool(true, "Show Asian Session Box")
showLondon = input.bool(true, "Show London Session Box")
showNY = input.bool(true, "Show New York Session Box")
asianSession = input.session("0000-0915", "Asian Session (UTC+5:45)")
londonSession = input.session("1215-2015", "London Session (UTC+5:45)")
nySession = input.session("1745-2345", "New York Session (UTC+5:45)")
// Colors
asianColor = input.color(color.new(color.orange, 80), "Asian Background Color")
asianBorder = input.color(color.new(color.orange, 0), "Asian Border Color")
londonColor = input.color(color.new(color.green, 80), "London Background Color")
londonBorder = input.color(color.new(color.green, 0), "London Border Color")
nyColor = input.color(color.new(color.blue, 80), "New York Background Color")
nyBorder = input.color(color.new(color.blue, 0), "New York Border Color")
// Check if timeframe is Daily or higher (to prevent boxes from covering entire chart)
isDailyOrHigher = timeframe.in_seconds() >= 86400 // 86400 seconds = 1 day
// Detect sessions (exclude Daily and higher timeframes)
inAsian = not isDailyOrHigher and not na(time(timeframe.period, asianSession, "UTC+5:45"))
inLondon = not isDailyOrHigher and not na(time(timeframe.period, londonSession, "UTC+5:45"))
inNY = not isDailyOrHigher and not na(time(timeframe.period, nySession, "UTC+5:45"))
// Asian session vars
var float asianHigh = na
var float asianLow = na
var box asianBox = na
// London session vars
var float londonHigh = na
var float londonLow = na
var box londonBox = na
// NY session vars
var float nyHigh = na
var float nyLow = na
var box nyBox = na
// ---- Asian Session ----
if showAsian
if inAsian
if na(asianBox)
asianHigh := high
asianLow := low
asianBox := box.new(time, asianHigh, time, asianLow, xloc=xloc.bar_time, bgcolor=asianColor, border_color=asianBorder)
else
asianHigh := math.max(asianHigh, high)
asianLow := math.min(asianLow, low)
box.set_top(asianBox, asianHigh)
box.set_bottom(asianBox, asianLow)
box.set_right(asianBox, time)
else
if not na(asianBox)
box.set_right(asianBox, time)
asianBox := na
// ---- London Session ----
if showLondon
if inLondon
if na(londonBox)
londonHigh := high
londonLow := low
londonBox := box.new(time, londonHigh, time, londonLow, xloc=xloc.bar_time, bgcolor=londonColor, border_color=londonBorder)
else
londonHigh := math.max(londonHigh, high)
londonLow := math.min(londonLow, low)
box.set_top(londonBox, londonHigh)
box.set_bottom(londonBox, londonLow)
box.set_right(londonBox, time)
else
if not na(londonBox)
box.set_right(londonBox, time)
londonBox := na
// ---- New York Session ----
if showNY
if inNY
if na(nyBox)
nyHigh := high
nyLow := low
nyBox := box.new(time, nyHigh, time, nyLow, xloc=xloc.bar_time, bgcolor=nyColor, border_color=nyBorder)
else
nyHigh := math.max(nyHigh, high)
nyLow := math.min(nyLow, low)
box.set_top(nyBox, nyHigh)
box.set_bottom(nyBox, nyLow)
box.set_right(nyBox, time)
else
if not na(nyBox)
box.set_right(nyBox, time)
nyBox := na
What It Shows
The indicator typically highlights four main trading sessions:
- Sydney session (Asian-Pacific market)
- Tokyo session (Asian market)
- London session (European market)
- New York session (North American market)
These sessions are usually displayed as colored boxes, vertical lines, or shaded areas on your price chart, making it easy to see which markets are currently active.

Why Traders Use It
Different sessions have distinct characteristics:
- Volatility patterns – The London and New York sessions typically see the most price movement, while Sydney and Tokyo tend to be quieter
- Liquidity levels – More traders active means tighter spreads and better trade execution
- Session overlaps – When London and New York overlap (usually 8am-12pm EST), you often see the highest volume and volatility
- Currency pair behavior – EUR/USD is most active during London/NY hours, while AUD/JPY moves more during Asian sessions
Practical Application
Traders use these indicators to:
- Time their entries when their preferred pairs are most active
- Avoid trading during low-liquidity periods when spreads widen
- Identify potential breakout opportunities at session opens
- Plan their trading schedule around specific market hours
The indicator automatically adjusts for your local timezone, so you always know which sessions are active relative to your clock.
For session timing click here
Learn more: who we are · the risk disclaimer · contact us.
Educational content, not financial advice. Leveraged trading can lose more than your deposit.