Print("=========="+Text( CurrentBar)+"=======");
for i=N to MaxN
{
Integer _n=i;
HH=Highest(H,_n);
LL=Lowest(L,_n);
Print("i:"+Text(_n));
Print("HH:"+Text(HH));
Print("HH:"+Text(HV(H,_n)));
width=(HH - LL);
if(width >= MinWidth||i==MaxN)
{
x=i;
break;
}
}
Print("=================");
Print("i:5");
Print("HH:"+Text(Highest(H,5)));
Print("i:6");
Print("HH:"+Text(Highest(H,6)));
//在for内 如果执行i 5,6结果的竟然与for外面的结果是不一样的,为什么呢,那我想要实现for内使用Highest和Lowest计算,找到他两之间的差大于给定的一个值时退出for,拿到这个i就是这个满足条件的周期做后面的计算,怎么写代码才是正确的呢
highest函数是序列类型
序列类型最好不要在分支和循环结构做计算执行
最好是在主结构中做好计算,存放到变量容器里,然后在分支循环结构中调用
具体原因可以看视频
我想实现我这个逻辑,有没有其它的办法可以使用吗
请说清楚你想实现的逻辑
我是想从5周期到100周期内,找到最高价与最低价的差with大于等于MinWidth,找到就使用这个周期数i进一步后面的计算 没找到就使用最大的100周期做后面的计算
那我建议你去掉break
应该就是这个break导致计算错误的
尝试不要用break来写你这个逻辑