最新更新 - 网站地图 - 手机版
您的当前位置:融城股票网 > 股票软件 > 分析软件 > 大智慧软件 > 关于大智慧dll的一点心得

关于大智慧dll的一点心得无病毒

[下载地址]
  • 软件大小:unknow
  • 更新日期:2019-04-02
  • 软件语言:简体中文
  • 软件授权:免费软件
  • 软件人气:197
  • 官方网站:Home Page
  • 适用平台:Win10/Win8/Win7/WinXP/
立即下载

软件简介

关于大智慧dll的一点心得

这个是网上传播的接口:
#ifndef __DZHFUNC_H_
  #define __DZHFUNC_H_

  #include
  /*
  ///////////////////////////////////////////////////////////////////////////
  大智慧扩展函数规范V1.10
  1.本规范适用于大智慧1.10标准版和专业版公式系统.
  2.扩展函数用于实现系统函数不能实现的特殊算法.
  3.扩展函数用windows 32位动态连接库实现,建议使用VC++6.0编程.
  4.调用时在公式编辑器中写"动态库名称@函数名称"(参数表)即可,见后面的例子
?  5.动态连接库名称和函数名称可以自己定义.
  6.使用时可以将动态库拷贝到大智慧目录下使用.
  */

  #ifdef __cplusplus
  extern "C"
  {
  #endif //_cplusplus

  ///////////////////////////////////////////////////////////////////////////
  //分析周期
?  enum DATA_TYPE
  {
  TICK_DATA=2,???????? //分笔成交
?  MIN1_DATA,???????? //1分钟线
?  MIN5_DATA,???????? //5分钟线???????
  MIN15_DATA,???????? //15分钟线
?  MIN30_DATA,???????? //30分钟线
?  MIN60_DATA,???????? //60分钟线
?  DAY_DATA,???????? //日线
?  WEEK_DATA,???????? //周线
?  MONTH_DATA,???????? //月线
?  MULTI_DATA???????? //多日线
?  };

  ///////////////////////////////////////////////////////////////////////////
  //基本数据

?  typedef struct tagSTKDATA???????
  {
  time_t??????? m_time;???????? //时间,UCT
  float???????? m_fOpen;???????? //开盘
?  float???????? m_fHigh;???????? //最高
?  float???????? m_fLow;???????? //最低
?  float???????? m_fClose;???????? //收盘
?  float???????? m_fVolume;???????? //成交量
?  float???????? m_fAmount;???????? //成交额
?  WORD??????? m_wAdvance;???????? //上涨家数(仅大盘有效)
  WORD??????? m_wDecline;???????? //下跌家数(仅大盘有效)
  }STKDATA;


  ////////////////////////////////////////////////////////////////////////////
  //扩展数据,用于描述分笔成交数据的买卖盘

?  typedef union tagSTKDATAEx
  {
  struct
  {
  float m_fBuyPrice[3];??????? //买1--买3价
?  float m_fBuyVol[3];???????? //买1--买3量
?  float m_fSellPrice[3];??????? //卖1--卖3价???????
  float m_fSellVol[3];??????? //卖1--卖3量
?  };
  float m_fDataEx[12];???????? //保留
?  }STKDATAEx;

  /////////////////////////////////////////////////////////////////////////////
  /*财务数据顺序(m_pfFinData内容)

  序号??????? 内容

?  0??????? 总股本(万股),
  1??????? 国家股,
  2??????? 发起人法人股,
  3??????? 法人股,
  4??????? B股,
  5??????? H股,
  6??????? 流通A股,
  7??????? 职工股,
  8??????? A2转配股,
  9??????? 总资产(千元),
  10??????? 流动资产,
  11??????? 固定资产,
  12??????? 无形资产,
  13??????? 长期投资,
  14??????? 流动负债,
  15??????? 长期负债,
  16??????? 资本公积金,
  17??????? 每股公积金,
  18??????? 股东权益,
  19??????? 主营收入,
  20??????? 主营利润,
  21??????? 其他利润,
  22??????? 营业利润,
  23??????? 投资收益,
  24??????? 补贴收入,
  25??????? 营业外收支,
  26??????? 上年损益调整,
  27??????? 利润总额,
  28??????? 税后利润,
  29??????? 净利润,
  30??????? 未分配利润,
  31??????? 每股未分配,
  32??????? 每股收益,
  33??????? 每股净资产,
  34??????? 调整每股净资,
  35??????? 股东权益比,
  36??????? 净资收益率
?  */

  /////////////////////////////////////////////////////////////////////////////
  //函数数据结构

?  typedef struct tagCALCINFO
  {
  const DWORD???????? m_dwSize;???????? //结构大小
?  const DWORD???????? m_dwVersion;???????? //调用软件版本(V2.10 : 0x210)
  const DWORD???????? m_dwSerial;???????? //调用软件序列号
?  const char*???????? m_strStkLabel;???????? //股票代码
?  const BOOL???????? m_bIndex;???????? //大盘

?  const int???????? m_nNumData;???????? //数据数量(pData,pDataEx,pResultBuf数据数量)
  const STKDATA*???????? m_pData;???????? //常规数据,注意:当m_nNumData==0时可能为 NULL
  const STKDATAEx*??????? m_pDataEx;???????? //扩展数据,分笔成交买卖盘,注意:可能为 NULL

  //m_nParam1Start用以指出参数1是常量参数还是序列参数
?  //若m_nParam1Start<0, 则参数1为常数参数,参数等于*m_pfParam1;
  //若m_nParam1Start>=0,则参数1为序列数参数,m_pfParam1指向一个浮点型数组,
  //数组大小为m_nNumData,数据有效范围为m_nParam1Start--m_nNumData.
  //在时间上m_pData[x] 与 m_pfParam1[x]是一致的
?  const int???????? m_nParam1Start;???????

  //1.函数调用参数由m_pfParam1--m_pfParam4带入,若为NULL则表示该参数无效.
  //2.当一个参数无效时,则其后的所有参数均无效.
  //??????? 如:m_pfParam2为NULL,则m_pfParam3,m_pfParam4一定为NULL.
  //3.参数1可以是常数参数或序列数参数,其余参数只能为常数参数.
  const float*???????? m_pfParam1;???????? //调用参数1???????
  const float*???????? m_pfParam2;???????? //调用参数2
  const float*???????? m_pfParam3;???????? //调用参数3
  const float*???????? m_pfParam4;???????? //调用参数3

  //函数计算结果用pData->m_pResultBuf带回.
  float*???????? m_pResultBuf;???????? //结果缓冲区

?  const DATA_TYPE???????? m_dataType;???????? //数据类型
?  const float*???????? m_pfFinData;???????? //财务数据
?  }CALCINFO;

?

  /////////////////////////////////////////////////////////////////////////
  /* 函数输出

?  __declspec(dllexport) int xxxxxxxx(CALCINFO* pData);??????? ---------- A
  __declspec(dllexport) int xxxxxxxxVAR(CALCINDO* pData);??????? ---------- B


  1.函数名称需全部大写.
  2.函数必须以上述A,B两种形式之一声明,请用实际函数名称替代xxxxxxxx;
  对于C++程序还需包括在 extern "C" { } 括号中.
  3.上述形式A用于声明不带参数或全部参数为常数的函数;
  形式B用于声明参数1为序列数的函数;两种函数的区别在于后者以VAR结尾.
  4.函数计算结果用pData->m_pResultBuf带回.
  5.函数返回-1表示错误或全部数据无效,否则返回第一个有效值位置,即:
  m_pResultBuf[返回值] -- m_pResultBuf[m_nNumData-1]间为有效值.
  6.函数名称长度不能超过15字节,动态连接库文件名不能超过9字节(不包括扩展名),
  动态库名称不能叫SYSTEM,EXPLORER
  7.编译时请请选择1字节对齐

?  */

  //示例函数,使用时用实际名称替换
?  __declspec(dllexport) int WINAPI MYMACLOSE(CALCINFO* pData);
  __declspec(dllexport) int WINAPI MYMAVAR(CALCINFO* pData);

  __declspec(dllexport) int WINAPI MYMACLOSE_CALC_PREV(CALCINFO* pData);
  __declspec(dllexport) int WINAPI MYMAVAR_CALC_PREV(CALCINFO* pData);

  #ifdef __cplusplus
  }
  #endif //_cplusplus

  #endif //_DZHFUNC_H_


