龙听期货论坛's Archiver

龙听 发表于 2024-3-29 11:01

【PART 1】指标:如何在另一个指标上计算 TradingView 指标?

当我们在图表上绘制一个指标时,通常会让该指标在价格数据上运行。但您知道 TradingView 指标也可以计算另一个指标吗?让我们一起来了解一下。

探索 TradingView 的 "在指标上应用指标 "功能

指标所做的大多数计算都基于图表工具,例如获取收盘价或成交量读数。但指标也可以将另一个指标输出的值作为其输入。

TradingView 的 "在指标上应用指标 "功能就可以做到这一点。现在,脚本不再只能在价格数据上运行,还可以在其他指标上运行。这就为我们提供了很多可能性。例如,利用该功能,我们可以轻松计算 EMA 价格上的 MACD。或者通过将 MACD 添加到 RSI 来确定自适应超买和超卖区域。

使用 "在指标上应用指标 "功能,只需点击几下鼠标,不需要一行代码。不过也有一些要求:

另一个指标(我们要在其上应用指标)必须在同一图表上运行。我们不能将指标应用于不在图表上运行的脚本。

并非所有指标都支持这一功能(TradingView 博客,2016 年)。遗憾的是,我无法在某处找到指标要求的文档。因此,我们必须进行测试,看看哪些指标可以使用 "在指标上应用指标 "功能。
另一个指标(我们要在其上应用指标)必须绘制我们感兴趣的值。我们只能将指标应用于另一个指标绘制的数据(使用 plot() 函数)。我们无法访问其他指标的输出或该指标内部的值。

而且(我们要在其上运行指标的)绘图值必须由指标创建。在撰写本文时,我们无法将指标应用到策略图中。而策略可以根据指标绘图进行计算。策略脚本也不能在另一个策略创建的图上运行。因此,TradingView 的 "在指标上应用指标 "功能仅适用于指标脚本。

现在让我们看看如何在 TradingView 中将一个指标应用到另一个指标。

将 TradingView 指标应用到另一个指标的三种方法

有三种方法可以使一个指标基于另一个指标进行计算(TradingView 博客,2016 年):"+"按钮、"在...上应用指标 "右键选项以及指标的输入选项。让我们仔细看看每种方法。

选项 1:使用 "+"图标应用 TradingView 指标

将一个指标应用到另一个指标的第一种方法是使用 "+"按钮。该图标位于图表上指标名称的右侧:

[img]http://p.algo2.net/2024/0329/03830bd6b4ff9.png[/img]

点击该图标会弹出一个窗口。在该窗口中,我们可以选择现有指标应根据哪个新指标进行计算。

该窗口中有多个自定义和内置 TradingView 指标:

[img]http://p.algo2.net/2024/0329/76224493cde8d.png[/img]

TradingView 的 "在指标上应用指标 "功能并不适用于所有脚本(TradingView 博客,2016 年)。这就是为什么我们在 "在......上应用指标 "窗口中找不到所有指标的原因。

(我找不到关于哪些指标有效、哪些无效的资源。我也没有找到 TradingView 的 "在指标上应用指标 "功能有哪些要求。所以我们现在只能试试看哪种方法有效)。

假设我们在 "在...上应用指标 "窗口中选择了标准的 "布林线 "指标。在这种情况下,TradingView 会在图表中添加一个新的布林带指标实例。

但布林带不是根据收盘价计算,而是根据 EMA 指标运行。这是因为我们按下 EMA 指标的 "+"按钮,然后选择布林带脚本。

在图表上,我们还可以看到布林带是根据 EMA 价格计算的。这是因为 "EMA "与指标的其他输入选项一起列出:

[img]http://p.algo2.net/2024/0329/7340b7db5e496.png[/img]

选项 2:右键单击指标图,选择 "在...上应用指标

将指标应用于另一个指标的第二种方法与第一种方法类似:也是在图表中添加一个新指标。

对于第二种方法,我们首先要在当前图表中找到一个要用作另一个指标输入的图。然后右键单击该图表,选择 "在...上应用指标":

[img]http://p.algo2.net/2024/0329/514ebf1f6a1d3.png[/img]

