Turning Chart Patterns into Rules: Scanners, Backtests, and Execution Logic

Chart Patterns Course – Chapter 9 of 10. The difference between a pattern enthusiast and a systems thinker is simple: one says “that looks like a setup,” the other asks “can I define it, scan it, test it, and survive the parts I did not think about?” This chapter is about making the jump from visual impression to operational rule set.

Dark technical illustration showing pattern scanners, backtests, rule logic, and execution flow
A pattern is not testable until its geometry, trigger, costs, and execution assumptions are explicit.

Detection Is Not Execution

The first mistake in pattern system design is treating detection and execution as the same problem. They are not. Detection asks whether a shape exists according to a set of rules. Execution asks whether, given that detection, you should trade now, how, and under which constraints. A scanner can be excellent at finding triangles and still be useless as a trading engine if the execution logic is naive.

Lo, Mamaysky, and Wang matter here for a second time because they show what real progress looks like: formal definitions. Once the shape is defined computationally, you can stop arguing over screenshots and start testing behaviour. But even then, you are only halfway done. The pattern exists is not the same statement as the trade is attractive.

How To Formalise A Pattern

A usable rule set needs geometry and state. Geometry includes pivot structure, slope, duration, and relative highs and lows. State includes trend context, volatility condition, participation, and the rule for confirmation. For example, a triangle might require at least three touches, contracting range, a prior trend, and a close outside the boundary. A double top might require two comparable highs, a confirmed swing low between them, and a break of that swing low to trigger the idea. The exact rules can vary, but the point is that they must exist.

if prior_trend_up and pivots_valid and range_contracting and close > upper_boundary:
    signal = "triangle_breakout"
else:
    signal = None

That logic is still only a start. You then need to specify stop logic, profit logic, time stop, entry order type, universe filter, and what happens when multiple signals overlap. Backtests become untrustworthy surprisingly fast once any of those details remain vague.

Scanners Need Filters Before Patterns

A good scanner filters liquidity, spread, price, average volume, and perhaps regime before it even looks for patterns. Otherwise it will happily find beautiful setups in instruments you should never trade. This is one of the reasons discretionary traders sometimes distrust quant work. They have seen systems that detect elegant structures in statistically filthy places. The answer is not to reject automation. It is to respect preconditions.

For a chart-pattern course, the operational lesson is that scanning logic should serve tradeability, not just detection accuracy. A scanner that finds hundreds of weak candidates creates false confidence and false labour. A smaller list of liquid, structurally valid, context-aligned setups is far more valuable.

Backtest Overfitting Is a Real Threat

If you test enough patterns, filters, and thresholds on the same dataset, one of them will look brilliant. That is not proof of edge. That is often proof that statistics can be flattered when left unsupervised. This is where data-snooping literature, White’s reality check, and work on the probability of backtest overfitting become essential guardrails. The best-looking equity curve in-sample is often the most dangerous object in the room.

The antidotes are old-fashioned and effective: out-of-sample testing, walk-forward validation, realistic costs, and restraint in the number of variants explored. A backtest should not be allowed to audition endlessly until it finds the exact rule combination that history happened to reward.

Execution Assumptions Matter More Than People Admit

Best-execution guidance from FINRA and investor education from the SEC are useful here even if you are not building institutional routing systems. They force you to recognise that execution quality is a variable, not a rounding error. A breakout strategy using market orders behaves differently from the same strategy using limit orders. The difference is not cosmetic. It changes fill probability, slippage, missed opportunity, and realised expectancy.

If your backtest says every breakout was filled at the level with no delay and no slippage, you are not testing the strategy. You are testing your affection for fiction. Execution assumptions belong in the rules, not in a footnote after the results table.

What To Report From A Pattern Test

A serious chart-pattern backtest should report more than CAGR and win rate. It should include expectancy, max drawdown, turnover, holding period, average adverse excursion, average favourable excursion, exposure, capacity concerns, and performance by regime. If a pattern only works during one volatility state, that is not a flaw. It is information. But you only get that information if you ask better questions than “green line up?”

Why Rule-Based Work Improves Discretion Too

Even discretionary traders benefit from this chapter because rule-writing exposes vague thinking. Once you try to formalise your favourite setup, you quickly discover which parts were truly repeatable and which parts were just confidence with nice lighting. In that sense, backtesting is not only a profit exercise. It is an honesty exercise.

