Skip to content

prelude

TIP

Prelude 会自动加载到每个脚本中。它的类型和函数都应直接用名称引用——不要添加命名空间前缀(例如写 close,而不是 prelude.close)。

类型

名称说明
AlertFreqalert() 的触发频率常量。
Array<T>类型为 T 的有序、可索引的元素集合。
BarmergeGapsrequest.*() 函数的间隙模式。
BarmergeLookaheadrequest.*() 函数的前瞻模式。
Box方框图的句柄。
CommissionTypestrategy() 的佣金计算方式。
Currency货币代码(ISO 4217)。
DayOfWeek星期常量。
DefaultQtyTypestrategy() 的默认数量模式。
Direction策略订单方向。
DividendsFieldrequest.dividends() 的字段选择器。
EarningsFieldrequest.earnings() 的字段选择器。
Extend线条延伸方向。
FontFamily文字绘图的字体系列。
Format图表和标签的数值格式。
Hlinehline 创建的水平线的句柄。
HlineStyle水平线绘图的样式。
Label标签绘图的句柄。
LabelStyle标签绘图的样式。
Line画线句柄。
LineStyle线条绘图的样式。
Linefill两行之间的行填充句柄。
Locationplot_shape() 和 plot_char() 的垂直位置。
Map<K, V>K 类型的键映射到 V 类型值的键值存储。
Matrix<T>以行优先顺序存储的 T 类型元素的二维表。
OcaType策略订单的 OCA(一单取消全部)行为。
Plotplot 创建的绘图的句柄。
PlotDisplay显示绘图选项(例如全部、无、仅价格)。
PlotSimpleDisplay控制绘图显示的价格比例和图表。
PlotStyle图表系列的绘图样式。
Polyline多段线绘图的句柄。
Position表格和标签在图表面板上的位置。
ScaleTypeindicator() 和 strategy() 的价格坐标轴挂载模式。
Session交易时段类型。
Shapeplot_shape() 绘制的图形。
Size绘图和标签的尺寸常量。
SortOrder数组和矩阵操作的排序方向。
SplitsFieldrequest.splits() 的字段选择器。
Table表格绘图的句柄。
TextFormat文字格式标志(粗体、斜体)。可使用 + 组合多个值。
TextHAlign文字水平对齐方式。
TextVAlign文字垂直对齐方式。
TextWrap文字换行模式。
Xloc绘图对象的 X 轴坐标模式。
Yloc标签的 Y 轴坐标模式。

属性

ask

类型: series float

当前 K 线的最优卖价(ask)。仅在 1T(tick)周期可用,其他周期返回 na


bar_index

类型: series int

当前 bar 的索引。编号从零开始,因此图表上第一个(最旧的)bar 的索引为 0。每个后续 bar 的值都会增加 1。使用 bar_index[1] 引用前一个 bar 的索引。


bid

类型: series float

当前 K 线的最优买价(bid)。仅在 1T(tick)周期可用,其他周期返回 na


close

类型: series float

当前 bar 的收盘价。在历史 bars 上,这是 bar 收盘时的最后交易价格。在实时 bars 上,这是当前的最后交易价格,并将发生变化,直到 bar 收盘。


day_of_month

类型: int

返回交易品种时区中当前 bar 开市时间的月份 (1-31) 中的某一天。


day_of_week

类型: DayOfWeek

返回当前 bar 的开放时间是星期几。


high

类型: series float

当前 bar 期间达到的最高价格。在历史 bars 上,这是最高交易价格。在实时 bars 上,该值可能会随着新高的出现而增加。


hl2

类型: series float

高价和低价的中点:(high + low) / 2。也称为中位价格。可用于简单估算 bar 的中心价格。


hlc3

类型: series float

典型价格:(high + low + close) / 3。一种常见的价格代理,对收盘价和高低范围的权重相等。常用于体积加权计算。


hlcc4

类型: series float

加权收盘价:(high + low + close + close) / 4。对收盘价给予额外权重,占总权重的 50%。


hour

类型: int

返回符号时区中当前 bar 开放时间的小时 (0-23)。


last_bar_index

类型: series int

图表上最后一个(最新)bar 的索引。与 bar_index 结合,这可用于确定从当前 bar 到图表末尾的距离,例如,last_bar_index - bar_index 给出剩余的 bars。


last_bar_time

类型: series int

图表上最后一个 bar 的时间戳,采用 UNIX 格式(自 1970-01-01 00:00:00 UTC 以来的毫秒数)。对于确定图表的时间范围或相对于图表结束的基于时间的计算很有用。


low

类型: series float

当前 bar 期间达到的最低价格。在历史 bars 上,这是最低交易价格。在实时 bars 上,该值可能会随着新低的出现而减小。


minute

类型: int

返回交易品种时区中当前 bar 开市时间的分钟 (0-59)。


month

类型: int

返回交易品种时区中当前 bar 开放时间的月份 (1-12)。


ohlc4

类型: series float

平均价格:(open + high + low + close) / 4。所有四个 OHLC 价格的算术平均值,代表 bar 的整体价格活动。


open

类型: series float

当前 bar 的开盘价。这是 bar 开盘时的第一个交易价格。在实时 bars 上,一旦 bar 打开,该值就固定。


second

类型: int

返回交易品种时区中当前 bar 开放时间的秒数 (0-59)。


time

类型: series int

bar 左边缘的 UNIX 时间戳。该值以 Unix 纪元的毫秒数表示,并且在当前实时 bar 仍在形成时不会漂移。


time_close

类型: series int

bar 右边缘的 UNIX 时间戳。在基于时间的图表上,这是活跃 bar 的预定收盘价。


time_now

类型: series int

UNIX 格式的当前实际时间(自 1970-01-01 00:00:00 UTC 以来的毫秒数)。与返回 bar 时间的 time 不同,time_now 返回实际的当前时间并在实时 bars 上持续更新。


time_tradingday

类型: series int

返回当前 bar 所属交换会话的 UTC 午夜标记。对于共享同一交易时段的所有 bars,结果保持相同,这在交易跨日历边界时非常方便。


volume

类型: series float

