如何解决松树脚本中的变量范围
这里我使用一些变量来设置退出条件,通过在刻度中定义 profit
或 stop
stopLR = float(floor(stopLoss)) - (3* syminfo.mintick)
targetLR = float(floor(target)) - (3* syminfo.mintick
if(longCondition and strategy.position_size == 0)
//average_long = close
targetLTick := (targetLR - close) / syminfo.mintick
stopLTick := (close - stopLR) / syminfo.mintick
strategy.exit("Long Buy",profit = targetLTick,comment = "Take Profit") //line 460
strategy.exit("Long Buy",loss = stopLTick,comment = "Book Loss") //line 461
添加到图表操作失败,原因:第 460 行:未声明的标识符 'targetLTick';
第 461 行:未声明的标识符“stopLTick”
这里有什么问题? 变量是全局范围的,拼写没有问题,为什么 pine 给我错误?
解决方法
根据您的代码段,targetLTick
和 stopLTick
是在本地范围内声明的。
尝试使用 na
值在全局范围内声明它们,然后在本地范围内重新分配,如下例所示:
stopLR = float(floor(stopLoss)) - (3* syminfo.mintick)
targetLR = float(floor(target)) - (3* syminfo.mintick
var float targetLTick = na
var float stopLTick = na
if(longCondition and strategy.position_size == 0)
//average_long = close
targetLTick := (targetLR - close) / syminfo.mintick
stopLTick := (close - stopLR) / syminfo.mintick
strategy.exit("Long Buy",profit = targetLTick,comment = "Take Profit") //line 460
strategy.exit("Long Buy",loss = stopLTick,comment = "Book Loss") //line 461
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。