不能使用可变变量作为安全函数的参数

2023-12-08

下面的脚本无法编译。
它抛出错误Cannot use a mutable variable as an argument of the security function
我不明白为什么。
我在安全函数中使用的参数不是可变变量。
当我注释掉该行时h := h * 3,脚本编译正常。
有人知道这是怎么回事吗?
这可能是 Pine 脚本错误吗?

//@version=4
study("My Script")

[h, l, c] = security(syminfo.ticker, "D", [high,low,close], lookahead = barmerge.lookahead_on) // actual daily high,low,close.
h := h * 3 // Commenting this line results removes the error: "Cannot use a mutable variable as an argument of the security function."

plot(h)

由于某种原因,当用户定义的函数返回解构赋值时,解构赋值的处理方式与当用户定义函数返回解构赋值时的处理方式不同security()做。封装你的security()调用函数将起作用:

//@version=4
study("")
f_sec() => security(syminfo.tickerid, "D", [high,low,close], lookahead = barmerge.lookahead_on)
[h, l, c] = f_sec()
h := h * 3
plot(h)

请注意,在使用前瞻时,您使用的是历史柱上的未来数据,而不是像您在其中所做的那样将系列偏移 1。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

不能使用可变变量作为安全函数的参数 的相关文章

  • 如何在Tradingview上的pinescript中在某个时间绘制垂直线?

    我想在每天的某个当地时间 例如 08 00 GMT 1 画一条垂直线 自从我的最后发表关于垂直线 pine script 已更新为包括vline 然而 这里的问题是如何把握正确的时间 大多数服务器 针对外汇 似乎都位于美国 并且交易视图本地
  • Pine脚本系列[string]到字符串转换

    我正在尝试从数组中读取符号 字符串 但是array get返回一个Series string 对象 而security只接受简单的字符串 我尝试转换为字符串 但它仍然给出 不接受系列 字符串 参数 错误 有办法让这项工作发挥作用吗 vers
  • 风险管理:如果已经做多,则不要下新订单

    如果该标志已经指示长 则不应有新的指示长的标志 如果标志不指示长计算表达式 longCondition if strategy long false rsi lt 30 and close gt moving avg shortCondit
  • 门票之间的时区转换

    我正在尝试为自动收报机上的背景着色ES1 对于那些属于股票交易时段内的柱SPX 我们可以使用时间 分辨率 会话 函数来查明某个柱是否处于指定的会话中 t1 time timeframe period 0930 1600 bgcolor t1
  • 在 pinescript 中向警报添加变量

    我想在 pine 脚本中对 TradingView 中的多只股票使用相同的警报条件 问题是我不知道哪只股票触发了警报 除非我创建脚本的副本并为每个脚本提供自定义消息 我想要这样的东西 alertcondition someCondition
  • 标记水平 EMA 线(变量)

    这是我使用 atm 的代码 感谢比约恩 米斯蒂安 len1 input 10 minval 1 title Length len2 input 21 minval 1 title Length len3 input 55 minval 1
  • 如何将plot语句放在if语句中

    我想在价格上绘制权益曲线 将该策略与简单的买入并持有进行比较 为了使图表有用 权益曲线可以从初始权益开始 或者与图表上的第一个价格一致 或者根本没有权益曲线 具体取决于手动输入 使用下面的代码 我得到这个 第 xx 行 无法在本地范围内使用
  • Pine Script:如何在每次价格更新时在标签上的图表时区中显示当前时间?

    我试图做一些看似微不足道的事情 但却遇到了各种各样的问题 每次当前价格更新时 我都想在标签上绘制某些基本信息 无论我的图表的时间范围如何 我能够准确地显示数量和价格信息 但是显示时间一直是一个挑战 我的第一次尝试是使用以下代码 if bar
  • 无法从 pine 编辑器中的函数访问值

    我正在尝试测试 RSI 14 DI 反转策略 但无法从它们所在的函数访问 DI 或 DI 变量为 加 和 减 有关如何访问它们的任何想法 这是代码 version 4 strategy RSI 14 DI DI Reversal Strat
  • 如何更改 pine 脚本中函数的全局变量?

    我正在尝试编写一个脚本来获得 9 个级别的江恩平方 我已经用其他语言完成了它 但无法理解此处的 pine 脚本 它说无法修改函数中的全局变量 有什么解决方案可以获取这里的值是我的脚本 version 4 study title Volume
  • 如何延迟 pine 脚本中生成的警报,如果图表时间范围为 10m,任何人都可以帮助将警报延迟 n 秒吗?

    我在一秒钟内收到太多警报 相同的代码 指标应用于不同的股票 代码 并且我希望将每个警报延迟至少 5 秒 我尝试过使用 pinecoders com 提供的这个指标代码https www pinecoders com faq and code
  • Pine Script 当前价格指标

    有没有办法在 Pine Script 中创建反映股票当前价格的指标 我需要这个指标 因为我需要在蜡烛收盘前 当存在特定交叉时 输入订单 并且逐条提供回测数据 我认为指标可以让我做到这一点 如果没有 还有其他方法可以解决这个问题 我不是一个经
  • Tradingview Pine-Script:如何仅绘制最后 x 个周期

    我只想绘制最后 x 个周期的指标 我怎么做 如果我可以进行时间操作 从plotStartDate中减去x period 也许我可以使用以下代码 period timeframe ismonthly or timeframe isweekly
  • 从更高的时间范围获取历史值

    我构建了一个自定义指标 并使用蜡烛顶部的点绘制了它们 当一个点与另一个点满足特定标准时 我会绘制一条连接它们的趋势线 这样可行 我想做的是从更高的时间范围增加这些线 因为我通常在 5m 上进行交易 意思是 如果每日时间范围内的这些点符合标准
  • 如何阻止连续打印多个买入/卖出信号?

    我正在尝试用我的脚本实现一些目标 如果前一个信号是 卖出 我只想打印 买入 信号 反之亦然 我只想在小于之前的 卖出 信号时打印 买入 信号 反之亦然 我一整天都在努力寻找这个问题的解决方案 我不明白如何使用 valuewhen 或 bar
  • 如何删除前一个(或第n个)标签?

    我正在尝试实施一个这个问题的答案 https stackoverflow com a 73437787 2229856 但不知何故没有显示标签 也没有显示任何错误消息 在此代码之外 所有标签都会显示 因此label new 实例本身运行良好
  • 买入和卖出信号在图表上相差甚远

    我尝试根据以下策略生成的信号绘制图表 但我从脚本中观察到的是蜡烛的信号产生点不同 如果有人知道这一点 请帮助我 作为参考 我附上了下面的快照 1 买入信号快照 https i stack imgur com RLtoP png 2 卖出信号
  • 如何引用 pinescript 中临时变量中存储的先前入场价格?

    我有一些基本的 MA 交叉策略指标 我想实施更好的策略 仅当价格高于之前购买时才出售 但我不确定如何在 PINE 语法中执行此操作 有什么想法吗 这是简单的代码 工作正常 它打开 LONG 或关闭 LONG 取决于交叉 MA Strateg
  • 一次设置 2 个系列

    我试图同时设置 2 个系列的高点和低点 但似乎无法正确获取代码 它应该在指定日 期的每个盘中柱上绘制输入的高值和低值 该代码旨在与股票代码 SPX 配合使用 version 4 study SPX 5 overlay true FUNCTI
  • 使用 Pine 脚本是否可以将某些文件中的一些外部数据添加到 TradingView 图表中?

    我的想法是 我希望查看未平仓合约数据以及价格图表 以便除了图表模式之外 还可以了解未平仓合约发生的情况 印度 NSE 每天都会提供文件 其中包含所有收盘价和 F O 数据的摘要 其中包含我想要添加到图表中的内容的详细信息 是否可以编写 Pi

随机推荐