请问这两段代码的写法逻辑上到底有何不同

no_position_high=Highest(close[1],barssinceexit);
        no_position_low=lowest(close[1],barssinceexit);
        
    if(marketposition==0 and BarsSinceExit>=2)
    
    {    
        k=Max(1,k0*Power(slowatr[1]/fastatr[1],4));
    up_line=no_position_low+k*atr[BarsSinceExit];
    down_line=no_position_high-k*atr[BarsSinceExit];
}

=======================================================

=======================================================


        
    if(marketposition==0 and BarsSinceExit>=2)
 
    {    

        no_position_high=Highest(close[1],barssinceexit);
        no_position_low=lowest(close[1],barssinceexit);
        k=Max(1,k0*Power(slowatr[1]/fastatr[1],4));
    up_line=no_position_low+k*atr[BarsSinceExit];
    down_line=no_position_high-k*atr[BarsSinceExit];
}

计算结果会有差异,但是我不明白到底有什么不同的。在V5版本里我用的是第二段代码,长期用下来没有出问题,但是在V6里第二段代码会有严重逻辑错误,不得不改成第一段代码,但是计算结果还是和第二段代码有差异。

运算更快的代码写法
关于 FOR,WHILE,IF,ELSE中包含序列函数,可能存在潜在的逻辑错误。请确认代码无误的问题
官方文档上的代码有BUG
有无缠论的笔的代码写法分享一下
请问这句代码用到未来函数了吗?
潜在的逻辑错误
请教多品种、不同起始时间组合策略的净值计算逻辑
这两个函数有何区别
代码内写入委托跳点的写法
请教写法问题

序列类型使用的问题。

highest和lowest函数是一种序列类型,不能放在分支结构,或者bool表达式种and后面

具体原理请视频区搜索 序列类型  查看视频专题课程

公式编写技巧之序列类型的使用须知20190103-开拓者TBQuant量化平台,开启量化投资新时代 参考链接

社区也可以搜索相关文章

OK