以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://weistock.com/bbs/list.asp?boardid=2)
----  全局变量保存bug!  (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=51703)

--  作者:vba
--  发布时间:2013/5/6 9:08:09
--  全局变量保存bug!

无论是在pel里还是在vba里,写入全局变量数据库后,当时查询是写进去了,可是如果随后金字塔出现崩溃,则重启后,全局变量数据库是上次启动前的值!

 

由于崩溃不好模拟测试,客服可以手工改写全局变量数据库的数据后,用windows任务管理器结束任务,以模拟崩溃效果。

 

这个bug太危险了,幸好是模拟盘跑出来的问题,否则实盘一旦崩溃,全局变量什么也记录不了。

请客服千万不要解释说1:崩溃是偶发事件。2:用注册表或ini的方式代替全局变量数据库。如果这样那不如把这个功能去掉。

 

请尽快修改吧,马上要用实盘的。谢谢!


--  作者:jinzhe
--  发布时间:2013/5/6 9:14:03
--  

测试后回复


--  作者:fly
--  发布时间:2013/5/6 13:44:00
--  

崩溃前后的情况,可能跟全局变量的备份机制有关系.

 

问题已看到且提交到开发,非常感谢楼主.


--  作者:vba
--  发布时间:2013/5/6 13:49:14
--  

我也感觉全局变量目前是写在内存里的,一崩溃就全完了!

谢谢,太感谢了,这个问题解决了,我就可以开展实盘了!感谢金字塔!


--  作者:王锋
--  发布时间:2013/5/6 23:35:56
--  

全局变量由于考虑到读写速度,均为放在内存中执行,金字塔关闭时记录硬盘,无法做到盘中即时的写盘,因为这样会严重影响速度。

你如果需要即时保存,那么还是建议你用注册表


--  作者:vba
--  发布时间:2013/5/7 8:55:08
--  

王峰老师,这样的逻辑有意义吗?为了速度而忽视系统稳定性!我想这是任何一个知名软件商所不会采用的逻辑,这个是金字塔应该考虑的问题!如果这样,那谁敢用全局变量数据库!这种影响系统安全性,稳定性的问题,怎么可能放任之呢?

 

如果金字塔非要这样,那建议加一个选项设置,全局变量数据库实时保存还是关闭软件的时候在保存,供用户自己选择。我想99.99%的用户都会选择实时保存。因为这样不会造成资金损失。

请金字塔慎重考虑我的意见。谢谢!没有别的意思,只是希望金字塔能越来越强大。作为一个程序员向您提出一些善意的建议。

[此贴子已经被作者于2013-5-7 8:55:19编辑过]

--  作者:王锋
--  发布时间:2013/5/7 9:18:24
--  
这个功能设计成这样不代表其他用户不需要,在那些不需要100%写盘成功的使用情况下还是有用的,既然你要确保写盘成功,那么已经给你提供其他方式方法了何必你这么叫真
--  作者:dwjgwsm
--  发布时间:2017/8/19 8:35:21
--  
 我也发现这个问题了!导致了错误的重复开仓.   可不可以搞个折中方案,就是每隔一段时间自动保存到硬盘?这个时间间隔可由客户来自由设定,如果是设定值是0的话就不自动保存. 就像office有个自动保存功能一样

另外,如果写注册表的话该怎么写?
[此贴子已经被作者于2017/8/19 8:36:38编辑过]

--  作者:马良
--  发布时间:2017/8/19 11:40:13
--  
注册表是vba可以操作的,pel只能操作ini文件,配置函数组里有,建议认真翻阅一下