> ## Documentation Index
> Fetch the complete documentation index at: https://gocharting.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Lipi enums

> Reference for the 8 enums of Lipi v2: display, font, hlineStyle, location and 4 more, each with its definition and an example.

> [!NOTE]
>
> Language version: 2 · Reference version: 2.7 · Date: 2026-10-25 · Compiler build: df7b3b14 · Entries: 8

## `display` (enum)

**Definition**

Controls where a plot or indicator output is visible in the UI (pane, price scale, status line, data window).

**Fields**

| Name | Type | Description |
| - | - | - |
| `none` | | Hide from all display locations. |
| `pane` | | Show only in the chart pane. |
| `data_window` | | Show only in the Data Window. |
| `price_scale` | | Show on the price scale. |
| `status_line` | | Show in the status line. |
| `all` | | Show in pane, price scale, status line, and data window. |

**Example**

```lipi theme={"languages":{"custom":["/languages/lipi.json","/languages/lipi-invalid.json"]}}
//@lipi=2
indicator("display example")
plot(close, display=display.all)
plot(open, display=display.none)
plot(high, display=display.price_scale + display.status_line)
```

## `font` (enum)

**Definition**

Font family constants for text drawn on boxes, labels, and table cells.

Pass them to `text_font_family` on `box.new` and `label.new`, to `table.cell`, or to the matching `*.set_text_font_family` setter. The parameter type is `font`, not `string`.

**Fields**

| Name | Type | Description |
| - | - | - |
| `family_default` | | Default proportional font for drawing text. |
| `family_monospace` | | Fixed-width font for drawing text. |

**Example**

```lipi theme={"languages":{"custom":["/languages/lipi.json","/languages/lipi-invalid.json"]}}
//@lipi=2
indicator("font Example", overlay=true)
if barstate.islast {
    label.new(bar_index, high, text="Mono", text_font_family=font.family_monospace, size=size.small)
}
```

## `hlineStyle` (enum)

**Definition**

Three line styles for a horizontal level: `solid`, `dashed` and `dotted`.

The smallest of the sets, and the only one used by `hline`. It is not interchangeable with `plotStyle`.

**Fields**

| Name | Type | Description |
| - | - | - |
| `solid` | | A solid line (default). |
| `dashed` | | A dashed line. |
| `dotted` | | A dotted line. |

**Example**

```lipi theme={"languages":{"custom":["/languages/lipi.json","/languages/lipi-invalid.json"]}}
//@lipi=2
indicator("hlineStyle Example", overlay=false)
hline(70, title="Overbought", color=color.red, style=hlineStyle.dashed)
hline(50, title="Middle", color=color.gray, style=hlineStyle.dotted)
hline(30, title="Oversold", color=color.green, style=hlineStyle.solid)
plot(talib.rsi(close, 14), title="RSI", color=color.blue)
```

## `location` (enum)

**Definition**

Five places a marker can sit: `abovebar`, `belowbar`, `top`, `bottom` and `absolute`.

The first two are relative to the bar; `top` and `bottom` are relative to the pane; `absolute` places the mark at a price. It is the `location` parameter of `plotshape` and `plotchar`, and `plotarrow` has no such parameter at all.

**Fields**

| Name | Type | Description |
| - | - | - |
| `abovebar` | | Places the element above the current bar. |
| `belowbar` | | Places the element below the current bar. |
| `top` | | Places the element at the top of the chart. |
| `bottom` | | Places the element at the bottom of the chart. |
| `absolute` | | Places the element at a specific price level. |

**Example**

```lipi wrap theme={"languages":{"custom":["/languages/lipi.json","/languages/lipi-invalid.json"]}}
//@lipi=2
indicator("location Example", overlay=true)
plotshape(close > open, title="Up Bar", location=location.belowbar, shape=shape.triangleup, color=color.green)
plotshape(close < open, title="Down Bar", location=location.abovebar, shape=shape.triangledown, color=color.red)
```

## `plotStyle` (enum)

**Definition**

The fourteen ways `plot` can draw a series: `line`, `linebr`, `area`, `areabr`, `smoothedArea`, `stepLine`, `stepLinebr`, `stepArea`, `stepAreabr`, `bar`, `histogram`, `scatter`, `triangular` and `cross`.

Name a member with the set in front of it, as in `plotStyle.histogram`. The `br` endings are separate members, distinct from the plain forms.

**Fields**

