CRT trading strategy: Candle Range Theory rules and invalidation
The CRT trading strategy discussed here means Candle Range Theory: use a completed candle as a price range, wait for a later candle to move beyond one edge and close back inside, then test a reversal toward the opposite edge. The reclaim is a condition to observe, not evidence that the target will be reached. This page specifies one single-timeframe version so its signals, rejected setups, and exits can be checked candle by candle.
Draft a CRT strategyKey Takeaways
- The reference range includes the candle wicks: high to low. Freeze it before judging the sweep.
- A lower-low sweep can qualify for a long only after a close back inside; an upper-high sweep gives the mirrored short condition.
- CRT publications use different confirmation rules. Record the version, timeframe, and boundary conditions before testing.
- A range target is a planned exit, not a forecast. Price can resume its move beyond the swept edge.
What CRT means, and why the version matters
The linked TradingView publications by diargago and Giancarlo_Adorno both use CRT for Candle Range Theory. Their descriptions differ: diargago describes a sweep followed by a close back inside the reference range; Giancarlo_Adorno compares the new close with the previous close and also requires a particular previous candle direction. They are author-defined implementations, not a single official TradingView strategy. This guide uses the range-reclaim interpretation and does not require a bullish or bearish reference body. A sweep here means a price excursion beyond a known high or low. It does not prove that stop orders were present, identify the participants, or establish institutional intent. The rules below are an illustrative research specification, not a transcription of either published indicator.
A complete one-hour CRT rule set
Use standard one-hour candles on one fixed symbol, exchange feed, and session setting. Call the last completed candle A and the immediately following candle B. At B close, evaluate A as the reference. Record the chart session and bar timestamps because different feeds or sessions can produce different candles. The one-hour period, one-tick stop buffer, and six-bar time exit are declared test settings, not optimal values.
| Decision | Long rule | Short rule |
|---|---|---|
| Freeze the range | Use A high H and low L, with H greater than L. Midpoint M is (H + L) / 2. | Use the same definitions. A body color does not matter. |
| Sweep one side | B low is strictly below L, while B high is strictly below H. | B high is strictly above H, while B low is strictly above L. |
| Confirm the reclaim | B closes strictly above L and below H. Wait until B closes. | B closes strictly below H and above L. Wait until B closes. |
| Submit the entry | While flat, submit one market buy after confirmation. Use the next available tick for the simulated fill. | While flat, submit one market sell after confirmation. Use the same fill convention. |
| Freeze exits | Protective stop is B low minus one tick; target is A high. Submit the bracket with the entry and keep these prices fixed. | Protective stop is B high plus one tick; target is A low. Keep the bracket prices fixed. |
| Time exit and state | If still open after six completed bars, counting the entry bar as one, request a market exit. Ignore signals while an order or position is active. | Use the same rule. No pyramiding or automatic reversal; resume evaluation only when flat with no pending order. |
- Equal highs or lows do not count as a sweep. A close exactly on either range boundary fails the strict reclaim rule.
- Reject B if it touches or exceeds the opposite edge. This excludes candles that traverse both sides and avoids assigning a direction from OHLC alone.
- If B fails, do not keep A active indefinitely. The next evaluation uses the next adjacent pair; it is a new reference and a new setup.
- For an initial signal study, use one fixed tradable unit with no leverage assumption. Risk-based sizing needs a separate cash budget, point value, quantity rounding, and gap allowance.
A hypothetical bullish setup and its invalid cases
Assume a tick size of 0.10. These invented one-hour candles illustrate the rule checks; they are not historical prices, a backtest, or a recommended trade. A defines H = 110.00 and L = 100.00. B sweeps below 100.00, stays below 110.00, and closes inside at 102.00. The long signal is available only after B closes.
| Candle | Open / High / Low / Close | Interpretation |
|---|---|---|
| A: reference | 103.00 / 110.00 / 100.00 / 106.00 | Range width 10.00; midpoint 105.00. Freeze these values. |
| B: sweep and reclaim | 106.00 / 108.00 / 98.00 / 102.00 | Long qualifies at close. Stop 97.90; target 110.00. |
| C: next bar | 102.50 / 104.00 / 101.00 / 103.00 | Assuming a fill at 102.50 before costs, price risk is 4.60 and target distance is 7.50, about 1.63 times risk. |
- If B instead closes at 99.00, there is no reclaim and no signal.
- If B high instead reaches 111.00, both range edges have been crossed and this version rejects the candle.
- If B closes at 109.80, the setup can still qualify, but little room remains to the 110.00 target. A valid pattern need not offer an attractive reward-to-risk ratio.
- The 105.00 midpoint is a reference level only. This version does not take partial profit there or move the stop to breakeven.
- No later candles are supplied, so the example establishes neither a target hit nor a stop-out.
Invalidation, confirmation, and execution are different events
Before B closes, an apparent reclaim is provisional because its high, low, and close can change. The closed-bar rule accepts that delay. If a higher-timeframe reference is added later, its candle must also be completed; a confirmed chart candle does not make an unfinished higher-timeframe range final. TradingView documents these historical-versus-live differences in its repainting guide. After entry, this version exits at the fixed stop, target, or time limit. It does not add an extra exit merely because a later candle closes outside A. Such a rule would be a separate version. A renewed move through the sweep extreme can invalidate the reversal idea even when the original signal was correctly detected.
- TradingView normally fills a market order on the next available tick, typically the following bar open under default settings. B close is not the assumed fill.
- A gap can put the entry beyond the planned stop or target. Keep and inspect those trades in the test; do not retrospectively remove them using information unavailable when the order was sent.
- Historical OHLC cannot establish every intrabar event order. When stop and target are both touched, examine emulator assumptions and available lower-timeframe detail.
- Record commission, slippage, spread treatment, and exit timing. A stop order does not guarantee the stop price.
Compare reference windows without changing the definition silently
Start by checking the one-hour version against individual candles. Then repeat the same rules on separately declared reference periods, such as 30 minutes and four hours. A change of candle duration changes the range, available signals, and the wall-clock length of a six-bar hold. State whether the experiment keeps the bar count or elapsed holding time constant. Neither choice proves one timeframe is best.
- Keep the symbol, session, date range, costs, and quantity method comparable. Save the exact timeframe and rules with every result.
- Count rejected double-sided candles, confirmed signals, filled orders, and net outcomes separately. A signal count alone says nothing about profitability.
- Reserve an untouched later period. Inspect continuation after a sweep, narrow ranges dominated by costs, and large gaps instead of selecting only clean reversals.
- Compare a small declared set of stop buffers or holding limits. Report net average trade, drawdown, and trade count, including the unchanged later-period test.
Turn this CRT specification into Pine Script with Pineify
Pine Script AI Coding Agent can draft the reference, sweep, reclaim, and exit logic from the table. Ask for visible reference levels and separate markers for confirmation and order fills so the output can be checked against the example. Strategy Optimizer uses the Pineify browser extension to compare supported strategy inputs in TradingView. Expose numeric stop-buffer and holding-period inputs; repeat tests for each chosen chart timeframe, or explicitly implement and review a reference-window input before optimizing it. Generated code still needs review, and parameter search cannot establish future profitability.
Pineify next step
Draft the CRT version you intend to test
Give AI Coding Agent the exact candle period, strict boundary rules, fixed exits, and one-position constraint. Check its signals first, then compare supported inputs with Strategy Optimizer.
Sources and verification
Last verified:
Educational information, not investment advice. All example prices and settings are hypothetical and do not demonstrate profitability. Trading can cause substantial losses, and gaps or execution costs can exceed planned risk. Historical and simulated results do not guarantee future performance.