当前 bar 的交易量。代表交易的股票或合约总数。如果交易品种的成交量数据不可用,则可能为 na


week_of_year

类型: int

返回符号时区中当前 bar 开放时间的一年中的第几周 (1-53)。


year

类型: int

返回符号时区中当前 bar 开放时间的年份。

函数

alert

navi
alert(message: series string, freq: input AlertFreq = AlertFreq.OncePerBar)

使用给定的消息和频率创建警报。

参数

名称类型默认值说明
messageseries string
freqinput AlertFreqAlertFreq.OncePerBar

alert_condition

navi
alert_condition(
    condition: series bool,
    title: const string,
    message: const string
  )

创建可用于根据布尔条件触发警报的警报条件。

参数

名称类型默认值说明
conditionseries bool
titleconst string
messageconst string

bar_color

navi
bar_color(
    color: series color,
    offset: simple int = 0,
    editable: input bool = true,
    show_last: input int = na,
    title: const string = na,
    display: input PlotSimpleDisplay
  )

设置图表上价格 bars 的颜色。每个 bar 可以有自己的颜色,允许根据指示器条件进行动态着色。

参数

名称类型默认值说明
colorseries color应用于 bar 的颜色。使用 na 保留默认颜色。
offsetsimple int0将颜色向左(负)或右(正)移动指定数量的 bars。
editableinput booltrue如果为 true,则可以在样式对话框中编辑该设置。
show_lastinput intna如果设置,则仅对最后 N 个 bars 着色。
titleconst stringna标题显示在样式对话框中。
displayinput PlotSimpleDisplay控制颜色可见的位置。

bg_color

navi
bg_color(
    color: series color,
    offset: simple int = 0,
    editable: input bool = true,
    show_last: input int = na,
    title: const string = na,
    display: input PlotSimpleDisplay = display.ALL,
    force_overlay: const bool = na
  )

用指定的颜色填充图表 bars 的背景。用于突出显示图表上的特定条件或时间段。

参数

名称类型默认值说明
colorseries color背景颜色。使用 na 表示透明。
offsetsimple int0将背景颜色向左(负)或右(正)移动指定数量的 bars。
editableinput booltrue如果为 true,则可以在样式对话框中编辑该设置。
show_lastinput intna如果设置,则仅填充最后 N 个 bars。
titleconst stringna标题显示在样式对话框中。
displayinput PlotSimpleDisplaydisplay.ALL控制背景可见的位置。
force_overlayconst boolna如果为 true,力将显示在主图表窗格上。

bool

x 值转换为 bool 值。

参数

名称类型默认值说明
xint

返回: bool — 如果 x 是 nafalse 或等于 0int/float 值,则为 falsetrue 对于所有其他值。

将浮点数转换为布尔值;如果 na 或零则返回 false,否则返回 true。

参数

名称类型默认值说明
xfloat

返回: bool

将布尔值转换为布尔值;如果 na 返回 false,否则返回该值。

参数

名称类型默认值说明
xbool

返回: bool

将任意类型的值转换为bool;如果 na 返回 false,否则返回 true。

参数

名称类型默认值说明
xT

返回: bool


box

navi
box(x: Box): Box

将 na 转换为盒子类型。对于初始化稍后将分配的框变量很有用。

参数

名称类型默认值说明
xBox

返回: Box


color

navi
color(x: color): color

将 na 投射为颜色

参数

名称类型默认值说明
xcolor

返回: color


day_of_month

navi
day_of_month(timestamp: int, timezone: string = syminfo.timezone): int

从指定时区的 UNIX 时间戳中提取月份中的日期 (1-31)。

参数

名称类型默认值说明
timestampintUNIX 时间戳(以毫秒为单位)。
timezonestringsyminfo.timezone用于解释的时区。默认为符号的时区。

返回: int


day_of_week

navi
day_of_week(timestamp: int, timezone: string = syminfo.timezone): DayOfWeek

从指定时区的 UNIX 时间戳中提取星期几。

参数

名称类型默认值说明
timestampintUNIX 时间戳(以毫秒为单位)。
timezonestringsyminfo.timezone用于解释的时区。默认为符号的时区。

返回: DayOfWeek — 1(周日)至 7(周六)。


fill

用纯色填充两条水平线之间的区域。对于创建视觉区域(例如超买/超卖区域)很有用。

参数

名称类型默认值说明
hline1Hline第一个水平线句柄(来自 hline)。
hline2Hline第二个水平线句柄(来自 hline)。
colorseries colorcolor.BLUE填充颜​​色。
titleconst stringna标题显示在样式对话框中。
editableinput booltrue如果为 true,则可以在样式对话框中编辑填充。
fill_gapsconst boolfalse如果为真,则填补数据中的空白。
displayinput PlotSimpleDisplaydisplay.ALL控制填充的可见位置。

用纯色填充两个图之间的区域。对于可视化两个系列之间的差异或分布很有用。

参数

名称类型默认值说明
plot1Plot第一个绘图句柄(来自 plot)。
plot2Plot第二个绘图句柄(来自 plot)。
colorseries colorcolor.BLUE填充颜​​色。
titleconst stringna标题显示在样式对话框中。
editableinput booltrue如果为 true,则可以在样式对话框中编辑填充。
show_lastinput intna如果设置,则仅填充最后 N 个 bars。
fill_gapsconst boolfalse如果为真,则填补数据中的空白。
displayinput PlotSimpleDisplaydisplay.ALL控制填充的可见位置。

用垂直渐变填充两个图之间的区域。渐变从 top_value 处的 top_color 过渡到 bottom_value 处的 bottom_color,从而根据价格水平创建平滑的颜色过渡。

参数

名称类型默认值说明
plot1Plot第一个绘图句柄(来自 plot)。
plot2Plot第二个绘图句柄(来自 plot)。
top_valueseries float应用顶部颜色的价格水平。
bottom_valueseries float应用底部颜色的价格水平。
top_colorseries colorcolor.BLUE渐变顶部的颜色。
bottom_colorseries color#3a3c42渐变底部的颜色。
titleconst stringna标题显示在样式对话框中。
displayinput PlotSimpleDisplaydisplay.ALL控制填充的可见位置。
fill_gapsconst boolfalse如果为真,则填补数据中的空白。
editableinput booltrue如果为 true,则可以在样式对话框中编辑填充。

