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 taskPossible targetAppropriate baselineCommon category error
State descriptionClassify trend, volatility, or location using current and past dataSimpler past-only statisticCalling a descriptive label a forecast
Directional forecastSigned forward return over a frozen horizonNo-change, unconditional sign, or own-history modelScoring any later touch as a win
Movement forecastForward range, variance, or threshold-crossing probabilityClock- and regime-matched historical distributionEquating movement with tradable direction
Execution filterSpread, fill, slippage, or adverse-selection outcomeSame order rule without the filterUsing bar closes as fill evidence
Risk scalingLoss distribution or exposure consistency under a sizing ruleFixed exposure with identical entries and exitsCrediting 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.

Keep contract math canonical

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.

No-action baseline

For a trade filter, compare the complete parent rule with and without the indicator. Show trades removed as well as retained.

Simple statistic

Compare a complex oscillator with a straightforward past return, range, or moving average that represents the same information family.

Unconditional distribution

For a forecast, compare with the clock-, session-, and regime-matched outcome distribution available at that time.

Persistence baseline

For state classification, compare with carrying the prior state forward or using a frozen historical transition rate.

Same-risk baseline

Normalize exposure so the candidate does not appear better merely because it trades smaller or less often.

Randomized control

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.

1

Develop

Use an early period to define the task, candidate registry, data cleaning, baselines, parameter grid, and execution model.

2

Validate

Apply the frozen family to later dates. Use this period for one controlled selection and document every change it motivates.

3

Lock

Freeze code hash, parameters, exclusions, roll policy, costs, and metrics before opening the final holdout.

4

Test once

Score untouched later data without manual overrides. If the model changes, retire that holdout and obtain a new one.

5

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 validityRequired treatmentReject when
Bid-offer spreadUse decision-time quotes or conservative historical estimates by market stateNet effect disappears under ordinary spread assumptions.
Slippage and depthModel order size, latency, partial fills, missed passive fills, and event stressCandidate requires unavailable fills or zero latency.
Commissions and feesDeduct the full round-turn schedule and disclose assumptionsSmall gross advantage cannot cover fixed charges.
Parameter searchList every lookback, threshold, outcome, session, and filter testedOnly a narrow winner survives and neighbors fail.
Research iterationCount manual choices and post-validation revisions as selectionHoldout was repeatedly consulted.
Hypothetical performanceLabel simulation, assumptions, and limitations explicitlyBacktest 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.

Research status

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.

FieldAcceptance evidenceCurrent article status
Decision taskOne primary target, horizon, action, and invalidationProtocol only
Candidate registryAll formulas, inputs, parameters, timestamps, and transformations frozenNot executed
BaselineSimple comparator under identical exposure and cost assumptionsNot executed
ValidationChronological walk-forward plus one untouched final holdoutNot executed
CostsExecutable prices, size, spread, slippage, fees, latency, and missed fillsNot executed
RobustnessStable neighboring parameters, years, regimes, feeds, and roll policiesNot executed
DecisionAccept, narrow, or reject according to predeclared thresholdsNone accepted
Sources, methods and editorial disclosure

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.