量化交易(即通过数学模型和计算机程序来执行交易策略),目前已经成为全球金融市场中的重要组成部分。而交易策略的代码编写,是一名投资者从事量化交易需要具备的最基本条件。然而,当前绝大多数的股票量化交易平台选择的都是Python等高级计算机语言。这对于广大普通投资者来说,成为了一个很高的技术门槛和能力障碍。针对这个问题,智宽量化团队设计开发了一个低技术门槛且容易上手、适合于广大普通投资者使用的量化平台。
联系我们请访问官网 www.tradquant.com
软件基于通达信公式的代码编写规范。用户无需懂Python编程,只要懂得编写通达信公式,以及通达信条件预警功能,无需复杂设置,只需简单几部,即可完成自动化买卖,轻松实现自己的量化交易策略。
就算是对通达信公式编写也不熟练的用户,我们也特地为其精心打造了一款公式编写AI助手Quant-Coder,Quant-Coder是一个致力于金融市场、专为量化交易而生的大语言模型,它可以将投资者设计和制定的交易策略(自然语言的文字描述),转换成可执行的交易策略代码。而投资者完全可以不用懂编程,只需要能详细描述自己的需求,编写代码的工作完全交由Quant-Coder来完成。从而大大简化了普通投资者做量化交易的难度。
通达信条件预警是通达信交易软件中最重要的功能之一,它实时处理全推数据(包含基础行情数据和即时行情函数获取的数据),允许用户根据自己的交易策略和选股公式来设置预警条件,从而在盘中实时刷新监控股票是否符合特定的条件,并在满足条件时及时发出预警提示。它具有以下优点:
便捷高效:条件预警能够及时捕捉市场变化。通过利用指标公式和技术分析,投资者可以设置相应的预警条件,当股票价格或指标数值满足这些条件时,通达信会自动发出预警提示。盘中实时条件选股预警设置可以大大节省时间和精力。投资者无需时刻盯盘,只要符合设定条件的股票出现,就会及时收到通知。投资者可以更快速地捕捉到市场投资机会,避免错过重要的买入或卖出点位,从而提升交易效率。
满足个性化需求:条件预警还能满足用户个性化策略的需求。投资者可以编写自己的选股策略,设置相应的指标参数,并将其储存为公式或自定义指标。这样,每个投资者都可以根据自己的需求和偏好来定制预警条件,使得预警功能更加符合个人的投资策略。
本软件的最主要功能,就是将通达信软件条件预警功能发出的信号,读取到本系统中,结合本系统的一系列参数设置来进行自动下单操作。解决了通达信条件预警只能发信号但确不能交易的短板。
另外,通达信的条件预警功能默认只能支持日线级别的数据和指标,而无法对分钟级别的小周期数据进行预警。针对这个限制,本系统通过使用DLL文件加载的方式,成功的解除了这一限制。采用这个方案,条件预警除了对日线级别数据,还会对1分钟、5分钟、15分钟、30分钟和60分钟的数据进行支持,实现了对通达信条件预警针对小周期数据的功能拓展。
与合法合规的券商QMT紧密结合,通达信条件预警负责预警信号输出,QMT负责使用券商安全交易接口完成自动下单交易。用户需要先通过券商开通QMT才能使用该功能,QMT和通达信都是本地化策略运行,有效的保障了你的策略安全问题,确保交易过程的合规性以及稳定性。
流程图如下:
交易策略的代码编写,是一名投资者从事量化交易需要具备的最基本条件。但是,绝大多数的投资者并不懂得如何编写交易策略代码。懂交易但不懂编程,往往成为了广大普通投资者从事量化交易最大的障碍。
Quant-Coder是一个致力于金融市场、专为量化交易而生的大语言模型,它可以将投资者设计和制定的交易策略(自然语言的文字描述),转换成在量化平台上可执行的交易策略代码。而投资者完全可以不用懂编程,只需要能详细描述自己的需求,编写代码的工作完全交由Quant-Coder来完成。从而大大简化了普通投资者做量化交易的难度。
使用本系统之前,必须先安装好以下两个软件:
通达信股票软件
迅投QMT软件(在券商申请开通,而且需要开通Mini QMT权限)
使用本系统做股票量化交易时,需要分别在QMT、通达信以及本系统三个软件上进行操作设置,以下是详细说明。
本系统通过合法合规的券商QMT接口来完成自动下单操作,所以使用前需要先将XtMiniQmt程序开起来,仅需一步操作即可。
在QMT软件的安装目录下找到XtMiniQmt文件(见下图)
点击该文件打开XtMiniQmt登录界面(见下图)
输入账号、密码以及验证码后再点登录,等XtMiniQmt登录完成后弹出以下界面即可。
在使用本系统做股票量化交易时,是由通达信软件的条件预警来负责信号输出,本系统则通过读取通达信条件预警输出的信号,再结合系统中提前设置好的下单参数来完成下单交易。
特别强调的是,不要使用券商版的通达信,而是用通达信官网下载的版本。通达信官网的下载地址为:https://www.tdx.com.cn/soft.html
通达信的条件预警功能很多人都熟悉,网上也有非常详细的教程,本文不再逐一赘述。本文着重讲两个关键步骤。
第一步:
在通达信条件预警设置的【其它设置】中,设置好将预警结果输出到某个文件。
上图的案例中,我们选择将预警结果输出到通达信软件安装路径的根目录下,并保存在一个名称为“预警日志”的TXT文件中。用户可以根据自己的情况,来选择输出文件路径以及文件名称。
第二步:
前文提到本系统实现了对通达信条件预警针对小周期数据的功能拓展(1分钟、5分钟、15分钟、30分钟以及60分钟级别的数据)。
如果不需要用到小周期级别数据的可以跳过这一步。
通达信条件预警默认情况下只支持日线级别数据,针对小周期数据的支持是如何做到的呢?这一个环节我们来着重讲解它是如何实现的。
我们的操作步骤如下:
获取名称为“ZhiKuanTdxDll.dll”的动态链接库文件,并将其保存在通达信软件安装路径的new_tdx\T0002\dlls下面(见下图)。
打开通达信【公式管理器】,点击【DLL函数】
系统弹出对话框界面(见下图)
点击上图中的【打开绑定】按钮,并选中在上一步操作中保存在通达信软件安装目录下的ZhiKuanTdxDll.dll文件,操作成功后会显示(见下图)
在通达信的公式编辑器中,对原有的公式代码做一些修改。
我们选择一个通达信公式管理器中自带的【MACD买入】公式来举例,原本公式代码是这样的(见下图)
如果我们需要上述公式去调用分析周期为30分钟的K线数据,公式代码需要修改成这个样子(见下图)
我们将修改前后的两段公式代码做对比,就会发现有两个地方做了修改。
最上面新增了一行代码 CLOSE0:=TDXDLL1(4,STR2CON(CODE),30,0);
原来公式的代码 DIFF := EMA(CLOSE,12) - EMA(CLOSE,26);
被修改成了DIFF := EMA(CLOSE0,12) - EMA(CLOSE0,26);
原来的变量“CLOSE”改成了“CLOSE0”
红色箭头处为修改后的地方(见下图)
CLOSE0:=TDXDLL1(4,STR2CON(CODE),30,0);
上面这行代码的意思是:定义一个变量“CLOSE0”,获取30分钟周期的CLOSE(收盘价),并将其赋值给变量“CLOSE0”。
请注意这行代码中圆括号内的第三个参数为30,代表获取的是30分钟周期的数据。如果是需要调用5分钟周期,第三个参数就填5,其它周期的参数以此类推。系统目前支持1、5、15、30、60分钟这5个周期。
然后我们可以看到在接下来的代码:
DIFF := EMA(CLOSE0,12) - EMA(CLOSE0,26);
在上面这行代码中,我们引用了开始定义的变量“CLOSE0”,这样,该公式就成功完成了小周期数据的调用。
刚才的内容我们详细讲解了如何调取CLOSE(收盘价)的小周期数据,同样,我们还可以调取OPEN(开盘价)、HIGH(最高价)、LOW(最低价)、VOLUME(成交量)以及AMOUNT(成交额)的小周期数据。
代码我们逐一展示如下:
OPEN0:=TDXDLL1(1,STR2CON(CODE),15,0);
HIGH0:=TDXDLL1(2,STR2CON(CODE),15,0);
LOW0:=TDXDLL1(3,STR2CON(CODE),15,0);
CLOSE0:=TDXDLL1(4,STR2CON(CODE),15,0);
VOLUME0:=TDXDLL1(5,STR2CON(CODE),15,0);
AMOUNT0:=TDXDLL1(6,STR2CON(CODE),15,0);
刚刚我们有讲到圆括号中的第三个参数代表的是K线的数据周期(比如参数填15就代表15分钟周期的K线)。
另外,还有一个参数是我们要注意的,也就是圆括号中的第一个参数。通过上面的例子代码,我们可以看出:
参数1代表OPEN(开盘价);
参数2代表HIGH(最高价);
参数3代表LOW(最低价);
参数4代表CLOSE(收盘价);
参数5代表VOLUME(成交量);
参数6代表AMOUNT(成交额);
通过上述方法,我们就实现了通达信条件预警针对小周期数据的功能拓展。
注意事项:
通达信的条件预警在从启动到关闭的一次运行中,一个选股公式对一个股票最多只触发一次预警,这是通达信软件内置的限定。就算是用小周期数据也是如此。
智宽量化的系统登录界面(见下图)
输入账号、密码以及验证码后再点登录,即可进入系统的操作界面。进入之后完成以下几步操作。
第一步:
在菜单栏选中【设置】,然后选中【环境设置】
弹出环境设置界面(见下图)
【证券账号】如果是信用账号(两融账号),复选框需要勾选上,如果是普通账号则不需要勾选;
【预警文件】的设置必须和之前讲过的通达信条件预警设置中预警结果输出的路径保持一致。
QMT以及通达信的安装路径,分别设置为QMT软件和通达信软件安装的根目录位置;
第二步:
在菜单栏选中【设置】,然后选中【全局设置】
弹出全局设置界面(见下图)
【账户可用资金】在运行策略进行自动交易时,可用到资金的最高额度限制;
【未成交单处理】当委托单未成交时,系统设置的处理流程;
【是否过滤ST股】如果通达信条件预警选出的股票中有ST股,选择过滤,系统就不会对ST股委托下单;
【是否过滤已有持仓】如果通达信条件预警选出的某个股票,在上一个交易日或更早之前就买入过,并且当前还有持仓。选择过滤,系统就不会委托下单;
【单只股票当日多次触发】当通达信条件预警同时运行多个选股公式时,某个股票有可能被多个选股公式多次触发,选择过滤,就代表这个股票当天只会被触发一次,后面的预警触发会被忽略。
第三步:新建策略
通达信条件预警发出的预警信号,是由选定的条件选股公式所触发的,这一步操作是设置将通达信条件预警中所引用到的条件选股公式和本系统绑定。这样,本系统才能监控并读取到指定条件选股公式在条件预警中触发的信号。并且对该选股公式所触发的预警信号,做出相应的下单操作。
在菜单栏选中【设置】,然后选中【新建策略】
弹出预警跟踪设置界面(见下图)
【预警名称】这里的输入必须和通达信条件预警中引用条件选股的【公式名称】或者【公式描述】保持一致,基本规则是:
如果【公式描述】为空,【预警名称】和【公式名称】一致;
如果【公式描述】不为空,则【预警名称】和【公式描述】一致。
以上图来举例,这里【公式描述】为空,所以【预警名称】和【公式名称】要一致,输入内容就是“MACD小周期卖”;
【描述说明】非必填项;
【生效时间】策略运行的生效时间段;
【委托方向】当通达信条件预警里面的选股公式被触发,选出满足条件的股票时,在这里选择是“买入”还是“卖出”,进行委托下单;
【委托价格】
【委托数量】
【备注】非必填项
策略状态的设置:
可以在新建策略时就勾选复选框【创建后马上生效】,启用该策略;
也可以在主界面中的【预警设置管理】列表里面的【操作】列中点【启动】,启用该策略。
列表中的【状态】列可以查看到该策略当前的状态,分“运行中”和“停止中”两种状态,状态可以随时切换。只有“运行中”状态的策略,系统才会对其触发下单操作。
第四步:
在菜单栏选中【操作】,然后选中【行情服务开启】
操作界面下方的运行日志中会打印出以下内容
日志内容显示说明已经成功连上了行情服务主机。
重点说明一下,如果需要对通达信对小周期(分钟级别)数据实现条件预警,这一步是必须的操作步骤。如果不需要对小周期数据进行支持,而是使用通达信内置的日线级别数据做条件预警,这一步操作则可以省略。
第五步:
在菜单栏选中【操作】,然后选中【连接QMT】
这一步是创建本系统和券商QMT的API连接,所以在做这一步操作之前,要先将XtMiniQmt登录并开启。如果连接成功,在操作界面下方的运行日志便会打印出以下内容。
第六步:
在菜单栏选中【操作】,然后选中【预警跟踪】,再选中【启动QMT实盘跟踪】
弹出【实盘预警跟踪确认】对话框
选择好实盘账号、并在风险揭示处勾选好,点【确认启动】即可。
做完这一步操作,系统就会实时监控并读取通达信条件预警发出的信号,一旦有预警信号产生,系统就会依据之前设置好的一系列参数,并通过券商的QMT接口,进行自动的委托下单。