当前位置:→ 股海网大智慧软件 → 正文
  • 关于大智慧dll的一点心得

  • 相关简介:关于大智慧dll的一点心得 这个是网上传播的接口: #ifndef __DZHFUNC_H_   #define __DZHFUNC_H_   #include time.h   /*   ///////////////////////////////////////////////////////////////////////////   大智慧扩展函数规范V1.10   1.本规范适用于大智慧1.10标准版和专业版公式系统.   2.扩展函数用于实现系统函数不能实现的特殊算法.   3.扩

  • 文章来源:股海网作者:股海网发布时间:2016-10-03浏览次数:下载次数:0 

关于大智慧dll的一点心得

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

  #include <time.h>
  /*
  ///////////////////////////////////////////////////////////////////////////
  大智慧扩展函数规范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线信息,成交量已经满足不了多数短线要求了。

 ☟问题反馈 ☞┄┄┄┄┄┄┄┄┄┄→收藏资源:

关于大智慧dll的一点心得

  • 下载资源所需积分

    0

  • 当前拥有积分

    0

上传会员: 
股海网
文件大小: 
Bytes
上传时间: 
2016-10-03
下载积分: 
-
免责声明: 
请仔细阅读并同意后才能下载
本附件为用户分享上传,股海网没有对文件进行验证,不能保证下载资源的准确性、安全性和完整性,也不保证下载资源能正常安装和使用,且下载后扣除的积分无法退还,除非您充分理解并完全接受本声明,否则您无权下载。
本站对提供下载的软件、指标、资料等不拥有任何权利,其版权归该下载资源的合法拥有者所有。本附件仅供学习和研究使用,不得用于商业或者非法用途,如有侵犯您的版权, 请参看 《股海网侵权处理流程》《股海网免责声明条款》
点击下载无反应时,更换主流浏览器重新登录操作,如360浏览器、Edge浏览器、谷歌浏览器,个别浏览器有不兼容现象。
勾选以下表示您已经阅读并同意以上声明才能下载本文件,扣除积分无法退还!
我已阅读所有条款规定, 请点我同意 所有条款内容!我自愿下载!
提示:如下载失败,请点关闭刷新此页面或提交问题反馈给管理员→
关闭

关于我们 - 联系我们 - 隐私政策 - 免责声明 - 下载帮助 - 广告合作 - SiteMap - TOP
增值电信业务经营ICP许可证:湘B2-20210269 湘ICP备09016573号-10 湘公网安备43108102000040号
Copyright © 2021 铭网科技,All Rights Reserved.