From Rules Back To Discretion

There is an irony here that good traders eventually appreciate. The more carefully you formalise a pattern setup, the better your discretionary judgement often becomes. Once you know exactly what the clean version looks like, you become much better at spotting when the live market is giving you a degraded imitation. That is why writing rules is not a betrayal of discretionary skill. It is one of the best ways to refine it.

That is also why a scanner should never be judged only by how many setups it finds. The better question is whether it helps you reject weak trades faster and define strong trades more consistently. In real pattern trading, filtering is often more valuable than discovery.

Summary Takeaway

Turning chart patterns into rules means defining the geometry, the trigger, the filter, the costs, and the execution path explicitly. A pattern is only testable and tradable when detection and execution are both specified with discipline.

Course Navigation

Previous: Chart Pattern Evidence and Success Rates: What the Research Actually Says

Next: A Professional Chart Patterns Playbook: Checklist, Review, and Deployment

Full course: Chart Patterns Course – Evidence, Execution, and Risk


This chapter is part of the Chart Patterns Course.

Mastering Chart Patterns: A New Course on What Actually Works

Full course here: Chart Patterns Course – Evidence, Execution, and Risk. If you want the full 10-chapter version with table of contents, previous/next chapter navigation, and dedicated lessons on risk, backtesting, and evidence, start there after this introduction.

Chart patterns are the finance equivalent of seeing constellations. Sometimes the stars really do line up, but only if you stop pretending every triangle is destiny. Fortune Talks’ long YouTube course gets one important thing right: patterns are visual summaries of supply, demand, hesitation, and breakout pressure. Where most beginner courses go wrong is turning that into a treasure map. A head and shoulders is not money. It is a conditional setup that needs trend context, participation, and disciplined execution.

Dark professional trading chart showing chart patterns, support and resistance, and breakout structures
Chart patterns are not magic shapes. They are compressed pictures of crowd behaviour, liquidity, and failed auctions.

What Chart Patterns Really Capture

At their best, chart patterns compress crowd behaviour into shapes traders can act on. Flags and triangles describe pauses inside a trend. Double tops, double bottoms, and head-and-shoulders structures describe failed auctions where one side is losing control. Andrew Lo, Harry Mamaysky, and Jiang Wang tried to move this subject from folklore to measurement by formalising pattern recognition on decades of U.S. stock data.

“over the 31-year sample period, several technical indicators do provide incremental information and may have some practical value.” – Lo, Mamaysky, and Wang, Foundations of Technical Analysis

That is the key correction to the “all patterns work” myth. The serious claim is not that geometry predicts price by magic. The serious claim is that recurring structures can shift the distribution of outcomes. Kahneman’s warning in Thinking, Fast and Slow fits perfectly here: the human brain loves fast pattern recognition, but markets punish fast certainty. A chart pattern is a hypothesis, not a verdict.

What Is the Success Rate, Actually?

The honest answer is that there is no single success rate worth tattooing on your keyboard. Results vary by market, timeframe, execution quality, fees, and whether you trade the breakout, the close, or the retest. The respectable literature says three useful things. First, patterns can contain information. Second, that information is conditional rather than universal. Third, implementation quality decides whether the edge survives transaction costs.

“These tests strongly support the claim that support and resistance levels help predict intraday trend interruptions for exchange rates.” – Carol Osler, Federal Reserve Bank of New York

Osler’s work matters because it tests signals used by real market participants rather than fantasy charts drawn after the move. More recent quantitative work reached a similar conclusion on intraday support and resistance:

“Our simple approach discovers SR levels which are able to reverse price trends statistically significantly.” – Chung and Bellotti, Evidence and Behaviour of Support and Resistance Levels in Financial Time Series

The pattern-specific evidence is mixed but not empty. In research on U.S. equities, Savin, Weller, and Zvingelis reported that head-and-shoulders signals improved risk-adjusted returns when used conditionally, but they did not support a naive stand-alone trading religion. That is the real lesson. Patterns can add information. They rarely deserve to be your entire trading system.

The Failure Cases Beginners Learn the Hard Way

Case 1: Entering before the breakout is confirmed

The video correctly emphasises breakout logic. The trap is anticipation. Traders see an ascending triangle, jump early, and call it conviction. The market calls it liquidity.

# Bad: trade the pattern before confirmation
if pattern == "ascending_triangle":
    buy()

