251 lines
115 KiB
HTML
251 lines
115 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="zh-CN">
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<meta name="viewport" content="width=device-width,initial-scale=1">
|
||
<meta name="generator" content="VuePress 2.0.0-beta.67">
|
||
<style>
|
||
:root {
|
||
--c-bg: #fff;
|
||
}
|
||
html.dark {
|
||
--c-bg: #22272e;
|
||
}
|
||
html, body {
|
||
background-color: var(--c-bg);
|
||
}
|
||
</style>
|
||
<script>
|
||
const userMode = localStorage.getItem('vuepress-color-scheme');
|
||
const systemDarkMode = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches;
|
||
if (userMode === 'dark' || (userMode !== 'light' && systemDarkMode)) {
|
||
document.documentElement.classList.toggle('dark', true);
|
||
}
|
||
</script>
|
||
<link rel="icon" type="image/png" sizes="16x16" href="/images/favicon.ico"><link rel="preload" href="/embed/chat-ui-embed.css" as="style"><link rel="preload" href="/embed/chat-ui-embed.umd.cjs" as="script"><link rel="stylesheet" href="/embed/chat-ui-embed.css"><style>
|
||
[data-chat-ui-embedded] {
|
||
background-color: var(--c-bg, #fff);
|
||
}
|
||
html.dark [data-chat-ui-embedded] {
|
||
background-color: var(--c-bg, #1b1b1f);
|
||
}
|
||
.assistant-layout,
|
||
.assistant-panel,
|
||
.assistant-chat {
|
||
background-color: var(--c-bg, #fff);
|
||
}
|
||
html.dark .assistant-layout,
|
||
html.dark .assistant-panel,
|
||
html.dark .assistant-chat {
|
||
background-color: var(--c-bg, #1b1b1f);
|
||
}
|
||
.assistant-chat,
|
||
.assistant-chat-preboot {
|
||
height: 100%;
|
||
width: 100%;
|
||
}
|
||
.assistant-chat.is-ready,
|
||
.assistant-chat-preboot.is-ready {
|
||
opacity: 1 !important;
|
||
}
|
||
</style><script>
|
||
// 为浏览器环境提供process变量的兼容性处理
|
||
if (typeof window !== 'undefined' && !window.process) {
|
||
window.process = { env: { NODE_ENV: 'production' } };
|
||
}
|
||
</script><script src="/embed/chat-ui-embed.umd.cjs" id="chat-ui-embed-script"></script><script>
|
||
window.__chatUILoadPromise = new Promise(function(resolve) {
|
||
function onReady() {
|
||
resolve(!!window.ChatUI);
|
||
}
|
||
if (window.ChatUI) {
|
||
onReady();
|
||
return;
|
||
}
|
||
var el = document.getElementById('chat-ui-embed-script');
|
||
if (!el) {
|
||
resolve(false);
|
||
return;
|
||
}
|
||
if (el.readyState === 'complete' || el.readyState === 'loaded') {
|
||
onReady();
|
||
return;
|
||
}
|
||
el.addEventListener('load', onReady);
|
||
el.addEventListener('error', function() { resolve(false); });
|
||
});
|
||
</script><script>
|
||
var _hmt = _hmt || [];
|
||
(function() {
|
||
var hm = document.createElement("script");
|
||
hm.src = "https://hm.baidu.com/hm.js?db74a9715180bac1ca6d22e853a90e9b";
|
||
var s = document.getElementsByTagName("script")[0];
|
||
s.parentNode.insertBefore(hm, s);
|
||
})();
|
||
</script><title>系统函数 | 迅投知识库</title><meta name="description" content="QMT说明, QMT-Python-API, QMT用户手册。">
|
||
<link rel="preload" href="/assets/style-937c34dd.css" as="style"><link rel="stylesheet" href="/assets/style-937c34dd.css">
|
||
<link rel="modulepreload" href="/assets/app-2fe24c5e.js"><link rel="modulepreload" href="/assets/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;">'</span><span style="color:#F1FA8C;">600000.SH</span><span style="color:#E9F284;">'</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;">'</span><span style="color:#F1FA8C;">5m</span><span style="color:#E9F284;">'</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;">'</span><span style="color:#F1FA8C;">init函数执行完成</span><span style="color:#E9F284;">'</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;">'</span><span style="color:#F1FA8C;">init</span><span style="color:#E9F284;">'</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;">'</span><span style="color:#F1FA8C;">系统会在init函数执行完后和执行handlebar之前调用after_init</span><span style="color:#E9F284;">'</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;">'</span><span style="color:#F1FA8C;">handlebar</span><span style="color:#E9F284;">'</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;">"投资备注字符串 用来区分不同委托"</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;">'</span><span style="color:#F1FA8C;">600000.SH</span><span style="color:#E9F284;">'</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;">'</span><span style="color:#F1FA8C;">测试下单</span><span style="color:#E9F284;">'</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类型时,格式为'yyyymmddHHMMSS'如'20231231235959',需要满足转换dt.datetime.strptime('20231231235959','%Y%m%d%H%M%S')</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;">''</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类型时,格式为'yyyymmddHHMMSS'如'20231231235959',需要满足转换datetime.datetime.strptime('20231231235959','%Y%m%d%H%M%S')</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;">'</span><span style="color:#F1FA8C;">hello world</span><span style="color:#E9F284;">'</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;">'</span><span style="color:#F1FA8C;">20231231235959</span><span style="color:#E9F284;">'</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;">'</span><span style="color:#F1FA8C;">my_timer</span><span style="color:#E9F284;">'</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;">'</span><span style="color:#F1FA8C;">my_timer</span><span style="color:#E9F284;">'</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:重复调用的时间间隔,'5nSecond'表示每5秒运行1次回调函数,'5nDay'表示每5天运行一次回调函数,'500nMilliSecond'表示每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;">"</span><span style="color:#F1FA8C;">f</span><span style="color:#E9F284;">"</span><span style="color:#F8F8F2;">,</span><span style="color:#E9F284;">"</span><span style="color:#F1FA8C;">5nSecond</span><span style="color:#E9F284;">"</span><span style="color:#F8F8F2;">,</span><span style="color:#E9F284;">"</span><span style="color:#F1FA8C;">2019-10-14 13:20:00</span><span style="color:#E9F284;">"</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;">'</span><span style="color:#F1FA8C;">hello world</span><span style="color:#E9F284;">'</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;">'</span><span style="color:#F1FA8C;">strategy is stop !</span><span style="color:#E9F284;">'</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("stockcode")["InstrumentName"]来实现同样功能</p></div><p><strong>用法:</strong> ContextInfo.get_stock_name('stockcode')</p><p><strong>释义:</strong> 根据代码获取名称</p><p><strong>参数:</strong> stockcode:股票代码,如'000001.SZ',缺省值 ' ' 默认为当前图代码</p><p><strong>返回:</strong> string(GBK编码)</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;">'</span><span style="color:#F1FA8C;">000001.SZ</span><span style="color:#E9F284;">'</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('stockcode')</p><p><strong>释义:</strong> 根据代码返回对应股票的上市时间</p><p><strong>参数:</strong> stockcode:股票代码,如'000001.SZ',缺省值 ' ' 默认为当前图代码</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;">'</span><span style="color:#F1FA8C;">000001.SZ</span><span style="color:#E9F284;">'</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='white',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,可缺省默认为'white'</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;">'</span><span style="color:#F1FA8C;">单位净值</span><span style="color:#E9F284;">'</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;">#使回测指标'单位净值'不画线</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_node:str,父节点,''为'我的'(默认目录)</li><li>sector_name:str,要创建的板块名</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;">'</span><span style="color:#F1FA8C;">我的</span><span style="color:#E9F284;">'</span><span style="color:#F8F8F2;">,</span><span style="color:#E9F284;">'</span><span style="color:#F1FA8C;">新建板块</span><span style="color:#E9F284;">'</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_node:str,父节点,''为'我的'(默认目录)</li><li>sector_name:str,要创建的节点名</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;">'</span><span style="color:#F1FA8C;">我的</span><span style="color:#E9F284;">'</span><span style="color:#F8F8F2;">,</span><span style="color:#E9F284;">'</span><span style="color:#F1FA8C;">新建分类</span><span style="color:#E9F284;">'</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>node:str,板块节点名,''为顶层目录</li></ul><p><strong>返回:</strong> info_list:[[s1,s2,...],[f1,f2,...]]s为板块名,f为目录节点名,例如[['我的自选'],['新建分类1']]</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;">'</span><span style="color:#F1FA8C;">我的</span><span style="color:#E9F284;">'</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;">[['我的自选', '龙头', '卖出篮子', 'TMP', '震荡', '待分析'], []]</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_list:list,品种代码列表,例如['000001.SZ','600000.SH']</li></ul><p><strong>返回:</strong> result:bool,操作成功为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;">'</span><span style="color:#F1FA8C;">我的自选</span><span style="color:#E9F284;">'</span><span style="color:#F8F8F2;">,[</span><span style="color:#E9F284;">'</span><span style="color:#F1FA8C;">000001.SZ</span><span style="color:#E9F284;">'</span><span style="color:#F8F8F2;">,</span><span style="color:#E9F284;">'</span><span style="color:#F1FA8C;">600000.SH</span><span style="color:#E9F284;">'</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:品种代码,例如'000001.SZ'</li></ul><p><strong>返回:</strong> result:bool,操作成功为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;">'</span><span style="color:#F1FA8C;">我的自选</span><span style="color:#E9F284;">'</span><span style="color:#F8F8F2;">,</span><span style="color:#E9F284;">'</span><span style="color:#F1FA8C;">000001.SZ</span><span style="color:#E9F284;">'</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:品种代码,例如'000001.SZ'</li></ul><p><strong>返回:</strong> result:bool,操作成功为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;">'</span><span style="color:#F1FA8C;">我的自选</span><span style="color:#E9F284;">'</span><span style="color:#F8F8F2;">,</span><span style="color:#E9F284;">'</span><span style="color:#F1FA8C;">000001.SZ</span><span style="color:#E9F284;">'</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>
|