SMOKIN' ACES·Research

We extracted 1,275 rules from seven technical frameworks. Thirteen were testable.

Wyckoff, Elliott Wave, Gann, Fibonacci, Ichimoku, RSI and MACD. We turned 1,275 book rules from these frameworks into machine-evaluable form and backtested them. Thirteen ever accumulated twenty trades. Gann produced none at all.

We extracted mechanical rules from 656 trading books and backtested them. This post is about the seven named frameworks inside that library, and about a number that surprised us more than any of the performance figures.

The attrition

frameworkrules extractedever scoredreached 20 tradesskipped as untestable
RSI652685194
Gann201140116
MACD14426344
Fibonacci9310119
Elliott Wave854251
Wyckoff819221
Ichimoku19902

1,275 rules in. Thirteen reached twenty trades. That is 1.0%.

Gann contributed 201 rules and produced nothing testable at all. Ichimoku, nineteen rules, also nothing.

We expected the performance results to be the story. The attrition is the story.

Why rules die before they can be tested

A rule fails to reach a backtest for two main reasons, and neither is "it lost money."

It cites something we cannot compute. Across the whole library, 3,524 rules reference an indicator no function in our registry produces. The rule is perfectly clear to a human reader and unevaluable by a machine.

It has no mechanical condition at all. Another 2,898 contain no usable computable trigger — they describe a judgement, a context, or a principle.

Roughly 30% of the entire library is structurally untestable before edge is even in question. That is not a measure of whether these methods work. It is a measure of how much of them survives translation.

Gann is the clearest case

Two hundred and one rules, 116 explicitly skipped, zero ever scored to twenty trades.

Gann's methods rest on geometric relationships between price and time — angles drawn at fixed ratios, squares of price and time, cycles anchored to significant highs and lows chosen by the analyst. Whether an angle "holds" depends on the scaling of the chart it is drawn on.

None of that reduces to a condition on open, high, low, close and volume. You can write close > sma_50. You cannot write "price is respecting the 1x1 from the March low" without first deciding, by hand, which low is significant and what scale the chart uses.

That is not a criticism of Gann. It is an observation about what a mechanical backtest can and cannot examine, and the honest conclusion is that we have no evidence about Gann in either direction. Absence of a testable rule is not evidence of absence of edge.

What the thirteen survivors did

For completeness, the frameworks that produced anything testable:

frameworkrulestradeswin rateprofit factorDSR >= 0.95
Wyckoff221357.7%0.980
RSI553255.9%0.900
Elliott Wave271445.6%0.590
MACD357737.2%0.540
Fibonacci11,66643.7%0.410

Every framework averages below break-even. Not one rule in any of them cleared a deflated Sharpe ratio of 0.95.

⚠ Do not read that table as a ranking

It is extremely tempting to conclude that Wyckoff beats Fibonacci by a factor of two. That conclusion is not available from this data, for a reason that should be obvious once stated:

The Fibonacci row is one rule. Tested across 36 symbol and timeframe combinations, which produces 1,666 trades and a respectable-looking sample — but it is still one rule, tested many ways. Elliott Wave is two rules. Wyckoff is two.

Thirteen rules cannot rank seven frameworks. What the table supports is a much weaker and much safer claim: among the handful of rules from each framework that could be mechanised, none showed an edge that survives correction for the number of trials.

Anyone who tells you their backtest ranks technical frameworks against each other should be asked how many distinct rules sat behind each row.

The pattern worth noticing

The two frameworks that came closest to break-even, Wyckoff at 0.98 and RSI at 0.90, are also the two whose mechanised versions most resemble what a practitioner actually does. An RSI threshold really is most of RSI trading.

The frameworks that fared worst in this sample are the ones where the mechanical version is a shadow of the method — a Fibonacci retracement level without the analyst's choice of swing, an Elliott count without the count.

That suggests, without proving, that the gap is not "these frameworks are worse" but "more of these frameworks is lost in translation." We tested the shadow, not the method.

What we concluded

Our own use of these frameworks reflects it. Wyckoff runs in our buy list as a structural gate — a phase read that says "this has based" — not as a set of entry rules, and it earned that place on a pre-registered test it could have failed. Its mechanised rules, meanwhile, did not survive. Both things are true, and they are not in tension.

The broader finding stands with the 21,191-rule result: the binding constraint is not rule quality, and it is not rule count. It is that the judgement these methods ask for does not compile.