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)
M为权重,
以上是关于dll编写指标的主要内容,如果未能解决你的问题,请参考以下文章