147 lines
98 KiB
HTML
147 lines
98 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="zh-CN">
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<meta name="viewport" content="width=device-width,initial-scale=1">
|
||
<meta name="generator" content="VuePress 2.0.0-beta.67">
|
||
<style>
|
||
:root {
|
||
--c-bg: #fff;
|
||
}
|
||
html.dark {
|
||
--c-bg: #22272e;
|
||
}
|
||
html, body {
|
||
background-color: var(--c-bg);
|
||
}
|
||
</style>
|
||
<script>
|
||
const userMode = localStorage.getItem('vuepress-color-scheme');
|
||
const systemDarkMode = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches;
|
||
if (userMode === 'dark' || (userMode !== 'light' && systemDarkMode)) {
|
||
document.documentElement.classList.toggle('dark', true);
|
||
}
|
||
</script>
|
||
<link rel="icon" type="image/png" sizes="16x16" href="/images/favicon.ico"><link rel="preload" href="/embed/chat-ui-embed.css" as="style"><link rel="preload" href="/embed/chat-ui-embed.umd.cjs" as="script"><link rel="stylesheet" href="/embed/chat-ui-embed.css"><style>
|
||
[data-chat-ui-embedded] {
|
||
background-color: var(--c-bg, #fff);
|
||
}
|
||
html.dark [data-chat-ui-embedded] {
|
||
background-color: var(--c-bg, #1b1b1f);
|
||
}
|
||
.assistant-layout,
|
||
.assistant-panel,
|
||
.assistant-chat {
|
||
background-color: var(--c-bg, #fff);
|
||
}
|
||
html.dark .assistant-layout,
|
||
html.dark .assistant-panel,
|
||
html.dark .assistant-chat {
|
||
background-color: var(--c-bg, #1b1b1f);
|
||
}
|
||
.assistant-chat,
|
||
.assistant-chat-preboot {
|
||
height: 100%;
|
||
width: 100%;
|
||
}
|
||
.assistant-chat.is-ready,
|
||
.assistant-chat-preboot.is-ready {
|
||
opacity: 1 !important;
|
||
}
|
||
</style><script>
|
||
// 为浏览器环境提供process变量的兼容性处理
|
||
if (typeof window !== 'undefined' && !window.process) {
|
||
window.process = { env: { NODE_ENV: 'production' } };
|
||
}
|
||
</script><script src="/embed/chat-ui-embed.umd.cjs" id="chat-ui-embed-script"></script><script>
|
||
window.__chatUILoadPromise = new Promise(function(resolve) {
|
||
function onReady() {
|
||
resolve(!!window.ChatUI);
|
||
}
|
||
if (window.ChatUI) {
|
||
onReady();
|
||
return;
|
||
}
|
||
var el = document.getElementById('chat-ui-embed-script');
|
||
if (!el) {
|
||
resolve(false);
|
||
return;
|
||
}
|
||
if (el.readyState === 'complete' || el.readyState === 'loaded') {
|
||
onReady();
|
||
return;
|
||
}
|
||
el.addEventListener('load', onReady);
|
||
el.addEventListener('error', function() { resolve(false); });
|
||
});
|
||
</script><script>
|
||
var _hmt = _hmt || [];
|
||
(function() {
|
||
var hm = document.createElement("script");
|
||
hm.src = "https://hm.baidu.com/hm.js?db74a9715180bac1ca6d22e853a90e9b";
|
||
var s = document.getElementsByTagName("script")[0];
|
||
s.parentNode.insertBefore(hm, s);
|
||
})();
|
||
</script><title>常见问题 | 迅投知识库</title><meta name="description" content="QMT说明, QMT-Python-API, QMT用户手册。">
|
||
<link rel="preload" href="/assets/style-937c34dd.css" as="style"><link rel="stylesheet" href="/assets/style-937c34dd.css">
|
||
<link rel="modulepreload" href="/assets/app-2fe24c5e.js"><link rel="modulepreload" href="/assets/question_answer.html-f50e9534.js"><link rel="modulepreload" href="/assets/内置API_下载python库-6c9908d4.js"><link rel="modulepreload" href="/assets/image-20210318151523278-7d5c8541.js"><link rel="modulepreload" href="/assets/question_answer.html-f08895ff.js"><link rel="prefetch" href="/assets/index.html-aacedb99.js" as="script"><link rel="prefetch" href="/assets/basic_syntax.html-e393df56.js" as="script"><link rel="prefetch" href="/assets/check_sheet.html-a405c8a3.js" as="script"><link rel="prefetch" href="/assets/code_examples.html-985b4984.js" as="script"><link rel="prefetch" href="/assets/control_statement.html-bf992bd7.js" as="script"><link rel="prefetch" href="/assets/operating_mode.html-a2f39c1a.js" as="script"><link rel="prefetch" href="/assets/start_now.html-1be21f8a.js" as="script"><link rel="prefetch" href="/assets/system_function.html-feab901e.js" as="script"><link rel="prefetch" href="/assets/python调用VBA.html-1946fa92.js" as="script"><link rel="prefetch" href="/assets/全市场涨跌幅度统计.html-b8ba35f1.js" as="script"><link rel="prefetch" href="/assets/全市场资金流向.html-2357f922.js" as="script"><link rel="prefetch" href="/assets/前结_今结_持仓.html-a4436106.js" as="script"><link rel="prefetch" href="/assets/北向资金.html-e540615d.js" as="script"><link rel="prefetch" href="/assets/南向资金.html-9137d95c.js" as="script"><link rel="prefetch" href="/assets/因子获取.html-89140fd6.js" as="script"><link rel="prefetch" href="/assets/外盘_内盘.html-e7f33912.js" as="script"><link rel="prefetch" href="/assets/多空对比.html-a634bb69.js" as="script"><link rel="prefetch" href="/assets/委买价_委卖价_委买量_委卖量.html-e9c29505.js" as="script"><link rel="prefetch" href="/assets/委差_委比.html-ff3246bc.js" as="script"><link rel="prefetch" href="/assets/总股本_总市值.html-e8ba60d4.js" as="script"><link rel="prefetch" href="/assets/振幅.html-e9576d1a.js" as="script"><link rel="prefetch" href="/assets/换手.html-f2f05a67.js" as="script"><link rel="prefetch" href="/assets/最新_今开_最高_最低_总额_总手_交易状态.html-2ca89ba1.js" as="script"><link rel="prefetch" href="/assets/注册资本.html-bec636fc.js" as="script"><link rel="prefetch" href="/assets/流通值.html-f34e70d5.js" as="script"><link rel="prefetch" href="/assets/流通盘_流通值.html-50ac8dc4.js" as="script"><link rel="prefetch" href="/assets/涨停_跌停.html-ba7667b7.js" as="script"><link rel="prefetch" href="/assets/涨跌_涨幅.html-a4d004cb.js" as="script"><link rel="prefetch" href="/assets/涨跌家数变化.html-a30316a7.js" as="script"><link rel="prefetch" href="/assets/现手.html-0f4ec2e6.js" as="script"><link rel="prefetch" href="/assets/规模风向标.html-d7dc3f5e.js" as="script"><link rel="prefetch" href="/assets/量比.html-2be39bbd.js" as="script"><link rel="prefetch" href="/assets/rookie.html-90dba3b5.js" as="script"><link rel="prefetch" href="/assets/ty_rookie.html-8868ad82.js" as="script"><link rel="prefetch" href="/assets/index.html-a4665f64.js" as="script"><link rel="prefetch" href="/assets/bond.html-087de96b.js" as="script"><link rel="prefetch" href="/assets/data_browser_barra_factor.html-2740d45d.js" as="script"><link rel="prefetch" href="/assets/floorfunds.html-f1e05c44.js" as="script"><link rel="prefetch" href="/assets/future.html-3c7280d8.js" as="script"><link rel="prefetch" href="/assets/indexes.html-4c831e2f.js" as="script"><link rel="prefetch" href="/assets/industry.html-07c2d987.js" as="script"><link rel="prefetch" href="/assets/option.html-1cda80f4.js" as="script"><link rel="prefetch" href="/assets/question_answer.html-57f4a833.js" as="script"><link rel="prefetch" href="/assets/scenario_based_example.html-e840fc79.js" as="script"><link rel="prefetch" href="/assets/stock.html-d4aeb9ec.js" as="script"><link rel="prefetch" href="/assets/xuntou_factor.html-47f372c3.js" as="script"><link rel="prefetch" href="/assets/callback_function.html-ba3839f5.js" as="script"><link rel="prefetch" href="/assets/code_examples.html-28482bfc.js" as="script"><link rel="prefetch" href="/assets/data_function.html-412f8b29.js" as="script"><link rel="prefetch" href="/assets/data_structure.html-8f55b710.js" as="script"><link rel="prefetch" href="/assets/drawing_function.html-dee669df.js" as="script"><link rel="prefetch" href="/assets/enum_constants.html-42ed8cba.js" as="script"><link rel="prefetch" href="/assets/interface_operation.html-47a2cf15.js" as="script"><link rel="prefetch" href="/assets/quote_function.html-d5906fa7.js" as="script"><link rel="prefetch" href="/assets/related_instructions.html-9b630c20.js" as="script"><link rel="prefetch" href="/assets/start_now.html-2cd8fc71.js" as="script"><link rel="prefetch" href="/assets/system_function.html-79f889f8.js" as="script"><link rel="prefetch" href="/assets/trading_function.html-19c5ecb8.js" as="script"><link rel="prefetch" href="/assets/user_attention.html-e0d27a96.js" as="script"><link rel="prefetch" href="/assets/variable_convention.html-92ed4d6f.js" as="script"><link rel="prefetch" href="/assets/code_examples.html-84d3bae8.js" as="script"><link rel="prefetch" href="/assets/download_xtquant.html-9de3a818.js" as="script"><link rel="prefetch" href="/assets/question_function.html-4e4bd334.js" as="script"><link rel="prefetch" href="/assets/start_now.html-b2c933ee.js" as="script"><link rel="prefetch" href="/assets/xtdata.html-312381bb.js" as="script"><link rel="prefetch" href="/assets/xtdata_new.html-2164196d.js" as="script"><link rel="prefetch" href="/assets/xttrader.html-cd097e38.js" as="script"><link rel="prefetch" href="/assets/JoinQuant2QMT.html-38cb9974.js" as="script"><link rel="prefetch" href="/assets/index.html-22b6b31a.js" as="script"><link rel="prefetch" href="/assets/daoru_daochu.html-c8cace75.js" as="script"><link rel="prefetch" href="/assets/hangqing_setting.html-1a9570b3.js" as="script"><link rel="prefetch" href="/assets/ty_add_indicator.html-1f2f4b0a.js" as="script"><link rel="prefetch" href="/assets/ty_backtest_strategy.html-3f8682bc.js" as="script"><link rel="prefetch" href="/assets/ty_code_review_backtest.html-200ceddd.js" as="script"><link rel="prefetch" href="/assets/ty_content.html-f2564dc8.js" as="script"><link rel="prefetch" href="/assets/ty_data_download.html-351b4a4f.js" as="script"><link rel="prefetch" href="/assets/ty_data_interface.html-2e32a98a.js" as="script"><link rel="prefetch" href="/assets/ty_direct_connect.html-f8b10f83.js" as="script"><link rel="prefetch" href="/assets/ty_factor_data.html-1746bcaa.js" as="script"><link rel="prefetch" href="/assets/ty_native_python.html-55154231.js" as="script"><link rel="prefetch" href="/assets/ty_register_install.html-0d2c078f.js" as="script"><link rel="prefetch" href="/assets/404.html-f9875e7b.js" as="script"><link rel="prefetch" href="/assets/index.html-ced75bd7.js" as="script"><link rel="prefetch" href="/assets/basic_syntax.html-b8abc947.js" as="script"><link rel="prefetch" href="/assets/check_sheet.html-dcf52204.js" as="script"><link rel="prefetch" href="/assets/code_examples.html-3113b68a.js" as="script"><link rel="prefetch" href="/assets/control_statement.html-00e2be67.js" as="script"><link rel="prefetch" href="/assets/operating_mode.html-61fbaed0.js" as="script"><link rel="prefetch" href="/assets/start_now.html-eaff5695.js" as="script"><link rel="prefetch" href="/assets/system_function.html-2d90b97e.js" as="script"><link rel="prefetch" href="/assets/python调用VBA.html-13606619.js" as="script"><link rel="prefetch" href="/assets/全市场涨跌幅度统计.html-233ddc7a.js" as="script"><link rel="prefetch" href="/assets/全市场资金流向.html-ecb85a96.js" as="script"><link rel="prefetch" href="/assets/前结_今结_持仓.html-837c8847.js" as="script"><link rel="prefetch" href="/assets/北向资金.html-b86e0737.js" as="script"><link rel="prefetch" href="/assets/南向资金.html-af4159d2.js" as="script"><link rel="prefetch" href="/assets/因子获取.html-96ca84cb.js" as="script"><link rel="prefetch" href="/assets/外盘_内盘.html-46442d98.js" as="script"><link rel="prefetch" href="/assets/多空对比.html-77a530ac.js" as="script"><link rel="prefetch" href="/assets/委买价_委卖价_委买量_委卖量.html-298fb634.js" as="script"><link rel="prefetch" href="/assets/委差_委比.html-8aaf6597.js" as="script"><link rel="prefetch" href="/assets/总股本_总市值.html-ed03a153.js" as="script"><link rel="prefetch" href="/assets/振幅.html-0d26176f.js" as="script"><link rel="prefetch" href="/assets/换手.html-1a803631.js" as="script"><link rel="prefetch" href="/assets/最新_今开_最高_最低_总额_总手_交易状态.html-256abaa5.js" as="script"><link rel="prefetch" href="/assets/注册资本.html-1d912787.js" as="script"><link rel="prefetch" href="/assets/流通值.html-9ba094fb.js" as="script"><link rel="prefetch" href="/assets/流通盘_流通值.html-2d754f1f.js" as="script"><link rel="prefetch" href="/assets/涨停_跌停.html-e9099f68.js" as="script"><link rel="prefetch" href="/assets/涨跌_涨幅.html-4efc9eb8.js" as="script"><link rel="prefetch" href="/assets/涨跌家数变化.html-53de94c7.js" as="script"><link rel="prefetch" href="/assets/现手.html-0ab76010.js" as="script"><link rel="prefetch" href="/assets/规模风向标.html-79312cc7.js" as="script"><link rel="prefetch" href="/assets/量比.html-9ef1d579.js" as="script"><link rel="prefetch" href="/assets/rookie.html-5fca3b77.js" as="script"><link rel="prefetch" href="/assets/ty_rookie.html-35f28c88.js" as="script"><link rel="prefetch" href="/assets/index.html-fcd652a1.js" as="script"><link rel="prefetch" href="/assets/bond.html-29897ac6.js" as="script"><link rel="prefetch" href="/assets/data_browser_barra_factor.html-e738eab1.js" as="script"><link rel="prefetch" href="/assets/floorfunds.html-0d9d6507.js" as="script"><link rel="prefetch" href="/assets/future.html-f7124802.js" as="script"><link rel="prefetch" href="/assets/indexes.html-d7b6311e.js" as="script"><link rel="prefetch" href="/assets/industry.html-16efb403.js" as="script"><link rel="prefetch" href="/assets/option.html-9f501a6a.js" as="script"><link rel="prefetch" href="/assets/question_answer.html-47cf70ab.js" as="script"><link rel="prefetch" href="/assets/scenario_based_example.html-0950e171.js" as="script"><link rel="prefetch" href="/assets/stock.html-f974aa84.js" as="script"><link rel="prefetch" href="/assets/xuntou_factor.html-8e81ea23.js" as="script"><link rel="prefetch" href="/assets/callback_function.html-a2c9d30a.js" as="script"><link rel="prefetch" href="/assets/code_examples.html-2ffd3c2b.js" as="script"><link rel="prefetch" href="/assets/data_function.html-cb5dd5ef.js" as="script"><link rel="prefetch" href="/assets/data_structure.html-2ba7501e.js" as="script"><link rel="prefetch" href="/assets/drawing_function.html-3f6a35e8.js" as="script"><link rel="prefetch" href="/assets/enum_constants.html-cc910da2.js" as="script"><link rel="prefetch" href="/assets/interface_operation.html-9afd00f4.js" as="script"><link rel="prefetch" href="/assets/quote_function.html-8ec4b48e.js" as="script"><link rel="prefetch" href="/assets/related_instructions.html-b21d5ef1.js" as="script"><link rel="prefetch" href="/assets/start_now.html-5a5de085.js" as="script"><link rel="prefetch" href="/assets/system_function.html-cb9d0895.js" as="script"><link rel="prefetch" href="/assets/trading_function.html-fdb92ee0.js" as="script"><link rel="prefetch" href="/assets/user_attention.html-67276bd2.js" as="script"><link rel="prefetch" href="/assets/variable_convention.html-96cab360.js" as="script"><link rel="prefetch" href="/assets/code_examples.html-7561c6c2.js" as="script"><link rel="prefetch" href="/assets/download_xtquant.html-9bc2e654.js" as="script"><link rel="prefetch" href="/assets/question_function.html-845d97e5.js" as="script"><link rel="prefetch" href="/assets/start_now.html-9a07cd5e.js" as="script"><link rel="prefetch" href="/assets/xtdata.html-60737e81.js" as="script"><link rel="prefetch" href="/assets/xtdata_new.html-18c73eaa.js" as="script"><link rel="prefetch" href="/assets/xttrader.html-a6a0e543.js" as="script"><link rel="prefetch" href="/assets/JoinQuant2QMT.html-ace7c465.js" as="script"><link rel="prefetch" href="/assets/index.html-9d1612c5.js" as="script"><link rel="prefetch" href="/assets/daoru_daochu.html-eae2410f.js" as="script"><link rel="prefetch" href="/assets/hangqing_setting.html-0ff7ba11.js" as="script"><link rel="prefetch" href="/assets/ty_add_indicator.html-79a10fed.js" as="script"><link rel="prefetch" href="/assets/ty_backtest_strategy.html-bf683d1f.js" as="script"><link rel="prefetch" href="/assets/ty_code_review_backtest.html-3497c894.js" as="script"><link rel="prefetch" href="/assets/ty_content.html-d9354c9a.js" as="script"><link rel="prefetch" href="/assets/ty_data_download.html-d1a7795c.js" as="script"><link rel="prefetch" href="/assets/ty_data_interface.html-8f993a77.js" as="script"><link rel="prefetch" href="/assets/ty_direct_connect.html-ffc766ea.js" as="script"><link rel="prefetch" href="/assets/ty_factor_data.html-75792bc5.js" as="script"><link rel="prefetch" href="/assets/ty_native_python.html-7400d196.js" as="script"><link rel="prefetch" href="/assets/ty_register_install.html-5498913b.js" as="script"><link rel="prefetch" href="/assets/404.html-86fec5d9.js" as="script"><link rel="prefetch" href="/assets/SearchBox-625c401e.js" as="script"><link rel="prefetch" href="/assets/auto-6adc87e8.js" as="script"><link rel="prefetch" href="/assets/index-2bf332f6.js" as="script"><link rel="prefetch" href="/assets/flowchart-c441f34d.js" as="script"><link rel="prefetch" href="/assets/SignPanel-da80f282.js" as="script"><link rel="prefetch" href="/assets/SignPanel-da80f282.js" as="script">
|
||
</head>
|
||
<body>
|
||
<div id="app"><!--[--><div class="theme-container"><!--[--><div class="n-config-provider"><header class="navbar"><div><div class="toggle-sidebar-button" title="切换侧边栏" aria-expanded="false" role="button" tabindex="0"><div class="icon" aria-hidden="true"><span></span><span></span><span></span></div></div></div><span><a href="/" class=""><img class="logo" src="/images/logo.png" alt="迅投知识库"><span class="site-name can-hide">迅投知识库</span></a></span><span><div class="search-box" role="search" data-v-7a908cc7><div data-v-7a908cc7><input value="" aria-label="Search" class="" placeholder="搜索文档" autocomplete="off" spellcheck="false" data-v-7a908cc7><!----></div><!----><!----></div></span><div class="navbar-items-wrapper" style=""><!--[--><!--]--><nav class="navbar-items can-hide" id="customize-nav"><!--[--><div class="navbar-item"><a href="/" class="" aria-label="首页"><!--[--><!--]--> 首页 <!--[--><!--]--></a></div><div class="navbar-item"><div class="navbar-dropdown-wrapper"><button class="navbar-dropdown-title" type="button" aria-label="API"><span class="title">API</span><span class="arrow down"></span></button><button class="navbar-dropdown-title-mobile" type="button" aria-label="API"><span class="title">API</span><span class="right arrow"></span></button><ul style="display:none;" class="navbar-dropdown"><!--[--><li class="navbar-dropdown-item"><a href="/freshman/ty_rookie.html" class="" aria-label="投研新手教程"><!--[--><!--]--> 投研新手教程 <!--[--><!--]--></a></li><li class="navbar-dropdown-item"><a href="/freshman/rookie.html" class="" aria-label="QMT新手教程"><!--[--><!--]--> QMT新手教程 <!--[--><!--]--></a></li><li class="navbar-dropdown-item"><a href="/innerApi/start_now.html" class="" aria-label="内置Python"><!--[--><!--]--> 内置Python <!--[--><!--]--></a></li><li class="navbar-dropdown-item"><a href="/nativeApi/start_now.html" class="" aria-label="XtQuant文档"><!--[--><!--]--> XtQuant文档 <!--[--><!--]--></a></li><li class="navbar-dropdown-item"><a href="/VBA/start_now.html" class="" aria-label="VBA"><!--[--><!--]--> VBA <!--[--><!--]--></a></li><!--]--></ul></div></div><div class="navbar-item"><div class="navbar-dropdown-wrapper"><button class="navbar-dropdown-title" type="button" aria-label="数据字典"><span class="title">数据字典</span><span class="arrow down"></span></button><button class="navbar-dropdown-title-mobile" type="button" aria-label="数据字典"><span class="title">数据字典</span><span class="right arrow"></span></button><ul style="display:none;" class="navbar-dropdown"><!--[--><li class="navbar-dropdown-item"><a href="/dictionary/" class="" aria-label="快速开始"><!--[--><!--]--> 快速开始 <!--[--><!--]--></a></li><li class="navbar-dropdown-item"><a href="/dictionary/stock.html" class="" aria-label="股票数据"><!--[--><!--]--> 股票数据 <!--[--><!--]--></a></li><li class="navbar-dropdown-item"><a href="/dictionary/industry.html" class="" aria-label="行业概念数据"><!--[--><!--]--> 行业概念数据 <!--[--><!--]--></a></li><li class="navbar-dropdown-item"><a href="/dictionary/indexes.html" class="" aria-label="指数数据"><!--[--><!--]--> 指数数据 <!--[--><!--]--></a></li><li class="navbar-dropdown-item"><a href="/dictionary/future.html" class="" aria-label="期货数据"><!--[--><!--]--> 期货数据 <!--[--><!--]--></a></li><li class="navbar-dropdown-item"><a href="/dictionary/option.html" class="" aria-label="期权数据"><!--[--><!--]--> 期权数据 <!--[--><!--]--></a></li><li class="navbar-dropdown-item"><a href="/dictionary/floorfunds.html" class="" aria-label="场内基金数据"><!--[--><!--]--> 场内基金数据 <!--[--><!--]--></a></li><li class="navbar-dropdown-item"><a href="/dictionary/bond.html" class="" aria-label="债券数据"><!--[--><!--]--> 债券数据 <!--[--><!--]--></a></li><li class="navbar-dropdown-item"><a href="/dictionary/question_answer.html" class="" aria-label="常见问题"><!--[--><!--]--> 常见问题 <!--[--><!--]--></a></li><li class="navbar-dropdown-item"><a href="/dictionary/scenario_based_example.html" class="" aria-label="场景化示例"><!--[--><!--]--> 场景化示例 <!--[--><!--]--></a></li><li class="navbar-dropdown-item"><a href="/dictionary/xuntou_factor.html" class="" aria-label="迅投因子"><!--[--><!--]--> 迅投因子 <!--[--><!--]--></a></li><li class="navbar-dropdown-item"><a href="/dictionary/data_browser_barra_factor.html" class="" aria-label="数据浏览器"><!--[--><!--]--> 数据浏览器 <!--[--><!--]--></a></li><!--]--></ul></div></div><div class="navbar-item"><div class="navbar-dropdown-wrapper"><button class="navbar-dropdown-title" type="button" aria-label="策略迁移"><span class="title">策略迁移</span><span class="arrow down"></span></button><button class="navbar-dropdown-title-mobile" type="button" aria-label="策略迁移"><span class="title">策略迁移</span><span class="right arrow"></span></button><ul style="display:none;" class="navbar-dropdown"><!--[--><li class="navbar-dropdown-item"><a href="/strategy/JoinQuant2QMT.html" class="" aria-label="聚宽策略"><!--[--><!--]--> 聚宽策略 <!--[--><!--]--></a></li><li class="navbar-dropdown-item"><!--[--><h4 class="navbar-dropdown-subtitle"><span></span></h4><ul class="navbar-dropdown-subitem-wrapper"><!--[--><li class="navbar-dropdown-subitem"><a aria-current="page" href="/innerApi/question_answer.html" class="router-link-active router-link-exact-active router-link-active" aria-label="客服QQ: 810315303"><!--[--><!--]--> 客服QQ: 810315303 <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a aria-current="page" href="/innerApi/question_answer.html" class="router-link-active router-link-exact-active router-link-active" aria-label="联系方式: 18309226715"><!--[--><!--]--> 联系方式: 18309226715 <!--[--><!--]--></a></li><!--]--></ul><!--]--></li><!--]--></ul></div></div><div class="navbar-item"><div class="navbar-dropdown-wrapper"><button class="navbar-dropdown-title" type="button" aria-label="视频教程"><span class="title">视频教程</span><span class="arrow down"></span></button><button class="navbar-dropdown-title-mobile" type="button" aria-label="视频教程"><span class="title">视频教程</span><span class="right arrow"></span></button><ul style="display:none;" class="navbar-dropdown"><!--[--><li class="navbar-dropdown-item"><a href="/videos/touyan/ty_register_install.html" class="" aria-label="投研端教程"><!--[--><!--]--> 投研端教程 <!--[--><!--]--></a></li><li class="navbar-dropdown-item"><a class="external-link" href="https://www.xuntou.net/plugin.php?id=keke_video_base" rel="noopener noreferrer" target="_blank" aria-label="迅投学堂"><!--[--><!--]--> 迅投学堂 <span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">在新窗口打开</span></span><!--[--><!--]--></a></li><!--]--></ul></div></div><!--]--></nav><div class="navbar-item flexBtn fromBtn"><span> 投研平台 <span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">在新窗口打开</span></span></span></div><div class="flexBtn fromBtn"><span> 迅投社区 <span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">在新窗口打开</span></span></span></div><!-- <div class="navbar-item flexBtn fromBtn" v-if="!info.isMobile">
|
||
<span
|
||
@click="getNUrl('crowdfunding')"
|
||
>
|
||
特色众筹
|
||
<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path>
|
||
<polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg>
|
||
<span class="external-link-icon-sr-only">在新窗口打开</span>
|
||
</span>
|
||
</span>
|
||
</div> --><div class="navbar-item flexBtn"><a class="external-link" href="http://www.thinktrader.net" rel="noopener noreferrer" target="_blank" aria-label="迅投官网"> 迅投官网 <span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">在新窗口打开</span></span></a></div><!--v-if--><!--[--><!--]--><div class="ToggleColor"><button class="toggle-color-mode-button" title="切换颜色模式"><svg style="" class="icon" focusable="false" viewBox="0 0 32 32"><path d="M16 12.005a4 4 0 1 1-4 4a4.005 4.005 0 0 1 4-4m0-2a6 6 0 1 0 6 6a6 6 0 0 0-6-6z" fill="currentColor"></path><path d="M5.394 6.813l1.414-1.415l3.506 3.506L8.9 10.318z" fill="currentColor"></path><path d="M2 15.005h5v2H2z" fill="currentColor"></path><path d="M5.394 25.197L8.9 21.691l1.414 1.415l-3.506 3.505z" fill="currentColor"></path><path d="M15 25.005h2v5h-2z" fill="currentColor"></path><path d="M21.687 23.106l1.414-1.415l3.506 3.506l-1.414 1.414z" fill="currentColor"></path><path d="M25 15.005h5v2h-5z" fill="currentColor"></path><path d="M21.687 8.904l3.506-3.506l1.414 1.415l-3.506 3.505z" fill="currentColor"></path><path d="M15 2.005h2v5h-2z" fill="currentColor"></path></svg><svg style="display:none;" class="icon" focusable="false" viewBox="0 0 32 32"><path d="M13.502 5.414a15.075 15.075 0 0 0 11.594 18.194a11.113 11.113 0 0 1-7.975 3.39c-.138 0-.278.005-.418 0a11.094 11.094 0 0 1-3.2-21.584M14.98 3a1.002 1.002 0 0 0-.175.016a13.096 13.096 0 0 0 1.825 25.981c.164.006.328 0 .49 0a13.072 13.072 0 0 0 10.703-5.555a1.01 1.01 0 0 0-.783-1.565A13.08 13.08 0 0 1 15.89 4.38A1.015 1.015 0 0 0 14.98 3z" fill="currentColor"></path></svg></button></div><div><div class="n-config-provider user"><!--v-if--></div><div role="none" class="n-space" style="display:flex;flex-direction:row;justify-content:flex-start;flex-wrap:wrap;margin-top:;margin-bottom:;gap:8px 12px;"><!-- <n-button strong secondary type="error" @click="linkTo('/signup/')" v-show="!info.isMobile">注册</n-button> --><!-- <n-button strong secondary type="info" @click="linkTo('/signin/')">登录</n-button> --><div role="none" class="" style="max-width:100%;"><button class="n-button n-button--error-type n-button--medium-type n-button--secondary" tabindex="0" type="button" style="--n-bezier:cubic-bezier(.4, 0, .2, 1);--n-bezier-ease-out:cubic-bezier(0, 0, .2, 1);--n-ripple-duration:.6s;--n-opacity-disabled:0.5;--n-wave-opacity:0.6;--n-font-weight:500;--n-color:rgba(208, 48, 80, 0.16);--n-color-hover:rgba(208, 48, 80, 0.22);--n-color-pressed:rgba(208, 48, 80, 0.28);--n-color-focus:rgba(208, 48, 80, 0.22);--n-color-disabled:rgba(46, 51, 56, .05);--n-ripple-color:#0000;--n-text-color:#d03050;--n-text-color-hover:#d03050;--n-text-color-pressed:#d03050;--n-text-color-focus:#d03050;--n-text-color-disabled:#d03050;--n-border:1px solid #d03050;--n-border-hover:1px solid #de576d;--n-border-pressed:1px solid #ab1f3f;--n-border-focus:1px solid #de576d;--n-border-disabled:1px solid #d03050;--n-width:initial;--n-height:34px;--n-font-size:14px;--n-padding:0 14px;--n-icon-size:18px;--n-icon-margin:6px;--n-border-radius:3px;"><!----><!----><span class="n-button__content">注册</span><div aria-hidden="true" class="n-base-wave"></div><!----><!----></button></div><div role="none" class="" style="max-width:100%;"><button class="n-button n-button--info-type n-button--medium-type n-button--secondary" tabindex="0" type="button" style="--n-bezier:cubic-bezier(.4, 0, .2, 1);--n-bezier-ease-out:cubic-bezier(0, 0, .2, 1);--n-ripple-duration:.6s;--n-opacity-disabled:0.5;--n-wave-opacity:0.6;--n-font-weight:500;--n-color:rgba(32, 128, 240, 0.16);--n-color-hover:rgba(32, 128, 240, 0.22);--n-color-pressed:rgba(32, 128, 240, 0.28);--n-color-focus:rgba(32, 128, 240, 0.22);--n-color-disabled:rgba(46, 51, 56, .05);--n-ripple-color:#0000;--n-text-color:#2080f0;--n-text-color-hover:#2080f0;--n-text-color-pressed:#2080f0;--n-text-color-focus:#2080f0;--n-text-color-disabled:#2080f0;--n-border:1px solid #2080f0;--n-border-hover:1px solid #4098fc;--n-border-pressed:1px solid #1060c9;--n-border-focus:1px solid #4098fc;--n-border-disabled:1px solid #2080f0;--n-width:initial;--n-height:34px;--n-font-size:14px;--n-padding:0 14px;--n-icon-size:18px;--n-icon-margin:6px;--n-border-radius:3px;"><!----><!----><span class="n-button__content">登录</span><div aria-hidden="true" class="n-base-wave"></div><!----><!----></button></div></div></div></div></header><!--[--><!-- 桌面端:微信 / 分享始终可见 --><div class="assistant-float-actions" style="right:462px;top:calc(50% + var(--navbar-height) / 2);" data-v-5b14e8e0><button type="button" class="assistant-float-btn" title="微信扫码联系客服" data-v-5b14e8e0><img src="/assets/wechat-d90fd08f.png" alt="微信扫码联系客服" data-v-5b14e8e0></button><button id="assistant-share-btn" type="button" class="assistant-float-btn" title="分享链接" data-v-5b14e8e0><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAHqADAAQAAAABAAAAHgAAAADKQTcFAAADjElEQVRIDcVXW0hVQRRdM/fce/OVpfRA8dENDckkMILsYRG9PnqQQUkg9NFfBCFEJJSFRj8R+BP4URREGEVGRNSXWEiE1odoDx+lhkoWpTe1+zrT7KPnes59ddQbDujM7D17rbNn9uzZl8FCqxaC36l1l4iAekgIFDOwDEDIP2psUEAMMoY2ZuONFVUpLdWMqVO66P9ZdBWw/ZZY9GXAfZqpolKCL4+1VtfJj/omOLuWm5VS13SC/dHloX1UYtcld5lA4Lr0MCvUyMpc7sAAg+1M78WUh5HW81ChEIKtqh6rVUXgwVxJCZNsCYOwCDOUxySgBa7LY/dkfzR04XzmjLGG3guLy2UvdByTx3J7a+JNSkSESdg6KfVBj+lMaWuMyniPObMd0c9c85iilwIpHkSZqQyudNNGBmGJg7hIoK2gKzOfQKJt27xawc41dtytSELesijEMuCISyOm5ED3lCazbXaJv6fAjvrjyShcaUPlDidy0mzoHI6eP4hL43TVjG1R/erL2ZAm2IF9ax0oW+9EWiLH0w4PSl02bMhW4PYIFF0diwnHFb5VoTQYc5VBmZrAcLDIgf2FTiQ7p+LyxQcvijO5RkpLO4cDBovIQ+JU5NkWR1bPSFekMByW3u0tcMChBC8Cmrq8yF0iU2ue3ILpZolYckoYliHzsG5n6rOWchwrdqJUAttkDjS2ll4fkuwCB9Y5jWJLHhOnMvPKmOy1yfndichNt4Up2vp9mPAEcGqbdjNM+o6hf281cUaO+2mo2ucTaB/ym4DbB/34/MMfkdQXEOgeiR7RQSAGIYnZYFAQMvj6S8XZR+Ooa5rAuFfg/bAfrX1eVO0K95RMuySpzwIvBBtS6BGXNvkhnKbps04fmrt92CivS315ImSyN+n1iZXAorXEyaly0A1j9eNeYJNLgcIjk5KtVWKJ0CrzNm+MRWjUvekP4KPcztHJyLfAMrHCH3OqkahcMRLEGguZ3uuaPWh466XnzrTUCjFxESenwoxqJBNClEnPSAA3Xk3i5msPzj2ZRPntcfR8n7o+Az9VmS6jGBrExEWc2oHRU9XXP/ppLi+UQ17zkyVOjPxWcf+dz0ARPqQ6LCc7NZ+KwGCkLEghQN9GlQEDvxL+nfGRELZefRBi0GOayGBZmGKPqkCtGoyj55qnIRVmmMck0Bud+f8s6E1brZPq/YL8hNHJqacaKd4/2v4CgdaZJ2zGqYAAAAAASUVORK5CYII=" alt="分享链接" data-v-5b14e8e0></button></div><!-- 桌面端:头部下方左右布局,助手固定右侧 --><aside class="assistant-layout" style="width:450px;" data-v-5b14e8e0><div class="assistant-resize-handle" title="拖动调整宽度,向右拖至最窄可关闭" data-v-5b14e8e0></div><div class="assistant-panel" data-v-5b14e8e0><div class="assistant-loading" data-v-5b14e8e0><div class="assistant-loading-inner" data-v-5b14e8e0><span class="assistant-spinner" aria-hidden="true" data-v-5b14e8e0></span><span class="assistant-loading-text" data-v-5b14e8e0>智能助手加载中...</span></div></div><div data-chat-ui-embedded class="assistant-chat" data-v-5b14e8e0></div><!----></div></aside><!-- 后续启用:底部输入条(展开态)
|
||
<form
|
||
v-if="showFloatingAssistant && quickBarExpanded"
|
||
class="assistant-quick-bar"
|
||
:class="{ 'assistant-quick-bar--mobile': isMobile }"
|
||
role="search"
|
||
aria-label="和 AI 开始对话"
|
||
@submit.prevent="submitFabQuery"
|
||
>
|
||
<input
|
||
v-model="fabQuery"
|
||
type="text"
|
||
class="assistant-quick-bar-input"
|
||
placeholder="和 AI 说点什么,按 Enter 直接发送..."
|
||
maxlength="500"
|
||
aria-label="向 AI 提问"
|
||
/>
|
||
<button
|
||
type="button"
|
||
class="assistant-quick-bar-submit"
|
||
:title="fabQuery.trim() ? '发送并打开智能助手' : '收起输入框'"
|
||
@click="onAiBallClick"
|
||
>
|
||
AI
|
||
</button>
|
||
</form>
|
||
--><!-- 助手收起后:可拖动悬浮球,点击打开智能助手 --><!----><!-- 移动端:保留抽屉 --><!----><!--]--><!--v-if--></div><!--]--><div class="sidebar-mask"></div><!--[--><aside class="sidebar"><div class="toggleColor" style="display:none;"><button class="toggle-color-mode-button" title="切换颜色模式"><svg style="" class="icon" focusable="false" viewBox="0 0 32 32"><path d="M16 12.005a4 4 0 1 1-4 4a4.005 4.005 0 0 1 4-4m0-2a6 6 0 1 0 6 6a6 6 0 0 0-6-6z" fill="currentColor"></path><path d="M5.394 6.813l1.414-1.415l3.506 3.506L8.9 10.318z" fill="currentColor"></path><path d="M2 15.005h5v2H2z" fill="currentColor"></path><path d="M5.394 25.197L8.9 21.691l1.414 1.415l-3.506 3.505z" fill="currentColor"></path><path d="M15 25.005h2v5h-2z" fill="currentColor"></path><path d="M21.687 23.106l1.414-1.415l3.506 3.506l-1.414 1.414z" fill="currentColor"></path><path d="M25 15.005h5v2h-5z" fill="currentColor"></path><path d="M21.687 8.904l3.506-3.506l1.414 1.415l-3.506 3.505z" fill="currentColor"></path><path d="M15 2.005h2v5h-2z" fill="currentColor"></path></svg><svg style="display:none;" class="icon" focusable="false" viewBox="0 0 32 32"><path d="M13.502 5.414a15.075 15.075 0 0 0 11.594 18.194a11.113 11.113 0 0 1-7.975 3.39c-.138 0-.278.005-.418 0a11.094 11.094 0 0 1-3.2-21.584M14.98 3a1.002 1.002 0 0 0-.175.016a13.096 13.096 0 0 0 1.825 25.981c.164.006.328 0 .49 0a13.072 13.072 0 0 0 10.703-5.555a1.01 1.01 0 0 0-.783-1.565A13.08 13.08 0 0 1 15.89 4.38A1.015 1.015 0 0 0 14.98 3z" fill="currentColor"></path></svg></button></div><nav class="navbar-items" id="customize-sidebar"><!--[--><div class="navbar-item"><a href="/" class="" aria-label="首页"><!--[--><!--]--> 首页 <!--[--><!--]--></a></div><div class="navbar-item"><div class="navbar-dropdown-wrapper"><button class="navbar-dropdown-title" type="button" aria-label="API"><span class="title">API</span><span class="arrow down"></span></button><button class="navbar-dropdown-title-mobile" type="button" aria-label="API"><span class="title">API</span><span class="right arrow"></span></button><ul style="display:none;" class="navbar-dropdown"><!--[--><li class="navbar-dropdown-item"><a href="/freshman/ty_rookie.html" class="" aria-label="投研新手教程"><!--[--><!--]--> 投研新手教程 <!--[--><!--]--></a></li><li class="navbar-dropdown-item"><a href="/freshman/rookie.html" class="" aria-label="QMT新手教程"><!--[--><!--]--> QMT新手教程 <!--[--><!--]--></a></li><li class="navbar-dropdown-item"><a href="/innerApi/start_now.html" class="" aria-label="内置Python"><!--[--><!--]--> 内置Python <!--[--><!--]--></a></li><li class="navbar-dropdown-item"><a href="/nativeApi/start_now.html" class="" aria-label="XtQuant文档"><!--[--><!--]--> XtQuant文档 <!--[--><!--]--></a></li><li class="navbar-dropdown-item"><a href="/VBA/start_now.html" class="" aria-label="VBA"><!--[--><!--]--> VBA <!--[--><!--]--></a></li><!--]--></ul></div></div><div class="navbar-item"><div class="navbar-dropdown-wrapper"><button class="navbar-dropdown-title" type="button" aria-label="数据字典"><span class="title">数据字典</span><span class="arrow down"></span></button><button class="navbar-dropdown-title-mobile" type="button" aria-label="数据字典"><span class="title">数据字典</span><span class="right arrow"></span></button><ul style="display:none;" class="navbar-dropdown"><!--[--><li class="navbar-dropdown-item"><a href="/dictionary/" class="" aria-label="快速开始"><!--[--><!--]--> 快速开始 <!--[--><!--]--></a></li><li class="navbar-dropdown-item"><a href="/dictionary/stock.html" class="" aria-label="股票数据"><!--[--><!--]--> 股票数据 <!--[--><!--]--></a></li><li class="navbar-dropdown-item"><a href="/dictionary/industry.html" class="" aria-label="行业概念数据"><!--[--><!--]--> 行业概念数据 <!--[--><!--]--></a></li><li class="navbar-dropdown-item"><a href="/dictionary/indexes.html" class="" aria-label="指数数据"><!--[--><!--]--> 指数数据 <!--[--><!--]--></a></li><li class="navbar-dropdown-item"><a href="/dictionary/future.html" class="" aria-label="期货数据"><!--[--><!--]--> 期货数据 <!--[--><!--]--></a></li><li class="navbar-dropdown-item"><a href="/dictionary/option.html" class="" aria-label="期权数据"><!--[--><!--]--> 期权数据 <!--[--><!--]--></a></li><li class="navbar-dropdown-item"><a href="/dictionary/floorfunds.html" class="" aria-label="场内基金数据"><!--[--><!--]--> 场内基金数据 <!--[--><!--]--></a></li><li class="navbar-dropdown-item"><a href="/dictionary/bond.html" class="" aria-label="债券数据"><!--[--><!--]--> 债券数据 <!--[--><!--]--></a></li><li class="navbar-dropdown-item"><a href="/dictionary/question_answer.html" class="" aria-label="常见问题"><!--[--><!--]--> 常见问题 <!--[--><!--]--></a></li><li class="navbar-dropdown-item"><a href="/dictionary/scenario_based_example.html" class="" aria-label="场景化示例"><!--[--><!--]--> 场景化示例 <!--[--><!--]--></a></li><li class="navbar-dropdown-item"><a href="/dictionary/xuntou_factor.html" class="" aria-label="迅投因子"><!--[--><!--]--> 迅投因子 <!--[--><!--]--></a></li><li class="navbar-dropdown-item"><a href="/dictionary/data_browser_barra_factor.html" class="" aria-label="数据浏览器"><!--[--><!--]--> 数据浏览器 <!--[--><!--]--></a></li><!--]--></ul></div></div><div class="navbar-item"><div class="navbar-dropdown-wrapper"><button class="navbar-dropdown-title" type="button" aria-label="策略迁移"><span class="title">策略迁移</span><span class="arrow down"></span></button><button class="navbar-dropdown-title-mobile" type="button" aria-label="策略迁移"><span class="title">策略迁移</span><span class="right arrow"></span></button><ul style="display:none;" class="navbar-dropdown"><!--[--><li class="navbar-dropdown-item"><a href="/strategy/JoinQuant2QMT.html" class="" aria-label="聚宽策略"><!--[--><!--]--> 聚宽策略 <!--[--><!--]--></a></li><li class="navbar-dropdown-item"><!--[--><h4 class="navbar-dropdown-subtitle"><span></span></h4><ul class="navbar-dropdown-subitem-wrapper"><!--[--><li class="navbar-dropdown-subitem"><a aria-current="page" href="/innerApi/question_answer.html" class="router-link-active router-link-exact-active router-link-active" aria-label="客服QQ: 810315303"><!--[--><!--]--> 客服QQ: 810315303 <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a aria-current="page" href="/innerApi/question_answer.html" class="router-link-active router-link-exact-active router-link-active" aria-label="联系方式: 18309226715"><!--[--><!--]--> 联系方式: 18309226715 <!--[--><!--]--></a></li><!--]--></ul><!--]--></li><!--]--></ul></div></div><div class="navbar-item"><div class="navbar-dropdown-wrapper"><button class="navbar-dropdown-title" type="button" aria-label="视频教程"><span class="title">视频教程</span><span class="arrow down"></span></button><button class="navbar-dropdown-title-mobile" type="button" aria-label="视频教程"><span class="title">视频教程</span><span class="right arrow"></span></button><ul style="display:none;" class="navbar-dropdown"><!--[--><li class="navbar-dropdown-item"><a href="/videos/touyan/ty_register_install.html" class="" aria-label="投研端教程"><!--[--><!--]--> 投研端教程 <!--[--><!--]--></a></li><li class="navbar-dropdown-item"><a class="external-link" href="https://www.xuntou.net/plugin.php?id=keke_video_base" rel="noopener noreferrer" target="_blank" aria-label="迅投学堂"><!--[--><!--]--> 迅投学堂 <span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">在新窗口打开</span></span><!--[--><!--]--></a></li><!--]--></ul></div></div><!--]--></nav><div class="newSider" style="display:none;"><div class="fromBtn"><span> 投研平台 <span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">在新窗口打开</span></span></span></div><div class="fromBtn" style="display:none;"><span> 迅投社区 <span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">在新窗口打开</span></span></span></div><!-- <div class="navbar-item fromBtn" v-if="info.isMobile">
|
||
<span
|
||
@click="getNUrl('crowdfunding')"
|
||
>
|
||
特色众筹
|
||
<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path>
|
||
<polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg>
|
||
<span class="external-link-icon-sr-only">在新窗口打开</span>
|
||
</span>
|
||
</span>
|
||
</div> --><div class="navbar-item"><a class="external-link" href="http://www.thinktrader.net" rel="noopener noreferrer" target="_blank" aria-label="迅投官网"> 迅投官网 <span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">在新窗口打开</span></span></a></div><!----></div><!--[--><!--]--><ul class="sidebar-items"><!--[--><li><p tabindex="0" class="sidebar-item sidebar-heading active">内置Python <!----></p><ul style="" class="sidebar-item-children"><!--[--><li><a href="/innerApi/start_now.html" class="sidebar-item" aria-label="快速开始"><!--[--><!--]--> 快速开始 <!--[--><!--]--></a><!----></li><li><a href="/innerApi/user_attention.html" class="sidebar-item" aria-label="使用须知"><!--[--><!--]--> 使用须知 <!--[--><!--]--></a><!----></li><li><a href="/innerApi/interface_operation.html" class="sidebar-item" aria-label="界面操作"><!--[--><!--]--> 界面操作 <!--[--><!--]--></a><!----></li><li><a href="/innerApi/variable_convention.html" class="sidebar-item" aria-label="变量约定"><!--[--><!--]--> 变量约定 <!--[--><!--]--></a><!----></li><li><a href="/innerApi/data_structure.html" class="sidebar-item" aria-label="数据结构"><!--[--><!--]--> 数据结构 <!--[--><!--]--></a><!----></li><li><a href="/innerApi/system_function.html" class="sidebar-item" aria-label="系统函数"><!--[--><!--]--> 系统函数 <!--[--><!--]--></a><!----></li><li><a href="/innerApi/data_function.html" class="sidebar-item" aria-label="行情函数"><!--[--><!--]--> 行情函数 <!--[--><!--]--></a><!----></li><li><a href="/innerApi/trading_function.html" class="sidebar-item" aria-label="交易函数"><!--[--><!--]--> 交易函数 <!--[--><!--]--></a><!----></li><li><a href="/innerApi/callback_function.html" class="sidebar-item" aria-label="成交回报实时主推函数"><!--[--><!--]--> 成交回报实时主推函数 <!--[--><!--]--></a><!----></li><li><a href="/innerApi/quote_function.html" class="sidebar-item" aria-label="引用函数"><!--[--><!--]--> 引用函数 <!--[--><!--]--></a><!----></li><li><a href="/innerApi/drawing_function.html" class="sidebar-item" aria-label="绘图函数"><!--[--><!--]--> 绘图函数 <!--[--><!--]--></a><!----></li><li><a href="/innerApi/enum_constants.html" class="sidebar-item" aria-label="枚举常量"><!--[--><!--]--> 枚举常量 <!--[--><!--]--></a><!----></li><li><a href="/innerApi/code_examples.html" class="sidebar-item" aria-label="完整示例"><!--[--><!--]--> 完整示例 <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/innerApi/question_answer.html" class="router-link-active router-link-exact-active router-link-active sidebar-item active" aria-label="常见问题"><!--[--><!--]--> 常见问题 <!--[--><!--]--></a><ul style="" class="sidebar-item-children"><!--[--><li><a aria-current="page" href="/innerApi/question_answer.html#python环境相关" class="router-link-active router-link-exact-active sidebar-item" aria-label="Python环境相关"><!--[--><!--]--> Python环境相关 <!--[--><!--]--></a><ul style="" class="sidebar-item-children"><!--[--><li><a aria-current="page" href="/innerApi/question_answer.html#安装第三方-python-库报错" class="router-link-active router-link-exact-active sidebar-item" aria-label="安装第三方 Python 库报错"><!--[--><!--]--> 安装第三方 Python 库报错 <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/innerApi/question_answer.html#启动策略时pandas库报错" class="router-link-active router-link-exact-active sidebar-item" aria-label="启动策略时pandas库报错"><!--[--><!--]--> 启动策略时pandas库报错 <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/innerApi/question_answer.html#对第三方库的支持" class="router-link-active router-link-exact-active sidebar-item" aria-label="对第三方库的支持"><!--[--><!--]--> 对第三方库的支持 <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/innerApi/question_answer.html#系统自带的-python-环境" class="router-link-active router-link-exact-active sidebar-item" aria-label="系统自带的 Python 环境"><!--[--><!--]--> 系统自带的 Python 环境 <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/innerApi/question_answer.html#第三方库导入指引" class="router-link-active router-link-exact-active sidebar-item" aria-label="第三方库导入指引"><!--[--><!--]--> 第三方库导入指引 <!--[--><!--]--></a><!----></li><!--]--></ul></li><li><a aria-current="page" href="/innerApi/question_answer.html#业务规则相关" class="router-link-active router-link-exact-active sidebar-item" aria-label="业务规则相关"><!--[--><!--]--> 业务规则相关 <!--[--><!--]--></a><ul style="" class="sidebar-item-children"><!--[--><li><a aria-current="page" href="/innerApi/question_answer.html#交易所委托数量规则" class="router-link-active router-link-exact-active sidebar-item" aria-label="交易所委托数量规则"><!--[--><!--]--> 交易所委托数量规则 <!--[--><!--]--></a><!----></li><!--]--></ul></li><li><a aria-current="page" href="/innerApi/question_answer.html#策略运行相关" class="router-link-active router-link-exact-active sidebar-item" aria-label="策略运行相关"><!--[--><!--]--> 策略运行相关 <!--[--><!--]--></a><ul style="" class="sidebar-item-children"><!--[--><li><a aria-current="page" href="/innerApi/question_answer.html#在策略没有勾选终端启动后自动运行的情况下-策略自动启动运行" class="router-link-active router-link-exact-active sidebar-item" aria-label="在策略没有勾选终端启动后自动运行的情况下,策略自动启动运行"><!--[--><!--]--> 在策略没有勾选终端启动后自动运行的情况下,策略自动启动运行 <!--[--><!--]--></a><!----></li><!--]--></ul></li><li><a aria-current="page" href="/innerApi/question_answer.html#策略回测相关" class="router-link-active router-link-exact-active sidebar-item" aria-label="策略回测相关"><!--[--><!--]--> 策略回测相关 <!--[--><!--]--></a><ul style="" class="sidebar-item-children"><!--[--><li><a aria-current="page" href="/innerApi/question_answer.html#qmt在回测时如何选择复权方式" class="router-link-active router-link-exact-active sidebar-item" aria-label="QMT在回测时如何选择复权方式"><!--[--><!--]--> QMT在回测时如何选择复权方式 <!--[--><!--]--></a><!----></li><!--]--></ul></li><li><a aria-current="page" href="/innerApi/question_answer.html#交易相关" class="router-link-active router-link-exact-active sidebar-item" aria-label="交易相关"><!--[--><!--]--> 交易相关 <!--[--><!--]--></a><ul style="" class="sidebar-item-children"><!--[--><li><a aria-current="page" href="/innerApi/question_answer.html#系统对象-contextinfo-逐-k-线保存的机制" class="router-link-active router-link-exact-active sidebar-item" aria-label="系统对象 ContextInfo 逐 k 线保存的机制"><!--[--><!--]--> 系统对象 ContextInfo 逐 k 线保存的机制 <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/innerApi/question_answer.html#快速交易参数-quicktrade" class="router-link-active router-link-exact-active sidebar-item" aria-label="快速交易参数 quickTrade"><!--[--><!--]--> 快速交易参数 quickTrade <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/innerApi/question_answer.html#下单与回报相关" class="router-link-active router-link-exact-active sidebar-item" aria-label="下单与回报相关"><!--[--><!--]--> 下单与回报相关 <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/innerApi/question_answer.html#qmt-下单失败" class="router-link-active router-link-exact-active sidebar-item" aria-label="QMT 下单失败"><!--[--><!--]--> QMT 下单失败 <!--[--><!--]--></a><!----></li><!--]--></ul></li><li><a aria-current="page" href="/innerApi/question_answer.html#行情相关" class="router-link-active router-link-exact-active sidebar-item" aria-label="行情相关"><!--[--><!--]--> 行情相关 <!--[--><!--]--></a><ul style="" class="sidebar-item-children"><!--[--><li><a aria-current="page" href="/innerApi/question_answer.html#qmt-行情数据基础概念" class="router-link-active router-link-exact-active sidebar-item" aria-label="QMT 行情数据基础概念"><!--[--><!--]--> QMT 行情数据基础概念 <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/innerApi/question_answer.html#qmt-行情调用函数对比说明" class="router-link-active router-link-exact-active sidebar-item" aria-label="QMT 行情调用函数对比说明"><!--[--><!--]--> QMT 行情调用函数对比说明 <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/innerApi/question_answer.html#全推接口和订阅接口的分笔行情没有5档行情-只有最新价" class="router-link-active router-link-exact-active sidebar-item" aria-label="全推接口和订阅接口的分笔行情没有5档行情,只有最新价"><!--[--><!--]--> 全推接口和订阅接口的分笔行情没有5档行情,只有最新价 <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/innerApi/question_answer.html#行情中心和交易中心到底有啥区别" class="router-link-active router-link-exact-active sidebar-item" aria-label="行情中心和交易中心到底有啥区别?"><!--[--><!--]--> 行情中心和交易中心到底有啥区别? <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/innerApi/question_answer.html#passorder使用对手价下单报错-有误" class="router-link-active router-link-exact-active sidebar-item" aria-label="passorder使用对手价下单报错/有误"><!--[--><!--]--> passorder使用对手价下单报错/有误 <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/innerApi/question_answer.html#为什么在handlebar中获取期货tick时-tick是3s一个而非0-5s一个" class="router-link-active router-link-exact-active sidebar-item" aria-label="为什么在handlebar中获取期货tick时,tick是3S一个而非0.5s一个?"><!--[--><!--]--> 为什么在handlebar中获取期货tick时,tick是3S一个而非0.5s一个? <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/innerApi/question_answer.html#为什么在非交易时间段handlebar也会被调用" class="router-link-active router-link-exact-active sidebar-item" aria-label="为什么在非交易时间段handlebar也会被调用"><!--[--><!--]--> 为什么在非交易时间段handlebar也会被调用 <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/innerApi/question_answer.html#关于证券状态openint值的详细说明" class="router-link-active router-link-exact-active sidebar-item" aria-label="关于证券状态openint值的详细说明"><!--[--><!--]--> 关于证券状态openint值的详细说明 <!--[--><!--]--></a><!----></li><!--]--></ul></li><li><a aria-current="page" href="/innerApi/question_answer.html#静态数据问题" class="router-link-active router-link-exact-active sidebar-item" aria-label="静态数据问题"><!--[--><!--]--> 静态数据问题 <!--[--><!--]--></a><ul style="" class="sidebar-item-children"><!--[--><li><a aria-current="page" href="/innerApi/question_answer.html#报错-系统-error-获取合约乘数和最小变动价位失败-跳过" class="router-link-active router-link-exact-active sidebar-item" aria-label="报错:[系统]ERROR:******.**获取合约乘数和最小变动价位失败,跳过"><!--[--><!--]--> 报错:[系统]ERROR:******.**获取合约乘数和最小变动价位失败,跳过 <!--[--><!--]--></a><!----></li><!--]--></ul></li><li><a aria-current="page" href="/innerApi/question_answer.html#软件运行日志相关" class="router-link-active router-link-exact-active sidebar-item" aria-label="软件运行日志相关"><!--[--><!--]--> 软件运行日志相关 <!--[--><!--]--></a><ul style="" class="sidebar-item-children"><!--[--><li><a aria-current="page" href="/innerApi/question_answer.html#如何找到软件运行日志" class="router-link-active router-link-exact-active sidebar-item" aria-label="如何找到软件运行日志"><!--[--><!--]--> 如何找到软件运行日志 <!--[--><!--]--></a><!----></li><!--]--></ul></li><!--]--></ul></li><!--]--></ul></li><!--]--></ul><!--[--><!--]--></aside><!--]--><!--[--><main class="page" data-v-3c904194><!--[--><!--]--><div class="theme-default-contents" data-v-3c904194><!----><!--[--><!--]--><div class="theme-default-content" data-v-3c904194><div data-v-3c904194><h2 id="python环境相关" tabindex="-1"><a class="header-anchor" href="#python环境相关" aria-hidden="true">#</a> Python环境相关</h2><h3 id="安装第三方-python-库报错" tabindex="-1"><a class="header-anchor" href="#安装第三方-python-库报错" aria-hidden="true">#</a> 安装第三方 Python 库报错</h3><p><strong>问题描述:</strong></p><p><code>"ImportError:Forbidden:Moduleopenpyxl not in whitelist!"</code></p><p><strong>问题解答:</strong></p><p>该报错是由于券商后台开启了 Python 库白名单,若您使用的是券商提供的QMT终端,请联系您的所属券商开通对应 Python 库白名单权限即可。</p><h3 id="启动策略时pandas库报错" tabindex="-1"><a class="header-anchor" href="#启动策略时pandas库报错" aria-hidden="true">#</a> 启动策略时pandas库报错</h3><p><strong>报错信息1 :NameError: name 'pandas' is not defined</strong></p><p><strong>解答:</strong></p><p>该报错是指当前环境下没有找到pandas库</p><p><strong>解决方法</strong></p><ol><li>请在<code>设置-模型设置</code>中检查正确设置了路径,正确路径应指向<code>{安装目录}\bin.x64</code></li></ol><p><img src="/assets/内置API_python库路径-d7c814ff.png" alt="正确路径参考"></p><ol start="2"><li>请检查是否已经下载了python环境</li></ol><p><img src="/assets/内置API_下载python库-521fbb73.png" alt="下载python环境"></p><p><strong>报错信息2 :AttributeError: module 'pandas' has no attribute 'core'</strong></p><p><strong>解答:</strong></p><p>该报错是由于在pandas导入中被强行中断导致的</p><p><strong>解决方法</strong></p><p><strong>重启客户端</strong></p><h3 id="对第三方库的支持" tabindex="-1"><a class="header-anchor" href="#对第三方库的支持" aria-hidden="true">#</a> 对第三方库的支持</h3><p>QMT Python API 提供基于 <code>Python 3.6</code> 规范的标准量化投资策略应用程序接口,本文档示例代码基于 <code>Python 3.6</code> 规范。我司主要通过以下两种方式对外提供:</p><h3 id="系统自带的-python-环境" tabindex="-1"><a class="header-anchor" href="#系统自带的-python-环境" aria-hidden="true">#</a> 系统自带的 Python 环境</h3><p><code>QMT</code> 系统的安装包默认自带 <code>Python</code> 运行环境。用户安装完迅投客户端后,默认可以直接使用<code>Python</code>。在这个打包的<code>Python</code>环境中,迅投除了提供标准的 <code>Python api</code> 带的库外,还集成了如下一些第三方库:</p><table><thead><tr><th>名称</th><th>说明</th></tr></thead><tbody><tr><td>NumPy</td><td>NumPy (Numeric Python) 提供了许多高级的数值编程工具,如:矩阵数据类型、矢量处理,以及精密的运算库。专为进行严格的数字处理而产生。</td></tr><tr><td>Pandas</td><td>Python Data Analysis Library 或 Pandas 是基于 NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。Pandas 提供了大量能使我们快速便捷地处理数据的函数和方法。</td></tr><tr><td>Patsy</td><td>一个线性模型分析和构建工具库。</td></tr><tr><td>SciPy</td><td>SciPy 函数库在 NumPy 库的基础上增加了众多的数学、科学以及工程计算中常用的库函数。例如线性代数、常微分方程数值求解、信号处理、图像处理、稀疏矩阵等等。</td></tr><tr><td>Statsmodels</td><td>Python 的统计建模和计量经济学工具包,包括一些描述统计、统计模型估计和推断。</td></tr><tr><td>TA_Lib</td><td>称作技术分析库,是一种广泛用在程序化交易中进行金融市场数据的技术分析的函数库。它提供了多种技术分析的函数,可以大大方便我们量化投资中编程工作,内容包括:多种指标,如 ADX, MACD, RSI, 布林轨道等;K 线形态识别,如黄昏之星,锤形线等等。</td></tr></tbody></table><h3 id="第三方库导入指引" tabindex="-1"><a class="header-anchor" href="#第三方库导入指引" aria-hidden="true">#</a> 第三方库导入指引</h3><p>除迅投提供的标准 <code>Python api</code> 和集成的部分第三方库,用户也可自己在 <code>Python</code> 官网下载其他所需第三方库,使用方式如下:</p><p>(1)本地安装Python环境,下载python3.6,Python官网:https://www.python.org/downloads/release/python-360/</p><p>(2)安装位置:C:\Python36</p><p> 新增环境变量:我的电脑--属性--高级系统设置--高级--环境变量---path:C:\Python36;C:\Python36\Scripts</p><p> <img src="/assets/wps1-a908ca03.jpg" alt="img"></p><p>(3)Python环境检查</p><p> Win+R 打开运行,输入 <code>cmd</code></p><p><img src="/assets/wps2-d8d737ce.jpg" alt="img"></p><p> 检查Python变量</p><p><img src="data:image/png;base64,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" alt="image-20210318150744951"></p><p>(4)安装第三方库</p><p> 安装前先确认客户端安装目录,根据个人电脑进行调整。</p><p> 安装时若遇到下面错误提示,请执行 <code>pip</code> 更新命令 <code>python -m pip install --upgrade pip</code></p><p><img src="/assets/image-20210318151342044-130181af.png" alt="image-20210318151342044"></p><p> 安装三方库命令 <code>pip install openpyxl -t E:\QMT交易端20962\bin.x64\Lib\site-packages</code></p><p><img src="/assets/image-20210318151401916-dea117bd.png" alt="image-20210318151401916"></p><p>(5)检查安装结果</p><p> 安装位置\bin.x64\Lib\site-packages检查安装库</p><p><img src="/assets/image-20210318151523278-63141bb4.png" alt="image-20210318151523278"></p><h2 id="业务规则相关" tabindex="-1"><a class="header-anchor" href="#业务规则相关" aria-hidden="true">#</a> 业务规则相关</h2><h3 id="交易所委托数量规则" tabindex="-1"><a class="header-anchor" href="#交易所委托数量规则" aria-hidden="true">#</a> 交易所委托数量规则</h3><ol><li>科创板,连续交易时段限价单笔最大是10万股,市价单笔最大是5万股,盘后定价交易单笔最大量是100万股,200股起,1股递增。</li><li>创业板,连续交易时段限价单笔最大30万股,市价单笔最大15万股,100股起,100股递增。</li><li>主板,6和0开头的,连续交易时段单笔最大100万股,100股起,100股递增。</li></ol><h2 id="策略运行相关" tabindex="-1"><a class="header-anchor" href="#策略运行相关" aria-hidden="true">#</a> 策略运行相关</h2><h3 id="在策略没有勾选终端启动后自动运行的情况下-策略自动启动运行" tabindex="-1"><a class="header-anchor" href="#在策略没有勾选终端启动后自动运行的情况下-策略自动启动运行" aria-hidden="true">#</a> 在策略没有勾选<code>终端启动后自动运行</code>的情况下,策略自动启动运行</h3><p><strong>情况一</strong></p><p>策略被运行于行情界面的副图上,随客户端启动被启动</p><p><strong>解决方法</strong></p><p>在右上角的页面布局中选择<code>恢复默认布局</code>,并重启客户端 <img src="/assets/内置API_恢复默认页面布局-32bae122.png" alt="恢复默认布局"></p><p><strong>情况二</strong></p><p>交易日切换/行情断线重连时,所有挂着的模型会被重新运行,这是正常的</p><h2 id="策略回测相关" tabindex="-1"><a class="header-anchor" href="#策略回测相关" aria-hidden="true">#</a> 策略回测相关</h2><h3 id="qmt在回测时如何选择复权方式" tabindex="-1"><a class="header-anchor" href="#qmt在回测时如何选择复权方式" aria-hidden="true">#</a> QMT在回测时如何选择复权方式</h3><p><strong>解答</strong></p><p>回测是为了更贴近历史数据,但实际中各类配股、增发的动作,会造成价格的异常波动,为了避免这样的波动对回测的影响,我们推荐用户在回测中使用<strong>等比前复权价</strong>,这样在回测过程中,无需考虑配股、增发带来的变化,始终以统一标准的价格进行买卖,方便的同时也能得到更贴合历史数据的回测收益和表现。</p><h2 id="交易相关" tabindex="-1"><a class="header-anchor" href="#交易相关" aria-hidden="true">#</a> 交易相关</h2><h3 id="系统对象-contextinfo-逐-k-线保存的机制" tabindex="-1"><a class="header-anchor" href="#系统对象-contextinfo-逐-k-线保存的机制" aria-hidden="true">#</a> 系统对象 ContextInfo 逐 k 线保存的机制</h3><p><strong>机制说明</strong></p><p><code>ContextInfo</code>是由底层维护并传递给<code>init</code>、<code>handlebar</code>等系统函数的参数,同一个 bar(不是 bar 里面的 tick,下同)内<code>ContextInfo</code>本质上是同一个变量且对其进行的修改只会对本次handlebar调用的下文所起作用。<code>handlebar</code>里对<code>ContextInfo</code>做的修改在该 bar 结束后才会进行保存,也就是说,对<code>ContextInfo</code>做的修改会在下一个 bar 体现出来。</p><p>具体来说,<code>ContextInfo</code>不同于一般 python 对象,做了逐 k 线更新设计,盘中主图品种每个 Level 1 分笔到达会触发<code>handlebar</code>函数调用,但只有 k 线结束时最后一个分笔触发的<code>handlebar</code>调用,对<code>ContextInfo</code>的修改才有效。</p><p>每次<code>handlebar</code>函数调用前会对<code>ContextInfo</code>对象进行深拷贝, 下一次分笔行情到来时,如果新的分笔不是新 k 线 bar 第一个分笔,则判断上一个分笔不是k线最后分笔,<code>ContextInfo</code>对象被回退为之前深拷贝的那个。</p><p><code>ContextInfo</code>对象逐k线更新机制设计的目的,是为了在盘中时模拟k线的效果,只在k线结束的分笔触发的<code>handlebar</code>函数运行时生效一次,丢弃所有其他分笔的修改。</p><p><strong>影响</strong></p><p>该机制有两个影响,一是在<code>ContextInfo</code>对象中存数据每次分笔到达时会被深拷贝,拖慢策略运行;二是<code>ContextInfo</code>适用于记录逐k线生效的交易信号(<code>quickTrade</code>参数传<code>0</code>),不适宜立刻下单的情况。</p><p>如不需要模拟k线效果,希望调用交易函数后立刻下单,<code>quickTrade</code>参数可以传<code>2</code>, 下单记录可以用普通的全局变量保存, 不能存在<code>ContextInfo</code>对象的属性里(实现可以参考实盘示例7-调整至目标持仓Demo)。</p><h3 id="快速交易参数-quicktrade" tabindex="-1"><a class="header-anchor" href="#快速交易参数-quicktrade" aria-hidden="true">#</a> 快速交易参数 quickTrade</h3><p>下单函数<code>passorder</code>有可选参数快速交易<code>quickTrade</code>, 默认为<code>0</code>。</p><ul><li>传<code>0</code>,只在k线结束分笔时调用<code>passorder</code>产生有效信号,其他情况调用不产生信号。</li><li>传<code>1</code>,在当前k线为最新k线时调用<code>passorder</code>函数产生有效信号, 历史k线调用不产生信号。</li><li>传<code>2</code>,任何情况下调用<code>passorder</code>都产生有效信号,不会丢弃任何一次调用的信号。</li><li>如果在定时器注册的回调函数,行情回调函数, <code>after_init</code>函数中调用下单函数,需要传<code>2</code>,确保不会漏单。</li><li><code>passorder</code>以外的下单函数不能指定快速交易参数,效果与传<code>0</code>的<code>passorder</code>一致。</li></ul><h3 id="下单与回报相关" tabindex="-1"><a class="header-anchor" href="#下单与回报相关" aria-hidden="true">#</a> 下单与回报相关</h3><ol><li><p>为保证以尽快的速度执行交易信号, qmt 客户端提供的交易接口是异步的, 以快速交易参数填<code>2</code>的<code>passorder</code>函数为例,调用后会立刻发出委托, 然后返回。不会等待委托回报, 也不会阻塞python线程的运行。</p></li><li><p>委托/成交/持仓/账号信息的更新, 是在客户端后台进行的, python策略中无法手动控制。python提供的取账号信息接口 <code>get_trade_detail_data</code>, 与四种交易回调函数, 都是从客户端本地缓存中读取数据 / 触发调用,不是调用时查询柜台再返回。客户端本地缓存状态定期接收柜台推送刷新,有交易主推的柜台50ms一次,没有交易主推的柜台1-6秒一次。 不能认为get_trade_detail_data查到的状态是与柜台完全一致的, 比如卖出委托后立刻查询, 不会查到对应委托, 可用资金也不会变多。</p></li><li><p>实盘策略需要设计盘中保存/更新委托状态的机制。常见的做法是用全局变量字典保存委托状态, 给每一笔委托独立的投资备注作为字典的<code>key</code>,委托状态作为字典的<code>value</code>, 下单后默认设置为待报, 之后查到委托后更新状态。如果某品种股票存在待报状态委托, 暂停该品种后续报单, 防止发生超单的情况。(实现可以参考实盘示例7-调整至目标持仓Demo)</p></li><li><p>QMT 所有策略是在同一个线程中被调用的,任意一个策略阻塞线程(死循环 sleep 加锁等操作)会导致所有策略的执行被阻塞,所以不能在策略里写等待操作。如需要多线程 / 多进程的用法,可以使用极简模式配合 xtquant 库使用</p></li></ol><h3 id="qmt-下单失败" tabindex="-1"><a class="header-anchor" href="#qmt-下单失败" aria-hidden="true">#</a> QMT 下单失败</h3><ol><li><p>检查是否是在模型交易界面,实盘模式运行的策略。模拟模式只显示策略信号,不发出委托。</p></li><li><p>如运行到交易函数,未看到策略信号,检查交易函数是否使用了快速下单参数(<code>quickTrade</code>),默认为<code>0</code>,只会在k线结束发出委托,日线及以上周期等于全天不会委托。传<code>1</code>时,非历史bar上执行时(ContextInfo.is_last_bar()为True),只要策略模型中调用到就触发下单交易。传<code>2</code>,无论是否是历史bar,运行到交易函数时立刻发出委托。</p></li></ol><p>如果希望盘中出现信号立即下单,建议传<code>1</code>,这种情况下会有策略信号闪烁的风险,需要自己处理;如果希望K线结束下单(信号不闪烁),建议传<code>0</code>,<strong>通常情况下不建议传<code>2</code></strong></p><div class="custom-container tip"><p class="custom-container-title">提示</p><p>具体到场景:</p><ol><li>handlebar逐k线下单, 每次k线结束的分笔生效一次, 传0;</li><li>需要在handlebar盘中触发立刻下单, 传1;</li><li>定时器/init/after_init与交易回调函数, 行情回调函数内下单, 传2.</li></ol></div><ol start="3"><li>如看到实盘的策略信号,未找到对应委托,检查客户端左下角消息提示是否有报错,如有,请根据消息提示的描述修改下单参数</li></ol><h2 id="行情相关" tabindex="-1"><a class="header-anchor" href="#行情相关" aria-hidden="true">#</a> 行情相关</h2><h3 id="qmt-行情数据基础概念" tabindex="-1"><a class="header-anchor" href="#qmt-行情数据基础概念" aria-hidden="true">#</a> QMT 行情数据基础概念</h3><p>QMT行情数据主要分为三种,包括<strong>本地数据</strong>,<strong>全推数据</strong>,<strong>订阅数据</strong>。</p><ol><li><p><strong>本地数据:</strong> 指下载到本地的行情数据加密文件。包括历史数据,适合回测模式使用,对应python接口为<a href="https://dict.thinktrader.net/innerApi/data_function.html#contextinfo-get-market-data-ex-%E8%8E%B7%E5%8F%96%E8%A1%8C%E6%83%85%E6%95%B0%E6%8D%AE" target="_blank" rel="noopener noreferrer">get_market_data_ex(subscribe=False) <span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">在新窗口打开</span></span></a></p></li><li><p><strong>全推数据:</strong> 指客户端启动后, 自动接收,更新的全市场最新数据快照, 包括日线的开高低收,成交量成交额,与五档盘口(在行情界面选择了五档行情时可用五档 具体见行情常规问题3)。支持取全市场品种, 只有最新值,没有历史值,<strong>服务器对交易所下发的数据即时转发,打包增量部分发送给下游客户端</strong>。可以用<code>get_full_tick</code>一次性取出当前最新值,也可以用<code>subscribe_whole_quote</code>注册回调函数,每次处理增量的部分。 对应python接口为<a href="https://dict.thinktrader.net/innerApi/data_function.html#contextinfo-get-full-tick-%E8%8E%B7%E5%8F%96%E5%85%A8%E6%8E%A8%E6%95%B0%E6%8D%AE" target="_blank" rel="noopener noreferrer">get_full_tick<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">在新窗口打开</span></span></a>,<a href="https://dict.thinktrader.net/innerApi/data_function.html#contextinfo-subscribe-whole-quote-%E8%AE%A2%E9%98%85%E5%85%A8%E6%8E%A8%E6%95%B0%E6%8D%AE" target="_blank" rel="noopener noreferrer">subscribe_whole_quote<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">在新窗口打开</span></span></a></p></li><li><p><strong>订阅:<strong>指向行情服务器订阅指定品种行情, 共有四种周期(分笔 1分钟 5分钟 日线),可以订阅当日数据,当天以前的需要用 <code>down_history_data</code>下. 订阅有最大数量限制(例如:假设最大数量限制为300个,则可以单独订阅日线300个,若同时订阅日线和五分钟 则各150个),如需订阅超过定义上限,可以在页面右上角,选购</strong>行情vip服务</strong>。对应python接口为<a href="https://dict.thinktrader.net/innerApi/data_function.html#contextinfo-subscribe-quote-%E8%AE%A2%E9%98%85%E8%A1%8C%E6%83%85%E6%95%B0%E6%8D%AE" target="_blank" rel="noopener noreferrer">subscribe_quote<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">在新窗口打开</span></span></a>和<a href="https://dict.thinktrader.net/innerApi/data_function.html#contextinfo-get-market-data-ex-%E8%8E%B7%E5%8F%96%E8%A1%8C%E6%83%85%E6%95%B0%E6%8D%AE" target="_blank" rel="noopener noreferrer">get_market_data_ex(subscribe=True,)<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">在新窗口打开</span></span></a>其中,使用<code>get_market_data</code>或<code>get_market_data_ex(subscribe=True,)</code>时客户端会自动订阅传入的品种,不需要额外调用<code>subscibe_quote</code>,但这种方式订阅的品种没有订阅号,无法手动反订阅,只能通过停止策略释放可订阅数。</p></li></ol><div class="custom-container danger"><p class="custom-container-title">警告</p><p>如果超出订阅数量限制,则返回的行情数据会使用前值填充,出现重复值,非正确行情数据。</p></div><h3 id="qmt-行情调用函数对比说明" tabindex="-1"><a class="header-anchor" href="#qmt-行情调用函数对比说明" aria-hidden="true">#</a> QMT 行情调用函数对比说明</h3><ul><li><code>down_history_data</code> 下载指定区间的行情数据到本地,存放在硬盘上。效果和界面,点击行情数据下载一致。 开始时间不填时,为增量下载(以本地数据最后一天为开始时间), 填写的话按填写值下载。</li><li><code>get_local_data</code> 取本地数据函数,盘中不会更新,速度快,回测可以用这个函数取。</li><li><code>get_full_tick</code> 取客户端缓存中的最新全推数据。全推数据不包括历史,不用订阅,没有品种数量限制,盘中50ms更新一次,速度快。</li><li><code>subscribe_quote</code> 向服务器订阅股票行情 盘中实时更新 初次订阅耗时长,最大订阅品种数受限. 订阅超过一定数量的品种k线行情不会更新.可订阅四种基本周期(分笔 一分钟 五分钟 日线)行情(如果有 Level-2 行情权限 也可以订 Level-2 的), 同一品种订阅了不同周期累加计数(如订阅浦发银行 1分钟 5分钟 日线行情 算订阅3次). 复数策略订阅同一品种计数不会累加. Level-2 的订阅也会受限,但是和 Level 1 的互不影响。</li><li><code>unsubscribe_quote</code> 按订阅号反订阅行情, 释放可订阅数.</li><li><code>get_market_data_ex</code> 取订阅/本地数据接口。用<code>subscribe_quote</code>在<code>init</code>函数中先订阅后<code>subscribe</code>参数为<code>True</code>时,取本地数据和订阅的最新行情。<code>subscribe</code>参数传<code>False</code>时,可以用来取本地数据,不会订阅。 如股票池超过一定数量,可用 <code>down_history_data</code> + <code>get_local_data</code> + <code>get_full_tick</code> 拼接历史和最新数据替代<code>get_market_data_ex</code>。</li></ul><div class="custom-container warning"><p class="custom-container-title">注意</p><p><code>gmd</code>系列函数在<code>init</code>中运行时,只能读取到本地数据,不会取到最新行情数据,因子,<strong>不建议在<code>init</code>中调用使用<code>gmd</code>系列函数</strong></p></div><div class="custom-container danger"><p class="custom-container-title">警告</p><p><strong>不再推荐使用!</strong></p><p><code>set_universe</code>, <code>get_history_data</code>, <code>get_market_data</code> 是早期订阅股票池, 取订阅的行情数据接口. 因为<code>set_universe</code>订阅的品种没有订阅号 无法在策略中反订阅, 只能通过停止策略释放订阅数。</p></div><h3 id="全推接口和订阅接口的分笔行情没有5档行情-只有最新价" tabindex="-1"><a class="header-anchor" href="#全推接口和订阅接口的分笔行情没有5档行情-只有最新价" aria-hidden="true">#</a> 全推接口和订阅接口的分笔行情没有5档行情,只有最新价</h3><p><strong>问题描述</strong></p><p><code>get_full_tick</code>, <code>subscribe_while_quote</code>函数中获取分笔行情没有5档行情,只有最新价。</p><p><strong>解决办法</strong></p><p>修改行情源对应的<strong>全推行情</strong>级别,见下图</p><p><img src="/assets/image102-e241c2ea.png" alt="img"></p><p>或者</p><p><img src="/assets/image101-f08e9e1f.png" alt="img"></p><h3 id="行情中心和交易中心到底有啥区别" tabindex="-1"><a class="header-anchor" href="#行情中心和交易中心到底有啥区别" aria-hidden="true">#</a> 行情中心和交易中心到底有啥区别?</h3><p>行情中心控制单支订阅,例如<code>subscribe_quote</code></p><p>交易中心影响全推数据,例如<code>get_full_tick</code>,<code>subscribe_whole_quote</code></p><h3 id="passorder使用对手价下单报错-有误" tabindex="-1"><a class="header-anchor" href="#passorder使用对手价下单报错-有误" aria-hidden="true">#</a> passorder使用对手价下单报错/有误</h3><p><strong>问题描述</strong></p><p>passorder参数<code>prType</code>填写<code>14</code>(对手价下单)时,委托价格有误,或信息提示<code>对手价无效,无法下单!</code></p><p><strong>解决办法</strong></p><p>修改行情源对应的<strong>全推行情</strong>级别,见下图</p><p><img src="/assets/image102-e241c2ea.png" alt="img"></p><p>或者</p><p><img src="/assets/image101-f08e9e1f.png" alt="img"></p><h3 id="为什么在handlebar中获取期货tick时-tick是3s一个而非0-5s一个" tabindex="-1"><a class="header-anchor" href="#为什么在handlebar中获取期货tick时-tick是3s一个而非0-5s一个" aria-hidden="true">#</a> 为什么在handlebar中获取期货tick时,tick是3S一个而非0.5s一个?</h3><p>这是由于handlebar函数是<a href="https://dict.thinktrader.net/innerApi/start_now.html#%E9%80%90-k-%E7%BA%BF%E9%A9%B1%E5%8A%A8-handlebar" target="_blank" rel="noopener noreferrer">逐K线驱动<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">在新窗口打开</span></span></a>的,<strong>在实时行情中,handlebar会随着主图标的tick的更新被调用</strong>。</p><p>在这个问题场景中,主图的标的通常被设置为股票,而股票的tick通常是3s一个,这就导致handlebar函数3s才被调用一次</p><p><strong>解决方法</strong></p><ol><li><p>使用<a href="https://dict.thinktrader.net/innerApi/start_now.html#%E5%AE%9A%E6%97%B6%E4%BB%BB%E5%8A%A1-run-time-%E5%AE%9A%E6%97%B6%E8%BF%90%E8%A1%8C" target="_blank" rel="noopener noreferrer">定时器(run_time)<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">在新窗口打开</span></span></a>进行计算</p></li><li><p>使用<a href="https://dict.thinktrader.net/innerApi/start_now.html#%E4%BA%8B%E4%BB%B6%E9%A9%B1%E5%8A%A8-subscribe-%E8%AE%A2%E9%98%85%E6%8E%A8%E9%80%81" target="_blank" rel="noopener noreferrer">订阅推送(subscribe)<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">在新窗口打开</span></span></a>,在回调函数中进行计算</p></li><li><p>如果需要在handlebar中进行期货策略编写,建议将主图设置为期货品种,来保证handlebar调用频率</p></li></ol><h3 id="为什么在非交易时间段handlebar也会被调用" tabindex="-1"><a class="header-anchor" href="#为什么在非交易时间段handlebar也会被调用" aria-hidden="true">#</a> 为什么在非交易时间段handlebar也会被调用</h3><p><code>handlebar</code>受行情数据推送驱动,在非交易时段,行情服务会做一系列准备工作,其中可能伴随着服务重启,在重启后为了保证数据齐全,客户端会重新订阅数据,这时服务会推送最新的数据,客户端会把推送的最新数据更新至缓存,并向上层策略推送更新,也就是触发<code>handlebar</code>执行</p><p>这个合并数据的驱动执行只会在最新一根bar而不会在历史范围,策略可以根据需要处理这次推送或直接根据交易时间跳过这个驱动,例如判断time小于09:15则直接return</p><h3 id="关于证券状态openint值的详细说明" tabindex="-1"><a class="header-anchor" href="#关于证券状态openint值的详细说明" aria-hidden="true">#</a> 关于证券状态<code>openint</code>值的详细说明</h3><p><strong>沪市</strong></p><table><thead><tr><th>时间段</th><th>状态</th><th>编码</th></tr></thead><tbody><tr><td>9:15 - 9:25</td><td>盘前集合竞价</td><td>12</td></tr><tr><td>9:25 - 14:57</td><td>盘中连续竞价</td><td>13</td></tr><tr><td>14:57 - 15:00</td><td>盘后集合竞价</td><td>18</td></tr><tr><td>15:00</td><td>收盘状态</td><td>15</td></tr><tr><td>15:05 - 15:30</td><td>盘后定价</td><td>22</td></tr><tr><td>15:30</td><td>盘后定价结束</td><td>23</td></tr><tr><td>上一状态后</td><td>收盘状态</td><td>15</td></tr></tbody></table><p><strong>深市</strong></p><table><thead><tr><th>时间段</th><th>状态</th><th>编码</th></tr></thead><tbody><tr><td>9:15 - 9:25</td><td>盘前集合竞价</td><td>12</td></tr><tr><td>9:25 - 9:30</td><td>休市</td><td>14</td></tr><tr><td>9:30 - 11:30</td><td>盘中连续竞价</td><td>13</td></tr><tr><td>11:30 - 13:00</td><td>休市</td><td>14</td></tr><tr><td>13:00 - 14:57</td><td>盘中连续竞价</td><td>13</td></tr><tr><td>14:57 - 15:00</td><td>盘后集合竞价</td><td>18</td></tr><tr><td>15:00</td><td>发收盘状态</td><td>15</td></tr><tr><td>15:05 - 15:30</td><td>盘后定价</td><td>22</td></tr><tr><td>15:30</td><td>盘后定价结束</td><td>23</td></tr><tr><td>上一状态后</td><td>收盘状态</td><td>15</td></tr></tbody></table><h2 id="静态数据问题" tabindex="-1"><a class="header-anchor" href="#静态数据问题" aria-hidden="true">#</a> 静态数据问题</h2><h3 id="报错-系统-error-获取合约乘数和最小变动价位失败-跳过" tabindex="-1"><a class="header-anchor" href="#报错-系统-error-获取合约乘数和最小变动价位失败-跳过" aria-hidden="true">#</a> 报错:[系统]ERROR:******.**获取合约乘数和最小变动价位失败,跳过</h3><p>点击右下角【<strong>行情</strong>】按钮,选择【<strong>智能下载</strong>】,数据选项下拉框勾选【<strong>过期合约列表</strong>】点击该面板右下角【<strong>开始</strong>】,待过期合约数据补充完毕后,即可正常获取过期合约数据。</p><h2 id="软件运行日志相关" tabindex="-1"><a class="header-anchor" href="#软件运行日志相关" aria-hidden="true">#</a> 软件运行日志相关</h2><h3 id="如何找到软件运行日志" tabindex="-1"><a class="header-anchor" href="#如何找到软件运行日志" aria-hidden="true">#</a> 如何找到软件运行日志</h3><p>Log文件通常在安装目录下的<code>.\userdata\log</code>文件夹中,在 <code>.\userdata\log</code> 文件夹中,你可能会看到一个或者多个 log 文件,通常以 <code>'.log'</code> 作为扩展名。这些文件将包含软件运行时的详细情况。</p><p>投研:{安装目录}\userdata\log</p><div class="custom-container tip"><p class="custom-container-title">说明</p><p>XtClient_20210922.log - 客户端常规日志</p><p>XtClient_datasource_20210922.log - 行情数据日志</p><p>XtClient_Formula_20210922.log - 策略运行日志</p><p>XtClient_FormulaOutput.log - 策略输出日志</p></div><p>QMT:{安装目录}\userdata\log</p><div class="custom-container tip"><p class="custom-container-title">说明</p><p>XtClient_20210922.log - 客户端常规日志</p><p>XtClient_Formula_20210922.log - 策略运行日志</p><p>XtClient_FormulaOutput.log - 策略输出日志</p><p>XtClient_PerformanceFile_20210922.log - 客户端流程节点日志</p></div><p>极简模式:{安装目录}\userdata_mini\log</p><div class="custom-container tip"><p class="custom-container-title">说明</p><p>XtMiniQuote_20210917.log - 行情策略模块日志</p><p>XtMiniQmt_20210917.log - 客户端常规日志</p><p>XtMiniQmt_perform_20210917.log - 客户端流程节点日志</p></div></div></div><!--[--><!--]--></div><footer class="page-meta pageFooter" data-v-3c904194><!----><div class="meta-item last-updated"><span class="meta-item-label">上次更新: </span><!----></div><!----><div id="myFooter"><div vertical id="content"><div class="content-title">邀请注册送VIP优惠券</div><div>分享下方的内容给好友、QQ群、微信群,好友注册您即可获得VIP优惠券</div><div class="content-body"><div class="n-input-group"><div class="tip"><div>玩转qmt,上迅投qmt知识库</div></div><button class="n-button n-button--info-type n-button--small-type n-button--secondary" tabindex="0" type="button" style="--n-bezier:cubic-bezier(.4, 0, .2, 1);--n-bezier-ease-out:cubic-bezier(0, 0, .2, 1);--n-ripple-duration:.6s;--n-opacity-disabled:0.5;--n-wave-opacity:0.6;--n-font-weight:500;--n-color:rgba(32, 128, 240, 0.16);--n-color-hover:rgba(32, 128, 240, 0.22);--n-color-pressed:rgba(32, 128, 240, 0.28);--n-color-focus:rgba(32, 128, 240, 0.22);--n-color-disabled:rgba(46, 51, 56, .05);--n-ripple-color:#0000;--n-text-color:#2080f0;--n-text-color-hover:#2080f0;--n-text-color-pressed:#2080f0;--n-text-color-focus:#2080f0;--n-text-color-disabled:#2080f0;--n-border:1px solid #2080f0;--n-border-hover:1px solid #4098fc;--n-border-pressed:1px solid #1060c9;--n-border-focus:1px solid #4098fc;--n-border-disabled:1px solid #2080f0;--n-width:initial;--n-height:28px;--n-font-size:14px;--n-padding:0 10px;--n-icon-size:18px;--n-icon-margin:6px;--n-border-radius:3px;" id="copy-btn2"><!----><!----><span class="n-button__content">登录后获取</span><div aria-hidden="true" class="n-base-wave"></div><!----><!----></button></div><!-- <n-space style="width: 100%;" vertical>
|
||
<div style="width: 100%;">
|
||
<div>玩转qmt,上迅投qmt知识库,复制分享要登录</div>
|
||
</div>
|
||
<n-space style="width: 100%;" justify="end">
|
||
|
||
</n-space>
|
||
</n-space> --></div></div></div></footer><nav class="page-nav" data-v-3c904194><p class="inner"><span class="prev"><a href="/innerApi/code_examples.html" class="" aria-label="完整示例"><!--[--><!--]--> 完整示例 <!--[--><!--]--></a></span><!----></p></nav><!--[--><!--]--></main><!--]--></div><!----><!--]--></div>
|
||
<script type="module" src="/assets/app-2fe24c5e.js" defer></script>
|
||
</body>
|
||
</html>
|