Skip to main content
The language map lists 205 concepts a chart script uses and, for each, the Lipi construct and the matching construct in MQL4, MQL5, NinjaScript, Pine Script and thinkScript. Use it to move a script to Lipi: it shows what carries over, what behaves differently and what Lipi does not have. The map gives similar expressions, not equivalents. Two constructs with the same name can still differ in arguments, defaults, warm-up or bar timing, so every difference a conversion has to handle is stated in its row. Lipi comes first because the map is written for converting into Lipi; the other languages follow in alphabetical order. The map does not claim the reverse direction. Lipi’s indicator functions can be written ta. or talib.: the two prefixes name the same functions. The map uses ta..

How Lipi differs

These differences apply to whole scripts, whatever language they come from.
  • A script reads at most 500 bars back: close[500] works, close[501] stops the script when it runs. More.
  • A built-in history function keeps its own history per call and moves it only on bars where that call runs. Call it on every bar, outside if and ?:, and use the result inside. More.
  • An indicator reruns on every tick of the forming bar by default. static keeps a value from bar to bar; intra keeps it across the reruns of one forming bar. More.
  • A script reads only the chart’s own symbol and timeframe. There is no call for another symbol or timeframe. More.
  • A colour’s alpha is an opacity from 0 (invisible) to 1 (solid), not a transparency from 0 to 100. More.
  • Dividing two integers gives a float: 7 / 2 is 3.5. More.

Where to start

Relations

Each cell of a summary table holds one of these words. A section repeats it in full with a note.

Versions and sources

Every row was checked against the language’s own documentation, on 2026-11-01. The columns are checked against documentation, not reviewed by an expert in each language. The Lipi side was checked against reference 2.7, compiler build df7b3b14. This release: 2026-11-01, 776 constructs, 239 confirmed absences, 10 unresolved.

Machine-readable map

The whole map is one JSON file, language-map.json, described by language-map.schema.json. It has the same rows as these pages, plus each construct’s signature and the passage of the documentation it was checked against. Tools and AI assistants can read it directly.

Report a mistake

If a row is wrong or out of date, report the page and name the row.

Names of other languages

The names of the other languages belong to their owners (Charles Schwab & Co., Inc.; MetaQuotes Ltd.; NinjaTrader, LLC; TradingView, Inc.). They are used here only to identify the languages. GoCharting is not affiliated with them.