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