Turtle Trading Strategy: Rules, Breakouts, and What Tests Reveal

A price breaches a prior channel high while its close remains below the breakout boundary

Key takeaways

  • Turtle trading combines channel breakouts with volatility sizing and portfolio rules; these tests isolate a long-only channel adaptation.
  • Across 293,088 valid historical evaluations, close confirmation usually reduced executions, but its interaction with a volatility exit produced concentrated reversals.
  • A close-checked N-based exit did not uniformly reduce account drawdown and does not guarantee an intrabar loss limit.

We completed 293,088 valid, related historical evaluations of a long-only Turtle channel adaptation across eight fixed samples. Waiting for a confirmed entry usually reduced executions, but its interaction with a volatility exit sometimes made the stricter rule busier. The rules below explain why entry, exit and position state must be read together.

What is the Turtle trading strategy?

The Turtle trading strategy is the systematic trend-following approach taught by Richard Dennis and William Eckhardt. Its best-known signal is a breakout: buy when price exceeds a previous high, then hold while a separate exit rule follows the move.

A channel strategy makes no forecast of where price should go. It asks whether price has done something it has not done within the chosen lookback. The difficult part is accepting repeated false starts while leaving enough room for a sustained move.

The familiar 20/10 and 55/20 pairs mean a longer entry lookback and a shorter exit lookback. They originally refer to daily bars. On a different chart, the same numbers describe a different amount of elapsed time; they do not preserve the original trading horizon.

Original Turtle trading rules

Curtis Faith, one of the original Turtles, published the complete rules. System 1 uses a 20-day breakout and a 10-day opposite-channel exit; System 2 uses 55 and 20. The first system also filters entries using what the previous breakout would have done, including a hypothetical trade not taken, and has a longer failsafe entry. The original system includes volatility-based sizing, a standard 2N protective stop, adding to positions and portfolio limits. Original Turtle Rules

That distinction matters when reading a backtest. A single channel entry is one component of Turtle trading. Our experiments below isolate its long-only channel behavior, using fixed allocation and candle-based signals. They do not reproduce the full original system.

ComponentFamiliar ruleWhat our experiment varies
EntryBreak above a prior highLookback and wick versus closing-price confirmation
ExitBreak below a shorter prior lowLookback and wick versus closing-price confirmation
VolatilityN measures true rangeOptional fixed-N, close-checked protective exit
Position sizeVolatility-based unitsFixed allocation for matched comparisons

Donchian channels: the current candle must stay outside the calculation

The upper boundary is the highest high of the preceding entry candles. The lower exit boundary is the lowest low of the preceding exit candles. Both exclude the candle being tested.

For example, if the prior entry high is 100, a current high of 101 breaks it. If that candle closes at 99.5, a rule that requires a closing price above 100 has no entry signal. Including the current high in the channel would move the boundary to at least 101 and make a strict breakout comparison impossible.

This is also why breaching with a wick and closing beyond a channel should be treated as separate choices. Confirmation can remove a brief excursion, but it can also delay a real trend. The same decision exists on the way out.

Historical indicator values A channel breach and a confirmed close can disagree

A breach and a confirmed close are different observations. Zero in each distance panel is the prior channel boundary.

The value table below is available without JavaScript.

