Each section below gives the Lipi construct first, then the construct in each language, with a note wherever behaviour differs. The language name links to the documentation the row was checked against.
Whole-number input
A setting the chart user fills with a whole number, with optional bounds and step. In Lipi:input.int. defval must be a const int, not na and not a series. minval and maxval are not checked against it; step=0 is accepted.
Decimal input
A setting the chart user fills with a decimal number. In Lipi:input.float. An int default is accepted. defval must be const and not na; bounds are not checked against it.
On/off input
A setting the chart user switches on or off. In Lipi:input.bool. display defaults to display.none for input.bool, input.color, input.time and input.text_area; the other inputs default to display.all.
Text or choice input
A setting the chart user fills with text, or picks from a list of options. In Lipi:input.string. A string default must be one of options when options are given.
Colour input
A setting the chart user picks a colour for. In Lipi:input.color. The default is a const colour. Layout arguments (group, inline, tooltip) must be const.
Price source input
A setting that picks which price series the script reads. In Lipi:input.source. Only open, high, low, close, hl2, hlc3, ohlc4 and hlcc4 are accepted as the default; volume is refused.
Timeframe input
A setting that picks a chart timeframe. In Lipi:input.timeframe. Choosing a timeframe does not fetch its data: there is no request namespace. Use it with time(timeframe).
Session input
A setting that picks a time-of-day range. In Lipi:input.session. Session strings are HHMM-HHMM, ranges comma-separated; an end before the start wraps midnight; day digits follow a colon, 1 = Sunday.
Date and time input
A setting that picks a point in time. In Lipi:input.time. The default must be a millisecond integer literal: timestamp(“2024-01-01”) passes the editor check but fails on Add to chart.
Price level input
A setting that picks a price level. In Lipi:input.price. It returns an input float, so it can drive hline(price).
Enumeration input
A setting whose options come from the script’s own enumeration. In Lipi:input.enum. The default must be a const member written Name.Member.
Group and lay out inputs
Grouping settings under headings and placing several on one line. In Lipi:input.int. group, inline and tooltip must be const strings. Two inputs may share a title.