Confluences

Required, Supporting, Avoid: Writing a Setup You Can Test

“A+ setup” is not a testable statement. Splitting your conditions into required, supporting and avoid turns a vague preference into a definition that a computer, or a future version of you, can score a trade against without arguing.

E

EdgeFlow

Ask a trader to describe their setup and you usually get about four minutes of talking. Higher timeframe has to be in your favour. You want a sweep of the obvious liquidity. Ideally a clean break after it. You don't love it when the range is choppy, you're not touching it around news, and then you enter when it looks right.

That might be perfectly good trading. It is not a definition.

Here's the test, and it stings a bit. Could another person, using only what you wrote down, look at a chart and tell you whether that's a valid trade — and would you agree with their answer? If not, you don't have a setup. You have a preference with vocabulary attached.

Preferences can't be tested. That's the whole problem.

"A+" is a grade, not a rule

Most of us have a setup-quality field in the journal. A+, A, B, sometimes a C for the ones we're embarrassed about.

Filter to A+ only and the numbers look fantastic. Naturally. That grade often got assigned after the first candle went the right way, or on a Sunday review with the outcome sitting right there on the chart. A grade that quietly absorbs the result will always flatter you.

That's the real issue. Not that "A+" is imprecise. That it isn't falsifiable — there's no world in which the data comes back and says your A+ definition was mistaken, because the definition changes to fit whatever worked.

A rule you can be wrong about is worth more than a rule that always agrees with you.

Three tiers, and why two of them isn't enough

Split every condition in your setup into one of three buckets.

Required. Must be true or you don't take the trade. No exceptions, no "well, mostly". Binary, and checkable before you click.

Supporting. Improves your confidence, but doesn't gate anything. You count these rather than argue about them.

Avoid. If this is true, you skip the trade even when everything required is present.

Most checklists you'll find online have the first two. Very few have the third, and someone always points out that avoid is just a required condition with a NOT in front of it. Technically, sure. In practice it's a different mental act, and people write them completely differently.

Required conditions are things you go looking for. Avoid conditions are things you have to notice while you're already excited about a trade. Those are not the same skill, and lumping them together means the second one quietly disappears from the plan.

Required, supporting and avoid happen to be the three fields in an EdgeFlow trade plan. That wasn't a design flourish, it's just where you end up once you try to score old trades automatically and discover that "looked clean" isn't a field a computer can read.

Required: make it short, make it binary

Two rules for this tier.

First, every condition has to be observable before entry. If you can only check it once the candle closes, it's an outcome, not a condition. "Strong momentum into the level" is usually an outcome wearing a condition's clothes. Ask yourself: could I have written this down, honestly, at the second I clicked buy? If no, it doesn't belong in the plan at all.

Second, it has to be binary enough that two people reading it would tick the same box. Compare:

  • Weak: "HTF (higher timeframe) is bullish."
  • Better: "On the 4H, the most recent swing high has been broken and price has not made a lower low since."

I'm not claiming my version is the correct definition of bullish. I'm claiming it's a version, written at a level of detail where you and future-you will agree on the answer.

Now the part people skip. Every required condition costs you trades. If a condition happens to be true 60% of the time, and you stack three independent ones, you're at roughly 0.6 × 0.6 × 0.6 = 22% of your opportunities. Four hundred trades a year becomes about 86. That's not automatically bad, but you need to know you're paying it, because thin samples are how people convince themselves of things that aren't there.

Two to four required conditions is usually enough. If your required list has nine items, you don't have a strict setup, you have a setup you'll never measure.

Supporting: count them, don't debate them

Supporting conditions are the ones you can't quite justify as mandatory but keep noticing. Session. Volume behaviour. Whether the level was fresh. Whether the daily range had already been used up.

Don't weight them. Don't build a scoring formula with decimals in it. Just count how many were present and record the number, because a count is something you can group by later.

Imagine 220 logged trades on one setup, split by how many of five supporting conditions were present:

Supporting presentTradesAvg R per trade
0–162−0.06R
288+0.11R
347+0.26R
4–523+0.40R