Chart data
Data and calculation details
Source: Calculated prior channels from checksum-verified official Binance candles. BTCUSDT2h, May2021; prior20-high/10-low excludes the current candle. Local indicator arithmetic only, with no simulated trades or execution arrows. Exact UTC opens remain in this download. See folded article methods.
Accessible value table (80 observations)
ObservationDistance above prior entry high (basis points) · Close versus prior20-highDistance above prior entry high (basis points) · High versus prior20-highDistance above prior exit low (basis points) · Close versus prior10-lowDistance above prior exit low (basis points) · Low versus prior10-low
2021-05-06T00:00:00Z-212.496-86.072540.220491.039
2021-05-06T02:00:00Z-219.172-155.713533.030502.535
2021-05-06T04:00:00Z-155.466-86.344455.000369.587
2021-05-06T06:00:00Z-216.124-155.466329.962242.120
2021-05-06T08:00:00Z-139.186-128.263405.018316.194
2021-05-06T10:00:00Z-14.09049.971418.312267.754
2021-05-06T12:00:00Z-186.547-44.722166.807127.868
2021-05-06T14:00:00Z-217.874-164.498134.35376.572
2021-05-06T16:00:00Z-271.247-151.64579.05743.054
2021-05-06T18:00:00Z-382.382-238.177-36.079-200.892
2021-05-06T20:00:00Z-353.578-326.796198.64585.893
2021-05-06T22:00:00Z-336.929-268.266216.246178.652
2021-05-07T00:00:00Z-370.619-212.102180.629126.812
2021-05-07T02:00:00Z-454.820-336.35791.60750.134
2021-05-07T04:00:00Z-439.452-386.165107.8557.542
2021-05-07T06:00:00Z-444.424-356.258102.59879.777
2021-05-07T08:00:00Z-364.726-310.144186.85967.092
2021-05-07T10:00:00Z-324.753-270.048229.120184.279
2021-05-07T12:00:00Z-233.470-116.518325.629186.275
2021-05-07T14:00:00Z-144.064-130.226420.152271.014
2021-05-07T16:00:00Z-41.12649.692521.049342.318
2021-05-07T18:00:00Z-181.754-75.250424.024396.145
2021-05-07T20:00:00Z-220.215-98.157383.191344.916
2021-05-07T22:00:00Z-227.664-183.923375.282273.004
2021-05-08T00:00:00Z-186.038-146.839419.477300.203
2021-05-08T02:00:00Z-93.780-42.626455.212347.306
2021-05-08T04:00:00Z-131.633-8.527415.261399.611
2021-05-08T06:00:00Z-31.874-18.754399.493228.183
2021-05-08T08:00:00Z25.574124.341457.377396.607
2021-05-08T10:00:00Z-138.629-82.733328.081283.794
2021-05-08T12:00:00Z-92.79510.000366.257257.976
2021-05-08T14:00:00Z-309.356-63.703149.802127.437
2021-05-08T16:00:00Z-90.793-65.309378.721142.887
2021-05-08T18:00:00Z-68.656-23.325401.907372.412
2021-05-08T20:00:00Z-110.39110.323330.842302.849
2021-05-08T22:00:00Z-107.218-63.874241.696172.786
2021-05-09T00:00:00Z-62.834-43.768287.647148.268
2021-05-09T02:00:00Z-145.751-33.613201.805172.779
2021-05-09T04:00:00Z-177.057-88.250169.39417.756
2021-05-09T06:00:00Z-257.884-147.87285.71741.543
2021-05-09T08:00:00Z-260.081-184.87483.44320.356
2021-05-09T10:00:00Z-267.649-218.48775.60810.903
2021-05-09T12:00:00Z-383.190-252.101-54.851-225.938
2021-05-09T14:00:00Z-356.373-338.655203.415135.917
2021-05-09T16:00:00Z-343.071-271.746217.490182.598
2021-05-09T18:00:00Z-375.299-312.908183.391144.624
2021-05-09T20:00:00Z-247.750-221.849318.344167.780
2021-05-09T22:00:00Z-211.624-178.202356.567287.067
2021-05-10T00:00:00Z-134.418-86.555438.254315.512
2021-05-10T02:00:00Z-24.074-9.261555.004429.395
2021-05-10T04:00:00Z-72.5970.000503.664434.706
2021-05-10T06:00:00Z-189.887-53.782379.565377.008
2021-05-10T08:00:00Z-268.966-152.304295.896266.877
2021-05-10T10:00:00Z-240.230-201.681187.83052.949
2021-05-10T12:00:00Z-306.582-213.200109.88571.174
2021-05-10T14:00:00Z-202.292-198.319218.654-61.169
2021-05-10T16:00:00Z-422.639-152.31950.31726.411
2021-05-10T18:00:00Z-632.982-387.341-170.413-208.668
2021-05-10T20:00:00Z-648.553-614.60722.382-381.299
2021-05-10T22:00:00Z-619.136-542.876452.461368.380
2021-05-11T00:00:00Z-661.289-515.045405.493311.635
2021-05-11T02:00:00Z-732.360-597.939326.303181.648
2021-05-11T04:00:00Z-790.252-664.590261.798222.659
2021-05-11T06:00:00Z-631.918-613.966438.219247.545
2021-05-11T08:00:00Z-604.849-583.592468.380328.303
2021-05-11T10:00:00Z-720.929-556.303339.039323.167
2021-05-11T12:00:00Z-630.252-628.570440.075255.888
2021-05-11T14:00:00Z-579.358-558.655496.783390.476
2021-05-11T16:00:00Z-521.832-495.224560.880440.075
2021-05-11T18:00:00Z-485.892-445.378411.797345.665
2021-05-11T20:00:00Z-502.477-443.289393.647352.847
2021-05-11T22:00:00Z-424.126-407.577423.031330.877
2021-05-12T00:00:00Z-266.315-210.555447.773360.168
2021-05-12T02:00:00Z-142.807-123.140554.632404.032
2021-05-12T04:00:00Z-233.083-101.323449.461437.051
2021-05-12T06:00:00Z-254.742-209.371426.288386.288
2021-05-12T08:00:00Z-296.665-238.626381.436331.144
2021-05-12T10:00:00Z-272.164-196.379168.75183.862
2021-05-12T12:00:00Z-213.776-198.278181.186-8.969
2021-05-12T14:00:00Z-434.634-189.657-39.654-83.921

