Markets › Crypto · BTCUSDT, Binance (1-minute bars)

Noise Area Breakout Backtest: Bitcoin, Around the Clock, 2017 to 2026

The published "noise area" intraday breakout on Bitcoin's own day, 00:00 to 24:00 UTC, every day of the week: decisions every 30 minutes as published, then every 15 minutes, with costs and a matched control.

BTCUSDT (Binance) · 1-minute bars, decisions every 30 and 15 minutes · Protocol v1.0 plus the 8 Oct 2026 rules

Buried · No proven edge

Every 30 minutes or every 15: nothing before costs.

BornRules, costs and gates frozen 15 Oct 2026 before any band was computed (na_btc_spec.md); the 15-minute test frozen the same day, after the 30-minute results (na_btc_m15_spec.md)
Died15 Oct 2026

Variants tried: 4 · Passed every gate: 0 · Holdout opened: yes (already used)

Short answer: not on Bitcoin in our test. The noise area breakout, run on Bitcoin's own day (00:00 to 24:00 UTC, every day) from 2017 to 2026, made about nothing before costs when it decided every 30 minutes, as published, or every 15 minutes, and lost after a 0.1% round trip in every period. It did no better than the same entries placed on other days.How much costs took here, compared across all 54 of our tests →Did the same rules work on other markets? The cross-market scoreboard →

00The verdict in three lines

  • The "noise area" breakout comes from a 2024 paper by Zarattini, Aziz and Barbon, tested there on the S&P 500 ETF: for every checkpoint of the day, average how far price usually moves from the open at that time over the last 14 days; that range around the open is the noise area. Buy when price closes above it, sell short when it closes below, trail the stop at the band or the VWAP, and close everything at the end of the day. Bitcoin never closes, so we used its own day, 00:00 to 24:00 UTC, every day of the week, one BTC a trade, with rules, costs, gates and a control fixed in advance.
  • None of the four versions passed. Deciding every 30 minutes, as published, the long-and-short version made -0.004% a trade before costs and -0.104% after them over 10,690 trades; deciding every 15 minutes, a second test we ran after seeing that result, it made +0.001% and -0.099% over 16,449 trades. The long-only versions were slightly positive before costs, by about what random long entries made in a rising market, and lost after them. Every version lost after costs in development, validation and the holdout.
  • The same rule passed on NQ futures in the New York session (read the NQ post), where a trade made about $170 before costs of $15.76. On Bitcoin around the clock it made about nothing before costs, so it does not carry over.

01The rule, on Bitcoin's day

The day: 00:00 to 24:00 UTC, the day of the daily candle on Binance and most crypto exchanges, all seven days of the week (3,301 days from 15 September 2017 to 30 September 2026, 944 of them Saturdays or Sundays). Noise area: for each checkpoint m minutes after 00:00, sigma is the average of |price at m ÷ open - 1| over the previous 14 days. The upper band is the higher of today's open and yesterday's close, times (1 + sigma); the lower band is the lower of the two, times (1 - sigma). Entry: above the upper band buy, below the lower band sell short (no shorts in the long-only versions). Exit: a long is closed when price closes below the higher of the upper band and the day's VWAP (with the real traded volume of each minute), a short when it closes above the lower of the lower band and the VWAP; after such an exit the same checkpoint may open the opposite position; everything is closed at 24:00 UTC. Decisions use the close of the checkpoint minute; orders fill at the open of the next minute.

What changes against the paper's setting: Bitcoin has no session close and no overnight gap, so yesterday's close and today's open are the same moment and the bands simply start from the 00:00 open; the end of the day is a convention of the crypto market, not a closing auction; weekends are included.

Two tests, four variants. The published rule decides every 30 minutes (47 checkpoints a day): NA-BTC-24H-LS and NA-BTC-24H-L. After seeing that result we ran the same rule deciding every 15 minutes (95 checkpoints a day), with its own specification frozen before it was computed: NA-BTC-24H15-LS and NA-BTC-24H15-L. A setting chosen after a failed test is weak evidence whichever way it goes, so both tests are reported here. With 18 variants of this rule tried earlier on ES, NQ and gold, the protocol requires a development t-statistic of 2.5.

02Data and costs

BTCUSDT on Binance, the exchange's public 1-minute spot history from August 2017 to September 2026 (the file of our Turtle and trend pullback tests on Bitcoin), on the UTC clock. Trades from 15 September 2017; the first weeks only feed the first bands. Costs: 0.05% of the price on every fill, about 0.1% a round trip, the taker fee on Binance perpetual futures, where short positions are possible; a flip pays both; no slippage beyond gaps, which is optimistic, more so at night and on weekends. Results are the net return per trade in percent of the entry price; sums add those percentages (no compounding).