国庆假期,翻了一下网上的大智慧接口,由于本人太不专业,搞的太慢。

?发现几个问题:
1、分析周期的枚举数字变成了1-9,不再是文字。
2、基本数据里面,时间,开盘价,收盘价等等都不正确了。应该是名字变了。
3、扩展数据也不正确了,不过这个用处不大。
4、calcinfo这个struct能用,
?? 1)m—nnumdata类似于数据总和,这个接口解释不正确。由于stkdata不正确,*m-pdata就没什么意义了。
?? 2)m-nparamlstart是类似于有数据对应于m—nnumdata的编号。比如k线 是从头就有的,自然就是0,如果k线开始5天后才有数据,那么就是5了。这个接口的解释很拗口。
?? 3)m-nparamlstart所谓常数还是序列也很拗口,常数就是指大智慧编译系统中的变量,比如c,比如ma(c,1)之类,序列就是指数字,一般是自然数。
?? 4)*??????? m_pResultBuf这个输出接口显然太少了,而且只能是float,应该还有其他的输出接口。

?一点小心得,总体来说,这个接口也就只能满足一下k线的处理,比如,一些缠轮的分笔连接,缺口的编写,因为内部的编译器在对有未来函数的,或者说不能混合根据k线之后的一些数据进行计算,但这些计算有助于对k线整体的理解。尽管dll有优势,但单单这个接口用于k线处理很划不来。

?我很想找更详细的接口,主要用于自定义数据的处理,目前来看行情软件提供的k线信息,成交量已经满足不了多数短线要求了。

说明

    官方下载地址

    Copyright 2018- www.ahjiedai.com 融城股票网 版权所有 邮箱:terrylm@qq.com

    免责声名:本站所发表的内容仅用于学术交流和学习,内容所带来的一切后果均与本站无关。若您发现本站存在您非授权的原创作品,请第一时间联系本站删除!

    Top