内置

介绍

Pine Script™ 有数百个内置变量和函数。它们为您的脚本提供有价值的信息并为您进行计算,免除您编写代码的麻烦。您对内置函数了解得越多,您就能用 Pine 脚本做更多的事情。

在本页中,我们概述了 Pine Script™ 的一些内置变量和函数。本手册中涵盖特定主题的页面将更详细地介绍它们。

所有内置变量和函数均在 Pine Script™ v5 参考手册中定义。它之所以被称为“参考手册”,是因为它是 Pine Script™ 语言的权威参考。无论您是初学者还是专家,它都是您使用 Pine 编写代码时必不可少的工具。如果您正在学习第一种编程语言,请将参考手册作为您的朋友。忽略它将使您使用 Pine Script™ 的编程体验变得困难和令人沮丧——就像使用任何其他编程语言一样。

同一家族中的变量和函数共享相同的命名空间,它是函数名称的前缀。 例如,ta.sma()ta函数位于命名空间中,它代表“技术分析”。命名空间可以同时包含变量和函数。

一些变量也有函数版本,例如:

  • ta.tr变量 返回当前条形图的“真实范围”。ta.tr (true)函数调用也返回“真实范围”,但当 通常需要计算它的 前一个 收盘价是na时,它会high - low改为使用 na 进行计算。
  • time 变量给出 当前柱的 开盘 时间 。time (timeframe)函数返回 从指定位置开始 的柱的 开盘时间,即使图表的时间范围不同。time (timeframe, session)函数返回 从指定位置开始的柱的开盘 时间 ,但前提是该时间在指定 时间内。time (timeframe, session, timezone)函数返回 从指定位置开始的柱的开盘 时间 ,但前提是该 时间在指定时间内timeframetimeframesessiontimeframesessiontimezone

内置变量

内置变量有不同的用途。以下是几个例子:

内置函数

许多函数都用于返回结果。以下是几个示例:

有些函数不返回结果,但会用于产生副作用,这意味着即使它们不返回结果,它们也会做一些事情:

其他函数返回结果,但我们并不总是使用它,例如: hline()plot()array.pop()label.new()等。

所有内置函数均在 Pine Script™ v5 参考手册中定义。您可以单击此处列出的任何函数名称,转到参考手册中的条目,该条目记录了函数的签名,即它接受的参数列表和它返回的值的合格类型(一个函数可以返回多个结果)。参考手册条目还将列出每个参数:

  • 其名称。
  • 它所需值的限定类型(我们使用参数来命名调用函数时传递给函数的值)。
  • 该参数是否是必需的。

所有内置函数都在其签名中定义了一个或多个参数。并非所有函数都需要所有参数。

让我们看一下 ta.vwma() 函数,它返回源值的成交量加权移动平均值。这是参考手册中的条目:

图像

该条目为我们提供了使用它所需的信息:

  • 该函数的作用是什么。
  • 其签名(或定义):
ta.vwma(source, length) → series float
  • 它包含的参数包括sourcelength
  • 返回结果的限定类型:“series float”。
  • 一个显示其使用示例:plot(ta.vwma(close, 15))
  • 一个展示其功能的示例,但采用较长格式,以便您更好地理解其计算。请注意,这是为了解释 --- 而不是可用的代码,因为它更复杂且执行时间更长。使用较长格式只有缺点。
  • “RETURNS”部分准确解释了函数返回的值。
  • “ARGUMENTS”部分列出了每个参数,并给出了有关调用函数时使用的参数所需的合格类型的关键信息。
  • “另请参阅”部分请参阅相关的参考手册条目。

这是在一行代码中对该函数的调用,该代码声明一个 myVwma变量并将结果分配ta.vwma(close, 20)给它:

myVwma = ta.vwma(close, 20)

注意:

  • 我们使用内置变量 close 作为形参的参数source
  • 我们将20其用作参数的实参length
  • 如果放置在全局范围内(即从一条线的第一个位置开始),它将由 Pine Script™ 运行时在图表的每个条上执行。

我们还可以在调用函数时使用参数名称。在函数调用中使用时,参数名称称为关键字参数:

myVwma = ta.vwma(source = close, length = 20)

使用关键字参数时,您可以更改参数的位置,但前提是将它们用于所有参数。当调用具有许多参数的函数(例如 indicator() )时,您也可以放弃第一个参数的关键字参数,只要您不跳过任何参数即可。如果您跳过一些,则必须使用关键字参数,以便 Pine Script™ 编译器可以确定它们对应的参数,例如:

indicator("Example", "Ex", true, max_bars_back = 100)

不允许以这种方式混合:

indicator(precision = 3, "Example") // Compilation error!

调用内置函数时,务必确保使用的参数属于所需的合格类型,每个参数的合格类型都会有所不同。

要了解如何做到这一点,需要了解 Pine Script™ 的 类型系统。每个内置函数的参考手册条目都包含一个“ARGUMENTS”部分,其中列出了提供给每个函数参数的参数所需的合格类型。

Original text
Rate this translation
Your feedback will be used to help improve Google Translate