(R is just the trade measured in units of what you risked. Risk $200, make $400, that's +2R. Average R per trade is your expectancy for that group.)

Multiply each row out and the whole set comes to +27.38R across 220 trades, so about +0.12R a trade. Keep that number, we're coming back to it.

That ladder looks beautiful. It's also exactly the shape that random noise hands you across four buckets often enough to be dangerous, and the top bucket is 23 trades, which is nothing. So treat it as a question, not an answer. Anything doing this analysis for you should say plainly that 23 trades is too thin to rank, instead of showing you the big number and going quiet. That's the kind of thing we built EdgeFlow to be blunt about.

The better question is whether it's the count doing the work or one condition carrying everything while the other four ride along. That's usually the case, and it's worth checking properly before you promote anything — figuring out which condition actually carries your edge tends to shrink a five-item list down to two that matter. The same goes for pairs: conditions interact, and testing condition combinations is a different exercise from testing them one at a time.

Avoid: the tier where the money is

Opinion, plainly: if I could keep only one of the three tiers, I'd keep avoid.

Here's why. Your required and supporting conditions describe trades you took and trades you'd like to take. Your avoid conditions describe trades you took and shouldn't have — and those trades are already sitting in your journal, with real outcomes attached. It's the only tier you can test immediately, tonight, with data you already have.

Back to the 220 trades. Say 41 of them were the third attempt at the same level in the same session.

  • Those 41 averaged −0.38R.
  • The other 179 averaged +0.24R.
  • Together: (179 × 0.24) + (41 × −0.38) = 42.96 − 15.58 = +27.38R over 220 trades, or about +0.12R each.

Same 220 trades as the table above, just cut a different way, so the totals have to agree — and they do. Worth doing that check on your own numbers, by the way. When two slices of one dataset disagree, one of them is wrong, and it's usually the flattering one.

Drop the third-attempt trades and the same strategy runs at +0.24R. That's double the expectancy, from writing one sentence and then not doing something.

Now the honest part, because 41 trades is not a lot. You found this by digging through data you'd already seen, which means it might be a pattern or might be four bad weeks. It becomes a real rule only when trades taken after you wrote it down keep agreeing, which is the whole point of forward validating a trading edge rather than trusting a backward-looking slice.

But look at what the avoid tier gave you that a preference never could. "I don't really like third touches" cannot be counted, cannot be wrong, and will lose an argument with a nice-looking chart at 3pm. "No third attempt at the same level in the same session" is either true or false at the moment you're about to enter, and you can count exactly what it cost or saved you.

Ones that survive contact with real data more often than you'd expect: entries inside a fixed window around a scheduled high-impact release, trades taken after your daily loss limit was already hit, and anything where the stop had to be widened from the plan to make the structure fit.

Write the whole thing out

Here's what a complete definition looks like. Yours will have different content, that's fine, the shape is the point.

Setup: pullback continuation after a 4H break of structure

Required

  1. 4H: last swing high broken, no lower low since.
  2. Price returns to a level marked before the session started.
  3. Entry-timeframe reversal candle closes at that level.

Supporting

  • London or New York open, first two hours
  • Level is untested since it formed
  • Prior day's range not already exceeded
  • Move away from the level began with an above-average range candle

Avoid

  • Third attempt at the same level in the same session
  • Scheduled high-impact release within 15 minutes either side
  • Opposing 4H level closer than 1.5R
  • Stop needs to be wider than the plan to fit the structure

That fits on an index card. You can score a trade against it in about eight seconds, and more importantly, so can someone who isn't you.

The stranger test

Take twenty old trades. Screenshots only, outcomes hidden. Hand your written plan to a trading friend and have them score each one: valid, invalid, or which avoid condition fired.

Then compare with your own scoring.

Wherever the two of you disagree, that condition isn't written yet. Not "needs a bit of nuance" — not written. Rewrite that line until the disagreement disappears, then move on. A few rounds of this and you'll have something a beginner could apply, which is the actual bar.

This works the same whether you trade order blocks, moving-average crossovers or pure price action. The tiers don't care about your vocabulary, which is why a strategy-agnostic edge framework is worth more than any specific checklist someone hands you.

Conditions should move between tiers, slowly

A supporting condition earns promotion to required when the data says trades without it are genuinely worse, on trades logged after you formed that idea. A required condition gets demoted when it turns out to be costing you sample without buying anything.

The tempting move is to reshuffle tiers every time you have a bad week. Don't. Set a review point, write down the date you changed something, and judge the change only on trades after that date. This is the boring, mechanical part of building an edge that separates it from redecorating.

And nobody can promise you that a well-written setup is a profitable one. A clear definition doesn't create an edge. It just makes it possible to find out whether you have one, which is more than most trade plans manage.

Common questions

How many required conditions should a setup have?

Usually two to four. Each one you add cuts your trade count, and past a certain point you're left with too few trades to evaluate anything. If your list runs long, most of those items are really supporting conditions.

What's the difference between an avoid condition and a filter?

None, structurally. The difference is that "filter" tends to get applied when you remember, while an avoid condition is written into the plan and logged when it fires — including on the trades where you ignored it. That log is the useful part.

Should I stop grading setups A+ / A / B?

You can keep the grade, but derive it from conditions recorded before entry rather than from feel. If your A+ trades are just the ones that worked, the grade is a summary of your results and tells you nothing new.

Can discretionary traders use this?

Yes. You're not removing judgement, you're moving it. Judgement decides where the level is and whether the candle counts. The tiers make sure the same judgement gets applied on Friday afternoon as on Tuesday morning.

If you want the scoring done for you rather than by hand on a Sunday, that's roughly what structured edge building is for — write the three tiers once, tag every trade against them, and let the numbers tell you which line to move.

Continue reading

Related articles