Periods by trade date: development 15 September 2017 to June 2021, validation July 2021 to December 2023, holdout January 2024 to September 2026. The holdout was already used, by our two earlier Bitcoin tests (and, for the 15-minute test, by the 30-minute one), and is reported as such. Engine check: the engine of our earlier noise-area tests was left untouched, because its fingerprint is pinned by the NQ forward test; the Bitcoin engine first had to reproduce every trade of that engine on ES and NQ (12 variants), then matched an independent re-implementation trade by trade for all four variants, and the 30-minute trades were reproduced exactly after the checkpoint step became a setting (na_btc_selftest_result.txt). The first self-test run failed on one check we had written wrong (it expected four weekend days in a sample of sixteen days that has five); the check was corrected before any result was computed.

03Results

Net is the sum of the trades' net returns after costs. The 95% range is the Wilson interval for the win rate. The drawdown is on closed trades, in summed percent.

VariantVersionTradesNet after costsGross per tradeNet per tradeWinners (95% range)Profit factorDrawdown on closed tradesVerdict
NA-BTC-24H-LSEvery 30 minutes, long and short10,690-1107.2%-0.004%-0.104%21.6% (21% to 22%)0.74-1116.6%Buried
NA-BTC-24H-LEvery 30 minutes, long only5,236-308.1%+0.041%-0.059%22.5% (21% to 24%)0.84-356.0%Buried
NA-BTC-24H15-LSEvery 15 minutes, long and short16,449-1631.1%+0.001%-0.099%19.3% (19% to 20%)0.68-1640.8%Buried
NA-BTC-24H15-LEvery 15 minutes, long only7,956-588.9%+0.026%-0.074%19.5% (19% to 20%)0.75-616.6%Buried
-1,500%-1,000%-500%0%20182020202220242026validationholdout*NA-BTC-24H-LSNA-BTC-24H15-LSNA-BTC-24H-LNA-BTC-24H15-L

