Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共15 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

标题:金字塔有没有类似TB的自建用户函数的功能?

1楼
金日成 发表于:2013/1/28 9:47:07
就是比如多个策略需要调用同一个算法,然后我把这个算法独立写成一个模块让其他策略调用,这样便于代码维护,以及权限处理!我查了一下金字塔帮助,有一个stkindi的函数,有点类似,但是这个是跨周期函数,后面帮助的解释是尽量少用,会严重影响程序性能!那有没有别的方式呢?我就是想自建一个公用模块,不牵扯什么跨周期的调用,仅仅是把代码分离一下!如果有请老师告知!
2楼
admin 发表于:2013/1/28 9:49:21

如果不是大量的使用stkindi,没什么效率问题的。

实际上stkindi的功能等于自建函数的功能,并且功能更加灵活

3楼
金日成 发表于:2013/1/28 11:16:43
谢谢admin,但是用stkindi似乎只能返回数值型,不能返回字符型!比如返回一串字符!
4楼
金日成 发表于:2013/1/28 14:50:57

stkindi的限制如此之多!!

我如果想使用序列参数传递,目前是不行的!我如何能把序列变量变为常数变量传递进去呢?我在公用模块里只是想用一下价格!


图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看

5楼
金日成 发表于:2013/1/28 14:56:14
我有点搞不清了,为什么会出现这个提示?尤其是第三个情形,我是在引用模块里不能使用序列变量还是什么,请老师详细说明下啊,帮助这块实在没有详细说明。多谢!
6楼
王锋 发表于:2013/1/28 14:56:30
不清楚你的具体需求,你可以描述一下,我们帮你做个例子
7楼
金日成 发表于:2013/1/28 15:10:13
感谢王峰老师,我的需求是想把业务逻辑和资金管理代码分离,这样便于代码维护以及编写权限的设置(比如某些人只能编写资金管理模块)。这样我只需要传递几个参数给资金管理模块即可,比如一个开仓价,一个平仓价,以及权益等。然后在交易规则模块中去写stkindi调用资金管理模块,然后由资金管理模块返回一个仓位即可。我就是基于这个思路做的,可是系统的提示让我很为难!这种模块化开发是很常见的,请老师帮助一下!
8楼
王锋 发表于:2013/1/28 15:12:24

你的描述太笼统,没法给你做例子

9楼
金日成 发表于:2013/1/28 15:25:13

例子我已经做好了,代码如下:

公用模块test4代码:

INPUT:N_EnterPrice(1,1,200000,0.01);
INPUT:N_ExitPrice(1,1,200000,0.01);
INPUT:N_FirstAsSet(1,1,100000000,0.01);
INPUT:N_NowAsSet(1,1,100000000,0.01);
INPUT:N_MaxAsSet(1,1,100000000,0.01);

CwTrue:=1;

 

test3模块代码:

N1:=NUMTOSTR(CLOSE,2);
N2:=NUMTOSTR(CLOSE,2);
N3:=NUMTOSTR(1000,2);
N4:=NUMTOSTR(1000,2);
N5:=NUMTOSTR(1000,2);

CwTrue:=STKINDI('','test4.CwTrue('&N1&','&N2&','&N3&','&N4&','&N5&')',0,-1);

 

把test3加载到螺纹钢连续合约日线中,就报错了!

[此贴子已经被作者于2013-1-28 15:26:01编辑过]
10楼
admin 发表于:2013/1/28 15:31:15
代码用在逐K线模式下应该没问题的
共15 条记录, 每页显示 10 条, 页签: [1] [2]


Powered By Dvbbs Version 8.3.0
Processed in 0.03125 s, 2 queries.