当前位置:首页>python>自动化交易入门:用QMT Python API开启你的量化之旅

自动化交易入门:用QMT Python API开启你的量化之旅

  • 2026-03-23 14:39:44
自动化交易入门:用QMT Python API开启你的量化之旅

系列导读:欢迎来到《自动化交易从入门到进阶》系列。本系列将基于QMT极速策略交易系统,带你逐步掌握量化交易的核心技能。第一篇我们从零开始,了解QMT Python API的基本框架,并编写你的第一个策略。后续我们会深入指标计算、回测优化、资金管理、实盘注意事项等,助你构建自己的交易系统。关注本公众号,与我们一起探索量化的魅力!

引言:什么是自动化交易?

自动化交易,又称量化交易或程序化交易,是指利用计算机程序根据预设的交易策略自动执行买卖指令的过程。它能够克服人性的贪婪与恐惧,实现纪律性的交易,并且可以同时监控多个品种、多周期,大幅提高交易效率。在国内的量化交易平台中,QMT极速策略交易系统(以下简称QMT)是一个功能强大、门槛适中的选择。QMT不仅提供了丰富的历史数据接口、回测系统,还支持使用Python编写策略,极大地降低了普通投资者进入量化领域的门槛。

本文将带你从零开始,了解QMT的Python API基本概念,并编写你的第一个自动化交易策略。无论你是刚接触编程的交易员,还是有一定Python基础的投资者,都能通过本文快速上手。

QMT系统概述

QMT是一款专业的量化交易终端,它集成了行情显示、策略编写、历史回测、模拟交易和实盘交易等全流程功能。与普通的股票软件不同,QMT的核心在于“模型”——用户可以将自己的交易思路转化为代码,形成策略模型,然后让计算机自动执行。

QMT支持多种编程语言,其中Python因其简洁易学和强大的数据分析库(如NumPy、Pandas)而成为主流选择。QMT自带的Python环境已经预装了常用的第三方库(如TA-Lib、SciPy等),并且允许用户安装自己需要的库。更重要的是,QMT的Python API是底层C++封装的高性能接口,获取行情数据和下单的速度都非常快。

Python策略的基本结构

在QMT中,任何一个Python策略都必须包含两个函数:init 和 handlebar。这是框架规定的入口,缺一不可。

# coding:gbkdef init(ContextInfo):passdef handlebar(ContextInfo):pass

1. init 初始化函数

init 在整个策略生命周期中只会被执行一次。通常我们在init中做一些初始化工作,例如:

  • • 设置股票池(要交易的标的列表)
  • • 设置资金账号
  • • 初始化全局变量
  • • 设置回测参数(如滑点、手续费)

即使不需要初始化,也必须有一个空的init函数。

2. handlebar 行情处理函数

handlebar 是策略的核心,它会在每一根K线上被执行一次。如果运行在实时行情模式下,每一根历史K线都会依次调用一次handlebar,之后每当收到一个新的tick(分笔数据),最后一根K线会更新,同时handlebar再次被调用。也就是说,在盘中,handlebar会被频繁调用,你可以在这里编写你的交易逻辑:读取行情数据、计算指标、判断买卖条件、下单。

3. ContextInfo 上下文对象

ContextInfo 是策略运行时的上下文环境,它包含了大量有用的属性和方法。例如:

  • • ContextInfo.barpos:当前正在处理的K线的索引号(从0开始)。
  • • ContextInfo.is_last_bar():判断当前K线是否为最后一根(最新)K线。
  • • ContextInfo.get_market_data():获取行情数据。
  • • ContextInfo.set_universe():设定股票池。

你还可以在ContextInfo上自定义属性,在inithandlebar之间共享数据。但需要注意,ContextInfo在每根K线切换时会“回滚”到上一根K线的状态,因此如果需要保存跨K线的变量,建议使用全局变量(如Python模块级别的变量)或利用ContextInfo的属性(但要注意赋值时机)。

第一个简单策略:打印“hello world”

让我们按照QMT文档中的例子,编写一个最简单的策略,它只在初始化时打印“hello init”,并在每一根K线上打印“hello handlebar”。

