Corporate actions and chart data

Dividends on TradingView: events, adjustments and Pine research

TradingView dividends can appear as chart events, cash amounts in Pine, or adjustments to historical prices. Enable dividend labels in Chart settings > Events; use Adjust data for dividends separately when comparing returns. Check the ex-dividend date against the issuer announcement before interpreting a price gap. A dividend-adjusted chart is a return-oriented price series, not a record of cash credited to your brokerage account.

See the decision guide

Show dividend events and verify the dates

Open a stock chart, enable Dividends in Chart settings > Events, and inspect an event near the price gap. If labels are missing, zoom in: TradingView hides event labels on heavily compressed charts. Its Dividend Calendar is another place to investigate events. Match the exchange, share class, currency and amount to the company investor-relations announcement.

  • Special dividends and stock distributions can follow different rules. Investor.gov describes a US exception for distributions of 25% or more of the stock value; use the announced exchange timetable instead of calculating the ex-date yourself.
  • A chart marker does not prove that your account held eligible shares. Reconcile purchases, sales and broker records separately.
DateMeaningResearch consequence
Declaration dateThe company announces the distribution.Preserve the announcement as evidence of what was known at that time.
Ex-dividend dateThe stock starts trading without entitlement to the upcoming distribution under the applicable rules.For ordinary US cash dividends, buying on or after the ex-date does not earn that payment.
Record dateThe company identifies eligible holders in its records.Do not substitute this date for the published ex-date.
Payment dateThe distribution is paid.Use the actual cash-credit date for an account cash ledger.

Dividend adjustment changes the price series

TradingView describes its dividend-adjusted chart as a total-return view. Enable Adjust data for dividends in Supercharts settings to include the effect of distributions in historical prices. If the option is absent, adjustment is unavailable for that asset. Displaying event labels alone does not enable price adjustment.

  • Record dividend adjustment and split treatment separately. Turning off dividend adjustment does not establish that every other corporate-action adjustment is off.
  • Moving averages, gaps and percentage thresholds inherit their input prices. A backtest can change because the inputs changed, even when its rules did not.
  • For a total-return comparison, state whether dividends are gross or net, when reinvestment occurs and which currency is used. A chart toggle cannot establish your personal after-tax return.
ViewUseful questionLimit
Prices without dividend adjustmentDid the quoted price break a level around the ex-date?Price change alone excludes the distribution received by an eligible holder.
Dividend-adjusted pricesHow does the return-oriented history compare across the same dates?Historical values can differ from the prices actually quoted on those dates.
Cash and holdings ledgerWhat did this account earn and receive?Requires eligible shares, currency, taxes, fees and payment or reinvestment records.

Worked example: a 2% price drop with no gross economic loss

Assume one eligible share costs USD 100 immediately before an ordinary USD 2 cash dividend. Its ex-date price is USD 98, with no other price movement. Ignore taxes, fees and currency changes. The USD 2 is an entitlement at the ex-date and cash only when paid; this example does not assume immediate reinvestment.

  • A rule that buys any opening gap below -1.5% would flag the hypothetical 100-to-98 move. That observation alone offers no evidence of a mispricing or rebound.
  • For a single holding period without reinvestment, return = (ending price - starting price + eligible cash distributions) / starting price. Do not add those distributions again to a return series that already incorporates them.
  • For multiple reinvestments, track changing share counts and actual reinvestment prices. Adding an annual dividend yield to a price return does not reconstruct that path.
CalculationResultMeaning
Price return = (98 - 100) / 100-2%The quoted share price fell.
Gross holding return = (98 + 2 - 100) / 1000%Share value plus the distribution equals the starting value.
If the ex-date price is 97: (97 + 2 - 100) / 100-1%The distribution does not explain the entire decline.
If 15% is withheld: (98 + 2 × 0.85 - 100) / 100-0.3%An assumed tax changes the holder return. This is not a tax-rate recommendation.

Read sparse dividend observations in Pine Script