fixnan

navi
fixnan(value: series T): series T

na 值替换为系列中最后一个非 na 值。延续最新的有效值,有效“填补”数据空白。如果尚未看到有效值,则返回 na。对于保持偶尔缺失值的系列的连续性很有用。

参数

名称类型默认值说明
valueseries T要处理的系列值。

返回: series T — 当前值(如果不是 na),否则为最新的非 na 值,或者 na(如果尚未看到有效值)。


float

将 na 强制转换为浮动

参数

名称类型默认值说明
xfloat

返回: float

将 int 转换为 float。

参数

名称类型默认值说明
xint

返回: float


hline

navi
hline(
    price: input float,
    title: const string = na,
    color: input color = color.BLUE,
    linestyle: input HlineStyle = HlineStyle.Dashed,
    linewidth: input int = 1,
    editable: input bool = true,
    display: input PlotSimpleDisplay = display.ALL
  ): Hline

在整个图表上以固定价格水平绘制一条水平线。与 plot 不同,价格必须是常量或传入值,而不是序列。

参数

名称类型默认值说明
priceinput float绘制线的价格水平。
titleconst stringna标题显示在样式对话框中。
colorinput colorcolor.BLUE线条颜色。
linestyleinput HlineStyleHlineStyle.Dashed线条样式:hLineStyle.SolidhLineStyle.DashedhLineStyle.Dotted
linewidthinput int1线条的宽度(以像素 (1-4) 为单位)。
editableinput booltrue如果为 true,则可以在样式对话框中编辑该线。
displayinput PlotSimpleDisplaydisplay.ALL控制线的可见位置。

返回: Hline — 可与 fill 一起使用的 hline 句柄。


hour

navi
hour(timestamp: int, timezone: string = syminfo.timezone): int

从指定时区的 UNIX 时间戳中提取小时 (0-23)。

参数

名称类型默认值说明
timestampintUNIX 时间戳(以毫秒为单位)。
timezonestringsyminfo.timezone用于解释的时区。默认为符号的时区。

返回: int


indicator

navi
indicator(
    title: const string,
    shorttitle: const string = na,
    overlay: const bool = false,
    format: const Format = Format.Inherit,
    precision: const int = na,
    scale: const ScaleType = na,
    max_bars_back: const int = na,
    timeframe: const string = na,
    timeframe_gaps: const bool = true,
    explicit_plot_zorder: const bool = false,
    max_lines_count: const int = 50,
    max_labels_count: const int = 50,
    max_boxes_count: const int = 50,
    calc_bars_count: const int = na,
    max_polylines_count: const int = 50,
    dynamic_requests: const bool = true,
    behind_chart: const bool = true
  )

将脚本指定为指标并设置与指标相关的属性。

参数

名称类型默认值说明
titleconst string脚本的标题。当不使用 shorttitle 参数时,它会显示在图表上,并在发布脚本时成为出版物的默认标题。
shorttitleconst stringna脚本在图表上的显示名称。如果指定,它将替换大多数图表相关窗口中的 title 参数。
overlayconst boolfalse如果为 true,则如果用户将脚本直接添加到图表,则脚本的视觉效果将显示在主图表窗格上;如果用户将脚本应用到该脚本,则脚本的视觉效果将显示在另一个脚本的窗格中。如果为 false,则脚本的视觉效果将显示在单独的窗格中。
formatconst FormatFormat.Inherit指定脚本显示值的格式。可能的值:Format.InheritFormat.PriceFormat.VolumeFormat.Percent。选修的。
precisionconst intna指定脚本显示值的浮点后的位数。必须是不大于 16 的非负整数。如果 format 设置为 Format.Inherit 并指定 precision,则格式将设置为 Format.Price。当函数的 format 参数使用 Format.Volume 时,precision 参数不会影响结果,因为 Format.Volume 定义的小数精度规则会取代其他精度设置。选修的。默认值继承自图表符号的精度。
scaleconst ScaleTypena使用的价格等级。可能的值:scale.rightscale.leftscale.nonescale.none 值只能与 overlay = true 结合使用。选修的。默认情况下,脚本使用与图表相同的比例。使用 scale_type 类型。
max_bars_backconst intna脚本为每个变量和函数保留的历史缓冲区的长度,它确定可以使用 [] 历史引用运算符引用多少个过去的值。
timeframeconst stringna向简单脚本添加多时间范围功能。
timeframe_gapsconst booltrue指定当时间范围高于图表的时间范围时指标值如何在图表 bars 上显示。如果是 true,则仅当较高的 timeframe 值可用时,值才会出现在图表 bar 上,否则返回 na (因此会出现“间隙”)。使用 false 时,原本存在的间隙将被返回的最新已知值填充,从而避免使用 na 值。选修的。默认为 true
explicit_plot_zorderconst boolfalse指定脚本的绘图、填充和线条的渲染顺序。如果是 true,则按照脚本代码中出现的顺序绘制绘图,每个较新的绘图都绘制在之前的绘图上方。这仅适用于 plot*() 函数、fillhline
max_lines_countconst int50最后显示的 line 绘图的数量。可能的值:1-500。计数为近似值;可能会显示多于指定数量的绘图。
max_labels_countconst int50最后显示的 label 绘图的数量。可能的值:1-500。计数为近似值;可能会显示多于指定数量的绘图。
max_boxes_countconst int50最后显示的 box 绘图的数量。可能的值:1-500。计数为近似值;可能会显示多于指定数量的绘图。
calc_bars_countconst intna将脚本的初始计算限制为最后指定的 bars 数量。默认值为 na,在这种情况下,脚本将在所有可用的 bars 上执行。
max_polylines_countconst int50最后显示的 polyline 绘图的数量。可能的值:1-100。计数为近似值;可能会显示多于指定数量的绘图。
dynamic_requestsconst booltrue指定脚本是否可以动态调用 request.*() 命名空间中的函数。条件结构(例如 if)、循环(例如 for)和导出函数的本地范围内允许动态 request.*() 调用。此外,此类调用允许其许多参数使用“系列”参数。
behind_chartconst booltrue控制所有绘图和绘图是显示在图表显示后面(如果 true)还是显示在图表显示前面(如果 false)。该参数仅在overlay参数为true时生效。

