Market Sessions · Help

Market Sessions User Manual

Which markets are open right now? A small square under every candle tells you. Everything about installing and setting up the indicator is on this page.

1What it shows

Market Sessions puts a thin strip at the bottom of the chart. Every market gets a row, and under every candle there is a small square. If the square is in the market's color, that market was open when the candle formed. If it is grey, it was closed.

MarkMeaning
OpenFull color.
ClosedDim grey.
HolidayAn empty frame in the market's color. The exchange is shut that day.
Pre / postA dimmer shade of the market color: pre-market, after-hours, auction or lunch break. Only drawn if you switch it on, otherwise these count as closed.

You enter the hours as the exchange keeps them, in its own local time, and the indicator works out the rest. Summer and winter time are handled per market, so the strip stays right when the US and Europe change their clocks on different weekends. Bank holidays come from the ForexFactory calendar.

The strip is part of the price panel, not a separate one. The price scale is stretched down a little to make room, so it never covers a candle.

For prop firm traders

A prop account leaves little room for surprises, and a lot of the surprises are about the clock: a session that has not opened yet, a market that is shut for a holiday, a cut-off you forgot to convert to your time zone. The strip shows the first two at a glance, and the daily close line (section 5) puts the cut-off of your firm on the chart.

Boxes style on a live NinjaTrader chart.
Boxes style on a live NinjaTrader chart.
The same chart in Bands style.
The same chart in Bands style.

2Installation

The indicator is free but needs a license key. Without one it draws nothing and only shows a short note with your machine ID.

StepWhat to do
1Create an account on mofoli.com/market-sessions and confirm your e-mail address.
2Press Get free license. The key appears.
3In NinjaTrader go to Tools → Import → NinjaScript Add-On... and pick MofoliMarketSessions.zip.
4Add the indicator to a chart (right-click → Indicators, folder MofoliFX) and paste the key into 0 License → License key.

One key works on up to 3 PCs. After the first successful check the indicator also starts without an internet connection.

If you prefer to install by hand, copy the file to Documents\NinjaTrader 8\bin\Custom\Indicators\MofoliFX\MarketSessions.cs and press F5 in the NinjaScript Editor.

The indicator settings: License, General and the start of Appearance.
The indicator settings: License, General and the start of Appearance.

3Where to start

The defaults are usable as they are. In practice most people touch only a few things.

Show pre/post market is the one I would try first. With it on, the pre-market and after-hours periods show up in a dimmer color, which tells you a lot about when New York really starts to matter. Style switches between squares and continuous bars, and it is a matter of taste. Row height makes everything bigger, worth a look on a small screen or when you record the chart. Market names moves the labels to the right or hides them.

A tidy setup is the defaults. A fuller one has Show pre/post market and Show track switched on. A calmer one uses Style: Bands with Height by state on.

4Markets and time zones

There are six market rows, each with its own name, color and hours. Enter the hours in the exchange's local time, and pick the exchange's time zone from the drop-down list of the same market. The list shows the UTC offset first and then the name, for example UTC+1 Amsterdam, Berlin, Bern, Rome. The indicator converts to your chart time and applies daylight saving on its own.

Hours are written as 09:00-17:30. Add a second range for a lunch break (09:00-11:30, 12:30-15:30). A range across midnight works too (22:00-02:00).

MarketTime zone in the listMain hours (local time)
SydneyUTC+10 Canberra, Melbourne, Sydney10:00-16:00
TokyoUTC+9 Osaka, Sapporo, Tokyo09:00-11:30, 12:30-15:30
FrankfurtUTC+1 Amsterdam, Berlin, Bern, Rome...09:00-17:30
LondonUTC Dublin, Edinburgh, Lisbon, London08:00-16:30
New YorkUTC-5 Eastern Time (US & Canada)09:30-16:00
Hong Kong (off by default)UTC+8 Beijing, Chongqing, Hong Kong...09:30-12:00, 13:00-16:00

Bank holidays

On a bank holiday the market is treated as closed for the whole day and the squares turn into empty frames. The dates come from the ForexFactory calendar, which the indicator downloads and stores itself. The calendar does not cover Hong Kong, so if you use that row, type its holidays into Holiday dates (for example 2026-12-25).

5Daily close line

Why it matters on a prop account

Many firms want every position flat before a daily cut-off, and a position left open past it can cost you the account. The daily close line marks that time on the chart on every day, in the time zone of your firm, so there is nothing to convert in your head at the end of a long session.

Switch on Show daily close line in the 2b Daily close group, enter the time of your firm in Close time and pick its time zone. The default is 16:59 Eastern Time (US & Canada), which follows daylight saving. Line text, color and width are optional.

The default is only an example. Cut-off times differ from firm to firm and sometimes from account type to account type, so read your own rules and enter that time.

The daily close line.
The daily close line.

What it gives you on a funded account

