OXARUS :: RESEARCH
Forex market structure research · Oxarus Quant
Studies on support and resistance levels, weekend gaps and how price behaves at levels, built on millions of minutes of data.
- page
- unit
Quant
- path
- markdown
Interface data marked as representative is illustrative; it is not a real client, result or measurement.
Not investment advice. Trading in financial markets carries a risk of losing capital.
WE MEASURE FIRST.
QUANT · RESEARCH
We test widely held but rarely measured market ideas against data: seven years of minute prices, a matched control group for every idea and a repeat on a second pair. We publish the ideas that don't hold up, too.
- Minute data, 2020–2026
- A matched control group in every test
- Replicated on EURUSD and GBPUSD
- Level
- Control
- Result
REPRESENTATIVE INTERFACE DATA · Representative chart. Findings are for research purposes only and are not investment advice.
- file
level_study.ipynb
- dataset
EURUSD · M1 · 2020–2026 · 40,658 touches
- tag
Representative chart
- done
done
- level
Previous day high (PDH)
- band
band = 0.05 × ATR
- levelTag
PDH
Matched control
- tag
ctl
- body
For every real level, a line at the same distance that means nothing. Taken from another day's real offset, shifted by 7 days.
- Real level
9–25 / day
- Control line
~25 / day
- Distance distribution
identical
Three touches on one level
-
0
- n
#1
- minutes
4
- dwell
4 min
- out
REJECT
-
1
- n
#2
- minutes
9
- dwell
9 min
- out
REJECT
-
2
- n
#3
- minutes
31
- dwell
31 min
- out
BREAK
The touch that stayed longest in the band broke the level. One representative day; the rates are in the third cell.
- resultTitle
Break rate · by level family
| PIVOT | 41 | 40 |
| PDHLC | 41 | 40 |
| ROUND | 41 | 40 |
| SWING | 41 | 40 |
| FIB | 39 | 39 |
Same result every year
- 2020
- 2021
- 2022
- 2023
- 2024
- 2025
- 2026
- verdict
No difference: a level's name doesn't change the odds of a break.
Representative chart; rates are from the published study.
TWO PUBLISHED STUDIES.
STUDIES
Each study states its sample, period and control method. Pick a finding to bring its panel forward in the figure.
From the published study. For research purposes only, not investment advice.
-
Do levels really hold?
At pivots, previous-day levels, round numbers, swing and Fibonacci levels, we checked whether price broke through, and compared the results with meaningless control lines that share the same distance distribution.
- sample
83,527
- sample unit
touches
STUDY FACTS
- Sample
83,527 touches
- Period
2020–2026
- Pairs
EURUSD · GBPUSD
- Resolution
M1 (minute bars)
- Control
Distance-matched lines
- Replication
Replicated on GBPUSD
FINDINGS
- Every level family broke about 41% of the time; matched control lines, 40%. The same held in each of the seven years.
- Which touch it was made no difference: from the 1st touch to the 5th, 41%, 40%, 39%, 42%, 44%.
- The only thing that changed the outcome was how long price stayed near the level on that touch. The same result replicated point for point on GBPUSD.
- Break rate by level family
- Break rate by touch number
- Break probability by time in the band
-
Go to the dwell-time chart
-
Do weekend gaps close?
We measured when the Monday opening gap made it back to Friday's close, and how far price traveled before it did.
- sample
345
- sample unit
breaks
STUDY FACTS
- Sample
345 breaks
- Period
2020–2026
- Pair
EURUSD
- Resolution
M1 (minute bars)
- Reference
Friday close
- Horizon
60 days
FINDINGS
- 65% of gaps closed during the opening session; among those, the median time to close was 11 minutes.
- 95% closed within five trading days, and 98% within sixty days.
- The small tail that never closed lined up exactly with geopolitical shock days. For gaps larger than 5 pips, the median excursion before closing was 21 pips, and 120 pips in the worst decile.
- Closed in the opening session
- Share closed over time
- Excursion before the close
-
Go to the gap chart
| PIVOT | 41 | 40 |
| PDHLC | 41 | 40 |
| ROUND | 41 | 40 |
| SWING | 41 | 40 |
| FIB | 39 | 39 |
- matched control
40
touch number
- 20
- 21
- 22
- 23
- 24
- 25
- 26
stops
eurusd
gbpusd
- all
65
- big
10
- median time to close
11 min
-
open
- all
0
- big
0
-
session
- all
65
- big
10
-
5 days
- all
95
- big
85
-
60 days
- all
98
- p50
21
- p90
120
- max
470
- still open after 60 days
2
HOW LONG AT THE LEVEL?
TIME AT THE LEVEL
The longer price stays in a level's band, the more likely it is to break the level, until the effect levels off. Pick a duration; the chart and the ranges update together.
- stop option
≥{minutes} min
- replication
GBPUSD replication
- probability
break probability
- base
base
- lift
vs base
- lift unit
pts
- not measured
not measured
- pair eur
EURUSD
- pair gbp
GBPUSD
Break probability by time spent in the level band. A research finding, not a trade recommendation.
By session: base → 30 minutes
Time in the band
- rejects
Rejections
- breaks
Breaks
- median
median
- selected
selected
Robustness to band width
With the band varied between 0.03 and 0.08 × ATR, the 30-minute lift stayed between +12 and +14 points.
- plateau
plateau
- dataset
EURUSD · GBPUSD · M1 · 2020–2026 · n=83,527
Time already in the band
eurusd
gbpusd
- control
40
- control short
control
plateau
- minute unit
min
- break query
P(break | dwell ≥ {minutes} min)
- chart sample
EURUSD n=40,658 · GBPUSD n=42,869
By session: base → 30 minutes
-
ASIA
- base
43
- at30
55
-
LDN
- base
40
- at30
56
-
NY
- base
40
- at30
55
- By session: base → 30 minutes
30 min
rejects
breaks
- 0.03
- 0.05
- 0.08
- Robustness to band width
× ATR
Robustness to band width
- Robustness to band width
30 min
WHEN DO THEY CLOSE?
WEEKEND GAPS
Across 345 weekend and holiday breaks, how long the opening gap took to get back to Friday's close. Pick a horizon.
Horizon
-
Session
-
5 days
-
60 days
The remaining 2%: gaps still open after sixty days. Every one of them coincides with a major geopolitical shock.
Cumulative share of gaps closed
By gap size
- all gaps
All gaps
- big gaps
Over 20 pips
- same session
Closed in the same session
- within week
Within 5 trading days
Excursion before closing (≥5 pips)
Before the gap closed, price moved the other way by a median of 21 pips, 120 pips in the worst decile, and 470 pips at most.
- median fill
median fill
- axis open
open
- axis session
session
- axis day
1 day
- axis week
5 days
- axis two months
60 days
- unfilled
unfilled
- not measured
not measured
- pips unit
pips
EURUSD, 345 weekend and holiday breaks. A research finding, not investment advice.
- n
345
- median fill
11 min
- Horizon
60 days
- chart sample
EURUSD n=345
points
-
0
- at
1
- value
10
-
1
- at
3
- value
85
- unfilled
2
- all
65
- big
10
- all
95
- big
85
- all
98
Excursion before closing (≥5 pips)
- p50
21
- p90
120
- max
470
- Excursion before closing (≥5 pips)
pips · log scale
HOW WE AVOID FOOLING OURSELVES.
METHOD
We logged every interim result that turned out wrong. Switch any entry between how it looked at first and what it actually was.
-
Random lines broke less often than levels, so levels looked like 'magnets.'
The random lines sat farther from price. Once the control lines were built with the same distance distribution, the difference vanished.
-
Three months of data showed a clear dip at the third touch.
Across seven years of data, it evaporated. Run enough comparisons, and some differences show up by chance.
-
One measurement came out with a 100% break rate.
When a rate sticks to 0 or 1, suspect the measuring machinery first. It was a single sign error.
-
An idea seemed to hold on one pair.
We rebuilt the same test from scratch on another pair. Nothing that failed to hold on both counted as a finding.
Correction log
- resolved
resolved
- count
{fixed} / {total} resolved
- schematic
schematic
- show traps
Show first glance
- show fixes
Apply corrections
- random
random lines
- matched
matched lines
- levels
levels
- distance
distance to price
touch rates
-
3 months of data
7 years of data
- bug: sign(dist)
100
- fixed
41
- matched control
40
- eur
EUR 55
- gbp
GBP 54
- start
0m
- end
30m
LET DATA ANSWER YOUR QUESTION.
RESEARCH
If you'd like us to run measurements or hypothesis tests on market data for your organization, or build its research infrastructure, get in touch.
ACTIONS
DOCUMENTS
- markdown
- llms.txt
- agents.md
Every page is also served as Markdown: add .md to the address or request it with Accept: text/markdown.