Skip to content

syminfo namespace

syminfo provides read-only properties describing the symbol the script runs on: exchange, base currency, point value, tick size, session hours, and more. These fields help you adapt risk sizing, label content, or cross-market logic without hard-coding instrument details.

All `syminfo.*` values are simple, meaning they remain constant during the script run. You can safely assign them to var variables without worrying about bar-by-bar changes.

PropertyDescription
syminfo.ticker / syminfo.tickeridSymbol without / with exchange prefix (use tickerid for requests).
syminfo.prefix / syminfo.rootExchange prefix and futures root symbol.
syminfo.currency / syminfo.basecurrencyQuote currency (e.g., "USD") and base currency for FX pairs.
syminfo.mintick / syminfo.minmoveMinimum price increment for the instrument.
syminfo.pointvalueMonetary value of one whole price point.
syminfo.session / syminfo.timezoneTrading hours string and exchange timezone.
syminfo.typeInstrument type ("stock", "futures", "crypto", etc.).
  • Use syminfo.mintick when normalising stop distances or formatting price outputs to ensure compatibility across tick sizes.
  • syminfo.pointvalue is especially helpful for futures: multiplying change (in points) by pointvalue yields currency profit/loss.
  • When calling request.*() helpers, pass syminfo.tickerid to retrieve data for the active chart even if the user swaps symbols.
//@version=5
indicator("syminfo summary", overlay=true, max_labels_count=1)
tickSize = syminfo.mintick
pointValue = syminfo.pointvalue
labelText = str.format(
"{0}\nType: {1}\nTick: {2}\nPoint: {3}",
syminfo.tickerid,
syminfo.type,
str.tostring(tickSize),
str.tostring(pointValue))
if barstate.islast
label.new(bar_index, high,
text=labelText,
style=label.style_label_left,
textcolor=color.white,
bgcolor=color.new(color.blue, 70))