# coding:gbkdef init(ContextInfo):print('hello init')# 可以在这里设置股票池,例如取“上证50”成分股    stock_list = ContextInfo.get_stock_list_in_sector("上证50""")    ContextInfo.set_universe(stock_list)def handlebar(ContextInfo):print('hello handlebar')# 获取当前K线的索引和时间    index = ContextInfo.barpos    timetag = ContextInfo.get_bar_timetag(index)print('当前K线索引:', index, '时间戳:', timetag)

将这个代码输入到QMT的策略编辑器中(新建一个Python模型),然后点击“运行”。你会看到输出窗口中交替打印出hello init和多次hello handlebar。这是因为模型运行时会先调用init,然后针对主图上的每一根历史K线依次调用handlebar

注意:QMT的策略编辑器代码编码必须指定为#coding:gbk,否则可能出现乱码。

运行机制详解:逐K线运行与信号有效性

理解QMT的运行机制对于编写正确的策略至关重要。文档中提到,QMT的模型是根据行情驱动,逐K线运行的。这意味着:

  • • 当你运行策略时,它会从主图的第一根K线开始,逐根调用handlebar,直到最新的一根K线。
  • • 在盘中,最新的一根K线会随着每一个新tick的到来而不断变化,因此handlebar会被频繁调用(每个tick一次)。
  • • 只有在最后一根K线的最后一个tick(即K线确定时)触发的交易信号,才会被认为是有效信号,并在下一根K线的第一个tick发送下单指令。这是为了避免在K线形成过程中因价格波动产生虚假信号。

有效信号 vs 无效信号

  • • 有效信号:在最后一根K线(即ContextInfo.is_last_bar()为True)的handlebar中调用了交易函数,且该K线已经确定(即这是该K线的最后一次调用)。此时信号会被记录,并在下一根K线开始时发送委托。
  • • 无效信号:在历史K线上调用交易函数,或者在最后一根K线但尚未结束时调用的交易函数,都不会产生实际委托(除非启用快速交易模式)。

快速交易模式

如果希望信号立即触发下单,可以设置quickTrade参数为1或2。例如,passorder函数支持quickTrade参数:

  • • quickTrade=1:当在非历史K线(即最后一根K线)上调用时,立即触发下单。
  • • quickTrade=2:无论在任何K线上调用,立即触发下单(历史K线也会触发,需谨慎)。

对于一些特殊的函数(如make_option_combination),默认就是立即触发。

理解这些概念后,你就能更好地控制策略的交易时机,避免盘中频繁虚假信号。

如何运行你的策略

在QMT中运行一个Python策略很简单:

  1. 1. 打开“模型研究”界面,点击“新建模型”,选择“Python模型”。
  2. 2. 在策略编辑器中编写代码,如上例。
  3. 3. 在右侧的“基本信息”中设置策略的默认周期(例如日线)、默认品种(如沪深300指数)。
  4. 4. 点击工具栏的“运行”按钮,策略就会在主图上执行,输出显示在“日志输出”面板。

如果你在“行情”界面打开了一个K线图,点击运行后策略会叠加在该主图上运行。如果是在“模型研究”界面直接运行,则会使用基本信息中设置的默认品种和周期。

回测:验证策略的历史表现

在真正实盘之前,我们通常需要对策略进行历史回测,以评估其绩效。QMT提供了完整的回测功能。

设置回测参数

在策略编辑器的“回测参数”面板中,可以设置:

  • • 开始时间、结束时间
  • • 初始资金
  • • 滑点
  • • 手续费(印花税、佣金等)
  • • 基准(用于比较策略收益的指数)

也可以在init函数中通过ContextInfo.startContextInfo.endContextInfo.capital等属性设置,代码中的设置优先级更高。

执行回测

点击“回测”按钮,系统会按照设定的参数,在历史数据上逐K线运行策略,并记录买卖点,最终生成绩效报告。回测完成后,你可以看到年化收益率、夏普比率、最大回撤、交易明细等丰富的数据。同时,在主图上会用箭头标记出买卖点。

回测是检验策略有效性的关键步骤,但要注意:历史表现不代表未来,且回测中可能忽略滑点、流动性等现实因素。因此,回测结果需要谨慎解读。

获取行情数据:get_market_data

在策略中,我们经常需要获取K线数据来计算指标。QMT提供了ContextInfo.get_market_data函数,功能非常强大。

最简单的用法是获取当前主图的最新收盘价:

def handlebar(ContextInfo):# 获取当前主图最近一根K线的收盘价    close = ContextInfo.get_market_data(['close'], count=1)print(close)

