Selection bias · walk-forward testing · rejection rules
6C Technical Indicators: Benchmark, Validate, or Reject
Open enough 6C charts, try enough lookbacks, and rank enough outcomes, and something will look impressive in the past. That is a selection result. It becomes evidence only after the decision task, candidate family, costs, comparison baseline, and untouched validation period are fixed.
- First question
- Decision task
- Comparator
- Simple baseline
- Validation
- Chronological
- Allowed answer
- None
Purpose before formula
An Indicator Cannot Work Until “Work” Is Defined
Fact: a technical indicator is a deterministic transformation of declared inputs such as price, volume, or range. Application: it can summarize a state, filter decisions, size risk, or trigger an action. Hypothesis: a particular transformation may improve a predeclared outcome relative to a baseline. The indicator’s familiar name does not establish that improvement.
| Decision task | Possible target | Appropriate baseline | Common category error |
|---|---|---|---|
| State description | Classify trend, volatility, or location using current and past data | Simpler past-only statistic | Calling a descriptive label a forecast |
| Directional forecast | Signed forward return over a frozen horizon | No-change, unconditional sign, or own-history model | Scoring any later touch as a win |
| Movement forecast | Forward range, variance, or threshold-crossing probability | Clock- and regime-matched historical distribution | Equating movement with tradable direction |
| Execution filter | Spread, fill, slippage, or adverse-selection outcome | Same order rule without the filter | Using bar closes as fill evidence |
| Risk scaling | Loss distribution or exposure consistency under a sizing rule | Fixed exposure with identical entries and exits | Crediting the indicator for leverage changes |
Write one primary question in a single sentence. Example: “Does a past-only trend filter improve the net distribution of a fully specified 6C breakout rule on untouched dates relative to the same rule without the filter?” That question is falsifiable. “Which indicators work best?” is an invitation to search.
Import the verified tick value, quotation, contract calendar, and active-expiry logic from the 6C contract-mechanics guide. An indicator study should not maintain a competing specification table.
Candidate registry
Turn Every Candidate Into Code-Ready Rules
“RSI oversold,” “MACD confirmation,” and “moving-average trend” are not reproducible definitions. Freeze the input price, bar construction, lookback, initialization, threshold, comparison operator, signal timestamp, missing-data policy, and expiration rule.
Trend family
Past-price smoothing or break
Examples include a moving-average slope, price relative to a past-only average, or a trailing high-low rule. The candidate must specify whether it filters direction, triggers entry, or exits. Similar lookbacks are part of one multiple-testing family.
Momentum family
Signed change over a fixed horizon
Rate-of-change and oscillator transformations often encode related information. Count transformed variants and threshold directions explicitly instead of pretending each chart name is an independent idea.
Volatility family
Range or return dispersion
True range, realized variance, and percentile states may help define risk or eligibility. They do not choose direction unless a separate directional hypothesis is tested.
Volume and flow family
Participation and auction inputs
Completed volume, trade rate, and book variables require dated-contract and feed-aware construction. The 6C order-flow guide sets the evidence boundary for depth and queue claims.
Calculate all inputs using data available at the decision timestamp. A centered average, future-confirmed pivot, revised macro value, or complete daily bar used before its close leaks information. Unit-test the earliest timestamp at which every signal can be true.
Earn complexity
Make the Indicator Beat a Naive Alternative
A positive backtest is not enough. A rising market, favorable sample, or variable exposure can make many rules profitable. The candidate needs to improve an appropriate baseline after identical cost and risk assumptions.
For a trade filter, compare the complete parent rule with and without the indicator. Show trades removed as well as retained.
Compare a complex oscillator with a straightforward past return, range, or moving average that represents the same information family.
For a forecast, compare with the clock-, session-, and regime-matched outcome distribution available at that time.
For state classification, compare with carrying the prior state forward or using a frozen historical transition rate.
Normalize exposure so the candidate does not appear better merely because it trades smaller or less often.
When appropriate, compare with timing-preserving randomized signals to estimate what selection can produce by chance.
Predeclare the primary metric and guardrails. Average return can hide tail loss; hit rate can improve while payoff deteriorates; Sharpe-like ratios can hide serial dependence; drawdown depends on order and sample length. Report the distribution of net trade outcomes, exposure, turnover, worst paths, and uncertainty rather than one headline score.
Chronology is part of the model
Use Walk-Forward Validation, Not Random Shuffling
Market observations are ordered, regimes persist, and nearby samples overlap. Random train/test splits can place later conditions into training and closely related bars on both sides of the boundary. A chronological design better reproduces the information available at each decision.
Develop
Use an early period to define the task, candidate registry, data cleaning, baselines, parameter grid, and execution model.
Validate
Apply the frozen family to later dates. Use this period for one controlled selection and document every change it motivates.
Lock
Freeze code hash, parameters, exclusions, roll policy, costs, and metrics before opening the final holdout.
Test once
Score untouched later data without manual overrides. If the model changes, retire that holdout and obtain a new one.
Replay forward
Simulate scheduled re-estimation using training windows available at each date, not today’s full history.
Purge or embargo observations where input and outcome windows overlap a split boundary. Keep dated 6C contracts and an ex-ante roll rule. Report results by year, volatility state, event status, clock window, and contract migration, but treat the full grid as one declared analysis family.
The selection bill
Charge Trading Friction and Multiple Testing
Technical rules tend to trade most when price moves or crosses thresholds, exactly when spreads, depth, and slippage can change. A fill at the bar close is not a cost model.
| Risk to validity | Required treatment | Reject when |
|---|---|---|
| Bid-offer spread | Use decision-time quotes or conservative historical estimates by market state | Net effect disappears under ordinary spread assumptions. |
| Slippage and depth | Model order size, latency, partial fills, missed passive fills, and event stress | Candidate requires unavailable fills or zero latency. |
| Commissions and fees | Deduct the full round-turn schedule and disclose assumptions | Small gross advantage cannot cover fixed charges. |
| Parameter search | List every lookback, threshold, outcome, session, and filter tested | Only a narrow winner survives and neighbors fail. |
| Research iteration | Count manual choices and post-validation revisions as selection | Holdout was repeatedly consulted. |
| Hypothetical performance | Label simulation, assumptions, and limitations explicitly | Backtest is presented as actual performance. |
Use a family-wise or false-discovery procedure appropriate to the declared question, and report effect sizes with uncertainty. Statistical significance does not establish economic value. Economic value in a historical replay does not establish future performance.
Try to break the winner
Demand Stability Across Reasonable Variants
Robustness means evaluating a frozen neighborhood, not retuning until the result returns. A defensible candidate should preserve its economic interpretation and material benefit across plausible implementation choices.
Inputs
Bars, timestamps, and rolls
Vary adjacent bar intervals, a second ex-ante roll rule, bad-tick filters, and boundary timestamps. Reject a result created by a continuous-series splice or one vendor artifact.
Parameters
Neighboring lookbacks and thresholds
Inspect a predeclared coarse grid. A single sharp optimum surrounded by failures is more consistent with fit noise than a stable relationship.
Market states
Events, sessions, and volatility
Show where the candidate works and fails. If value exists only during one named condition, narrow the claim and implement that condition in real time.
Execution stress
Wider costs and delayed arrival
Increase spread, slippage, latency, and missed-fill assumptions. A candidate with no cost headroom is not production-ready.
No original finding is reported for any 6C indicator. This page produced no indicator dataset, comparison, coefficient, trade sample, backtest, holdout score, or live-performance record. It does not claim that a moving average, oscillator, volatility measure, volume input, or order-flow statistic works on 6C.
Ending decision
Indicator Acceptance Card
A candidate enters a production research library only if every field below is complete. Any missing required field is a failure, not a reason to soften the criterion.
| Field | Acceptance evidence | Current article status |
|---|---|---|
| Decision task | One primary target, horizon, action, and invalidation | Protocol only |
| Candidate registry | All formulas, inputs, parameters, timestamps, and transformations frozen | Not executed |
| Baseline | Simple comparator under identical exposure and cost assumptions | Not executed |
| Validation | Chronological walk-forward plus one untouched final holdout | Not executed |
| Costs | Executable prices, size, spread, slippage, fees, latency, and missed fills | Not executed |
| Robustness | Stable neighboring parameters, years, regimes, feeds, and roll policies | Not executed |
| Decision | Accept, narrow, or reject according to predeclared thresholds | None accepted |
Sources, methods and editorial disclosure
- CME Group Canadian Dollar futures page for current exchange-product context; this site’s canonical 6C specification page owns detailed mechanics.
- CME DataMine historical data catalog for available official historical futures datasets. No dataset was purchased or retrieved for this page.
- NIST/SEMATECH Engineering Statistics Handbook introduction to time-series analysis for time dependence and model-validation context.
- NIST/SEMATECH guidance on model fit and residual validation for the limitation of relying on one fit statistic.
- CFTC advisory on commodity trading systems and hypothetical performance for simulation and hindsight limitations.
- Bank of Canada policy decision schedule, Statistics Canada release calendar, and Federal Reserve FOMC calendar for event controls.
Sources and methods were reviewed August 13, 2026. This article presents an original validation framework but reports no original indicator or performance result. It is unsponsored editorial analysis.