# Better: require a decisive close and participation
if pattern == "ascending_triangle" and close > resistance and volume > 1.5 * avg_volume_20:
    buy()

Premature entries convert a probabilistic setup into a coin flip with worse pricing.

Case 2: Ignoring the higher timeframe regime

A bullish flag inside a clean weekly uptrend is not the same object as a bullish flag under a falling 200-day moving average. One is continuation. The other is often a dead-cat drawing with better marketing.

# Bad: every flag gets treated equally
signal = detect_flag(data)

# Better: trade with regime
signal = detect_flag(data)
trend_ok = close > ema_50 and ema_50 > ema_200
if signal and trend_ok:
    buy()

Case 3: Pretending measured-move targets beat transaction costs by default

This is where most course material becomes decorative. A 1.2R setup on a noisy intraday chart can look beautiful and still be useless after spread, slippage, and misses.

# Bad: fixed tiny edge, no cost check
gross_r = (target - entry) / (entry - stop)
take_trade = gross_r > 0

# Better: trade only if net expectancy survives costs
cost_in_r = spread_cost + slippage_cost + missed_fill_cost
gross_r = (target - entry) / (entry - stop)
net_edge = gross_r - cost_in_r
if gross_r >= 1.8 and net_edge > 0:
    take_trade = True

This is the part beginners skip because it is less exciting than spotting a cup and handle. It is also the part that decides whether you stay in the game.

Dark technical chart illustrating false breakouts, stop sweeps, and failed pattern trades
Most pattern failures are implementation failures: early entry, wrong regime, or a cost structure that eats the edge.

Best Ways to Implement Chart Patterns in Practice

If you actually want to use the ideas from the course, do it like a process engineer, not a pattern tourist. Restrict yourself to liquid instruments. Start with regime classification. Define the trigger mechanically. Require confirmation. Then place the stop where the thesis is invalidated, not where your ego gets uncomfortable. The video is right that timeframes matter: daily and four-hour structures are usually more reliable than frantic one-minute pattern hunting because more participants see them and cost drag is smaller.

Step 1: Restrict the universe. Focus on liquid names or liquid index products.

Step 2: Start with regime. Continuation patterns need trend persistence; reversal patterns need exhaustion plus failed follow-through.

Step 3: Define the trigger mechanically. Use a closing break beyond the boundary, a retest rule, or both.

Step 4: Require confirmation. Volume expansion and volatility contraction before breakout help filter noise.

Step 5: Size the trade from the stop. Risk per trade should be fixed before the order is sent.

def trade_pattern(pattern, data):
    if not pattern.confirmed_close:
        return None
    if not data.regime_is_aligned:
        return None
    if data.breakout_volume < 1.5 * data.avg_volume_20:
        return None
    entry = data.close
    stop = pattern.invalidation_level
    target = entry + 2 * (entry - stop)
    return {"entry": entry, "stop": stop, "target": target}
Dark professional diagram showing trend filter, breakout confirmation, retest, stop loss and target rules
A useful chart pattern is a checklist with an invalidation level, not a doodle with hope attached.

When Chart Patterns Are Actually Fine

Chart patterns are perfectly respectable when used as a language for trade location, watchlist construction, and risk definition. They are especially useful for swing traders who need a structured way to organise entries and invalidation points. They are much less convincing as a stand-alone alpha source in fast, fee-heavy intraday trading. Put differently: patterns work better as a decision framework than as a superstition.

Dark finance checklist graphic for reviewing chart patterns, cost checks, and risk controls
If you cannot explain the regime, trigger, invalidation, and cost assumptions, you do not have a setup yet.

What to Check Right Now

  • Backtest one pattern at a time with real spreads and slippage before adding it to your playbook.
  • Separate continuation from reversal setups because their failure mechanics are different.
  • Track expectancy, not just win rate. A lower win rate can still be superior if average winners are materially larger than average losers.
  • Use daily or four-hour charts first if you are learning. Higher timeframes usually mean cleaner structure and lower cost drag.
  • Review every false breakout to see whether volume, regime, or liquidity should have filtered it out.

Video Attribution

This article builds on the educational YouTube course below and adds the quantitative evidence, implementation rules, and failure analysis that most chart-pattern tutorials leave out.


Watch the original Fortune Talks video on YouTube.

nJoy 😉