以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- Variable全局变量问题 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=2262) |
-- 作者:beitang -- 发布时间:2010/7/28 11:26:43 -- Variable全局变量问题 在后台交易模拟中发现Variable全局变量好像有问题,做一个测试程序:后台交易运行,固定时间间隔5秒。
Variable: Myholding=0; DEBUGFILE(\'C:\\test.txt\',\'VS:%.0f\',Myholding);
按照我的理解,在Myholding:=1后,应该保持为1。但实际测试文件的结果如下: 2010-07-28 11:12:00.265 VS:0 能请教一下是怎么回事?Variable定义的全局变量为什么被不停地初始化了呢? |
-- 作者:admin -- 发布时间:2010/7/28 11:33:43 -- Variable: Myholding=0; 每次执行一次循环检测时,都会被初始化一次,如果你需要变量一致记住,需要使用全局变量数据库,保存变量状态,请参考EXTGBDATA,EXTGBDATASET http://www.weistock.com/bbs/dispbbs.asp?boardid=4&Id=2240 |
-- 作者:beitang -- 发布时间:2010/7/28 11:39:13 -- 那和下面您在其他帖子里的描述不一样啊??
全局变量有两种,一种是在公式里的,每次执行都被初始化一次的,这里的每次执行指的是每次金字塔执行公式系统的运行,即从1周期到BARCOUNT的过程。 比如一个变量这样声明: variable:maxprofit=0; 他只会在第一个周期被初始化赋值为0,其他周期均不会对此变量进行赋值,比如: variable:maxprofit=0; IF BARPOS = 2 THEN MAXPROFIT := 10;
IF BARPOS = 10 THEN MAXPROFIT := 30;
AA:MAXPROFIT;
通过AA的显示曲线,用户应该会明白全局变量的用途
金字塔还有一种全局变量,可以保存数据到全局变量数据库中,具体参考 EXTGBDATASET 和 EXTGBDATA 函数的调用 [此贴子已经被作者于2010-7-28 11:39:42编辑过]
|
-- 作者:admin -- 发布时间:2010/7/28 12:03:12 -- 怎么不一样了?每次执行一次循环信号检测,都需要重新初始化公式系统 [此贴子已经被作者于2010-7-28 12:03:47编辑过]
|
-- 作者:beitang -- 发布时间:2010/7/28 12:35:48 -- 啊!后台交易,每次循环都会初始化公式!又明白了一点后台交易的机理。谢谢!
不过,有关软件运行机理方面的东西希望能够有集中介绍。 |
-- 作者:脑残 -- 发布时间:2010/10/24 20:05:57 -- 顶出来学习 |
-- 作者:wjxkjs -- 发布时间:2010/10/25 8:34:35 -- 使用全局变量实际交易无法使用移动止损止盈 代码工作在图表自动交易模式下
这是帮主的一个例子,按照前边的说法,每一次循环全局变量就初始化一次,所以,这里使用全局变量实际交易无法使用??? |
-- 作者:fly -- 发布时间:2010/10/25 9:01:11 -- 可以的. 楼主可参考论坛里variable相关的帖子,以助理解! |