自編解決方案分享:通達(dá)信分時預(yù)警(分時交易信號自動提示)(分時選股) 需求: 通達(dá)信不支持日線以下的分時K線選股和信號預(yù)警功能,非常不方便,因經(jīng)常需要用到60分鐘及15分鐘K線,于是使用通達(dá)信的DLL函數(shù)編寫了一個TdxSignal.dll 將分時上產(chǎn)生的信號寫入一個文本文件,然后用一個程序循環(huán)讀取這個信號文件并提示出來,間接解決了這個需求。 工作原理: 在通達(dá)信公式中編輯一個指標(biāo),調(diào)用TdxSignal.dll函數(shù),將股票代碼、信號代碼(自定義),通過DLL寫入一個文本文件TdxSignal.txt。 在通達(dá)信界面K線分析中啟用這個指標(biāo),然后用通達(dá)信自動翻頁功能,使得該指標(biāo)在需要關(guān)注的股票代碼得到執(zhí)行的機會,即可將關(guān)注的交易信號以代碼形式傳遞至文本文件,用其他軟件循環(huán)讀取即可實現(xiàn)監(jiān)控、預(yù)警、選股的功能。可以使用多股同列一屏調(diào)取最多32個股票來提高效率。 這個方法效率不高,只適合在一個給定的小范圍需要密切關(guān)注的股票池中使用,用于監(jiān)控這些股票分時K線出現(xiàn)的交易信號,不太適用于全市場選股(效率太低)和預(yù)警,介意的朋友就不需要往下看了。 程序壓縮包中包含如下幾個文件: ![]() TdxSignal.dll:通達(dá)信DLL程序,用于將交易信號保存入一個文本文件 DemoSig.tn6:通達(dá)信公式示例文件,演示如何使用DLL函數(shù),用戶可以根據(jù)示例編寫自己的交易邏輯 OrderMon.exe:交易信號監(jiān)控程序 OrderMon.ini: 交易信號監(jiān)控程序配置文件 StockCodeNameTable.txt:股票代碼名稱對應(yīng)表,用于將股票代碼轉(zhuǎn)換為名稱在程序中顯示 TdxSignal.dll安裝使用說明 2.1.第一步、復(fù)制Dll文件至通達(dá)信的DLL目錄中 查找通達(dá)信主程序TdxW.exe所在目錄,在此目錄下進(jìn)入 \T0002\DLLS子目錄(例如:D:\new_jyplug\T0002\dlls)。 將 TdxSignal.dll 文件復(fù)制入這個目錄。 2.2.第二步、配置通達(dá)信的DLL函數(shù) ![]() 配置方法如圖所示: 1、在通達(dá)信主界面的菜單中選擇[公式]-[公式管理器] 2、在公式管理器中點擊[DLL函數(shù)]按鈕 3、在綁定DLL函數(shù)界面選擇DLL函數(shù)的編號,這里以2號為例(可以任選),選擇“第2號DLL”,點擊[打開綁定] 4、在打開界面選擇剛才復(fù)制過來的TdxSignal.dll文件 5、程序提示是否信任,點擊[確定] 6、出現(xiàn)“成功綁定了TdxSignal.dll”的提示,表示綁定成功 注、步驟3中可以綁定空余編號的任意一個,綁定成功之后需要記住這個編號,在隨后通達(dá)信公式調(diào)用時需要用到這個編號。這里以綁定2號Dll為例,那么下一步中用到的調(diào)用Dll的函數(shù)名就是 “TDXDLL2()” 2.3.第三步、在通達(dá)信公式代碼中添加Dll函數(shù)調(diào)用 在通達(dá)信公式編輯器中導(dǎo)入并打開 示例公式 “DemoSig.tn6”,其中“=== TDXSIGNAL====”括起來部分代碼就是調(diào)用dll示例。 ![]() DLL函數(shù)是“TDXDLLN()”,在第二步的步驟3中選擇的是是哪個編號,N就用哪個;這里示例用的是“TDXDLL2()” TDXDLL2()函數(shù)有兩次調(diào)用,分別調(diào)用DLL內(nèi)部的1號函數(shù)和2號函數(shù)。 1號函數(shù)用于初始化DLL程序,不能改動,每個公式只需要使用一次即可; 2號函數(shù)用于輸出具體交易信號,可以多次使用。函數(shù)有四個參數(shù),第一個“2”表示調(diào)用2號函數(shù),后面三個參數(shù)分別是 [股票代碼]、[買賣標(biāo)記(1/-1)]、[信號代碼] 其中: [股票代碼]:”Str2Con(Code)”,不能改動; [買賣標(biāo)記]:用買(1)賣(-1)標(biāo)記當(dāng)前信號的方向,1/-1以外的數(shù)字無效; [信號代碼]:是自定義的數(shù)字代碼,標(biāo)記寫入信號文件中的是哪個信號產(chǎn)生的。 舉例: TDXDLL2(2,STR2COCN(CODE), COND1,11); 表示用2號函數(shù)將 股票代碼Code、買賣標(biāo)記Cond1、信號代碼11,寫入信號文件TdxSignal.txt中。 2.4.第四步、檢查 TdxSignal.txt文件 經(jīng)過以上三步操作成功,打開通達(dá)信K線圖分析,可以調(diào)至分時圖(例如15分鐘),啟用 “DemoSig”指標(biāo),查看幾個股票K線圖,確認(rèn)最后一根K線該指標(biāo)產(chǎn)生了交易信號。 打開D:\TdxSignal.txt,可以看到已經(jīng)有信號產(chǎn)生。 ![]() 信號數(shù)據(jù)每行文本以"|"隔開,內(nèi)容分別是: 產(chǎn)生信號的K線日期|時間|股票代碼|[買賣標(biāo)記]|[信號代碼]|DLL程序接收信號的時間 其中的[買賣標(biāo)記]、[信號代碼]就是由第三步的 “DemoSig”指標(biāo)中的數(shù)據(jù)經(jīng)由DLL函數(shù)寫入了這個信號文件。 舉例: 20210106|1345|600918|1|11|13:42:41 表示在K線時間是2021/01/06,13:45,股票600918,方向:買入,信號代碼11,DLL接收信號時間是13:42:41 分析這條數(shù)據(jù)就能及時知道:通達(dá)信DemoSig指標(biāo)在600918上發(fā)出了買入信號,信號代碼11,對應(yīng)的信號名稱是“5日均線金叉10”,這個名稱是自己定義的,在后面的信號監(jiān)控程序中設(shè)置對應(yīng)關(guān)系之后會自動在程序中顯示出來。 2.5.第五步、實現(xiàn)分時選股或交易信號自動提示 只要DemoSig指標(biāo)獲得執(zhí)行機會,那么該指標(biāo)就會將自己定義的信號(若有)寫入TdxSignal.txt文件,因此只需要在想要選股的分時K線上應(yīng)用這個指標(biāo),并翻看股票即可。 可以在需要關(guān)注的股票池中使用通達(dá)信的自動翻頁功能,啟動方法:菜單[選項]-[自動換頁],或者使用快捷鍵[-](減號),再次按此快捷鍵關(guān)閉自動換頁功能。 為了提高效率,可以使用多股同列功能,一次性調(diào)用多個股票,最多可以達(dá)到32個,設(shè)置方法:菜單[選項]-[系統(tǒng)設(shè)置]-[設(shè)置1],如下圖根據(jù)自己需要選擇即可。 多股同列啟動方法:菜單[功能]-[多股同列],或者使用快捷鍵[CTRL-M] 經(jīng)過以上設(shè)置之后,就可以實現(xiàn)分時選股或自動交易信號監(jiān)控了。 舉例:在股票池A上進(jìn)行15分鐘選股或交易信號監(jiān)控,先在15分鐘單獨的K線界面應(yīng)用DemoSig指標(biāo),然后每15分鐘在股票池A上進(jìn)入多股同列,并啟動自動翻頁功能,直到所有股票全部輪詢一遍為止,這樣該指標(biāo)就會在股票池A上所有的股票都執(zhí)行了一遍,如果有滿足設(shè)定條件的股票,設(shè)定的信號就會立即寫入了TdxSignal.txt文件之中。 附贈的交易信號監(jiān)控程序提供設(shè)定時間表并到時提醒輪詢股票池功能。 |
|