我创建了 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)
我将不胜感激,亲切的问候
你只能以一种丑陋的方式做到这一点。您可以将两个指标附加到同一个图表,在两者中创建一些条件,并基于其中一个应显示值而另一个不会显示任何内容(或两者都不会执行任何操作)。
将两种逻辑放入单个指示器中,并在显示级别做出决定。