![]() 经过测试,将原示例代码做了注释,并修正了原来代码的一处错误(主要见MyPlugin.cpp)。 只要明白了道理,剩下的工作就看个人发挥了! 所附示例功能还非常简单,只是为了说明编程方法,距实际应用还有非常大的距离。如果据此投资,风险自负。 本示例免费传播,请保留完整信息。进一步开发进行中,将根据进度在合适网络公布。 本示例提供了小闪客自动公式交易软件需要的txt文件自动生成,但并非为其做广告,我本人也在用其试用版,只是为测试功能及其与通达信的匹配情况。 ========= MyPlugin.cpp内代码进行了修改,并增加了大量注释,部分注释如下 ================ //将回调函数入口赋值给g_pFuncCallBack,自编程序中可以就可以使用g_pFuncCallBack函数调用通达信内部数据(如开盘价、收盘价、最高价、最低价、成交金额、成交量等等(具体数据结构参见OutStruct.h)。 PDATAIOFUNC g_pFuncCallBack; void RegisterDataInterface(PDATAIOFUNC pfn) { g_pFuncCallBack = pfn; } //注: 本文件以上部分需要完整保留,不要做任何修改(除非你知道自己在做什么) ///////////////////// 注册插件信息 /////////////////////// //注册插件信息:将公式名称,公式描述,参数数量、参数名字、参数最大最小及默认值等信息传送给通达信,并将存储区地址传递给LPPUGIN结构的指针info(具体数据结构将Plugin.h。本函数的具体参数赋值可以根据用户需要修改。 void GetCopyRightInfo(LPPLUGIN info) { //填写基本信息 strcpy(info->Name,"插件选股1"); //此信息会显示在通达信插件选股对话框中“名称”栏 strcpy(info->Dy,"上海"); strcpy(info->Author,"Julian Zhang"); //此信息会显示在通达信插件选股对话框中“设计人”栏 strcpy(info->Period,"短线"); //还不清楚有什么用 strcpy(info->Descript,"MA上穿选股"); //此信息会显示在通达信插件选股对话框中“选股对象”栏 strcpy(info->OtherInfo,"无其它信息描述"); //填写参数信息 info->ParamNum = 2; //定义插件参数数量,必须是[0~4]之间整数; strcpy(info->ParamInfo[0].acParaName,"MA短天数"); //第一个参数的名称 info->ParamInfo[0].nMin=1; //这部分通达信官方模板错误写成nMax,应该为nMin,参数最小值; info->ParamInfo[0].nMax=1000; //定义参数最大值 info->ParamInfo[0].nDefault=10; //定义参数默认值 strcpy(info->ParamInfo[1].acParaName,"MA长天数"); //第二个参数的名称 info->ParamInfo[1].nMin=1; //用通达信本地保存的所有数据进行选股,函数原型必须保持不变,系统会自动将需要的参数传递到本函数名字空间内 //Code:股票代码;nSetCode:所属市场(0为深市,1为沪市);Value存参数值(通达信插件选股时用户设定值) //DataType:由通达信行情软件传递过来的数据,4为日线,5为周线,参见OutStruct.h中宏定义。默认为日线数据。如申请行情数据则赋值为REPORT_DAT2,其他相关类型参见OutStruct.h //nDataNum为申请数据个数,红宝书上讲,若为-1且pData为NULL则函数返回历史数据个数,然而取到的数据必须存储到pData中,参数pData不允许为NULL //所以以上说法还需要继续研究,本程序中取nDataNum=2000 //nTQ:复权模式,0:不复权;1:前复权 ====== 下载附件阅读完整信息 ====== 受附件大小限制,使用说明见我发的另外一个主题: https://www./viewthread. ... %3D38&frombbs=1 通达信官方资料见下面链接,建议也下载下来对比学习。 https://www./viewthread. ... %3D38&frombbs=1 为什么我不可以要求下载提供点儿理想币?我还好穷呀! [ 本帖最后由 新手Login 于 2015-5-8 18:14 编辑 ] |
|