如何根据图表中显示的主要交易品种绘制自定义指标(不同交易品种的不同指标)?

问题描述 投票:0回答:1

我创建了 2 个定制的指数指标,一个针对 4 家大型科技公司,另一个针对 4 家大银行。我希望能够根据显示的工作代码告诉 trandingview 使用哪一个。 这是indicator-index.1,名为“Tech_idx”(大科技):

tindicator(title = "Big.tech", shorttitle = "BigTech", overlay = false)

sec_1_t =  request.security("NASDAQ:AAPL", timeframe.period, close) 
sec_2_t =  request.security("NASDAQ:MSFT", timeframe.period, close)
sec_3_t =  request.security("NASDAQ:GOOGL", timeframe.period, close) 
sec_4_t =  request.security("NASDAQ:AMZN", timeframe.period, close) 

Tech_idx = sec_1_t*0.25+sec_2_t*0.25+sec_3_t*0.25+sec_4_t*0.25

plot(Tech_idx, title="Tech_i", color=color.blue)

还有类似的指标-index.2,名为“Bank_idx”,(四大银行):

tyindicator(title = "Big.Banks", shorttitle = "BigBanks", overlay = false)

sec_1_b =  request.security("NYSE:JPM", timeframe.period, close) 
sec_2_b =  request.security("NYSE:BAC", timeframe.period, close)
sec_3_b =  request.security("NYSE:WFC", timeframe.period, close) 
sec_4_b =  request.security("NYSE:GS", timeframe.period, close) 

Bank_idx = sec_1_b*0.25+sec_2_b*0.25+sec_3_b*0.25+sec_4_b*0.25

plot(Bank_idx, title="Bank_i", color=color.blue)

现在我希望能够告诉tradingview,如果“JPM”(摩根大通)是工作股票,则将“Bank_idx”作为要显示的指标,但如果“AAPL”(APPLE)是工作股票,然后将“Tech_idx”作为要显示的指标,否则为 Null。


以类似的方式,我知道如何调用 SECURITIES,但它不适用于调用 INDICATORS 并且我没有找到其他方法:

ticker = syminfo.ticker
var string b = 

ticker == "JPM" ? "XLF" : 
ticker == "AAPL" ? "XLK" : 

NULL

secB = request.security(b, timeframe.period, close) 

plot(secB, title="b", color=color.blue)

我将不胜感激,亲切的问候

pine-script tradingview-api indicator
1个回答
0
投票

你只能以一种丑陋的方式做到这一点。您可以将两个指标附加到同一个图表,在两者中创建一些条件,并基于其中一个应显示值而另一个不会显示任何内容(或两者都不会执行任何操作)。

将两种逻辑放入单个指示器中,并在显示级别做出决定。

© www.soinside.com 2019 - 2024. All rights reserved.