| Name | Type | Description |
| - | - | - |
| `line` | | A named constant for the 'Line' style, to be used as an argument for the style parameter in the plot function. |
| `linebr` | | A named constant for the 'Line With Breaks' style, to be used as an argument for the style parameter in the plot function. Similar to `plotStyle.line`, except the gaps in the data are not filled. |
| `area` | | A named constant for the 'Area' style, to be used as an argument for the style parameter in the plot function. |
| `areabr` | | A named constant for the 'Area With Breaks' style, to be used as an argument for the style parameter in the plot function. Similar to `plotStyle.area`, except the gaps in the data are not filled. |
| `smoothedArea` | | A name constant used to  used to create a smoothly filled area between the plotted values and the x-axis (zero level or another base value). It provides a gradient-like appearance instead of a sharp, rigid fill. |
| `stepLine` | | A named constant for the 'Step Line' style, to be used as an argument for the style parameter in the plot function. |
| `stepLinebr` | | A named constant for the 'Step line with Breaks' style, to be used as an argument for the style parameter in the plot function. |
| `stepArea` | | A name constant used to create a stepped area chart, where the filled area follows a step-like pattern instead of a smooth curve. |
| `stepAreabr` | | A name constant used to create a stepped background area fill. This style is similar to plotStyle.stepArea, but instead of filling the area with a standard overlay, it applies a background-style fill that integrates smoothly with the chart. |
| `bar` | | Vertical column bars |
| `histogram` | | A named constant for the 'Histogram' style, to be used as an argument for the style parameter in the plot function. |
| `scatter` | | A named constant used to plot individual data points as scattered dots on the chart, instead of a continuous line |
| `triangular` | | A named constant used to plot a triangular wave-like pattern instead of a standard line. |
| `cross` | | A named constant for the 'Cross' style, to be used as an argument for the style parameter in the plot function. |

**Example**

```lipi theme={"languages":{"custom":["/languages/lipi.json","/languages/lipi-invalid.json"]}}
//@lipi=2
indicator("plotStyle Example", overlay=false)
plot(close - open, title="Body", color=color.blue, style=plotStyle.histogram)
plot(talib.sma(close - open, 10), title="Average Body", color=color.orange, style=plotStyle.line)
```

## `scale` (enum)

**Definition**

Price-scale placement for scripts declared with `indicator()` or `strategy()`.

Use the `scale` argument on those declarations. Default is `scale.none`.

**Fields**

| Name | Type | Description |
| - | - | - |
| `left` | | Attach the script to the left price scale. |
| `right` | | Attach the script to the right price scale. |
| `none` | | Use the default scale for the script (separate pane when `overlay` is false). |

**Example**

```lipi theme={"languages":{"custom":["/languages/lipi.json","/languages/lipi-invalid.json"]}}
//@lipi=2
indicator("scale Example", overlay=true, scale=scale.right)
plot(close)
```

## `shape` (enum)

**Definition**

The twelve markers `plotshape` can draw: `xcross`, `cross`, `triangleup`, `triangledown`, `flag`, `circle`, `arrowup`, `arrowdown`, `labelup`, `labeldown`, `square` and `diamond`.

Written `shape.triangleup` and so on.

**Fields**

| Name | Type | Description |
| - | - | - |
| `xcross` | | Shape style for plotshape function. |
| `cross` | | Shape style for plotshape function. |
| `triangleup` | | Shape style for plotshape function. |
| `triangledown` | | Shape style for plotshape function. |
| `flag` | | Shape style for plotshape function. |
| `circle` | | Shape style for plotshape function. |
| `arrowup` | | Shape style for plotshape function. |
| `arrowdown` | | Shape style for plotshape function. |
| `labelup` | | Shape style for plotshape function. |
| `labeldown` | | Shape style for plotshape function. |
| `square` | | Shape style for plotshape function. |
| `diamond` | | Shape style for plotshape function. |

**Example**

```lipi wrap theme={"languages":{"custom":["/languages/lipi.json","/languages/lipi-invalid.json"]}}
//@lipi=2
indicator("Shape Example", overlay=true)
// Define bullish and bearish engulfing conditions
bullishEngulfing = close > open and close[1] < open[1] and close > close[1] and open < open[1]
bearishEngulfing = close < open and close[1] > open[1] and close < close[1] and open > open[1]
// Plot a triangle up for bullish engulfing
plotshape(series=bullishEngulfing, location=location.belowbar, shape=shape.triangleup, color=color.green, title="Bullish Engulfing")
// Plot a triangle down for bearish engulfing
plotshape(series=bearishEngulfing, location=location.abovebar, shape=shape.triangledown, color=color.red, title="Bearish Engulfing")
// Plot a cross at every bar where the close is equal to the open (Doji)
doji = close == open
plotshape(series=doji, location=location.abovebar, shape=shape.cross, color=color.blue, title="Doji")
```

## `size` (enum)

**Definition**

Six sizes for a marker: `auto`, `tiny`, `small`, `normal`, `large` and `huge`.

Used by the `size` parameter of `plotshape` and `plotchar`. `auto` is a member like the rest, not the absence of a choice.

**Fields**

| Name | Type | Description |
| - | - | - |
| `auto` | | Allows automatic size adjustment based on the chart's zoom level and resolution. |
| `tiny` | | Smallest size |
| `small` | | Small size |
| `normal` | | Default (medium) size |
| `large` | | Large size |
| `huge` | | Largest size |

**Example**

```lipi wrap theme={"languages":{"custom":["/languages/lipi.json","/languages/lipi-invalid.json"]}}
//@lipi=2
indicator("size Example", overlay=true)
plotshape(talib.crossover(close, talib.sma(close, 20)), title="Cross Up", location=location.belowbar, shape=shape.triangleup, color=color.green, size=size.small)
plotshape(talib.crossunder(close, talib.sma(close, 20)), title="Cross Down", location=location.abovebar, shape=shape.triangledown, color=color.red, size=size.large)
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.