示例

navi
// RSI indicator in a separate pane
indicator("My RSI", shorttitle: "RSI", overlay: false);
plot(ta.rsi(close, 14), title: "RSI");
navi
// Overlay indicator on the price chart
indicator("EMA Cross", overlay: true);
plot(ta.ema(close, 9),  color: color.GREEN);
plot(ta.ema(close, 21), color: color.RED);

input

创建在脚本设置 UI 中公开的传入值。

参数

名称类型默认值说明
defvalconst int
titleconst stringna
tooltipconst stringna
inlineconst stringna
groupconst stringna
displayconst PlotDisplaydisplay.ALL
activeinput booltrue

返回: input int

创建在脚本设置 UI 中公开的传入值。

参数

名称类型默认值说明
defvalconst float
titleconst stringna
tooltipconst stringna
inlineconst stringna
groupconst stringna
displayconst PlotDisplaydisplay.ALL
activeinput booltrue

返回: input float

创建在脚本设置 UI 中公开的传入值。

参数

名称类型默认值说明
defvalconst bool
titleconst stringna
tooltipconst stringna
inlineconst stringna
groupconst stringna
displayconst PlotDisplaydisplay.ALL
activeinput booltrue

返回: input bool

创建在脚本设置 UI 中公开的传入值。

参数

名称类型默认值说明
defvalconst color
titleconst stringna
tooltipconst stringna
inlineconst stringna
groupconst stringna
displayconst PlotDisplaydisplay.ALL
activeinput booltrue

返回: input color

创建在脚本设置 UI 中公开的传入值。

参数

名称类型默认值说明
defvalconst string
titleconst stringna
tooltipconst stringna
inlineconst stringna
groupconst stringna
displayconst PlotDisplaydisplay.ALL
activeinput booltrue

返回: input string

创建在脚本设置 UI 中公开的传入值。

参数

名称类型默认值说明
defvalconst expression
titleconst stringna
tooltipconst stringna
inlineconst stringna
groupconst stringna
displayconst PlotDisplaydisplay.ALL
activeinput booltrue

返回: input float


int

将 na 转换为 int

参数

名称类型默认值说明
xint

返回: int

将 float 转换为 int(通过 math.floor 截断为零)。

参数

名称类型默认值说明
xfloat

返回: int


label

navi
label(x: Label): Label

将 na 转换为标签类型。对于初始化稍后分配的标签变量很有用。

参数

名称类型默认值说明
xLabel

返回: Label


library

navi
library(
    title: const string,
    overlay: const bool = false,
    dynamic_requests: const bool = true
  )

将脚本标识为库的声明语句。

参数

名称类型默认值说明
titleconst string图书馆的标题及其标识符。它不能包含空格、特殊字符或以数字开头。它用作出版物的默认标题,并在另一个脚本使用它时在 import 语句中唯一标识该库。它也用作图表上的脚本名称。
overlayconst boolfalse如果为 true,则库导出函数生成的任何视觉效果都将绘制在主图表窗格上。如果是 false,它们将出现在单独的窗格中。选修的。默认为 false
dynamic_requestsconst booltrue指定库的导出函数是否可以包含动态 request.*() 调用 - 即放置在条件结构或循环内的调用,或者接受通常需要更简单限定符的参数的“系列”参数的调用。选修的。默认为 true

line

navi
line(x: Line): Line

将 na 转换为线型。对于初始化稍后将分配的行变量很有用。

参数

名称类型默认值说明
xLine

返回: Line


linefill

navi
linefill(x: Linefill): Linefill

将 na 转换为行填充类型。对于初始化稍后分配的行填充变量很有用。

参数

名称类型默认值说明
xLinefill

返回: Linefill


max_bars_back

navi
max_bars_back(variable: variableref, num: const int)

通过 [] 历史引用运算符设置特定变量或内置系列可用的历史 bars 的最大数量。如果 bars 的实际数量超过最大值,则只有最新的 bars 可用。

参数

名称类型默认值说明
variablevariableref
numconst int历史 bars 的最大数量。

minute

navi
minute(timestamp: int, timezone: string = syminfo.timezone): int

从指定时区的 UNIX 时间戳中提取分钟 (0-59)。

参数

名称类型默认值说明
timestampintUNIX 时间戳(以毫秒为单位)。
timezonestringsyminfo.timezone用于解释的时区。默认为符号的时区。

返回: int


month

navi
month(timestamp: int, timezone: string = syminfo.timezone): int

从指定时区的 UNIX 时间戳中提取月份 (1-12)。

参数

名称类型默认值说明
timestampintUNIX 时间戳(以毫秒为单位)。
timezonestringsyminfo.timezone用于解释的时区。默认为符号的时区。

返回: int


na

navi
na(value: any): bool

测试 value 是否为 na(不可用)。对于处理数据间隙、系列缺失值或未初始化变量至关重要。

参数

名称类型默认值说明
valueany要测试的值。可以是任何类型。

返回: bool — 如果值未定义或缺失,则为 true,否则为 false


nz

na 值替换为指定的替换值。如果 source 不是 na,则返回 source 不变。如果 sourcena,则返回 replacement。对于确保计算不会传播 na 值至关重要。

参数

名称类型默认值说明
sourceT要检查的值。
replacementT如果 sourcena,则返回值。

返回: T

na 整数值替换为替换值(默认 0)。当您需要对丢失的整数数据进行数字回退时很有用。

参数

名称类型默认值说明
sourceint要检查的整数值。
replacementint0如果 sourcena,则返回值。默认为 0。

返回: int

na 浮点值替换为替换值(默认 0.0)。当您需要为缺失的价格或计算数据提供数字回退时很有用。

参数

名称类型默认值说明
sourcefloat要检查的浮点值。
replacementfloat0如果 sourcena,则返回值。默认为 0.0。

返回: float

na 颜色值替换为替换值(默认黑色)。当您需要可见的后备颜色来进行条件着色时非常有用。

