BullExpansion (48 weeks) — 100.0% LowFirst. The weekly Low prints before the High in 100.0% of cases. In 83.3% of BullExpansion weeks, that Low occurs on Monday.
BearExpansion (24 weeks) — 100.0% HighFirst. The weekly High prints before the Low in every BearExpansion week in this sample. In 62.5% of BearExpansion weeks, that High occurs on Monday.
Range premium: Expansion weeks average 367 pips vs 298 pips for all other types — a 23% range advantage. These are the highest-volatility weekly structures in the dataset.
NeutralRange precursor: After a neutral week, P(BullExpansion) = 26.3%, P(BearExpansion) = 13.2% — combined 39.5% expansion probability vs 36.0% base rate. Range compression appears to precede directional expansion.
Friday extremes: 32.5% of weekly Highs and 23.5% of Lows occur on Friday (random expectation: 20.0% each). Friday is a disproportionate extreme day across all candle types.
Data context: 200 weeks (3.8 years), single macro regime (post-COVID tightening, May 2022–Mar 2026). BullExpansion n=48, BearExpansion n=24. Treat all sub-group findings as indicative until n>50 per type across multiple regimes.
Candle Type Playbook
BullExpansion — 48 weeks (24.0% of 200 total)
Frequency
48 weeks — 24.0% of all weeks
Avg Range
309.8 pips (median 292.7 pips)
Sequence
HighFirst 0.0% | LowFirst 100.0%
Typical High Day
Friday (mode) | Mon 0.0% | Fri 70.8%
Typical High Hour
19:00 (mode) | Mean 15.2
Typical Low Day
Monday (mode) | Mon 83.3% | Fri 0.0%
Typical Low Hour
00:00 (mode) | Mean 6.4
Open Position
0.097 (0 = Low, 1 = High)
Close Position
0.891 (0 = Low, 1 = High)
Body
79.4% of range
Wick Profile
Upper 10.9% | Lower 9.7%
Structure
Opens near Low, expands upward, closes near High. Low set early (typically Monday). High set late. Strong committed bull structure.
ELI5 — How this might be traded
What the structure means
The market opened near the bottom of the week's range, climbed steadily, and closed near the top. The Low is set early (typically Monday morning) and the High arrives late in the week. The direction was clear and committed from the start — bulls were in control all week with minimal failed attempts.
Potential trading approach
Wait for the Monday Low to be established — ideally before 06:00–08:00 server time. Once Monday's session closes with no new lows being made, consider a long entry. Stop: below the Monday Low. Target: upper 80–90% of the week's range by Friday close (~180–200 pips on average). R:R estimate: if entry is 20–30 pips above the Monday Low, expected target is ~150–180 pips away — roughly 5:1 to 7:1 theoretical.
What would invalidate it
(1) Monday Low broken mid-week (new weekly Low prints on Tue–Thu) → structural failure; exit immediately. (2) Market extends higher on Monday but then immediately reverses — you are in a BearExpansion, not BullExpansion. (3) Major macro event Wednesday (Fed, NFP) can override weekly structure; reduce position into the event. (4) Multiple consecutive NeutralRange weeks prior suggest sustained range environment where directional expansions are less reliable.
BearExpansion — 24 weeks (12.0% of 200 total)
Frequency
24 weeks — 12.0% of all weeks
Avg Range
482.6 pips (median 469.4 pips)
Sequence
HighFirst 100.0% | LowFirst 0.0%
Typical High Day
Monday (mode) | Mon 62.5% | Fri 0.0%
Typical High Hour
02:00 (mode) | Mean 9.8
Typical Low Day
Friday (mode) | Mon 0.0% | Fri 83.3%
Typical Low Hour
15:00 (mode) | Mean 15.2
Open Position
0.846 (0 = Low, 1 = High)
Close Position
0.117 (0 = Low, 1 = High)
Body
72.9% of range
Wick Profile
Upper 15.4% | Lower 11.7%
Structure
Opens near High, expands downward, closes near Low. High set early (typically Monday). Low set late. Mirror of BullExpansion.
ELI5 — How this might be traded
What the structure means
Mirror image of BullExpansion. The market opened near the top of the week's range, sold off throughout the week, and closed near the bottom. The High is set early (typically Monday morning — 100% HighFirst in this dataset). Every single BearExpansion week in our sample made its High before its Low. The direction was committed from the opening bar.
Potential trading approach
Wait for the Monday High to be established — ideally before 06:00–08:00 server time. Once Monday's session shows the market weakening from the early High, consider a short entry. Stop: above the Monday High. Target: lower 10–20% of the week's range by Friday close (~160–190 pips on average). Note: Avg Open → High excursion is ~33 pips (the initial spike before reversal). The short opportunity usually appears after this spike fades.
What would invalidate it
(1) Monday High broken mid-week (new weekly High prints on Tue–Thu) → structural failure; exit immediately. (2) Strong bullish news event (e.g., ECB rate surprise) overrides weekly structure. (3) Market opens gap-down on Monday — this can set the week's Low early, producing a BullExpansion or NeutralRange week instead. (4) Sample warning: n=25 is small — this type's 100% HighFirst rate will not hold perfectly on larger samples. Apply the structural logic, not the exact statistic.
BullRejection — 48 weeks (24.0% of 200 total)
Frequency
48 weeks — 24.0% of all weeks
Avg Range
276.1 pips (median 264.3 pips)
Sequence
HighFirst 45.8% | LowFirst 52.1%
Typical High Day
Friday (mode) | Mon 22.9% | Fri 33.3%
Typical High Hour
15:00 (mode) | Mean 11.3
Typical Low Day
Tuesday (mode) | Mon 16.7% | Fri 8.3%
Typical Low Hour
03:00 (mode) | Mean 11.1
Open Position
0.596 (0 = Low, 1 = High)
Close Position
0.739 (0 = Low, 1 = High)
Body
23.0% of range
Wick Profile
Upper 21.7% | Lower 55.3%
Structure
Closes above midrange but body is narrow. Upper wick indicates at least one failed push higher. Directionally bullish but with friction.
ELI5 — How this might be traded
What the structure means
The market ended the week in the upper half of its range, but the body (Open–Close spread) is narrow. The week had a bullish direction overall but with detectable resistance — upper wicks indicate at least one failed push higher before settling with a bullish close. Think of it as a partial bull week with friction.
Potential trading approach
Not a primary entry signal. The narrow body means there is no clean directional commitment to trade against. Best used as prior-week context: if last week was BullRejection and this week shows early Monday LowFirst structure (Low prints before noon on Monday), the context strengthens a bullish bias for the current week. In isolation, do not trade this type.
What would invalidate it
Not applicable as a standalone entry. If using as prior-week context: the edge is weak if two consecutive BullRejection weeks occur (suggests resistance is building, not resolving).
BearRejection — 42 weeks (21.0% of 200 total)
Frequency
42 weeks — 21.0% of all weeks
Avg Range
291.3 pips (median 269.4 pips)
Sequence
HighFirst 64.3% | LowFirst 35.7%
Typical High Day
Wednesday (mode) | Mon 14.3% | Fri 14.3%
Typical High Hour
03:00 (mode) | Mean 10.9
Typical Low Day
Friday (mode) | Mon 23.8% | Fri 38.1%
Typical Low Hour
04:00 (mode) | Mean 11.1
Open Position
0.359 (0 = Low, 1 = High)
Close Position
0.287 (0 = Low, 1 = High)
Body
22.9% of range
Wick Profile
Upper 56.3% | Lower 20.8%
Structure
Closes below midrange but body is narrow. Lower wick indicates a tested support that partially recovered. Directionally bearish with friction.
ELI5 — How this might be traded
What the structure means
The market closed in the lower half of its range, but with a narrow body. The week had a bearish direction overall but with detectable support — lower wicks show at least one recovery attempt before the week settled lower. A partial bear week with friction.
Potential trading approach
Not a primary entry signal. Same logic as BullRejection in reverse. Best used as prior-week context: if last week was BearRejection and this week shows early Monday HighFirst structure (High prints before noon on Monday), the context strengthens a bearish bias for the current week. In isolation, do not trade this type.
What would invalidate it
Not applicable as standalone entry. If using as prior-week context: the edge is weak if two consecutive BearRejection weeks occur.
NeutralRange — 38 weeks (19.0% of 200 total)
Frequency
38 weeks — 19.0% of all weeks
Avg Range
334.4 pips (median 326.0 pips)
Sequence
HighFirst 50.0% | LowFirst 50.0%
Typical High Day
Wednesday (mode) | Mon 23.7% | Fri 23.7%
Typical High Hour
17:00 (mode) | Mean 12.3
Typical Low Day
Thursday (mode) | Mon 18.4% | Fri 18.4%
Typical Low Hour
15:00 (mode) | Mean 10.9
Open Position
0.499 (0 = Low, 1 = High)
Close Position
0.537 (0 = Low, 1 = High)
Body
41.9% of range
Wick Profile
Upper 27.2% | Lower 30.9%
Structure
Open and close both near midrange. Wicks on both sides. No directional commitment — market was indecisive all week.
ELI5 — How this might be traded
What the structure means
The market went nowhere for the week. Both Open and Close are near the middle of the range, with wicks on both sides. Neither bulls nor bears won the week. This is a standoff week — the market was unable to commit to a direction.
Potential trading approach
Do not trade directionally on the NeutralRange week itself. The primary value of this type is as a precursor signal: in this dataset, after a NeutralRange week, the probability of the next week being a BullExpansion or BearExpansion nearly doubles compared to the base rate. Think of NeutralRange as a 'coiled spring' — the market is compressing before a directional release. The following Monday's early extreme (High or Low) is the trigger to watch.
What would invalidate it
Two or more consecutive NeutralRange weeks weaken the coiled-spring logic — this may be a sustained low-volatility environment rather than a temporary pause. Also: the NeutralRange → Expansion edge is directionally ambiguous; you still need the Monday early-extreme signal to determine which direction.
Weekly Extreme Timing Maps
All Weeks (n=200)
Weekly High timing — Day × Hour (counts in cells; colour intensity = % of 200 weeks)
Weekly Low timing — Day × Hour
High Peak Timing
Mode Day
Friday (32.5%)
Mode Hour
15:00
Mean Hour
12.2
Best 3-hour window
Friday 17:00–19:59 (18 / 9.0%)
Top 5 cells
Friday 15:00 (8 / 4.0%)
Wednesday 14:00 (7 / 3.5%)
Friday 19:00 (7 / 3.5%)
Tuesday 03:00 (6 / 3.0%)
Friday 18:00 (6 / 3.0%)
Low Peak Timing
Mode Day
Monday (32.5%)
Mode Hour
00:00
Mean Hour
10.4
Best 3-hour window
Monday 00:00–02:59 (26 / 13.0%)
Top 5 cells
Monday 00:00 (19 / 9.5%)
Monday 04:00 (10 / 5.0%)
Monday 03:00 (6 / 3.0%)
Tuesday 15:00 (6 / 3.0%)
Tuesday 17:00 (6 / 3.0%)
BullExpansion (n=48)
Weekly High timing — Day × Hour (counts in cells; colour intensity = % of 48 weeks)
Weekly Low timing — Day × Hour
High Peak Timing
Mode Day
Friday (70.8%)
Mode Hour
19:00
Mean Hour
15.2
Best 3-hour window
Friday 17:00–19:59 (12 / 25.0%)
Top 5 cells
Friday 19:00 (6 / 12.5%)
Friday 15:00 (4 / 8.3%)
Friday 17:00 (4 / 8.3%)
Friday 20:00 (4 / 8.3%)
Friday 23:00 (4 / 8.3%)
Low Peak Timing
Mode Day
Monday (83.3%)
Mode Hour
00:00
Mean Hour
6.4
Best 3-hour window
Monday 00:00–02:59 (19 / 39.6%)
Top 5 cells
Monday 00:00 (15 / 31.2%)
Monday 04:00 (6 / 12.5%)
Monday 01:00 (2 / 4.2%)
Monday 02:00 (2 / 4.2%)
Monday 03:00 (2 / 4.2%)
BearExpansion (n=24)
Weekly High timing — Day × Hour (counts in cells; colour intensity = % of 24 weeks)
Weekly Low timing — Day × Hour
High Peak Timing
Mode Day
Monday (62.5%)
Mode Hour
02:00
Mean Hour
9.8
Best 3-hour window
Monday 14:00–16:59 (5 / 20.8%)
Top 5 cells
Monday 02:00 (2 / 8.3%)
Monday 10:00 (2 / 8.3%)
Monday 14:00 (2 / 8.3%)
Monday 16:00 (2 / 8.3%)
Tuesday 03:00 (2 / 8.3%)
Low Peak Timing
Mode Day
Friday (83.3%)
Mode Hour
15:00
Mean Hour
15.2
Best 3-hour window
Friday 15:00–17:59 (7 / 29.2%)
Top 5 cells
Friday 15:00 (3 / 12.5%)
Friday 18:00 (3 / 12.5%)
Friday 20:00 (3 / 12.5%)
Thursday 05:00 (2 / 8.3%)
Friday 16:00 (2 / 8.3%)
BullRejection (n=48)
Weekly High timing — Day × Hour (counts in cells; colour intensity = % of 48 weeks)
Weekly Low timing — Day × Hour
High Peak Timing
Mode Day
Friday (33.3%)
Mode Hour
15:00
Mean Hour
11.3
Best 3-hour window
Monday 01:00–03:59 (6 / 12.5%)
Top 5 cells
Friday 18:00 (4 / 8.3%)
Monday 03:00 (3 / 6.2%)
Tuesday 15:00 (3 / 6.2%)
Thursday 15:00 (3 / 6.2%)
Monday 02:00 (2 / 4.2%)
Low Peak Timing
Mode Day
Tuesday (41.7%)
Mode Hour
03:00
Mean Hour
11.1
Best 3-hour window
Tuesday 15:00–17:59 (7 / 14.6%)
Top 5 cells
Tuesday 17:00 (4 / 8.3%)
Tuesday 10:00 (3 / 6.2%)
Monday 10:00 (2 / 4.2%)
Monday 13:00 (2 / 4.2%)
Tuesday 02:00 (2 / 4.2%)
BearRejection (n=42)
Weekly High timing — Day × Hour (counts in cells; colour intensity = % of 42 weeks)
Weekly Low timing — Day × Hour
High Peak Timing
Mode Day
Wednesday (33.3%)
Mode Hour
03:00
Mean Hour
10.9
Best 3-hour window
Tuesday 02:00–04:59 (4 / 9.5%)
Top 5 cells
Tuesday 03:00 (3 / 7.1%)
Wednesday 14:00 (3 / 7.1%)
Monday 17:00 (2 / 4.8%)
Wednesday 01:00 (2 / 4.8%)
Friday 02:00 (2 / 4.8%)
Low Peak Timing
Mode Day
Friday (38.1%)
Mode Hour
04:00
Mean Hour
11.1
Best 3-hour window
Monday 02:00–04:59 (5 / 11.9%)
Top 5 cells
Monday 00:00 (3 / 7.1%)
Monday 04:00 (3 / 7.1%)
Monday 03:00 (2 / 4.8%)
Friday 02:00 (2 / 4.8%)
Friday 10:00 (2 / 4.8%)
NeutralRange (n=38)
Weekly High timing — Day × Hour (counts in cells; colour intensity = % of 38 weeks)
Weekly Low timing — Day × Hour
High Peak Timing
Mode Day
Wednesday (26.3%)
Mode Hour
17:00
Mean Hour
12.3
Best 3-hour window
Wednesday 14:00–16:59 (5 / 13.2%)
Top 5 cells
Monday 01:00 (2 / 5.3%)
Monday 09:00 (2 / 5.3%)
Wednesday 14:00 (2 / 5.3%)
Wednesday 15:00 (2 / 5.3%)
Friday 02:00 (2 / 5.3%)
Low Peak Timing
Mode Day
Thursday (28.9%)
Mode Hour
15:00
Mean Hour
10.9
Best 3-hour window
Thursday 15:00–17:59 (7 / 18.4%)
Top 5 cells
Thursday 15:00 (4 / 10.5%)
Monday 02:00 (2 / 5.3%)
Tuesday 04:00 (2 / 5.3%)
Thursday 11:00 (2 / 5.3%)
Thursday 16:00 (2 / 5.3%)
Expansion Strategy Research
Structural Distinctiveness
CandleType
N
AvgRange(pips)
CanonSeq%
CanonSeqNote
MondayExt%
AvgBodyPct
AvgOpenPos
AvgClosePos
BullExpansion
48
309.8
100.0
% LowFirst
83.3
0.794
0.097
0.891
BearExpansion
24
482.6
100.0
% HighFirst
62.5
0.729
0.846
0.117
BullRejection
48
276.1
—
n/a
—
0.23
0.596
0.739
BearRejection
42
291.3
—
n/a
—
0.229
0.359
0.287
NeutralRange
38
334.4
—
n/a
—
0.419
0.499
0.537
All Non-Expansion
128
298.4
—
n/a
—
0.286
0.49
0.531
Research Judgement
BullExpansion — proceed with dedicated research track.
Three structurally independent signals align:
(1) 100.0% canonical LowFirst sequence,
(2) 83.3% Monday Low concentration,
(3) early-morning timing cluster for the Low.
These are distinct from all other candle types simultaneously on range, position, and timing.
n=48 is below the ideal 50-count threshold —
continue collecting weekly data, but the direction justifies a dedicated research track.
BearExpansion — proceed, highest-signal type in this dataset.
100% HighFirst (n=24) is the strongest single structural signal here.
Wilson 95% CI lower bound is approximately 86% — directional edge is real even at this sample size.
Combined with 62.5% Monday High concentration,
BearExpansion is the most structurally distinctive type in the sample.
Caution: 100% will not hold on a larger dataset; the structural direction will remain valid
but the exact percentage will moderate.
Next research priorities before any EA consideration:
(1) Monday fail rate — how often does a Monday Low/High get broken later in the week?
(2) Entry precision — at what Monday hour exactly, and what confirmation is needed?
(3) Out-of-sample validation — test on 2010–2022 data (different macro regime).
(4) Extend dataset to 15-20 years for robust seasonality and conditional probability analysis.
Conditional Probabilities
Condition
CandleType
N_condition
N_match
Prob%
(base rate)
BullExpansion
200
48
24.0
(base rate)
BearExpansion
200
24
12.0
LowDay=Monday
BullExpansion
65
40
61.5
LowDay=Mon, LowHour<=06
BullExpansion
43
28
65.1
LowDay=Mon, LowHour<=12
BullExpansion
55
36
65.5
LowDay=Mon, LowHour<=18
BullExpansion
63
39
61.9
HighDay=Monday
BearExpansion
41
15
36.6
HighDay=Mon, HighHour<=06
BearExpansion
18
6
33.3
HighDay=Mon, HighHour<=12
BearExpansion
27
9
33.3
HighDay=Mon, HighHour<=18
BearExpansion
38
15
39.5
Sequence=LowFirst
BullExpansion
107
48
44.9
Sequence=HighFirst
BearExpansion
92
24
26.1
Seasonality: ISO Week Number
Thin-sample warning: With 200 weeks covering ~3.8 years,
the average observations per ISO week number is 3.8 (minimum 3).
This is insufficient for statistically reliable seasonality analysis.
To interpret these charts meaningfully, extend the dataset to 15–20 years
(750–1040 weeks), giving ~15–20 observations per week number.
Charts below are shown as-is for initial exploration only — treat individual week-number
readings as illustrative, not evidential.
Expansion probability, average range, and sample count by ISO week number
Highest Expansion Probability (n≥2)
Week
Exp%
n
Week 27
100.0%
4
Week 7
75.0%
4
Week 9
75.0%
4
Lowest Expansion Probability (n≥2)
Week
Exp%
n
Week 3
0.0%
4
Week 4
0.0%
4
Week 13
0.0%
3
Extending the dataset to 15–20 years: Open MetaTrader 5, run the
WeeklyOHLC_Export script with InpWeekCount = 1040
(default updated in v5). This captures approximately 20 years of EURUSD weekly data,
subject to your broker's history depth. Re-run this Python script — all analysis
adapts automatically to the input file size.
Time-Decay Weighting Analysis
How to read this: Time-decay weighting assigns more influence to recent weeks.
A half-life of 52 weeks means a week from 1 year ago has 50% weight vs a current week;
a week from 2 years ago has 25%. If a candle type's weighted frequency is higher than
its equal-weight frequency, that type has been occurring more often recently.
Conversely, a lower weighted frequency suggests that type was more common in the past.
Differences here reflect regime shifts within the dataset window.
Equal-weight vs time-decay-weighted frequency and range by candle type
CandleType
N
UW_Freq%
UW_AvgRange
W52_Freq%
W104_Freq%
W52_FreqDelta
W104_FreqDelta
BullExpansion
48
24.0
309.8
22.0
22.9
-2.0
-1.1
BearExpansion
24
12.0
482.6
10.6
11.5
-1.4
-0.5
BullRejection
48
24.0
276.1
26.1
25.5
+2.1
+1.5
BearRejection
42
21.0
291.3
21.2
20.9
+0.2
-0.1
NeutralRange
38
19.0
334.4
20.0
19.3
+1.0
+0.3
Interpretation guidance: A positive FreqDelta (e.g., +3.2%) means that candle type
has been more frequent in recent weeks than its overall historical rate.
This can indicate: (a) a regime shift toward/away from expansion behaviour,
or (b) normal sampling variation at small n.
Treat changes below ±2% as noise at this dataset size.
Transition Matrix
PrevCandleType
BullExpansion
BearExpansion
BullRejection
BearRejection
NeutralRange
BullExpansion
19.1
12.8
38.3
17.0
12.8
BearExpansion
29.2
8.3
33.3
12.5
16.7
BullRejection
22.9
8.3
22.9
27.1
18.8
BearRejection
26.2
16.7
7.1
19.0
31.0
NeutralRange
26.3
13.2
21.1
26.3
13.2
Key transitions
BullExpansion → BullExpansion
19.1%
BullExpansion → BearExpansion
12.8%
BearExpansion → BearExpansion
8.3%
BearExpansion → BullExpansion
29.2%
NeutralRange → BullExpansion
26.3%
NeutralRange → BearExpansion
13.2%
NeutralRange → Expansion rate is elevated in both directions. Expansion types rarely follow each other directly (low persistence). This supports using prior-week type as a signal filter.
Next Steps & Hypotheses
Monday fail rate [critical]: How often does a Monday Low/High that forms before 06:00
get broken later in the same week? This is the primary entry robustness test.
Monday extreme vs prior-week close: Does a Monday Low below prior-week Close (or
Monday High above prior-week Close) add predictive power beyond the day signal alone?
Range compression precursor: If Monday H-L range < 40% of prior-week range
→ P(Expansion this week) = ? Quantify the NeutralRange → Expansion observation.
Hour 00:00 spike: ~11% of weekly Lows hit at hour 00 server.
Is this a Sunday-gap artefact? Inspect with H1 data directly.
Extend dataset to 15–20 years (re-run MT5 export with InpWeekCount=1040)
for: reliable seasonality analysis, regime comparison, and larger expansion sub-groups.
Regime split: Divide dataset by macro regime (trending vs. ranging).
Does expansion frequency, timing, and sequence clarity differ by regime?
ATR normalisation: Normalise all pip-based distances by 4-week ATR
to remove regime-level volatility bias from the statistics.
Thursday close signal: Does Thursday's D1 close position predict
whether Friday completes or reverses the expansion?
Multi-timeframe confirmation: Does H4 structure on Monday morning
(e.g., H4 close direction, H4 body size) align with the weekly expansion direction?