这将打开另一个窗口,我们可以在此选择根据这些绘图值计算的指标。在本例中,我们选择一个指标,根据 8 条 RSI 图形进行计算:

[img]http://p.algo2.net/2024/0329/b327947c7d257.png[/img]

目前,TradingView 的 "在指标上应用指标 "功能并不适用于所有脚本(TradingView 博客,2016 年),这也解释了为什么您无法在 "在...上应用指标 "窗口中找到所有标准和自定义指标。

让我们在绘制的 RSI 值上应用 EMA。为此,我们从指标脚本列表中选择 "指数移动平均线"。这样就在图表中添加了一个根据 RSI 值运行的移动平均线:

[img]http://p.algo2.net/2024/0329/06f7b83d788d5.png[/img]

在指标名称后面的括号中,我们可以看到它确实使用了 RSI 图线作为输入值。(见上图中的橙色箭头)。

方案 3:配置指标,使用输入选项进行计算

+"按钮和右键单击方法都可以在图表中添加一个新指标。但如果我们已经有了想要在图表中使用的两个指标,该怎么办呢?

在这种情况下,我们只需配置应根据另一个指标绘制的值进行计算的指标。为此,请单击指标名称右侧的齿轮图标,该指标应计算另一个指标。

在本例中,我们要在 9 条均线上运行凯尔特纳通道。因此,我们点击 Keltner 通道右侧的齿轮图标:

[img]http://p.algo2.net/2024/0329/2cdbae60bc867.png[/img]

这会弹出一个窗口,显示凯尔特纳通道指标的不同输入选项。在 "来源 "下拉菜单中,我们可以选择要计算的数据。

指定脚本使用的数据的输入名称因指标而异。这里的选项名为 "源",但如果我们编写自己的脚本,则可以使用任何我们想要的名称。不过,多个指标中不变的是下拉菜单。因此,一定要寻找包含 "收盘价"、"最高价"、"最低价 "和 "开盘价 "选项的下拉菜单。

当我们展开凯尔纳通道设置中的 "来源 "菜单时,会发现移动平均线图也列在其中:

[img]http://p.algo2.net/2024/0329/e069da4584b69.png[/img]

从其他指标中选择绘图名称后,确认指标设置。现在,凯尔特纳通道根据移动平均线进行计算。我们可以确认这一点,因为 "MA "现在出现在凯尔特纳通道的输入设置列表中:

[img]http://p.algo2.net/2024/0329/ec65188b4571c.png[/img]

要使 "应用指标 "功能与自定义 TradingView 指标配合使用,我们需要在指标代码中添加所谓的 "源 "输入选项。更多信息,请参阅为 TradingView 的 "在指标上应用指标 "功能编码输入选项。

移除一个指标和基于该指标计算的 TradingView 指标

当一个指标根据另一个指标绘制的值进行计算时,两个指标都需要保留在图表上。由于它们是绑在一起的,因此我们不能简单地删除一个而保留另一个。

如果我们试图删除另一个脚本计算的指标,TradingView 会发出警告并要求我们确认:

[img]http://p.algo2.net/2024/0329/03c0ca56d2942.png[/img]

当我们确认该删除操作时,TradingView 会删除选择删除的指标。但同时也会删除基于该指标脚本的任何指标。

如果您想在图表上保留其他指标,首先需要对它们进行配置,使它们不再根据您计划删除的指标进行计算。有关如何使用指标的输入选项,请参阅上文第三步中的步骤。

总结

利用 TradingView 的 "在指标上应用指标 "功能,我们可以根据另一个指标绘制的值计算一个指标。这样就可以快速测试想法并进行实验,而无需编写代码。

应用指标 "功能有几个要求。另一个指标(我们要在其上运行我们的指标)必须在同一图表上。而且该指标需要输出带有图表的值--我们不能在其他输出或值上应用指标。并非所有指标都支持 "应用指标 "功能。我们不能将指标应用于策略、策略应用于指标或策略应用于策略。

有三种方法可以在其他指标上应用指标。第一种是使用指标名称右侧的 "+"按钮。我们还可以右键单击指标图,选择 "在...上应用指标"。不过这两种方法都会在图表中添加一个新指标。如果指标已经在图表上,我们可以使用第三种方法:通过输入选项配置指标在哪个指标图上计算。

页: [1]