是bug还是程序问题
//------------------------------------------------------------------------// 简称: myDayBarNum
// 名称: myDayBarNum
// 类别: 用户函数
// 类型: 用户函数
// 输出: 数值型
//------------------------------------------------------------------------
Vars
NumericSeries barCnt1;
Begin
barcnt1=IIF(currentbar==0,1,IIF(TrueDate(0)!=TrueDate(1),barcnt1+1,BarCnt1));
return barcnt1;
End
//------------------------------------------------------------------------
// 简称: Test
// 名称: Test
// 类别: 公式应用
// 类型: 用户应用
// 输出:
//------------------------------------------------------------------------
Vars
Numeric count;
Begin
count=mydaybarnum();
Commentary("count="+text(count));
End
运行正确 本帖最后由 shzq018 于 2020-4-27 12:00 编辑
Vars
Numeric count;
Numeric i;
Numeric tmp;
Begin
count=mydaybarnum()-1;
Commentary("count="+text(count));
For i=0 to count
{
tmp=CloseD(i);
Commentary("Day close["+text(i)+"]="+text(tmp));
}
End
结果如图
Vars
Numeric count;
Numeric i;
Numeric tmp;
Begin
count=mydaybarnum()-1;
Commentary("count="+text(count));
count=11;
For i=0 to count
{
tmp=CloseD(i);
Commentary("Day close["+text(i)+"]="+text(tmp));
}
End
修改程序,加一行 country=11;
结果正确
本帖最后由 shzq018 于 2020-4-27 12:14 编辑
函数中加一行
Vars
NumericSeries barCnt1;
Begin
barcnt1=IIF(currentbar==0,1,IIF(TrueDate(0)!=TrueDate(1),barcnt1+1,BarCnt1));
barcnt1=15;
return barcnt1;
End
这一数字已超过图上的天数
用Vars
Numeric count;
Numeric i;
Numeric tmp;
Begin
count=mydaybarnum()-1;
Commentary("count="+text(count));
For i=0 to count
{
tmp=CloseD(i);
Commentary("Day close["+text(i)+"]="+text(tmp));
}
End
调用
结果正确
3楼6以后的数字为0,后两图都正确读出了数据
本图13、14已超出图表范围,结果也是正确的。
barcnt1=IIF(currentbar==0,1,IIF(TrueDate(0)!=TrueDate(1),barcnt1+1,BarCnt1));
实在看不出上面的写法有什么问题,输出的结果也是正确的,为什么就影响了系统函数CloseD的输出结果了呢? For i=0 to count
{
tmp=CloseD(i);
Commentary("Day close["+text(i)+"]="+text(tmp));
}
——————————————————————————
for 循环中包含了序列函数!OK!
可问题是发贴那天编译器为什么不报警?非得今天才报警?
页:
[1]