Yamagishi Complexity Torus LabYamagishi Lab

[F047] The "True Range" in ATR Is, Most of the Time, Just the Range

Abstract

What this paper asks is how much including the previous close in ATR's "true range" actually does. No new mathematical theorem and no new law is claimed.

First, and this is the core of the paper: ★ the gap term binds on only a small share of bars. It is 0.0897 on 5-minute bars, 0.0575 on 15-minute, 0.0446 on hourly and 0.0370 on 4-hour bars. And even when it binds, TR ÷ range is only 1.0140 to 1.0761 (Section 3).

Second, ★ so ATR is, most of the time, just the range. The median of ATR ÷ the mean of the range alone is 1.0000 on both hourly and 4-hour bars. Prediction ③ failed (Section 3).

Third, ★★ at the weekly open, however, it becomes a different thing. The gap binds on 0.4841, 0.5000, 0.4586 and 0.3119 of those bars — 11.3968 times the rate elsewhere. By hour, 21:00 UTC peaks at 0.1113, 4.7187 times the 0.0236 of 9:00 (Section 4).

Fourth, ★ position size barely moves most of the time, and occasionally moves a great deal. The median of ATR ÷ the mean of the range alone is 1.0000, but the maximum is 2.0116 (Section 5).

Fifth, ★ the gap adds nothing to the power to separate the forward magnitude. The fifth ÷ first quintile is 1.5752 by TR and 1.5703 by range alone (a ratio of 1.0031) (Section 6).

Sixth, ★★ prediction ④ failed, and the way it failed gave the mechanism. The synthetic random walk binds 5.6573 times more often than the measurement. The rate at which the gap binds is set by how many steps were walked inside the bar (from 0.4919 down to 0.0561) (Section 7).

Scope of this paper: no new mathematical theorem and no new law is claimed — the definition of the true range is published. No real course, author, or vendor is the subject here, and none is named. No particular data feed is discussed — the size of a gap depends on the feed (Section 7). No trading is discussed — neither performance nor profit and loss is measured. Predictions ③ and ④ failed — ④ was wrong in its reasoning (Section 7). One period is fixed — 14 bars (Section 7). The scope is intraday and few instruments — four instruments over six years. Results documented at longer holding periods, such as monthly time-series momentum, are not contradicted. No prediction is claimed.

1. Notation and the question

ATR is described as "the average range". But the true range inside it is written like this:

TR = max( high − low , |high − previous close| , |low − previous close| )

What gets saidWhat does not get said
ATR is the average rangeThat the previous close is in there
The true range also catches gapsOn what share of bars it does
I size my positions with ATRWhen that ATR turns into a different quantity

Observation 1.1: ★ This is a mixture of two quantities. One is the movement while the market is open, the other is what happened between one bar and the next.

Observation 1.2: ★ TR is a max, so on bars where the gap does not bind, TR and the range are exactly equal. That makes "did it bind" countable.

Observation 1.3: The separator here is whether the previous close was included. The instruments, the period, the grid and the averaging length are all held fixed, and only whether the previous close goes in is changed.

Question: how much does including it actually do?

2. State the quantities and the design first

Declared before the run and unchanged during it.