Select the two annotated moments. The first recognizes an upper-channel breach without a confirmed close. The second recognizes a lower-channel breach that recovers before the close. These are historical indicator observations, with no reconstructed trades.

In our research rules, each candle is evaluated after it closes. A wick signal recognizes that its high or low breached the prior boundary; a close signal requires the closing price to finish beyond it. Both submit market orders for the next candle’s open. The wick rule therefore does not claim an intraday fill at the boundary.

Can a stricter breakout rule trade more often?

We ran 293,088 valid, related historical evaluations of the channel rule across eight fixed samples. Entry and exit lookbacks, confirmation choices and an optional N-based exit formed the grid. Every paired comparison holds the other choices fixed and changes one rule.

Usually, requiring the close to finish beyond the entry channel reduced recorded executions: it did so in 146,059/146,544 matched entry comparisons. But 326 comparisons reversed that relationship, and 159 tied. A stricter signal produced more account activity in those reversals.

The interactive comparison shows one such neighborhood. Every line uses the same 32-bar closing-price channel exit and the same historical prices. Dashed lines omit the extra N exit; solid lines add the close-checked 2N rule, which sets a closing-price threshold two frozen volatility units below the actual entry fill. Only entry memory changes along the horizontal axis.

Recorded backtest metrics A protective exit can make the stricter entry busier

Only entry memory changes along the horizontal axis. Dashed lines turn the extra N exit off; solid lines add the 2N rule checked at the close. A stricter entry can then become the busier rule.

The value table below is available without JavaScript.

Chart data
Data and calculation details
Source: Recorded TrainBard results; matched entry rules with stop off or 2N. Representative ETHUSDT, 4h, 2021–2023 illustration selected after observing the reversal region in the frozen grid. Fixed exit 32, closing-price exit,99% allocation, 500 startup bars, 0.1% cost. Every plotted point maps to a preserved T003 export row; full eight-frame counts and exact settings are in the evidence/methods downloads. These are next-open candle-based adaptations, not the complete Turtle system.
Accessible value table (31 observations)
ObservationRecorded executions (buys and sells) · Close entry, stop offRecorded executions (buys and sells) · Wick entry, stop offRecorded executions (buys and sells) · Close entry, 2N exitRecorded executions (buys and sells) · Wick entry, 2N exit
7049.00057.00054.00061.000
7149.00055.00054.00059.000
7249.00053.00056.00057.000
7349.00053.00056.00057.000
7449.00053.00056.00055.000
7547.00053.00054.00055.000
7647.00049.00054.00051.000
7747.00049.00054.00051.000
7847.00049.00054.00051.000
7947.00049.00054.00051.000
8047.00049.00054.00051.000
8147.00049.00054.00051.000
8247.00049.00054.00051.000
8347.00049.00054.00051.000
8447.00049.00054.00051.000
8547.00049.00054.00049.000
8647.00049.00054.00049.000
8747.00049.00054.00049.000
8847.00049.00054.00049.000
8947.00049.00054.00049.000
9047.00049.00054.00051.000
9145.00049.00052.00051.000
9245.00049.00052.00051.000
9343.00049.00052.00051.000
9443.00049.00050.00049.000
9543.00049.00050.00051.000
9641.00049.00048.00051.000
9741.00049.00048.00051.000
9839.00049.00046.00051.000
9939.00049.00046.00053.000
10039.00047.00046.00049.000

At 85 entry bars, requiring a close produces 47 executions versus 49 for the wick rule when the extra stop is off. With the 2N rule, the same comparison becomes 54 versus 49. Executions count buys and sells, not completed round trips.

The entry filter changes when the position begins, its actual fill and the volatility value frozen for its stop. Those references change when the account becomes flat and which later breakouts it can take. We repeated both 85/32 settings separately and checked all 54 and 49 recorded executions against official candles. In one observed retreat, put the closing price at 100: the close-entry holding’s frozen stop is 101.30, the wick-entry holding’s is 94.06, and their shared channel exit is 88.88. One stop triggers while the other holding stays open; neither channel exit triggers. This supports the mechanism in these two traces; it does not attribute every reversal in the grid to the same event.

