if中包含序列函数如何解决?

老师好,

if(条件满足)

{

zuidi= Lowest(low,20);

}

伪代码如上。

现在的状态下,一是会提示有潜在逻辑错误,二来输出的最低值也不是20周期内的lowest。

如果一定要满足某个条件后再回溯最低值,请问老师有好的解决方案吗?谢谢

if,else中包含序列函数,可能存在潜在的逻辑错误
请教 FOR,IF 语句里面不能包含序列函数,如何调整?如何求解 回溯区间内的最大值
FOR,WHILE,IF,ELSE中包含序列函数,可能存在潜在的逻辑错误。
FOR\WHILE\ELSE\IF包含序列函数,可能存在潜在逻辑错误?
关于 FOR,WHILE,IF,ELSE中包含序列函数,可能存在潜在的逻辑错误。请确认代码无误的问题
【警告 FOR,WHILE,IF,ELSE中包含序列函数,可能存在潜在的逻辑错误。】请问下,出现这句是不是可以直接忽略。
旗舰版循环内包含序列函数错误提示怎么解决?
循环内包含序列函数错误提示
报出警告:FOR,WHILE,IF,ELSE中包含序列函数,可能存在潜在逻辑错误
TB公式编写必看——序列函数避坑指南

Lowest在IF内就会提示,你if条件没法时刻满足导致序列变量赋值错误

正确做法

a= Lowest(low,20);

if(条件满足)

{

zuidi= a;

}

王老师好,代码进阶一步,如果lowest的周期是,if条件满足后才能确定的,比如

a= Lowest(low,zhouqi);

if(条件满足)

{

zhouqi== b(b为这个if条件之外的某个计数方式)

zuidi= a;

}

这样似乎每个bar都要执行一遍lowest。


但是如果在lowest前面加一个开关控制,又陷入了if中包含序列函数的问题。


请教王老师有什么好的解决办法么?



如果b是可以穷尽的,那就笨一点,所有可能的b都在条件语句外运算好。只要能穷尽,这点运算量对现在的计算机来说,不会有太大的差别

lowest 实际执行跟你想得不同

必须按上面的来,除非你能保证每次if内的lowest都能计算正确

在 If 大括号内用 for 循环 b 次把之前的 Low 比较一遍,得出最小值。