以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  高级功能研发区  (http://weistock.com/bbs/list.asp?boardid=5)
----  dll函数中,跨周期数据的读取问题  (http://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
--  

还请有耐心的把头文件的描述看到最后好吧?