- 精华
- 0
- 在线时间
- 18 小时
- UID
- 226419
- 积分
- 28
- 帖子
- 20
- 阅读权限
- 10
- 注册时间
- 2016-1-8
- 最后登录
- 2016-4-15
- 精华
- 0
- UID
- 226419
- 积分
- 28
- 帖子
- 20
- 主题
- 8
- 阅读权限
- 10
- 注册时间
- 2016-1-8
- 最后登录
- 2016-4-15
|
老师,以下这个公式求的是当日的第一根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 |
|