CFDs are complex instruments and come with a high risk of losing money rapidly due to leverage. Trade only with money you can afford to lose.
Open an account with Exness →
Measured data

Exness Trading Hours — Server Time and Your Own Records — Nepal

Every hour label below belongs to the platform server clock, and the gap between that clock and the one on your wall is what quietly spoils a trading journal — readings measured 20 Aug · 07:58 UTC. Nepal Standard Time runs at UTC+05:45, an offset that no whole-hour clock shares.

Open an account with Exness →

100+ instruments  ·  Founded 2008

Every hour on this page, and every timestamp the terminal writes, is counted in the platform server clock. Nepal Standard Time runs at UTC+05:45, an offset no whole-hour clock shares, so a note kept in local time and a bar kept in server time describe the same trade with two different hour labels. Neither clock is wrong; what breaks is every comparison made between them. The repair is a rule rather than a calculation - keep one scale, write every record in it, and convert the entries you already have once.

The clock these rows are counted in

Each row below is one hour of the platform server clock — the same clock the terminal writes into every order and every bar. Local time appears nowhere in the table, and on a UTC+05:45 offset the two scales never share a boundary, so a row read as though it were a local hour describes a different stretch of the day than the one you remember trading.

One instrument, hour by hour, on the server clock

Hour (server)Avg spread (pips)Avg movement (pips)Movement per pip of spread
00:000.86.5
01:000.87.3
02:000.86.7
03:000.85.2
04:000.85.6
05:000.85.1
06:000.810.213×
07:000.89.111×
08:000.88.911×
09:000.8911×
10:000.86
11:000.89.211×
12:000.819.224×
13:000.816.320×
14:000.812.716×
15:000.810.113×
16:000.88.911×
17:000.88.911×
18:000.87.3
19:000.85.8
20:003.5143.8
21:001.7254.3
22:000.8034.4
23:000.83.7

Spread = average of all quotes captured in that hour over the last 24h; movement = average high–low of that hour over the last 7 sessions. Both are bucketed by the server hour, which is why a note written at nine in the evening local time does not sit in the row you would expect.

All instruments, on the same clock

InstrumentTightest avg spreadWidest avg spreadBiggest hourly movementMovement-per-cost peak
EUR/USD0.8 at 07:003.514 at 20:0019.2 at 12:0012:00
GBP/USD1 at 07:005.789 at 20:0023.5 at 12:0012:00
USD/JPY1 at 07:0014.051 at 20:0037.4 at 12:0012:00
AUD/USD0.9 at 07:003.696 at 20:0015.7 at 12:0012:00
USD/CAD1.4 at 07:002.16 at 20:0018.1 at 14:0014:00
USD/CHF1.3 at 07:002.955 at 21:0018.8 at 13:0013:00
NZD/USD1.4 at 07:005.609 at 20:0014.8 at 12:0012:00
EUR/GBP1.3 at 07:003.97 at 21:006.4 at 14:0014:00
EUR/JPY1.6 at 07:0014.401 at 20:0028.1 at 12:0012:00
GBP/JPY2.1 at 12:0019.929 at 20:0032.8 at 12:0012:00
AUD/JPY1.1 at 07:006.286 at 20:0019.8 at 12:0012:00
XAU/USD (Gold)25.965 at 09:0027.395 at 21:003275.6 at 12:0012:00
XAG/USD (Silver)3 at 07:003 at 07:0074.8 at 13:0013:00
US Oil (WTI)2 at 07:002 at 07:0082.3 at 12:0012:00
UK Oil (Brent)3.305 at 19:003.609 at 23:0087.8 at 13:0013:00
BTC/USD1000 at 07:001000 at 07:0091348.4 at 15:0015:00
ETH/USD100 at 07:00100.015 at 14:003200.1 at 15:0015:00
US500 (S&P 500)40 at 07:0046.921 at 21:002297.1 at 13:0013:00
US30 (Dow)10 at 14:0013 at 07:001975.3 at 13:0013:00
USTEC (Nasdaq 100)112 at 07:00115.48 at 21:0020009.7 at 13:0013:00
DE30 (DAX)7 at 07:0063.79 at 22:00962.3 at 07:0007:00
JP225 (Nikkei 225)31 at 16:0034 at 21:005583.9 at 00:0000:00
UK100 (FTSE 100)98 at 07:00860 at 20:003818.3 at 07:0007:00

Spread in pips (points for non-FX). Every hour named in this table is a server hour; turning one of them into a local hour is a subtraction you do once and then write down.

Why the notable hour is never where you remember it

In this sample the widest EUR/USD hour was 20:00 server time, where the average spread ran about 4× the typical hour. That hour is named on the server clock, like every other number on this page. Written into a local journal without conversion it lands somewhere else entirely, which is how an evening that felt uneventful ends up filed under an hour it has nothing to do with. The most active hours by tick count were 11:00, 12:00, 13:00, 14:00.

Where these hours come from

  • Spread by hour: every captured quote on Exness's own MT5 feed, bucketed by server hour (last 24h).
  • Movement by hour: average H1 candle range over the last 7 sessions, from the same feed.
  • Every timestamp here is taken from the feed itself, so the hours are server hours and no local conversion has been applied to any of them.
  • Figures refresh on a schedule and vary day to day.

Measured in-terminal on Exness’s own MetaTrader 5 pricing feed and symbol specifications, refreshed on a schedule. All figures are indicative and change with market conditions.

Open an account with Exness →

What a 45-minute offset does to a journal

