关于while循环的理解 [开拓者 TB]
- 咨询内容:
老师,以下这个公式求的是当日的第一根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
 
-  TB技术人员:
barssincetoday这个函数就已经可以取得当天第1根线到当前的bar数。。
 没有必要用这个函数再加循环啊。
-  TB客服:
我知道,我就是看到这个公式,发现无法理解他的逻辑,但是加载到图表上运行还是正确的,不知道自己的理解差在哪里了
 
-  网友回复:
pb830806clone 发表于 2016-3-15 16:08 
 我知道,我就是看到这个公式,发现无法理解他的逻辑,但是加载到图表上运行还是正确的,不知道自己的理解差 ...
 这个逻辑,可能需要找一下该函数的作者来给你讲解了。抱歉,这个我没法解决。
 有兴趣可以看一下软件自带的函数barssincetoday的代码 ,学习那个应该更容易理解。
有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友
可联系技术人员 QQ: 511411198  进行 有偿 编写!(不贵!点击查看价格!)
                        
相关文章
- 
                        没有相关内容
                       

 
                     会员登录/注册
会员登录/注册