Skip to content

Reference

Reference

Exhaustive rather than instructive. Every table on these pages is generated from the same source the chart runs on and checked in both directions, so nothing can be added to the code without appearing here, or described here after being removed.

Which page answers which question

PageAnswersSize
URL parametersWhat can an embed URL say? Symbol, interval, theme, chart type, chrome, currency, calendar.18 parameters
Methods you callWhat can I ask a mounted chart to do?39 commands, plus handles
EventsWhat does the chart tell me, and in what shape?18 events
ObjectsWhat are the fields of a bar, a symbol, an order line?8 structures
Methods you implementWhat does my datafeed have to provide?13 methods, 2 required
Wire messagesWhat crosses the boundary, if I bridge it myself?14 message types
LimitsHow long, how many, how big, and what happens past it?every cap
TypeScript typesHow do I get vpEmbed to autocomplete, and refuse a wrong value in my editor?one file
Symbols and intervalsWhat is a symbol string, and what does 60 mean?–

Two halves, and they are easy to confuse

The word “method” means two opposite things depending on which way it points, which is why they are two pages rather than one long one.

You callYou implement
PageMethods you callMethods you implement
ExamplescreateOrderLine, setIntervalgetBars, resolveSymbol
Who runs the codeus, in the frameyou, on your page
If it is missingnothing happensthe chart has no data

Why these tables can be trusted

Every list on these pages is imported from the module the chart itself uses, and paired against it in both directions on every build.

  • Nothing undocumented. A method, event, message or field added to the code with no row here fails the build.
  • Nothing invented. A row describing something that no longer exists fails too, and that is the direction that matters more, because a chart refuses an unknown property outright. One stale row would break your integration with an error quoting our own page.
  • Required means required. The optional column is compared against the actual type, not written from memory.
Those checks are not decoration. An earlier draft of the events table wrote { id, price } where the wire sends { handle, price }, it looks authoritative and destructures to undefined. It was caught by pairing the table against the emitter key by key, which is now how every payload on that page is verified.

If you are still integrating

A reference is the wrong shape for a first read. The quickstart gets a chart on your page, and the guides each take one task start to finish: your own data, orders and positions, or bridging the protocol yourself.