Stock Signal Tools Compared: Charting Alerts vs Broker Conditional Orders vs a Spreadsheet vs a Rules Engine
To decide what to buy and sell each day, retail investors use four kinds of tools: price alerts in a charting app, conditional orders at the broker, a self-kept spreadsheet journal, and a rules engine that scans the whole watchlist against rules you wrote. They answer four different questions: "did this stock hit my level", "fill me when it does", "what have I done", and "do my rules actually work". Pick based on which answer you are missing, not on which tool has the most features.
Key takeaways
- Charting-app alerts are one symbol, one price or indicator triggers, the right tool for visual analysis and intraday moves; they do not record what you did next, let alone how it turned out.
- Broker conditional orders win on execution certainty: the order fills when the price is hit whether or not you are watching. They only understand price, not "breakout on heavy volume", and never record why the order existed.
- A spreadsheet is the most flexible and costs nothing. The price is manual upkeep, and it records only the trades you took, never the signals you skipped, so it cannot evaluate a rule.
- A rules engine scans your whole watchlist against your buy/add/trim/exit rules, logs every signal, scores it later, and separates rule-based trades from discretionary ones. The cost: you have to write the rules first.
- If you hold a handful of stocks and do not intend to test a rule, the first three are enough. A rules engine answers "is my method repeatable", not "what should I buy today".
What each tool is actually answering
Charting-app alerts (TradingView and similar chart-first apps). You set a line on one stock: price crosses 50, RSI drops below 30, a moving-average cross. When it is met you get one push notification. The core value is visual analysis and intraday reaction: the chart is live, and drawing, multi-timeframe and indicator overlays are unmatched.
Broker conditional orders (the stop, take-profit and buy-stop orders in your broker's app). You tell the broker "buy 200 shares at 50.10" or "sell at 47.50". The core value is execution: when the condition is met the trade actually happens, whether or not you were watching or could bring yourself to click. None of the other three can do this.
A spreadsheet journal. One trade per row: date, ticker, entry, reason, stop, outcome. The core value is flexibility at zero cost: add any column, compute any statistic.
A rules engine (the category Stock Compass belongs to). You write buy, add, trim and exit conditions as rules; every trading day it scans your whole watchlist and holdings, lists what triggered, logs each signal and scores it afterwards. The core value is scale and attribution: one rule watches 60 stocks at once, and later you can ask how the rule has actually performed.
The differences in one table
| Dimension | Charting-app alerts | Broker conditional orders | Spreadsheet journal | Rules engine |
|---|---|---|---|---|
| Scope | Set per symbol | Set per symbol, per order | Whatever you type in | Whole watchlist in one scan |
| What triggers | One price or indicator | Price (some support simple indicators) | Nothing; recorded after the fact | Multi-condition AND/OR groups |
| Records the signal | Push only, no log | Logs fills only | Manual, and only trades you took | Automatic, including signals you skipped |
| Scores outcomes | No | Realised P&L on filled orders only | By hand | Automatic (e.g. T+1/T+5/T+10) |
| Rules vs discretion | No | No | Only if you add a column and fill it honestly | Each trade tagged by source |
| Maintenance | Set and clear alert by alert | Set per order, re-enter on expiry | Daily manual entry | Mostly automatic once rules are written |
| Typical failure | Stocks with no alert stay invisible; alerts fire and are forgotten | Price gaps through the trigger; the condition is too simple | You stop updating; you log wins and forget losses | Poor rules give poor signals; daily bars only, not for intraday |
Each category's strength deserves stating plainly. For charts and intraday, a charting app is best. For guaranteed execution, only your broker can do it. For total freedom at no cost, a spreadsheet is best. A rules engine wins on exactly one dimension: running the same rules across many stocks and finding out whether they hold up.
The same scenario through four tools
Say a stock on your watchlist has a 20-day high of 50.00. On day 0 it breaks out on volume, closing at 51.20 with volume at 2.4 times its 20-day average. Day 1 closes at 51.50. Day 2 drops hard to 48.10, 6.1% below the breakout close. How do the four tools live through those two days?
Charting-app alert. You had an alert for "crosses above 50". It fires once at 10:40 on day 0. You look at the chart, like the shape, and buy at 51.00. On day 2 you open the app and see a red candle. The app has no record of why you bought, whether you checked volume, or how many other names were breaking out that day. The alert fired; its job is over. And the 40 other stocks on your list with no alert set? You never knew.
Broker conditional order. You had a buy-stop for 200 shares at 50.10. It fills at 50.15 at 10:38 on day 0. At the day 2 close you are down about 4.1%; a stop at 47.50, if you placed one, has not triggered yet. The statement records fill price, quantity and fee precisely. That is real execution. But the order knew nothing about the 2.4x volume; had the stock crept above 50 on thin volume, it would have filled just the same. It executed your price, not your logic.
Spreadsheet. On the evening of day 0 you write one row: entry 51.20, reason "20-day breakout, vol 2.4x", stop 48.13, target 56. On day 2, if you remember, you fill in the close of 48.10 and -6.1%. That row is valuable, provided you write it every time. But it is one row. The two other stocks that broke out the same day and that you did not buy are not in the sheet, so you can never compute the success rate of "20-day breakout" as a condition.
Rules engine. After the day 0 close, the rule "20-day breakout AND volume above 1.5x the 20-day average AND ADX above 20" scans all 60 names; three trigger, this one among them. It logs the signal date, the close of 51.20, the rule name and each condition's value. T+1 scores +0.6%. At the day 2 close the exit rule "floating loss above 5%" fires and the stock lands on your exit list; if it is still near 48 at T+5, the signal scores negative. All of this is logged whether or not you bought. Three months later you can see that this rule fired 27 times, its median T+10 return, and how that compares with the nine trades you took on gut feel.
All four tools "saw" the breakout and the drop. The difference is what each leaves you with two days later: a spent alert, a fill record, a hand-written row, or a scored signal you can line up against dozens like it.
When you do not need a rules engine
- You hold three to five stocks for the long term. A broker stop order and a simple spreadsheet are enough.
- You trade intraday or on minute bars. A rules engine works on daily bars, and Stock Compass intraday quotes are delayed 15–20 minutes; a charting app's live alerts are the right tool.
- You do not yet have a rule you can write as a condition. "Buy when it looks strong" cannot be written down, so an engine has nothing to scan. Keep a trading journal for 20 trades first, find the logic you actually use, then turn it into a rule.
- You already have a spreadsheet you like and really do update it daily and tally it monthly. You are doing by hand what the engine does, only slower.
Once your watchlist passes 30 names, your rule has more than two conditions, and you want to know whether it has historically worked, the manual approach's maintenance cost quickly outgrows its flexibility.
How to set this up in Stock Compass
Stock Compass is a web app. Daily bars for HK, US and China A-shares come from Yahoo Finance and Tencent; it does not connect to brokers or place orders. The rule from the example looks roughly like this as a strategy:
{
"name": "Volume breakout + stop",
"market": "us",
"rules": {
"buy": { "v": 2, "outerOp": "OR", "groups": [
{ "innerOp": "AND", "conditions": [
{ "indicator": "is_20d_breakout", "operator": "==", "value": 1 },
{ "indicator": "vol_vs_avg20d", "operator": ">", "value": 1.5 },
{ "indicator": "adx_14", "operator": ">", "value": 20 }
] }
] },
"add": { "v": 2, "outerOp": "OR", "groups": [] },
"trim": { "v": 2, "outerOp": "OR", "groups": [] },
"exit": { "v": 2, "outerOp": "OR", "groups": [
{ "innerOp": "AND", "conditions": [
{ "indicator": "floating_loss_pct", "operator": ">", "value": 5 }
] }
] }
}
}
Once saved, it scans your watchlist and holdings after each close, putting buy triggers on your daily signal list and exit triggers on the exit list. Every signal is logged and scored at T+1, T+5 and T+10, gross of trading costs. Each journal trade can be tagged rule-based or discretionary for separate review. See the glossary for volume vs 20-day average and ADX. The free tier covers signals and the journal; backtesting, a 500-ticker watchlist and email alerts are in Pro.
Common mistakes
- Using a broker conditional order as a rule. Orders understand price only. The "volume" in "breakout on volume" is invisible to them, and a thin-volume false breakout fills just the same.
- Crediting a charting alert with memory it does not have. Once fired, an alert is done; it does not know whether you bought or what happened. Three months on, you remember only the ones that worked.
- Logging only the trades you took. Skipped signals are not in the sheet, so the "win rate" you compute is the win rate of the signals you chose, which measures your picking, not the rule.
- Expecting a rules engine to alert you intraday. It works on daily bars and suits post-close review and pre-open planning. Leave intraday to the charting app.
- Writing a one-condition rule and then complaining about the noise. A single condition across 60 stocks can trigger a dozen names a day. Use at least two conditions, then check the backtest.
Summary
None of the four replaces the others. The charting app is for looking, the broker is for filling, the spreadsheet is for anything you care to write down, and the rules engine runs one rule set across your whole watchlist and tells you its track record. What most people lack is not more alerts but a record that, two days later, can still answer "was that the rule working, or was I lucky". Work out which answer you are missing, then choose the tool.
FAQ
Can a rules engine replace my broker's stop-loss order?
No. A rules engine puts a stock on your exit list after the close; it cannot sell anything. A broker stop order fills during the session without you. They work together: the engine watches the whole list against multi-condition rules and scores the outcomes, and the broker order handles the hard stop on positions you actually hold.
Is a spreadsheet journal enough if I am disciplined?
For a small watchlist and a rule you are not trying to test, yes. It stops being enough when you want to know how a condition performs across every stock it fired on, because a spreadsheet only contains the trades you chose to take. You would have to log skipped signals too, and compute forward returns by hand for each one.
Why do charting-app alerts not count as signal tracking?
An alert fires once and is done. It does not record whether you acted, what price you paid, or what the stock did afterwards, and there is nothing to aggregate across alerts. It tells you a level was hit; tracking means keeping the outcome so you can compare dozens of similar events later.
Does Stock Compass replace TradingView or my broker?
No. It has no live charts, works on daily bars with intraday quotes delayed 15 to 20 minutes, and does not connect to brokers or place orders. Use a charting app to look, your broker to fill, and Stock Compass to scan your watchlist against your own rules and keep score of how those rules perform.
What does scored at T+1, T+5 and T+10 mean?
It is the change from the close on the signal day to the close 1, 5 and 10 trading days later, before fees and slippage. It is not the P&L of a trade you took; it is a health check on the rule itself, computed for every signal whether or not you acted on it.