pine-script - 如何将 pinescrit 策略脚本中的变量发送到警报脚本
问题描述
我想将一个变量从策略脚本传递给警报。
这是我的实际情况:
我有一个这样的策略脚本:
LongCondition = crossover(close,high[1])
if LongCondition
strategy.entry("Long", strategy.long, comment="Open")
和一个研究脚本来执行它。一切都很好。
现在我需要为订单数量大小设置一个变量,所以我设置了一个变量和:
mySize=8
LongCondition = crossover(close,high[1])
if LongCondition
strategy.entry("Long", strategy.long, comment="Open", qty=8)
同样,一切正常,回测工作良好。
现在我想将 mySize 变量传递给警报以在 Binance 上执行它。我使用外部服务来创建警报并将其放在 tradeviev 创建警报窗口上。有些像这样:
{"pair":"BTCUSDT","units":"0.01","unitsType":"absolute","exchange":"blablabla","apiKey":"blablabla","token":"blablabla","isBuy":true,"isMarket":true}
但是在这种情况下,我只能设置一个固定的“单位”值,并且总是相同的,在示例中我设置了“0.01”,所以总是购买这个尺寸的订单。
我怎样才能将我的变量“mySize”传递给这个脚本?
我搜索并询问,唯一的解决方案(但不起作用)是将生成的脚本复制到我的 strategy.entry 行。所以最终的代码是
mySize=8
LongCondition = crossover(close,high[1])
if LongCondition
strategy.entry("Long", strategy.long, comment='{"pair":"BTCUSDT","units":"' + tostring(mySize) + '","unitsType":"absolute","exchange":"blablabla","apiKey":"blablabla","token":"blablabla","isBuy":true,"isMarket":true}')
But this do not work!
Can someone help me? thankyou
解决方案
首先最简单的方法是创建一个字符串变量,然后在调用中使用该变量。我们将调用变量键。接下来最好在 alert_message 参数中使用它,以免我们的键显示在图表上。
key = ' {"pair":"BTCUSDT","units":"0.01","unitsType":"absolute","exchange":"blablabla","apiKey":"blablabla","token":"blablabla","isBuy":true,"isMarket":true} '
if LongCondition
strategy.entry("Long", strategy.long, alert_message=key)
接下来,您将需要发出警报。在警报消息字段中,您必须删除所有内容并放置以下内容
{{strategy.order.alert_message}}
然后每次执行多单时,都会发送此警报
干杯,祝你一切顺利