编写新的选股插件只需定制自己的”MyPlugin.cpp”(名称亦自定),其他源文件为接口规范,不可更改。
插件的编写包括一个插件信息注册函数,两个选股条件判断函数和若干自编实现细节函数。
插件信息注册函数:
包括注册插件基本信息和参数信息,相关结构定义参见”OutStruct.h”,现支持4个参数。
具体函数实例可参见”MyPlugin.cpp”示范程序。
选股条件判断函数:
BOOL InputInfoThenCalc1(char * Code,short nSetCode,int Value[4],short DataType,short nDataNum,BYTE nTQ,unsigned long unused)
此函数申请全部本地历史数据判断最新条件成立与否;
BOOL InputInfoThenCalc2(char * Code,short nSetCode,int Value[4],short DataType,NTime time1,NTime time2,BYTE nTQ,unsigned long unused)
此函数阶段的历史判断计算阶段最后条件成立与否。
数据申请是通过函数指针调用回调函数,该回调函数声明如下:
DATAIOFUNC(char *Code,short nSetCode,short DataType,void * pData,short nDataNum,NTime time1,NTime time2,BYTE nTQ,unsigned long)
- Code:为股票代码,如申请上证指数数据则赋值为”999999”;
- nSetCode:为市场分类,0为深市,1为沪市;
- DataType:为申请数据类型,缺省为日K线历史数据,如申请行情数据则赋值为REPORT_DAT其他相关类型参见”OutStruct.h”;
- pData:为申请数据缓冲区,若为NULL且nDataNum为-1则函数返回历史数据个数;
- nDataNum:为申请数据个数,若为-1且pData为NULL则函数返回历史数据个数;
- time1:为申请数据的时间范围,缺省为全部本地历史数据;
- time2:为申请数据的时间范围,缺省为全部本地历史数据;
- nTQ:精确除权信息。
编写选股条件判断函数应考虑判断申请到的数据个数和选股参数的关系,否则可能使选股条件无意义。
具体函数实例可参见”MyPlugin.cpp”示范程序。
自编实现细节函数:
为选股条件判断函数的实现可自编写辅助函数,如计算均线、判断交叉等,可理解为编写一般公式所使用的各类函数。以后根据需要将会公布更多常用的辅助函数。
函数编写应注意判断数据的有效性,系统对{0xF8,0xF8,0xF8,0xF8}定义为无效数。
具体函数实例可参见”MyPlugin.cpp”示范程序。