Bitcoin noise-area engine self-test 2026-10-15T08:22:13.747Z [PASS] ES AS-LS: the new engine reproduces na_lib.js trade by trade: 1170 vs 1170 trades, 0 differences [PASS] ES AS-L: the new engine reproduces na_lib.js trade by trade: 536 vs 536 trades, 0 differences [PASS] ES LD-LS: the new engine reproduces na_lib.js trade by trade: 2077 vs 2077 trades, 0 differences [PASS] ES LD-L: the new engine reproduces na_lib.js trade by trade: 1092 vs 1092 trades, 0 differences [PASS] ES NY-LS: the new engine reproduces na_lib.js trade by trade: 1546 vs 1546 trades, 0 differences [PASS] ES NY-L: the new engine reproduces na_lib.js trade by trade: 786 vs 786 trades, 0 differences [PASS] NQ AS-LS: the new engine reproduces na_lib.js trade by trade: 1228 vs 1228 trades, 0 differences [PASS] NQ AS-L: the new engine reproduces na_lib.js trade by trade: 585 vs 585 trades, 0 differences [PASS] NQ LD-LS: the new engine reproduces na_lib.js trade by trade: 2116 vs 2116 trades, 0 differences [PASS] NQ LD-L: the new engine reproduces na_lib.js trade by trade: 1107 vs 1107 trades, 0 differences [PASS] NQ NY-LS: the new engine reproduces na_lib.js trade by trade: 1504 vs 1504 trades, 0 differences [PASS] NQ NY-L: the new engine reproduces na_lib.js trade by trade: 747 vs 747 trades, 0 differences [PASS] the UTC day: open 00:00, close 24:00, 47 checkpoints 00:30 .. 23:30: 47 checkpoints [PASS] weekend days are sessions (16 consecutive calendar days, 5 of them Saturday or Sunday, all valid; the test day is a Saturday) [PASS] sigma = 0.1% from the 14 previous days; previous close = the 24:00 close of the day before; bands 100.1 and 99.9: sigma 0.0009999999999998899, previous close 100 [PASS] the first day has no previous close; days 2 to 10 have too few days for sigma [PASS] long above the band at 00:30 (fill at the 00:31 minute's open), stopped at 01:30 below the VWAP, short below the band at 02:00, out at 24:00: 1 2024-01-20T00:31->2024-01-20T01:31 stop; -1 2024-01-20T02:01->2024-01-21T00:00 session close [PASS] costs: 0.05% of the price on each fill, results in percent of the entry price: -0.26955892625485234 0.19075558673214374 [PASS] long only: the long, no short: 1 [PASS] first entry of the test day: checkpoint 30 minutes, long: {"m":30,"dir":1} [PASS] control at shift 0 gives the real trades [PASS] synthetic 24H-LS: reference agrees: 2 vs 2 [PASS] synthetic 24H-L: reference agrees: 1 vs 1 [PASS] a stop below the lower band flips to a short at the same fill, each side paying its own fills: 1 2024-01-20T00:31->2024-01-20T01:31; -1 2024-01-20T01:31->2024-01-21T00:00 [PASS] a missing checkpoint minute is skipped (no decision at 00:30; the 01:00 checkpoint buys, filled at the next minute that exists): 1 2024-01-20T01:30; -1 2024-01-20T02:01 [PASS] a day without its first minute is not a valid session; the next day uses the day before it as its previous close [PASS] a day more than 4 calendar days after the previous valid day has no previous close and no trade [PASS] funding count: 08:00 and 16:00 UTC strictly inside the holding time (hand cases, and a minute-by-minute count): 2/2 0/0 0/0 1/1 0/0 2/2 [PASS] funding in percent: a long pays 0.01% per funding time, a short receives it BTC: 4789278 minutes, 2017-08-17T04:01 .. 2026-10-01T00:00 (UTC, close stamps); 3331 UTC days in range, 3329 with a first and a last minute, 3301 from 2017-09-15 (944 of them Saturday or Sunday), 3301 with a previous close [PASS] the BTC file is the frozen one (SHA-256) [PASS] UTC days: the last traded day is 2026-09-30 and none is before the start: 2017-09-15 .. 2026-09-30 [PASS] BTC 24H-LS: engine and independent re-implementation agree trade by trade: 10690 vs 10690 trades, 0 differences [PASS] BTC 24H-LS: control at shift 0 reproduces the real trades [PASS] BTC 24H-LS: funding count equals the minute-by-minute count on every trade: 0 differences [PASS] BTC 24H-L: engine and independent re-implementation agree trade by trade: 5236 vs 5236 trades, 0 differences [PASS] BTC 24H-L: control at shift 0 reproduces the real trades [PASS] BTC 24H-L: funding count equals the minute-by-minute count on every trade: 0 differences [PASS] 15-minute step: 95 checkpoints 00:15 .. 23:45, sigma 0.1% at a quarter past: 95 checkpoints, sigma 0.0009999999999998899 [PASS] 15-minute step: long at 00:15 (fill 00:16), stopped at 00:45 (fill 00:46), short at 01:00 (fill 01:01), out at 24:00: 1 2024-01-20T00:16->2024-01-20T00:46; -1 2024-01-20T01:01->2024-01-21T00:00 [PASS] synthetic 15-minute 24H-LS: reference agrees: 2 vs 2 [PASS] synthetic 15-minute 24H-L: reference agrees: 1 vs 1 [PASS] 30-minute 24H-LS: the published run's trades are reproduced exactly after the step became an input: 10690 vs 10690 rows [PASS] 30-minute 24H-L: the published run's trades are reproduced exactly after the step became an input: 5236 vs 5236 rows [PASS] 15-minute days: same days as the 30-minute test, 95 checkpoints each [PASS] BTC 15-minute 24H-LS: engine and independent re-implementation agree trade by trade: 16449 vs 16449 trades, 0 differences [PASS] BTC 15-minute 24H-LS: control at shift 0 reproduces the real trades [PASS] BTC 15-minute 24H-L: engine and independent re-implementation agree trade by trade: 7956 vs 7956 trades, 0 differences [PASS] BTC 15-minute 24H-L: control at shift 0 reproduces the real trades PASSED