The damage is quiet, because nothing ever refuses to open. A record that says the entry was taken at nine in the evening is perfectly readable; it simply does not point at any row of the table above, and it does not point at a bar on the chart either. A local hour sits across two server hours at once, so the phrase “the hour I traded in” stops having a single answer the moment the journal leaves the terminal.

Day boundaries go first. A record written just before local midnight and one written just after it can belong to the same server day, and two records that feel like the same evening can land on different sides of the server date line. Anything counted per day - how many entries were taken, how the day ended, which day a position was opened on - inherits that error without showing it.

Weekly and monthly summaries inherit it a second time. A week cut on local Sunday and a week cut on the server week contain different sets of trades, and the two totals will never reconcile no matter how carefully each one is added up. The arithmetic is fine; the period is not.

The one-scale rule

Pick one clock and write everything in it. Which one matters far less than the fact that there is only one, and the practical choice is the server clock, because it is the clock the platform already uses for order times, for the time axis of every chart and for the history statement. A journal on the server clock lines up with a screenshot without any arithmetic at all.

Write the scale down where it cannot be lost - at the top of the page, in the header of the spreadsheet, in the file name. An undated scale is the reason old journals become unusable: the entries survive, the convention does not, and a year later there is no way to tell which hour was meant. A single line saying which clock the file is in costs nothing and saves the whole file.

Local time still has one honest job: alarms and reminders, which belong to the day you actually live in. Keep them, but set them from a converted hour, and keep them out of the record itself. The rule is not that local time is forbidden - it is that a record never carries two clocks at once.

Converting the entries you already have

Do it once, on a copy, and never in place. Work through the old file from the oldest entry forward, put the converted hour in a new column next to the original rather than over it, and mark the file as converted when you finish. The original column is what lets you find the mistake later if the conversion turns out to be wrong.

Prefer a recorded timestamp to arithmetic wherever one exists. The trade history inside the platform already carries the server time of every order, so an entry that can be matched to a real order should be corrected from that record instead of from a subtraction. Arithmetic is for the entries that have nothing to match against.

Where arithmetic is unavoidable, remember that only one side of the offset is fixed. Nepal Standard Time does not change through the year, so the local half is a constant; a server that follows a seasonal clock moves twice a year, and one fixed number applied to a whole archive will be wrong for part of it. Read the current offset from the terminal itself, note the date you read it, and convert older stretches separately.

Putting a journal back on one scale

  1. Decide which clock the journal runs on and write that decision at the top of the file before touching a single entry.
  2. Read the current server time from the terminal rather than assuming an offset, and write down the date on which you read it.
  3. Copy the old file. All conversion happens on the copy; the original stays untouched as the reference.
  4. Add a new column for the converted hour instead of overwriting the one you already have.
  5. Correct from recorded order times wherever an entry can be matched to a real order in the trade history.
  6. Convert the remaining entries by arithmetic, in stretches, and note the offset used for each stretch.
  7. Re-cut the daily and weekly summaries on the new scale, because the old totals were counted on the old boundaries.

Nothing here has to be finished in one sitting. What matters is that a single file never ends up half converted with no way to tell which half is which.

Which clock is each of these written in

What you are looking atClock it is written inWhat to do with it
A journal entry written by handLocal, unless the file says otherwiseConvert it once and mark the scale at the top of the page
The time column in the trade historyServerUse it as the reference - it is the timestamp the platform itself recorded
The time axis of a chart or a screenshotServerCompare it with the journal only after the journal is on the same scale
The clock in the corner of the operating systemLocalKeep it out of any record about a bar or an order
A reminder set for the start of a sessionLocalSet it from the converted hour, not from a server-time table
A daily or weekly totalWhichever clock cut the periodCut on the server day, or the same trade will fall into two different weeks

The middle column is the whole problem. Every row is readable on its own; only the mixture is unusable.

Frequently asked questions

What time zone are the hours on this page in?
The platform server clock, the same one the terminal writes into order times and chart axes. No local conversion has been applied to any row, so the labels should not be read as Nepal time.
Why does a 45-minute offset matter more than a whole-hour one?
Because it moves the boundary as well as the number. Nepal Standard Time runs at UTC+05:45, so a local hour begins in the middle of a server hour and spans two of them, and there is no single row of an hourly table that a locally written note belongs to.
How do you find the offset between local time and the platform clock?
Read the server time in the terminal and compare it with the clock on the device at the same moment. That single reading is more reliable than any assumed offset, because the server side of the difference can change with the season.
Which clock should a trading journal be kept in?
One of them, consistently, and the server clock is the easier choice because order times, chart axes and statements are already written in it. A journal on the server clock matches a screenshot with no arithmetic at all.
What breaks if the journal is kept in local time?
Day boundaries first: entries around local midnight land on the wrong server day, so counts per day, per week and per month are cut in the wrong place. Individual entries stay readable, which is why the error usually goes unnoticed for months.
How do you convert records that are already written in local time?
On a copy, in a new column, oldest entry first. Where an entry can be matched to a real order, correct it from the recorded server time in the trade history; where it cannot, convert by arithmetic in stretches and note the offset used for each stretch.
Can one fixed number convert a whole archive?
Not safely. The local side is constant because Nepal Standard Time does not change through the year, but a server that follows a seasonal clock shifts twice a year, so a single number applied to several years of entries will be wrong for part of them.
Should reminders and alarms also be moved to server time?
No. Alarms belong to the day you actually live in, so they stay local - but set them from a converted hour, and keep the local hour out of the record itself. A record carries one clock, never two.

Related Exness pages