![]() 經過測試,將原示例代碼做了注釋,并修正了原來代碼的一處錯誤(主要見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:前復權 |
|