A crypto momentum trading strategy with a liquidity floor. Same logic patterns as equities,
different safety defaults — because crypto has no closing bell to end a bad trade for you.
1. The rule
# BUY
if ChangeAngle(60) > 20 and Strength > 115:
if DayAmount > 20000000:
Buy()# SELL — the hold cap is not optional when you are asleep
if ProfitPct >= 2.0 or ProfitPct <= -1.5:
Sell()
elif HoldTime >= 3600:
Sell()
2. Why an angle and not a percentage
ChangeAngle(n) is the slope of the change rate over the last n seconds, expressed in degrees. It
asks *how steeply* price is moving, not how far it has moved.
The consequence catches people out: because it is an angle, the move it demands scales with the
window.
Window
What > 20 degrees actually asks for
60 seconds
roughly a 7 point rise in the change rate
600 seconds
roughly a 69 point rise
Widen the window and you must lower the angle, or the condition quietly stops being reachable and
the strategy takes no trades at all. That is a silent failure — no error, no trades, and nothing in
the report to tell you why.
3. Why the liquidity floor
DayAmount > 20000000 is the line that keeps this out of the thin end of the market. Crypto
venues list a long tail of pairs where the quoted spread is enormous: across five venues we
measured median spreads from 3.0 to 8.1 basis points, but the worst single symbol quoted at 1250
basis points — 12.5% one way
(the real cost of crypto trading).
A momentum condition cannot tell those apart. The turnover floor can.
4. What the round trip asks of it
Crypto momentum with a liquidity floor: the exit block drawn to scale, and the break-even win rate before and after measured trading costs
This is the pleasant surprise of trading liquid crypto. The measured round trip on a mid-tier venue
is around 0.10%, so a 2.0% target against a 1.5% stop moves from a 43% break-even to 46% — three
points, not the thirty-plus that the same structure costs on US small caps.
Cheap execution is the actual edge here, and the liquidity floor is what buys it. Lower that
threshold and the three points become thirty very quickly.
Originally published by TraderWe on May 23, 2026. You may quote and link to this page. Republishing the full text without a link back to the original is not permitted.
Love that you spelled out the angle/window scaling thing, that tripped me up for weeks when I first started messing with these. I widened a window to smooth out noise and then sat there wondering why nothing ever fired. Do you keep the 3600 cap the same across coins or shorten it for the thinner ones?
Wait so DayAmount 20M is the liquidity floor part right? Is that in dollars or coins? I keep assuming dollars but I've been wrong about that kind of thing before lol
On Mike's point, I'd separate the two exits mentally. The 3600 isn't a thesis timer, it's a "nobody is watching" backstop. If you want a thesis timer, add a shorter one like 900 that only fires when ProfitPct is still flat, and leave the hour cap underneath it as the hard floor. Two different jobs, two different lines.
The asymmetric bracket is interesting. 2.0 up against 1.5 down means you need roughly a 43% hit rate before fees to break even, and crypto spread eats into that more than equities do. Have you looked at what share of your exits land on the time cap versus the target? If the time exits cluster around slightly positive, the cap is doing fine; if they cluster negative you're just paying to sit.
Learned the liquidity floor lesson the expensive way back when I traded thin names. Getting in is never the problem. Getting out at anything resembling the price on your screen, that's the problem, and it only shows up on the day you need it. Stay humble.
Everyone's fussing over the exit and nobody's asked why 115 on Strength. Bet it's because 110 was too noisy and 120 never fired, which is a perfectly honest reason, just say so.