Chart Alerts
Chart alerts watch the market for you. Set one on a price level or on an indicator condition, and Crodl's servers evaluate it around the clock — the alert fires whether or not your browser is open.
Alerts are notifications, not orders. They tell you something happened; they never place a trade. If you want a signal to execute automatically, use Triggers instead.
Creating an Alert
There are four ways into the alert dialog, all from the Terminal (/main):
| Entry point | What it does |
|---|---|
| Right-click the chart → Add alert at $… | Starts a price alert prefilled with the price under your cursor |
| Right-click a drawing → Create alert at price | Uses the drawing's price anchor — horizontal lines, trendline endpoints, rectangle midpoints |
| Legend chip bell | On an indicator that declares alert conditions, the bell creates an alert on that indicator, preselecting its first condition |
| Indicator settings → Create Alert | Same as the bell, from the study's settings card |
The bell only appears on indicators that actually declare alert conditions. A study with nothing alertable shows no bell — that is expected, not a bug.
Condition Types
Price
Watch a single price level with one of four operators:
| Operator | Fires when |
|---|---|
| Above | Price is above your level |
| Below | Price is below your level |
| Crosses Above | Price moves from at-or-below your level to above it |
| Crosses Below | Price moves from at-or-above your level to below it |
Above/Below are state checks — they are true for as long as price stays on that side. Crosses are edge checks: they fire on the transition only. If you want one notification when a level breaks, use a cross.
Indicator
Watch a condition declared by an indicator — a built-in, a Rune preset, or one of your saved scripts. The dialog lists only the conditions that indicator actually declares, and the alert stores a snapshot of the indicator's inputs, so later edits to the study on your chart do not silently change what the alert watches.
Settings
| Field | Notes |
|---|---|
| Title | Name shown in the alert list and in the notification |
| Message | Body text. Supports the tokens {{symbol}}, {{exchange}}, {{price}}, {{condition}}, {{bar}}, {{time}}. Max 2048 characters |
| Fire once then disable | Pauses the alert after its first trigger instead of leaving it armed |
| On bar close only | Only fires if the condition is still true when the candle closes |
| Webhook URL | Optional. Crodl POSTs to this URL when the alert fires |
On bar close
Without it, an alert fires the moment the condition becomes true mid-candle — which can un-happen before that candle closes. With it, Crodl waits for the close and only fires if the condition still holds.
Some indicator alerts force bar-close evaluation and grey the setting out. Anything whose value is only meaningful on a completed candle — Latch Trend, Pivot Levels Strategy, CVD — is evaluated on closed bars by definition.
Where Alerts Show Up
On the chart
Price alerts render as a dashed horizontal line with a price pill, using the same pipeline as your stop-loss and last-price markers. Paused alerts render muted.
Two things to know:
- Indicator alerts do not draw a line — they have no single price level. They still appear in the alert list.
- Price alert lines are symbol-scoped, not timeframe-scoped. An alert you set on the 1h chart still shows on the 5m, matching how TradingView treats price alerts.
The alerts panel
The side panel lists every alert with a status pill and filter pills — All, Active, Paused, Needs attention, Disabled — plus a searchable history of past fires.
| Status | Meaning |
|---|---|
| Active | Armed and evaluable |
| Paused | Turned off by you, or auto-paused by Fire once |
| Needs re-arm | The built-in indicator changed since you saved the alert. Review it, then re-arm to use the current version |
| Can't fire | The server cannot evaluate this alert — it references an unsaved draft or a removed indicator. Recreate it from the chart |
| Disabled | Soft-deleted or administratively disabled |
Can't fire is the one to act on. The alert exists in your list but will never trigger. It usually means the alert was created against a script that was never saved, or against an indicator that has since been deleted.
Delivery
When an alert fires, Crodl fans it out to every channel you have available:
| Channel | Notes |
|---|---|
| In-app | The notification bell in the header, with an unread count |
| Browser notification | Native OS notification, so a fire registers outside the tab. Requires granting notification permission |
| Sound | An audible chime when sound is enabled |
| Discord / Telegram DM | If connected in Settings → Notifications |
| Webhook | POSTed to the URL on the alert, if you set one |
DM throttling
DMs — and only DMs — are rate-limited per alert. The default cooldown is one bar of the alert's timeframe, with a 60-second floor, so a 1-minute alert that legitimately fires every candle cannot flood your Discord.
Every other channel sees every fire: the in-app bell, the live stream, and your webhook are never throttled.
DM delivery has two independent switches in Settings → Notifications: the per-channel Enable notifications master toggle, and a separate Alert DMs toggle for chart alerts specifically. Turning off Alert DMs stops the direct messages without affecting in-app notifications.
Why an Alert Might Be Rejected
Crodl validates at creation time rather than accepting an alert that could never work. The dialog shows the server's reason verbatim. The common ones:
- "Save this script first" — alerts cannot reference an unsaved draft. Save the Rune script, then create the alert against the saved version
- The selected condition is not declared by this indicator — the condition list moved on; reopen the dialog to see current conditions
- Indicator is missing, inaccessible, or invalid — the referenced script was deleted or is not shared with you
- Invalid price value / operator — a malformed price alert
An alert created on a higher-timeframe indicator must use a timeframe strictly below that indicator's calculation timeframe. Equal timeframes are allowed; a chart timeframe above it is not.
Alerts vs. Triggers
| Chart Alerts | Triggers | |
|---|---|---|
| What happens on fire | You get notified | A trade is placed |
| Runs when the browser is closed | Yes | Yes |
| Needs an exchange API key | No | Yes |
| Set from | The chart | The Automations page or a webhook |
| Risk if misconfigured | A missed or noisy notification | A real position |
Many traders use both: an alert to bring them to the chart, and a trigger for the setups they are willing to automate.