设为首页收藏本站

 找回密码
 注册
查看: 1111|回复: 5
打印 上一主题 下一主题

是bug还是程序问题 [复制链接]

Rank: 1

精华
0
UID
153192
积分
40
帖子
23
主题
5
阅读权限
10
注册时间
2011-1-1
最后登录
2020-5-19
跳转到指定楼层
1#
发表于 2020-4-27 11:49:00 |只看该作者 |倒序浏览
//------------------------------------------------------------------------
// 简称: myDayBarNum
// 名称: myDayBarNum
// 类别: 用户函数
// 类型: 用户函数
// 输出: 数值型
//------------------------------------------------------------------------
Vars
        NumericSeries barCnt1;
       
Begin

        barcnt1=IIF(currentbar==0,1,IIF(TrueDate(0)!=TrueDate(1),barcnt1[1]+1,BarCnt1[1]));
        return barcnt1;
End

Rank: 1

精华
0
UID
153192
积分
40
帖子
23
主题
5
阅读权限
10
注册时间
2011-1-1
最后登录
2020-5-19
2#
发表于 2020-4-27 11:52:58 |只看该作者
//------------------------------------------------------------------------
// 简称: Test
// 名称: Test
// 类别: 公式应用
// 类型: 用户应用
// 输出:
//------------------------------------------------------------------------
Vars
  Numeric count;
Begin
   count=mydaybarnum();
   Commentary("count="+text(count));



End

运行正确

使用道具 举报

Rank: 1

精华
0
UID
153192
积分
40
帖子
23
主题
5
阅读权限
10
注册时间
2011-1-1
最后登录
2020-5-19
3#
发表于 2020-4-27 11:58:26 |只看该作者
本帖最后由 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
结果如图
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

使用道具 举报

Rank: 1

精华
0
UID
153192
积分
40
帖子
23
主题
5
阅读权限
10
注册时间
2011-1-1
最后登录
2020-5-19
4#
发表于 2020-4-27 12:04:09 |只看该作者
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;
结果正确
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

使用道具 举报

Rank: 1

精华
0
UID
153192
积分
40
帖子
23
主题
5
阅读权限
10
注册时间
2011-1-1
最后登录
2020-5-19
5#
发表于 2020-4-27 12:09:47 |只看该作者
本帖最后由 shzq018 于 2020-4-27 12:14 编辑

函数中加一行
Vars
        NumericSeries barCnt1;
       
Begin

        barcnt1=IIF(currentbar==0,1,IIF(TrueDate(0)!=TrueDate(1),barcnt1[1]+1,BarCnt1[1]));
        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]+1,BarCnt1[1]));
实在看不出上面的写法有什么问题,输出的结果也是正确的,为什么就影响了系统函数CloseD的输出结果了呢?
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

使用道具 举报

Rank: 1

精华
0
UID
153192
积分
40
帖子
23
主题
5
阅读权限
10
注册时间
2011-1-1
最后登录
2020-5-19
6#
发表于 2020-4-29 08:50:50 |只看该作者
For i=0 to count
   {
   
     tmp=CloseD(i);
         Commentary("Day close["+text(i)+"]="+text(tmp));
   
   }
——————————————————————————
for 循环中包含了序列函数!OK!
可问题是发贴那天编译器为什么不报警?非得今天才报警?

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

bottom

静态版|手机版|联系我们|交易开拓者 ( 粤ICP备07044698   

GMT+8, 2024-4-19 18:42

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部