A spreadsheet
Charting in a spreadsheet
A spreadsheet is the most flexible analysis tool most people already own. It is also the one that goes stale the moment you close it.
What a spreadsheet is genuinely good at
Nothing beats a spreadsheet for a calculation nobody has thought of yet. The formula is right there, every intermediate value is visible, and you can bend it into a shape no product ships. For a one-off study over a few hundred rows, that is the right tool and this page will not pretend otherwise.
What is different here
The difference is what happens after the study. A spreadsheet has no feed, so the numbers are as fresh as the last time somebody pasted them; it has no bar-close semantics, so a rule evaluated mid-row is evaluated against a bar that is still forming; and it cannot watch a level while the file is closed. Here the candles arrive continuously into a store we own, indicators are computed by one implementation, and the same implementation is what a background worker runs when it decides whether your alert fires.
When you should stay exactly where you are
If your analysis is a monthly review over data you download by hand, a spreadsheet is less work than any product, including this one.
One structural difference, and everything else follows from it
A spreadsheet computes a column from a range. A live chart advances a state as bars arrive. That is not a performance detail — it decides what each of them can do at all.
In a sheet, the indicator in row 500 is a formula reading a window of rows above it. Add a row and every dependent cell is dirty, so the model recalculates. It is a beautiful arrangement: every intermediate value is visible, the whole calculation is inspectable, and you can bend it into a shape no product ships.
It also means the model only exists while somebody is looking at it, and the cost of one more bar grows with how much history is in the file. An engine built the other way round — each indicator holding its own state, each new bar producing the next state and one value — does constant work per bar and, more importantly, can be handed a bar by something other than a person opening a file.
What that changes in practice
| Capability | In a spreadsheet | Here |
|---|---|---|
| Freshness | The numbers are as fresh as the last time somebody pasted or refreshed them. | Candles arrive continuously into a store we keep, and the forming bar is streamed to the browser as it changes. |
| Bar-close semantics | A rule evaluated mid-row is evaluated against a bar that is still forming, and nothing in the sheet distinguishes the two. | A condition states whether it means the moment it is true or the moment the bar closes, and the two are different rules with different behaviour. |
| Watching while closed | Nothing happens while the file is shut. There is no version of a spreadsheet that emails you at 3am. | A worker evaluates alerts whether or not a browser is open, and delivers in-app, by email, or to a webhook on Pro and above. |
| Custom intervals | Re-bucketing a series into 45-minute bars is a new set of formulas each time, and the boundaries are easy to get subtly wrong. | Any interval that folds cleanly is a database aggregate at read time — the 13 on the menu, and anything else you type. |
| One implementation | The version in the sheet and the version in your head are two implementations, and only one of them is written down. | The chart and the alert evaluator import the same indicator module, so an alert cannot fire on a number the chart never printed. |
Where a spreadsheet still wins outright
Three of these are not gaps we intend to close, because closing them would mean becoming a spreadsheet.
A calculation nobody has thought of yet. A registry of studies covers the studies in it. A blank cell covers everything. For an idea you are still forming, the sheet is the right tool and it is not close.
Showing your working. Every intermediate value in a sheet is on screen and addressable. An indicator engine gives you an output and a documented convention, which is a different and less generous kind of transparency.
Data that is not market data. Positions, costs, tax lots, a research log — none of that belongs in a charting product, and a sheet handles all of it happily beside the prices.
You do not have to choose
The honest end of this comparison is that these two tools are complementary far more often than they are rivals.
Charts here are backed by a candle store we keep ourselves, and the Pro plan and above can export the candles behind any chart as CSV — exactly the bars that were drawn, at the interval you were looking at, ready to paste. The Free plan does not include export, which is the honest line between the tiers: anything that leaves our building costs us per use.
So the arrangement that tends to work is the chart for watching, alerting and drawing, and the sheet for the study you are inventing — with a CSV in between rather than a copy-paste from a screen. History depth on the export is the plan’s history depth: 5,000 bars on Free, 20,000 on Pro. The full table is on the pricing page.
The other two comparisons
Three categories, and no product names anywhere on this site. A page comparing us to a named competitor is a page that becomes wrong the next time they ship, with their trademark on it.
Every number on the pricing page is read from the same table the server enforces.