【新提醒】【图】自编解决方案分享:通达信分时预警(分时交易信号自动提示)(分时选股)
自编解决方案分享:通达信分时预警(分时交易信号自动提示)(分时选股)
需求:
通达信不支持日线以下的分时K线选股和信号预警功能,非常不方便,因经常需要用到60分钟及15分钟K线,于是使用通达信的DLL函数编写了一个TdxSignal.dll 将分时上产生的信号写入一个文本文件,然后用一个程序循环读取这个信号文件并提示出来,间接解决了这个需求。
工作原理:
在通达信公式中编辑一个指标,调用TdxSignal.dll函数,将股票代码、信号代码(自定义),通过DLL写入一个文本文件TdxSignal.txt。
在通达信界面K线分析中启用这个指标,然后用通达信自动翻页功能,使得该指标在需要关注的股票代码得到执行的机会,即可将关注的交易信号以代码形式传递至文本文件,用其他软件循环读取即可实现监控、预警、选股的功能。可以使用多股同列一屏调取最多32个股票来提高效率。
这个方法效率不高,只适合在一个给定的小范围需要密切关注的股票池中使用,用于监控这些股票分时K线出现的交易信号,不太适用于全市场选股(效率太低)和预警,介意的朋友就不需要往下看了。
程序压缩包中包含如下几个文件:
TdxSignal.dll:通达信DLL程序,用于将交易信号保存入一个文本文件
DemoSig.tn6:通达信公式示例文件,演示如何使用DLL函数,用户可以根据示例编写自己的交易逻辑
OrderMon.exe:交易信号监控程序
OrderMon.ini: 交易信号监控程序配置文件
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上发出了买入信号,信号代码11,对应的信号名称是“5日均线金叉10”,这个名称是自己定义的,在后面的信号监控程序中设置对应关系之后会自动在程序中显示出来。
2.5.第五步、实现分时选股或交易信号自动提示
只要DemoSig指标获得执行机会,那么该指标就会将自己定义的信号(若有)写入TdxSignal.txt文件,因此只需要在想要选股的分时K线上应用这个指标,并翻看股票即可。
可以在需要关注的股票池中使用通达信的自动翻页功能,启动方法:菜单[选项]-[自动换页],或者使用快捷键[-](减号),再次按此快捷键关闭自动换页功能。
为了提高效率,可以使用多股同列功能,一次性调用多个股票,最多可以达到32个,设置方法:菜单[选项]-[系统设置]-[设置1],如下图根据自己需要选择即可。
多股同列启动方法:菜单[功能]-[多股同列],或者使用快捷键[CTRL-M]
经过以上设置之后,就可以实现分时选股或自动交易信号监控了。
举例:在股票池A上进行15分钟选股或交易信号监控,先在15分钟单独的K线界面应用DemoSig指标,然后每15分钟在股票池A上进入多股同列,并启动自动翻页功能,直到所有股票全部轮询一遍为止,这样该指标就会在股票池A上所有的股票都执行了一遍,如果有满足设定条件的股票,设定的信号就会立即写入了TdxSignal.txt文件之中。
附赠的交易信号监控程序提供设定时间表并到时提醒轮询股票池功能。