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里第二段代码会有严重逻辑错误,不得不改成第一段代码,但是计算结果还是和第二段代码有差异。
序列类型使用的问题。
highest和lowest函数是一种序列类型,不能放在分支结构,或者bool表达式种and后面
具体原理请视频区搜索 序列类型 查看视频专题课程
公式编写技巧之序列类型的使用须知20190103-开拓者TBQuant量化平台,开启量化投资新时代 参考链接
社区也可以搜索相关文章
OK