Grid5 min / 15 min / 1 hour / 4 hour (mid price, completed bars only)
TRmax(high−low, |high−previous close|, |low−previous close|)
Rangehigh − low (the version without the previous close)
Period14 bars (ATR's convention)
Weekly openA bar whose gap in time from the previous one is 24 hours or more
Forward24 bars / quintiles
BaselineSynthetic random walk down to within the bar (3 draws)
SeparatorWhether the previous close was included
Instruments and periodUSDJPY, EURUSD, GBPUSD, XAUUSD / 2019–2024

Observation 2.1: ★ The definition of "bound" is the point. Only bars where TR > range are counted. On bars where they are equal, the previous close added nothing.

Observation 2.2: The hourly series have 36,534 bars for USDJPY, 36,554 for EURUSD, 36,535 for GBPUSD and 34,892 for XAUUSD. ★ The median number of ticks inside one bar is 3,671, 3,369, 3,740 and 6,743. That number matters in Section 7.

Observation 2.3: ★ That a candle's shape belongs to the way the bars were cut was measured in [F020]. What this paper adds is to take out just the "difference from the previous close" part of that shape.

Predictions (written before measuring)

① The longer the bar, the smaller the share on which the gap binds.

② ★ It binds at particular hours (the daily boundary and the weekly open).

③ ATR ÷ the mean of the range alone exceeds 1, and more so on shorter bars.

④ ★★ The gap never binds on a synthetic random walk. A walk taken down to within the bar starts from the previous bar's close, so there is no gap by construction.

⑤ ★ The difference in position size is largest at the weekly open.

⑥ The power to separate the forward magnitude barely differs between TR and the range.

3. The gap binds on 3.7 to 9.0 per cent of bars

Calculation 3.1 By bar size (median of the four instruments)

Bar sizeShare where the gap bindsMedian range (pips)Median TR (pips)ATR ÷ mean rangeTR ÷ range where it binds
5m0.08973.72503.75001.00171.0285
15m0.05756.75006.80001.00041.0169
1h0.044614.050014.12501.00001.0140
4h0.037028.687528.92501.00001.0761

Observation 3.2: Prediction ① held. The share falls from 0.0897 to 0.0370.

Observation 3.3: ★★ Prediction ③ failed. ATR ÷ the mean of the range alone runs from 1.0017 to 1.0000, and on hourly and 4-hour bars it is exactly 1. The gap binds on about one bar in twenty and lifts it by only 1.0140 when it does, so averaging over 14 bars wipes it out.

Observation 3.4: ★ So ATR is, most of the time, just the range. The part of the name that says "true" adds nothing on almost every bar.

Calculation 3.5 The share by instrument

Instrument5m15m1h4h
USDJPY0.09030.05760.04450.0351
EURUSD0.08910.05750.04690.0393
GBPUSD0.09020.05860.04470.0389
XAUUSD0.07050.04570.03130.0235

Observation 3.6: ★ Gold is systematically lower (0.0705 on 5-minute, 0.0235 on 4-hour). A plausible reading is its 6,743 ticks per bar, and the mechanism is measured in Section 7.

4. When does the gap bind?

Calculation 4.1 The weekly open against everything else (1h)

InstrumentWeekly openElsewhereRatioBars at the weekly open
USDJPY0.48410.040711.8950314
EURUSD0.50000.043011.6378314
GBPUSD0.45860.041111.1557314
XAUUSD0.31190.028710.8508311

Observation 4.2: ★★ At the weekly open it binds 11.3968 times as often. For EURUSD that is 0.5000 — one bar in two.

Observation 4.3: Prediction ② held. By hour, 21:00 UTC peaks at 0.1113, 4.7187 times the 0.0236 of 9:00.

Observation 4.4: ★ 21:00 and 22:00 UTC (0.1113 and 0.1007) are the daily boundary. So the gap binds right after the market has been standing still.

Observation 4.5: ★ The description "ATR also catches gaps" is not wrong. What is wrong is the sense that it is always doing so. It is doing so on 314 bars at the weekly open.

Figure 1 The gap binds right after the market was closed

Figure 1: hour of the day (UTC) on the horizontal axis and the share of bars where the gap binds on the vertical. The four instruments are shown beside the synthetic random walk.

5. Position size barely moves, then occasionally moves

If size ∝ 1 ÷ ATR, then ATR ÷ the mean of the range alone is exactly the factor by which the position shrinks.

Calculation 5.1 Hourly bars

InstrumentMedian ATRMedian mean rangeRatio (median)Ratio (max)Ratio at the weekly open
USDJPY14.003613.94641.00001.49121.0014
EURUSD12.250012.12861.00001.44611.0025
GBPUSD17.657117.44641.00001.50641.0012
XAUUSD43.633643.52821.00002.01161.0000

Observation 5.2: Prediction ⑤ held. The ratio at the weekly open has a median of 1.0013, above the 1.0000 elsewhere. ★ The gap between 1.0013 and 1.0000 is all it is, however.

Observation 5.3: ★★ At the largest, on the other hand, it reaches 2.0116. There really are 14-bar windows where gold's ATR is twice the mean of its range alone.

Observation 5.4: ★ That is ATR's character. Nothing happens at the median, and the tail doubles. Calling it "the average range" is right at the middle and wrong at the edge.

6. Does the gap add power to separate the forward magnitude?

Layer ratio = the layer's forward |move| ÷ the overall mean (hourly bars, 24 bars ahead).

Calculation 6.1 Splitting by TR against splitting by the range alone

Split by1st2nd3rd4th5th5th ÷ 1st
TR (gap included)0.79770.90880.97141.06751.25661.5752
Range alone0.79920.90850.97251.06691.25501.5703

Observation 6.2: Prediction ⑥ held. The fifth ÷ first quintile is 1.5752 against 1.5703, a ratio of 1.0031.

Observation 6.3: ★ In none of the five layers does the difference reach the second decimal place. Adding the previous close does not change the power to separate the forward magnitude.

Observation 6.4: ★ This does not mean the gap carries no information. A quantity that binds on 0.0446 of bars, mixed in with every other bar and averaged, is bound to wash out. This paper measures only what is left after the washing out.

7. The baseline and limitations

Calculation 7.1 The same procedure on a synthetic random walk (1h)

InstrumentMeasured shareRandom walk's shareMeasured ATR ÷ rangeRandom walk's ATR ÷ range
USDJPY0.04450.25231.00001.0284
EURUSD0.04690.25231.00001.0284
GBPUSD0.04470.25231.00001.0284
XAUUSD0.03130.25291.00001.0285

Observation 7.2: ★★ Prediction ④ failed, and in the opposite direction. The random walk binds 5.6573 times more often than the measurement.

Observation 7.3: ★ Here is where I went wrong. I thought "a walk taken down to within the bar starts from the previous bar's close, so there is no gap by construction". But a bar's high and low are taken only from the points walked inside that bar. The previous close is not among them, so if the bar moves one way throughout, the gap binds.

Observation 7.4: ★★ So the number of steps walked inside the bar was varied (★ added afterwards).

Calculation 7.5 How many steps were walked inside the bar

Steps inside the barShare where the gap bindsATR ÷ range
50.49191.1574
200.25231.0284
1000.11171.0041
4000.05611.0003
measurement0.04461.0000

Observation 7.6: ★★ Raising the steps from 5 to 400 drops the share from 0.4919 to 0.0561, a factor of 8.7628. The measured 0.0446 sits right at the end of that column.

Observation 7.7: ★★ So the gap binds not because "the market was closed" but because the path inside that bar did not come back to the previous close. A real bar holds a median of 3,706 ticks, so the path is fine-grained and on almost every bar it does come back.

Observation 7.8: ★ That also reads Section 3's low figure for gold. Gold holds 6,743 ticks per bar, against 3,369 to 3,740 for the other three.

Observation 7.9: ★ What this baseline is zero about was measured in [F033]. And the shape "the answer is set by the resolution" was measured in [F046]. ★ This paper is the third instance.

Figure 2 The shorter the bar, the further ATR is from a range

Figure 2: bar size on the horizontal axis and ATR ÷ the mean of the range alone on the vertical. Ordinary bars sit beside bars at the weekly open, with a line drawn at 1.

Limitations

  1. Prediction ④ was wrong in its reasoning. This paper writes that error down and measures the mechanism again. No prediction was rewritten.
  2. Prediction ③ failed too. ATR ÷ the mean of the range alone did not exceed 1.
  3. One period is fixed: 14 bars. A different period washes out differently.
  4. No particular data feed is discussed. The size of a gap depends on the feed, and one was used here.
  5. Only what is left after the washing out is measured. Bars where the gap binds were not taken out on their own and followed forward.
  6. No trading is discussed. Neither performance nor profit and loss is measured.
  7. Four instruments, six years. Nothing is claimed about other markets or other periods.

Conclusion

The true range inside ATR includes the previous close. So how much does that do?

★ The gap binds on 0.0370 to 0.0897 of bars. And when it binds, TR ÷ range is only 1.0140 to 1.0761.

★ So averaging over 14 bars wipes it out. The median of ATR ÷ the mean of the range alone is 1.0000 on both hourly and 4-hour bars. ATR is, most of the time, just the range.

★★ At the weekly open, however, it becomes a different thing. The gap binds 11.3968 times as often, and for EURUSD that is 0.5000 — one bar in two. By hour, 21:00 UTC peaks at 0.1113, 4.7187 times the figure for 9:00.

★ In position terms, nothing happens at the median (1.0000) and the maximum reaches 2.0116. A quantity that is right at the middle and wrong at the edge.

★ The gap adds nothing to the power to separate the forward magnitude. The fifth ÷ first quintile is 1.5752 against 1.5703, a ratio of 1.0031. That is, however, the result of mixing a quantity that binds on one bar in twenty into every bar and averaging.

★★ And prediction ④ failed, with the failure giving the mechanism. The random walk binds 5.6573 times more often. Raising the steps walked inside a bar from 5 to 400 drops the share from 0.4919 to 0.0561, a factor of 8.7628, and the measured 0.0446 sits right at the end.

★★ So the gap binds not because the market was closed but because the path inside that bar did not come back to the previous close. A real bar holds a median of 3,706 ticks, so on almost every bar it does.

Calling ATR "the average range" is therefore accurate most of the time. ★ It stops being accurate on the 314 bars where the market really had stopped, and in the tail.

Data and reproduction

DataForeign exchange from Dukascopy-derived ticks (from 2019 onward, matching to the millisecond, bid and ask, has been verified). Gold from Dukascopy
Period2019–2024 (six years)
InstrumentsUSDJPY, EURUSD, GBPUSD, XAUUSD
Bars5 min, 15 min, 1 hour, 4 hour, mid price, completed bars only. Bars with no ticks are not created
TRmax(high−low, |high−previous close|, |low−previous close|)
Rangehigh − low (the version without the previous close)
Period14 bars. ATR and the mean of the range use the same length
Weekly openA bar whose gap in time from the previous one is 24 hours or more
LayersQuintiles. 24 bars ahead; the layer ratio is the layer's forward |move| ÷ the overall mean
BaselineSynthetic random walk down to within the bar (3 draws), also measured with 5, 20, 100 and 400 steps inside the bar
Verification検算/F047.py (--zu also writes the figures). Every number in the text comes from 検算/F047_output.txt
Figures図/F047_zu1, 図/F047_zu2 (png, svg, English versions)
Random seedsFixed. Re-running gives the same values
Substrate check_ツール/audit_bars.py (bar look-ahead, daylight saving, day boundary). The record is _土台の検査.txt

References

  • Yamagishi, Y. (2026). Candlestick Shapes Belong to the Way the Bars Were Cut [F020]. Zenodo. 10.5281/zenodo.22891997
  • Yamagishi, Y. (2026). A Synthetic Random Walk Has No Volatility Clustering [F033]. Zenodo. 10.5281/zenodo.22893674
  • Yamagishi, Y. (2026). A Win Rate Layered by the Depth of the Pullback Belongs to What You Measured the Touch With [F046]. Zenodo. 10.5281/zenodo.22895278

Reference

Yamagishi, Y. (2026). The "True Range" in ATR Is, Most of the Time, Just the Range [F047]. Zenodo.
DOI: 10.5281/zenodo.22896724
YOI: https://www.yamagishiyuuki.com/yoi/F047
ORCID: 0009-0006-8587-3450

PDF (English) · PDF (Japanese) · Date proof of the English PDF (OpenTimestamps .ots) · SHA256SUMS

The record page for this paper (in Japanese, with the PDFs in each language and the date proof): YOI F047. This paper is a preprint and has not been peer reviewed.