All 326 reversals occurred with the 2N rule in one of the eight historical samples; none occurred with the extra stop off or at 4N. They are a small, concentrated exception, not the typical outcome. The figure was selected after observing that region of the frozen grid. Its useful lesson is that eligible entry candles and completed account paths are different things. A stricter signal cannot create more qualifying candles under otherwise identical channel inputs, but it can create more executions after position state and exits interact.

Does waiting for the close reduce drawdown?

Confirmation also does different work at entry and exit. Close-confirmed entry had lower reported maximum drawdown in 108,756/146,544 pairs. Close-confirmed exit had higher reported maximum drawdown in 96,677/146,544 pairs. Before entry, waiting filters exposure. After entry, waiting tolerates a retreat. Both usually reduced executions, but calling both choices “confirmation” hides their different roles.

These are descriptive associations within related historical settings, with exceptions. Return need not move with drawdown: close confirmation gave higher return in 100,875 entry pairs and 87,225 exit pairs, out of 146,544 each.

Turtle stops, false breakouts and the cost of waiting

N averages true range, including gaps from the preceding close. True range is the largest of the high–low range, the distance from high to prior close, and the distance from low to prior close. After its initial average, the familiar 20-bar calculation is N = (19 × prior N + current true range) / 20. A stop expressed in N adjusts its price distance to recent volatility. A wider distance gives the position more room, while a tighter one can remove a trade before the channel exit arrives.

Our optional protective rule freezes ATR over 20 bars at the entry signal, measures the distance below the actual fill, and checks it against subsequent closes. It then requests a next-open exit. This close-checked rule can lose more than its stated N distance; it is not a resting stop order or a guaranteed maximum loss.

A protective exit did not make the account’s drawdown uniformly smaller. Adding the close-checked 2N rule lowered reported maximum drawdown in 63,662 matched comparisons, raised it in 26,123, and left it unchanged in 7,911, out of 97,696. In a separate 20/10, close/close example, it raised reported drawdown from 34.06% to 38.65% while return fell from +7.16% to +4.56%. An exit can cut one trade short and still change later entries, missed recoveries and the path of account losses.

A false breakout can cause a loss even when the calculation is correct. Price may exceed the previous range and reverse, the next open may differ from the signal close, or costs may consume a small move. Adding confirmation changes the path through these events. Whether that tradeoff helped is an empirical question.

Which Turtle settings are best?

Treat 20/10 and 55/20 as familiar reference pairs. An entry lookback controls which highs qualify as new; an exit lookback controls how much retreat a holding tolerates. Shorter exits and stricter entries perform different jobs. A useful comparison changes one choice at a time and checks neighboring settings, activity, return and drawdown together.

The same grid was repeated unchanged. Around the familiar 55/20 pair, the table counts how many of the eight historical checks returned more than zero with close-confirmed entries and exits and no extra N stop. This neighborhood was chosen around the named rule, rather than around the best result. It measures repeatability of positive return; the download also retains worst reported drawdown and minimum activity for each cell.

Nearby settings, repeated without re-optimization

Each cell counts profitable historical checks out of eight. Rows change entry memory; columns change exit memory. Positive return does not imply beating a passive holding.

Entry bars / exit bars1015202530
456/87/86/85/87/8
506/87/86/85/87/8
556/86/86/85/87/8
606/87/86/86/87/8
657/88/87/87/86/8

Of the 36,636 fixed parameter tuples observed in every sample, 5,746 were profitable in all eight. 0 beat a passive control with the same startup in all eight. These counts carry the same settings through each check; they do not pick a new winner for every sample.

A profitable configuration alone does not establish an advantage over holding the same prices, and a larger sweep does not turn related historical evaluations into independent trials.

Compare entry and reentry timing in the Alligator strategy, or see how a trailing level changes execution timing in Parabolic SAR.

Copy the strategy script

Copy this tested long-only channel adaptation into your editor. The defaults use a 20-bar entry, a 10-bar exit, closing-price confirmation, and no extra N stop. Set the study’s combined trading cost to 0.1% per execution in your backtest settings.

Pine Script v6
Open editor

//@version=6
strategy("Turtle Channel Mechanism Lab", overlay=true, initial_capital=10000, process_orders_on_close=false, default_qty_type=strategy.percent_of_equity, default_qty_value=99)

