首页 > 解决方案 > 如何将 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

标签: pine-script

解决方案


首先最简单的方法是创建一个字符串变量,然后在调用中使用该变量。我们将调用变量键。接下来最好在 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}}

然后每次执行多单时,都会发送此警报

干杯,祝你一切顺利


推荐阅读