欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件金字塔软件问题提交 → 金字塔有没有类似TB的自建用户函数的功能?

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有4717人关注过本帖树形打印复制链接

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

帅哥哟,离线,有人找我吗?
金日成
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:83 积分:550 威望:0 精华:0 注册:2012/12/11 13:52:35
金字塔有没有类似TB的自建用户函数的功能?  发帖心情 Post By:2013/1/28 9:47:07 [显示全部帖子]

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

 回到顶部
帅哥哟,离线,有人找我吗?
金日成
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:83 积分:550 威望:0 精华:0 注册:2012/12/11 13:52:35
  发帖心情 Post By:2013/1/28 11:16:43 [显示全部帖子]

谢谢admin,但是用stkindi似乎只能返回数值型,不能返回字符型!比如返回一串字符!

 回到顶部
帅哥哟,离线,有人找我吗?
金日成
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:83 积分:550 威望:0 精华:0 注册:2012/12/11 13:52:35
  发帖心情 Post By:2013/1/28 14:50:57 [显示全部帖子]

stkindi的限制如此之多!!

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


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


 回到顶部
帅哥哟,离线,有人找我吗?
金日成
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:83 积分:550 威望:0 精华:0 注册:2012/12/11 13:52:35
  发帖心情 Post By:2013/1/28 14:56:14 [显示全部帖子]

我有点搞不清了,为什么会出现这个提示?尤其是第三个情形,我是在引用模块里不能使用序列变量还是什么,请老师详细说明下啊,帮助这块实在没有详细说明。多谢!

 回到顶部
帅哥哟,离线,有人找我吗?
金日成
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:83 积分:550 威望:0 精华:0 注册:2012/12/11 13:52:35
  发帖心情 Post By:2013/1/28 15:10:13 [显示全部帖子]

感谢王峰老师,我的需求是想把业务逻辑和资金管理代码分离,这样便于代码维护以及编写权限的设置(比如某些人只能编写资金管理模块)。这样我只需要传递几个参数给资金管理模块即可,比如一个开仓价,一个平仓价,以及权益等。然后在交易规则模块中去写stkindi调用资金管理模块,然后由资金管理模块返回一个仓位即可。我就是基于这个思路做的,可是系统的提示让我很为难!这种模块化开发是很常见的,请老师帮助一下!

 回到顶部
帅哥哟,离线,有人找我吗?
金日成
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:83 积分:550 威望:0 精华:0 注册:2012/12/11 13:52:35
  发帖心情 Post By: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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
金日成
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:83 积分:550 威望:0 精华:0 注册:2012/12/11 13:52:35
  发帖心情 Post By:2013/1/28 15:35:27 [显示全部帖子]

我就是在逐k下报错的。就是报我截图的那个提示。

 回到顶部
帅哥哟,离线,有人找我吗?
金日成
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:83 积分:550 威望:0 精华:0 注册:2012/12/11 13:52:35
  发帖心情 Post By:2013/1/28 15:39:38 [显示全部帖子]

谢谢admin,vba我先学习下,跟据我上面的示例代码,哪里有问题?为什么会有那样的提示呢?

 回到顶部
帅哥哟,离线,有人找我吗?
金日成
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:83 积分:550 威望:0 精华:0 注册:2012/12/11 13:52:35
  发帖心情 Post By:2013/1/29 10:37:23 [显示全部帖子]

建议金字塔完善一下stkindi,一个很简单的代码分离使用,没必要用vba啊,admin老师也说stkindi也等于自建函数功能,且灵活性更强。现在一个简单的变量参数都无法使用,建议金字塔完善一下stkindi,使其可以更好的完成自建函数功能!谢谢!

 回到顶部