I used to take every signal my system gave me. Long, short, long again. Some weeks it felt like the market was personally testing me.

Then I added one line of code. If price is above a rising 50-period EMA, longs only. Below a falling one, shorts only. Anything else, no trade. That's the whole rule.

It didn't make the system smarter. It made it quieter. And quiet turned out to matter more than smart.

What the filter actually does

An EMA, or exponential moving average, is just an average of recent prices that weighs the latest candles more. Price above it and the average pointing up means buyers have been in control for a while. That's all it says. It doesn't predict anything.

But look at what it removes. Counter-trend entries. The long you took because price looked cheap, in the middle of a cascade. The short you took at the bottom of a bounce. These are the trades that feel smart when you place them and obvious in hindsight.

Does it remove half of the bad ones? I can't promise a number, and your results will differ by market and timeframe. Anything claiming a precise figure is selling something. What I can say is that in my own logs, the biggest single losses clustered in trades fighting the trend. Check yours. You might find the same thing.

The idea isn't new

Trend filters are old. Meb Faber's 2007 paper on tactical asset allocation used a simple 10-month moving average to decide whether to hold an asset at all, and the main thing it did was cut the deep drawdowns. Not boost returns. Cut the pain.

That's the right way to think about it. A filter is a drawdown tool first. You're not trying to catch more. You're trying to skip the stuff that hurts the most.

Crypto makes the point sharper. In 2022, BTC fell roughly 77% from its 2021 peak. A long-only dip buyer got a fresh "bargain" signal on the way down about every week. A trend filter would've said no to nearly all of them.

Why most people won't keep it

Here's the thing. A filter makes you miss stuff. The first sharp reversal off a bottom will happen while price is still under the average, and you'll watch it go without you. It will annoy you.

Most traders respond by tweaking. Try a 30. Try a 20. Then a 100 because last year it fit better. Every tweak feels like improvement, but it's curve-fitting with extra steps. You're choosing the number that flatters the past.

The other failure is quieter. People add the filter, then override it "just this once" when a setup looks too good. The override is the exact trade the filter was built to block.

One more thing it does. It shrinks your decision list. On a bad day you don't have to wonder whether this is the setup that finally works. The filter already answered, and the answer came from a rule you wrote when you were calm.

What to do with it

Pick one length before you look at results. 50 is fine. 100 is fine. The number matters less than leaving it alone. Then run your last 200 trades through it and sort them: with the trend, against it. Look at the average loss in each pile.

If the against-trend pile is clearly worse, you have your answer, in your own data, which is the only data you'll actually believe.

I think the filter works mostly because it's boring and it can't be argued with. If you'd rather not be the one enforcing it, that's what automation is for. We publish the full rules and backtest data for our bots at v33systematic.com.