This Pine Script v6 diagnostic plots gross dividend observations for the chart symbol. Start on standard daily candles and compare a known distribution with its disclosure. gaps_on preserves missing observations; lookahead_off avoids selecting historical lookahead behavior. The indicator does not place orders, calculate portfolio return or predict the next ex-date.

  • The request needs an exchange-qualified ticker; syminfo.tickerid supplies it. syminfo.ticker alone does not.
  • With gaps_off, a previous dividend value can carry forward across bars. Summing that filled series would count the same distribution repeatedly.
  • ignore_invalid_symbol=true lets an invalid request return na instead of stopping the script. A blank series can mean no observation, unavailable coverage or an invalid request. It cannot prove that a company never paid dividends.
  • Returned observations follow data availability and merging onto chart bars. Verify their timestamps; do not assume a plotted bar is the announcement date, payment date or an executable advance warning.
  • The gross and net fields are provider definitions, not a calculation of your own tax liability. Keep the requested field and currency in the research record.
Dividend amounts use the chart symbol currency. A blank bar is not a zero dividend.pinescript
//@version=6
indicator("Dividend observation audit", format=format.price)
grossDividend = request.dividends(syminfo.tickerid, dividends.gross, gaps=barmerge.gaps_on, lookahead=barmerge.lookahead_off, ignore_invalid_symbol=true)
plot(grossDividend, "Gross dividend per share", color=color.teal, style=plot.style_columns)
plot(not na(grossDividend) ? 1 : na, "Observation available", display=display.data_window)

Separate event data from financial-statement data

TradingView request.financial() uses FactSet financial metrics and reporting periods such as FY, FQ and TTM. A cash-flow statement total or trailing dividend metric answers a different question from a dated distribution event. TradingView also warns that chart financials can differ from corporate reports and that quarterly data is not available for every issuer.

  • Use the issuer announcement for the declared per-share amount, ex-date and payment date. Use the annual or interim report for aggregate dividends paid and financial context; record the document period and units.
  • Do not divide company-wide cash dividends by a current share count and present the result as an exact historical per-share event. Share counts, share classes and periods can differ.
  • An event series is not a complete historical announcement calendar. Current Pine documentation separately lists dividends.future_* built-ins for upcoming information; current upcoming values do not establish what was known at every historical bar.
  • If sources disagree, retain both values and investigate currency, gross versus net, split adjustments, revisions and date definitions before changing the trading rule.

Audit the first changed trade before comparing performance

Run the same saved strategy with dividend adjustment off and on, keeping symbol, exchange, interval, session, dates, warm-up history, position sizing and costs fixed. Record the first differing signal and its input prices. This isolates sensitivity to the data convention; it does not establish which test best matches your account.

  • Inspect explicit data requests too. A ticker constructed with adjustment.dividends can request adjusted data independently of the chart setting.
  • For an execution study, compare simulated fill prices with the historical quoted market. For a holder-return study, separately reconcile distributions and any reinvestment. Do not assume Strategy Tester equity is a dividend cash ledger.
  • If excluding dividend events, define the exclusion window and how its dates were knowable before each order. Removing losing trades after seeing the event list creates a different, hindsight-selected test.
  • Use Pineify AI Finance Agent to retrieve company dividend records for comparison with public disclosures. Give the reviewed event record and adjustment convention to Pine Script AI Coding Agent when revising the diagnostic or strategy. Review the source and request syntax checking before testing it.
Where Pineify fits

AI Finance Agent

Retrieve available company dividend amounts and declaration, record and payment dates with Pineify, then reconcile the records with the issuer announcement. Provider coverage and revisions still need review.

Also useful: Pine Script AI Coding Agent. Describe the event handling and price-adjustment convention you want in editable Pine source. Inspect the generated logic, request syntax checking and test its observations against known events.

Research a dividend event

Frequently asked questions

Educational information, not investment or tax advice. All prices, distributions and withholding assumptions in the worked example are hypothetical. Syntax validation does not verify data completeness, trading logic or future performance.

Sources and verification

Published by Pineify. Pineify is an independent product and is not affiliated with TradingView. Sources support the technical explanations; examples do not establish trading performance.