TraderChartAlerts

Describing a setup precisely enough that a computer can find it

16 October 2026

I trade a momentum setup I call a grinding staircase.

Price steps up in small increments over hours, each step making a higher high and a higher low, and no single vertical candle doing the work. It's the opposite of a spike. Slow, orderly, and quite boring to watch.

For a long time that description was all I had. It was enough for me to spot one on a chart in about two seconds, and completely useless when trying to create a bot.

Closing that gap was a lot of work.

Why the description isn't enough

Because it actually hides fairly complicated ideas based around very subtle nuances that need to be converted into a sensible calculation that represents what you want to see.

Example: How small is a small increment. How many hours is hours. How straight is straight. How much volume is real volume rather than two people trading with each other.

I knew all of it by eye. I'd never written any of it down.

So I went through my own description one phrase at a time and put a number on each bit.

Six of them survived.

1. How straight the trend has to be

I use a 100 period exponential moving average, which is just an average of the last 100 closing prices weighted towards the recent ones. On a one minute chart that's a rolling hour and a half.

In a clean grind that line looks almost ruled. In a messy one it wanders about.

So I fit a straight line to it over the last 120 minutes and ask how closely the two agree. That gives me a number between 0 and 1. I want 0.90.

That throws out anything drifting the right way but changing its mind as it goes.

2. How steeply it has to climb

Straight isn't the same as going anywhere. A flat line is perfectly straight.

So over those same 120 minutes the average has to have climbed at least 0.15 per cent.

That throws out the dead sideways drift that passes the first test and isn't a trend at all.

3. How far the candles can sit from the line

This is a slightly different question to the one above. The first asks whether the trend is straight. This one asks whether the price stays near it.

A trend can be straight on average while the candles fly around all over the place, and I would prefer them to be orderly.

So I fit a channel to the last 120 candles, two standard deviations wide, and the price has to sit inside it. Slightly looser agreement here, 0.80 rather than 0.90, and no more than a quarter of the candles are allowed outside.

That throws out the move heading the right way in lurches.

4. How many candles can break the pattern

My description says every step makes a higher high and a higher low. In reality nothing does that every single minute for hours.

So I count, over the last 60 one minute candles, how many make neither a higher high nor a higher low. Those are the ones doing nothing or going backwards. I allow up to 30.

5. Volume and what does it look like

Two tests here, not one, because they catch different things.

The last five minutes has to average at least 100,000 dollars of turnover a minute, and the last hour at least 75,000 a minute.

The first says something is happening now. The second says it's been happening for a while.

I use dollar turnover rather than contract volume so coins at wildly different prices are comparable.

6. Tick count - How many separate trades have gone through

A big dollar figure can be one participant pushing a market with nobody on the other side.

So the last five minutes also needs at least 5,000 “ticks” to show market participation.

What I left out

Three things I thought I'd need and didn't.

Volume trend. The scanner works out whether volume is rising, flat or declining and puts it on the alert. It doesn't use it to accept or reject anything. I want to see it.

Duration. My own rule of thumb says a regime wants at least two hours behind it and four is better. There's no duration test in the code at all. The windows are fixed at 60 and 120 minutes and that's it.

Retracement depth. Nothing about how deep a pullback is allowed to be. I was sure there'd have to be something. There isn't.

What it doesn't do

It doesn't score the setup. I grade setups myself against a set of variables I keep by hand and none of that is in the scanner. Its job is narrower than mine. Find the ones worth me looking at.

It doesn't decide anything about risk, size, or whether to take the trade.

That split is deliberate. The genuinely mechanical part of what I do is the bit that says this is the right shape. Everything after that is still me.

What it actually bought

Before, I found these by looking, which meant I found the ones I happened to be looking at.

Now the scanner watches several hundred markets all day and tells me when one fits all six. I look at a short list instead of having to watch scanners and then go and chart them.

The setup didn't get any better. My coverage did.

There's also a side effect I didn't expect, and it's turned out to matter more than the alerts. I've got a written definition now. When I want to test whether this thing actually works there's something concrete to test, and when it stops working I should be able to tell which of the six numbers has drifted rather than wondering whether I've lost my touch.

What it won't tell me is which of them to take. Six tests say this is the right shape. They say nothing about whether this particular one, on this coin, at this hour, in this market, is worth the risk.

The scanner that runs these six tests posts its alerts in Discord

Alongside scanners for ranges, SFP setups, inside patterns and spikes, with chart context on every alert.

Join Discord and Track Live Alerts

This piece also went out as an article on X.