参数

名称类型默认值说明
sourcecolor要检查的颜色值。
replacementcolor#000000如果 sourcena,则返回值。默认为#000000。

返回: color


plot

navi
plot(
    series: series float,
    title: const string = na,
    color: series color = color.BLUE,
    linewidth: input int = 1,
    style: input PlotStyle = PlotStyle.Line,
    track_price: input bool = false,
    hist_base: input float = 0,
    offset: simple int = 0,
    join: input bool = false,
    editable: input bool = true,
    show_last: input int = na,
    display: input PlotDisplay = display.ALL,
    format: input Format = na,
    precision: input int = na,
    force_overlay: const bool = na,
    linestyle: input PlotStyle = PlotStyle.Line
  ): Plot

在图表上绘制一系列数据作为可视化表示。支持线条、柱状图、面积、柱状图等多种样式。

参数

名称类型默认值说明
seriesseries float要绘制的一系列值。
titleconst stringna绘图的标题,显示在样式对话框中并作为数据窗口工具提示。
colorseries colorcolor.BLUE绘制元素的颜色。
linewidthinput int1绘制线的宽度,以像素为单位 (1-4)。
styleinput PlotStylePlotStyle.Line绘图样式:plot.style_lineplot.style_histogramplot.style_areaplot.style_columns 等。
track_priceinput boolfalse如果为 true,则会在最后一个值处显示一条水平价格线。
hist_baseinput float0直方图/列样式的基值。条形图从此水平延伸至系列值。
offsetsimple int0将绘图向左(负)或右(正)移动指定数量的 bars。
joininput boolfalse如果为真,则用线连接系列中的间隙。
editableinput booltrue如果为 true,则可以在样式对话框中编辑打印样式。
show_lastinput intna如果设置,则仅显示最后 N 个 bars。
displayinput PlotDisplaydisplay.ALL控制绘图的显示位置。使用 display.alldisplay.nonedisplay.panedisplay.price_scale 等。
formatinput Formatna覆盖数据窗口中该图的默认数字格式。
precisioninput intna显示的小数位数。
force_overlayconst boolna如果为 true,则强制绘图显示在主图表窗格上。
linestyleinput PlotStylePlotStyle.Line线条样式:PlotStyle.LinePlotStyle.LinePlotStyle.Line

返回: Plot — 可与 fill 一起使用的绘图句柄来填充绘图之间的区域。

示例

navi
// Plot a simple moving average
let smaLine = plot(ta.sma(close, 20), title: "SMA 20", color: color.BLUE);
navi
// Plot two EMAs and fill between them
let p1 = plot(ta.ema(close, 9), title: "EMA 9", color: color.GREEN); let p2 =
plot(ta.ema(close, 21), title: "EMA 21", color: color.RED); fill(p1, p2,
color: color.new(color.GRAY, 80));

plot_arrow

navi
plot_arrow(
    series: series float,
    title: const string = na,
    color_up: series color = color.BLUE,
    color_down: series color = color.BLACK,
    offset: simple int = 0,
    min_height: input int = 5,
    max_height: input int = 100,
    editable: input bool = true,
    show_last: input int = na,
    display: input PlotDisplay = display.ALL,
    format: input Format = na,
    precision: input int = na,
    force_overlay: const bool = na
  )

根据系列的符号在图表上绘制向上和向下箭头。当值为正时绘制向上箭头,当值为负时绘制向下箭头。箭头高度与绝对值成正比,在 minheightmaxheight 之间缩放。对于可视化动量或方向变化很有用。

参数

名称类型默认值说明
seriesseries float数据系列。正值绘制向上箭头,负值绘制向下箭头。 na 或零值不会绘制任何内容。
titleconst stringna标题显示在样式对话框和数据窗口中。
color_upseries colorcolor.BLUE向上箭头的颜色。
color_downseries colorcolor.BLACK向下箭头的颜色。
offsetsimple int0将箭头向左(负)或右(正)移动指定的 bars。
min_heightinput int5最小箭头高度(以像素为单位)。
max_heightinput int100最大箭头高度(以像素为单位)。
editableinput booltrue如果为 true,则可以在样式对话框中编辑绘图。
show_lastinput intna如果设置,则仅显示最后 N 个 bars 上的箭头。
displayinput PlotDisplaydisplay.ALL控制箭头的显示位置。
formatinput Formatna覆盖数据窗口中的默认数字格式。
precisioninput intna显示的小数位数。
force_overlayconst boolna如果为 true,力将显示在主图表窗格上。

plot_bar

navi
plot_bar(
    open: series float,
    high: series float,
    low: series float,
    close: series float,
    title: const string = na,
    color: series color = color.BLUE,
    editable: input bool = true,
    show_last: input int = na,
    display: input PlotDisplay = display.ALL,
    format: input Format = na,
    precision: input int = na,
    force_overlay: const bool = na
  )

在图表上绘制 OHLC bars。每个 bar 将开盘价、最高价、最低价和收盘价显示为传统的 bar 图表元素。对于覆盖自定义 OHLC 数据或显示转换后的价格数据非常有用。

参数

名称类型默认值说明
openseries float每个 bar 的开盘价。
highseries float每个 bar 的价格很高。
lowseries float每个 bar 的低价。
closeseries float每个 bar 的收盘价。
titleconst stringna标题显示在样式对话框和数据窗口中。
colorseries colorcolor.BLUE条形颜色。
editableinput booltrue如果为 true,则可以在样式对话框中编辑绘图。
show_lastinput intna如果设置,则仅显示最后 N 个 bars。
displayinput PlotDisplaydisplay.ALL控制 bars 的显示位置。
formatinput Formatna覆盖数据窗口中的默认数字格式。
precisioninput intna显示的小数位数。
force_overlayconst boolna如果为 true,力将显示在主图表窗格上。

plot_candle

navi
plot_candle(
    open: series float,
    high: series float,
    low: series float,
    close: series float,
    title: const string = na,
    color: series color = color.BLUE,
    wick_color: series color = color.BLUE,
    editable: input bool = true,
    show_last: input int = na,
    border_color: series color = color.BLACK,
    display: input PlotDisplay = display.ALL,
    format: input Format = na,
    precision: input int = na,
    force_overlay: const bool = na
  )

