老师好,
if(条件满足)
{
zuidi= Lowest(low,20);
}
伪代码如上。
现在的状态下,一是会提示有潜在逻辑错误,二来输出的最低值也不是20周期内的lowest。
如果一定要满足某个条件后再回溯最低值,请问老师有好的解决方案吗?谢谢
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 比较一遍,得出最小值。