第一个指标

Pine编辑器

Pine 编辑器是您编写脚本的地方。虽然您可以使用任何文本编辑器来编写 Pine 脚本,但使用我们的编辑器有许多优势:

  • 它按照 Pine Script™ 语法突出显示您的代码。
  • 当您将鼠标悬停在内置函数和库函数上时,它会弹出语法提醒。
  • 当您在 Pine Script™ 关键字上按ctrl+ click/时,它可以快速访问 Pine Script™ v5 参考手册弹出窗口。cmd
  • 它提供了自动完成功能,您可以使用 ctrl+ space+ 激活space
  • 它使得写入/编译/运行周期变得快速,因为保存图表上加载的脚本的新版本也会立即执行它。
  • 虽然它的功能不如顶级编辑器那么丰富,但它提供了搜索和替换、多光标和版本控制等关键功能。

要打开编辑器,请点击 TradingView 图表底部的“Pine Editor”选项卡。这将打开编辑器窗格。

第一个版本

我们现在将创建第一个可用的 Pine 脚本,即 Pine Script™ 中MACD指标的实现 :

//@version=5
indicator("MACD #1")
fast = 12
slow = 26
fastMA = ta.ema(close, fast)
slowMA = ta.ema(close, slow)
macd = fastMA - slowMA
signal = ta.ema(macd, 9)
plot(macd, color = color.blue)
plot(signal, color = color.orange)
  • 首先打开编辑器右上角的“打开”下拉菜单,然后选择“新建空白指示器”。
  • 然后复制上面的示例脚本,注意不要在选择中包含行号。
  • 选择编辑器中已有的所有代码并将其替换为示例脚本。
  • 点击“保存”并为您的脚本选择一个名称。您的脚本现在已保存在 TradingView 的云中,但以您的账户名称命名。除了您之外,没有人可以使用它。
  • 单击编辑器菜单栏中的“添加到图表”。MACD 指标将显示在图表下方的单独窗格中。

您的第一个 Pine 脚本正在图表上运行,它看起来应该像这样:

图像

让我们逐行查看脚本的代码:

第 1 行://@version=5

这是一个 编译器注释,告诉编译器该脚本将使用 Pine Script™ 的第 5 版。

第 2 行:indicator("MACD #1")

将图表上显示的脚本名称定义为“MACD”。

第 3 行:fast = 12

定义一个fast整数变量,作为快速 EMA 的长度。

第 4 行:slow = 26

定义一个slow整数变量,表示慢速 EMA 的长度。

第 5 行:fastMA = ta.ema(close, fast)

定义变量fastMA,包含系列的 EMA(指数移动平均线)计算结果,长度等于 fast(12),close即条形的收盘价。

第 6 行:slowMA = ta.ema(close, slow)

定义变量slowMA,包含 EMA 计算的结果,长度等于slow(26),来自close

第 7 行:macd = fastMA - slowMA

将变量定义macd为两个 EMA 之间的差值。

第 8 行:signal = ta.ema(macd, 9)

将变量定义signal为使用 EMA 算法(指数移动平均线)的平滑值,macd长度为 9。

第 9 行:plot(macd, color = color.blue)

调用函数使用蓝线plot输出变量。macd

第 10 行:plot(signal, color = color.orange)

调用函数使用橙色线plot输出变量。signal

第二

我们的脚本的第一个版本“手动”计算了 MACD,但由于 Pine Script™ 旨在编写指标和策略,因此许多常见指标都具有内置的 Pine Script™ 函数,包括一个用于...MACD: ta.macd()

这是我们的脚本的第二个版本:

//@version=5
indicator("MACD #2")
fastInput = input(12, "Fast length")
slowInput = input(26, "Slow length")
[macdLine, signalLine, histLine] = ta.macd(close, fastInput, slowInput, 9)
plot(macdLine, color = color.blue)
plot(signalLine, color = color.orange)

请注意,我们有:

让我们重复之前相同的过程,将该代码复制到新的指标中:

  • 首先打开编辑器右上角的“打开”下拉菜单,然后选择“新建空白指示器”。
  • 然后复制上面的示例脚本,再次注意不要在选择中包含行号。
  • 选择编辑器中已有的所有代码,并将其替换为我们脚本的第二个版本。
  • 单击“保存”并为脚本选择一个与之前不同的名称。
  • 单击编辑器菜单栏中的“添加到图表”。 “MACD #2”指标出现在“MACD #1”指标下的单独窗格中。

您的第二个 Pine 脚本正在图表上运行。如果您双击图表上的指标名称,您将打开脚本的“设置/输入”选项卡,您现在可以在其中更改慢速和快速长度:

图像

让我们看看我们的脚本的第二个版本中发生了变化的行:

第 2 行:indicator("MACD #2")

我们已经进行了更改#1,因此#2我们的指标的第二个版本在图表上显示不同的名称。

第 3 行:fastInput = input(12, "Fast length")

我们没有为变量分配常量值,而是使用了 input() 函数,这样我们就可以在脚本的“设置/输入”选项卡中更改值。12将是默认值,字段的标签将是"Fast length"。 如果在“输入”选项卡中更改值,则fastInput变量的内容将包含新值,并且脚本将使用该新值在图表上重新执行。 请注意,正如我们的 Pine Script™ 样式指南Input所建议的那样,我们在变量名称的末尾 添加了,以提醒我们稍后在脚本中,它的值来自用户输入。

第 4 行:slowInput = input(26, "Slow length")

我们对慢速长度执行相同的操作,注意对字段的标签使用不同的变量名、默认值和文本字符串。

第 5 行:[macdLine, signalLine, histLine] = ta.macd(close, fastInput, slowInput, 9)

在这里我们调用 内置函数 ta.macd() 来在一行中执行第一个版本的所有计算。该函数需要四个参数(函数名称后面的值,括在括号中)。它将三个值返回到三个变量中,而不是像我们迄今为止使用的函数那样只返回一个值,这就是为什么我们需要将接收函数结果的三个变量列表括在方括号中,放在符号的左侧=。请注意,我们传递给函数的两个值是包含快速和慢速长度的“输入”变量:fastInputslowInput

第 6 行和第 7 行:

我们在那里绘制的变量名称已经改变,但线条所起的作用与我们的第一个版本相同。

我们的第二个版本执行与第一个版本相同的计算,但我们可以更改用于计算的两个长度。我们的代码也更简单,缩短了三行。我们改进了脚本。

下一个

我们现在建议您转到我们的 后续步骤页面。

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