- 0.0012 SELECT * FROM bbs_cache WHERE `k`='bbs_setting' LIMIT 1
- 0.0021 SELECT * FROM bbs_session WHERE `sid`='b76inelsqoihnt0j9hb7hisso6' LIMIT 1
- 0.0916 SELECT * FROM bbs_cache WHERE `k`='bbs_grouplist' LIMIT 1
- 0.0043 SELECT * FROM bbs_cache WHERE `k`='bbs_forumlist' LIMIT 1
- 0.0010 SELECT * FROM bbs_cache WHERE `k`='bbs_runtime' LIMIT 1
- 0.0003 SELECT * FROM bbs_kv WHERE `k`='user_signature' LIMIT 1
- 0.0003 SELECT tid FROM bbs_thread WHERE (`fid`=1 OR `fid`=2 OR `fid`=3 OR `fid`=4 OR `fid`=5 OR `fid`=6 OR `fid`=7) ORDER BY `lastpid` DESC LIMIT 0,30
- 0.0007 SELECT * FROM bbs_thread WHERE (`tid`=37 OR `tid`=21 OR `tid`=36 OR `tid`=35 OR `tid`=34 OR `tid`=33 OR `tid`=32 OR `tid`=28 OR `tid`=27 OR `tid`=22 OR `tid`=6 OR `tid`=4 OR `tid`=3 OR `tid`=2 OR `tid`=1) ORDER BY `lastpid` DESC LIMIT 0,30
- 0.0891 SELECT * FROM bbs_user WHERE `uid`=1 LIMIT 1
- 0.0014 SELECT * FROM bbs_cache WHERE `k`='bbs_fox_prison_1_status' LIMIT 1
- 0.0002 SELECT * FROM bbs_fox_prison WHERE `uid`=1 AND `status`=1 ORDER BY `id` DESC LIMIT 1
- 0.0003 SELECT * FROM bbs_cache WHERE `k`='bbs_fox_prison_1_message' LIMIT 1
- 0.0002 SELECT * FROM bbs_fox_prison WHERE `uid`=1 AND `status`=1 ORDER BY `id` DESC LIMIT 1
- 0.0003 SELECT * FROM bbs_cache WHERE `k`='bbs_fox_prison_1_time' LIMIT 1
- 0.0002 SELECT * FROM bbs_fox_prison WHERE `uid`=1 AND `status`=1 ORDER BY `id` DESC LIMIT 1
- 0.0002 SELECT * FROM bbs_cache WHERE `k`='bbs_fox_prison_1_endtime' LIMIT 1
- 0.0002 SELECT * FROM bbs_fox_prison WHERE `uid`=1 AND `status`=1 ORDER BY `id` DESC LIMIT 1
- 0.0002 SELECT * FROM bbs_user WHERE `uid`=4 LIMIT 1
- 0.0002 SELECT * FROM bbs_cache WHERE `k`='bbs_fox_prison_4_status' LIMIT 1
- 0.0002 SELECT * FROM bbs_fox_prison WHERE `uid`=4 AND `status`=1 ORDER BY `id` DESC LIMIT 1
- 0.0002 SELECT * FROM bbs_cache WHERE `k`='bbs_fox_prison_4_message' LIMIT 1
- 0.0003 SELECT * FROM bbs_fox_prison WHERE `uid`=4 AND `status`=1 ORDER BY `id` DESC LIMIT 1
- 0.0003 SELECT * FROM bbs_cache WHERE `k`='bbs_fox_prison_4_time' LIMIT 1
- 0.0002 SELECT * FROM bbs_fox_prison WHERE `uid`=4 AND `status`=1 ORDER BY `id` DESC LIMIT 1
- 0.0002 SELECT * FROM bbs_cache WHERE `k`='bbs_fox_prison_4_endtime' LIMIT 1
- 0.0002 SELECT * FROM bbs_fox_prison WHERE `uid`=4 AND `status`=1 ORDER BY `id` DESC LIMIT 1
- 0.0004 SELECT * FROM bbs_user WHERE `uid`=10 LIMIT 1
- 0.0003 SELECT * FROM bbs_cache WHERE `k`='bbs_fox_prison_10_status' LIMIT 1
- 0.0002 SELECT * FROM bbs_fox_prison WHERE `uid`=10 AND `status`=1 ORDER BY `id` DESC LIMIT 1
- 0.0003 SELECT * FROM bbs_cache WHERE `k`='bbs_fox_prison_10_message' LIMIT 1
- 0.0002 SELECT * FROM bbs_fox_prison WHERE `uid`=10 AND `status`=1 ORDER BY `id` DESC LIMIT 1
- 0.0002 SELECT * FROM bbs_cache WHERE `k`='bbs_fox_prison_10_time' LIMIT 1
- 0.0002 SELECT * FROM bbs_fox_prison WHERE `uid`=10 AND `status`=1 ORDER BY `id` DESC LIMIT 1
- 0.0003 SELECT * FROM bbs_cache WHERE `k`='bbs_fox_prison_10_endtime' LIMIT 1
- 0.0002 SELECT * FROM bbs_fox_prison WHERE `uid`=10 AND `status`=1 ORDER BY `id` DESC LIMIT 1
- 0.0002 SELECT * FROM bbs_user WHERE `uid`=8 LIMIT 1
- 0.0003 SELECT * FROM bbs_cache WHERE `k`='bbs_fox_prison_8_status' LIMIT 1
- 0.0002 SELECT * FROM bbs_fox_prison WHERE `uid`=8 AND `status`=1 ORDER BY `id` DESC LIMIT 1
- 0.0003 SELECT * FROM bbs_cache WHERE `k`='bbs_fox_prison_8_message' LIMIT 1
- 0.0002 SELECT * FROM bbs_fox_prison WHERE `uid`=8 AND `status`=1 ORDER BY `id` DESC LIMIT 1
- 0.0003 SELECT * FROM bbs_cache WHERE `k`='bbs_fox_prison_8_time' LIMIT 1
- 0.0002 SELECT * FROM bbs_fox_prison WHERE `uid`=8 AND `status`=1 ORDER BY `id` DESC LIMIT 1
- 0.0003 SELECT * FROM bbs_cache WHERE `k`='bbs_fox_prison_8_endtime' LIMIT 1
- 0.0002 SELECT * FROM bbs_fox_prison WHERE `uid`=8 AND `status`=1 ORDER BY `id` DESC LIMIT 1
- 0.0002 SELECT * FROM bbs_user WHERE `uid`=15 LIMIT 1
- 0.0003 SELECT * FROM bbs_cache WHERE `k`='bbs_fox_prison_15_status' LIMIT 1
- 0.0002 SELECT * FROM bbs_fox_prison WHERE `uid`=15 AND `status`=1 ORDER BY `id` DESC LIMIT 1
- 0.0003 SELECT * FROM bbs_cache WHERE `k`='bbs_fox_prison_15_message' LIMIT 1
- 0.0002 SELECT * FROM bbs_fox_prison WHERE `uid`=15 AND `status`=1 ORDER BY `id` DESC LIMIT 1
- 0.0006 SELECT * FROM bbs_cache WHERE `k`='bbs_fox_prison_15_time' LIMIT 1
- 0.0002 SELECT * FROM bbs_fox_prison WHERE `uid`=15 AND `status`=1 ORDER BY `id` DESC LIMIT 1
- 0.0004 SELECT * FROM bbs_cache WHERE `k`='bbs_fox_prison_15_endtime' LIMIT 1
- 0.0002 SELECT * FROM bbs_fox_prison WHERE `uid`=15 AND `status`=1 ORDER BY `id` DESC LIMIT 1
- 0.0002 SELECT * FROM bbs_user WHERE `uid`=3 LIMIT 1
- 0.0003 SELECT * FROM bbs_cache WHERE `k`='bbs_fox_prison_3_status' LIMIT 1
- 0.0835 SELECT * FROM bbs_fox_prison WHERE `uid`=3 AND `status`=1 ORDER BY `id` DESC LIMIT 1
- 0.0005 SELECT * FROM bbs_cache WHERE `k`='bbs_fox_prison_3_message' LIMIT 1
- 0.0207 SELECT * FROM bbs_fox_prison WHERE `uid`=3 AND `status`=1 ORDER BY `id` DESC LIMIT 1
- 0.0786 SELECT * FROM bbs_cache WHERE `k`='bbs_fox_prison_3_time' LIMIT 1
- 0.0004 SELECT * FROM bbs_fox_prison WHERE `uid`=3 AND `status`=1 ORDER BY `id` DESC LIMIT 1
- 0.0152 SELECT * FROM bbs_cache WHERE `k`='bbs_fox_prison_3_endtime' LIMIT 1
- 0.0002 SELECT * FROM bbs_fox_prison WHERE `uid`=3 AND `status`=1 ORDER BY `id` DESC LIMIT 1
- 0.0839 SELECT * FROM bbs_user WHERE `uid`=5 LIMIT 1
- 0.0004 SELECT * FROM bbs_cache WHERE `k`='bbs_fox_prison_5_status' LIMIT 1
- 0.0002 SELECT * FROM bbs_fox_prison WHERE `uid`=5 AND `status`=1 ORDER BY `id` DESC LIMIT 1
- 0.0003 SELECT * FROM bbs_cache WHERE `k`='bbs_fox_prison_5_message' LIMIT 1
- 0.0002 SELECT * FROM bbs_fox_prison WHERE `uid`=5 AND `status`=1 ORDER BY `id` DESC LIMIT 1
- 0.0003 SELECT * FROM bbs_cache WHERE `k`='bbs_fox_prison_5_time' LIMIT 1
- 0.0002 SELECT * FROM bbs_fox_prison WHERE `uid`=5 AND `status`=1 ORDER BY `id` DESC LIMIT 1
- 0.0003 SELECT * FROM bbs_cache WHERE `k`='bbs_fox_prison_5_endtime' LIMIT 1
- 0.0002 SELECT * FROM bbs_fox_prison WHERE `uid`=5 AND `status`=1 ORDER BY `id` DESC LIMIT 1
- 0.0016 SELECT * FROM bbs_cache WHERE `k`='bbs_till_news_ticker_css_ticker_magic_keyframes' LIMIT 1
- 0.0035 REPLACE INTO bbs_cache (`k`,`v`,`expiry`) VALUES ('bbs_till_news_ticker_css_ticker_magic_keyframes','\"@keyframes TickerMagic {0%,100%,32%{margin-top:0em} /* 1 */\\n33%,66%{margin-top:-2.5em} /* 2 */\\n67%,99%{margin-top:-5em} /* 3 */\\n}\"','1762846863')
- 0.0003 SELECT * FROM bbs_cache WHERE `k`='bbs_till_news_ticker_css_ticker_magic_duration' LIMIT 1
- 0.0042 REPLACE INTO bbs_cache (`k`,`v`,`expiry`) VALUES ('bbs_till_news_ticker_css_ticker_magic_duration','\".tickerv-wrap ol {animation-duration:15s}\"','1762846863')
- 0.0003 SELECT * FROM bbs_cache WHERE `k`='bbs_forumlist' LIMIT 1
- 0.0002 SELECT * FROM bbs_cache WHERE `k`='bbs_forumlist' LIMIT 1
- 0.0002 SELECT * FROM bbs_cache WHERE `k`='bbs_forumlist' LIMIT 1
- 0.0002 SELECT * FROM bbs_cache WHERE `k`='bbs_forumlist' LIMIT 1
- 0.0003 SELECT * FROM bbs_cache WHERE `k`='bbs_forumlist' LIMIT 1
- 0.0002 SELECT * FROM bbs_cache WHERE `k`='bbs_forumlist' LIMIT 1
- 0.0002 SELECT * FROM bbs_cache WHERE `k`='bbs_forumlist' LIMIT 1
- 0.0004 SELECT * FROM bbs_cache WHERE `k`='bbs_bbs_post_61' LIMIT 1
- 0.0029 DELETE FROM bbs_cache WHERE `k`='bbs_bbs_post_61'
- 0.0003 SELECT * FROM bbs_post WHERE `pid`=61 LIMIT 1
- 0.0006 SELECT * FROM bbs_cache WHERE `k`='bbs_bbs_thread_37' LIMIT 1
- 0.0856 DELETE FROM bbs_cache WHERE `k`='bbs_bbs_thread_37'
- 0.0007 SELECT * FROM bbs_thread WHERE `tid`=37 LIMIT 1
- 0.0039 REPLACE INTO bbs_cache (`k`,`v`,`expiry`) VALUES ('bbs_bbs_thread_37','{
\"fid\": 6,
\"tid\": 37,
\"top\": 0,
\"uid\": 1,
\"userip\": 2057195673,
\"subject\": \"转载来源测试,请忽略\",
\"create_date\": 1762823914,
\"last_date\": 1762823914,
\"views\": 14,
\"posts\": 0,
\"images\": 0,
\"files\": 0,
\"mods\": 0,
\"closed\": 0,
\"firstpid\": 61,
\"lastuid\": 0,
\"lastpid\": 61,
\"likes\": 0,
\"is_transcription\": 1,
\"allow_republications\": 1,
\"cite\": \"转载来源测试\",
\"create_date_fmt\": \"2025-11-11 09:18:34\",
\"last_date_fmt\": \"\",
\"username\": \"admin\",
\"user_avatar_url\": \"view/img/avatar.png\",
\"user\": {
\"uid\": 1,
\"gid\": 1,
\"email\": \"admin@admin.com\",
\"username\": \"admin\",
\"realname\": \"\",
\"password\": \"8e5832b2d0c4f4f07f360ada0381e853\",
\"password_sms\": \"\",
\"salt\": \"Y8YKMZVQ742QN9A5\",
\"mobile\": \"\",
\"qq\": \"\",
\"threads\": 5,
\"posts\": 0,
\"credits\": 0,
\"golds\": 0,
\"rmbs\": 0,
\"create_ip\": 1001364016,
\"create_date\": 1756462082,
\"login_ip\": 2057195673,
\"login_date\": 1762820605,
\"logins\": 30,
\"avatar\": 0,
\"notices\": 6,
\"unread_notices\": 0,
\"signature\": \"\",
\"v\": 4,
\"v_title\": \"量化吧管理员\",
\"follows\": 0,
\"followeds\": 0,
\"create_ip_fmt\": \"59.175.154.48\",
\"create_date_fmt\": \"2025-08-29\",
\"login_ip_fmt\": \"122.158.80.153\",
\"login_date_fmt\": \"2025-11-11\",
\"groupname\": \"管理员组\",
\"avatar_url\": \"view/img/avatar.png\",
\"avatar_path\": \"\",
\"online_status\": 1,
\"prison_status\": 0,
\"prison_message\": 0,
\"prison_start_time\": 0,
\"prison_end_time\": 0
},
\"forumname\": \"策略研讨\",
\"lastusername\": \"\",
\"url\": \"thread-37.htm\",
\"user_url\": \"user-1.htm\",
\"top_class\": \"\",
\"pages\": 0
}','1762845483')
- 0.0050 REPLACE INTO bbs_cache (`k`,`v`,`expiry`) VALUES ('bbs_bbs_post_61','{
\"tid\": 37,
\"pid\": 61,
\"uid\": 1,
\"isfirst\": 1,
\"edit_num\": 0,
\"create_date\": 1762823914,
\"userip\": 2057195673,
\"images\": 0,
\"files\": 0,
\"doctype\": 0,
\"quotepid\": 0,
\"message\": \"
转载来源测试
\",
\"message_fmt\": \"转载来源测试
\",
\"likes\": 0,
\"create_date_fmt\": \"2025-11-11 09:18:34\",
\"username\": \"admin\",
\"user_avatar_url\": \"view/img/avatar.png\",
\"user\": {
\"uid\": 1,
\"gid\": 1,
\"email\": \"admin@admin.com\",
\"username\": \"admin\",
\"realname\": \"\",
\"password\": \"8e5832b2d0c4f4f07f360ada0381e853\",
\"password_sms\": \"\",
\"salt\": \"Y8YKMZVQ742QN9A5\",
\"mobile\": \"\",
\"qq\": \"\",
\"threads\": 5,
\"posts\": 0,
\"credits\": 0,
\"golds\": 0,
\"rmbs\": 0,
\"create_ip\": 1001364016,
\"create_date\": 1756462082,
\"login_ip\": 2057195673,
\"login_date\": 1762820605,
\"logins\": 30,
\"avatar\": 0,
\"notices\": 6,
\"unread_notices\": 0,
\"signature\": \"\",
\"v\": 4,
\"v_title\": \"量化吧管理员\",
\"follows\": 0,
\"followeds\": 0,
\"create_ip_fmt\": \"59.175.154.48\",
\"create_date_fmt\": \"2025-08-29\",
\"login_ip_fmt\": \"122.158.80.153\",
\"login_date_fmt\": \"2025-11-11\",
\"groupname\": \"管理员组\",
\"avatar_url\": \"view/img/avatar.png\",
\"avatar_path\": \"\",
\"online_status\": 1,
\"prison_status\": 0,
\"prison_message\": 0,
\"prison_start_time\": 0,
\"prison_end_time\": 0
},
\"floor\": \"\",
\"allowupdate\": false,
\"allowdelete\": false,
\"user_url\": \"user-1.htm\",
\"filelist\": [],
\"classname\": \"post\"
}','1762845483')
- 0.0038 SELECT * FROM bbs_cache WHERE `k`='bbs_bbs_post_29' LIMIT 1
- 0.0019 SELECT * FROM bbs_cache WHERE `k`='bbs_bbs_post_59' LIMIT 1
- 0.0833 DELETE FROM bbs_cache WHERE `k`='bbs_bbs_post_59'
- 0.0021 SELECT * FROM bbs_post WHERE `pid`=59 LIMIT 1
- 0.0006 SELECT * FROM bbs_cache WHERE `k`='bbs_bbs_thread_36' LIMIT 1
- 0.0026 DELETE FROM bbs_cache WHERE `k`='bbs_bbs_thread_36'
- 0.0004 SELECT * FROM bbs_thread WHERE `tid`=36 LIMIT 1
- 0.0022 REPLACE INTO bbs_cache (`k`,`v`,`expiry`) VALUES ('bbs_bbs_thread_36','{
\"fid\": 3,
\"tid\": 36,
\"top\": 0,
\"uid\": 8,
\"userip\": 2883314520,
\"subject\": \"QMT量化策略开发全流程详解:从Init初始化到HandleBar循环再到PassOrder下单\",
\"create_date\": 1762763759,
\"last_date\": 1762764139,
\"views\": 32,
\"posts\": 0,
\"images\": 12,
\"files\": 0,
\"mods\": 0,
\"closed\": 0,
\"firstpid\": 59,
\"lastuid\": 0,
\"lastpid\": 59,
\"likes\": 0,
\"is_transcription\": 0,
\"allow_republications\": 1,
\"cite\": null,
\"create_date_fmt\": \"2025-11-10 16:35:59\",
\"last_date_fmt\": \"2025-11-10 16:42:19\",
\"username\": \"QUANT\",
\"user_avatar_url\": \"upload/avatar/000/8.png?1762237639\",
\"user\": {
\"uid\": 8,
\"gid\": 101,
\"email\": \"wx_1760333342@qq.com\",
\"username\": \"QUANT\",
\"realname\": \"\",
\"password\": \"96df0b624fe378ac2746b85a5a65b6a8\",
\"password_sms\": \"\",
\"salt\": \"613912\",
\"mobile\": \"\",
\"qq\": \"\",
\"threads\": 5,
\"posts\": 0,
\"credits\": 0,
\"golds\": 0,
\"rmbs\": 0,
\"create_ip\": 3748191626,
\"create_date\": 1760333342,
\"login_ip\": 3748191626,
\"login_date\": 1760333342,
\"logins\": 1,
\"avatar\": 1762237639,
\"notices\": 6,
\"unread_notices\": 0,
\"signature\": \"\",
\"v\": 0,
\"v_title\": \"\",
\"follows\": 0,
\"followeds\": 0,
\"create_ip_fmt\": \"223.104.221.138\",
\"create_date_fmt\": \"2025-10-13\",
\"login_ip_fmt\": \"223.104.221.138\",
\"login_date_fmt\": \"2025-10-13\",
\"groupname\": \"一级用户组\",
\"avatar_url\": \"upload/avatar/000/8.png?1762237639\",
\"avatar_path\": \"/data/user/htdocs/./upload/avatar/000/8.png?1762237639\",
\"online_status\": 1,
\"prison_status\": 0,
\"prison_message\": 0,
\"prison_start_time\": 0,
\"prison_end_time\": 0
},
\"forumname\": \"QMT\",
\"lastusername\": \"游客\",
\"url\": \"thread-36.htm\",
\"user_url\": \"user-8.htm\",
\"top_class\": \"\",
\"pages\": 0
}','1762845483')
- 0.0034 REPLACE INTO bbs_cache (`k`,`v`,`expiry`) VALUES ('bbs_bbs_post_59','{
\"tid\": 36,
\"pid\": 59,
\"uid\": 8,
\"isfirst\": 1,
\"edit_num\": 1,
\"create_date\": 1762764139,
\"userip\": 2883314520,
\"images\": 12,
\"files\": 0,
\"doctype\": 0,
\"quotepid\": 0,
\"message\": \"
每一个 QMT Python 策略,无论多复杂,都建立在一个简单的“骨架”之上。这个骨架由两个必须存在的函数构成:init() 和 handlebar()。你可以将它们想象成一个人的大脑和心脏。
简单来说:
init()是你的策略启动的基础
handlebar()是判断你的交易策略在这里执行
passorder()策略下单
下面是一个最基础的策略模板,你可以复制它作为你所有策略的起点: (qmt的编码声明,导入的python库,init函数初始化函数的使用,handlebar函数在盘中执行策略)

注意事项:
• # coding: gbk 是必须的,请务必放在代码的第一行。
• ContextInfo 是一个非常重要的“上下文对象”,策略的所有信息和功能都通过它来传递和调用。
理解了策略的骨架后,我们就要学习如何让策略真正地去“买”和“卖”。在 QMT 中,所有交易指令都通过一个名为 passorder() 函数来完成。我们在策略开启并实时监控后, 当达到 我们的自动下单条件,就需要使用passorder()函数,帮我们执行自动下单。


案例:假设我们想在最新的 K 线上,以最新价买入 100 股中信证券(600030.SH)

注意事项:
passorder 后面的几个参数(如策略名、是否立即下单等)在初学阶段可以暂时使用默认值。strategyName可以随便填,quickTrade填2表示立即下单,userOrderId填''空字符串即可,最后一个ContextInfo是固定要传的。
现在,策略已经学会了最基本结构框架和下单方式,接下来我直接把结合框架+ 下单 完整的代码分享给大家参考,一起在QMT里面动起来:

关注点赞 后续将会继续呈现更多的函数用法,以及实操代码案例,并结合实际运用!
\",
\"message_fmt\": \"每一个 QMT Python 策略,无论多复杂,都建立在一个简单的“骨架”之上。这个骨架由两个必须存在的函数构成:init() 和 handlebar()。你可以将它们想象成一个人的大脑和心脏。
简单来说:
init()是你的策略启动的基础
handlebar()是判断你的交易策略在这里执行
passorder()策略下单
下面是一个最基础的策略模板,你可以复制它作为你所有策略的起点: (qmt的编码声明,导入的python库,init函数初始化函数的使用,handlebar函数在盘中执行策略)

注意事项:
• # coding: gbk 是必须的,请务必放在代码的第一行。
• ContextInfo 是一个非常重要的“上下文对象”,策略的所有信息和功能都通过它来传递和调用。
理解了策略的骨架后,我们就要学习如何让策略真正地去“买”和“卖”。在 QMT 中,所有交易指令都通过一个名为 passorder() 函数来完成。我们在策略开启并实时监控后, 当达到 我们的自动下单条件,就需要使用passorder()函数,帮我们执行自动下单。


案例:假设我们想在最新的 K 线上,以最新价买入 100 股中信证券(600030.SH)

注意事项:
passorder 后面的几个参数(如策略名、是否立即下单等)在初学阶段可以暂时使用默认值。strategyName可以随便填,quickTrade填2表示立即下单,userOrderId填''空字符串即可,最后一个ContextInfo是固定要传的。
现在,策略已经学会了最基本结构框架和下单方式,接下来我直接把结合框架+ 下单 完整的代码分享给大家参考,一起在QMT里面动起来:

关注点赞 后续将会继续呈现更多的函数用法,以及实操代码案例,并结合实际运用!
\",
\"likes\": 0,
\"create_date_fmt\": \"2025-11-10 16:42:19\",
\"username\": \"QUANT\",
\"user_avatar_url\": \"upload/avatar/000/8.png?1762237639\",
\"user\": {
\"uid\": 8,
\"gid\": 101,
\"email\": \"wx_1760333342@qq.com\",
\"username\": \"QUANT\",
\"realname\": \"\",
\"password\": \"96df0b624fe378ac2746b85a5a65b6a8\",
\"password_sms\": \"\",
\"salt\": \"613912\",
\"mobile\": \"\",
\"qq\": \"\",
\"threads\": 5,
\"posts\": 0,
\"credits\": 0,
\"golds\": 0,
\"rmbs\": 0,
\"create_ip\": 3748191626,
\"create_date\": 1760333342,
\"login_ip\": 3748191626,
\"login_date\": 1760333342,
\"logins\": 1,
\"avatar\": 1762237639,
\"notices\": 6,
\"unread_notices\": 0,
\"signature\": \"\",
\"v\": 0,
\"v_title\": \"\",
\"follows\": 0,
\"followeds\": 0,
\"create_ip_fmt\": \"223.104.221.138\",
\"create_date_fmt\": \"2025-10-13\",
\"login_ip_fmt\": \"223.104.221.138\",
\"login_date_fmt\": \"2025-10-13\",
\"groupname\": \"一级用户组\",
\"avatar_url\": \"upload/avatar/000/8.png?1762237639\",
\"avatar_path\": \"/data/user/htdocs/./upload/avatar/000/8.png?1762237639\",
\"online_status\": 1,
\"prison_status\": 0,
\"prison_message\": 0,
\"prison_start_time\": 0,
\"prison_end_time\": 0
},
\"floor\": \"\",
\"allowupdate\": false,
\"allowdelete\": false,
\"user_url\": \"user-8.htm\",
\"filelist\": [],
\"classname\": \"post\"
}','1762845483')
- 0.0004 SELECT * FROM bbs_cache WHERE `k`='bbs_bbs_post_58' LIMIT 1
- 0.0022 DELETE FROM bbs_cache WHERE `k`='bbs_bbs_post_58'
- 0.0003 SELECT * FROM bbs_post WHERE `pid`=58 LIMIT 1
- 0.0003 SELECT * FROM bbs_cache WHERE `k`='bbs_bbs_thread_35' LIMIT 1
- 0.0051 DELETE FROM bbs_cache WHERE `k`='bbs_bbs_thread_35'
- 0.0004 SELECT * FROM bbs_thread WHERE `tid`=35 LIMIT 1
- 0.0022 REPLACE INTO bbs_cache (`k`,`v`,`expiry`) VALUES ('bbs_bbs_thread_35','{
\"fid\": 3,
\"tid\": 35,
\"top\": 0,
\"uid\": 8,
\"userip\": 2883314520,
\"subject\": \"如何在QMT上编辑新建策略,模拟运行策略,查看策略信号?\",
\"create_date\": 1762758203,
\"last_date\": 1762758203,
\"views\": 21,
\"posts\": 0,
\"images\": 7,
\"files\": 0,
\"mods\": 0,
\"closed\": 0,
\"firstpid\": 58,
\"lastuid\": 0,
\"lastpid\": 58,
\"likes\": 0,
\"is_transcription\": 0,
\"allow_republications\": 1,
\"cite\": null,
\"create_date_fmt\": \"2025-11-10 15:03:23\",
\"last_date_fmt\": \"\",
\"username\": \"QUANT\",
\"user_avatar_url\": \"upload/avatar/000/8.png?1762237639\",
\"user\": {
\"uid\": 8,
\"gid\": 101,
\"email\": \"wx_1760333342@qq.com\",
\"username\": \"QUANT\",
\"realname\": \"\",
\"password\": \"96df0b624fe378ac2746b85a5a65b6a8\",
\"password_sms\": \"\",
\"salt\": \"613912\",
\"mobile\": \"\",
\"qq\": \"\",
\"threads\": 5,
\"posts\": 0,
\"credits\": 0,
\"golds\": 0,
\"rmbs\": 0,
\"create_ip\": 3748191626,
\"create_date\": 1760333342,
\"login_ip\": 3748191626,
\"login_date\": 1760333342,
\"logins\": 1,
\"avatar\": 1762237639,
\"notices\": 6,
\"unread_notices\": 0,
\"signature\": \"\",
\"v\": 0,
\"v_title\": \"\",
\"follows\": 0,
\"followeds\": 0,
\"create_ip_fmt\": \"223.104.221.138\",
\"create_date_fmt\": \"2025-10-13\",
\"login_ip_fmt\": \"223.104.221.138\",
\"login_date_fmt\": \"2025-10-13\",
\"groupname\": \"一级用户组\",
\"avatar_url\": \"upload/avatar/000/8.png?1762237639\",
\"avatar_path\": \"/data/user/htdocs/./upload/avatar/000/8.png?1762237639\",
\"online_status\": 1,
\"prison_status\": 0,
\"prison_message\": 0,
\"prison_start_time\": 0,
\"prison_end_time\": 0
},
\"forumname\": \"QMT\",
\"lastusername\": \"\",
\"url\": \"thread-35.htm\",
\"user_url\": \"user-8.htm\",
\"top_class\": \"\",
\"pages\": 0
}','1762845483')
- 0.0022 REPLACE INTO bbs_cache (`k`,`v`,`expiry`) VALUES ('bbs_bbs_post_58','{
\"tid\": 35,
\"pid\": 58,
\"uid\": 8,
\"isfirst\": 1,
\"edit_num\": 0,
\"create_date\": 1762758203,
\"userip\": 2883314520,
\"images\": 7,
\"files\": 0,
\"doctype\": 0,
\"quotepid\": 0,
\"message\": \"
在QMT的模拟软件中,进行策略仿真交易的路径 .
第一步: 我的—— 新建策略—— python策略

第二步:自行在QMT编辑器进行策略编写 ,右侧的名字可以自己命名,点击运行策略。(如果在这个界面直接点 运行策略,可以看见代码是否报错,但无法进行模拟委托。

第三步:点击“交易模型”,将刚才保存的策略点击出来,下图为例

第四步,将右侧的实盘打开,策略将开始运行。 点击策略日志则可以看见 策略下单信号

\",
\"message_fmt\": \"
在QMT的模拟软件中,进行策略仿真交易的路径 .
第一步: 我的—— 新建策略—— python策略

第二步:自行在QMT编辑器进行策略编写 ,右侧的名字可以自己命名,点击运行策略。(如果在这个界面直接点 运行策略,可以看见代码是否报错,但无法进行模拟委托。

第三步:点击“交易模型”,将刚才保存的策略点击出来,下图为例

第四步,将右侧的实盘打开,策略将开始运行。 点击策略日志则可以看见 策略下单信号

\",
\"likes\": 0,
\"create_date_fmt\": \"2025-11-10 15:03:23\",
\"username\": \"QUANT\",
\"user_avatar_url\": \"upload/avatar/000/8.png?1762237639\",
\"user\": {
\"uid\": 8,
\"gid\": 101,
\"email\": \"wx_1760333342@qq.com\",
\"username\": \"QUANT\",
\"realname\": \"\",
\"password\": \"96df0b624fe378ac2746b85a5a65b6a8\",
\"password_sms\": \"\",
\"salt\": \"613912\",
\"mobile\": \"\",
\"qq\": \"\",
\"threads\": 5,
\"posts\": 0,
\"credits\": 0,
\"golds\": 0,
\"rmbs\": 0,
\"create_ip\": 3748191626,
\"create_date\": 1760333342,
\"login_ip\": 3748191626,
\"login_date\": 1760333342,
\"logins\": 1,
\"avatar\": 1762237639,
\"notices\": 6,
\"unread_notices\": 0,
\"signature\": \"\",
\"v\": 0,
\"v_title\": \"\",
\"follows\": 0,
\"followeds\": 0,
\"create_ip_fmt\": \"223.104.221.138\",
\"create_date_fmt\": \"2025-10-13\",
\"login_ip_fmt\": \"223.104.221.138\",
\"login_date_fmt\": \"2025-10-13\",
\"groupname\": \"一级用户组\",
\"avatar_url\": \"upload/avatar/000/8.png?1762237639\",
\"avatar_path\": \"/data/user/htdocs/./upload/avatar/000/8.png?1762237639\",
\"online_status\": 1,
\"prison_status\": 0,
\"prison_message\": 0,
\"prison_start_time\": 0,
\"prison_end_time\": 0
},
\"floor\": \"\",
\"allowupdate\": false,
\"allowdelete\": false,
\"user_url\": \"user-8.htm\",
\"filelist\": [],
\"classname\": \"post\"
}','1762845483')
- 0.0006 SELECT * FROM bbs_cache WHERE `k`='bbs_bbs_post_57' LIMIT 1
- 0.0025 DELETE FROM bbs_cache WHERE `k`='bbs_bbs_post_57'
- 0.0006 SELECT * FROM bbs_post WHERE `pid`=57 LIMIT 1
- 0.0003 SELECT * FROM bbs_cache WHERE `k`='bbs_bbs_thread_34' LIMIT 1
- 0.0022 DELETE FROM bbs_cache WHERE `k`='bbs_bbs_thread_34'
- 0.0004 SELECT * FROM bbs_thread WHERE `tid`=34 LIMIT 1
- 0.0023 REPLACE INTO bbs_cache (`k`,`v`,`expiry`) VALUES ('bbs_bbs_thread_34','{
\"fid\": 3,
\"tid\": 34,
\"top\": 0,
\"uid\": 8,
\"userip\": 2883303348,
\"subject\": \"如何正确安装QMT?如何配置QMT环境?及常见配置安装问题(新手超详细篇)\",
\"create_date\": 1762494422,
\"last_date\": 1762494586,
\"views\": 60,
\"posts\": 0,
\"images\": 13,
\"files\": 0,
\"mods\": 0,
\"closed\": 0,
\"firstpid\": 57,
\"lastuid\": 0,
\"lastpid\": 57,
\"likes\": 0,
\"is_transcription\": 0,
\"allow_republications\": 1,
\"cite\": null,
\"create_date_fmt\": \"2025-11-07 13:47:02\",
\"last_date_fmt\": \"2025-11-07 13:49:46\",
\"username\": \"QUANT\",
\"user_avatar_url\": \"upload/avatar/000/8.png?1762237639\",
\"user\": {
\"uid\": 8,
\"gid\": 101,
\"email\": \"wx_1760333342@qq.com\",
\"username\": \"QUANT\",
\"realname\": \"\",
\"password\": \"96df0b624fe378ac2746b85a5a65b6a8\",
\"password_sms\": \"\",
\"salt\": \"613912\",
\"mobile\": \"\",
\"qq\": \"\",
\"threads\": 5,
\"posts\": 0,
\"credits\": 0,
\"golds\": 0,
\"rmbs\": 0,
\"create_ip\": 3748191626,
\"create_date\": 1760333342,
\"login_ip\": 3748191626,
\"login_date\": 1760333342,
\"logins\": 1,
\"avatar\": 1762237639,
\"notices\": 6,
\"unread_notices\": 0,
\"signature\": \"\",
\"v\": 0,
\"v_title\": \"\",
\"follows\": 0,
\"followeds\": 0,
\"create_ip_fmt\": \"223.104.221.138\",
\"create_date_fmt\": \"2025-10-13\",
\"login_ip_fmt\": \"223.104.221.138\",
\"login_date_fmt\": \"2025-10-13\",
\"groupname\": \"一级用户组\",
\"avatar_url\": \"upload/avatar/000/8.png?1762237639\",
\"avatar_path\": \"/data/user/htdocs/./upload/avatar/000/8.png?1762237639\",
\"online_status\": 1,
\"prison_status\": 0,
\"prison_message\": 0,
\"prison_start_time\": 0,
\"prison_end_time\": 0
},
\"forumname\": \"QMT\",
\"lastusername\": \"游客\",
\"url\": \"thread-34.htm\",
\"user_url\": \"user-8.htm\",
\"top_class\": \"\",
\"pages\": 0
}','1762845483')
- 0.0634 REPLACE INTO bbs_cache (`k`,`v`,`expiry`) VALUES ('bbs_bbs_post_57','{
\"tid\": 34,
\"pid\": 57,
\"uid\": 8,
\"isfirst\": 1,
\"edit_num\": 1,
\"create_date\": 1762494586,
\"userip\": 2883303348,
\"images\": 13,
\"files\": 0,
\"doctype\": 0,
\"quotepid\": 0,
\"message\": \"
一:QMT安装
支持QMT的券商在给我们软件链接后,即可安装。QMT的安装环境是64位的Windows系统,推荐首选8GB以上的内存,硬盘在100G以上,安装的时候,最好不要装在C盘,若是必须装在C盘,可以使用管理员身份运行,避免因为权限问题出错。

二:QMT环境配置
登录QMT行情+交易模式

使用QMT自带Python(一键式,极力推荐)—— 点击“模型研究”-下载python库


三:QMT历史数据下载
在QMT上安装好Python库后,我们补充数据在左上角【操作】点击【数据管理】选择需要的数据补充。


数据可以设置每日定时更新,可以点击客户端右下角【行情】按钮,在【批量下载】界面选择需要每天更新的数据,数据范围勾选【增量】,并且勾选【定时下载】选项,之后每天在指定时间会自动下载行情数据到本地。

若有特殊需要,可以添加安装第三方库(非必选)
配置好Python环境后,我们还可以安装一些强大的“武器”——第三方库如 tushare等。像numpy(用于科学计算)、pandas(用于数据处理)、pytdx(用于获取行情数据)等都是量化策略的得力助手。
安装第三方库最最最关键的一点是:必须把库安装到QMT正在使用的那个Python环境里去! 如果安装错了地方,QMT是绝对找不到的,你的策略代码一运行就会报错“ModuleNotFoundError”。
后期 我会将如何在QMT上安装第三方库(如 tushare等)。
QMT配置常见问题:
安装问题一:Mac 电脑到底能不能用?
直接答案:不能。 QMT官方没有推出任何macOS版本,你无法像安装普通Mac软件一样直接在苹果电脑上运行它,虚拟机也不行的哈!
问题二:32位系统能不能用?
直接答案:不能,也不推荐。
问题三:QMT与Python版本的兼容性?
QMT能用哪个版本的Python,不是由用户决定的,而是由你开户的证券公司决定的。
绝大多数券商:提供的QMT内置Python版本为 Python 3.6.8 ;少数券商(楼主使用的券商):已经将其QMT内置的Python版本升级到了 Python 3.11
这个版本差异是比较大的的,因为它直接决定了你能使用的第三方库(如numpy, pandas等数据分析工具)的版本,甚至影响代码的写法。例如,一个为Python 3.11编写的策略,很可能完全无法在Python 3.6的环境下运行。

为什么我安装QMT后不能正常使用?
如果你严格按照以上步骤操作,但QMT依然罢工,不要灰心。这里列出了一些最常见的“疑难杂症”和解决方案。
QMT策略运行报错 ModuleNotFoundError?
可能原因 1.第三方库未安装 2.库安装到了错误的 Python环境
解决方案 1.确认库名拼写正确 2.严格按照第四部分的方法,使用-target 或在激活的虚拟环境中安装
QMT 启动时闪退或报错?
可能原因 1.安装路径包含中文或特殊字符 2.未以管理员身份运行 3.被杀毒软件或防火墙拦截
解决方案:1.将 QMT安装在纯英文路径下,如 D:\\\\xtquant 2.右键点击 QMT快捷方式,选择”以管理员身份运行” 3.将 QMT程序添加到杀毒软件的信任列表
QMT点击”下载 python 库”无反应或下载失败?
可能原因 网络问题或券商服务器问题
解决方案 1.检查你的网络连接 2.尝试更换网络环境(如手机热点) 3.联系你的券商客服寻求帮助
QMT回测或交易时,数据获取失败?
可能原因 1.未下载历史数据 2.账户未开通相应权限
解决方案 1.在 QMT的行情数据工具中,下载你需要的股票/期货的分钟线、日线数据 2.确认你的模拟或实盘账户已正确绑定,并拥有交易权限
QMT的Python 版本不匹配的错误?
可能原因 使用了与当前 Python 环境不兼容的库或语法
解决方案 1.确认你券商 QMT的 Python 版本(见第三部分) 2.安装与该 Python 版本兼容的第三方库版本 3.调整你的代码以适应当前的 Python 版本
排错终极大法:当你遇到任何无法解决的问题时,请运行以下代码, 进行检查!!
结语
恭喜你!读到这里,你已经掌握了QMT安装与环境配置的核心知识。量化交易的道路充满了挑战与机遇,而一个稳定、正确的开发环境,是你迈向成功的第一步,也是最重要的一步。
请记住,遇到问题是正常的,尤其是在处理不同版本兼容性时。保持耐心,仔细排查,善用搜索和求助,你一定能克服所有障碍。
实在不清楚 还可以在帖子提问 ,看到后会第一时间帮大家一起解决!!
\",
\"message_fmt\": \"
一:QMT安装
支持QMT的券商在给我们软件链接后,即可安装。QMT的安装环境是64位的Windows系统,推荐首选8GB以上的内存,硬盘在100G以上,安装的时候,最好不要装在C盘,若是必须装在C盘,可以使用管理员身份运行,避免因为权限问题出错。

二:QMT环境配置
登录QMT行情+交易模式

使用QMT自带Python(一键式,极力推荐)—— 点击“模型研究”-下载python库


三:QMT历史数据下载
在QMT上安装好Python库后,我们补充数据在左上角【操作】点击【数据管理】选择需要的数据补充。


数据可以设置每日定时更新,可以点击客户端右下角【行情】按钮,在【批量下载】界面选择需要每天更新的数据,数据范围勾选【增量】,并且勾选【定时下载】选项,之后每天在指定时间会自动下载行情数据到本地。

若有特殊需要,可以添加安装第三方库(非必选)
配置好Python环境后,我们还可以安装一些强大的“武器”——第三方库如 tushare等。像numpy(用于科学计算)、pandas(用于数据处理)、pytdx(用于获取行情数据)等都是量化策略的得力助手。
安装第三方库最最最关键的一点是:必须把库安装到QMT正在使用的那个Python环境里去! 如果安装错了地方,QMT是绝对找不到的,你的策略代码一运行就会报错“ModuleNotFoundError”。
后期 我会将如何在QMT上安装第三方库(如 tushare等)。
QMT配置常见问题:
安装问题一:Mac 电脑到底能不能用?
直接答案:不能。 QMT官方没有推出任何macOS版本,你无法像安装普通Mac软件一样直接在苹果电脑上运行它,虚拟机也不行的哈!
问题二:32位系统能不能用?
直接答案:不能,也不推荐。
问题三:QMT与Python版本的兼容性?
QMT能用哪个版本的Python,不是由用户决定的,而是由你开户的证券公司决定的。
绝大多数券商:提供的QMT内置Python版本为 Python 3.6.8 ;少数券商(楼主使用的券商):已经将其QMT内置的Python版本升级到了 Python 3.11
这个版本差异是比较大的的,因为它直接决定了你能使用的第三方库(如numpy, pandas等数据分析工具)的版本,甚至影响代码的写法。例如,一个为Python 3.11编写的策略,很可能完全无法在Python 3.6的环境下运行。

为什么我安装QMT后不能正常使用?
如果你严格按照以上步骤操作,但QMT依然罢工,不要灰心。这里列出了一些最常见的“疑难杂症”和解决方案。
QMT策略运行报错 ModuleNotFoundError?
可能原因 1.第三方库未安装 2.库安装到了错误的 Python环境
解决方案 1.确认库名拼写正确 2.严格按照第四部分的方法,使用-target 或在激活的虚拟环境中安装
QMT 启动时闪退或报错?
可能原因 1.安装路径包含中文或特殊字符 2.未以管理员身份运行 3.被杀毒软件或防火墙拦截
解决方案:1.将 QMT安装在纯英文路径下,如 D:\\\\xtquant 2.右键点击 QMT快捷方式,选择”以管理员身份运行” 3.将 QMT程序添加到杀毒软件的信任列表
QMT点击”下载 python 库”无反应或下载失败?
可能原因 网络问题或券商服务器问题
解决方案 1.检查你的网络连接 2.尝试更换网络环境(如手机热点) 3.联系你的券商客服寻求帮助
QMT回测或交易时,数据获取失败?
可能原因 1.未下载历史数据 2.账户未开通相应权限
解决方案 1.在 QMT的行情数据工具中,下载你需要的股票/期货的分钟线、日线数据 2.确认你的模拟或实盘账户已正确绑定,并拥有交易权限
QMT的Python 版本不匹配的错误?
可能原因 使用了与当前 Python 环境不兼容的库或语法
解决方案 1.确认你券商 QMT的 Python 版本(见第三部分) 2.安装与该 Python 版本兼容的第三方库版本 3.调整你的代码以适应当前的 Python 版本
排错终极大法:当你遇到任何无法解决的问题时,请运行以下代码, 进行检查!!
结语
恭喜你!读到这里,你已经掌握了QMT安装与环境配置的核心知识。量化交易的道路充满了挑战与机遇,而一个稳定、正确的开发环境,是你迈向成功的第一步,也是最重要的一步。
请记住,遇到问题是正常的,尤其是在处理不同版本兼容性时。保持耐心,仔细排查,善用搜索和求助,你一定能克服所有障碍。
实在不清楚 还可以在帖子提问 ,看到后会第一时间帮大家一起解决!!
\",
\"likes\": 0,
\"create_date_fmt\": \"2025-11-07 13:49:46\",
\"username\": \"QUANT\",
\"user_avatar_url\": \"upload/avatar/000/8.png?1762237639\",
\"user\": {
\"uid\": 8,
\"gid\": 101,
\"email\": \"wx_1760333342@qq.com\",
\"username\": \"QUANT\",
\"realname\": \"\",
\"password\": \"96df0b624fe378ac2746b85a5a65b6a8\",
\"password_sms\": \"\",
\"salt\": \"613912\",
\"mobile\": \"\",
\"qq\": \"\",
\"threads\": 5,
\"posts\": 0,
\"credits\": 0,
\"golds\": 0,
\"rmbs\": 0,
\"create_ip\": 3748191626,
\"create_date\": 1760333342,
\"login_ip\": 3748191626,
\"login_date\": 1760333342,
\"logins\": 1,
\"avatar\": 1762237639,
\"notices\": 6,
\"unread_notices\": 0,
\"signature\": \"\",
\"v\": 0,
\"v_title\": \"\",
\"follows\": 0,
\"followeds\": 0,
\"create_ip_fmt\": \"223.104.221.138\",
\"create_date_fmt\": \"2025-10-13\",
\"login_ip_fmt\": \"223.104.221.138\",
\"login_date_fmt\": \"2025-10-13\",
\"groupname\": \"一级用户组\",
\"avatar_url\": \"upload/avatar/000/8.png?1762237639\",
\"avatar_path\": \"/data/user/htdocs/./upload/avatar/000/8.png?1762237639\",
\"online_status\": 1,
\"prison_status\": 0,
\"prison_message\": 0,
\"prison_start_time\": 0,
\"prison_end_time\": 0
},
\"floor\": \"\",
\"allowupdate\": false,
\"allowdelete\": false,
\"user_url\": \"user-8.htm\",
\"filelist\": [],
\"classname\": \"post\"
}','1762845483')
- 0.0004 SELECT * FROM bbs_cache WHERE `k`='bbs_bbs_post_56' LIMIT 1
- 0.0023 DELETE FROM bbs_cache WHERE `k`='bbs_bbs_post_56'
- 0.0003 SELECT * FROM bbs_post WHERE `pid`=56 LIMIT 1
- 0.0003 SELECT * FROM bbs_cache WHERE `k`='bbs_bbs_thread_33' LIMIT 1
- 0.0028 DELETE FROM bbs_cache WHERE `k`='bbs_bbs_thread_33'
- 0.0004 SELECT * FROM bbs_thread WHERE `tid`=33 LIMIT 1
- 0.0032 REPLACE INTO bbs_cache (`k`,`v`,`expiry`) VALUES ('bbs_bbs_thread_33','{
\"fid\": 1,
\"tid\": 33,
\"top\": 0,
\"uid\": 4,
\"userip\": 2101779134,
\"subject\": \"测试链接功能\",
\"create_date\": 1762480400,
\"last_date\": 1762480400,
\"views\": 42,
\"posts\": 0,
\"images\": 0,
\"files\": 0,
\"mods\": 0,
\"closed\": 0,
\"firstpid\": 56,
\"lastuid\": 0,
\"lastpid\": 56,
\"likes\": 0,
\"is_transcription\": 0,
\"allow_republications\": 1,
\"cite\": null,
\"create_date_fmt\": \"2025-11-07 09:53:20\",
\"last_date_fmt\": \"\",
\"username\": \"财叔\",
\"user_avatar_url\": \"upload/avatar/000/4.png?1760003271\",
\"user\": {
\"uid\": 4,
\"gid\": 1,
\"email\": \"18227245155@163.com\",
\"username\": \"财叔\",
\"realname\": \"\",
\"password\": \"bc613d94655b7a5121971f7984863830\",
\"password_sms\": \"\",
\"salt\": \"HYVCQG834ZGXH3FJ\",
\"mobile\": \"\",
\"qq\": \"\",
\"threads\": 3,
\"posts\": 0,
\"credits\": 0,
\"golds\": 0,
\"rmbs\": 0,
\"create_ip\": 2101780202,
\"create_date\": 1760003271,
\"login_ip\": 2101779042,
\"login_date\": 1762304134,
\"logins\": 7,
\"avatar\": 1760003271,
\"notices\": 18,
\"unread_notices\": 1,
\"signature\": \"\",
\"v\": 2,
\"v_title\": \"\",
\"follows\": 0,
\"followeds\": 0,
\"create_ip_fmt\": \"125.70.158.234\",
\"create_date_fmt\": \"2025-10-09\",
\"login_ip_fmt\": \"125.70.154.98\",
\"login_date_fmt\": \"2025-11-05\",
\"groupname\": \"管理员组\",
\"avatar_url\": \"upload/avatar/000/4.png?1760003271\",
\"avatar_path\": \"/data/user/htdocs/./upload/avatar/000/4.png?1760003271\",
\"online_status\": 1,
\"prison_status\": 0,
\"prison_message\": 0,
\"prison_start_time\": 0,
\"prison_end_time\": 0
},
\"forumname\": \"股市闲谈\",
\"lastusername\": \"\",
\"url\": \"thread-33.htm\",
\"user_url\": \"user-4.htm\",
\"top_class\": \"\",
\"pages\": 0
}','1762845483')
- 0.0023 REPLACE INTO bbs_cache (`k`,`v`,`expiry`) VALUES ('bbs_bbs_post_56','{
\"tid\": 33,
\"pid\": 56,
\"uid\": 4,
\"isfirst\": 1,
\"edit_num\": 0,
\"create_date\": 1762480400,
\"userip\": 2101779134,
\"images\": 0,
\"files\": 0,
\"doctype\": 0,
\"quotepid\": 0,
\"message\": \"
啊大是大非https://www.lianghuaba.net/thread-32.htm
\",
\"message_fmt\": \"啊大是大非https://www.lianghuaba.net/thread-32.htm
\",
\"likes\": 0,
\"create_date_fmt\": \"2025-11-07 09:53:20\",
\"username\": \"财叔\",
\"user_avatar_url\": \"upload/avatar/000/4.png?1760003271\",
\"user\": {
\"uid\": 4,
\"gid\": 1,
\"email\": \"18227245155@163.com\",
\"username\": \"财叔\",
\"realname\": \"\",
\"password\": \"bc613d94655b7a5121971f7984863830\",
\"password_sms\": \"\",
\"salt\": \"HYVCQG834ZGXH3FJ\",
\"mobile\": \"\",
\"qq\": \"\",
\"threads\": 3,
\"posts\": 0,
\"credits\": 0,
\"golds\": 0,
\"rmbs\": 0,
\"create_ip\": 2101780202,
\"create_date\": 1760003271,
\"login_ip\": 2101779042,
\"login_date\": 1762304134,
\"logins\": 7,
\"avatar\": 1760003271,
\"notices\": 18,
\"unread_notices\": 1,
\"signature\": \"\",
\"v\": 2,
\"v_title\": \"\",
\"follows\": 0,
\"followeds\": 0,
\"create_ip_fmt\": \"125.70.158.234\",
\"create_date_fmt\": \"2025-10-09\",
\"login_ip_fmt\": \"125.70.154.98\",
\"login_date_fmt\": \"2025-11-05\",
\"groupname\": \"管理员组\",
\"avatar_url\": \"upload/avatar/000/4.png?1760003271\",
\"avatar_path\": \"/data/user/htdocs/./upload/avatar/000/4.png?1760003271\",
\"online_status\": 1,
\"prison_status\": 0,
\"prison_message\": 0,
\"prison_start_time\": 0,
\"prison_end_time\": 0
},
\"floor\": \"\",
\"allowupdate\": false,
\"allowdelete\": false,
\"user_url\": \"user-4.htm\",
\"filelist\": [],
\"classname\": \"post\"
}','1762845483')
- 0.0004 SELECT * FROM bbs_cache WHERE `k`='bbs_bbs_post_55' LIMIT 1
- 0.0862 DELETE FROM bbs_cache WHERE `k`='bbs_bbs_post_55'
- 0.0004 SELECT * FROM bbs_post WHERE `pid`=55 LIMIT 1
- 0.0004 SELECT * FROM bbs_cache WHERE `k`='bbs_bbs_thread_32' LIMIT 1
- 0.0076 DELETE FROM bbs_cache WHERE `k`='bbs_bbs_thread_32'
- 0.0004 SELECT * FROM bbs_thread WHERE `tid`=32 LIMIT 1
- 0.0022 REPLACE INTO bbs_cache (`k`,`v`,`expiry`) VALUES ('bbs_bbs_thread_32','{
\"fid\": 3,
\"tid\": 32,
\"top\": 0,
\"uid\": 8,
\"userip\": 2883303348,
\"subject\": \"什么是QMT软件 ? 它与通达信同花顺这类软件有什么区别?\",
\"create_date\": 1762410011,
\"last_date\": 1762476320,
\"views\": 93,
\"posts\": 0,
\"images\": 7,
\"files\": 0,
\"mods\": 0,
\"closed\": 0,
\"firstpid\": 55,
\"lastuid\": 0,
\"lastpid\": 55,
\"likes\": 0,
\"is_transcription\": 0,
\"allow_republications\": 1,
\"cite\": null,
\"create_date_fmt\": \"2025-11-06 14:20:11\",
\"last_date_fmt\": \"2025-11-07 08:45:20\",
\"username\": \"QUANT\",
\"user_avatar_url\": \"upload/avatar/000/8.png?1762237639\",
\"user\": {
\"uid\": 8,
\"gid\": 101,
\"email\": \"wx_1760333342@qq.com\",
\"username\": \"QUANT\",
\"realname\": \"\",
\"password\": \"96df0b624fe378ac2746b85a5a65b6a8\",
\"password_sms\": \"\",
\"salt\": \"613912\",
\"mobile\": \"\",
\"qq\": \"\",
\"threads\": 5,
\"posts\": 0,
\"credits\": 0,
\"golds\": 0,
\"rmbs\": 0,
\"create_ip\": 3748191626,
\"create_date\": 1760333342,
\"login_ip\": 3748191626,
\"login_date\": 1760333342,
\"logins\": 1,
\"avatar\": 1762237639,
\"notices\": 6,
\"unread_notices\": 0,
\"signature\": \"\",
\"v\": 0,
\"v_title\": \"\",
\"follows\": 0,
\"followeds\": 0,
\"create_ip_fmt\": \"223.104.221.138\",
\"create_date_fmt\": \"2025-10-13\",
\"login_ip_fmt\": \"223.104.221.138\",
\"login_date_fmt\": \"2025-10-13\",
\"groupname\": \"一级用户组\",
\"avatar_url\": \"upload/avatar/000/8.png?1762237639\",
\"avatar_path\": \"/data/user/htdocs/./upload/avatar/000/8.png?1762237639\",
\"online_status\": 1,
\"prison_status\": 0,
\"prison_message\": 0,
\"prison_start_time\": 0,
\"prison_end_time\": 0
},
\"forumname\": \"QMT\",
\"lastusername\": \"游客\",
\"url\": \"thread-32.htm\",
\"user_url\": \"user-8.htm\",
\"top_class\": \"\",
\"pages\": 0
}','1762845483')
- 0.0880 REPLACE INTO bbs_cache (`k`,`v`,`expiry`) VALUES ('bbs_bbs_post_55','{
\"tid\": 32,
\"pid\": 55,
\"uid\": 8,
\"isfirst\": 1,
\"edit_num\": 2,
\"create_date\": 1762476320,
\"userip\": 2883303348,
\"images\": 7,
\"files\": 0,
\"doctype\": 0,
\"quotepid\": 0,
\"message\": \"
你是否还在为每天追涨杀跌、手动下单、频繁错过最佳交易时机而感到焦虑?你是否听说过“量化交易”,但总觉得它高深莫测,是专业机构才能涉足的领域?今天,我们将为你揭开一款强大工具的神秘面纱——QMT(迅投极速交易平台)。它并非遥不可及的“黑科技”,而是一款能实实在在帮助我们普通投资者提升交易效率、实现自动化交易的利器。本贴将以通俗易懂的方式,带你全面了解 QMT,并直观对比它与传统交易软件的本质区别!!
一、QMT是什么?它和炒股软件有什么本质不同?
传统交易软件(如通达信、同花顺) 就像一辆手动挡汽车。你需要自己观察路况(盯盘看行情),然后手动完成踩离合、挂挡、踩油门等一系列操作(手动输入价格和数量下单)。整个过程不仅繁琐,还极易受到情绪波动的影响。
QMT 量化交易平台 则像一辆自动驾驶汽车。只需提前设定好目的地和驾驶规则(编写交易策略),车辆就能自动感知路况并完成所有驾驶操作(程序化自动交易)。
二、打破传统交易软件痛点,将QMT与传统软件结合使用
很多人和我一样喜欢使用通达信的公式选股功能来寻找符合特定条件的股票,这是一个非常好的策略实践。然而,在选出股票后,一个巨大的“痛点”便浮现出来:
在通达信中编写选股公式,但当你选出股票后,会遇到一个巨大的“痛点”:
1.执行效率低下:公式运行后,得到的是一个股票列表。接下来,必须手动将这些股票一一添加到自选股,计算每只股票的买入数量,并在交易时间手动输入代码、价格、数量来完成下单。这个过程充满了延迟和操作风险。
2.策略与交易脱节:你的选股策略和实际交易是完全分离的。策略无法“指挥”交易,交易也无法“感知”策略的实时信号。如果一个绝佳的买点在盘中一闪而过,当你在通达信中发现信号时,机会早已溜走。
3.情绪的干扰:市场波动剧烈时,即使策略给出了明确的买卖信号,我们也很容易因为恐惧、贪婪或犹豫而未能严格执行,最终导致“策略是好的,执行是另一回事”的尴尬局面。
如果 我们将QTM此类量化软件 与 传统软件相结合使用 , 会是一场完美的 体验!

三、如何运用好QMT 与传统交易软件,打通交易痛点
借助 QMT,可以将通达信等软件的选股逻辑用更灵活的 Python 等计算机语言来实现,并让程序自动完成整个“感知-决策-执行”的流程:
QMT行情接口 (XTData API):程序通过接口自动获取全市场的实时行情数据(毫秒级),并根据你设定的逻辑进行高速计算和筛选。
QMT交易接口 (XTTrade API):一旦程序筛选出符合条件的股票,它会立即根据你的资金管理模型自动计算仓位,并瞬间通过交易接口向券商的柜台系统发送交易指令,完成买入或卖出。
整个过程完全由代码驱动,无需任何人工干预,从而彻底消除了手动操作的延迟、失误和情绪干扰。
四、QMT的两种版本:券商版 vs 投研版

建议: 如果你是量化新手,或者是策略对于数据的需求没有特别大的投资者,建议先从券商的模拟版本开始,学习Python编程和策略编写,利用其强大的回测功能验证策略。
写在最后:量化交易并不是万能的
我们必须明确,QMT 是一个强大的工具,但它不是一个能自动赚钱的“印钞机”。量化交易的成功与否,核心在于策略的质量,而 QMT 的作用是保证你的优质策略能够被高效、准确、无情绪地执行。对于广大散户而言,QMT 的出现极大地降低了量化交易的门槛。我们不再需要自己搭建复杂的服务器和接口,就能享受到专业级的程序化交易环境。
后期我会将QMT的使用及部分重要的API使用分享给大家 ! 希望对大家有所帮助 !
\",
\"message_fmt\": \"你是否还在为每天追涨杀跌、手动下单、频繁错过最佳交易时机而感到焦虑?你是否听说过“量化交易”,但总觉得它高深莫测,是专业机构才能涉足的领域?今天,我们将为你揭开一款强大工具的神秘面纱——QMT(迅投极速交易平台)。它并非遥不可及的“黑科技”,而是一款能实实在在帮助我们普通投资者提升交易效率、实现自动化交易的利器。本贴将以通俗易懂的方式,带你全面了解 QMT,并直观对比它与传统交易软件的本质区别!!
一、QMT是什么?它和炒股软件有什么本质不同?
传统交易软件(如通达信、同花顺) 就像一辆手动挡汽车。你需要自己观察路况(盯盘看行情),然后手动完成踩离合、挂挡、踩油门等一系列操作(手动输入价格和数量下单)。整个过程不仅繁琐,还极易受到情绪波动的影响。
QMT 量化交易平台 则像一辆自动驾驶汽车。只需提前设定好目的地和驾驶规则(编写交易策略),车辆就能自动感知路况并完成所有驾驶操作(程序化自动交易)。
二、打破传统交易软件痛点,将QMT与传统软件结合使用
很多人和我一样喜欢使用通达信的公式选股功能来寻找符合特定条件的股票,这是一个非常好的策略实践。然而,在选出股票后,一个巨大的“痛点”便浮现出来:
在通达信中编写选股公式,但当你选出股票后,会遇到一个巨大的“痛点”:
1.执行效率低下:公式运行后,得到的是一个股票列表。接下来,必须手动将这些股票一一添加到自选股,计算每只股票的买入数量,并在交易时间手动输入代码、价格、数量来完成下单。这个过程充满了延迟和操作风险。
2.策略与交易脱节:你的选股策略和实际交易是完全分离的。策略无法“指挥”交易,交易也无法“感知”策略的实时信号。如果一个绝佳的买点在盘中一闪而过,当你在通达信中发现信号时,机会早已溜走。
3.情绪的干扰:市场波动剧烈时,即使策略给出了明确的买卖信号,我们也很容易因为恐惧、贪婪或犹豫而未能严格执行,最终导致“策略是好的,执行是另一回事”的尴尬局面。
如果 我们将QTM此类量化软件 与 传统软件相结合使用 , 会是一场完美的 体验!

三、如何运用好QMT 与传统交易软件,打通交易痛点
借助 QMT,可以将通达信等软件的选股逻辑用更灵活的 Python 等计算机语言来实现,并让程序自动完成整个“感知-决策-执行”的流程:
QMT行情接口 (XTData API):程序通过接口自动获取全市场的实时行情数据(毫秒级),并根据你设定的逻辑进行高速计算和筛选。
QMT交易接口 (XTTrade API):一旦程序筛选出符合条件的股票,它会立即根据你的资金管理模型自动计算仓位,并瞬间通过交易接口向券商的柜台系统发送交易指令,完成买入或卖出。
整个过程完全由代码驱动,无需任何人工干预,从而彻底消除了手动操作的延迟、失误和情绪干扰。
四、QMT的两种版本:券商版 vs 投研版

建议: 如果你是量化新手,或者是策略对于数据的需求没有特别大的投资者,建议先从券商的模拟版本开始,学习Python编程和策略编写,利用其强大的回测功能验证策略。
写在最后:量化交易并不是万能的
我们必须明确,QMT 是一个强大的工具,但它不是一个能自动赚钱的“印钞机”。量化交易的成功与否,核心在于策略的质量,而 QMT 的作用是保证你的优质策略能够被高效、准确、无情绪地执行。对于广大散户而言,QMT 的出现极大地降低了量化交易的门槛。我们不再需要自己搭建复杂的服务器和接口,就能享受到专业级的程序化交易环境。
后期我会将QMT的使用及部分重要的API使用分享给大家 ! 希望对大家有所帮助 !
\",
\"likes\": 0,
\"create_date_fmt\": \"2025-11-07 08:45:20\",
\"username\": \"QUANT\",
\"user_avatar_url\": \"upload/avatar/000/8.png?1762237639\",
\"user\": {
\"uid\": 8,
\"gid\": 101,
\"email\": \"wx_1760333342@qq.com\",
\"username\": \"QUANT\",
\"realname\": \"\",
\"password\": \"96df0b624fe378ac2746b85a5a65b6a8\",
\"password_sms\": \"\",
\"salt\": \"613912\",
\"mobile\": \"\",
\"qq\": \"\",
\"threads\": 5,
\"posts\": 0,
\"credits\": 0,
\"golds\": 0,
\"rmbs\": 0,
\"create_ip\": 3748191626,
\"create_date\": 1760333342,
\"login_ip\": 3748191626,
\"login_date\": 1760333342,
\"logins\": 1,
\"avatar\": 1762237639,
\"notices\": 6,
\"unread_notices\": 0,
\"signature\": \"\",
\"v\": 0,
\"v_title\": \"\",
\"follows\": 0,
\"followeds\": 0,
\"create_ip_fmt\": \"223.104.221.138\",
\"create_date_fmt\": \"2025-10-13\",
\"login_ip_fmt\": \"223.104.221.138\",
\"login_date_fmt\": \"2025-10-13\",
\"groupname\": \"一级用户组\",
\"avatar_url\": \"upload/avatar/000/8.png?1762237639\",
\"avatar_path\": \"/data/user/htdocs/./upload/avatar/000/8.png?1762237639\",
\"online_status\": 1,
\"prison_status\": 0,
\"prison_message\": 0,
\"prison_start_time\": 0,
\"prison_end_time\": 0
},
\"floor\": \"\",
\"allowupdate\": false,
\"allowdelete\": false,
\"user_url\": \"user-8.htm\",
\"filelist\": [],
\"classname\": \"post\"
}','1762845483')
- 0.0006 SELECT * FROM bbs_cache WHERE `k`='bbs_bbs_post_38' LIMIT 1
- 0.0006 SELECT * FROM bbs_cache WHERE `k`='bbs_bbs_post_37' LIMIT 1
- 0.0003 SELECT * FROM bbs_cache WHERE `k`='bbs_bbs_post_31' LIMIT 1
- 0.0003 SELECT * FROM bbs_cache WHERE `k`='bbs_bbs_post_7' LIMIT 1
- 0.0003 SELECT * FROM bbs_cache WHERE `k`='bbs_bbs_post_4' LIMIT 1
- 0.0004 SELECT * FROM bbs_cache WHERE `k`='bbs_bbs_post_3' LIMIT 1
- 0.0003 SELECT * FROM bbs_cache WHERE `k`='bbs_bbs_post_2' LIMIT 1
- 0.0003 SELECT * FROM bbs_cache WHERE `k`='bbs_bbs_post_1' LIMIT 1
- 0.0004 SELECT * FROM bbs_cache WHERE `k`='bbs_search_conf' LIMIT 1
- 0.0002 SELECT * FROM bbs_kv WHERE `k`='search_conf' LIMIT 1
_REQUEST: