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