Cumulative net result in percent by month (sum of the trades' returns, no compounding). * Holdout already used before this test.

By period

VariantDevelopment (trades)Validation (trades)Holdout* (trades)Development tValidation PF
NA-BTC-24H-LS-537.5% (4,459)-263.0% (2,882)-306.7% (3,349)-4.870.75
NA-BTC-24H-L-101.8% (2,162)-95.2% (1,421)-111.1% (1,653)-1.380.81
NA-BTC-24H15-LS-716.7% (6,858)-427.2% (4,474)-487.2% (5,117)-6.400.67
NA-BTC-24H15-L-226.2% (3,289)-174.3% (2,189)-188.4% (2,478)-2.950.72

04By year

YearNA-BTC-24H-LS net (trades)NA-BTC-24H-L net (trades)NA-BTC-24H15-LS net (trades)NA-BTC-24H15-L net (trades)
2017 (from 15 Sep)-83.9% (367)+20.1% (201)-130.0% (590)-3.6% (317)
2018-225.3% (1,179)-99.8% (534)-219.7% (1,774)-131.6% (798)
2019-12.8% (1,078)+11.1% (531)-99.4% (1,695)-36.1% (842)
2020-90.7% (1,195)+15.0% (580)-143.9% (1,813)-4.8% (869)
2021-164.8% (1,171)-50.1% (575)-207.1% (1,803)-73.9% (852)
2022-137.4% (1,139)-76.6% (522)-183.6% (1,754)-104.7% (812)
2023-85.6% (1,212)-16.7% (640)-160.2% (1,903)-45.8% (988)
2024-90.8% (1,235)-12.1% (608)-160.4% (1,923)-31.9% (925)
2025-156.1% (1,256)-82.3% (634)-224.6% (1,913)-119.9% (952)
2026 (to Sep)-59.8% (858)-16.7% (411)-102.2% (1,281)-36.5% (601)

The long-and-short versions lost money in every calendar year. Long only, every 30 minutes, ended three years positive (2017, 2019, 2020); every 15 minutes, none.

05Longs, shorts, weekends and the best trades

VariantLongs: trades / gross / netShorts: trades / gross / netWeekdays: net per tradeWeekends: net per tradeEnded at the stopMinutes held (mean)10 best tradesNet without them
NA-BTC-24H-LS5,236 / +215.6% / -308.1%5,454 / -253.5% / -799.1%-0.080% (8,416)-0.191% (2,274)9,484 (89%)154+158.7%-1265.9%
NA-BTC-24H-L5,236 / +215.6% / -308.1%–-0.021% (4,006)-0.183% (1,230)4,579 (87%)160+123.1%-431.2%
NA-BTC-24H15-LS7,956 / +206.8% / -588.9%8,493 / -192.8% / -1042.2%-0.082% (12,987)-0.165% (3,462)15,252 (93%)101+165.8%-1796.9%
NA-BTC-24H15-L7,956 / +206.8% / -588.9%–-0.050% (6,118)-0.153% (1,838)7,304 (92%)107+128.8%-717.7%

The rest ended at 24:00 UTC. Slices we do not count as findings: in both long-only versions, entries in most of the hours from 12:00 to 16:00 UTC, around the US stock market open, and entries on Mondays averaged slightly above zero after costs. With 24 hours and 7 days to slice, some slices look good by chance; testing one of them now would be a new test chosen after seeing these numbers.

06Is it the breakout or the market?

The benchmark is a moved-entry control: each day's first entry (its checkpoint and direction) is moved, all days together, by one random offset of at least 5% of the days; on the new day the position opens at the same checkpoint in the same direction and is then managed by the same exit rule and costs. 500 runs with fixed seeds; the bar is the 95th percentile of the average net result per trade. It asks whether leaving the noise area picks better days than the same entries placed on other days.

VariantTradesReal average per tradeControl trades (mean)Control medianControl 5th to 95thPercentile (95 needed)
NA-BTC-24H-LS10,690-0.104%10,468-0.099%-0.110% to -0.089%23.0
NA-BTC-24H-L5,236-0.059%3,974-0.064%-0.087% to -0.043%65.2
NA-BTC-24H15-LS16,449-0.099%15,801-0.098%-0.104% to -0.092%35.6
NA-BTC-24H15-L7,956-0.074%5,826-0.076%-0.090% to -0.061%58.6

07The gates

VariantTrades1. PF ≥ 1.2 in validation2. ≥ 50 trades in each period3. t ≥ 2.5 on development4. Above the 95th percentile of the moved-entry control5. Positive without the 10 best trades6. Holdout net positive (already used)
NA-BTC-24H-LS10,690failpassfailfailfailfail
NA-BTC-24H-L5,236failpassfailfailfailfail
NA-BTC-24H15-LS16,449failpassfailfailfailfail
NA-BTC-24H15-L7,956failpassfailfailfailfail

08Verdict by variant

VariantCauseGates failedVerdict
NA-BTC-24H-LSNo proven edge1, 3, 4, 5, 6Buried
NA-BTC-24H-LNo proven edge1, 3, 4, 5, 6Buried
NA-BTC-24H15-LSNo proven edge1, 3, 4, 5, 6Buried
NA-BTC-24H15-LNo proven edge1, 3, 4, 5, 6Buried

The long-only versions were positive before costs and negative after them, which can read as "killed by costs". We list them as no proven edge because their result before costs was no better than random long entries in the same market (control percentiles 65.2 and 58.6): the costs did not take an edge away.

Not tested: the US session alone, other day boundaries, lower fees, other exchanges, position sizing and leverage.

TWhat this shows, and what to take into your own tests

What the results show

  • Before costs the rule earned about nothing around the clock: -0.004% a trade long and short with decisions every 30 minutes, +0.001% every 15. The long-only versions made +0.041% and +0.026% before costs, about what random long entries made while Bitcoin rose from about $3,300 at the first trade to about $84,600 at the last.
  • None of the four versions picked better moments than the same entries placed on other days: control percentiles from 23.0 to 65.2, against 95 needed.
  • Deciding every 15 minutes instead of every 30 traded about half as often again and lost more in total.
  • Weekend days did worse than weekdays in all four versions, and short trades lost money even before costs.

What remains unknown

  • Whether the rule works on Bitcoin inside the US stock session only, as it did on NQ futures. We did not test it, and choosing it now, after seeing the results hour by hour, would make it a weak test.
  • Lower fees. Before costs the long-and-short result was about zero, so even a much lower fee would at best bring it near break-even.
  • Other exchanges, and futures prices instead of spot prices.

Why it failed

On Bitcoin, leaving the noise area around the 00:00 UTC open did not lead to moves large enough to pay for the false breaks: between 87% and 93% of the trades ended at the trailing stop, and only about one trade in five made money. In the stock market the rule leans on the session's open and close; around the clock the day starts at a midnight that is a convention and nothing pushes a move to finish by the end of it. At more than three trades a day and about 0.1% of costs a trade, every period lost.

What you can apply to your own tests

  • A rule built around a market's open and close may not carry over to a market that never closes. Check what the rule relies on before you move it.
  • Multiply your trades by your costs: three round trips a day at 0.1% each cost about 0.3% a day.
  • If you change a setting after a failed test, treat it as a new test and report both, as we do here.

A note on the numbers: drawdown figures are measured on closed trades unless a table says it includes open losses. Open losses inside a trade are not counted in a closed-trade drawdown, so real account risk is higher, especially for systems with no stop. Backtests are not live trading.

FAQCommon questions

Does the noise area breakout work on Bitcoin?

Not in our backtest. Deciding every 30 minutes, the long-and-short version made -0.004% a trade before costs and -0.104% after them over 10,690 trades; long only +0.041% and -0.059%. None of the four versions passed our gates, and none beat a control that moves the same entries to other days.

Does checking every 15 minutes instead of 30 help?

No. Every 15 minutes the rule traded about half as often again (16,449 and 7,956 trades) and lost more in total: -0.099% and -0.074% a trade after costs. We ran it after seeing the 30-minute result and report both.

How was the noise area breakout tested on Bitcoin?

On Binance BTCUSDT 1-minute data from 2017 to 2026, on the UTC day, every day of the week, with 0.05% of costs on every fill and rules written and dated before the data was run, costs included on every trade, results split into development, validation and holdout periods, a random-entry control as the benchmark, and every variant reported. Read the protocol.

09Check our arithmetic

Frozen specificationsThe 30-minute test, dated before any band was computed, and the 15-minute test, dated after the 30-minute results and before its own.
na_btc_spec.md · na_btc_m15_spec.md
CodeThe engine (its readings of the rule at the top), the independent re-implementation, the self-test and the run (node na_btc_run.js --step=30 or --step=15). Rebuild the data with btc_build.js from the Binance files.
na_btc_lib.js · na_btc_ref.js · na_btc_selftest.js · na_btc_run.js · btc_build.js
Shared code it usesThe engine of the earlier noise-area tests (unchanged) and its helpers.
control_audit_lib.js · em_lib.js · fx_data.js · gh_lib.js · hourly_lib.js · ma_lib.js · na_lib.js · rb_lib.js · rsi2_protocol.js
ResultsSelf-test result, the console output of both runs and all numbers as files.
na_btc_selftest_result.txt · na_btc_m30_results.txt · na_btc_m15_results.txt · na_btc_m30_summary.json · na_btc_m15_summary.json
Trade logs (CSV)Every trade of the four variants: checkpoint, entry and exit time (UTC), prices, gross and net percent, the funding scenario and how it ended.
NA-BTC-24H-LS · NA-BTC-24H-L · NA-BTC-24H15-LS · NA-BTC-24H15-L
Data recordThe gaps of 10 minutes or more in the Binance history. The data itself is free from data.binance.vision (spot, klines, BTCUSDT, 1m, monthly).
btc_gaps.json

Code provenance: our own code, written from the rule as published in the paper. No third-party source code is used or published. The self-test's first check also needs the ES and NQ 1-minute files of our futures tests.

10Data notes

Gaps. A few minutes are missing from Binance's history, mostly maintenance in 2018 to 2021. Removing the days that touch a gap of 10 minutes or more changes no verdict:

VariantTradesRemovedNet per tradeVerdict
NA-BTC-24H-LS10,69066-0.104% → -0.104%Buried → Buried
NA-BTC-24H-L5,23636-0.059% → -0.060%Buried → Buried
NA-BTC-24H15-LS16,44997-0.099% → -0.100%Buried → Buried
NA-BTC-24H15-L7,95650-0.074% → -0.075%Buried → Buried

Funding. Perpetual futures charge funding every eight hours. As a scenario, longs pay and shorts receive 0.01% of the price at each 08:00 and 16:00 UTC a position is held (Binance's default rate, not a historical series). Positions last 101 to 160 minutes on average, so it barely matters:

VariantNet per tradeWith the funding scenario
NA-BTC-24H-LS-0.104%-0.104%
NA-BTC-24H-L-0.059%-0.061%
NA-BTC-24H15-LS-0.099%-0.099%
NA-BTC-24H15-L-0.074%-0.075%

Prices and costs. The prices are Binance spot (USDT, treated as dollars) with spot volume for the VWAP; the cost is that of Binance perpetual futures, whose prices track spot closely but not exactly.

11Corrections

22 Oct 2026, navigation: added a link to the new guide comparing trading costs across all our tests. No result changed. 22 Oct 2026, navigation: added a link to the new cross-market scoreboard, which includes this test. No result changed. 22 Oct 2026, navigation: added a link to the new guide comparing trend following and mean reversion across all our tests. No result changed.

+More tests and guides