JSON Float In TradingView Alert



我正在构建一个自动止损机制,将pinescript JSON警报发送到flask,然后再发送到另一个应用程序。机器人将设置止损水平我可以得到完整的JSON消息跨越,但我有问题,我似乎不能插入一个变量从一个浮点到JSON警报。pinescript中的错误有点令人困惑,因为它说期望浮点数而不是字符串。但是在PS脚本中,变量只是"永远"是浮点数。";不能用'expr1'=字符串调用'operator +'。参数的类型应该是:series[float]"接下来,我尝试将浮点数转换为字符串,然后将其插入JSON脚本。这似乎已经从变量中读取了正确的价格水平,但问题是现在经纪人期望一个浮点数而不是字符串,并拒绝了订单。所以这是一个艰难的地方。如果可能的话,我想避免将字符串转换回接收服务器上的浮点数。(浮动——在字符串,在浮动)我怀疑我的语法是错误的,或者我需要使用另一个方法。有人能帮忙吗?由于

var symbol = syminfo.tickerid
var trailPrice = 0.00
t_trailPrice = float(variation -spread)

var avPrefix = "e=alpacapaper  "  + " s=" + symbol 
//IBK Message
if (barstate.islast)
if (t_trailPrice > trailPrice or trailPrice == 0.00) and barstate.isconfirmed 
trailPrice := t_trailPrice
alert('{"ticker": "' + syminfo.ticker + '", "strategy": {"order_action": "buy", "order_contracts": 144.66, "order_price": "' +  t_trailPrice + '"}}', freq=alert.freq_once_per_bar_close)

对于版本5 tostring()已更改为str.命名空间。现在可以使用str.tostring()函数将float或int型更改为string。如:

+ str.tostring(t_trailPrice) + etc. 

干杯我的朋友

编辑

我看到你有一组额外的报价可能导致你的问题。注意你的字典的结构。并向您的电子邮件发送提醒,以验证它们是如何呈现的。这里的代码将trailprice呈现为浮点数。

//IBK Message
if (barstate.islast)
if (t_trailPrice > trailPrice or trailPrice == 0.00) and barstate.isconfirmed 
trailPrice := t_trailPrice
alert('{"ticker": "' + syminfo.ticker + '", "strategy": {"order_action": "buy", "order_contracts": 144.66, "order_price": ' +  str.tostring(t_trailPrice) + '}}', freq=alert.freq_once_per_bar_close)

祝你好运