# Turtle Trading (System 1 and System 2) on daily Bitcoin (BTCUSDT) - specification (RIP Backtest protocol v1.0 plus the 8 Oct 2026 rules)

Specification written and **frozen 2026-10-12 (approved by the owner the same day; draft 1 plus the scenario B rates the owner read from MT4 before the run)**, before any Turtle level, signal or trade was computed on Bitcoin. Once frozen, any change of a rule is documented and treated as a separate test; bugs may be fixed.

## Why this test, and what was looked at before
- **Chosen by the owner** on 2026-10-12: the Turtle rules on Bitcoin, the first Bitcoin test on the site. Bitcoin was proposed because it is heavily promoted for trend-following and rarely tested with costs and a control.
- The same four Turtle variants were tested on daily gold (2026-10-09) and daily EUR/USD (2026-10-11); this test was chosen after seeing those results, which is stated in the article.
- **No Bitcoin data was used by any earlier test on the site.** Before this specification only a data audit was run (rows, gaps, time stamps, a cross-check of daily closes against the IC Markets BTCUSD CFD); no level, signal, trade or return was computed. **The holdout is therefore fresh**, the first fresh holdout on the site.

## Instrument and data
- **BTCUSDT spot on Binance**, 1-minute klines from data.binance.vision (110 monthly archives, 2017-08 to 2026-09, every SHA-256 checksum verified against Binance's published one), built into `BTCUSDT_1min.csv` by `btc_build.js` (SHA-256 `e52154201bd4b0552f9649036d53e8bfcf8897590e9265e665b0fef4616ed415`): 4,789,278 minutes, **2017-08-17 04:00 to 2026-09-30 23:59 UTC**. Prices in USDT, treated as US dollars (stated). Results per bitcoin per unit, and in R.
- **Audit (12 Oct 2026):** 0.178% of minutes missing, in 34 gaps (Binance maintenance and outages; the longest 2018-02-08 00:28 to 02-09 09:59 UTC, 2,010 minutes; list in `btc_gaps.json`). Two periods have open times a few seconds off the whole minute (2017-12-04 to 12-18: +20.8 s; 2018-02-09 to 02-10: -45.2 s); they are rounded to the nearest minute (21,602 minutes, one duplicate removed). No OHLC errors. Cross-check: on 2,065 days since 2021 the daily close matches the IC Markets BTCUSD CFD with a median difference of 0.05% (95% of days within 0.26%).
- **Daily bars: 00:00 to 24:00 UTC**, the usual convention for Bitcoin, **every calendar day** including weekends (Bitcoin trades all week). So "20 days" means 20 calendar days. Days with fewer than 30 minutes are not used for levels or N, as in the gold and EUR/USD tests.
- **Holes (rule 3):** trades open across a gap of 10 minutes or more in `btc_gaps.json` are counted, and every gate and verdict is recomputed without them; a changed verdict becomes Inconclusive.

## Rules
**Identical to `tt_spec.md`** (frozen 2026-10-09) and the readings listed at the top of `tt_lib.js`: N (20-day Wilder average true range), System 1 with the skip rule and the 55-day failsafe, System 2, fills at the level or at a gapped open, the 2N stop, the 10- and 20-day exits, pyramiding to 4 units every N/2 with the stops moved, R = 2N at the first entry, one position at a time, **long and short**. Four variants: **BTC-TT-S1-1U, BTC-TT-S1-4U, BTC-TT-S2-1U, BTC-TT-S2-4U**. Only the market values change:
- **One tick = $0.01.**
- **Costs (baseline): 0.1% of the price on every fill** (entry, each pyramid unit, exit), about 0.2% a round trip per unit: Binance's standard spot taker fee, used as a stand-in for fee plus spread. Slippage zero beyond gaps, which is optimistic and stated.
- **Financing:** Turtle positions last weeks, and short positions in Bitcoin need a derivative or a loan. The verdict uses the baseline; two scenarios are reported next to it:
  - **A: 10% a year** of the entry price per calendar day held, charged to longs and shorts alike (roughly the long side's funding cost on perpetual futures in strong years; not a historical rate).
  - **B: today's IC Markets BTCUSD swap**, if the owner provides the long and short rates and the triple-swap day from the MT4 symbol specification before the run, applied to every night held (Bitcoin CFDs are charged on weekends too); **not a historical swap**. Otherwise B is not run.
  - **Rates for scenario B (provided by the owner before the run, read 2026-10-12 09:39 Bucharest from the MT4 BTCUSD contract specification):** swap type **in percentage terms**, **swap long -20** (20% a year of the position value), **swap short 0**, 3-days swap **Friday**, contract size 1 BTC. Applied per night held: long -20%/365 of the price, short nothing; Friday counts three nights.

## Periods and data use
- **Periods (by first entry date):** development 2017-08-17 .. 2021-06-30; validation 2021-07-01 .. 2023-12-31; **holdout 2024-01-01 .. 2026-09-30, fresh** (opened once, for this run). Levels need 55 days of history, so the first possible entry is in October 2017.
- **Expected weak point, stated now:** about nine years of daily bars give few trades, so some variants (S2 above all) may fail the gate of at least 50 trades in each period, or have fewer than 30 trades and be Inconclusive.

## Gates and verdicts
Six gates per variant: validation profit factor >= 1.2; at least 50 trades in each period; development **t >= 2.5** (with gold and EUR/USD, twelve Turtle variants have now been tried, above the protocol's four); above the 95th percentile of 500 runs of the matched control; positive without the 10 best trades; holdout net positive (fresh). Fewer than 30 trades: Inconclusive; otherwise Buried or Survivor.

## Matched control
The **time-shifted entry control** of `tt_spec.md`: each variant's real entries (day and direction) moved together by one random circular offset of at least 5% of the days; on each shifted day the position opens at the first minute of the day in the same direction, with the same N, stop, exits, pyramiding, costs and one-position rule. 500 runs, seeds 1000 + run. Statistic: average net R per trade. Bitcoin rose about 20-fold over the period ($4,261 to $83,624), so the control matters more than usual: it separates the breakout timing from simply being long a rising market.

## Engine and self-test (before the run)
`tt_lib.js` gets additive market options: a UTC day boundary, a cost in percent of the fill price, and nightly financing on all seven days. **Before any Bitcoin result:** the gold and EUR/USD runs must reproduce exactly (every trade and gate), and the self-test must pass again, including hand-worked cases for the new options and the independent re-implementation matched trade by trade on Bitcoin for all four variants.

## Before the article
Results go to the owner first: all four variants, every gate, drawdown on closed trades and including open positions, the hole check, long and short separately, the cost and financing scenarios, results by year, buy and hold in the same dollars. One article, one market, published only with the owner's agreement.

## Reading the result
"Buried" or "Inconclusive" mean a statistically convincing edge was not demonstrated; neither is proof that none exists. One exchange's spot history, the original parameters only.