entry_length = input.int(20, "Entry channel bars", minval=2, maxval=200)
exit_length = input.int(10, "Exit channel bars", minval=1, maxval=100)
entry_mode = input.int(0, "Entry: 0 close, 1 wick", minval=0, maxval=1)
exit_mode = input.int(0, "Exit: 0 close, 1 wick", minval=0, maxval=1)
stop_n = input.float(0.0, "Close stop N: 0 off", minval=0.0, maxval=10.0)

entry_high = ta.highest(high, entry_length)[1]
exit_low = ta.lowest(low, exit_length)[1]
n = ta.atr(20)
valid = exit_length < entry_length
ready = bar_index >= 500
entry_signal = entry_mode == 0 ? close > entry_high : high > entry_high
exit_signal = exit_mode == 0 ? close < exit_low : low < exit_low
var entry_n = 0.0
stop_level = strategy.position_avg_price - stop_n * entry_n
stop_signal = stop_n > 0 and close < stop_level

plot(entry_high, "Prior entry channel", color=color.blue)
plot(exit_low, "Prior exit channel", color=color.orange)

if ready and valid and strategy.position_size > 0 and (exit_signal or stop_signal)
    strategy.close("Long")

if ready and valid and strategy.position_size == 0 and entry_signal
    entry_n := n
    strategy.entry("Long", strategy.long)
What we tested, and how to reproduce it

The study uses Binance Spot BTCUSDT and ETHUSDT on two-hour and four-hour candles. Exploration uses 2021-01-01–2023-12-31; historical replication uses 2024-01-01–2025-12-31. These are related historical checks, not untouched prospective holdouts or live-trading proof. All grids and the script were frozen after a 12-setting syntax/order smoke and before the first broad output. The same grid ran unchanged across all eight frames.

Each run starts with 10,000 USDT cash, uses long-only positions or cash with no leverage or cash interest, and targets 99% of equity to leave a reserve. Combined fees/slippage are 0.1% per execution. Orders normally execute at the next eligible candle’s open. The script waits 500 bars before acting, with no assumed pre-window history; that covers different elapsed time on the two candle sizes.

The entry grid is every integer from 10 through 100; the exit grid is every integer from 2 through 40. Entry and exit each recognize either the wick or the close beyond their own prior channel. Protective exit choices are off, 2N and 4N. Only exit length strictly below entry length is valid. Equality at any price boundary triggers neither comparison. The rule can act whenever its state condition is true; it does not require a fresh crossing after becoming flat. Channels exclude the current candle. N is the platform’s 20-bar Wilder-smoothed ATR, frozen on the entry-signal candle. The close stop is actual entry fill minus the chosen multiple of that frozen N. It is checked on closes and requests a next-open market exit, rather than supplying a resting intrabar stop order.

This adaptation excludes short positions, volatility-based sizing, pyramiding, portfolio/correlation limits, the System 1 hypothetical previous-breakout filter and its 55-day failsafe. In the original rules that filter considers hypothetical breakouts, including ones not taken, rather than simply skipping after a recorded winning long trade. Our 20/10 and 55/20 intraday examples are named-lookback comparisons, not reproductions of the original daily portfolio system.

Four joint batches requested 340,704 evaluations. Their 47,616 guarded-invalid combinations had no trades and are excluded from the 293,088 valid evaluations. All valid combinations exported traded rows; there are no omitted valid zero-trade rows, row errors or duplicate tuples. The separate 12-setting smoke is excluded because its settings recur in the broad grid; all its complete metrics reproduce exactly in the corresponding main output. Counts of settings sharing price history and deliberate repeats are not independent trials.

Historical frameValid evaluationsProfitable settingsMedian returnStartup-matched passive return
BTCUSDT, 2h, 2021–202336,63627,428+31.38%-10.95%
BTCUSDT, 4h, 2021–202336,63627,124+19.18%-19.03%
BTCUSDT, 2h, 2024–202536,63623,449+9.75%+82.55%
BTCUSDT, 4h, 2024–202536,63624,136+4.92%+34.90%
ETHUSDT, 2h, 2021–202336,63622,039+10.14%+28.11%
ETHUSDT, 4h, 2021–202336,63633,184+53.93%+42.85%
ETHUSDT, 2h, 2024–202536,63631,173+31.21%+18.37%
ETHUSDT, 4h, 2024–202536,63626,324+16.29%-12.26%

The main stop-interaction chart foregrounds ETHUSDT four-hour 2021–2023 results, with exit length 32 and closing-price exits. The entry range 70–100 and the 85-bar example were selected after observing reversals in the frozen grid; they are illustrations, not independently validated parameter recommendations. All 124 plotted values map to exact original T003 rows. The 20/10 stop example uses BTCUSDT two-hour 2021–2023. The 55/20 neighborhood uses close/close with no extra stop across all eight frames. Full per-frame paired counts, fixed-setting representatives, completion totals and source hashes are retained in the evidence download. Paired counts hold every other parameter and historical frame fixed; their large denominators do not create independent evidence from related settings.

