Turn Your Stock-Picking Logic into Buy Rules: Moving Averages, ADX, Breakouts
"I'll enter once it holds the moving average," "buy the breakout to new highs" — these instincts can all be translated into executable, backtestable rules. The trick is turning fuzzy intuition into conditions a machine can judge.
The three most-used technical conditions
- Moving averages (trend): MA20 crossing above MA50 (a golden cross) signals mid-term strength; price above MA20 signals short-term bullishness. Good for trend-following.
- ADX (trend strength): ADX > 25 means a real, tradeable trend; ADX < 20 is usually chop where breakouts fail. Use it as a filter on trend strategies.
- Breakout / relative high: price near or breaking a 20-day high often marks momentum kicking in. Quantify with "distance from 20-day high > -3%."
Translate intuition into conditions
| What you mean | As a rule |
|---|---|
| "trend strong enough" | ADX > 25 |
| "momentum but not chasing" | dist from 20d high in [-6%, 0%] |
| "above the average" | close > MA20 AND MA20 > MA50 |
| "no catching falling knives" | MA50 sloping up |
Combine them with AND / OR and you have a complete buy rule. Buy, add, trim, and exit can each be their own block.
Backtest first, then go live
Don't rush a fresh rule into use — backtest it on your watchlist first. Stock Compass's visual builder lets you assemble these conditions and backtest them without writing code.
Summary
Good strategy isn't mysticism — it's your trading intuition broken into decidable conditions. If you can write it clearly, you can backtest it; if you can backtest it, you know whether it's worth executing.
FAQ
Moving averages, ADX, or breakouts — which should I use?
They solve different problems: MAs judge direction, ADX judges trend strength, breakouts judge momentum onset. Trend strategies often combine all three — e.g. MA20>MA50 AND ADX>25 AND near the 20-day high.
Are more indicators better?
No. More conditions overfit more easily and produce fewer signals. Start with 2–3 core conditions; only add filters after a backtest passes.