以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 金字塔软件问题提交 (http://weistock.com/bbs/list.asp?boardid=2) ---- 金字塔有没有类似TB的自建用户函数的功能? (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=48154) |
-- 作者:金日成 -- 发布时间:2013/1/28 9:47:07 -- 金字塔有没有类似TB的自建用户函数的功能? 就是比如多个策略需要调用同一个算法,然后我把这个算法独立写成一个模块让其他策略调用,这样便于代码维护,以及权限处理!我查了一下金字塔帮助,有一个stkindi的函数,有点类似,但是这个是跨周期函数,后面帮助的解释是尽量少用,会严重影响程序性能!那有没有别的方式呢?我就是想自建一个公用模块,不牵扯什么跨周期的调用,仅仅是把代码分离一下!如果有请老师告知! |
-- 作者:admin -- 发布时间:2013/1/28 9:49:21 -- 如果不是大量的使用stkindi,没什么效率问题的。 实际上stkindi的功能等于自建函数的功能,并且功能更加灵活 |
-- 作者:金日成 -- 发布时间:2013/1/28 11:16:43 -- 谢谢admin,但是用stkindi似乎只能返回数值型,不能返回字符型!比如返回一串字符! |
-- 作者:金日成 -- 发布时间:2013/1/28 14:50:57 -- stkindi的限制如此之多!! 我如果想使用序列参数传递,目前是不行的!我如何能把序列变量变为常数变量传递进去呢?我在公用模块里只是想用一下价格! |
-- 作者:金日成 -- 发布时间:2013/1/28 14:56:14 -- 我有点搞不清了,为什么会出现这个提示?尤其是第三个情形,我是在引用模块里不能使用序列变量还是什么,请老师详细说明下啊,帮助这块实在没有详细说明。多谢! |
-- 作者:王锋 -- 发布时间:2013/1/28 14:56:30 -- 不清楚你的具体需求,你可以描述一下,我们帮你做个例子 |
-- 作者:金日成 -- 发布时间:2013/1/28 15:10:13 -- 感谢王峰老师,我的需求是想把业务逻辑和资金管理代码分离,这样便于代码维护以及编写权限的设置(比如某些人只能编写资金管理模块)。这样我只需要传递几个参数给资金管理模块即可,比如一个开仓价,一个平仓价,以及权益等。然后在交易规则模块中去写stkindi调用资金管理模块,然后由资金管理模块返回一个仓位即可。我就是基于这个思路做的,可是系统的提示让我很为难!这种模块化开发是很常见的,请老师帮助一下! |
-- 作者:王锋 -- 发布时间:2013/1/28 15:12:24 -- 你的描述太笼统,没法给你做例子 |
-- 作者:金日成 -- 发布时间:2013/1/28 15:25:13 -- 例子我已经做好了,代码如下: 公用模块test4代码: INPUT:N_EnterPrice(1,1,200000,0.01); CwTrue:=1;
test3模块代码: N1:=NUMTOSTR(CLOSE,2); CwTrue:=STKINDI(\'\',\'test4.CwTrue(\'&N1&\',\'&N2&\',\'&N3&\',\'&N4&\',\'&N5&\')\',0,-1);
把test3加载到螺纹钢连续合约日线中,就报错了! [此贴子已经被作者于2013-1-28 15:26:01编辑过]
|
-- 作者:admin -- 发布时间:2013/1/28 15:31:15 -- 代码用在逐K线模式下应该没问题的 |