For a broader view without an extra N exit, this separate representative chart uses BTCUSDT two-hour 2021–2023 with exit length 10. Its four lines vary the entry and exit confirmation choices; all 1,080 plotted values map to original T001 rows. Returns and reported drawdown remain visible alongside activity.

Recorded backtest metrics Entry and exit confirmation across entry lookbacks

Each point changes only the entry lookback. Four lines separate entry confirmation from exit confirmation. These are related historical configurations, not independent trials.

The value table below is available without JavaScript.

Chart data
Data and calculation details
Source: Recorded TrainBard results; fixed 10-bar exit, no extra N stop. Representative BTCUSDT, 2h, 2021–2023 frame. Same causal script,99% allocation, 500 startup bars and 0.1% cost. Exact source hashes and all eight historical frames are in turtle-study-methods.json and turtle-evidence.json. Wick modes recognize a strict breach at candle close; all modes request next-open market orders.
Accessible value table (90 observations)
ObservationRecorded executions · Close entry / close exitRecorded executions · Wick entry / close exitRecorded executions · Close entry / wick exitRecorded executions · Wick entry / wick exitRecorded return (%) · Close entry / close exitRecorded return (%) · Wick entry / close exitRecorded return (%) · Close entry / wick exitRecorded return (%) · Wick entry / wick exitReported maximum drawdown (%) · Close entry / close exitReported maximum drawdown (%) · Wick entry / close exitReported maximum drawdown (%) · Close entry / wick exitReported maximum drawdown (%) · Wick entry / wick exit
11379.000537.000461.000707.000-0.090-42.299-21.858-59.85248.64671.85556.96173.219
12367.000519.000449.000679.000-2.899-41.199-29.091-58.61350.09169.84660.03971.725
13358.000494.000438.000648.000-4.235-41.046-30.374-56.47451.69769.33760.70269.823
14342.000482.000412.000622.000-0.139-46.372-26.437-60.58339.66870.89649.55172.032
15332.000466.000400.000600.0007.684-36.785-19.931-54.85638.75265.82544.36668.496
16324.000454.000392.000580.00014.814-38.025-18.377-52.04140.05166.16346.55665.856
17316.000444.000380.000568.00026.888-42.859-5.667-57.43133.49568.32736.44068.853
18310.000428.000370.000544.00010.475-36.731-12.876-53.46033.49564.87240.35365.459
19304.000422.000364.000536.0005.508-34.298-14.021-52.90533.49562.64237.24063.889
20294.000414.000352.000524.0007.162-27.783-16.286-47.38934.06258.16838.33559.381
21282.000404.000340.000510.00016.011-21.609-13.897-43.06334.08053.92933.33856.628
22276.000394.000334.000500.00011.876-23.155-18.630-45.12534.46153.72933.45857.478
23268.000384.000326.000484.00016.333-24.674-19.784-42.60732.31755.00533.83356.018
24258.000372.000316.000472.00027.191-19.707-16.794-44.35732.92755.22133.78358.578
25254.000366.000310.000462.00016.460-19.840-25.349-43.71934.81058.53940.92560.498
26244.000360.000300.000454.00025.644-20.290-25.475-46.90933.10655.57840.61360.017
27240.000352.000296.000442.00028.776-17.924-25.260-46.54733.75854.31841.95460.166
28240.000344.000296.000430.00018.619-13.290-31.469-40.29733.75851.71546.08856.637
29240.000332.000296.000416.00012.811-17.902-35.966-40.58834.35953.92147.65655.741
30236.000324.000292.000408.00016.060-13.608-34.996-38.82532.46856.28746.86258.015
31236.000322.000290.000406.00010.056-21.281-37.946-44.25934.93159.29949.27460.907
32230.000316.000284.000400.00015.390-15.420-36.074-41.38134.61056.00847.43358.591
33224.000314.000278.000398.00019.384-14.577-33.688-44.14534.14355.93646.96359.411
34222.000310.000276.000394.00018.260-16.869-36.383-47.35734.76357.02748.29960.655
35222.000298.000276.000380.00013.031-16.706-39.196-46.62337.64856.42150.58560.696
36216.000298.000270.000380.00026.622-29.151-33.805-54.59831.48057.78047.21365.612
37210.000290.000264.000372.00029.198-16.407-32.459-48.37633.08850.36945.81560.899
38210.000290.000264.000372.00023.139-20.012-35.626-50.60333.26252.23747.68462.509
39202.000280.000256.000362.00030.824-10.714-30.619-46.69333.81548.31743.46358.959
40198.000272.000252.000354.00033.834-6.177-28.818-46.00934.61845.60642.46257.755
41194.000266.000246.000344.00037.899-2.277-21.696-41.97734.61844.11236.70554.600
42194.000264.000244.000340.00028.269-0.546-22.248-40.02334.54042.28136.78753.396
43192.000264.000242.000340.00029.469-5.196-23.509-43.91635.06844.22137.29755.582
44190.000260.000240.000336.00032.1320.189-23.174-40.73135.06840.89837.29753.059
45186.000254.000236.000330.00035.7025.672-22.149-37.48235.59838.65737.81150.486
46182.000246.000230.000322.00040.43915.578-19.804-31.72734.25935.74736.02645.852
47180.000244.000228.000320.00045.26211.313-18.288-34.64131.35536.35634.19748.163
48178.000242.000224.000318.00044.40213.710-15.190-34.12031.35536.35634.19747.882
49176.000240.000222.000316.00039.09515.629-18.307-33.00833.18538.05335.95247.002
50174.000238.000220.000314.00040.41310.464-14.775-35.99930.63041.91633.18349.147
51172.000236.000218.000312.00042.49311.846-13.512-35.19930.63042.48333.18349.191
52170.000232.000214.000306.00047.67022.113-7.931-29.66230.63037.63630.51045.714
53168.000230.000212.000304.00044.99917.804-9.597-32.14531.15036.41031.83647.401
54166.000226.000208.000300.00040.49323.282-9.350-31.66031.90933.79233.05945.917
55162.000220.000204.000294.00049.72631.967-3.963-27.27729.58830.67530.70142.449
56158.000212.000200.000286.00060.50137.8453.326-26.08024.85931.98925.78442.553
57156.000208.000198.000282.00071.19345.81910.209-22.39224.59332.13223.11339.687
58154.000204.000196.000276.00075.32856.94511.690-19.80024.59333.80623.11338.431
59152.000202.000194.000274.00080.54864.17215.015-16.10724.59331.77923.11335.596
60152.000200.000194.000272.00080.54872.07415.015-12.06924.59328.21523.11332.496
61148.000198.000188.000270.00084.44876.54420.458-9.78524.59328.44822.12630.742
62146.000196.000186.000268.00095.75682.49127.843-6.74624.59327.68822.12628.409
63146.000194.000186.000266.00084.80089.08120.688-3.37924.59324.61622.12627.752
64144.000188.000184.000260.00081.34998.16018.4302.28625.34823.42222.12627.752
65142.000188.000180.000258.00070.10683.27415.1610.31827.87830.41528.86829.158
66142.000188.000180.000258.00070.10673.77515.161-4.88127.87826.18628.86830.314
67142.000188.000180.000258.00070.10667.17115.161-8.49627.87830.41528.86830.314
68142.000186.000180.000254.00068.19970.51213.870-4.31727.87830.41528.86830.314
69142.000184.000180.000252.00066.99772.38113.054-3.17128.18330.78129.17130.612
70142.000184.000180.000252.00066.99771.87613.054-3.45528.18330.78129.17130.612
71138.000184.000174.000252.00070.24570.09016.070-4.45723.39230.63926.17530.469
72138.000184.000174.000252.00070.24570.09016.070-4.45723.39230.63926.17530.469
73138.000184.000174.000250.00070.24559.29116.070-7.02423.39230.63926.17530.469
74134.000182.000170.000244.00084.48059.31221.144-2.92914.14428.94419.89028.769
75134.000182.000170.000244.00084.48058.37221.144-3.50214.14428.91819.89028.743
76132.000182.000168.000244.00092.22358.37226.228-3.50214.14428.91819.89028.743
77132.000180.000168.000242.00091.53559.13025.777-3.84214.14428.91819.89028.743
78130.000176.000166.000238.00097.72370.90428.5342.23514.14428.91819.89028.743
79130.000176.000166.000238.00088.86760.81422.778-3.80114.36128.91824.27928.743
80128.000174.000164.000236.00092.40462.13925.077-3.00914.36128.91820.09328.743
81126.000172.000162.000234.00095.19969.56626.894-1.72913.11722.84324.27926.939
82126.000172.000162.000234.00095.19969.56626.894-1.72913.11722.84324.27926.939
83126.000172.000162.000234.00091.55369.32124.516-1.87113.11722.84325.50326.853
84122.000172.000158.000234.00083.95957.34118.875-8.81320.20125.98927.77029.474
85122.000172.000158.000234.00083.95956.87118.875-9.08620.20125.98927.77029.474
86122.000172.000158.000234.00083.95955.59718.875-9.82420.20125.98927.77029.474
87122.000170.000158.000232.00083.95958.07818.875-9.83920.20125.98927.77029.474
88122.000166.000156.000226.00076.72159.00519.695-6.05620.20125.98927.77030.230
89120.000166.000154.000226.00079.60256.68321.646-7.42820.20125.98927.77030.230
90120.000166.000154.000226.00079.60256.68321.646-7.42820.20125.98927.77030.230
91118.000166.000152.000226.00082.35656.68323.159-7.42820.20125.98927.77030.230
92118.000166.000152.000226.00082.35656.68323.159-7.42820.20125.98927.77030.230
93118.000162.000152.000222.00082.35662.77723.159-3.82720.20124.59727.77028.918
94118.000162.000152.000222.00081.70762.19722.720-4.17020.20124.59728.02829.171
95118.000162.000152.000222.00079.60960.32521.304-5.27621.07424.59728.85829.988
96114.000162.000148.000222.00086.75261.36524.043-4.66120.20124.59728.31829.746
97114.000162.000148.000222.00086.75261.36524.043-4.66120.20124.59728.31829.746
98114.000162.000148.000220.00086.75256.68524.043-3.18720.20125.43428.31828.673
99114.000162.000148.000220.00086.75256.68524.043-3.18720.20125.43428.31828.673
100114.000160.000146.000218.00070.12459.17523.202-3.06713.76124.86928.31828.379