在图表上绘制烛台。每根蜡烛均显示开盘价、最高价、最低价和收盘价,并带有实体和影线。对于覆盖自定义烛台数据(例如 Heikin-Ashi)或显示转换后的价格系列非常有用。

参数

名称类型默认值说明
openseries float每根蜡烛的开盘价。
highseries float每根蜡烛的价格很高。
lowseries float每支蜡烛的低价。
closeseries float每根蜡烛的收盘价。
titleconst stringna标题显示在样式对话框和数据窗口中。
colorseries colorcolor.BLUE蜡烛体颜色。
wick_colorseries colorcolor.BLUE烛芯颜色。
editableinput booltrue如果为 true,则可以在样式对话框中编辑绘图。
show_lastinput intna如果设置,则仅显示最后 N 根蜡烛。
border_colorseries colorcolor.BLACK蜡烛体边框颜色。
displayinput PlotDisplaydisplay.ALL控制蜡烛的显示位置。
formatinput Formatna覆盖数据窗口中的默认数字格式。
precisioninput intna显示的小数位数。
force_overlayconst boolna如果为 true,力将显示在主图表窗格上。

plot_char

在系列具有非 na 值的每个 bar 处绘制一个字符。该字符基于 location 相对于 bar 定位。用于在图表上标记特定事件或条件。

参数

名称类型默认值说明
seriesseries float数据系列。当值不是 na 时,将绘制字符。
titleconst stringna标题显示在样式对话框和数据窗口中。
charinput string"⭐"要显示的字符(支持 Unicode)。
locationinput LocationLocation.AboveBar垂直位置:location.abovebarlocation.belowbarlocation.toplocation.bottomlocation.absolute
colorseries colorcolor.BLUE人物颜色。
offsetsimple int0将字符向左(负)或右(正)移动 bars。
textconst stringna显示在角色附近的可选文本。
text_colorseries colorcolor.BLUE可选文本的颜色。
editableinput booltrue如果为 true,则可以在样式对话框中编辑绘图。
sizeconst SizeSize.Auto字符大小:Size.AutoSize.TinySize.SmallSize.NormalSize.LargeSize.Huge
show_lastinput intna如果设置,则仅显示最后 N 个 bars 上的字符。
displayinput PlotDisplaydisplay.ALL控制字符的显示位置。
formatinput Formatna覆盖数据窗口中的默认数字格式。
precisioninput intna显示的小数位数。
force_overlayconst boolna如果为 true,力将显示在主图表窗格上。

在布尔系列为 true 的每个 bar 处绘制一个字符。当值为 true 时绘制字符。

参数

名称类型默认值说明
seriesseries bool布尔系列。当 true 时,将绘制一个字符。
titleconst stringna标题显示在样式对话框和数据窗口中。
charinput string"⭐"要显示的字符(支持 Unicode)。
locationinput LocationLocation.AboveBar垂直位置:location.abovebarlocation.belowbarlocation.toplocation.bottomlocation.absolute
colorseries colorcolor.BLUE人物颜色。
offsetsimple int0将字符向左(负)或右(正)移动 bars。
textconst stringna显示在角色附近的可选文本。
text_colorseries colorcolor.BLUE可选文本的颜色。
editableinput booltrue如果为 true,则可以在样式对话框中编辑绘图。
sizeconst SizeSize.Auto字符大小:Size.AutoSize.TinySize.SmallSize.NormalSize.LargeSize.Huge
show_lastinput intna如果设置,则仅显示最后 N 个 bars 上的字符。
displayinput PlotDisplaydisplay.ALL控制字符的显示位置。
formatinput Formatna覆盖数据窗口中的默认数字格式。
precisioninput intna显示的小数位数。
force_overlayconst boolna如果为 true,力将显示在主图表窗格上。

plot_shape

在每个 bar 处绘制一个形状,其中该系列具有非 na 值。提供各种形状样式(箭头、圆形、十字形等)。该形状基于 location 相对于 bar 定位。

参数

名称类型默认值说明
seriesseries float数据系列。当值不是 na 时,将绘制形状。
titleconst stringna标题显示在样式对话框和数据窗口中。
styleinput ShapeShape.XCross形状样式:shape.xcrossshape.crossshape.triangleupshape.triangledownshape.flagshape.circleshape.arrowupshape.arrowdownshape.labelupshape.labeldownshape.squareshape.diamond
locationinput LocationLocation.AboveBar垂直位置:location.abovebarlocation.belowbarlocation.toplocation.bottomlocation.absolute
colorseries colorcolor.BLUE形状颜色。
offsetsimple int0将形状向左(负)或右(正)移动 bars。
textconst stringna形状附近显示的可选文本。
text_colorseries colorcolor.BLUE可选文本的颜色。
editableinput booltrue如果为 true,则可以在样式对话框中编辑绘图。
sizeconst SizeSize.Auto形状大小:Size.AutoSize.TinySize.SmallSize.NormalSize.LargeSize.Huge
show_lastinput intna如果设置,则仅显示最后 N 个 bars 上的形状。
displayinput PlotDisplaydisplay.ALL控制形状的显示位置。
formatinput Formatna覆盖数据窗口中的默认数字格式。
precisioninput intna显示的小数位数。
force_overlayconst boolna如果为 true,力将显示在主图表窗格上。

在布尔级数为真的每个 bar 处绘制一个形状。当值为 true 时绘制形状。

参数

