Everything we measured at OctaFX, including where it beats us
Standard · MT5 account, EUR/USD, 27.08–25.09. Both columns are printed for every broker on this site, ours included — the losses are what make the wins worth reading.
EUR/USD · 27.08–25.09 · our own account, 1 s bid/ask sampling
Where it wins
against FxPro, same window, same instrument
- Commission per lot$0.00fee schedule · checked 25.09.26 · FxPro $7.00
- Swap per year$0swap-free account · 27.08–25.09 · FxPro $49
Where it loses
against FxPro, same window, same instrument
- Annual cost$1 560derived · 27.08–25.09 · FxPro $1 554
- Avg spread, 24 h1.30 pips1 s bid/ask · 27.08–25.09 · FxPro 0.55 pips
- Spread 21:00–24:00 UTC2.90 pips1 s bid/ask · 27.08–25.09 · FxPro 2.02 pips
- Rejected orders2.1%4 744 orders · 27.08–25.09 · FxPro 0.4%
- Slippage on releases2.6 pips201 release orders · 27.08–25.09 · FxPro 0.8 pips
not established — no account opened yet. Until an account exists we cannot say which of a broker's licensed entities would hold it, and guessing one would attach a real licence number to the wrong company.
- Withdrawal feefee schedule not published
- Withdrawal timenot measured in this release
- Support responsenot measured · see methodology
How OctaFX gets to $1 560 a year
The headline figure is one number, and one number is not checkable. Here it is in its parts, for 10 lots a month of EUR/USD on the Standard · MT5 account we opened:
| Component | Per year | How it is derived |
|---|---|---|
| Spread, over the year | $1 560 | 120 lots × 1.30 pips × $10 per pip per lot |
| Commission, over the year | $0 | no per-lot commission on this account type |
| Swap, over the year | $0 | swap-free account |
| Total | $1 560 | what a year on this account costs at this volume |
One pip on one standard lot of EUR/USD is about $10; that conversion is the only constant in the sum, and it is the market's, not ours.
There is no commission on this account, so the whole trading cost sits in the spread: $1 560 of the $1 560. A commission-free account is not the same thing as a cheap account — at 1.30 pips average, this one pays for itself in the price rather than in a line on the statement, and the total is the number that can be compared.
Swap is zero here because the account is swap-free, which removes the overnight financing line entirely. It does not remove the cost of holding a position; it relocates it, usually into a wider spread or an administration fee, and our figure for the spread already contains whatever has been relocated into it.
Nothing in this table is a quote. It is what our own account would have paid at a stated volume over the window we measured, and volume is the lever that moves it most. Trade a tenth as much and the per-lot lines fall by a tenth while the swap stays - which is enough to reorder the table.
Spread by hour on this account
OctaFX has no publishable hourly breakdown. The hourly table needs a continuous series from our own account for the whole window, and one that survived the feed audit. One of those two conditions is missing here. An hourly table assembled from a partial series looks exactly like a complete one, which is precisely why it is not here.
The aggregate figures above stand, with their window printed. When a full series exists, this section fills itself from the same store as every other figure on the site — there is no second pipeline for presentation, which is the only reason a reader can trust that an hourly figure and an average come from the same ticks.
The hours that matter most are the ones nobody advertises. Between 21:00 and 24:00 UTC the New York session closes, liquidity thins and spreads on every account we hold widen — several of them by a multiple rather than a margin. A broker quoting a single daytime average is quoting its best hour and leaving the arithmetic to you; the spread page carries the day-against-rollover ratio for every account in the table, including this one.
What we ran, and for how long
Our OctaFX account is a plain Standard · MT5 account, opened through the public sign-up with no negotiated terms and no introducing-broker arrangement. Its platform runs continuously on hardware we control, with sleep, hibernation and battery throttling all disabled — the defaults would have removed the thin-liquidity hours, which are the ones worth measuring.
Every quote is kept raw. Because a terminal stamps ticks with its own server's clock, the offset to UTC is derived from fresh ticks at each start — a hard-coded constant goes wrong twice a year, in a way that leaves every individual number looking correct. Freshness is checked after conversion, and it is the check that matters — a quote frozen at the Friday close can otherwise be indistinguishable from a live one with a plausible offset attached.
Execution is measured the only way it can be — by putting orders through the account: 4 744 market orders of the smallest volume the account permits went through this account during the window of which 201 were timed into the minutes around scheduled economic releases. Every probe was closed within seconds: an open position would collect swap and market risk and contaminate the next reading and the account is reconciled against the broker after each run.
The window is 2026-08-27 to 2026-09-25, continuous. Coverage is reported as the share of calendar market hours in that window which actually hold samples, not as the count of distinct hours of the day we have ever seen — the second number can only go up, and it hid a three-day outage from us for exactly as long as we trusted it.
What OctaFX did with our orders
The spread is advertised the fill is not and the difference between them is where the money actually goes. Out of 4 744 orders on this account 2.1% did not execute and the 201 orders placed into the minutes around scheduled economic releases slipped by 2.6 pips on average — about $26 per standard lot every time one of those orders is placed.
A reject here is an order the broker declined, with its own status code attached. It is not the same thing as an order that got no execution event inside our window: those are recorded under our own status, no answer, and excluded from this rate. Folding the two together is the kind of error that is very comfortable to make when it favours the broker that pays for the site.
Slippage is the difference between the price asked for and the price filled, signed from the trader's side: positive means worse for you. Only orders aimed at scheduled releases count towards it. Execution quality is invisible in calm markets — that is the whole reason brokers can advertise it freely. Those minutes are where execution quality actually exists - liquidity thins and every order in the market arrives together.
Each probe is the smallest volume the account allows and is closed immediately, which keeps the measurement from accumulating market exposure and keeps the cost of running it survivable. Where a fill and the surrounding quotes imply different scales, the probe is marked suspect — one of our feeds sends scaled integers, and mixing the two produced a plausible nonsense once already.
What OctaFX's licence gives a client
Not established. We have not confirmed which of this broker's licensed entities would hold an account like ours, and without that there is no honest way to say what protection applies: a group can hold a European licence, an offshore one and several in between, and the client protections attached to them are not comparable. A licence number attached to the wrong entity is worse than no licence number at all, so this section stays empty until the broker tells us which entity our account sits under.
This matters more than it sounds. The compensation ceiling, the maximum leverage you may be offered, whether your losses can exceed your deposit and who hears a complaint are all properties of the entity, not of the brand on the website. Two clients of the same broker, onboarded through different entities, can have materially different protection with identical platforms and identical spreads.
Where we have established the entity, this section carries the regulator's own rule with the sentence it came from — see any of the brokers whose entity is confirmed. For this one, the measurements above stand on their own: they describe the account we opened, whoever turns out to hold it.
Eight axes, eight placings for OctaFX
OctaFX is in the better half of the table on 2 of the 7 axes it has figures for — best of 10 on commission per lot; best of 10 on swap per year; last of 9 on rejected orders. Placings are computed within one source class only, on identical instrument and window, and deliberately left unaggregated. A composite score is exactly where a site paid by one of these brokers would hide its thumb, so there is none.
| Axis | This account | Placing | Distance to best, and to the median |
|---|---|---|---|
| Annual cost | $1 560 | 8 of 10 | best is $1 108, $452 away · median $1 452 (we are over it) |
| Avg spread, 24 h | 1.30 pips | 8 of 10 | best is 0.28 pips, 1.02 pips away · median 0.55 pips (we are over it) |
| Spread 21:00–24:00 UTC | 2.90 pips | 9 of 10 | best is 1.22 pips, 1.68 pips away · median 2.02 pips (we are over it) |
| Commission per lot | $0.00 | 1 of 10 | best on this axis · median $7.00 (we are under it) |
| Swap per year | $0 | 1 of 10 | best on this axis · median $64 (we are under it) |
| Rejected orders | 2.1% | 9 of 9 | best is 0.4%, 1.7% away · median 1.1% (we are over it) |
| Slippage on releases | 2.6 pips | 9 of 9 | best is 0.8 pips, 1.8 pips away · median 1.6 pips (we are over it) |
| Withdrawal fee | no data | — | fee schedule not published |
Lower is better on every axis · 27.08–25.09 · ranking happens inside one source class only
What this column cannot tell you is which axis matters to you. That depends on volume, holding period and the hours you trade, and we are the last people who should be weighting it on your behalf.
Questions this page should answer
Answers come from this account's own numbers. Where we have not measured something, the answer says so rather than reaching for the broker's claim.
Does a tighter spread mean a smaller bill?
No, and this account is a good illustration. It carries no commission, so the whole trading cost is in the 1.30 pip spread — $1 560 a year at our profile. The whole bill is the only honest basis for comparing the two account models, and it is what the front page sorts on.
What have you not measured here, and why does it matter?
Withdrawals and support are absent. Both would need us to fund and defund accounts at every broker in the table to measure honestly. An unmeasured axis says so; a broker's own claim in that cell would be indistinguishable from a measurement. Execution is measured, by sending real orders rather than by reading a claim.
Can I reproduce these numbers myself?
Partly, and we would like you to try. The inputs are all visible, which is the point of publishing components instead of a score. The data page specifies the hourly rows behind every aggregate, field by field. What you cannot reproduce is our ticks: a tick is a moment, and it does not come back.
Is this page a recommendation to open an account here?
No. Nothing on this site is advice, we are not a licensed adviser, and this page is a record of what one account at one broker did during one stated window. One broker on this site pays us a commission and it is labelled wherever it appears — the disclosure says exactly what that does and does not buy. OctaFX is not paying us anything and is not linked from this page.
How often do these figures change?
Measured figures move with each new window. Figures taken from a fee schedule move when the schedule does, and each carries the date it was read. The current window is 27.08–25.09, and the schedules behind the stated figures were last read on 2026-09-25. A figure whose date is old is a figure to distrust, including on this site.
Why is there no link to OctaFX anywhere on this page?
Because we have no commercial relationship with it and we are not going to imply one by sending you there. OctaFX is named, measured and linked to its entry in the public register where we have one. The single broker this site is paid by is marked as sponsored every time it appears, and it is not this one.
Where to point your scepticism
We are paid by one of the brokers in these tables. That is a reason to check the work rather than to trust it, and these are the places where checking is cheapest.
- Check the window, then the sort orderevery figure carries the window it was taken in; the cost table is sorted by cost, and our sponsor sits wherever that puts it
- Check that the losses are printedif the sponsor's losses ever stop appearing on this site, stop believing the rest of it
- Check the source class on each number🔬 measured, 📊 third party, 📄 stated by the broker — and no ranking crosses those classes
- Recompute the billthe components and the profile are printed above; the arithmetic is deliberately simple enough to redo on paper
- Ask for the rowsthe data page says what we hand over, including the flagged readings we excluded
If you find something wrong, tell us: desk@costcheckfxen.com. A correction is published with a note of what changed, and the faulty rows are quarantined rather than deleted. A broker that disagrees with a number here is sent the query and the rows behind it; the editorial policy says how that works.