The historical mechanics chart uses 80 official BTCUSDT two-hour candle opens from May 2021. Its generic labels count candles in the excerpt; the download retains UTC timestamps. Calculations use the 20 preceding highs and 10 preceding lows and express high, low or closing-price distance from the corresponding boundary as 10,000 × (observation / boundary − 1), in basis points. It shows indicator values only, with no simulated fills. Eight default-setting executions were checked against official next opens and their preceding channel conditions; a separate independent audit reconciled all 294 recorded default executions. Those checks verify that one trace, not every execution in the sweep. A further excluded three-setting stop control reproduced all complete main metrics at stops off/2N/4N. All 302 recorded executions of its 20/10 close/close 2N setting matched official next opens and preceding channel-or-frozen-stop conditions; 18 exits satisfied only the stop condition. This checks the observed trace, without generating trades locally. The three diagnostic evaluations are excluded from main totals.

The platform’s full-window buy-and-hold benchmark uses the first and last closes, including the 500 startup bars when the strategy holds cash. The passive controls reported here instead use the same 99% allocation, 500-bar startup, next-open entry and 0.1% cost, then hold. Eight previously recorded and independently audited controls supply those returns and are excluded from this study’s evaluation totals. The final included candle opens at 00:00 UTC on each end date. The table retains the platform’s reported maximum-drawdown metric; it does not imply tick-level path reconstruction.

