无法避免 request.security() 上的 'mutable variable' 错误消息。我做错了什么?

Failed to avoid 'mutable variable' error message on request.security(). What did I do wrong?

我尝试实现 有用答案中的示例代码,但 'mutable variable' 错误仍然存​​在。我做错了什么?

下面,我换了一个太长的行(BooleanVar =)以避免溢出,以使其易于阅读。

MyFunction() =>
    BooleanVar = //THE ERROR MESSAGE ADDRESSES THIS LINE
     ta.barssince(request.security(syminfo.tickerid, "5", MutableVar1)) 
     < ta.barssince(request.security(syminfo.tickerid, "5", MutableVar2)) // *

AnotherBooleanVar = MyFunction() and SomethingAlreadyCalculated
plotshape(AnotherBooleanVar ? ThingToPlot : na, text="Buy", location=location.belowbar, style=shape.labelup, size=size.tiny, color=longColorConfirmed, textcolor=color.white)

奇怪的是,在我将 AnotherBooleanVar 包含到 plotchar() 函数之前,标记行没有错误消息。如果我从 plotchar() 中删除该标准,那么上面的行突然没有错误。

错误信息是,重复:Cannot use a mutable variable as an argument of the request.security function.

再一次,所有与您变异的变量相关的东西 都需要包装在一个函数中。需要在此函数内部创建变异变量并在此函数内部进行变异。目标是使变量包含在函数内,以便可以在不同的交易品种上计算它。在您的示例中,您从函数请求 MutableVar1,但变量本身是在其他地方创建和变异的。