Navigation
index
next
|
Pine Script User Manual 4 documentation
»
Pine Script v4 User Manual
Table Of Contents
Introduction
Quickstart guide
Language fundamentals
Essential features
Annotations overview
Debugging
Publishing scripts
Public Library
Release notes
Appendix
Where can I get more information?
User Manual
Pine Script 4 User Manual
Pine Script 4 User Manual
¶
Introduction
Quickstart guide
Example of a Pine script
“study” vs “strategy”
Execution model of Pine scripts
Series
Understanding scripts
Pine Editor
Where to go from here?
Language fundamentals
Structure of the script
Versions
Comments
Identifiers
Line wrapping
Type system
Type forms
Fundamental types
array
void
na value
Tuples
Type casting
Operators
Arithmetic operators
Comparison operators
Logical operators
?: conditional operator and the iff function
History reference operator []
Operator precedence
Functions and annotations
Execution of Pine functions and historical context inside function blocks
Expressions, declarations and statements
Expressions
Variable declaration
Variable assignment
if statement
for statement
Declaring functions
Single-line functions
Multi-line functions
Scopes in the script
Functions that return multiple results
Execution model
Calculation based on historical bars
Calculation based on realtime bars
Events triggering the execution of a script
Additional resources
Essential features
Alerts
Introduction
Script alerts
‘alertcondition()’ events
Avoiding repainting with alerts
Arrays
Introduction
Declaring arrays
Reading and writing array values
Scope
History referencing
Inserting and removing array elements
Calculations on arrays
Manipulating arrays
Searching arrays
Error handling
Bar states. Built-in variables barstate.*
Colors
Introduction
Constant colors
Conditional coloring
Calculated colors
Mixing transparencies
Tips
Context switching and the security function
Barmerge gaps and lookahead
Understanding lookahead
Requesting data of a lower timeframe
Drawings
Creating drawings
Calculation of drawings on bar updates
Coordinates
Modifying drawings
Label styles
Line and box styles
Deleting drawings
Examples of classic indicators
Limits
Extended and regular sessions
Indicator repainting
Non-standard chart types data
heikinashi function
renko function
linebreak function
kagi function
pointfigure function
Session and time information
The “time” function and variable
Built-in variables for working with time
Strategies
A simple strategy example
Applying a strategy to a chart
Backtesting and forwardtesting
Broker emulator
Order placement commands
Closing market position
OCA groups
Risk management
Currency
Leverage
Tables
Introduction
Creating tables
Tips
Annotations overview
study annotation
plot annotation
Script inputs
Boolean input
Color input
Integer input
Float input
Symbol and resolution inputs
Session input
Source input
Time input
options parameter
Price levels, hline
Filling the background with fill
Barcoloring a series with barcolor
Background coloring with bgcolor
Plotting shapes, chars and arrows
plotshape
plotchar
plotarrow
Custom OHLC bars and candles
Debugging
Introduction
The lay of the land
Displaying numeric values
When the script’s scale is unimportant
When the script’s scale must be preserved
Displaying strings
Labels on each bar
Labels on last bar
Debugging conditions
Single conditions
Compound conditions
Debugging from inside functions
Debugging from inside ‘for’ loops
Extracting a single value
Using lines and labels
Extracting multiple values
Tips
Publishing scripts
Script visibility and access
When you publish a script
Visibility
Access
Preparing a publication
Publishing a script
Updating a publication
Public Library
Description
Copying a script from the Public to your Personal Library
Editing a script from the Public Library
Searching for a script
Release notes
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
December 2019
October 2019
September 2019
July-August 2019
June 2019
October 2018
April 2018
August 2017
June 2017
May 2017
April 2017
March 2017
February 2017
December 2016
October 2016
September 2016
July 2016
March 2016
February 2016
January 2016
October 2015
September 2015
July 2015
June 2015
April 2015
March 2015
February 2015
August 2014
July 2014
June 2014
April 2014
February 2014
December 2013
Appendix
Pine version 3 migration guide
Default behaviour of security function has changed
Self-referenced variables are removed
Forward-referenced variables are removed
Resolving a problem with a mutable variable in a security expression
Math operations with booleans are forbidden
HOWTOs
Get real OHLC price on a Heikin Ashi chart
Get non-standard OHLC values on a standard chart
Plot arrows on the chart
Plot a dynamic horizontal line
Plot a vertical line on condition
Access the previous value
Get a 5-days high
Count bars in a dataset
Enumerate bars in a day
Find the highest and lowest values for the entire dataset
Query the last non-na value
Pine compilation and execution errors
Script requesting too many securities
Script could not be translated from: null
line 2: no viable alternative at character ‘$’
Mismatched input <…> expecting <???>
Loop is too long (> 200 ms)
Script has too many local variables
Pine cannot determine the referencing length of a series. Try using max_bars_back in the study or strategy function
Where can I get more information?
External resources
Navigation
index
next
|
Pine Script User Manual 4 documentation
»
Options
v: v4
Languages
en
Versions
v3
v4
v5