# 全自动综合交易系统 **Repository Path**: knsoft/zdjyxt ## Basic Information - **Project Name**: 全自动综合交易系统 - **Description**: 基于miniQMT开发、含20多个策略的自动交易系统 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 7 - **Created**: 2025-06-17 - **Last Updated**: 2025-06-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 全自动综合交易系统 基于miniQMT开发、7*24小时自动运行的交易系统,且全部开源 管理员联系微信:quant0808,使用答疑、交流 [文件下载(含源码),用电脑下载](https://drive.weixin.qq.com/s?k=AFQAXwIbANIEaf0MXA) ### 文章目录 1、功能模块 2、使用教程 3、源文件下载 4、策略回测 5、策略源代码 ### 功能模块 1、30多个策略 2、每日自动国债逆回购 3、通达板块自选股交易、通达信预警系统交易 4、雪球自动跟单交易 5、聚宽自动跟单交 ### 多种条件单 1、高频T0波段交易 2、条件单分时网格 3、15分钟金叉死叉 4、止盈止损 5、冲高反弹买入卖出等等 ### 多种自定义功能 1、自定义标的池,支持股票、ETF、可转债 2、自定义参数 ### 多种交易模式 1、按金额下单、按股数下单、按资金的百分比下单 2、各策略、网格单独分配资金 ### 适配人群 1、不会代码,跟着教程安装即可 2、没有时间盯盘 3、做量化研究,参考学习、魔改等 ### 使用准备 找管理员(量化交易汤姆猫,微信quant0808): 1、开通QMT账户 2、领取模型授权码 3、下载、安装Python(3.11及以下版本均可) 4、下载、安装编译器,如vscode、PyCharm 下载地址:https://drive.weixin.qq.com/s?k=AFQAXwIbANI4L2hsUR 安装时,跟着提示点即可,没有特别要求 ### 使用教程 **1、设置vscode** 首次是英文的,先设置为中文,导航栏搜索chinese,安装,安装完成后重启就是中文了 ![输入图片说明](1.png) ![输入图片说明](2.png) **2、安装Python插件** ![输入图片说明](3.png) **3、解压综合交易模型** 务必解压到桌面,且不要嵌套在其他文件夹里面 ![输入图片说明](4.png) **4、安装三方库** 打开文件夹,找到安装三方库,双击打开,会自动安装,安装完成后会自动关闭 有3个不同的源,首选清华,其他备选,安装一个就可以了 ![输入图片说明](5.png) ![输入图片说明](6.png) **5、用vscode打开模型文件** **6、打开分析配置.json** 设置参数 (1)授权码、QMT账户、QMT安装路径,没有的找管理员领取(微信:quant0808) ![输入图片说明](8.png) QMT安装路径获取方式:右键QMT-属性-目标,复制粘贴,替换到分析配置文档中 ![输入图片说明](9.png) (2)设置策略、资金,为了方便,后文参数设置中详细说明,这里先略过。 (3)保存、关闭 **7、启动策略** 必须登录miniQMT,登录页面勾选独立交易 ![输入图片说明](11.png) (1)方式一: 启动trader_strategy文件 ![输入图片说明](10.png) 当提示链接QMT成功、获取账户数据成功,就表示启动成功了 可以看到策略已经在运行中了 ![输入图片说明](12.png) 停止方法 点控制台的删除按钮、或关闭vscode即关闭策略 ![输入图片说明](14.png) (2)方法二 在模型文件夹中,双击打开运行策略.bat 关闭运行策略.bat即可停止策略 ![输入图片说明](16.png) ![输入图片说明](17.png) **后面只需要保持miniQMT在线,策略就会自动执行,7*24小时自动运行,找一台电脑挂着,或者挂在云服务器即可(云服务器配置教程看我主页)** 懒人版,看到这里就可以了,进阶版可以继续往下 ‘---------------------------------------------------------------------------------------------------------’ ### 参数说明 **所有的参数修改只需要在分析配置中.json完成,不需要修改代码,每个参数都可以自己修改** **修改后必须保存、关闭、重启策略才能生效** **1、增、删、改策略** ![输入图片说明](18.png) **策略修改标的池** ![输入图片说明](21.png) **2、给策略分配资金** ``` "多策略资金设置":{ "run_small_fruit_market_trend_enhancement_strategy":{ "策略名称":"小果全市场主流基金四模型趋势增强策略", #这里的设置只对该策略生效 "交易模式":"金额", #交易模式分为三者: 金额、数量、百分比,选择模式不一样,下面的参数也不一样 "固定交易资金":2000, #表示该策略,1个标的,单笔买入的资金量为2000元 "卖出资金":2000, #表示该策略,1个标的,单笔卖出的资金量为2000元 "持有金额限制":2000, #表示该策略,1个标的,综管持有的仓位为2000元 "固定交易数量":100, #表示该策略,1个标的,单笔买入的数量为100股 "卖出数量":100, #表示该策略,1个标的,单笔卖出的数量为100股 "持有数量限制":100, #表示该策略,1个标的,持有仓位为100股 "交易百分比":0.2, #表示该策略,1个标的,买入总资产的20%仓位 "卖出百分比":1, #表示该策略,1个标的,卖出总资产的20%仓位 "持有百分比":0.2, #表示该策略,1个标的,持有总资产的20%仓位 "持股限制":20}, #表示这个策略最多只持有20只标的 #这些都可以自己修改,下同,不在赘述,金额模式,会更好控制仓位 "其他策略":{ "策略名称":"其他策略", #这里的修改对其他策略生效 "交易模式":"金额", "固定交易资金":2000, "卖出资金":15000, "持有金额限制":2000, "固定交易数量":100, "卖出数量":100, "持有数量限制":100, "交易百分比":0.1, "卖出百分比":1, "持有百分比":0.1, "持股限制":10} }, ``` **3、持股做T** 主要用于对持股做T,增厚收益,注意,闭环周期不确定,可能是当日,可能是多日。 ``` "模型说明":"下面的自定义模块针对持股标的*********************", #这些参数(162-325行)只对持股生效 "是否开启自定义实时持股交易模块":"是", #是表示开启,否表示不开启,如果为否,则下面的所有均不开启 "自定义交易持股模块更新时间":0.05, #表示3秒,60*0.05=3,即3秒刷新一次 "自定义交易持股模块说明":"高频分析模型tick分析模块,自选股增强", "数据类型类型持股说明":"高频行情/历史行情/1分钟行情/5分钟行情/15分钟行情/30分钟行情/60分钟行情/日线行情/周线行情/月线行情", "自定义交易持股模块":{ "小果高频T0波段交易":{ "函数名称":"small_fruit_band_trading_hist_trader(name='小果高频T0波段交易',is_open_trand='否',test='否',test_stats='买')", "模块说明":"这个模块主要针对债券高频T0,其他标的交易交易建议使用15分钟行情", "是否开启":"否", #只针对该模块生效 "资金模型":"金额", #表示按照金额下单,同上述的资金分配原理一致 "卖出值":3000, "买入值":3000, "持有值":10000, "数据类型":"15分钟行情", "是否开启其他数据":"是", #可以开启或不开启 "其他数据类型说明":"趋势周期可以选择不同的周期做大趋势分析", "其他数据类型":"历史行情" #可以替换其他的数据类型 }, "小果六脉神剑T0高频交易":{ #该模块同上,不再赘述 "函数名称":"small_fruit_band_trading_hist_trader(name='小果高频T0波段交易',is_open_trand='否',test='否',test_stats='买')", "模块说明":"这个模块主要针对债券高频T0,其他标的交易交易建议使用15分钟行情", "是否开启":"否", "资金模型":"金额", "卖出值":3000, "买入值":3000, "持有值":10000, "数据类型":"15分钟行情", "是否开启其他数据":"是", "其他数据类型说明":"趋势周期可以选择不同的周期做大趋势分析", "其他数据类型":"历史行情" }, "条件单分时网格":{ #相同内容不再追溯, x1=1表示当日涨幅1%卖出,x2=-40表示下跌40%买入,根据交易品种不同,适当调整 "函数名称":"conditional_single_time_sharing_grid(name='条件单分时网格',x1=1,x2=-40)", "是否开启":"是", "资金模型":"金额", "卖出值":2000, #单笔卖出金额 "买入值":3000, #单笔买入金额 "持有值":3000, #持有仓位 "数据类型":"高频行情", "是否开启其他数据":"否", "其他数据类型":"历史行情" }, "分钟脉冲卖出":{ #n=10,x=2表示,最近10分涨幅2%卖出 "函数名称":"get_mi_pulse_trader_sell(name='分钟脉冲卖出',n=10,x=2)", "是否开启":"是", "资金模型":"金额", "卖出值":2000, "买入值":2000, "持有值":2000, "数据类型":"高频行情", "是否开启其他数据":"否", "其他数据类型":"历史行情" }, "当日止盈":{ #x1=5表示,当日涨幅5%卖出止盈 "函数名称":"daily_dynamic_stop_profit(name='当日止盈',x1=5)", "是否开启":"是", "资金模型":"金额", "卖出值":2000, "买入值":2000, "持有值":2000, "数据类型":"历史行情", "是否开启其他数据":"否", "其他数据类型":"历史行情" }, "当日止损":{ #当日跌幅2%卖出止损 "函数名称":"daily_dynamic_stop_loss(name='当日止损',x2=-2)", "是否开启":"否", "资金模型":"金额", "卖出值":10000, "买入值":10000, "持有值":10000, "数据类型":"历史行情", "是否开启其他数据":"否", "其他数据类型":"历史行情" }, "条件单15分钟金叉死叉":{ "X1表示短均线周期、X2表示长均线周期 根据数据类型来决定长短均线,如数据类型为15分钟, 则表示:短均线为5*15=75分钟均线,长均线为10*15=150分钟均线,两根均线形成金叉买入、死叉卖出 可以替换为其他数据周期、调整均线长短" "函数名称":"condition_is_15_minutes_gold_fork_dead_fork(name='条件单15分钟金叉死叉',x1=5,x2=10)", "是否开启":"否", "资金模型":"数量", "卖出值":100, "买入值":100, "持有值":100, "数据类型":"15分钟行情", "是否开启其他数据":"否", "其他数据类型":"历史行情" }, "条件单冲高回落":{ "函数名称":"condition_single_high_fall(name='条件单冲高回落',x1=3,x2=1)", "是否开启":"否", "资金模型":"百分比", "卖出值":0.5, "买入值":0.1, "持有值":0.1, "数据类型":"高频行情", "是否开启其他数据":"否", "其他数据类型":"历史行情" }, "条件单反弹卖出":{ "函数名称":"sell_on_condition_of_single_bounce(name='条件单反弹卖出',x1=-3,x2=1)", "是否开启":"否", "资金模型":"金额", "卖出值":2000, "买入值":2000, "持有值":2000, "数据类型":"高频行情", "是否开启其他数据":"否", "其他数据类型":"历史行情" }, "分钟脉冲买入":{ #表示近10分钟涨幅-2%买入 "函数名称":"get_mi_pulse_trader_buy(name='分钟脉冲买入',n=10,x=-2)", "是否开启":"否", "资金模型":"百分比", "卖出值":0.1, "买入值":0.1, "持有值":0.1, "数据类型":"高频行情", "是否开启其他数据":"否", "其他数据类型":"历史行情" }, "条件单上涨买入":{ #表示当日达到涨幅3%,买入 "函数名称":"advance_buy_condition_order(name='条件单上涨买入',x=3)", "是否开启":"否", "资金模型":"金额", "卖出值":1000, "买入值":2000, "持有值":2000, "数据类型":"历史行情", "是否开启其他数据":"否", "其他数据类型":"历史行情" }, "条件单上涨卖出":{ #表示当日涨幅达到3%卖出 "函数名称":"advance_sell_condition_order(name='条件单上涨卖出',x=3)", "是否开启":"否", "资金模型":"金额", "卖出值":1000, "买入值":1000, "持有值":2000, "数据类型":"历史行情", "是否开启其他数据":"否", "其他数据类型":"历史行情" }, "条件单下跌卖出":{ #表示当日涨幅达到-3%卖出 "函数名称":"condition_sell_down(name='条件单下跌卖出',x=-3)", "是否开启":"否", "资金模型":"数量", "卖出值":1000, "买入值":1000, "持有值":2000, "数据类型":"历史行情", "是否开启其他数据":"否", "其他数据类型":"历史行情" }, "条件单下跌买入":{ #表示当日涨幅达到-3%买入 "函数名称":"condition_buy_down(name='条件单下跌买入',x=-3)", "是否开启":"否", "资金模型":"数量", "卖出值":1000, "买入值":1000, "持有值":2000, "数据类型":"历史行情", "是否开启其他数据":"否", "其他数据类型":"历史行情" ``` **4、自定义标的池做T** 这部分(328-359行)主要是针对自定义标的池生效,需要自己设置标的池,参数逻辑同持股做T,不在赘述 **自定义标的池设置路径** ![输入图片说明](19.png) ``` "自定义股票池模型说明":"下面的自定义模块针对自定义股票池标的*********************", "是否开启自定义实时交易模块":"否", "自定义交易模块更新时间":0.05, "自定义交易模块说明":"高频分析模型tick分析模块,自选股增强", "数据类型类型说明":"高频行情/历史行情/1分钟行情/5分钟行情/15分钟行情/30分钟行情/60分钟行情/日线行情/周线行情/月线行情", "自定义交易模块":{ "小果高频T0波段交易":{ "函数名称":"small_fruit_band_trading_hist_trader(name='小果高频T0波段交易',is_open_trand='否',test='否',test_stats='买')", "模块说明":"这个模块主要针对债券高频T0,其他标的交易交易建议使用15分钟行情", "是否开启":"是", "资金模型":"金额", "卖出值":15000, "买入值":15000, "持有值":30000, "数据类型":"1分钟行情", "是否开启其他数据":"是", "其他数据类型说明":"趋势周期可以选择不同的周期做大趋势分析", "其他数据类型":"历史行情" }, "小果高频量化线":{ "函数名称":"small_fruit_high_frequency_measurement_line(name='小果高频量化线')", "模块说明":"这个模块主要针对债券高频T0,其他标的交易交易建议使用5分钟行情", "是否开启":"否", "资金模型":"金额", "卖出值":15000, "买入值":15000, "持有值":30000, "数据类型":"1分钟行情", "是否开启其他数据":"否", "其他数据类型说明":"趋势周期可以选择不同的周期做大趋势分析", "其他数据类型":"历史行情" } ``` **至此,所有参数基本说明完毕,其他的简单参数可以看分析配置的说明** ### 策略回测 策略回测放在网站中了,有点慢,多等一会 http://120.78.132.143:8023/ **网站概况** ![输入图片说明](22.png) **单个策略详细说明** ![输入图片说明](23.png) ![输入图片说明](24.png) ![输入图片说明](28.png) ![输入图片说明](27.png) ![输入图片说明](26.png) ![输入图片说明](25.png) 回测数据是用quantstats库计算的,强烈安利这个库,非常好用 ### 策略源代码 如果你认真看完,你会发现到处都是源码,都是开源的,如果你非要问,源代码在哪里,如图 但是,这些代码依赖模型本身的多个库才能运行,所以,单独是不能运行的, 不过,你可以用来学习、魔改,希望对你有帮助 ![输入图片说明](29.png) ### 结束语 这是我第N次写教程,之前还有教学视频,也是最认真的一次,希望你能仔细看,不要当一个伸手党,不懂可以问,但是如果你都不看,就来问,我不太想回答你。 量化交易,是一门及计算机技术、金融、数学为一体的综合性交易体系,必然需要你是一个复合型人才,希望你我一起,在量化的道路上共同学习,共同成长。 管理员联系方式:quant0808 下面还有风险告知,务必看完。 ### 风险告知书 请在使用前仔细阅读下述内容 1、提供的一切内容(包括但不限于:教学内容、使用说明、软件、标的、参数),仅供学习参考,不构成投资建议,以此为买卖依据,自负盈亏,在任何情况下,本人不承担任何责任。 2、数据来源于多种数据源,力求但不保证提供内容绝对正确。 3、回测数据仅代表历史,不代表未来收益,仅供参考。 4、力求正确但不排除技术性故障而带来的风险,如代码BUG,代码错误,计算错误等。 5、请在使用前,充分学习和掌握,因操作不当,造成的损失,请自行承担。 6、市场有风险,投资需要谨慎,并自负盈亏。 7、该模型旨在提供量化交易学习和交流,提供使用、答疑等仅作为附属服务,不代表开通证券账户必然提供该服务。 8、量化不代表一定能赚钱,旨在讨论、交流和学习一种更为科学的交易方式,请做好预期管理。 9、部分内容整理自互联网或得到作者授权转载分享,所述内容不代表个人观点,仅供参考学习。 10、使用即代表认同上述内容,解释权归本人所有。