Files
qmt_bridge/reference/thinktrader_docs/innerApi_system_function.html
T

251 lines
115 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!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/system_function.html-79f889f8.js"><link rel="modulepreload" href="/assets/system_function.html-cb9d0895.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/question_answer.html-f08895ff.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/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/question_answer.html-f50e9534.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/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/system_function.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/system_function.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/system_function.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/system_function.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 aria-current="page" href="/innerApi/system_function.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/system_function.html#contextinfo-对象" class="router-link-active router-link-exact-active sidebar-item" aria-label="ContextInfo 对象"><!--[--><!--]--> ContextInfo 对象 <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/innerApi/system_function.html#init-初始化函数" class="router-link-active router-link-exact-active sidebar-item" aria-label="init - 初始化函数"><!--[--><!--]--> init - 初始化函数 <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/innerApi/system_function.html#after-init-初始化后函数" class="router-link-active router-link-exact-active sidebar-item" aria-label="after_init - 初始化后函数"><!--[--><!--]--> after_init - 初始化后函数 <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/innerApi/system_function.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/system_function.html#contextinfo-schedule-run-设置定时器" class="router-link-active router-link-exact-active sidebar-item" aria-label="ContextInfo.schedule_run - 设置定时器"><!--[--><!--]--> ContextInfo.schedule_run - 设置定时器 <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/innerApi/system_function.html#contextinfo-cancel-schedule-run-取消由schedule-run产生的定时任务" class="router-link-active router-link-exact-active sidebar-item" aria-label="ContextInfo.cancel_schedule_run - 取消由schedule_run产生的定时任务"><!--[--><!--]--> ContextInfo.cancel_schedule_run - 取消由schedule_run产生的定时任务 <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/innerApi/system_function.html#contextinfo-run-time-设置定时器" class="router-link-active router-link-exact-active sidebar-item" aria-label="ContextInfo.run_time - 设置定时器"><!--[--><!--]--> ContextInfo.run_time - 设置定时器 <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/innerApi/system_function.html#stop-停止处理函数" class="router-link-active router-link-exact-active sidebar-item" aria-label="stop - 停止处理函数"><!--[--><!--]--> stop - 停止处理函数 <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/innerApi/system_function.html#contextinfo-is-last-bar-是否为最后一根k线" class="router-link-active router-link-exact-active sidebar-item" aria-label="ContextInfo.is_last_bar - 是否为最后一根K线"><!--[--><!--]--> ContextInfo.is_last_bar - 是否为最后一根K线 <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/innerApi/system_function.html#contextinfo-is-new-bar-判定是否为新的-k-线" class="router-link-active router-link-exact-active sidebar-item" aria-label="ContextInfo.is_new_bar - 判定是否为新的 K 线"><!--[--><!--]--> ContextInfo.is_new_bar - 判定是否为新的 K 线 <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/innerApi/system_function.html#contextinfo-get-stock-name-根据代码获取名称" class="router-link-active router-link-exact-active sidebar-item" aria-label="ContextInfo.get_stock_name - 根据代码获取名称"><!--[--><!--]--> ContextInfo.get_stock_name - 根据代码获取名称 <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/innerApi/system_function.html#contextinfo-get-open-date-根据代码返回对应股票的上市时间" class="router-link-active router-link-exact-active sidebar-item" aria-label="ContextInfo.get_open_date - 根据代码返回对应股票的上市时间"><!--[--><!--]--> ContextInfo.get_open_date - 根据代码返回对应股票的上市时间 <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/innerApi/system_function.html#contextinfo-set-output-index-property-设定指标绘制的属性" class="router-link-active router-link-exact-active sidebar-item" aria-label="ContextInfo.set_output_index_property - 设定指标绘制的属性"><!--[--><!--]--> ContextInfo.set_output_index_property - 设定指标绘制的属性 <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/innerApi/system_function.html#create-sector-folder-创建板块目录节点" class="router-link-active router-link-exact-active sidebar-item" aria-label="create_sector_folder - 创建板块目录节点"><!--[--><!--]--> create_sector_folder - 创建板块目录节点 <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/innerApi/system_function.html#get-sector-list-获取板块目录信息" class="router-link-active router-link-exact-active sidebar-item" aria-label="get_sector_list - 获取板块目录信息"><!--[--><!--]--> get_sector_list - 获取板块目录信息 <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/innerApi/system_function.html#reset-sector-stock-list-设置板块成分股" class="router-link-active router-link-exact-active sidebar-item" aria-label="reset_sector_stock_list - 设置板块成分股"><!--[--><!--]--> reset_sector_stock_list - 设置板块成分股 <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/innerApi/system_function.html#remove-stock-from-sector-移除板块成分股" class="router-link-active router-link-exact-active sidebar-item" aria-label="remove_stock_from_sector - 移除板块成分股"><!--[--><!--]--> remove_stock_from_sector - 移除板块成分股 <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/innerApi/system_function.html#add-stock-to-sector-添加板块成分股" class="router-link-active router-link-exact-active sidebar-item" aria-label="add_stock_to_sector - 添加板块成分股"><!--[--><!--]--> add_stock_to_sector - 添加板块成分股 <!--[--><!--]--></a><!----></li><!--]--></ul></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 href="/innerApi/question_answer.html" class="sidebar-item" aria-label="常见问题"><!--[--><!--]--> 常见问题 <!--[--><!--]--></a><!----></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><h3 id="contextinfo-对象" tabindex="-1"><a class="header-anchor" href="#contextinfo-对象" aria-hidden="true">#</a> ContextInfo 对象</h3><p>ContextInfo 是策略运行环境对象,是 init, after_init, handlebar 等基本方法的入参,里面包括了终端自带的属性和方法。一般情况下不建议对ContextInfo添加自定义属性,ContextInfo会随着bar的切换而重置到上一根bar的结束状态,建议用自建的全局变量来存储。<a href="https://dict.thinktrader.net/innerApi/question_answer.html?id=null#%E7%B3%BB%E7%BB%9F%E5%AF%B9%E8%B1%A1-contextinfo-%E9%80%90-k-%E7%BA%BF%E4%BF%9D%E5%AD%98%E7%9A%84%E6%9C%BA%E5%88%B6" target="_blank" rel="noopener noreferrer">详细说明请看这里<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><h3 id="init-初始化函数" tabindex="-1"><a class="header-anchor" href="#init-初始化函数" aria-hidden="true">#</a> init - 初始化函数</h3><p>初始化函数,只在整个策略开始时调用运行到一次。用于初始订阅行情,订阅账号信息使用。init函数执行完成前部分接口无法使用,如交易日获取函数get_trading_dates。</p><p><strong>系统函数 不可被手动调用</strong></p><p><strong>参数:</strong></p><table><thead><tr><th>名称</th><th>类型</th><th>描述</th></tr></thead><tbody><tr><td><code>ContextInfo</code></td><td><code>object</code></td><td>策略运行环境对象,可以用于存储自定义的全局变量</td></tr></tbody></table><p><strong>返回:</strong></p><p><strong>示例:</strong></p><div class="vp-tabs"><div class="vp-tabs-nav" role="tablist"><button type="button" class="vp-tab-nav active" role="tab" aria-controls="tab-52-0" aria-selected="true">python</button></div><!--[--><div class="vp-tab active" id="tab-52-0" role="tabpanel" aria-expanded="true"><div class="language-python line-numbers-mode" data-ext="py"><pre class="shiki dracula" style="background-color:#282A36;" tabindex="0"><code><span class="line"><span style="color:#FF79C6;">def</span><span style="color:#F8F8F2;"> </span><span style="color:#50FA7B;">init</span><span style="color:#F8F8F2;">(</span><span style="color:#FFB86C;font-style:italic;">ContextInfo</span><span style="color:#F8F8F2;">):</span></span>
<span class="line"><span style="color:#F8F8F2;"> ContextInfo.initProfit </span><span style="color:#FF79C6;">=</span><span style="color:#F8F8F2;"> </span><span style="color:#BD93F9;">0</span></span>
<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div></div></div></div><!--]--></div><p><strong>在init函数中订阅行情示例:</strong></p><div class="vp-tabs"><div class="vp-tabs-nav" role="tablist"><button type="button" class="vp-tab-nav active" role="tab" aria-controls="tab-60-0" aria-selected="true">python</button></div><!--[--><div class="vp-tab active" id="tab-60-0" role="tabpanel" aria-expanded="true"><div class="language-python line-numbers-mode" data-ext="py"><pre class="shiki dracula" style="background-color:#282A36;" tabindex="0"><code><span class="line"><span style="color:#6272A4;">#coding:gbk</span></span>
<span class="line"></span>
<span class="line"><span style="color:#FF79C6;">def</span><span style="color:#F8F8F2;"> </span><span style="color:#50FA7B;">init</span><span style="color:#F8F8F2;">(</span><span style="color:#FFB86C;font-style:italic;">C</span><span style="color:#F8F8F2;">):</span></span>
<span class="line"><span style="color:#F8F8F2;"> </span><span style="color:#6272A4;">#init函数入参为ContextInfo对象 定义时可以选择更简短的形参名 如C</span></span>
<span class="line"><span style="color:#F8F8F2;"> </span><span style="color:#6272A4;">#在init函数中 可以进行 订阅行情的操作</span></span>
<span class="line"><span style="color:#F8F8F2;"> </span><span style="color:#6272A4;">#如需在行情回调函数中下单 下单函数需要传入ContextInfo对象 可以通过在init中定义回调函数 来使用外层的ContextInfo</span></span>
<span class="line"><span style="color:#F8F8F2;"> </span><span style="color:#FF79C6;">def</span><span style="color:#F8F8F2;"> </span><span style="color:#50FA7B;">my_callback_function</span><span style="color:#F8F8F2;">(</span><span style="color:#FFB86C;font-style:italic;">data</span><span style="color:#F8F8F2;">):</span></span>
<span class="line"><span style="color:#F8F8F2;"> </span><span style="color:#6272A4;">#自定义行情回调函数 入参为指数据字典</span></span>
<span class="line"><span style="color:#F8F8F2;"> </span><span style="color:#8BE9FD;">print</span><span style="color:#F8F8F2;">(data)</span></span>
<span class="line"><span style="color:#F8F8F2;"> stock </span><span style="color:#FF79C6;">=</span><span style="color:#F8F8F2;"> </span><span style="color:#E9F284;">&#39;</span><span style="color:#F1FA8C;">600000.SH</span><span style="color:#E9F284;">&#39;</span></span>
<span class="line"><span style="color:#F8F8F2;"> C.subscribe_quote(stock, </span><span style="color:#FFB86C;font-style:italic;">period</span><span style="color:#F8F8F2;"> </span><span style="color:#FF79C6;">=</span><span style="color:#F8F8F2;"> </span><span style="color:#E9F284;">&#39;</span><span style="color:#F1FA8C;">5m</span><span style="color:#E9F284;">&#39;</span><span style="color:#F8F8F2;">, </span><span style="color:#FFB86C;font-style:italic;">callback</span><span style="color:#F8F8F2;"> </span><span style="color:#FF79C6;">=</span><span style="color:#F8F8F2;"> my_callback_function)</span></span>
<span class="line"><span style="color:#F8F8F2;"> </span><span style="color:#6272A4;">#init函数执行完成后 </span></span>
<span class="line"><span style="color:#F8F8F2;"> </span><span style="color:#8BE9FD;">print</span><span style="color:#F8F8F2;">(</span><span style="color:#E9F284;">&#39;</span><span style="color:#F1FA8C;">init函数执行完成</span><span style="color:#E9F284;">&#39;</span><span style="color:#F8F8F2;">)</span></span>
<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></div><!--]--></div><h3 id="after-init-初始化后函数" tabindex="-1"><a class="header-anchor" href="#after-init-初始化后函数" aria-hidden="true">#</a> after_init - 初始化后函数</h3><p>后初始化函数,在初始化函数执行完成后被调用一次。可以用于放置一次性触发的下单,取数据操作代码。</p><p>系统会在<code>init</code>函数执行完后和执行<code>handlebar</code>之前调用<code>after_init</code>, 有些<code>init</code>里不支持的函数比如<a href="/pages/fd9cbd/#_23-%E8%8E%B7%E5%8F%96%E6%8C%87%E5%AE%9A%E4%B8%AA%E8%82%A1-%E5%90%88%E7%BA%A6-%E6%8C%87%E6%95%B0%E7%9A%84-k-%E7%BA%BF-%E4%BA%A4%E6%98%93%E6%97%A5-%E5%88%97%E8%A1%A8-contextinfo-get-trading-dates" class="">ContextInfo.get_trading_dates</a>可以在<code>after_init</code>里调用。</p><p><strong>系统函数 不可被手动调用</strong></p><p><strong>参数:</strong></p><table><thead><tr><th>名称</th><th>类型</th><th>描述</th></tr></thead><tbody><tr><td><code>ContextInfo</code></td><td><code>object</code></td><td>策略运行环境对象,可以用于存储自定义的全局变量</td></tr></tbody></table><p><strong>返回:</strong></p><p><strong>示例:</strong></p><div class="vp-tabs"><div class="vp-tabs-nav" role="tablist"><button type="button" class="vp-tab-nav active" role="tab" aria-controls="tab-114-0" aria-selected="true">python</button></div><!--[--><div class="vp-tab active" id="tab-114-0" role="tabpanel" aria-expanded="true"><div class="language-python line-numbers-mode" data-ext="py"><pre class="shiki dracula" style="background-color:#282A36;" tabindex="0"><code><span class="line"><span style="color:#6272A4;">#coding:gbk</span></span>
<span class="line"><span style="color:#FF79C6;">def</span><span style="color:#F8F8F2;"> </span><span style="color:#50FA7B;">init</span><span style="color:#F8F8F2;">(</span><span style="color:#FFB86C;font-style:italic;">ContextInfo</span><span style="color:#F8F8F2;">):</span></span>
<span class="line"><span style="color:#F8F8F2;"> </span><span style="color:#8BE9FD;">print</span><span style="color:#F8F8F2;">(</span><span style="color:#E9F284;">&#39;</span><span style="color:#F1FA8C;">init</span><span style="color:#E9F284;">&#39;</span><span style="color:#F8F8F2;">) </span></span>
<span class="line"></span>
<span class="line"></span>
<span class="line"><span style="color:#FF79C6;">def</span><span style="color:#F8F8F2;"> </span><span style="color:#50FA7B;">after_init</span><span style="color:#F8F8F2;">(</span><span style="color:#FFB86C;font-style:italic;">ContextInfo</span><span style="color:#F8F8F2;">):</span></span>
<span class="line"><span style="color:#F8F8F2;"> </span><span style="color:#8BE9FD;">print</span><span style="color:#F8F8F2;">(</span><span style="color:#E9F284;">&#39;</span><span style="color:#F1FA8C;">系统会在init函数执行完后和执行handlebar之前调用after_init</span><span style="color:#E9F284;">&#39;</span><span style="color:#F8F8F2;">)</span></span>
<span class="line"></span>
<span class="line"></span>
<span class="line"><span style="color:#FF79C6;">def</span><span style="color:#F8F8F2;"> </span><span style="color:#50FA7B;">handlebar</span><span style="color:#F8F8F2;">(</span><span style="color:#FFB86C;font-style:italic;">ContextInfo</span><span style="color:#F8F8F2;">):</span></span>
<span class="line"><span style="color:#F8F8F2;"> </span><span style="color:#FF79C6;">if</span><span style="color:#F8F8F2;"> ContextInfo.is_last_bar():</span></span>
<span class="line"><span style="color:#F8F8F2;"> </span><span style="color:#8BE9FD;">print</span><span style="color:#F8F8F2;">(</span><span style="color:#E9F284;">&#39;</span><span style="color:#F1FA8C;">handlebar</span><span style="color:#E9F284;">&#39;</span><span style="color:#F8F8F2;">)</span></span>
<span class="line"></span>
<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></div><!--]--></div><p><strong>after_init函数中立刻下单示例:</strong></p><div class="vp-tabs"><div class="vp-tabs-nav" role="tablist"><button type="button" class="vp-tab-nav active" role="tab" aria-controls="tab-122-0" aria-selected="true">python</button></div><!--[--><div class="vp-tab active" id="tab-122-0" role="tabpanel" aria-expanded="true"><div class="language-python line-numbers-mode" data-ext="py"><pre class="shiki dracula" style="background-color:#282A36;" tabindex="0"><code><span class="line"><span style="color:#6272A4;">#coding:gbk</span></span>
<span class="line"></span>
<span class="line"><span style="color:#FF79C6;">def</span><span style="color:#F8F8F2;"> </span><span style="color:#50FA7B;">after_init</span><span style="color:#F8F8F2;">(</span><span style="color:#FFB86C;font-style:italic;">C</span><span style="color:#F8F8F2;">):</span></span>
<span class="line"><span style="color:#F8F8F2;"> </span><span style="color:#6272A4;">#after_init 函数 可以用于执行运行开始时 需要执行一次的代码 例如下一笔委托</span></span>
<span class="line"><span style="color:#F8F8F2;"> </span><span style="color:#6272A4;">#account变量是模型交易界面 添加策略时选择的资金账号 不需要手动填写 交易模型需要在模型交易界面运行 才有效</span></span>
<span class="line"><span style="color:#F8F8F2;"> </span><span style="color:#6272A4;">#快速交易参数(quickTrade )填2 passorder函数执行后立刻下单 不会等待k线走完再委托。 可以在after_init函数 run_time函数注册的回调函数里进行委托 </span></span>
<span class="line"><span style="color:#F8F8F2;"> msg </span><span style="color:#FF79C6;">=</span><span style="color:#F8F8F2;"> </span><span style="color:#FF79C6;">f</span><span style="color:#F1FA8C;">&quot;投资备注字符串 用来区分不同委托&quot;</span></span>
<span class="line"><span style="color:#F8F8F2;"> passorder(</span><span style="color:#BD93F9;">23</span><span style="color:#F8F8F2;">, </span><span style="color:#BD93F9;">1101</span><span style="color:#F8F8F2;">, account, </span><span style="color:#E9F284;">&#39;</span><span style="color:#F1FA8C;">600000.SH</span><span style="color:#E9F284;">&#39;</span><span style="color:#F8F8F2;">, </span><span style="color:#BD93F9;">5</span><span style="color:#F8F8F2;">, </span><span style="color:#FF79C6;">-</span><span style="color:#BD93F9;">1</span><span style="color:#F8F8F2;">, </span><span style="color:#BD93F9;">100</span><span style="color:#F8F8F2;">, </span><span style="color:#E9F284;">&#39;</span><span style="color:#F1FA8C;">测试下单</span><span style="color:#E9F284;">&#39;</span><span style="color:#F8F8F2;">, </span><span style="color:#BD93F9;">2</span><span style="color:#F8F8F2;">, msg, C)</span></span>
<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></div><!--]--></div><h3 id="handlebar-行情事件函数" tabindex="-1"><a class="header-anchor" href="#handlebar-行情事件函数" aria-hidden="true">#</a> handlebar - 行情事件函数</h3><p><strong>系统函数 不可被手动调用</strong></p><p><strong>释义:</strong> 行情事件函数,每根 K 线运行一次;实时行情获取状态下,先每根历史 K 线运行一次,再在每个 tick 数据来后驱动运行一次</p><p>历史k线上,按时间顺序每根K线触发一次调用;盘中,每个新到达的TICK数据驱动运行一次。可以作为行情驱动的函数,实现指标计算,回测,实盘下单的效果。</p><p><strong>参数:</strong></p><table><thead><tr><th>名称</th><th>类型</th><th>描述</th></tr></thead><tbody><tr><td><code>ContextInfo</code></td><td><code>object</code></td><td>策略运行环境对象,可以用于存储自定义的全局变量</td></tr></tbody></table><p><strong>返回:</strong></p><p><strong>示例:</strong></p><div class="language-python line-numbers-mode" data-ext="py"><pre class="shiki dracula" style="background-color:#282A36;" tabindex="0"><code><span class="line"><span style="color:#FF79C6;">def</span><span style="color:#F8F8F2;"> </span><span style="color:#50FA7B;">handlebar</span><span style="color:#F8F8F2;">(</span><span style="color:#FFB86C;font-style:italic;">ContextInfo</span><span style="color:#F8F8F2;">):</span></span>
<span class="line"><span style="color:#F8F8F2;"> </span><span style="color:#6272A4;"># 输出当前运行到的 K 线的位置</span></span>
<span class="line"><span style="color:#F8F8F2;"> </span><span style="color:#8BE9FD;">print</span><span style="color:#F8F8F2;">(ContextInfo.barpos)</span></span>
<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="contextinfo-schedule-run-设置定时器" tabindex="-1"><a class="header-anchor" href="#contextinfo-schedule-run-设置定时器" aria-hidden="true">#</a> ContextInfo.schedule_run - 设置定时器</h3><div class="custom-container tip"><p class="custom-container-title">说明</p><ol><li>该函数是新版设置定时器函数,相比旧版<code>run_time</code>,新版<code>schedule_run</code>新增了<code>任务分组</code>,<code>任务取消</code>等多种功能</li></ol></div><p><strong>原型:</strong></p><div class="vp-tabs"><div class="vp-tabs-nav" role="tablist"><button type="button" class="vp-tab-nav active" role="tab" aria-controls="tab-192-0" aria-selected="true">python</button></div><!--[--><div class="vp-tab active" id="tab-192-0" role="tabpanel" aria-expanded="true"><div class="language-python line-numbers-mode" data-ext="py"><pre class="shiki dracula" style="background-color:#282A36;" tabindex="0"><code><span class="line"><span style="color:#F8F8F2;">ContextInfo.schedule_run(</span></span>
<span class="line"><span style="color:#F8F8F2;"> func:Callable, </span><span style="color:#6272A4;"># 回调函数,到达定时器预定时间时触发调用,参数为ContextInfo类型,无需返回值</span></span>
<span class="line"><span style="color:#F8F8F2;"> time_point:Union[dt.datetime,</span><span style="color:#8BE9FD;font-style:italic;">str</span><span style="color:#F8F8F2;">], </span><span style="color:#6272A4;"># 表示预定的第一次触发时间,如果设置定时器时已经过了预定时间,会立即执行func以及后续逻辑;当使用str类型时,格式为&#39;yyyymmddHHMMSS&#39;&#39;20231231235959&#39;,需要满足转换dt.datetime.strptime(&#39;20231231235959&#39;,&#39;%Y%m%d%H%M%S&#39;)</span></span>
<span class="line"><span style="color:#F8F8F2;"> repeat_times:</span><span style="color:#FFB86C;font-style:italic;">int</span><span style="color:#FF79C6;">=</span><span style="color:#BD93F9;">0</span><span style="color:#F8F8F2;">, </span><span style="color:#6272A4;"># 表示在预定时间触发后按interval间隔再触发多少次</span></span>
<span class="line"><span style="color:#F8F8F2;"> interval:datetime.timedelta</span><span style="color:#FF79C6;">=</span><span style="color:#BD93F9;">None</span><span style="color:#F8F8F2;">, </span><span style="color:#6272A4;"># 表示预定时间触发后的后续重复执行的时间间隔</span></span>
<span class="line"><span style="color:#F8F8F2;"> name:</span><span style="color:#FFB86C;font-style:italic;">str</span><span style="color:#FF79C6;">=</span><span style="color:#E9F284;">&#39;&#39;</span><span style="color:#F8F8F2;"> </span><span style="color:#6272A4;"># 定时器任务组名,可用于定时器分组,多次设置同名定时任务不会互相覆盖,会计入同一个任务组,按任务组名取消时会全部取消</span></span>
<span class="line"><span style="color:#F8F8F2;"> )</span></span>
<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></div><!--]--></div><p><strong>参数:</strong></p><table><thead><tr><th>名称</th><th>类型</th><th>描述</th></tr></thead><tbody><tr><td><code>func</code></td><td><code>Callable</code></td><td>回调函数,到达定时器预定时间时触发调用,参数为ContextInfo类型,无需返回值,定义示例如下:<br> def on_timer(C:ContextInfo): pass</td></tr><tr><td><code>time_point</code></td><td><code>Union[datetime.datetime,str]</code></td><td>表示预定的第一次触发时间,如果设置定时器时已经过了预定时间,会立即执行func以及后续逻辑;<br> 当使用str类型时,格式为&#39;yyyymmddHHMMSS&#39;&#39;20231231235959&#39;,需要满足转换datetime.datetime.strptime(&#39;20231231235959&#39;,&#39;%Y%m%d%H%M%S&#39;)</td></tr><tr><td><code>repeat_times</code></td><td><code>int</code></td><td>表示在预定时间触发后按interval间隔再触发多少次,传<code>-1</code>表示不限制次数</td></tr><tr><td><code>interval</code></td><td><code>datetime.timedelta</code></td><td>表示预定时间触发后的后续重复执行的时间间隔</td></tr><tr><td><code>name</code></td><td><code>str</code></td><td>定时器任务组名,可用于定时器分组,多次设置同名定时任务不会互相覆盖,会计入同一个任务组,按任务组名取消时会全部取消</td></tr></tbody></table><p><strong>回调函数参数:</strong> ContextInfo:策略模型全局对象</p><p><strong>返回值:</strong></p><p><code>int</code>类型,表示本次调用后生成的定时任务号,可用于取消本次定时任务,全局唯一不重复</p><p><strong>示例:</strong></p><div class="vp-tabs"><div class="vp-tabs-nav" role="tablist"><button type="button" class="vp-tab-nav active" role="tab" aria-controls="tab-284-0" aria-selected="true">python</button></div><!--[--><div class="vp-tab active" id="tab-284-0" role="tabpanel" aria-expanded="true"><div class="language-python line-numbers-mode" data-ext="py"><pre class="shiki dracula" style="background-color:#282A36;" tabindex="0"><code><span class="line"><span style="color:#FF79C6;">import</span><span style="color:#F8F8F2;"> datetime </span><span style="color:#FF79C6;">as</span><span style="color:#F8F8F2;"> dt</span></span>
<span class="line"><span style="color:#FF79C6;">def</span><span style="color:#F8F8F2;"> </span><span style="color:#50FA7B;">on_timer</span><span style="color:#F8F8F2;">(</span><span style="color:#FFB86C;font-style:italic;">C</span><span style="color:#FF79C6;">:</span><span style="color:#F8F8F2;">ContextInfo):</span></span>
<span class="line"><span style="color:#F8F8F2;"> </span><span style="color:#8BE9FD;">print</span><span style="color:#F8F8F2;">(</span><span style="color:#E9F284;">&#39;</span><span style="color:#F1FA8C;">hello world</span><span style="color:#E9F284;">&#39;</span><span style="color:#F8F8F2;">)</span></span>
<span class="line"><span style="color:#FF79C6;">def</span><span style="color:#F8F8F2;"> </span><span style="color:#50FA7B;">init</span><span style="color:#F8F8F2;">(</span><span style="color:#FFB86C;font-style:italic;">ContextInfo</span><span style="color:#F8F8F2;">):</span></span>
<span class="line"><span style="color:#F8F8F2;"> tid</span><span style="color:#FF79C6;">=</span><span style="color:#F8F8F2;">ContextInfo.schedule_run(on_timer,</span><span style="color:#E9F284;">&#39;</span><span style="color:#F1FA8C;">20231231235959</span><span style="color:#E9F284;">&#39;</span><span style="color:#F8F8F2;">,</span><span style="color:#FF79C6;">-</span><span style="color:#BD93F9;">1</span><span style="color:#F8F8F2;">,dt.timedelta(</span><span style="color:#FFB86C;font-style:italic;">minutes</span><span style="color:#FF79C6;">=</span><span style="color:#BD93F9;">1</span><span style="color:#F8F8F2;">),</span><span style="color:#E9F284;">&#39;</span><span style="color:#F1FA8C;">my_timer</span><span style="color:#E9F284;">&#39;</span><span style="color:#F8F8F2;">)</span></span>
<span class="line"><span style="color:#FF79C6;">def</span><span style="color:#F8F8F2;"> </span><span style="color:#50FA7B;">handlebar</span><span style="color:#F8F8F2;">(</span><span style="color:#FFB86C;font-style:italic;">ContextInfo</span><span style="color:#F8F8F2;">):</span></span>
<span class="line"><span style="color:#F8F8F2;"> </span><span style="color:#FF79C6;">pass</span></span>
<span class="line"><span style="color:#6272A4;">#此例为自2023-12-31 23:59:59后每60s运行一次on_timer</span></span>
<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></div><!--]--></div><h3 id="contextinfo-cancel-schedule-run-取消由schedule-run产生的定时任务" tabindex="-1"><a class="header-anchor" href="#contextinfo-cancel-schedule-run-取消由schedule-run产生的定时任务" aria-hidden="true">#</a> ContextInfo.cancel_schedule_run - 取消由schedule_run产生的定时任务</h3><p><strong>原型:</strong></p><div class="vp-tabs"><div class="vp-tabs-nav" role="tablist"><button type="button" class="vp-tab-nav active" role="tab" aria-controls="tab-295-0" aria-selected="true">python</button></div><!--[--><div class="vp-tab active" id="tab-295-0" role="tabpanel" aria-expanded="true"><div class="language-python line-numbers-mode" data-ext="py"><pre class="shiki dracula" style="background-color:#282A36;" tabindex="0"><code><span class="line"><span style="color:#F8F8F2;">ContextInfo.cancel_schedule_run(</span></span>
<span class="line"><span style="color:#F8F8F2;"> key:Union[seq</span><span style="color:#FF79C6;">:</span><span style="color:#8BE9FD;font-style:italic;">int</span><span style="color:#F8F8F2;">,name</span><span style="color:#FF79C6;">:</span><span style="color:#8BE9FD;font-style:italic;">str</span><span style="color:#F8F8F2;">] </span><span style="color:#6272A4;"># 定时任务号或定时任务组名称</span></span>
<span class="line"><span style="color:#F8F8F2;"> )</span></span>
<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></div><!--]--></div><p><strong>参数:</strong></p><table><thead><tr><th>名称</th><th>类型</th><th>描述</th></tr></thead><tbody><tr><td><code>key:</code></td><td><code>Union[seq:int,name:str]</code></td><td>类型为int时,表示按任务号取消;类型为str时,表示按任务组取消,会取消组内所有定时任务</td></tr></tbody></table><p><strong>返回值:</strong></p><p><code>bool</code>类型,表示是否取消成功,即是否能按key找到目标定时任务</p><p><strong>示例:</strong></p><div class="vp-tabs"><div class="vp-tabs-nav" role="tablist"><button type="button" class="vp-tab-nav active" role="tab" aria-controls="tab-340-0" aria-selected="true">示例</button></div><!--[--><div class="vp-tab active" id="tab-340-0" role="tabpanel" aria-expanded="true"><div class="language-python line-numbers-mode" data-ext="py"><pre class="shiki dracula" style="background-color:#282A36;" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color:#F8F8F2;">ContextInfo.cancel_schedule_run(</span><span style="color:#E9F284;">&#39;</span><span style="color:#F1FA8C;">my_timer</span><span style="color:#E9F284;">&#39;</span><span style="color:#F8F8F2;">) </span><span style="color:#6272A4;">#取消my_timer任务组所有定时任务</span></span>
<span class="line"><span style="color:#F8F8F2;">ContextInfo.cancel_schedule_run(</span><span style="color:#BD93F9;">1</span><span style="color:#F8F8F2;">) </span><span style="color:#6272A4;">#取消任务号为1的定时任务</span></span>
<span class="line"></span>
<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></div><!--]--></div><h3 id="contextinfo-run-time-设置定时器" tabindex="-1"><a class="header-anchor" href="#contextinfo-run-time-设置定时器" aria-hidden="true">#</a> ContextInfo.run_time - 设置定时器</h3><p>设置定时器函数,可以指定时间间隔,定时触发用户定义的回调函数。适用与在盘中,持续判断交易信号的模型。</p><p><strong>用法:</strong> <code>ContextInfo.run_time(funcName,period,startTime)</code> 定时触发指定的 funcName函数, funcName函数由用户定义, 入参为ContextInfo对象。</p><p><strong>参数:</strong></p><ul><li>funcName:回调函数名</li><li>period:重复调用的时间间隔,&#39;5nSecond&#39;表示每5秒运行1次回调函数,&#39;5nDay&#39;表示每5天运行一次回调函数,&#39;500nMilliSecond&#39;表示每500毫秒运行1次回调函数</li><li>startTime:表示定时器第一次启动的时间,如果要定时器立刻启动,可以设置历史的时间</li></ul><p><strong>回调函数参数:</strong> ContextInfo:策略模型全局对象</p><p><strong>示例:</strong></p><div class="vp-tabs"><div class="vp-tabs-nav" role="tablist"><button type="button" class="vp-tab-nav active" role="tab" aria-controls="tab-380-0" aria-selected="true">python</button></div><!--[--><div class="vp-tab active" id="tab-380-0" role="tabpanel" aria-expanded="true"><div class="language-python line-numbers-mode" data-ext="py"><pre class="shiki dracula" style="background-color:#282A36;" tabindex="0"><code><span class="line"><span style="color:#FF79C6;">import</span><span style="color:#F8F8F2;"> time</span></span>
<span class="line"><span style="color:#FF79C6;">def</span><span style="color:#F8F8F2;"> </span><span style="color:#50FA7B;">init</span><span style="color:#F8F8F2;">(</span><span style="color:#FFB86C;font-style:italic;">ContextInfo</span><span style="color:#F8F8F2;">):</span></span>
<span class="line"><span style="color:#F8F8F2;"> ContextInfo.run_time(</span><span style="color:#E9F284;">&quot;</span><span style="color:#F1FA8C;">f</span><span style="color:#E9F284;">&quot;</span><span style="color:#F8F8F2;">,</span><span style="color:#E9F284;">&quot;</span><span style="color:#F1FA8C;">5nSecond</span><span style="color:#E9F284;">&quot;</span><span style="color:#F8F8F2;">,</span><span style="color:#E9F284;">&quot;</span><span style="color:#F1FA8C;">2019-10-14 13:20:00</span><span style="color:#E9F284;">&quot;</span><span style="color:#F8F8F2;">)</span></span>
<span class="line"><span style="color:#FF79C6;">def</span><span style="color:#F8F8F2;"> </span><span style="color:#50FA7B;">f</span><span style="color:#F8F8F2;">(</span><span style="color:#FFB86C;font-style:italic;">ContextInfo</span><span style="color:#F8F8F2;">):</span></span>
<span class="line"><span style="color:#F8F8F2;"> </span><span style="color:#8BE9FD;">print</span><span style="color:#F8F8F2;">(</span><span style="color:#E9F284;">&#39;</span><span style="color:#F1FA8C;">hello world</span><span style="color:#E9F284;">&#39;</span><span style="color:#F8F8F2;">)</span></span>
<span class="line"></span>
<span class="line"><span style="color:#6272A4;">#此例为自2019-10-14 13:20:00后每5s运行一次函数f</span></span>
<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><div class="custom-container warning"><p class="custom-container-title">注意</p><ol><li>模型回测时无效</li><li>定时器没有结束方法,会随着策略的结束而结束。</li><li>period有nMilliSecond、nSecond和Day三个周期单元,部分周期下定时器函数在第一次运行之前会先等待一个period</li></ol></div></div><!--]--></div><h3 id="stop-停止处理函数" tabindex="-1"><a class="header-anchor" href="#stop-停止处理函数" aria-hidden="true">#</a> stop - 停止处理函数</h3><p><strong>系统函数 不可被手动调用</strong></p><p><strong>释义:</strong> PY策略模型关闭停止前运行到的函数,复杂策略模型,如中间有起线程可通过在该函数内实现停止线程操作。注意, 当前版本stop函数被调用时交易连接已断开, 不能在stop函数中做报单 / 撤单操作.</p><p><strong>参数:</strong></p><table><thead><tr><th>名称</th><th>类型</th><th>描述</th></tr></thead><tbody><tr><td><code>ContextInfo</code></td><td><code>object</code></td><td>策略运行环境对象,可以用于存储自定义的全局变量</td></tr></tbody></table><p><strong>示例:</strong></p><div class="vp-tabs"><div class="vp-tabs-nav" role="tablist"><button type="button" class="vp-tab-nav active" role="tab" aria-controls="tab-447-0" aria-selected="true">python</button></div><!--[--><div class="vp-tab active" id="tab-447-0" role="tabpanel" aria-expanded="true"><div class="language-python line-numbers-mode" data-ext="py"><pre class="shiki dracula" style="background-color:#282A36;" tabindex="0"><code><span class="line"><span style="color:#FF79C6;">def</span><span style="color:#F8F8F2;"> </span><span style="color:#50FA7B;">stop</span><span style="color:#F8F8F2;">(</span><span style="color:#FFB86C;font-style:italic;">ContextInfo</span><span style="color:#F8F8F2;">):</span></span>
<span class="line"><span style="color:#F8F8F2;"> </span><span style="color:#8BE9FD;">print</span><span style="color:#F8F8F2;">( </span><span style="color:#E9F284;">&#39;</span><span style="color:#F1FA8C;">strategy is stop !</span><span style="color:#E9F284;">&#39;</span><span style="color:#F8F8F2;">)</span></span>
<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div></div></div></div><!--]--></div><h3 id="contextinfo-is-last-bar-是否为最后一根k线" tabindex="-1"><a class="header-anchor" href="#contextinfo-is-last-bar-是否为最后一根k线" aria-hidden="true">#</a> ContextInfo.is_last_bar - 是否为最后一根K线</h3><p><strong>用法:</strong> ContextInfo.is_last_bar()</p><p><strong>释义:</strong> 判定是否为最后一根 K 线</p><p><strong>参数:</strong></p><p><strong>返回:</strong> bool,返回值含义:True 是右侧最新k线 False不是最新k线</p><blockquote><p>True:是</p><p>False:否</p></blockquote><p><strong>示例:</strong></p><div class="vp-tabs"><div class="vp-tabs-nav" role="tablist"><button type="button" class="vp-tab-nav active" role="tab" aria-controls="tab-478-0" aria-selected="true">python</button><button type="button" class="vp-tab-nav" role="tab" aria-controls="tab-478-1" aria-selected="false">result</button></div><!--[--><div class="vp-tab active" id="tab-478-0" role="tabpanel" aria-expanded="true"><div class="language-python line-numbers-mode" data-ext="py"><pre class="shiki dracula" style="background-color:#282A36;" tabindex="0"><code><span class="line"><span style="color:#FF79C6;">def</span><span style="color:#F8F8F2;"> </span><span style="color:#50FA7B;">handlebar</span><span style="color:#F8F8F2;">(</span><span style="color:#FFB86C;font-style:italic;">ContextInfo</span><span style="color:#F8F8F2;">):</span></span>
<span class="line"><span style="color:#F8F8F2;"> </span><span style="color:#8BE9FD;">print</span><span style="color:#F8F8F2;">(ContextInfo.is_last_bar())</span></span>
<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div></div></div></div><div class="vp-tab" id="tab-478-1" role="tabpanel" aria-expanded="false"><div class="language-text line-numbers-mode" data-ext="text"><pre class="shiki dracula" style="background-color:#282A36;" tabindex="0"><code><span class="line"><span style="color:#F8F8F2;">False</span></span>
<span class="line"><span style="color:#F8F8F2;">False</span></span>
<span class="line"><span style="color:#F8F8F2;">...</span></span>
<span class="line"><span style="color:#F8F8F2;">False</span></span>
<span class="line"><span style="color:#F8F8F2;">True</span></span>
<span class="line"><span style="color:#F8F8F2;"></span></span></code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></div><!--]--></div><h3 id="contextinfo-is-new-bar-判定是否为新的-k-线" tabindex="-1"><a class="header-anchor" href="#contextinfo-is-new-bar-判定是否为新的-k-线" aria-hidden="true">#</a> ContextInfo.is_new_bar - 判定是否为新的 K 线</h3><p><strong>用法:</strong> ContextInfo.is_new_bar()</p><p><strong>释义:</strong> 某根 K 线的第一个 tick 数据到来时,判定该 K 线为新的 K 线,其后的tick不会认为是新的 K 线</p><p><strong>参数:</strong></p><p><strong>返回:</strong> bool,返回值含义:</p><blockquote><p>True:是</p><p>False:否</p></blockquote><p><strong>示例:</strong></p><div class="vp-tabs"><div class="vp-tabs-nav" role="tablist"><button type="button" class="vp-tab-nav active" role="tab" aria-controls="tab-512-0" aria-selected="true">python</button><button type="button" class="vp-tab-nav" role="tab" aria-controls="tab-512-1" aria-selected="false">result</button></div><!--[--><div class="vp-tab active" id="tab-512-0" role="tabpanel" aria-expanded="true"><div class="language-python line-numbers-mode" data-ext="py"><pre class="shiki dracula" style="background-color:#282A36;" tabindex="0"><code><span class="line"><span style="color:#FF79C6;">def</span><span style="color:#F8F8F2;"> </span><span style="color:#50FA7B;">handlebar</span><span style="color:#F8F8F2;">(</span><span style="color:#FFB86C;font-style:italic;">ContextInfo</span><span style="color:#F8F8F2;">):</span></span>
<span class="line"><span style="color:#F8F8F2;"> </span><span style="color:#8BE9FD;">print</span><span style="color:#F8F8F2;">(ContextInfo.is_new_bar()) </span><span style="color:#6272A4;">#历史k线每根都是新k线 盘中 每根新k线第一个分笔返回True 其他分笔返回False</span></span>
<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div></div></div></div><div class="vp-tab" id="tab-512-1" role="tabpanel" aria-expanded="false"><div class="language-text line-numbers-mode" data-ext="text"><pre class="shiki dracula" style="background-color:#282A36;" tabindex="0"><code><span class="line"><span style="color:#F8F8F2;">True</span></span>
<span class="line"><span style="color:#F8F8F2;">True</span></span>
<span class="line"><span style="color:#F8F8F2;">...</span></span>
<span class="line"><span style="color:#F8F8F2;">True</span></span>
<span class="line"><span style="color:#F8F8F2;">False</span></span>
<span class="line"><span style="color:#F8F8F2;"></span></span></code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></div><!--]--></div><h3 id="contextinfo-get-stock-name-根据代码获取名称" tabindex="-1"><a class="header-anchor" href="#contextinfo-get-stock-name-根据代码获取名称" aria-hidden="true">#</a> ContextInfo.get_stock_name - 根据代码获取名称</h3><div class="custom-container warning"><p class="custom-container-title">注意</p><p>我们计划后续版本抛弃这个函数,不建议继续使用,可以用ContextInfo.get_instrument_detail(&quot;stockcode&quot;)[&quot;InstrumentName&quot;]来实现同样功能</p></div><p><strong>用法:</strong> ContextInfo.get_stock_name(&#39;stockcode&#39;)</p><p><strong>释义:</strong> 根据代码获取名称</p><p><strong>参数:</strong> stockcode:股票代码,如&#39;000001.SZ&#39;,缺省值 &#39; &#39; 默认为当前图代码</p><p><strong>返回:</strong> stringGBK编码)</p><p><strong>示例:</strong></p><div class="vp-tabs"><div class="vp-tabs-nav" role="tablist"><button type="button" class="vp-tab-nav active" role="tab" aria-controls="tab-543-0" aria-selected="true">示例</button><button type="button" class="vp-tab-nav" role="tab" aria-controls="tab-543-1" aria-selected="false">返回值</button></div><!--[--><div class="vp-tab active" id="tab-543-0" role="tabpanel" aria-expanded="true"><div class="language-python line-numbers-mode" data-ext="py"><pre class="shiki dracula" style="background-color:#282A36;" tabindex="0"><code><span class="line"><span style="color:#FF79C6;">def</span><span style="color:#F8F8F2;"> </span><span style="color:#50FA7B;">handlebar</span><span style="color:#F8F8F2;">(</span><span style="color:#FFB86C;font-style:italic;">ContextInfo</span><span style="color:#F8F8F2;">):</span></span>
<span class="line"><span style="color:#F8F8F2;"> </span><span style="color:#8BE9FD;">print</span><span style="color:#F8F8F2;">(ContextInfo.get_stock_name(</span><span style="color:#E9F284;">&#39;</span><span style="color:#F1FA8C;">000001.SZ</span><span style="color:#E9F284;">&#39;</span><span style="color:#F8F8F2;">))</span></span>
<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div></div></div></div><div class="vp-tab" id="tab-543-1" role="tabpanel" aria-expanded="false"><div class="language-text line-numbers-mode" data-ext="text"><pre class="shiki dracula" style="background-color:#282A36;" tabindex="0"><code><span class="line"><span style="color:#F8F8F2;">平安银行</span></span>
<span class="line"><span style="color:#F8F8F2;"></span></span></code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div></div><!--]--></div><h3 id="contextinfo-get-open-date-根据代码返回对应股票的上市时间" tabindex="-1"><a class="header-anchor" href="#contextinfo-get-open-date-根据代码返回对应股票的上市时间" aria-hidden="true">#</a> ContextInfo.get_open_date - 根据代码返回对应股票的上市时间</h3><p><strong>用法:</strong> ContextInfo.get_open_date(&#39;stockcode&#39;)</p><p><strong>释义:</strong> 根据代码返回对应股票的上市时间</p><p><strong>参数:</strong> stockcode:股票代码,如&#39;000001.SZ&#39;,缺省值 &#39; &#39; 默认为当前图代码</p><p><strong>返回:</strong> number</p><p><strong>示例:</strong></p><div class="vp-tabs"><div class="vp-tabs-nav" role="tablist"><button type="button" class="vp-tab-nav active" role="tab" aria-controls="tab-569-0" aria-selected="true">python</button><button type="button" class="vp-tab-nav" role="tab" aria-controls="tab-569-1" aria-selected="false">result</button></div><!--[--><div class="vp-tab active" id="tab-569-0" role="tabpanel" aria-expanded="true"><div class="language-python line-numbers-mode" data-ext="py"><pre class="shiki dracula" style="background-color:#282A36;" tabindex="0"><code><span class="line"><span style="color:#FF79C6;">def</span><span style="color:#F8F8F2;"> </span><span style="color:#50FA7B;">init</span><span style="color:#F8F8F2;">(</span><span style="color:#FFB86C;font-style:italic;">ContextInfo</span><span style="color:#F8F8F2;">):</span></span>
<span class="line"><span style="color:#F8F8F2;"> </span><span style="color:#8BE9FD;">print</span><span style="color:#F8F8F2;">(ContextInfo.get_open_date(</span><span style="color:#E9F284;">&#39;</span><span style="color:#F1FA8C;">000001.SZ</span><span style="color:#E9F284;">&#39;</span><span style="color:#F8F8F2;">))</span></span>
<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div></div></div></div><div class="vp-tab" id="tab-569-1" role="tabpanel" aria-expanded="false"><div class="language-text line-numbers-mode" data-ext="text"><pre class="shiki dracula" style="background-color:#282A36;" tabindex="0"><code><span class="line"><span style="color:#F8F8F2;">19910403</span></span>
<span class="line"><span style="color:#F8F8F2;"></span></span></code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div></div><!--]--></div><h3 id="contextinfo-set-output-index-property-设定指标绘制的属性" tabindex="-1"><a class="header-anchor" href="#contextinfo-set-output-index-property-设定指标绘制的属性" aria-hidden="true">#</a> ContextInfo.set_output_index_property - 设定指标绘制的属性</h3><p><strong>用法:</strong> ContextInfo.set_output_index_property(index_name,draw_style=0,color=&#39;white&#39;,noaxis=False,nodraw=False,noshow=False)</p><p><strong>释义:</strong> 设定指标绘制的属性,会最终覆盖掉指标对应的属性字段</p><p><strong>参数:</strong></p><ul><li>index_name:string,指标名称,不可缺省</li><li>draw_style,同paint函数的drawstyle,可缺省默认为0</li><li>color,同paint函数的color,可缺省默认为&#39;white&#39;</li><li>noaxis:bool,是否无坐标,可缺省默认为False</li><li>nodraw:bool,是否不画线,可缺省默认为False</li><li>noshow:bool,是否不展示,可缺省默认为False</li></ul><p><strong>返回:</strong></p><p><strong>示例:</strong></p><div class="vp-tabs"><div class="vp-tabs-nav" role="tablist"><button type="button" class="vp-tab-nav active" role="tab" aria-controls="tab-627-0" aria-selected="true">python</button><button type="button" class="vp-tab-nav" role="tab" aria-controls="tab-627-1" aria-selected="false">python</button><button type="button" class="vp-tab-nav" role="tab" aria-controls="tab-627-2" aria-selected="false">result</button></div><!--[--><div class="vp-tab active" id="tab-627-0" role="tabpanel" aria-expanded="true"><div class="language-python line-numbers-mode" data-ext="py"><pre class="shiki dracula" style="background-color:#282A36;" tabindex="0"><code><span class="line"><span style="color:#FF79C6;">def</span><span style="color:#F8F8F2;"> </span><span style="color:#50FA7B;">init</span><span style="color:#F8F8F2;">(</span><span style="color:#FFB86C;font-style:italic;">ContextInfo</span><span style="color:#F8F8F2;">):</span></span>
<span class="line"><span style="color:#F8F8F2;"> ContextInfo.set_output_index_property(</span><span style="color:#E9F284;">&#39;</span><span style="color:#F1FA8C;">单位净值</span><span style="color:#E9F284;">&#39;</span><span style="color:#F8F8F2;">, </span><span style="color:#FFB86C;font-style:italic;">nodraw</span><span style="color:#F8F8F2;"> </span><span style="color:#FF79C6;">=</span><span style="color:#F8F8F2;"> </span><span style="color:#BD93F9;">True</span><span style="color:#F8F8F2;">)</span><span style="color:#6272A4;">#使回测指标&#39;单位净值&#39;不画线</span></span>
<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="create-sector-创建板块" tabindex="-1"><a class="header-anchor" href="#create-sector-创建板块" aria-hidden="true">#</a> create_sector - 创建板块</h3><p><strong>用法:</strong> create_sector(parent_node,sector_name,overwrite)</p><p><strong>释义:</strong> 创建板块</p><p><strong>参数:</strong></p><ul><li>parent_nodestr,父节点,&#39;&#39;&#39;我的&#39;(默认目录)</li><li>sector_namestr,要创建的板块名</li><li>overwrite:bool,是否覆盖。如果目标节点已存在,为True时跳过,为False时在sector_name后增加数字编号,编号为从1开始自增的第一个不重复的值。</li></ul><p><strong>返回:</strong> sector_name2:实际创建的板块名</p><p><strong>示例:</strong></p><!----></div><div class="vp-tab" id="tab-627-1" role="tabpanel" aria-expanded="false"><div class="language-python line-numbers-mode" data-ext="py"><pre class="shiki dracula" style="background-color:#282A36;" tabindex="0"><code><span class="line"><span style="color:#F8F8F2;">sector</span><span style="color:#FF79C6;">=</span><span style="color:#F8F8F2;">create_sector(</span><span style="color:#E9F284;">&#39;</span><span style="color:#F1FA8C;">我的</span><span style="color:#E9F284;">&#39;</span><span style="color:#F8F8F2;">,</span><span style="color:#E9F284;">&#39;</span><span style="color:#F1FA8C;">新建板块</span><span style="color:#E9F284;">&#39;</span><span style="color:#F8F8F2;">,</span><span style="color:#BD93F9;">False</span><span style="color:#F8F8F2;">)</span></span>
<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div></div><div class="vp-tab" id="tab-627-2" role="tabpanel" aria-expanded="false"><div class="language-text line-numbers-mode" data-ext="text"><pre class="shiki dracula" style="background-color:#282A36;" tabindex="0"><code><span class="line"><span style="color:#F8F8F2;">新建板块</span></span>
<span class="line"><span style="color:#F8F8F2;"></span></span></code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div></div><!--]--></div><h3 id="create-sector-folder-创建板块目录节点" tabindex="-1"><a class="header-anchor" href="#create-sector-folder-创建板块目录节点" aria-hidden="true">#</a> create_sector_folder - 创建板块目录节点</h3><p><strong>用法:</strong> create_sector_folder(parent_node,folder_name,overwrite)</p><p><strong>释义:</strong> 创建板块目录节点</p><p><strong>参数:</strong></p><ul><li>parent_nodestr,父节点,&#39;&#39;&#39;我的&#39;(默认目录)</li><li>sector_namestr,要创建的节点名</li><li>overwrite:bool,是否覆盖。如果目标节点已存在,为True时跳过,为False时在folder_name后增加数字编号,编号为从1开始自增的第一个不重复的值。</li></ul><p><strong>返回:</strong> sector_name2:实际创建的节点名</p><p><strong>示例:</strong></p><div class="vp-tabs"><div class="vp-tabs-nav" role="tablist"><button type="button" class="vp-tab-nav active" role="tab" aria-controls="tab-710-0" aria-selected="true">python</button><button type="button" class="vp-tab-nav" role="tab" aria-controls="tab-710-1" aria-selected="false">result</button></div><!--[--><div class="vp-tab active" id="tab-710-0" role="tabpanel" aria-expanded="true"><div class="language-python line-numbers-mode" data-ext="py"><pre class="shiki dracula" style="background-color:#282A36;" tabindex="0"><code><span class="line"><span style="color:#F8F8F2;">folder</span><span style="color:#FF79C6;">=</span><span style="color:#F8F8F2;">create_sector_folder(</span><span style="color:#E9F284;">&#39;</span><span style="color:#F1FA8C;">我的</span><span style="color:#E9F284;">&#39;</span><span style="color:#F8F8F2;">,</span><span style="color:#E9F284;">&#39;</span><span style="color:#F1FA8C;">新建分类</span><span style="color:#E9F284;">&#39;</span><span style="color:#F8F8F2;">,</span><span style="color:#BD93F9;">False</span><span style="color:#F8F8F2;">)</span></span>
<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div></div><div class="vp-tab" id="tab-710-1" role="tabpanel" aria-expanded="false"><div class="language-text line-numbers-mode" data-ext="text"><pre class="shiki dracula" style="background-color:#282A36;" tabindex="0"><code><span class="line"><span style="color:#F8F8F2;">新建分类</span></span>
<span class="line"><span style="color:#F8F8F2;"></span></span></code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div></div><!--]--></div><h3 id="get-sector-list-获取板块目录信息" tabindex="-1"><a class="header-anchor" href="#get-sector-list-获取板块目录信息" aria-hidden="true">#</a> get_sector_list - 获取板块目录信息</h3><p><strong>用法:</strong> get_sector_list(node)</p><p><strong>释义:</strong> 获取板块目录信息</p><p><strong>参数:</strong></p><ul><li>nodestr,板块节点名,&#39;&#39;为顶层目录</li></ul><p><strong>返回:</strong> info_list[[s1,s2,...],[f1,f2,...]]s为板块名,f为目录节点名,例如[[&#39;我的自选&#39;],[&#39;新建分类1&#39;]]</p><p><strong>示例:</strong></p><div class="vp-tabs"><div class="vp-tabs-nav" role="tablist"><button type="button" class="vp-tab-nav active" role="tab" aria-controls="tab-743-0" aria-selected="true">python</button><button type="button" class="vp-tab-nav" role="tab" aria-controls="tab-743-1" aria-selected="false">result</button></div><!--[--><div class="vp-tab active" id="tab-743-0" role="tabpanel" aria-expanded="true"><div class="language-python line-numbers-mode" data-ext="py"><pre class="shiki dracula" style="background-color:#282A36;" tabindex="0"><code><span class="line"><span style="color:#F8F8F2;">get_sector_list(</span><span style="color:#E9F284;">&#39;</span><span style="color:#F1FA8C;">我的</span><span style="color:#E9F284;">&#39;</span><span style="color:#F8F8F2;">)</span></span>
<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div></div><div class="vp-tab" id="tab-743-1" role="tabpanel" aria-expanded="false"><div class="language-text line-numbers-mode" data-ext="text"><pre class="shiki dracula" style="background-color:#282A36;" tabindex="0"><code><span class="line"><span style="color:#F8F8F2;">[[&#39;我的自选&#39;, &#39;龙头&#39;, &#39;卖出篮子&#39;, &#39;TMP&#39;, &#39;震荡&#39;, &#39;待分析&#39;], []]</span></span>
<span class="line"><span style="color:#F8F8F2;"></span></span></code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div></div><!--]--></div><h3 id="reset-sector-stock-list-设置板块成分股" tabindex="-1"><a class="header-anchor" href="#reset-sector-stock-list-设置板块成分股" aria-hidden="true">#</a> reset_sector_stock_list - 设置板块成分股</h3><p><strong>用法:</strong> reset_sector_stock_list(sector,stock_list)</p><p><strong>释义:</strong> 设置板块成分股</p><p><strong>参数:</strong></p><ul><li>sector:板块名</li><li>stock_listlist,品种代码列表,例如[&#39;000001.SZ&#39;,&#39;600000.SH&#39;]</li></ul><p><strong>返回:</strong> resultbool,操作成功为True,失败为False</p><p><strong>示例:</strong></p><div class="vp-tabs"><div class="vp-tabs-nav" role="tablist"><button type="button" class="vp-tab-nav active" role="tab" aria-controls="tab-781-0" aria-selected="true">python</button><button type="button" class="vp-tab-nav" role="tab" aria-controls="tab-781-1" aria-selected="false">result</button></div><!--[--><div class="vp-tab active" id="tab-781-0" role="tabpanel" aria-expanded="true"><div class="language-python line-numbers-mode" data-ext="py"><pre class="shiki dracula" style="background-color:#282A36;" tabindex="0"><code><span class="line"><span style="color:#F8F8F2;">reset_sector_stock_list(</span><span style="color:#E9F284;">&#39;</span><span style="color:#F1FA8C;">我的自选</span><span style="color:#E9F284;">&#39;</span><span style="color:#F8F8F2;">,[</span><span style="color:#E9F284;">&#39;</span><span style="color:#F1FA8C;">000001.SZ</span><span style="color:#E9F284;">&#39;</span><span style="color:#F8F8F2;">,</span><span style="color:#E9F284;">&#39;</span><span style="color:#F1FA8C;">600000.SH</span><span style="color:#E9F284;">&#39;</span><span style="color:#F8F8F2;">])</span></span>
<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div></div><div class="vp-tab" id="tab-781-1" role="tabpanel" aria-expanded="false"><div class="language-text line-numbers-mode" data-ext="text"><pre class="shiki dracula" style="background-color:#282A36;" tabindex="0"><code><span class="line"><span style="color:#F8F8F2;">True / False</span></span>
<span class="line"><span style="color:#F8F8F2;"></span></span></code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p></p></div><!--]--></div><h3 id="remove-stock-from-sector-移除板块成分股" tabindex="-1"><a class="header-anchor" href="#remove-stock-from-sector-移除板块成分股" aria-hidden="true">#</a> remove_stock_from_sector - 移除板块成分股</h3><p><strong>用法:</strong> remove_stock_from_sector(sector,stock_code)</p><p><strong>释义:</strong> 移除板块成分股</p><p><strong>参数:</strong></p><ul><li>sector:板块名</li><li>stock_code:品种代码,例如&#39;000001.SZ&#39;</li></ul><p><strong>返回:</strong> resultbool,操作成功为True,失败为False</p><p><strong>示例:</strong></p><div class="vp-tabs"><div class="vp-tabs-nav" role="tablist"><button type="button" class="vp-tab-nav active" role="tab" aria-controls="tab-822-0" aria-selected="true">python</button><button type="button" class="vp-tab-nav" role="tab" aria-controls="tab-822-1" aria-selected="false">result</button></div><!--[--><div class="vp-tab active" id="tab-822-0" role="tabpanel" aria-expanded="true"><div class="language-python line-numbers-mode" data-ext="py"><pre class="shiki dracula" style="background-color:#282A36;" tabindex="0"><code><span class="line"><span style="color:#F8F8F2;">remove_stock_from_sector(</span><span style="color:#E9F284;">&#39;</span><span style="color:#F1FA8C;">我的自选</span><span style="color:#E9F284;">&#39;</span><span style="color:#F8F8F2;">,</span><span style="color:#E9F284;">&#39;</span><span style="color:#F1FA8C;">000001.SZ</span><span style="color:#E9F284;">&#39;</span><span style="color:#F8F8F2;">)</span></span>
<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div></div><div class="vp-tab" id="tab-822-1" role="tabpanel" aria-expanded="false"><div class="language-text line-numbers-mode" data-ext="text"><pre class="shiki dracula" style="background-color:#282A36;" tabindex="0"><code><span class="line"><span style="color:#F8F8F2;">True / False</span></span>
<span class="line"><span style="color:#F8F8F2;"></span></span></code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p></p></div><!--]--></div><h3 id="add-stock-to-sector-添加板块成分股" tabindex="-1"><a class="header-anchor" href="#add-stock-to-sector-添加板块成分股" aria-hidden="true">#</a> add_stock_to_sector - 添加板块成分股</h3><p><strong>用法:</strong> add_stock_to_sector(sector,stock_code)</p><p><strong>释义:</strong> 添加板块成分股</p><p><strong>参数:</strong></p><ul><li>sector:板块名</li><li>stock_code:品种代码,例如&#39;000001.SZ&#39;</li></ul><p><strong>返回:</strong> resultbool,操作成功为True,失败为False</p><p><strong>示例:</strong></p><div class="vp-tabs"><div class="vp-tabs-nav" role="tablist"><button type="button" class="vp-tab-nav active" role="tab" aria-controls="tab-863-0" aria-selected="true">python</button><button type="button" class="vp-tab-nav" role="tab" aria-controls="tab-863-1" aria-selected="false">result</button></div><!--[--><div class="vp-tab active" id="tab-863-0" role="tabpanel" aria-expanded="true"><div class="language-python line-numbers-mode" data-ext="py"><pre class="shiki dracula" style="background-color:#282A36;" tabindex="0"><code><span class="line"><span style="color:#F8F8F2;">add_stock_to_sector(</span><span style="color:#E9F284;">&#39;</span><span style="color:#F1FA8C;">我的自选</span><span style="color:#E9F284;">&#39;</span><span style="color:#F8F8F2;">,</span><span style="color:#E9F284;">&#39;</span><span style="color:#F1FA8C;">000001.SZ</span><span style="color:#E9F284;">&#39;</span><span style="color:#F8F8F2;">)</span></span>
<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div></div><div class="vp-tab" id="tab-863-1" role="tabpanel" aria-expanded="false"><div class="language-text line-numbers-mode" data-ext="text"><pre class="shiki dracula" style="background-color:#282A36;" tabindex="0"><code><span class="line"><span style="color:#F8F8F2;">True / False</span></span>
<span class="line"><span style="color:#F8F8F2;"></span></span></code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div></div><!--]--></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/data_structure.html" class="" aria-label="数据结构"><!--[--><!--]--> 数据结构 <!--[--><!--]--></a></span><span class="next"><a href="/innerApi/data_function.html" class="" aria-label="行情函数"><!--[--><!--]--> 行情函数 <!--[--><!--]--></a></span></p></nav><!--[--><!--]--></main><!--]--></div><!----><!--]--></div>
<script type="module" src="/assets/app-2fe24c5e.js" defer></script>
</body>
</html>