设为首页收藏本站

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

求各位大仙解答 [复制链接]

Rank: 1

精华
0
UID
226419
积分
28
帖子
20
主题
8
阅读权限
10
注册时间
2016-1-8
最后登录
2016-4-15
跳转到指定楼层
1#
发表于 2016-3-18 14:36:38 |只看该作者 |倒序浏览
我想求日内K线根数,但是不用函数BARSSINCETODAY,可是按照下面公式写完后返回并不正确,请问你哪里出现问题?
Vars
Numeric TodayBars;
Begin
{
TodayBars=0;
While(currentBar>TodayBars and TrueDate[TodayBars]==TrueDate[TodayBars+1])
{
TodayBars=TodayBars+1;
}
Commentary("todaybars="+text(todaybars));
}
End

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
2#
发表于 2016-3-18 15:36:53 |只看该作者
如果你不想使用barssincetoday,还可以用以下的方式来算得日内K线数
  1. if(truedate(0)!= truedate(1))
  2. {
  3.       Todaybars = 1;
  4. }else
  5. {
  6.     Todaybars = Todaybars+1;
  7. }
复制代码
个人觉得不明白这里用循环是为何,所以没法指出问题在哪里。只不过,truedate()的用户函数,使用时是需要参数的,而非回溯。。
参数用(  ) ,回溯才是用[  ]

使用道具 举报

Rank: 1

精华
0
UID
226419
积分
28
帖子
20
主题
8
阅读权限
10
注册时间
2016-1-8
最后登录
2016-4-15
3#
发表于 2016-3-19 11:19:17 |只看该作者
谢谢版主回复,我知道我的问题出在哪里了,就是“ TrueDate[TodayBars]==TrueDate[TodayBars+1])”里面不是中括号啊,改为TrueDate(TodayBars)==TrueDate(TodayBars+1))后,上面的公式就表示barssincetoday,并且加载后正确,只是来回循环很费运算时间,但是我只是想弄明白TB运算的某些机制。

使用道具 举报

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

bottom

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

GMT+8, 2024-5-10 04:17

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部