设为首页收藏本站

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

关于求当日K线根数的问题 [复制链接]

Rank: 1

精华
0
UID
226419
积分
28
帖子
20
主题
8
阅读权限
10
注册时间
2016-1-8
最后登录
2016-4-15
跳转到指定楼层
1#
发表于 2016-3-16 12:17:33 |只看该作者 |倒序浏览
老师,以下这个公式求的是当日的第一根K线到现在的Bar数,用的是while循环,如果加载到豆粕小时线上,在currentbar=0的第一根K线上,由于不满足while循环条件,直接跳出,Todaybars=0;在currentbar=1的第二根K线上,由于currentbar>0并且date[0]==date[1],满足循环条件,所以todaybars=0+1=1;在currentbar=2的第三根K线上,由于currentbar>1并且date[1]==date[2],满足循环条件,所以todaybars=1+1=2;依次类推,在currentbar=8的第9根K线上(由于有夜盘,实际上是第二天的第一根K线),由于currentbar>7并且date[7]==date[8],满足循环条件,所以todaybars=7+1=8,但此时公式返回的却是0值,这个逻辑我想知道我是哪里理解错了?
Vars
Numeric TodayBars;
Begin
{
TodayBars=0;
While(currentBar>TodayBars and Date[TodayBars]==Date[TodayBars+1])
{
TodayBars=TodayBars+1;
}
Commentary("todaybars="+text(todaybars));
}
End

Rank: 1

精华
0
UID
226419
积分
28
帖子
20
主题
8
阅读权限
10
注册时间
2016-1-8
最后登录
2016-4-15
2#
发表于 2016-3-18 14:24:31 |只看该作者
上面这个问题想明白了,我自问自答,每根K线TodayBars=0;都会重新计算一遍,但是此公式如果加载到有夜盘的品种,会把晚间的K线算到当日中来,所以我把它改为:

使用道具 举报

Rank: 1

精华
0
UID
226419
积分
28
帖子
20
主题
8
阅读权限
10
注册时间
2016-1-8
最后登录
2016-4-15
3#
发表于 2016-3-18 14:24:59 |只看该作者
Vars
Numeric TodayBars;
Begin
{
TodayBars=0;
While(currentBar>TodayBars and TrueDate[TodayBars]==TrueDate[TodayBars+1])
{
TodayBars=TodayBars+1;
}
Commentary("todaybars="+text(todaybars));
}
End

使用道具 举报

Rank: 1

精华
0
UID
226419
积分
28
帖子
20
主题
8
阅读权限
10
注册时间
2016-1-8
最后登录
2016-4-15
4#
发表于 2016-3-18 14:27:59 |只看该作者
可是修改后并不能如愿返回当日K线根数啊,二是如currentbar一样计算K线根数,郁闷,哪位大仙给解释下?

使用道具 举报

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

bottom

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

GMT+8, 2024-5-10 05:44

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部