以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://weistock.com/bbs/list.asp?boardid=2)
----  [原创]金字塔调用dll公式的问题。  (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=6797)

--  作者:coolsun
--  发布时间:2011/6/8 16:56:58
--  [原创]金字塔调用dll公式的问题。
实际测试发现,在图表程序化交易和后台程序化交易模式中,公式是序列计算模式,调用dll中的函数,金字塔会不断的初始化dll,似乎是不断重新加载计算dll函数然后卸载,这样给用dll来做程序化策略带来非常大的麻烦,我无法使用dll全局变量保存一些计算的中间值数组,每次后台程序化交易调用dll都被初始化掉,希望金字塔开发人员能重视并解决这个问题。
--  作者:王锋
--  发布时间:2011/6/8 22:55:12
--  

可以考虑使用INI文件,将一些变量存放在本地硬盘上.

如果无法是实现,请告知原因,我们这边会在日后升级版考虑改进此问题


--  作者:coolsun
--  发布时间:2011/6/9 10:11:34
--  
以下是引用王锋在2011-6-8 22:55:12的发言:

可以考虑使用INI文件,将一些变量存放在本地硬盘上.

如果无法是实现,请告知原因,我们这边会在日后升级版考虑改进此问题

如果把变量或全局数组,放到硬盘上当然可以解决这个问题,但请考虑,当使用后台程序化交易模式,使用固定时间间隔预警模式,频繁读写效率及其低下导致策略无法执行,在图表交易模式,只要有行情数据进来,一样要频繁读写硬盘。 这个问题在飞狐和大智慧下都没有,我的策略运行得很好,本来准备购买金字塔专业版,却发现这个严重的问题,请尽快修复一下。 任何复杂一点的策略都不是靠公式系统脚本所能解决,很多要依靠c++的dll,希望金字塔重视。
--  作者:王锋
--  发布时间:2011/6/9 10:41:59
--  

不清楚楼主有多少数据需要写硬盘,如果只是一些全局变量写INI文件,是没有什么效率问题的,因为本身WINDOWS不会那么傻就直接写,他是有缓冲区的,只有在大量数据需要读写时才是直接对硬盘操作的.


--  作者:coolsun
--  发布时间:2011/6/9 11:38:54
--  
以下是引用王锋在2011-6-9 10:41:59的发言:

不清楚楼主有多少数据需要写硬盘,如果只是一些全局变量写INI文件,是没有什么效率问题的,因为本身WINDOWS不会那么傻就直接写,他是有缓冲区的,只有在大量数据需要读写时才是直接对硬盘操作的.

因为使用5分钟线,要根据最近2天的5分钟线数据生成一些中间数据,是个2维数组,其他还有几个用于交易的变量,量倒不大,5个模型,每个模型追踪10个品种,后台程序化交易模式情况下,每秒钟要打开读写50个文件。就是这么个量。在win2003下4G内存下测试,硬盘的不停闪,效率比较低。供你参考。
--  作者:admin
--  发布时间:2011/6/9 12:03:46
--  

可以考虑日后版本改进此问题.

但是没升级之前暂时还是按照前面楼上所说暂时写硬盘过渡一下吧


--  作者:coolsun
--  发布时间:2011/6/9 12:58:39
--  
谢谢,希望能尽快升级一下
--  作者:零和人生
--  发布时间:2011/6/9 16:17:36
--  
以下是引用coolsun在2011-6-9 10:11:34的发言:

如果把变量或全局数组,放到硬盘上当然可以解决这个问题,但请考虑,当使用后台程序化交易模式,使用固定时间间隔预警模式,频繁读写效率及其低下导致策略无法执行,在图表交易模式,只要有行情数据进来,一样要频繁读写硬盘。这个问题在飞狐和大智慧下都没有,我的策略运行得很好,本来准备购买金字塔专业版,却发现这个严重的问题,请尽快修复一下。任何复杂一点的策略都不是靠公式系统脚本所能解决,很多要依靠c++的dll,希望金字塔重视。

这论坛有真的高手啊(交易与程序双修的高人)!!那个鼎砥论坛大多是垃圾!!


--  作者:wd369
--  发布时间:2011/12/9 21:43:52
--  
楼主用设定独立段的方法可以解决这个问题吗? #pragma data_seg
--  作者:qingni0000
--  发布时间:2011/12/12 15:48:50
--  
以下是引用coolsun在2011-6-9 11:38:54的发言:

因为使用5分钟线,要根据最近2天的5分钟线数据生成一些中间数据,是个2维数组,其他还有几个用于交易的变量,量倒不大,5个模型,每个模型追踪10个品种,后台程序化交易模式情况下,每秒钟要打开读写50个文件。就是这么个量。在win2003下4G内存下测试,硬盘的不停闪,效率比较低。供你参考。

50个不算多。要高效可以考虑用内存映像文件保存数据,这样速度是最快的。也可以试试ramdisk或者ramos,如果可以满足要求,是最方便的。