以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://www.weistock.com/bbs/index.asp) -- 高级功能研发区 (http://www.weistock.com/bbs/list.asp?boardid=5) ---- dll函数中,跨周期数据的读取问题 (http://www.weistock.com/bbs/dispbbs.asp?boardid=5&id=10318) |
-- 作者:zs123 -- 发布时间:2012/2/27 12:11:19 -- dll函数中,跨周期数据的读取问题 当前周期是日线图,能读取日线数据,假如要读取其它周期如1小时图上的k线数据,怎样实现呢?读取多个周期的数据又怎样实现呢? |
-- 作者:王锋 -- 发布时间:2012/2/27 12:40:32 -- 从公式中引用的周线数据,然后从参数带进去DLL就行了 |
-- 作者:zs123 -- 发布时间:2012/2/27 14:52:48 -- 能具体举个例吗?谢谢!比如要把近一个月以来的日线、60分钟线、30分钟线、15分钟线都读取出来进行计算,具体咋实现呢? |
-- 作者:王锋 -- 发布时间:2012/2/27 15:12:54 -- 你先回复告知,如果只是其中一个周期,你是否会用DLL公式计算 |
-- 作者:zs123 -- 发布时间:2012/2/27 15:23:08 -- 一个周期的dll公式计算,现在是很熟悉了。 |
-- 作者:王锋 -- 发布时间:2012/2/27 15:34:18 -- 步骤如下: 首先 工具菜单-》选项-》勾选“DLL公式内存加载模式” DLL的入口函数,设计成如下的,比如之前只有一个FUN1是用来处理日线的,那么现在增加如下的 FUN1 FUN2 //处理5分钟,数据直接保存到全局变量数组中 FUN3 //处理10分钟的数据直接保存到全局变量数组中 ....最后一个函数,取前面保存的数据,进行计算最后得到数据结果 CLEAR 函数,用来开始运行时清理之前的数据,放在FUN1之前执行 |
-- 作者:zs123 -- 发布时间:2012/2/27 16:21:39 -- 这要用到后台交易吧,图表交易的dll函数只能处理当前打开的周期的数据吧? |
-- 作者:王锋 -- 发布时间:2012/2/27 16:27:05 -- 无需后台 上面的步骤有点复杂,还有更简单的方法,因为金字塔的DLL公式支持无限的参数带入,其实你只要先引用出跨周期的数据后,全部带入一个函数中就行了。 比如: D1:=CALLSTOCK(\'\',vtclose,6,0);//引用当前品种日线 D2:=CALLSTOCK(\'\',vtclose,7,0);//周线 D3:=CALLSTOCK(\'\',vtclose,8,0);//月线
MYBBI: "STOCKFUNC@MYBBI"(D1,D2,D3);
具体DLL中如何处理多参数序列数据,请仔细阅读StockFunc.h头文件中的文档描述 [此贴子已经被作者于2012-2-27 16:27:41编辑过]
|
-- 作者:zs123 -- 发布时间:2012/2/27 16:49:16 -- StockFunc.h头文件中说的是,能带入4个参数,而且只有参数1才能是序列参数,其它3个只能是常数参数,是这样的吗? |
-- 作者:王锋 -- 发布时间:2012/2/27 16:57:43 -- 还请有耐心的把头文件的描述看到最后好吧? |