程序化交易策略变量生存周期 [开拓者 TB]
- 咨询内容: 新手在接触TB时,对变量的生存周期一般是没有概念的,学过编程C 或 C++语言的,肯定知道变量的作用域这个概念,但对于生存周期一般接触还是比较少的。
在使用时,我也总是纳闷有时变量使用Numeric 类型,运算就是得不到想要的结果
但全部使用NumericSeries 类型,有觉得没有必要,让内存占用持续上升。
(对新手解释一下:NumericSeries 相当于仓库来了新值,就往里边放;相当于无限大的数组
而Numeric 则里边只能存一个值,来了新值,就把过去的值扔到。)
扩展下:无限制使用序列变量,也是部分网友反映,运行1~2小时后,内存用量上升的原因。
言归正传:为什么有时使用Numeric 类型,运算就是得不到想要的结果呢?
让我们做个测试:
例1:周期一分钟
Params
Vars
Numeric YourVar1(0);
NumericSeries YourVar2(0);
Begin
//这里加入你的程序...
FileAppend("d:\\alive.log","赋值前-"++TimeToString(time)+"--Y1="+Text(Yourvar1)+"--Y2="+Text(Yourvar2));
If(time>=0.095500 && time <0.095600) {yourvar1=1;Yourvar2=2;}
FileAppend("d:\\alive.log","赋值后-"+TimeToString(time)+"--Y1="+Text(Yourvar1)+"--Y2="+Text(Yourvar2));
End
结果如下
未命名.GIF (4.87 KB, 下载次数: 0) 2012-8-14 09:38:49 上传 - TB技术人员: 全局变量是在每一个TICK都有一个固定的值,只要没有语句修改,这个值不会改变,不需要申明,全局变量可直接使用
有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友
可联系技术人员 QQ: 262069696 进行 有偿 编写!(不贵!点击查看价格!)
相关文章
-
没有相关内容