Skip to content

Latest commit

 

History

History
115 lines (75 loc) · 18.2 KB

Built-ins.md

File metadata and controls

115 lines (75 loc) · 18.2 KB

内置

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

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

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

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

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

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

内置变量的存在有不同的目的。以下是一些示例:

许多函数用于返回结果。以下是一些示例:

有些函数不返回结果,而是因其副作用而被使用,这意味着即使它们不返回结果,它们也会执行某些操作:

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

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

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

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

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

../_images/BuiltIns-BuiltInFunctions.png

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

  • 该函数的作用是什么。
  • 它的签名(或定义):
ta.vwma(source, length)  series float
  • 它包括的参数:sourcelength
  • 它返回结果的限定类型:“series float”。
  • 显示其使用情况的示例:。plot(ta.vwma(close, 15))
  • 一个显示其功能的示例,但以长形式显示,以便您可以更好地理解其计算。请注意,这只是为了解释——而不是作为可用的代码,因为它更复杂并且执行时间更长。使用长格式只有缺点。
  • “RETURNS”部分准确解释了函数返回的值。
  • “ARGUMENTS”部分列出了每个参数,并提供了有关调用函数时使用的参数所需的限定类型的关键信息。
  • “另请参阅”部分可让您参考相关的参考手册条目。
myVwma`这是对声明变量并将结果分配给它的代码行中的函数的调用:`ta.vwma(close, 20)
Pine Script™
CopiedmyVwma = 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™ 的类型系统。每个内置函数的参考手册条目都包含一个“参数”部分,其中列出了提供给每个函数参数的参数所需的限定类型。