更常用的用法是指定股票代码、周期、时间范围等。例如,获取平安银行最近5天的收盘价和开盘价:

def handlebar(ContextInfo):    df = ContextInfo.get_market_data(        fields=['close''open'],        stock_code=['000001.SZ'],        period='1d',        dividend_type='front',   # 前复权        count=5    )print(df)

返回的结果根据传入参数的不同,可能是数值、pandas.Seriespandas.DataFramepandas.Panel。文档中有详细的示例说明,你可以根据需要进行操作。

获取历史数据是编写任何策略的基础。例如,你可以结合talib库计算MACD、RSI等技术指标,然后根据指标值生成买卖信号。

初识交易函数:passorder

虽然第一篇我们可能还不需要真实下单,但了解一下交易函数有助于理解策略的完整流程。最通用的下单函数是passorder,它可以完成股票、期货、期权等多种品种的交易。

例如,以最新价买入100股平安银行:

passorder(231101'你的资金账号''000001.SZ'5, -1100, ContextInfo)

参数解释:

  • • 23:操作类型,股票买入。
  • • 1101:下单方式,单股单账号,按股/手。
  • • 资金账号:需要先在init中通过ContextInfo.set_account()设置,或者直接传入字符串。
  • • '000001.SZ':合约代码。
  • • 5:价格类型,5表示最新价。
  • • -1:价格,当价格类型为指定价时才有效,这里填-1忽略。
  • • 100:数量(股)。
  • • ContextInfo:上下文对象。

在实际策略中,我们通常不会直接使用passorder,而是使用更简洁的封装函数如order_lotsorder_value等。例如,order_lots('000001.SZ', 1, ContextInfo, '资金账号')表示买入1手(100股)。

结语:迈向自动化交易的第一步

通过本文,你已经了解了QMT Python策略的基本框架、运行机制以及如何编写和运行一个简单的策略。你学会了如何获取行情数据,也对交易函数有了初步认识。这为后续编写更复杂的策略打下了坚实的基础。

在下一篇文章中,我们将深入探讨如何构建一个完整的交易策略,包括设置股票池、计算技术指标、生成交易信号,并进行回测评估。我们还将讲解如何处理信号过滤、资金管理以及风险控制等实战问题。

量化交易的世界广阔而有趣,QMT为我们提供了便捷的入口。希望你能动手实践,将书中的代码敲入编辑器,感受自动化交易的魅力。记住:纸上得来终觉浅,绝知此事要躬行。

本文内容基于QMT官方文档整理,旨在分享学习心得。如需更详细的API说明,请参考文档《QMT极速策略交易系统_模型资料_Python_API_说明文档_Python3.pdf》。

对量化实盘感兴趣的朋友可扫码添加,全程指导搞定QMT账号!

关于Python金融量化
专注于分享Python在金融量化领域的应用。加入知识星球,可以免费获取qstock源代码、30多g的量化投资视频资料、量化金融相关PDF资料、公众号文章Python完整源码、与博主直接交流、答疑解惑等。添加个人微信sky2blue2可获取更多优惠。

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-03-27 13:19:11 HTTP/2.0 GET : https://f.mffb.com.cn/a/481229.html
  2. 运行时间 : 0.132966s [ 吞吐率:7.52req/s ] 内存消耗:4,419.50kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=fa09c7177ae83e91c8c62fa3a54ac129
  1. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/runtime/temp/067d451b9a0c665040f3f1bdd3293d68.php ( 11.98 KB )
  140. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000424s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000593s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.005536s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000718s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000589s ]
  6. SELECT * FROM `set` [ RunTime:0.000284s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000602s ]
  8. SELECT * FROM `article` WHERE `id` = 481229 LIMIT 1 [ RunTime:0.008737s ]
  9. UPDATE `article` SET `lasttime` = 1774588751 WHERE `id` = 481229 [ RunTime:0.003320s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.001537s ]
  11. SELECT * FROM `article` WHERE `id` < 481229 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.004256s ]
  12. SELECT * FROM `article` WHERE `id` > 481229 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.001565s ]
  13. SELECT * FROM `article` WHERE `id` < 481229 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.008185s ]
  14. SELECT * FROM `article` WHERE `id` < 481229 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.009570s ]
  15. SELECT * FROM `article` WHERE `id` < 481229 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.017559s ]
0.134888s