SituationWhat the indicator does
The daily cut-off of your firmA vertical line at that time on every day, with daylight saving taken care of.
Trading around the London and New York openThe market squares change color when the session opens and closes, in your chart time.
Bank holidaysAn empty frame on the days a market is shut, so a thin session does not catch you out.
More than one firm or accountThe cut-off time and time zone are yours to set, so each setup can use its own.

6All settings

The groups are the same as in the indicator window. Group 0 License also holds the read-only Version.

General

SettingDefaultWhat it does
Session times are inMarketLocalLeave it as is. The hours you enter are the exchange's own local hours, so nothing needs changing when the clocks change. ChartTime is there for those who prefer to type hours in chart time, but then the US and Australian clock changes have to be corrected by hand.
Show pre/post marketOffOn: pre-market, after-hours, auctions and lunch breaks show up in a dimmer color. Off: they count as closed.
StyleBoxesBoxes is one square per candle. Bands joins neighbouring candles with the same state into one continuous bar.
Height by stateOnBands only. Closed is a thin line, pre/post a medium bar, open the full height.
Holidays fromForexFactorySource of the bank holidays. ForexFactory is the automatic calendar, Manual uses only the dates you type in, Off switches holidays off.
Make room under the candlesOnStretches the price scale downward by the height of the strip, so the lowest candle never runs into it.
Chart time zoneemptyLeave it empty and the indicator uses the time zone of your chart. Set it only if the chart clock runs in a different one.
Holiday refresh (min)180How old the downloaded calendar may get before it is fetched again (15 to 1440). The download runs in the background.
Holiday titles to skipDaylight SavingCalendar entries containing these words are ignored. ForexFactory lists the clock change as a holiday, which it is not.

Appearance

SettingDefaultWhat it does
Row height (px)11Height of a market row, and the size of the squares in Boxes style (4 to 80).
Row gap (px)4Space between the rows.
Corner radius (px)2Rounding of the squares and bars. 0 is square.
Box width (bar ratio)0.8Width of a square against the candle spacing. At 1.0 the squares touch.
Show closed marketsOnDraws the dim grey mark while a market is closed.
Show trackOffA faint lane behind each row, so the closed parts have something to sit on.
Closed color / opacityGray / 0.3Color and transparency of the closed mark.
Pre/post opacity0.45Transparency of the pre/post mark. Lower is dimmer.
Market namesLeftLeft, Right or Off.
Show session times in labelOnAdds the hours in chart time next to the name (London 09:00-17:30). Handy for checking against the time axis.
Strip background / opacityBlack / 0.95Background of the strip. Below 1.0 the candles show through a little.
Market name color / sizeGainsboro / 10Color and font size of the names.
Space for the NinjaTrader text (px)22NinjaTrader prints its own text in the bottom left corner. The rows stay this far above the edge so they do not run into it.
Show Mofoli FX markOnA small MOFOLI FX mark in the bottom right corner of the strip.

2b Daily close

SettingDefaultWhat it does
Show daily close lineOffDraws a vertical line at the cut-off time on every day of the chart.
Close time (HH:mm)16:59The cut-off time, in the time zone below.
Close time zoneEastern Time (US & Canada)Pick it from the list. It follows daylight saving. Empty means the chart clock.
Line textDaily closeText next to the line, with the time added. Empty for no text.
Line colorTomatoColor of the line.
Line width (px)21 to 6.

Markets (Market 1 to 6)

SettingDefaultWhat it does
Showon (Market 6 off)Switches the row on or off. The sixth market, Hong Kong, is off by default.
NameSydney, Tokyo, Frankfurt, London, New York, Hong KongRename it to whatever you like.
ColorThe color of the market on the strip.
Time zoneThe exchange's time zone, from the drop-down list.
Main sessionsRegular trading hours in the exchange's local time, e.g. 09:30-16:00. Several ranges are separated by commas.
Pre / post sessionsPre-market, after-hours and auctions, same format. Drawn only when Show pre/post market is on.
DaysMonFriMonFri, SunFri, MonSat or AllDays.
Holiday currencyThe currency whose bank holidays close this market, e.g. USD. A keyword can follow after a colon (EUR:German) to narrow it down.
Holiday datesYour own closed days: 2026-12-25 for one day, 12-25 for every year, separated by commas.
Appearance (end), 2b Daily close, Market 1 and Market 2, and the start of Market 3.
Appearance (end), 2b Daily close, Market 1 and Market 2, and the start of Market 3.
Market 3 to Market 6.
Market 3 to Market 6.

7When something looks wrong

ProblemWhat to check
Nothing is drawn.Almost always the license key. Paste it into 0 License → License key. The note on the chart shows your machine ID.
The strip does not line up with the time axis.Switch on Show session times in label and compare. Then check the time zone of that market.
A holiday is missing.Look at Holidays from and Holiday currency. If the calendar does not list the day, type it into Holiday dates.
Names run into the squares.Lower Market name size, or raise Row height and Row gap.
No daily close line.It is off by default. Switch it on in group 2b and check the time and the time zone.

Still stuck? Write to us from your account, in the Support section, or see the FAQ.