0

我正在尝试计算我在 Tradingview 中查看的加密货币的美元价值。一个例子是 ETHBTC。该脚本的目的是确定图表的货币 (BTC),然后查找 BTCUSD,例如得到 $40 000 的结果。但是,当正在查看的图表是 BTCUSD 时,脚本需要适应这种情况。在这种情况下,货币是美元,因此美元的价值应该是 1 美元。该脚本试图实现这一点:

//@version=5
indicator("My Script")


//Looking up the currency of current graph, ie ETHBTC or example 2, BTCUSD
theCurrency = syminfo.currency    // returns BTC or example 2 USD
theSymbol = theCurrency + "USD" // creates BTCUSD or incorrectly USDUSD
curUSDValue = 1.0
if (theSymbol == "USDUSD")
    curUSDValue := 1.0   //accomodate use case where currrecny is already USD
else
    curUSDValue := request.security(theSymbol, 'D', close)  //looks up price for BTCUSD

plot(curUSDValue)

Pinescript 不允许在 if / 条件语句中查找安全性,因为上面的脚本返回此错误:

无法在“if”、“switch”或“for”中调用“request.*()”函数

有关如何解决此 Pinescript 限制的任何建议?

4

1 回答 1

0

你永远不能request.security()if. 没有办法解决这个问题。
但是,汇率转换脚本已经存在。请参阅速率转换器。你可以以此为起点。

于 2022-01-19T09:24:59.267 回答