名称类型默认值说明
seriesseries bool布尔系列。当为 true 时,会绘制一个形状。
titleconst stringna标题显示在样式对话框和数据窗口中。
styleinput ShapeShape.XCross形状样式:shape.xcrossshape.crossshape.triangleupshape.triangledownshape.flagshape.circleshape.arrowupshape.arrowdownshape.labelupshape.labeldownshape.squareshape.diamond
locationinput LocationLocation.AboveBar垂直位置:location.abovebarlocation.belowbarlocation.toplocation.bottomlocation.absolute
colorseries colorcolor.BLUE形状颜色。
offsetsimple int0将形状向左(负)或右(正)移动 bars。
textconst stringna形状附近显示的可选文本。
text_colorseries colorcolor.BLUE可选文本的颜色。
editableinput booltrue如果为 true,则可以在样式对话框中编辑绘图。
sizeconst SizeSize.Auto形状大小:Size.AutoSize.TinySize.SmallSize.NormalSize.LargeSize.Huge
show_lastinput intna如果设置,则仅显示最后 N 个 bars 上的形状。
displayinput PlotDisplaydisplay.ALL控制形状的显示位置。
formatinput Formatna覆盖数据窗口中的默认数字格式。
precisioninput intna显示的小数位数。
force_overlayconst boolna如果为 true,力将显示在主图表窗格上。

second

navi
second(timestamp: int, timezone: string = syminfo.timezone): int

从指定时区的 UNIX 时间戳中提取秒数 (0-59)。

参数

名称类型默认值说明
timestampintUNIX 时间戳(以毫秒为单位)。
timezonestringsyminfo.timezone用于解释的时区。默认为符号的时区。

返回: int


strategy

navi
strategy(
    title: const string,
    shorttitle: const string = na,
    overlay: const bool = false,
    format: const Format = Format.Inherit,
    precision: const int = na,
    scale: const ScaleType = na,
    pyramiding: const int = 0,
    calc_on_order_fills: const bool = false,
    calc_on_every_tick: const bool = false,
    max_bars_back: const int = na,
    backtest_fill_limits_assumption: const int = 0,
    default_qty_type: const DefaultQtyType = DefaultQtyType.Fixed,
    default_qty_value: const float = 1,
    initial_capital: const float = 1000000,
    currency: simple string = syminfo.currency,
    slippage: const int = 0,
    commission_type: const CommissionType = CommissionType.Percent,
    commission_value: const float = 0,
    process_orders_on_close: const bool = false,
    close_entries_rule: const string = "FIFO",
    margin_long: const float = 100,
    margin_short: const float = 100,
    explicit_plot_zorder: const bool = false,
    max_lines_count: const int = 50,
    max_labels_count: const int = 50,
    max_boxes_count: const int = 50,
    calc_bars_count: const int = na,
    risk_free_rate: const float = 2,
    use_bar_magnifier: const bool = false,
    fill_orders_on_standard_ohlc: const bool = false,
    max_polylines_count: const int = 50,
    dynamic_requests: const bool = true,
    behind_chart: const bool = true
  )

将脚本指定为策略并设置与策略相关的属性。

参数

名称类型默认值说明
titleconst string脚本的标题。未设置 shorttitle 时显示在图表上,并成为发布时的默认标题。
shorttitleconst stringna图表和大多数图表相关窗口中显示的脚本的缩写显示名称。选修的。
overlayconst boolfalse如果是 true,则策略的视觉效果将绘制在主图表窗格上。如果是 false,它们将出现在单独的窗格中。选修的。默认为 false
formatconst FormatFormat.Inherit指定策略显示值的格式。可能的值:Format.InheritFormat.PriceFormat.VolumeFormat.Percent。选修的。
precisionconst intna策略显示值的小数位数。必须是不大于16的非负整数。当使用Format.Volume时,此设置无效。选修的。默认值继承自图表符号的精度。
scaleconst ScaleTypena使用的价格范围。可能的值:scale.rightscale.leftscale.none。仅当 overlay = true 时才允许 scale.none。选修的。
pyramidingconst int0同一时间允许在同一方向上进入的最大数量。选修的。默认值为 0,表示每个方向仅允许一个条目。
calc_on_order_fillsconst boolfalse如果是 true,则只要在 bar 期间执行订单,策略就会重新计算其逻辑,而不仅仅是在 bar 收盘时。选修的。默认为 false
calc_on_every_tickconst boolfalse如果是 true,策略会在每次传入的实时价格更新(变动点)时重新计算。如果是 false,则计算仅在 bar 关闭时发生。选修的。默认为 false
max_bars_backconst intna为所有变量和函数保留的历史缓冲区的深度,控制可以使用 [] 运算符读取多少个过去的值。选修的。
backtest_fill_limits_assumptionconst int0在假设执行限价单之前,市场必须移动超出限价的价格变动数。选修的。默认为 0
default_qty_typeconst DefaultQtyTypeDefaultQtyType.Fixed确定如何解释 default_qty_value。可能的值:strategy.fixedstrategy.percent_of_equitystrategy.cash。选修的。默认值为 strategy.fixed
default_qty_valueconst float1在入场调用中未指定数量时使用的默认订单大小。它的含义取决于default_qty_type。选修的。默认为 1.0
initial_capitalconst float1000000回测开始时策略可用的启动资金,以 currency 表示。选修的。默认为 1000000.0
currencysimple stringsyminfo.currency策略跟踪资本、利润和损失所用的基础货币。选修的。默认为图表符号的货币。
slippageconst int0添加到每个订单执行价格以模拟执行滑点的价格变动数量。选修的。默认为 0
commission_typeconst CommissionTypeCommissionType.Percent指定如何计算交易佣金。可能的值:strategy.commission.percentstrategy.commission.cash_per_contractstrategy.commission.cash_per_order。选修的。默认为 strategy.commission.percent
commission_valueconst float0佣金金额,根据 commission_type 解释。选修的。默认为 0.0
process_orders_on_closeconst boolfalse如果是 true,则在 bar 期间生成的订单将按该 bar 的收盘价处理,而不是在下一个 bar 的开盘价处理。选修的。默认为 false
close_entries_ruleconst string"FIFO"关闭多个打开的条目时应用的排序规则。 \"FIFO 首先关闭最旧的条目; ANY 允许关闭调用通过 ID 定位特定条目。选修的。默认为 FIFO\"
margin_longconst float100多头头寸的保证金要求,以头寸价值的百分比表示。值 100 表示没有杠杆。选修的。默认为 100.0
margin_shortconst float100空头头寸的保证金要求,以头寸价值的百分比表示。值 100 表示没有杠杆。选修的。默认为 100.0
explicit_plot_zorderconst boolfalse如果 true,绘图、填充和线条将按照它们在脚本代码中出现的顺序呈现,后面的声明绘制在前面的声明之上。选修的。默认为 false
max_lines_countconst int50图表上保存的最新 line 绘图的最大数量。可能的值:1–500。选修的。默认为 50
max_labels_countconst int50图表上保存的最新 label 绘图的最大数量。可能的值:1–500。选修的。默认为 50
max_boxes_countconst int50图表上保存的最新 box 绘图的最大数量。可能的值:1–500。选修的。默认为 50
calc_bars_countconst intna将回测限制为指定的最新 bars 数量。当 na 时,策略在所有可用历史记录上运行。选修的。默认为 na
risk_free_rateconst float2计算夏普比率和索尔蒂诺比率时使用的年度无风险利率(百分比)。选修的。默认为 2.0
use_bar_magnifierconst boolfalse如果是 true,引擎会使用更高分辨率的柱内数据来确定每个 bar 内更准确的订单执行价格。选修的。默认为 false
fill_orders_on_standard_ohlcconst boolfalse如果 true,限价单和止损单将根据 bar 的标准 OHLC 价格执行,忽略任何柱内价格路径。选修的。默认为 false
max_polylines_countconst int50图表上保存的最新 polyline 绘图的最大数量。可能的值:1–100。选修的。默认为 50
dynamic_requestsconst booltrue指定策略是否可以在条件结构或循环内包含动态 request.*() 调用,或者接受通常为非系列参数的“系列”参数的调用。选修的。默认为 true
behind_chartconst booltrue如果是 true,则所有图表和绘图都将呈现在图表的烛台或 bars 后面。仅当 overlay = true 时生效。选修的。默认为 true

