网上看到一个分享贴,说可以调用大智慧公式,只是我没有看懂要如何使用。
请问类似这样的调用是要写到哪里,自己的dll里面还是大智慧里面?
XDll_Free(Dll相对路径文件名);//释放动态链接库
XDll_Load(Dll相对路径文件名);//加载动态链接库
次源自客户定制需要,考虑再三,决定支持大智慧公式dll接口
大智慧公式dll语言规约和分析家一样.
算是给大家的节礼物
调用大智慧/分析家公式dll接口函数
在调用函数之前要创建缓冲区,并从对应历史数据接口填充k线数据
这个与历史数据接口对应的缓冲区,数据长度固定为480,配有10个输入输出缓冲区,
用作调用dll具体公式函数是时输入输出缓冲区
XDll_Free(Dll相对路径文件名);//释放动态链接库
XDll_Load(Dll相对路径文件名);//加载动态链接库
功能:释放或加载动态链接库
参数:Dll相对路径文件名
例如:XDll_Load("autop\qml\xxxxx.dll");
XDll_Exec(Dll相对路径文件名,
函数名,K线缓冲区序号,输出缓冲区序号,
参数1有效位置,参数1,参数2,参数3,参数4);//调用库函数
功能:调用库函数
参数:
1.Dll相对路径文件名
2.函数名(dll完全出口函数名,例如在大智慧中是macd,一般完全函数名是_macd)
3.K线缓冲区序号 指的是与历史数据库接口相对应k线数据缓冲区的序号0,1,2
4.输出缓冲区序号(可省) 指定调用库函数的输出缓冲区的序号,为0--9(可以是10个输入输出缓冲区中的任何一个)
默认为0
5.参数1有效位置(可省) 当有参数1时设定参数1的性质,<0时指定参数1是常数输入,这时参数1就是输入数据
当其>=0时,参数1就是选定做输入缓冲区的输入输出缓冲区序号,在库函数调用前一定要设置好预定数据
本参数值指定该系列输入数据的有效起始位置
6.参数1 输入参数,当其明确输入时,与上一参数配合,省略时,库函数调用输入参数为空
6.参数2,参数3,参数4 输入参数,当其明确输入时,将作为库函数调用参数,省略时,库函数对应调用参数为空
例如:XDll_Exec("autop\qml\xxxxx.dll","_kxian",0,0);//调用库函数
XDll_DBufDelete();//删除历史数据接口对应k线数据缓冲区
XDll_DBufCreate(开始位置,结束位置);//创建历史数据接口对应k线数据缓冲区,并调入数据
XDll_GetKXData(数据索引,k线数据编号0.t.1.o.2.h.3.l.4.c.5.v);//获取历史数据接口对应k线数据缓冲区