Notice!This is documentation for v4, which is no longer actively maintained.
For up-to-date documentation, see the latest version.
 -->

Introduction

TradingView has designed its own
scripting language called Pine Script. It allows users to create
custom indicators and run them on our servers. Pine was designed as a
lightweight language focused on the specific task of developing
indicators and strategies. Most of TradingView's built-in indicators
have been coded in Pine. It is our explicit goal to keep Pine accessible
and easy to understand for the broadest possible audience.

Pine is cloud-based and therefore different in nature to client-side
programming languages. While we will not develop Pine into a
full-fledged language with high-end coding capabilities for building
very complex tools, constantly improving Pine is one of our highest
priorities and we are happy to consider any requests for new features.

Because each script uses computational resources in the cloud, we must
impose limits in order to share these resources fairly among our users.
We strive to impose as few limits as possible while enforcing as many as
needed. We must ensure the platform keeps running smoothly so nobody is
negatively affected by scripts that consume a disproportionate amount of
resources. The imposed limits apply to elements such as the amount of
data from additional symbols, execution time, memory usage and script
size. Additionally, we keep Pine syntax and semantics simple so it can
handle common tasks efficiently.

We will continue to improve Pine's documentation and support to ensure
that anyone who wishes to learn and use Pine may do so, as this helps
grow the Pine development community and provides TradingView users with
more robust and helpful tools.