Original compact exports, completion screenshots and exact source checksums are preserved privately. Audits validate Cartesian grid membership, guard exclusions, capital, candle sizes, endpoints, positive fees, finite metrics, errors, duplicates and repeat agreement. There are no locally simulated portfolio results.

The official BTCUSDT two-hour archives contain three source gaps totaling four absent candles; observed rows are used without interpolation. The direct ETHUSDT four-hour source used for the reversal traces is continuous.

Completed TrainBard channel sweep with 85,176 requested combinations, 73,272 traded rows and 11,904 guarded-invalid zero rows

The unaltered completed-batch screenshot is the first broad BTC batch. Download the tested strategy script, completed evidence, exact study methods, neighborhood evidence and historical-chart provenance.

A separate two-setting 85/32 close-exit, 2N repeat on ETHUSDT four-hour 2021–2023 reproduced every complete main metric. Its close-entry trace has 54 recorded executions and its wick-entry trace has 49. All matched official next opens and preceding prior-channel or actual-fill/frozen-N stop conditions. The 36 official monthly four-hour archives are checksum verified and contain 6,570 continuously spaced candles. The audit compares actual recorded holding intervals and identifies 6 stop-only exit decisions where the other recorded holding has neither a channel nor a stop trigger at that close. It generates no trades or portfolio returns. Together with the 12-row smoke and three-row stop control, these two rows make 17 excluded diagnostic evaluations. Their repeats are deliberate and add no independent trials. Download the compact trace audit for checksums, counts and the observed stop-reference comparison.