string

navi
string(x: string): string

将 na 转换为字符串

参数

名称类型默认值说明
xstring

返回: string


table

navi
table(x: Table): Table

将 na 转换为表类型。对于初始化稍后分配的表变量很有用。

参数

名称类型默认值说明
xTable

返回: Table


time

解析由 timeframesession 选择的 bar 存储桶的打开时间戳。当您希望在特定时区解释目标会话时,此重载非常方便。

参数

名称类型默认值说明
timeframeseries string时间范围代码,例如 \"D60W\"
sessionseries stringna可选的会话窗口。省略时,将使用交易品种的常规会话规则。
timezoneseries stringsyminfo.timezone评估会话字符串时使用的时区。

返回: series int — 匹配 bar 开始的毫秒时间戳,或当前 bar 不属于请求的会话时的 na

将当前图表 bar 映射到另一个时间范围并返回该目标 bar 的开盘时间戳。查找可以首先在图表时间范围上移动,然后再在目标时间范围上移动。

参数

名称类型默认值说明
timeframeseries string目的地时间范围。空字符串回落至图表时间范围。
sessionseries stringna用于目标查找的可选会话过滤器。
bars_backseries int0在映射之前在图表时间范围上应用的偏移量。
timeframe_bars_backseries int0找到目标 bar 后应用额外偏移。

返回: series int


time_close

解析由 timeframesession 选择的 bar 存储桶的关闭时间戳。

参数

名称类型默认值说明
timeframeseries string时间范围代码,例如 \"D60W\"
sessionseries stringna查找过程中使用的可选会话窗口。
timezoneseries stringsyminfo.timezone解释会话字符串时使用的时区。

返回: series int — 匹配 bar 关闭的毫秒时间戳,或当当前 bar 位于请求的会话之外时的 na

将当前图表 bar 映射到另一个时间范围并返回该目标 bar 的结束时间戳。它使用与 time 相同的两阶段偏移模型,但报告 bar 结束而不是 bar 开始。

参数

名称类型默认值说明
timeframeseries string目的地时间范围。空字符串回落至图表时间范围。
sessionseries stringna用于目标查找的可选会话过滤器。
bars_backseries int0在映射之前在图表时间范围上应用的偏移量。
timeframe_bars_backseries int0找到目标 bar 后应用额外偏移。

返回: series int


timestamp

解析日期/时间字符串并返回相应的 UNIX 时间戳(以毫秒为单位)。该字符串必须采用 ISO 8601 格式(例如“2024-01-15”或“2024-01-15T09:30:00Z”)或 IETF RFC 2822 格式。

参数

名称类型默认值说明
date_stringstring要解析的日期/时间字符串。

返回: int

使用图表的时区从日期/时间组件创建 UNIX 时间戳。

参数

名称类型默认值说明
yearint年份(例如 2024 年)。
monthint月份(1-12)。
dayint一个月中的某一天 (1-31)。
hourint0小时 (0-23)。默认为 0。
minuteint0分钟 (0-59)。默认为 0。
secondint0第二个(0-59)。默认为 0。

返回: int — 自 1970-01-01 00:00:00 UTC 以来的毫秒数。

根据指定时区的日期/时间组件创建 UNIX 时间戳。

参数

名称类型默认值说明
timezonestringsyminfo.timezone时区(例如“America/New_York”、“UTC”、“GMT+8”)。
yearint年份(例如 2024 年)。
monthint月份(1-12)。
dayint一个月中的某一天 (1-31)。
hourint0小时 (0-23)。默认为 0。
minuteint0分钟 (0-59)。默认为 0。
secondint0第二个(0-59)。默认为 0。

返回: int — 自 1970-01-01 00:00:00 UTC 以来的毫秒数。


week_of_year

navi
week_of_year(timestamp: int, timezone: string = syminfo.timezone): int

从指定时区的 UNIX 时间戳中提取一年中的第几周 (1-53)。第 1 周是包含 1 月 4 日的那一周 (ISO 8601)。

参数

名称类型默认值说明
timestampintUNIX 时间戳(以毫秒为单位)。
timezonestringsyminfo.timezone用于解释的时区。默认为符号的时区。

返回: int


year

navi
year(timestamp: int, timezone: string = syminfo.timezone): int

从指定时区的 UNIX 时间戳中提取年份。

参数

名称类型默认值说明
timestampintUNIX 时间戳(以毫秒为单位)。
timezonestringsyminfo.timezone用于解释的时区。默认为符号的时区。

返回: int

基于 MIT 许可证发布。