while语句在每个BAR上都执行吗?下面代码不太明白
VarsNumeric SumVolume(0);
Numeric Counter (0);
Begin
While (SumVolume < 100000)
{
SumVolume = SumVolume + Vol
Counter = Counter + 1;
}
End
这是帮助上的一个列子,来计算要产生大于100000成交量需要最近Bar的个数:
我将这个代码插入到FG1405上,输出counter的值,Date=2013-09-16 53
Date=2013-09-17 52
Date=2013-09-18 51
Date=2013-09-23 51
Date=2013-09-24 51
Date=2013-09-25 52
Date=2013-09-26 52
Date=2013-09-27 52
Date=2013-09-30 52
Date=2013-10-08 53
Date=2013-10-09 53
Date=2013-10-10 53
Date=2013-10-11 52
Date=2013-10-14 46
Date=2013-10-15 42
Date=2013-10-16 38
Date=2013-10-17 33
Date=2013-10-18 33
Date=2013-10-21 31
Date=2013-10-22 30
Date=2013-10-23 28
Date=2013-10-24 27
Date=2013-10-25 25
Date=2013-10-28 24
Date=2013-10-29 24
Date=2013-10-30 24
Date=2013-10-31 21
问题1:这也不对吧,玻璃一天的成交量肯定大于10万,怎么会出现counter值为几十。
问题2:这个while循环,在每个BAR上都执行吗
问题3,:counter为什么不定义成序列变量。如果是简单变量,它在每个bar上执行后,不又从新初始化了吗,为什么会输出53,52,51,51……
1、楼主加载的fg1405,选择的是日线周期吗?我将公式复制下来,加载,执行得到的结果是
DATE:20130916,3
DATE:20130917,1
DATE:20130918,1
DATE:20130923,2
DATE:20130924,2
DATE:20130925,2
DATE:20130926,1
DATE:20130927,2
DATE:20130930,2
DATE:20131008,3
DATE:20131009,2
DATE:20131010,2
DATE:20131011,2
DATE:20131014,1
DATE:20131015,1
DATE:20131016,1
DATE:20131017,1
DATE:20131018,1
DATE:20131021,1
DATE:20131022,1
DATE:20131023,1
DATE:20131024,1
DATE:20131025,1
DATE:20131028,1
DATE:20131029,1
DATE:20131030,1
DATE:20131031,1
DATE:20131101,1
DATE:20131104,1
DATE:20131105,1
DATE:20131106,1
DATE:20131107,1
DATE:20131108,1
DATE:20131111,1
DATE:20131112,1
DATE:20131113,1
DATE:20131114,1
DATE:20131115,1
DATE:20131118,1
DATE:20131119,1
DATE:20131120,1
DATE:20131121,1
DATE:20131122,1
DATE:20131125,1
DATE:20131126,1
DATE:20131127,1
DATE:20131128,1
DATE:20131129,1
DATE:20131202,1
DATE:20131203,1
DATE:20131204,1
DATE:20131205,1
DATE:20131206,1
DATE:20131209,1
DATE:20131210,1
DATE:20131211,1
DATE:20131212,1
DATE:20131213,1
DATE:20131216,1
DATE:20131217,1
DATE:20131218,1
DATE:20131219,1
DATE:20131220,1
DATE:20131223,1
DATE:20131224,1
DATE:20131225,1
……
2、while是在每个bar上都执行,这是tb程序运行的机制
3、counter是重新初始化了的,因为每一次都需要重新计算。楼主显示的52,53,表示当时那一次的循环执行了那么多次
是的,我又加载了一下,运行结果和你运行的结果相同,多谢。 从哪里看到counter值 用FileAppend函数,输出到TXT文件,可以看到。 新手学习中,没看一贴都有收获! 欢迎加入tb期货程序化讨论群304973064, 验证:tb论坛。
页:
[1]