dll编写指标

Posted yukizzc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了dll编写指标相关的知识,希望对你有一定的参考价值。

使用方法不做细诉详见网上教程http://bbs.tianya.cn/post-no110-13686215-1.shtml

1、如果需要传入多个序列参数时,可以使用m_pData指针获得对应当前bar状态的开高低收等数据。

 

2、对于结尾都有return nPeriod – 1;              return -1;

这样两个return,其中后者表示如果传入参数不符合要求则返回函数无效。

前一个return比较难理解,比如传入参数5,则也会强制从第四根k线才有输出值。所以如果需要从第0根k开始就直接有数据,这里直接改成return 0; 具体的k线生成状态可以借由for循环的起点开始纪录

for (i = nPeriod – 1; i<pData->m_nNumData; i++)

 

3、调试方法:vs中设置好断点,然后打开大智慧,vs中点开调试-附加到进程选择大智慧,然后按f5逐步调试中间变量。

 

4、需使用vs6.0编译,高版本的比如2015编译出的dll给没有安装vs的计算机会产生无法使用的情况。所以可以在15下代码编辑后,放回vc6重新打包生成。

在vs2015中要注意头文件里的time_t m_time; //时间,UCT,需要改成__time32_t m_time;

否则非常坑,调用数据时候会出错。还原到vc6下面时候时间格式可以改回去。

 

5、对于一些均线均线计算,比如ema(ema(c,5),10);这类函数计算,在dll中用动态数组事先保存内部数组数值。float *t1num = new float[nLean];

 

6、ema代码:ema(x,N)

Y = [2 * X + (N – 1) * LY] / (N + 1)

其中Y[0] = 第一根序列数据
 
———————————————————–
sma代码:
SMA(X,N,M) X的M日加权移动平均,
M为权重,
如Y=(X*M+Y’*(N-M))/N
其中Y[0]=0
 
 ————————————————————————————————————-
—————————————————————————————————————
通达信的接口和大智慧、分析家这些完全不一样。直接在通达信的帮助文档里有介绍,必须通过传入的几个参数进行计算

以上是关于dll编写指标的主要内容,如果未能解决你的问题,请参考以下文章

用C语言编写DLL

定制指标公式软件开发指标公式软件代编代写条件选股公式编写股票选股指标公式系统编写策略模型

用C++编写的dll工程如何插入.def文件?

MFC编写DLL怎么用C风格

在 allennlp 中编写自定义指标

VS2013编写了个c++的dll动态库,怎么填写文件说明,版本,版权这些信息