如果不跨周期输出的结果是对的,正常来说应该是1,2,3,4,5的顺序,但是跨周期后就变成1,2,4,6,8了。
----------------------------------------------------------------------------
Params
Vars
Series<String> barDate;
Bool Newday;
Series<Numeric> barnum;
Events
OnBarOpen(ArrayRef<Integer> indexs)
{
barDate = DateToString(Date); //获取当前bar的日期
Newday = barDate[0]<> barDate[1]; //如果当前bar和上一根bar不是同一天
If (Newday)
{
barnum=1; //如果当前bar是今天的第一根bar,将当前bar编号为1
}
Else
{
barnum=barnum+1; //如果当前bar不是今天的第一根bar,自加一
}
Commentary(这是今天第+Text(barnum)+根bar);
}
------------------------------------------------------------------
//修改代码如下
OnBarOpen(ArrayRef<Integer> indexs)
{
if(ArrayFind(indexs,0)==false)
{
return;
}
Range[0:0]
{
barDate = DateToString(Date); //获取当前bar的日期
Newday = barDate[0]<> barDate[1]; //如果当前bar和上一根bar不是同一天
If (Newday)
{
barnum = 1; //如果当前bar是今天的第一根bar,将当前bar编号为1
}
Else
{
barnum = barnum + 1; //如果当前bar不是今天的第一根bar,自加一
}
Commentary(\"这是今天第\" +Text(barnum) + \"根bar\");
}
}