Forex rollover time, and why your stop stops being your stop

There is one hour a day, every day, when the currency market changes its nature for a few minutes. Not its direction — its cost.

It is forex rollover time, and if you have a stop sitting inside that window, that stop is not the one you placed.

What forex rollover time is, in one sentence

It is the moment the broker closes the trading day on its books and opens the next one. By convention, the currency market's day ends at five in the afternoon in New York. OANDA, for one, treats a position open at 17:00 New York time as held overnight, and applies the interest on the two currencies in the pair — the swap (terms checked in October 2026).

And for a few minutes almost nobody is quoting. That same broker closes all its currency pairs from 16:59 to 17:05 New York time, every day the market is open.

That last part is what matters. Around that close the spread widens. Not because price moved, but because there are fewer people on the other side. A study by Ito and Hashimoto, on quotes and deals from the electronic interbank market from January 1999 to December 2001 (full text), found that the spread is narrower the more deals there are. In their data (full text) it becomes wider after hours 16-17 GMT and peaks at hours 21-22 GMT. The study places the widest spreads between mid-afternoon and evening in New York, from 18 to 22 GMT. How far yours opens depends on your broker and on the day.

An example in round numbers, to show the shape, with the spread in pips. It is not a measurement from any broker:

16:50 EST    EURUSD   bid 1.08421   ask 1.08429    spread  0.8
16:58 EST    EURUSD   bid 1.08390   ask 1.08465    spread  7.5
17:02 EST    EURUSD   bid 1.08361   ask 1.08492    spread 13.1
17:15 EST    EURUSD   bid 1.08418   ask 1.08427    spread  0.9

EURUSD spread going from 0.8 to 13.1 pips during the rollover window and back to 0.9

Example: the mid price barely moves and the spread goes from 0.8 to 13.1, which is 13.1 / 0.8 ≈ 16 times as wide. Then it is back in place.

And note the hour: this happens around 5pm in New York, every single day. If your chart runs on server time, look for it wherever it lands — it is the same window in the market whatever your clock says.

Why your stop stops being your stop

A sell stop executes against the broker's bid, the low side of the spread. The MetaTrader 5 help says so: sells are executed at the Bid, and the stop on a long position is checked against that price.

Example: in the table above, the bid drops from 1.08421 to 1.08361, and 1.08421 − 1.08361 = 0.00060. With a pip at 0.0001, that is 0.00060 / 0.0001 = 6 pips. The mid price barely changes. If your stop sat 5 pips below the bid, it fills without the mid price ever reaching it.

Nothing failed. The broker did the right thing. But your trade closed on a liquidity gap rather than on the thesis that was supposed to close it.

And here is what makes it hard to spot: in the history it looks like an ordinary stop. Same price, same timestamp, same reason. The only way to know this is what happened is to look at the hour and recognise the window.

The practical consequence: a stop sitting closer to price than your broker's bid drops during that window is a stop you can lose for free. Measure how far the spread opens on your account at that hour. Then either move the stop further out before the window, or close before it, or accept that overnight the trade carries a risk that is not the one you computed.

Which trading session has the most liquidity

The currency market has no official session timetable. It is an over-the-counter market with no central exchange: the Bank for International Settlements measures it as OTC turnover. What people call a "session" is the working day of each centre.

Session When What characterises it
AsiaThe Tokyo working dayA jump in activity at the open and a dip over lunch (Ito and Hashimoto)
LondonThe London working dayThe busiest centre: the United Kingdom handles roughly 38% of global currency trading (BIS, April 2025)
New YorkThe New York working dayThe second centre: the United States, roughly 19% (BIS, April 2025)

What matters is not the blocks — it is the overlaps:

If you only remember one thing: activity concentrates at the Tokyo open and in the overlaps, and cost rises outside those hours. Running the same strategy in the London–New York overlap and late in the New York afternoon is not running the same strategy.

Why is Wednesday swap triple

Swap on positions held through Wednesday night is normally charged for three days. Most pairs settle two business days out and the weekend does not count: the value date jumps from Friday to Monday, and the broker charges those three days at once. That is how OANDA and Pepperstone explain it (checked in October 2026). The exact day is set by each broker for each symbol; in MetaTrader 5 it is the SYMBOL_SWAP_ROLLOVER3DAYS property.

If your strategy holds for several days, that night costs three times what any other night costs. On a negative-swap pair in decent size, that can be the difference between a winning trade and a flat one.

This is not a detail to optimise. It is a number that belongs on the sheet before you open.

The clock problem, again

The rollover window is in New York time. Not because an exchange publishes it — spot currency trading has none — but because the five o'clock close is the market convention. Your chart is not in New York time: it is on your broker's server time. IC Markets and FTMO, for example, state GMT+2, and GMT+3 under daylight saving (checked in October 2026).

And the US and Europe do not change their clocks on the same day. The United States moves forward on the second Sunday of March and back on the first Sunday of November (NIST). The European Union does it on the last Sunday of March and the last Sunday of October, as Directive 2000/84/EC sets out: in 2026, on 29 March and 25 October (official Spanish calendar). That makes a three-week gap in spring, from 8 to 29 March, and one week in autumn, from 25 October to 1 November.

Which means: for about four weeks a year, something moves by an hour on your chart while staying exactly where it always was in the market. What moves depends on which calendar your server follows. If it follows the US one, the rollover stays put and the London open shifts. If it follows the European one, the rollover shifts.

If you hard-code sessions as fixed numbers in server time, your filter points at the wrong hour during those weeks. And it throws no error: it filters, it works, and it filters wrong.

The less fragile way is to compute the offset rather than write it down:

// The gap between server time and GMT, as the terminal computes it.
// It depends on the PC clock. In the Strategy Tester it is always 0.
int offset_hours = (int)MathRound((TimeTradeServer() - TimeGMT()) / 3600.0);

Two caveats, both from the MQL5 documentation. TimeTradeServer() does not ask the server for the time: the terminal computes it, and it depends on the time settings of your computer. TimeGMT() also comes from local time. Both depend on your computer's clock. And in the Strategy Tester the two return the same value: there the offset is zero and you have to supply it yourself.

With that, sessions are defined once in GMT and translated. Without it, they are defined in server time and go stale twice a year. And remember that London and New York also shift their working day by an hour against GMT under their own daylight saving: the United Kingdom, on the last Sunday in March and the last Sunday in October; the United States, on the dates above. Japan's official time is UTC plus 9 hours (NICT).

What to do with all this

You do not need a strategy per session. You need three rules:

1. Do not open inside the rollover window. OANDA, for one, does not quote currencies from 16:59 to 17:05 New York time. Tempo leaves room on both sides and marks as rollover the stretch from 16:55 to 18:05 New York. That is its own criterion, not a market standard. Nothing worth opening there stops being worth opening a little later. 2. Check the spread before entering, not the price. A spread outside its normal range is the signal that this is not your hour, whatever the chart says. 3. Know which session every open position is in. Not for elegance: because the risk on a position held through Asia is not the same number as during the London overlap, even with the stop in the same place.

The third one is what almost nobody has in plain sight, and it is the one that changes decisions.


Tempo is a free indicator for MetaTrader 5 that draws the Tokyo, London and New York sessions and the rollover in a strip on the chart, with each session computed in its own city's time. It exists because this information decides trades and was available everywhere except on the screen.