Dealing with Oanda's new "market breaks"


Junior member
Beginning on 29 November 2021, we will be introducing a 5 minute break for forex and precious metals instruments at market end of day (4:58pm ET for all currencies, with an additional break for NZD at 6:58am Auckland time). This change will help to protect our clients from the regular instances of reduced liquidity and subsequent disorderly pricing that can occur during this period.

This change Oanda recently made caused a bit of chaos in my tradebots. I trade on the 4hour bar which hits both of these timeframes - 13:00 and 17:00 ET.

For example between 16:58 and 17:03, Oanda's API returns "MARKET HALTED" and rejects orders now.

What I've currently implemented to deal with this "seems" to be working, but it's not ideal. What I now do is check the time that an order would be triggered, and if it fits the criteria of the Oanda breaks, I queue that instruction and release it after the market break. The main negative is that spreads are much higher after 17:00. But I can't get my algo to take a trading signal early (and that would be technically breaking the trading rules)... so instead I take it a few minutes late.

I deal with this in my accounting by adding double the slippage. I currently add 3 pips slippage and if an order occurs on these halt windows, I calculate it as 6 pips slippage.

Just wondering if anyone else has been impacted by this Oanda change, and how you're dealing with it.


Junior member
i have used their api interfaces and i found them all to be riddled with bugs... i used their C api under windows and linux and both of them would throw an "unhandled exception" even when i was just running a stripped down bot that did nothing but to read the price of eurusd once per minute.. they would all crash within 24 hours and their tech support was useless.

i also found that their api would sometimes start returning random values that made no sense at all.

using the oanda platform and their api resulted in one problem after another, even though they were charging $600/month at the time for their api.

oanda sucks.
Hey not sure how long ago that was, but they have a new REST API I believe, as of just a few years ago. I's called REST-v20 and it's significantly better than the previous (nonstandard) API. It's also free now.

The API works fine, I don't really have any issues with it. The code I was talking about in this thread does work... it catches and delays orders that fall into these new "market halt" windows and then replays them after the window. But this whole idea of halting the market artificially seems like a gut punch. Why not just jack up the spreads or something? It's as if they just threw a wrench into the gears haha.


Active member
The solution is to move away from market making brokers, to a true exchange, Globex, Binance for example. Where I think crypto and an exchange like Binance is fantastic, solves a lot of decade problems. Exchange trading, low spread, fair execution, no need of leverage, 20$ minimum trade size, 24/7 trading, great API, free live data feed.

Other important thing, is to avoid having stops or trade triggers on the broker-side. They will se you coming. Better have the trading platform send orders based on triggers. Before trading live with a broker, one should in any way make some test orders, and look at the slippage + spreads. Slippage should be even distributed over time, and spread should look organic. Below example show equal distributed slippage (!).

Last edited:
AdBlock Detected

We get it, advertisements are annoying!

But it's thanks to our sponsors that access to Trade2Win remains free for all. By viewing our ads you help us pay our bills, so please support the site and disable your AdBlocker.

I've Disabled AdBlock    No Thanks