Turtle trading strategy: original rules and modern tests
The Turtle trading strategy follows price breakouts with volatility-based position sizing, protective stops, and additions to winning positions. Richard Dennis and William Eckhardt taught two versions: a 20-day breakout system and a 55-day system. Reproducing either requires more than drawing a channel: signal filtering, fill timing, unit sizing, and portfolio limits affect the result.
Draft the specified Turtle strategyKey Takeaways
- System 1 pairs a 20-day entry with a 10-day exit; System 2 pairs 55 days with 20 days.
- One original unit makes a 1N price move worth about 1% of the sizing account. A 2N initial stop therefore represents about 2% before costs and gaps.
- The original rules trigger during the day. Waiting for a daily close is a different strategy version.
- A single-chart backtest cannot establish the performance of the original diversified futures portfolio.
Which Richard Dennis trading strategy is being tested?
The Turtle rules are the published system Dennis and Eckhardt taught their trainees in the 1980s. They are not a description of every method Dennis ever traded. The Original Turtles site provides the rules document with a foreword by participant Curtis Faith. Its rules cover market selection, sizing, entries, stops, exits, and execution. This page summarizes the standard 2N-stop version; the document also describes an alternative Whipsaw stop method. Keep those versions separate when comparing results.
System 1 and System 2 entry and exit rules
Use the highs and lows of completed preceding daily bars, excluding the current day. Original entries occur one tick beyond the channel during the session, without waiting for the close. A gap through the entry level requires the opening price rather than an assumed fill back at the old boundary. The rule table follows chapters 4 and 6 of The Original Turtle Trading Rules.
| Rule | System 1 | System 2 |
|---|---|---|
| Entry | Buy above the prior 20-day high; sell short below the prior 20-day low. | Buy above the prior 55-day high; sell short below the prior 55-day low. |
| Previous-breakout filter | Skip a 20-day signal after a winning breakout; track skipped signals as well as executed trades. | Take qualifying 55-day breakouts without the previous-winner filter. |
| Failsafe entry | After a skipped entry, use the 55-day breakout to avoid excluding the entire move. | The regular entry already uses 55 days. |
| Channel exit | Exit all long units on a 10-day low break, or short units on a 10-day high break. | Exit all long units on a 20-day low break, or short units on a 20-day high break. |
- For the System 1 filter, the preceding breakout is a loser if price moves 2N against it before a profitable 10-day exit.
- The preceding breakout can be long or short. Checking only the last closed trade misses hypothetical signals that were skipped.
- Protective stops can close a position before its channel exit. Specify which exit triggers first when both are touched in one bar.
Calculate N and the position unit correctly
True range is the maximum of high minus low, the absolute high minus previous close, and the absolute low minus previous close. The original N recurrence is N(today) = [19 × N(previous day) + true range(today)] / 20, initialized with a 20-day simple average of true range. Its smoothing coefficient is 1/20, not the 2/21 coefficient of a conventional 20-period EMA. One unit = 0.01 × sizing equity / (N × cash value of one price point per contract), rounded down to a tradable quantity. Convert contract values to the account currency where needed.
- Hypothetical example: a $100,000 sizing account, N of 2 price points, and a contract worth $50 per point give 10 contracts per unit: $1,000 / (2 × $50).
- A 2N stop is 4 points away. Ten contracts lose $2,000 at that exact stop price, before fees or slippage. This is a sizing illustration, not a recommended allocation.
- Margin is a separate constraint. If the calculated position cannot be funded, or rounding gives zero contracts, the trade is not feasible at that size.
- The original document describes supplied weekly unit sheets and notional account adjustments. Recomputing from current account equity every day is a modern implementation choice that must be recorded.
Pyramiding changes exposure after entry
The published rules add one unit after each favorable 0.5N move measured from the previous actual fill, up to four units in one market. Standard initial stops sit 2N below a long entry or above a short entry. Adding a unit moves earlier stops 0.5N in the favorable direction; gaps or wider fill spacing require tracking the individual stops. A profitable first entry does not mean every later addition will be profitable.
- Hypothetical long ladder with N fixed at 2: fills at 100, 101, 102, and 103. With no slippage, the common stop progresses from 96 to 97, 98, and 99.
- At the final stop of 99, the four equally sized units lose 1, 2, 3, and 4 points respectively from their entries. The combined loss is 5N of one unit, or about 5% of the original sizing account before costs. Four units do not preserve a 2% total-position loss limit.
- The published portfolio caps are four units per market, six in closely correlated markets in one direction, ten in loosely correlated markets in one direction, and twelve total in one direction.
- Separate charts do not share a portfolio risk budget automatically. Record correlation groups and aggregate exposure outside a single-symbol strategy test.
Label original, simplified, and experimental versions
A script named Turtle can implement materially different trades. Publish a rule manifest with the result so another reader can reproduce it. The simplified baseline below is an illustrative research specification created for this page, not a historical Turtle rule set or a tested profitable strategy.
| Version | Required description | Interpretation |
|---|---|---|
| Historical reconstruction | Named system, intraday channel triggers, skip filter where applicable, unit schedule, stops, additions, market universe, portfolio caps, and notional account adjustments. | Compare with the published rules and document any unresolved execution assumptions. |
| Illustrative daily-close System 2 baseline | One symbol, no additions, long or short after a close beyond the prior 55-day channel; next available market fill. Size once using prior completed-day N and equity; freeze that N for a 2N protective stop. Close on the opposite prior 20-day channel condition. | A simplified experiment. It omits intraday breakout timing and portfolio construction. |
| Research variation | Change one specified feature, such as the entry length, close confirmation, stop distance, or an added trend filter. Keep a named baseline. | Attribute any measured difference to that tested version, not to the original system. |
What a TradingView backtest must resolve
TradingView strategies use a broker emulator. Historical fills depend on available chart data and intrabar assumptions; a stop level is not a guaranteed execution price. This matters when one daily bar crosses several addition levels and a stop. Lower-timeframe Bar Magnifier data can help resolve the sequence where coverage exists, but it does not recreate every market tick. Test on standard price bars and document order creation timing, gap handling, commission, and slippage.
- Build the channel from preceding completed bars and use only volatility data known when the order is sized. Including the current bar can change the intended breakout test.
- Inspect trades where entry, an addition, and exit occur in the same bar. Compare the trade list under different fill assumptions before trusting the equity curve.
- For futures, record the specific contract or continuous-series adjustment and roll treatment. For other assets, state the applicable trading session, shorting constraints, and costs.
- Keep an untouched evaluation period. Compare drawdown, trade count, average win/loss, turnover, and time under water rather than selecting the highest historical return.
- Check periods with repeated failed breakouts and long stretches without sustained trends. Also inspect how much of the result comes from a few trades or one market.
Does the Turtle strategy still work?
There is no universal current success rate for the Turtle trading strategy. The answer depends on the exact rules, market set, dates, costs, and sizing assumptions. A strong trend can produce a large winner; repeated reversals can accumulate losses before that trend arrives. Historical fame does not settle whether a specified version has an edge today. A defensible test reports unfavorable periods and unchanged out-of-sample results alongside the favorable ones. No performance test is presented on this page.
Pineify next step
Build the version you intend to test
Give Pine Script AI Coding Agent a rule manifest with the system number, trigger timing, N calculation, unit size, stop updates, and omitted portfolio rules. Check the generated trades before comparing inputs with Strategy Optimizer. Backtest Deep Report accepts a compatible TradingView List of Trades CSV. If your TradingView export is XLSX, prepare a CSV with the expected trade columns before uploading. Keep each rule version and its costs with its results.
Sources and verification
Last verified:
This page explains historical rules and research methods, not investment advice. Numerical examples are hypothetical sizing calculations, not backtest results or recommended positions. Trading, especially with leverage, can cause substantial losses. Stops do not guarantee execution prices, and historical or simulated results do not guarantee future performance.