Why TradingView Alerts Do Not Match Your Chart

If a TradingView alert disagrees with your chart after a settings change, first check when the alert was created. A script alert runs from a saved copy of the script, inputs, symbol, and timeframe. Changing the chart does not update that existing copy. To apply the new configuration, TradingView says to delete the old alert and create a new one. TradingView alerts FAQ
If the configuration already matches, investigate what the alert represents and when its condition was evaluated. A signal during an unfinished candle, a simulated strategy fill, and a broker execution can have different timestamps and prices.
Work through one specific incident before changing more settings. The goal is to find the first point where the records disagree.
Identify the event you are comparing
The word “signal” often hides several separate events:
Chart signal: A shape, label, or plotted value displayed by a script. Ask the author what it means and whether it can change before the candle closes.
Script condition alert: A notification generated by alert logic. In Pine, indicators can expose named conditions through alertcondition(), while indicators and strategies can use alert() calls.
Strategy order fill alert: A notification that TradingView’s broker emulator filled a simulated order. This describes the strategy simulation. Pine alert types
Webhook delivery: TradingView sends the alert message to an external URL. Its delivery status is a separate checkpoint. TradingView webhook guide
Broker execution: The broker records what happened to an actual submitted order. Check its order history for acceptance, rejection, cancellation, partial fills, and fills.
Use the broker’s records to establish your live position. A chart arrow or an alert message alone cannot establish that a particular brokerage order filled.
Step 1 Save the evidence before refreshing
Record the alert name, exact message, trigger time, and time zone. Take a screenshot showing the symbol, timeframe, relevant candle, and script settings. If you use an external receiver, save its corresponding event and order IDs too.
Do this before refreshing the chart or experimenting with inputs. Recalculating the chart can change the evidence you are trying to explain.
Describe the discrepancy precisely. “Alert fired at 10:02 while the five-minute candle was open, but no marker remained at 10:05” is useful. “The strategy is broken” leaves too many possibilities open.
If the setup can route real orders, avoid sending test messages into its live endpoint. Follow your broker and execution provider’s procedures for controlling new entries while keeping any existing position protected.
Step 2 Compare the saved configuration
Put the alert’s configuration beside the chart configuration. Check:
Script name and version
Input values, including direction and session filters
Exact exchange-qualified symbol and futures contract month
Timeframe and chart type
Relevant strategy calculation and order-processing settings
For futures, explicitly check whether you are viewing a continuous series or a dated contract. Write down the complete symbols instead of assuming two charts labeled “ES” represent the same setup.
Build a simple timeline: alert created, input edited, script updated, timeframe changed, discrepancy observed. If the alert predates a relevant change, replace it from the intended configuration. Renaming the alert or refreshing the chart is not the documented way to update its saved script. TradingView alerts FAQ
After replacement, check for other active alerts using the previous setup. Otherwise, an old configuration may keep producing messages alongside the new one.
Step 3 Check the selected alert condition
For strategy alerts, TradingView offers order fills, alert() function calls, or both. Selecting both means that two different event types can trigger the same alert. Also, the message and frequency for alert() calls are controlled by the script. Technical alert configuration
Compare like with like. If a plotted marker identifies the moment a strategy creates an order, compare it with an order-creation event. If your alert reports a fill, compare it with the simulated fill in the strategy’s trade list.
Do not switch to “both” simply because one expected message is missing. First establish which event the script author intends you to use. For an AORDS strategy or any other script, consult the instructions for that exact version rather than copying another script’s alert configuration.
Step 4 Establish whether the candle was confirmed
An open candle’s values change as updates arrive. Indicators generally recalculate on those updates; strategies calculate at bar close by default, although settings can enable additional executions. Pine’s execution model also explains how temporary intrabar states are rolled back between calculations. Pine execution model
An intrabar condition can therefore be true when an alert fires and false when the candle closes. The later chart can legitimately show a different result.
“Once per bar” and “once per bar close” are different timing rules. For alert() calls, bar-close frequency requires the call to execute on the closing update. Selecting a frequency cannot create a condition the script never evaluates. Pine alert frequencies
Waiting for confirmation can reduce discrepancies caused by the current candle changing. It also delays the decision and may remove signals that existed only briefly.
Confirmation of the chart candle does not solve every repainting issue. A script can still use an unfinished higher-timeframe value, plot information into earlier bars, or encounter revised historical data. Ask whether all inputs to the signal are confirmed, particularly higher-timeframe filters. TradingView repainting guide
Step 5 Check the strategy fill model
Under default strategy behavior, an order created at a bar’s close can first fill on the next available tick, typically the next bar’s open. A signal marker and a fill alert may therefore belong to adjacent candles. Order-processing settings can change this behavior. TradingView strategy order timing
Look for tick-by-tick calculation, recalculation after fills, and trailing-order logic. TradingView identifies these as potential causes of differences between realtime strategy alerts and later historical chart results. Historical reconstruction does not necessarily reproduce the realtime intrabar sequence. TradingView strategy mismatch guidance
Do not change calculation settings just to make one historical arrow line up. That changes the strategy you are testing. Record the original setup and investigate the timing first.
Step 6 Follow delivery through to the broker
If the event appears in TradingView’s alert log, move downstream. Check webhook status, then the receiving service’s logs, then the broker’s order record. TradingView warns that webhooks can fail to reach their destination and provides a Webhook status column in the alert log. Webhook delivery documentation
For each stage, record its timestamp, identifier, and reported status. Compare the instrument, side, quantity, and order type received with what you intended to send. Consult the receiver’s documentation for its accepted message format and symbol mapping.
A successful delivery does not by itself establish a broker fill. Avoid resending a message until you know whether an order already exists; an uncertain first attempt deserves investigation before another submission.
A hypothetical settings mismatch
Suppose Maya tests a five-minute futures strategy and creates an alert at 09:00. Its trend-length input is 20. At 09:20, she changes the chart input to 50 without replacing the alert.
At 09:35, the alert fires, but her current chart shows no corresponding entry. Her first suspicion is repainting. The configuration timeline reveals a simpler explanation: the alert and chart are running different inputs.
Maya saves the message and screenshots, follows her execution provider’s procedure for handling the old setup, and creates a replacement alert from the intended settings. She labels the configuration and tests it without live order routing.
During the next test, a condition marker appears on one candle and the emulator fill appears at the following candle’s open. She checks the strategy’s default order timing rather than treating this expected separation as the original fault.
This example is illustrative. It does not describe an AORDS product’s specific behavior or promise identical simulated and live results.
A replacement alert checklist
Before relying on the replacement, confirm that:
The intended script version, inputs, symbol, and timeframe are recorded
The selected event type matches the script’s instructions
The message and destination belong to the intended test or live workflow
Older alerts cannot unintentionally duplicate that workflow
A new realtime event is checked against the relevant chart and log records
Any unresolved difference is documented before live reliance resumes
Frequently asked questions
Why is there a chart signal but no notification?
Check that the alert exists, is active, and has not expired. Then check its log: an alert can trigger without your chosen notification appearing. Runtime errors can also stop script alerts. TradingView alert troubleshooting
Will recreating an alert fix repainting?
It fixes a stale configuration when recreated correctly. It does not change the underlying script logic or remove historical-versus-realtime differences. Investigate those separately using the repainting guide.
Should the alert price match my broker fill exactly?
Do not assume that. First identify what the message’s price represents, then compare it with the actual order record. Strategy simulations and broker executions are different records; neither a matching chart nor successful webhook delivery guarantees a particular live fill.
When an alert disagrees with the chart, preserve the evidence, match the configurations, identify the event, and trace it forward. That sequence produces a testable explanation without repeatedly changing settings and losing the original cause.
© 2026 AORDS. Trading involves risk. Past performance does not guarantee future results.