Files
easy-tdx/.playwright-mcp/page-2026-06-05T10-12-25-202Z.yml
T
GitHubandClaude Opus 4.8 04c2be1d7f fix(backtest): resolve mypy and ruff lint issues
- dsl.py: use NDArray type annotations, fix None narrowing
- cli.py: add type annotations, fix import sorting
- strategy.py: fix UP038 isinstance, add noqa for I() method name
- tests: fix E712 bool comparison assertions

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-09 18:21:25 +08:00

2169 lines
135 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
- generic [ref=e2]:
- generic [ref=e3]:
- link "Skip to content" [ref=e4] [cursor=pointer]:
- /url: "#start-of-content"
- banner [ref=e6]:
- heading "Navigation Menu" [level=2] [ref=e7]
- generic [ref=e8]:
- link "Homepage" [ref=e10] [cursor=pointer]:
- /url: /
- img [ref=e11]
- generic [ref=e13]:
- navigation "Global" [ref=e16]:
- list [ref=e17]:
- listitem [ref=e18]:
- button "Platform" [ref=e20] [cursor=pointer]:
- text: Platform
- img [ref=e21]
- listitem [ref=e23]:
- button "Solutions" [ref=e25] [cursor=pointer]:
- text: Solutions
- img [ref=e26]
- listitem [ref=e28]:
- button "Resources" [ref=e30] [cursor=pointer]:
- text: Resources
- img [ref=e31]
- listitem [ref=e33]:
- button "Open Source" [ref=e35] [cursor=pointer]:
- text: Open Source
- img [ref=e36]
- listitem [ref=e38]:
- button "Enterprise" [ref=e40] [cursor=pointer]:
- text: Enterprise
- img [ref=e41]
- listitem [ref=e43]:
- link "Pricing" [ref=e44] [cursor=pointer]:
- /url: https://github.com/pricing
- generic [ref=e45]: Pricing
- generic [ref=e46]:
- button "Search or jump to…" [ref=e49] [cursor=pointer]:
- img [ref=e51]
- link "Sign in" [ref=e54] [cursor=pointer]:
- /url: /login?return_to=https%3A%2F%2Fgithub.com%2Fhandsomejustin%2Feasy_tdx
- link "Sign up" [ref=e55] [cursor=pointer]:
- /url: /signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E&source=header-repo&source_repo=handsomejustin%2Feasy_tdx
- button "Appearance settings" [ref=e58] [cursor=pointer]:
- img
- main [ref=e62]:
- generic [ref=e63]:
- generic [ref=e64]:
- generic [ref=e66]:
- img [ref=e67]
- link "handsomejustin" [ref=e70] [cursor=pointer]:
- /url: /handsomejustin
- generic [ref=e71]: /
- strong [ref=e72]:
- link "easy_tdx" [ref=e73] [cursor=pointer]:
- /url: /handsomejustin/easy_tdx
- generic [ref=e74]: Public
- generic [ref=e75]:
- list:
- listitem [ref=e76]:
- link "You must be signed in to change notification settings" [ref=e77] [cursor=pointer]:
- /url: /login?return_to=%2Fhandsomejustin%2Feasy_tdx
- img [ref=e78]
- text: Notifications
- listitem [ref=e80]:
- link "Fork 23" [ref=e81] [cursor=pointer]:
- /url: /login?return_to=%2Fhandsomejustin%2Feasy_tdx
- img [ref=e82]
- text: Fork
- generic "23" [ref=e84]
- listitem [ref=e85]:
- link "You must be signed in to star a repository" [ref=e87] [cursor=pointer]:
- /url: /login?return_to=%2Fhandsomejustin%2Feasy_tdx
- img [ref=e88]
- text: Star
- generic "61 users starred this repository" [ref=e90]: "61"
- navigation "Repository" [ref=e91]:
- list [ref=e92]:
- listitem [ref=e93]:
- link "Code" [ref=e94] [cursor=pointer]:
- /url: /handsomejustin/easy_tdx
- img [ref=e95]
- generic [ref=e97]: Code
- listitem [ref=e98]:
- link "Pull requests" [ref=e99] [cursor=pointer]:
- /url: /handsomejustin/easy_tdx/pulls
- img [ref=e100]
- generic [ref=e102]: Pull requests
- listitem [ref=e103]:
- link "Actions" [ref=e104] [cursor=pointer]:
- /url: /handsomejustin/easy_tdx/actions
- img [ref=e105]
- generic [ref=e107]: Actions
- listitem [ref=e108]:
- link "Projects" [ref=e109] [cursor=pointer]:
- /url: /handsomejustin/easy_tdx/projects
- img [ref=e110]
- generic [ref=e112]: Projects
- listitem [ref=e113]:
- link "Security and quality" [ref=e114] [cursor=pointer]:
- /url: /handsomejustin/easy_tdx/security
- img [ref=e115]
- generic [ref=e117]: Security and quality
- listitem [ref=e118]:
- link "Insights" [ref=e119] [cursor=pointer]:
- /url: /handsomejustin/easy_tdx/pulse
- img [ref=e120]
- generic [ref=e122]: Insights
- generic [ref=e135]:
- heading "handsomejustin/easy_tdx" [level=1] [ref=e137]
- generic [ref=e138]:
- generic [ref=e141]:
- generic [ref=e142]:
- generic [ref=e143]:
- button "main branch" [ref=e145] [cursor=pointer]:
- generic [ref=e146]:
- generic [ref=e148]:
- img [ref=e150]
- generic [ref=e153]: main
- generic:
- img
- generic [ref=e154]:
- link "1 Branch" [ref=e155] [cursor=pointer]:
- /url: /handsomejustin/easy_tdx/branches
- generic [ref=e156]:
- generic:
- img
- generic [ref=e158]:
- strong [ref=e159]: "1"
- text: Branch
- link "11 Tags" [ref=e160] [cursor=pointer]:
- /url: /handsomejustin/easy_tdx/tags
- generic [ref=e161]:
- generic:
- img
- generic [ref=e163]:
- strong [ref=e164]: "11"
- text: Tags
- generic [ref=e165]:
- generic [ref=e169]:
- img [ref=e171]
- combobox "Go to file" [ref=e173]
- button "Code" [ref=e174] [cursor=pointer]:
- generic [ref=e175]:
- generic:
- img
- generic [ref=e176]: Code
- generic:
- img
- generic [ref=e177]:
- generic [ref=e178]:
- heading "Folders and files" [level=2] [ref=e179]
- table "Folders and files" [ref=e180]:
- rowgroup:
- row "Name Last commit message Last commit date":
- columnheader "Name"
- columnheader "Last commit message":
- generic "Last commit message"
- columnheader "Last commit date":
- generic "Last commit date"
- rowgroup [ref=e181]:
- 'row "Latest commit handsomejustin commits by handsomejustin feat: add offline CLI commands and bump version to v1.5.0 Open commit details success Commit b17e984 · Jun 2, 20263 days ago History 57 Commits" [ref=e182]':
- 'cell "Latest commit handsomejustin commits by handsomejustin feat: add offline CLI commands and bump version to v1.5.0 Open commit details success Commit b17e984 · Jun 2, 20263 days ago History 57 Commits" [ref=e183]':
- generic [ref=e184]:
- heading "Latest commit" [level=2] [ref=e185]
- generic [ref=e186]:
- generic [ref=e188]:
- link "handsomejustin" [ref=e189] [cursor=pointer]:
- /url: /handsomejustin
- img "handsomejustin" [ref=e190]
- link "commits by handsomejustin" [ref=e191] [cursor=pointer]:
- /url: /handsomejustin/easy_tdx/commits?author=handsomejustin
- text: handsomejustin
- generic [ref=e192]:
- 'link "feat: add offline CLI commands and bump version to v1.5.0" [ref=e195] [cursor=pointer]':
- /url: /handsomejustin/easy_tdx/commit/b17e98468b03cf73251b417f24142ad6f352c088
- button "Open commit details" [ref=e196] [cursor=pointer]:
- img [ref=e197]
- button "success" [ref=e199] [cursor=pointer]:
- img [ref=e200]
- generic [ref=e202]:
- generic [ref=e204]:
- link "Commit b17e984" [ref=e205] [cursor=pointer]:
- /url: /handsomejustin/easy_tdx/commit/b17e98468b03cf73251b417f24142ad6f352c088
- text: b17e984
- text: ·
- generic "Jun 2, 2026, 12:30 PM GMT+8" [ref=e206]: Jun 2, 20263 days ago
- generic [ref=e207]:
- heading "History" [level=2] [ref=e208]
- link "57 Commits" [ref=e209] [cursor=pointer]:
- /url: /handsomejustin/easy_tdx/commits/main/
- generic [ref=e210]:
- generic:
- img
- generic [ref=e211]: 57 Commits
- 'row ".claude, (Directory) skill: add publish skill for PyPI release workflow May 26, 2026last week" [ref=e212]':
- cell ".claude, (Directory)" [ref=e213]:
- generic [ref=e214]:
- img [ref=e215]
- link ".claude, (Directory)" [ref=e220] [cursor=pointer]:
- /url: /handsomejustin/easy_tdx/tree/main/.claude
- text: .claude
- 'cell "skill: add publish skill for PyPI release workflow" [ref=e221]':
- 'link "skill: add publish skill for PyPI release workflow" [ref=e224] [cursor=pointer]':
- /url: /handsomejustin/easy_tdx/commit/2ec36e01bf9ddfe87a6dd13b677b1f1137929ca4
- cell "May 26, 2026last week" [ref=e225]:
- generic [ref=e226]: May 26, 2026last week
- 'row ".github/workflows, (Directory) ci: disable sigstore attestations to fix 502 from rekor May 26, 2026last week" [ref=e227]':
- cell ".github/workflows, (Directory)" [ref=e228]:
- generic [ref=e229]:
- img [ref=e230]
- link ".github/workflows, (Directory)" [ref=e235] [cursor=pointer]:
- /url: /handsomejustin/easy_tdx/tree/main/.github/workflows
- text: .github/workflows
- 'cell "ci: disable sigstore attestations to fix 502 from rekor" [ref=e236]':
- 'link "ci: disable sigstore attestations to fix 502 from rekor" [ref=e239] [cursor=pointer]':
- /url: /handsomejustin/easy_tdx/commit/c825515ee61b63b67fc82fce68a798e8aee1947d
- cell "May 26, 2026last week" [ref=e240]:
- generic [ref=e241]: May 26, 2026last week
- 'row ".omc, (Directory) docs: update README to reflect merged datetime fields in DataFrame ou… May 22, 20262 weeks ago" [ref=e242]':
- cell ".omc, (Directory)" [ref=e243]:
- generic [ref=e244]:
- img [ref=e245]
- link ".omc, (Directory)" [ref=e250] [cursor=pointer]:
- /url: /handsomejustin/easy_tdx/tree/main/.omc
- text: .omc
- 'cell "docs: update README to reflect merged datetime fields in DataFrame ou…" [ref=e251]':
- 'link "docs: update README to reflect merged datetime fields in DataFrame ou…" [ref=e254] [cursor=pointer]':
- /url: /handsomejustin/easy_tdx/commit/d7547f7c4cc77039ed5f9ab30e5c2c3cb652bab4
- cell "May 22, 20262 weeks ago" [ref=e255]:
- generic [ref=e256]: May 22, 20262 weeks ago
- 'row "docs, (Directory) feat: add BIAS_SIGNAL indicator (30-day bias with signal lines) May 28, 2026last week" [ref=e257]':
- cell "docs, (Directory)" [ref=e258]:
- generic [ref=e259]:
- img [ref=e260]
- link "docs, (Directory)" [ref=e265] [cursor=pointer]:
- /url: /handsomejustin/easy_tdx/tree/main/docs
- text: docs
- 'cell "feat: add BIAS_SIGNAL indicator (30-day bias with signal lines)" [ref=e266]':
- 'link "feat: add BIAS_SIGNAL indicator (30-day bias with signal lines)" [ref=e269] [cursor=pointer]':
- /url: /handsomejustin/easy_tdx/commit/4c5817f7b08703d7564731daac0ca33c912693e6
- cell "May 28, 2026last week" [ref=e270]:
- generic [ref=e271]: May 28, 2026last week
- 'row "examples, (Directory) feat: add offline CLI commands and bump version to v1.5.0 Jun 2, 20263 days ago" [ref=e272]':
- cell "examples, (Directory)" [ref=e273]:
- generic [ref=e274]:
- img [ref=e275]
- link "examples, (Directory)" [ref=e280] [cursor=pointer]:
- /url: /handsomejustin/easy_tdx/tree/main/examples
- text: examples
- 'cell "feat: add offline CLI commands and bump version to v1.5.0" [ref=e281]':
- 'link "feat: add offline CLI commands and bump version to v1.5.0" [ref=e284] [cursor=pointer]':
- /url: /handsomejustin/easy_tdx/commit/b17e98468b03cf73251b417f24142ad6f352c088
- cell "Jun 2, 20263 days ago" [ref=e285]:
- generic [ref=e286]: Jun 2, 20263 days ago
- 'row "scripts, (Directory) feat!: rename project from xmtdx to easy-tdx May 21, 20262 weeks ago" [ref=e287]':
- cell "scripts, (Directory)" [ref=e288]:
- generic [ref=e289]:
- img [ref=e290]
- link "scripts, (Directory)" [ref=e295] [cursor=pointer]:
- /url: /handsomejustin/easy_tdx/tree/main/scripts
- text: scripts
- 'cell "feat!: rename project from xmtdx to easy-tdx" [ref=e296]':
- 'link "feat!: rename project from xmtdx to easy-tdx" [ref=e299] [cursor=pointer]':
- /url: /handsomejustin/easy_tdx/commit/50491f9aae4953eeb7baedc8d707a1ae33da833d
- cell "May 21, 20262 weeks ago" [ref=e300]:
- generic [ref=e301]: May 21, 20262 weeks ago
- 'row "src/easy_tdx, (Directory) feat: add offline CLI commands and bump version to v1.5.0 Jun 2, 20263 days ago" [ref=e302]':
- cell "src/easy_tdx, (Directory)" [ref=e303]:
- generic [ref=e304]:
- img [ref=e305]
- link "src/easy_tdx, (Directory)" [ref=e310] [cursor=pointer]:
- /url: /handsomejustin/easy_tdx/tree/main/src/easy_tdx
- text: src/easy_tdx
- 'cell "feat: add offline CLI commands and bump version to v1.5.0" [ref=e311]':
- 'link "feat: add offline CLI commands and bump version to v1.5.0" [ref=e314] [cursor=pointer]':
- /url: /handsomejustin/easy_tdx/commit/b17e98468b03cf73251b417f24142ad6f352c088
- cell "Jun 2, 20263 days ago" [ref=e315]:
- generic [ref=e316]: Jun 2, 20263 days ago
- 'row "tests, (Directory) feat: add technical indicator calculation (30 indicators via MyTT), b… May 28, 2026last week" [ref=e317]':
- cell "tests, (Directory)" [ref=e318]:
- generic [ref=e319]:
- img [ref=e320]
- link "tests, (Directory)" [ref=e325] [cursor=pointer]:
- /url: /handsomejustin/easy_tdx/tree/main/tests
- text: tests
- 'cell "feat: add technical indicator calculation (30 indicators via MyTT), b…" [ref=e326]':
- 'link "feat: add technical indicator calculation (30 indicators via MyTT), b…" [ref=e329] [cursor=pointer]':
- /url: /handsomejustin/easy_tdx/commit/bcddf5a05205e730a6d0b5f747ffd6e387eb3ab5
- cell "May 28, 2026last week" [ref=e330]:
- generic [ref=e331]: May 28, 2026last week
- 'row ".gitignore, (File) chore: remove uv.lock and add to .gitignore May 22, 20262 weeks ago" [ref=e332]':
- cell ".gitignore, (File)" [ref=e333]:
- generic [ref=e334]:
- img [ref=e335]
- link ".gitignore, (File)" [ref=e340] [cursor=pointer]:
- /url: /handsomejustin/easy_tdx/blob/main/.gitignore
- text: .gitignore
- 'cell "chore: remove uv.lock and add to .gitignore" [ref=e341]':
- 'link "chore: remove uv.lock and add to .gitignore" [ref=e344] [cursor=pointer]':
- /url: /handsomejustin/easy_tdx/commit/67a0415c38ef4c78ad720da5ccd3d3a1402a8d5f
- cell "May 22, 20262 weeks ago" [ref=e345]:
- generic [ref=e346]: May 22, 20262 weeks ago
- 'row "CLAUDE.md, (File) feat: merge datetime fields in DataFrame output, hide MinuteBar inter… May 22, 20262 weeks ago" [ref=e347]':
- cell "CLAUDE.md, (File)" [ref=e348]:
- generic [ref=e349]:
- img [ref=e350]
- link "CLAUDE.md, (File)" [ref=e355] [cursor=pointer]:
- /url: /handsomejustin/easy_tdx/blob/main/CLAUDE.md
- text: CLAUDE.md
- 'cell "feat: merge datetime fields in DataFrame output, hide MinuteBar inter…" [ref=e356]':
- 'link "feat: merge datetime fields in DataFrame output, hide MinuteBar inter…" [ref=e359] [cursor=pointer]':
- /url: /handsomejustin/easy_tdx/commit/02701952ca3ba153ae0eaf4c527c8f44f18023b1
- cell "May 22, 20262 weeks ago" [ref=e360]:
- generic [ref=e361]: May 22, 20262 weeks ago
- 'row "LICENSE, (File) feat!: rename project from xmtdx to easy-tdx May 21, 20262 weeks ago" [ref=e362]':
- cell "LICENSE, (File)" [ref=e363]:
- generic [ref=e364]:
- img [ref=e365]
- link "LICENSE, (File)" [ref=e370] [cursor=pointer]:
- /url: /handsomejustin/easy_tdx/blob/main/LICENSE
- text: LICENSE
- 'cell "feat!: rename project from xmtdx to easy-tdx" [ref=e371]':
- 'link "feat!: rename project from xmtdx to easy-tdx" [ref=e374] [cursor=pointer]':
- /url: /handsomejustin/easy_tdx/commit/50491f9aae4953eeb7baedc8d707a1ae33da833d
- cell "May 21, 20262 weeks ago" [ref=e375]:
- generic [ref=e376]: May 21, 20262 weeks ago
- 'row "NOTICE, (File) feat!: rename project from xmtdx to easy-tdx May 21, 20262 weeks ago" [ref=e377]':
- cell "NOTICE, (File)" [ref=e378]:
- generic [ref=e379]:
- img [ref=e380]
- link "NOTICE, (File)" [ref=e385] [cursor=pointer]:
- /url: /handsomejustin/easy_tdx/blob/main/NOTICE
- text: NOTICE
- 'cell "feat!: rename project from xmtdx to easy-tdx" [ref=e386]':
- 'link "feat!: rename project from xmtdx to easy-tdx" [ref=e389] [cursor=pointer]':
- /url: /handsomejustin/easy_tdx/commit/50491f9aae4953eeb7baedc8d707a1ae33da833d
- cell "May 21, 20262 weeks ago" [ref=e390]:
- generic [ref=e391]: May 21, 20262 weeks ago
- 'row "README.md, (File) feat: add offline CLI commands and bump version to v1.5.0 Jun 2, 20263 days ago" [ref=e392]':
- cell "README.md, (File)" [ref=e393]:
- generic [ref=e394]:
- img [ref=e395]
- link "README.md, (File)" [ref=e400] [cursor=pointer]:
- /url: /handsomejustin/easy_tdx/blob/main/README.md
- text: README.md
- 'cell "feat: add offline CLI commands and bump version to v1.5.0" [ref=e401]':
- 'link "feat: add offline CLI commands and bump version to v1.5.0" [ref=e404] [cursor=pointer]':
- /url: /handsomejustin/easy_tdx/commit/b17e98468b03cf73251b417f24142ad6f352c088
- cell "Jun 2, 20263 days ago" [ref=e405]:
- generic [ref=e406]: Jun 2, 20263 days ago
- 'row "pyproject.toml, (File) feat: add offline CLI commands and bump version to v1.5.0 Jun 2, 20263 days ago" [ref=e407]':
- cell "pyproject.toml, (File)" [ref=e408]:
- generic [ref=e409]:
- img [ref=e410]
- link "pyproject.toml, (File)" [ref=e415] [cursor=pointer]:
- /url: /handsomejustin/easy_tdx/blob/main/pyproject.toml
- text: pyproject.toml
- 'cell "feat: add offline CLI commands and bump version to v1.5.0" [ref=e416]':
- 'link "feat: add offline CLI commands and bump version to v1.5.0" [ref=e419] [cursor=pointer]':
- /url: /handsomejustin/easy_tdx/commit/b17e98468b03cf73251b417f24142ad6f352c088
- cell "Jun 2, 20263 days ago" [ref=e420]:
- generic [ref=e421]: Jun 2, 20263 days ago
- generic [ref=e423]:
- generic [ref=e424]:
- heading "Repository files navigation" [level=2] [ref=e425]
- navigation "Repository files" [ref=e426]:
- list [ref=e427]:
- listitem [ref=e428]:
- link "README" [ref=e429] [cursor=pointer]:
- /url: "#"
- img [ref=e431]
- generic [ref=e433]: README
- listitem [ref=e434]:
- link "License" [ref=e435] [cursor=pointer]:
- /url: "#"
- img [ref=e437]
- generic [ref=e439]: License
- button "Outline" [ref=e440] [cursor=pointer]:
- img [ref=e441]
- article [ref=e444]:
- generic [ref=e445]:
- heading "easy-tdx" [level=1] [ref=e446]
- 'link "Permalink: easy-tdx" [ref=e447] [cursor=pointer]':
- /url: "#easy-tdx"
- img [ref=e448]
- paragraph [ref=e450]:
- 'link "License: MIT" [ref=e451] [cursor=pointer]':
- /url: /handsomejustin/easy_tdx/blob/main/LICENSE
- 'img "License: MIT" [ref=e452]'
- link "PyPI" [ref=e453] [cursor=pointer]:
- /url: https://pypi.org/project/easy-tdx/
- img "PyPI" [ref=e454]
- paragraph [ref=e455]:
- text: 通达信 TCP 行情协议客户端。支持 A 股、港股、美股、期货全市场;内置
- code [ref=e456]: easy-tdx
- text: CLI 工具,默认 JSON 输出,天然适配 Claude Code、OpenClaw、Hermes 等 AI Agent 工具链。提供同步 + asyncio 双接口;strict mypy 通过;每一层编解码都有离线 fixture 测试覆盖。
- generic [ref=e457]:
- heading "安装" [level=2] [ref=e458]
- 'link "Permalink: 安装" [ref=e459] [cursor=pointer]':
- /url: "#安装"
- img [ref=e460]
- generic [ref=e462]:
- generic [ref=e463]: pip install easy-tdx
- button "Copy code to clipboard" [ref=e465] [cursor=pointer]:
- img [ref=e466]
- paragraph [ref=e469]:
- text: 安装后自动注册
- code [ref=e470]: easy-tdx
- text: CLI 命令:
- generic [ref=e471]:
- generic [ref=e472]: easy-tdx --help
- button "Copy code to clipboard" [ref=e474] [cursor=pointer]:
- img [ref=e475]
- paragraph [ref=e478]: 开发模式:
- generic [ref=e479]:
- generic [ref=e480]:
- text: pip install -e
- generic [ref=e481]: "\".[dev]\""
- button "Copy code to clipboard" [ref=e483] [cursor=pointer]:
- img [ref=e484]
- generic [ref=e487]:
- heading "CLI 参考" [level=2] [ref=e488]
- 'link "Permalink: CLI 参考" [ref=e489] [cursor=pointer]':
- /url: "#cli-参考"
- img [ref=e490]
- paragraph [ref=e492]:
- code [ref=e493]: easy-tdx
- text: 默认输出 JSON(一行一条记录),
- code [ref=e494]: "--table"
- text: 切换表格,
- code [ref=e495]: "--output csv"
- text: 输出 CSV。
- generic [ref=e496]:
- heading "基础" [level=3] [ref=e497]
- 'link "Permalink: 基础" [ref=e498] [cursor=pointer]':
- /url: "#基础"
- img [ref=e499]
- generic [ref=e501]:
- generic [ref=e502]:
- text: easy-tdx ping
- generic [ref=e503]: "# 服务器测速"
- text: easy-tdx version
- generic [ref=e504]: "# 版本号"
- button "Copy code to clipboard" [ref=e506] [cursor=pointer]:
- img [ref=e507]
- generic [ref=e510]:
- heading "行情" [level=3] [ref=e511]
- 'link "Permalink: 行情" [ref=e512] [cursor=pointer]':
- /url: "#行情"
- img [ref=e513]
- generic [ref=e515]:
- generic [ref=e516]:
- generic [ref=e517]: "# K 线"
- text: easy-tdx kline SZ 000001 --count 30 --table easy-tdx kline SH 600519 --period 5MIN --adjust QFQ
- generic [ref=e518]: "# 实时报价"
- text: easy-tdx quote
- generic [ref=e519]: "\"SZ 000001,SH 600519\""
- text: "--table"
- generic [ref=e520]: "# 市场分类报价(按涨幅排序)"
- text: easy-tdx quote-list A --count 20 --table easy-tdx quote-list KCB --sort TOTAL_AMOUNT --order ASC easy-tdx quote-list CYB --count 50
- button "Copy code to clipboard" [ref=e522] [cursor=pointer]:
- img [ref=e523]
- generic [ref=e526]:
- heading "分时 / 成交" [level=3] [ref=e527]
- 'link "Permalink: 分时 / 成交" [ref=e528] [cursor=pointer]':
- /url: "#分时--成交"
- img [ref=e529]
- generic [ref=e531]:
- generic [ref=e532]: easy-tdx tick SZ 000001 --table easy-tdx tick SH 600519 --days 5 easy-tdx tick SZ 000001 --date 20250115 easy-tdx transaction SZ 000001 --count 100 --table easy-tdx transaction SH 600519 --date 20250115
- button "Copy code to clipboard" [ref=e534] [cursor=pointer]:
- img [ref=e535]
- generic [ref=e538]:
- heading "板块" [level=3] [ref=e539]
- 'link "Permalink: 板块" [ref=e540] [cursor=pointer]':
- /url: "#板块"
- img [ref=e541]
- generic [ref=e543]:
- generic [ref=e544]:
- text: easy-tdx board-list --type GN --table easy-tdx board-list --type HY --count 200 easy-tdx board-members 881001 --table easy-tdx belong-board SZ 000001 --table easy-tdx board-summary 881001 --table
- generic [ref=e545]: "# 板块汇总(成交额/主力净流入/涨跌家数)"
- text: easy-tdx board-summary 881001 --members --table
- generic [ref=e546]: "# 含成分股明细"
- text: easy-tdx board-ranking --type HY --top 10 --table
- generic [ref=e547]: "# 行业板块排行"
- text: easy-tdx board-ranking --type GN --sort-by amount
- generic [ref=e548]: "# 概念板块按成交额排行"
- button "Copy code to clipboard" [ref=e550] [cursor=pointer]:
- img [ref=e551]
- generic [ref=e554]:
- heading "资金 / 监控" [level=3] [ref=e555]
- 'link "Permalink: 资金 / 监控" [ref=e556] [cursor=pointer]':
- /url: "#资金--监控"
- img [ref=e557]
- generic [ref=e559]:
- generic [ref=e560]: easy-tdx capital-flow SH 600519 --table easy-tdx auction SZ 000001 --table easy-tdx unusual SH --count 100 --table easy-tdx market-stat --table easy-tdx server-info --table easy-tdx symbol-info SZ 000001 --table
- button "Copy code to clipboard" [ref=e562] [cursor=pointer]:
- img [ref=e563]
- generic [ref=e566]:
- heading "技术指标" [level=3] [ref=e567]
- 'link "Permalink: 技术指标" [ref=e568] [cursor=pointer]':
- /url: "#技术指标"
- img [ref=e569]
- generic [ref=e571]:
- generic [ref=e572]:
- text: easy-tdx indicator-list --table
- generic [ref=e573]: "# 列出所有可用指标"
- text: easy-tdx indicator MACD -m SH -c 600519 --table
- generic [ref=e574]: "# MACD"
- text: easy-tdx indicator KDJ -m SZ -c 000001 --table
- generic [ref=e575]: "# KDJ"
- text: easy-tdx indicator RSI -m SH -c 600519 --table
- generic [ref=e576]: "# RSI"
- text: easy-tdx indicator BOLL -m SH -c 600519 --table
- generic [ref=e577]: "# BOLL 布林带"
- text: easy-tdx indicator DMI -m SH -c 600519 --table
- generic [ref=e578]: "# DMI 动向指标"
- text: easy-tdx indicator ATR -m SH -c 600519 --table
- generic [ref=e579]: "# ATR 真实波幅"
- text: easy-tdx indicator WR -m SH -c 600519 --table
- generic [ref=e580]: "# WR 威廉指标"
- text: easy-tdx indicator CCI -m SH -c 600519 --table
- generic [ref=e581]: "# CCI 顺势指标"
- text: easy-tdx indicator BIAS -m SZ -c 000001 --table
- generic [ref=e582]: "# BIAS 乖离率"
- text: easy-tdx indicator BIAS_SIGNAL -m SH -c 600519 --table
- generic [ref=e583]: "# 30日乖离率信号"
- text: easy-tdx indicator OBV -m SZ -c 000001 --table
- generic [ref=e584]: "# OBV 能量潮"
- generic [ref=e585]: "# 多指标同时计算"
- text: easy-tdx indicator MACD,KDJ,RSI,BOLL -m SH -c 600519 --count 10 --table
- generic [ref=e586]: "# 自定义参数"
- text: easy-tdx indicator MACD -m SH -c 600519 --params SHORT=10,LONG=22
- generic [ref=e587]: "# 分钟线指标"
- text: easy-tdx indicator MACD -m SH -c 600519 --period 5MIN --count 50
- generic [ref=e588]: "# 仅输出指标值(不含 OHLCV"
- text: easy-tdx indicator RSI -m SZ -c 000001 --no-ohlcv
- button "Copy code to clipboard" [ref=e590] [cursor=pointer]:
- img [ref=e591]
- generic [ref=e594]:
- heading "捉妖大师(重点)" [level=3] [ref=e595]
- 'link "Permalink: 捉妖大师(重点)" [ref=e596] [cursor=pointer]':
- /url: "#捉妖大师重点"
- img [ref=e597]
- paragraph [ref=e599]: 捉妖大师是多周期涨幅共振指标,通过 20/60/120 日涨幅及指数平滑判断短中长线趋势是否同向,用于筛选趋势刚启动的强势股。
- generic [ref=e600]:
- generic [ref=e601]:
- text: easy-tdx indicator ZHUOYAO -m SH -c 600519 --count 30 --table
- generic [ref=e602]: "# 自定义周期参数"
- text: easy-tdx indicator ZHUOYAO -m SZ -c 000001 --params N1=90,N2=45,N3=15
- generic [ref=e603]: "# 结合其他指标一起看"
- text: easy-tdx indicator ZHUOYAO,MACD,KDJ -m SH -c 600519 --count 20 --table
- button "Copy code to clipboard" [ref=e605] [cursor=pointer]:
- img [ref=e606]
- paragraph [ref=e609]: 输出列说明:
- table [ref=e611]:
- rowgroup [ref=e612]:
- row "列名 含义" [ref=e613]:
- columnheader "列名" [ref=e614]
- columnheader "含义" [ref=e615]
- rowgroup [ref=e616]:
- row "ZY_LONG 长线 — 120 日涨幅的 10 日指数平滑" [ref=e617]:
- cell "ZY_LONG" [ref=e618]:
- code [ref=e619]: ZY_LONG
- cell "长线 — 120 日涨幅的 10 日指数平滑" [ref=e620]
- row "ZY_MID 中线 — 60 日涨幅(%)" [ref=e621]:
- cell "ZY_MID" [ref=e622]:
- code [ref=e623]: ZY_MID
- cell "中线 — 60 日涨幅(%)" [ref=e624]
- row "ZY_SHORT 短线 — 20 日涨幅(%)" [ref=e625]:
- cell "ZY_SHORT" [ref=e626]:
- code [ref=e627]: ZY_SHORT
- cell "短线 — 20 日涨幅(%)" [ref=e628]
- row "ZY_TREND 趋势 — 中线的 10 日指数平滑" [ref=e629]:
- cell "ZY_TREND" [ref=e630]:
- code [ref=e631]: ZY_TREND
- cell "趋势 — 中线的 10 日指数平滑" [ref=e632]
- paragraph [ref=e633]:
- strong [ref=e634]: 核心信号:
- text: 四线全部 > 0 且短线 > 中线 > 长线 = 短中长趋势完全一致向上,是强势股特征。详见
- link "捉妖大师指标详解" [ref=e635] [cursor=pointer]:
- /url: /handsomejustin/easy_tdx/blob/main/docs/indicator-zhuoyao.md
- text:
- generic [ref=e636]:
- heading "30日乖离率信号(重点)" [level=3] [ref=e637]
- 'link "Permalink: 30日乖离率信号(重点)" [ref=e638] [cursor=pointer]':
- /url: "#30日乖离率信号重点"
- img [ref=e639]
- paragraph [ref=e641]: 30日乖离率信号指标,在标准乖离率(BIAS)基础上叠加短/长信号线,通过三者位置关系判断趋势方向和转折点。源自通达信经典指标。
- generic [ref=e642]:
- generic [ref=e643]:
- text: easy-tdx indicator BIAS_SIGNAL -m SH -c 600519 --count 60 --table
- generic [ref=e644]: "# 自定义周期参数"
- text: easy-tdx indicator BIAS_SIGNAL -m SZ -c 000001 --params P=5,M=20
- generic [ref=e645]: "# 结合其他指标一起看"
- text: easy-tdx indicator BIAS_SIGNAL,MACD,KDJ -m SH -c 600519 --count 30 --table
- button "Copy code to clipboard" [ref=e647] [cursor=pointer]:
- img [ref=e648]
- paragraph [ref=e651]: 输出列说明:
- table [ref=e653]:
- rowgroup [ref=e654]:
- row "列名 含义" [ref=e655]:
- columnheader "列名" [ref=e656]
- columnheader "含义" [ref=e657]
- rowgroup [ref=e658]:
- row "BS_X M日乖离率 — 当前价格偏离30日均线的百分比" [ref=e659]:
- cell "BS_X" [ref=e660]:
- code [ref=e661]: BS_X
- cell "M日乖离率 — 当前价格偏离30日均线的百分比" [ref=e662]
- row "BS_SMA 短周期信号线 — 乖离率的 P 日均线,过滤短期噪音" [ref=e663]:
- cell "BS_SMA" [ref=e664]:
- code [ref=e665]: BS_SMA
- cell "短周期信号线 — 乖离率的 P 日均线,过滤短期噪音" [ref=e666]
- row "BS_LMA 长周期信号线 — 乖离率的 M 日均线,捕捉中期趋势方向" [ref=e667]:
- cell "BS_LMA" [ref=e668]:
- code [ref=e669]: BS_LMA
- cell "长周期信号线 — 乖离率的 M 日均线,捕捉中期趋势方向" [ref=e670]
- paragraph [ref=e671]:
- strong [ref=e672]: 核心信号:
- text: X > S_SMA 且 X_LMA 上升 = 多头确认(通达信红色);S_SMA > X 或 X_LMA 下降 = 空头预警(通达信绿色)。多空判断非对称设计——多头需两个条件同时满足,空头只需其一,偏向保守预警。详见
- link "30日乖离率信号指标详解" [ref=e673] [cursor=pointer]:
- /url: /handsomejustin/easy_tdx/blob/main/docs/indicator-bias-signal.md
- text:
- generic [ref=e674]:
- generic [ref=e675]: "# Python API 用法 from easy_tdx import MacClient, Market with MacClient.from_best_host() as c: df = c.get_stock_kline_with_indicators( Market.SH, \"600519\", indicators=[\"BIAS_SIGNAL\"], count=60, ) # df 包含: datetime, open, close, high, low, vol, amount # + BS_X, BS_SMA, BS_LMA"
- button "Copy code to clipboard" [ref=e677] [cursor=pointer]:
- img [ref=e678]
- paragraph [ref=e681]: 支持 32 个指标:MACD, KDJ, RSI, BOLL, DMI, ATR, WR, CCI, BIAS, BIAS_SIGNAL, OBV, VR, EMV, MFI, BRAR, ASI, TRIX, DPO, MTM, ROC, EXPMA, BBI, PSY, DFMA, CR, KTN, XSII, MASS, TAQ, ZHUOYAO。
- generic [ref=e682]:
- generic [ref=e683]: "# Python API 用法 from easy_tdx import MacClient, Market with MacClient.from_best_host() as c: df = c.get_stock_kline_with_indicators( Market.SH, \"600519\", indicators=[\"ZHUOYAO\"], count=30, ) # df 包含: datetime, open, close, high, low, vol, amount # + ZY_LONG, ZY_MID, ZY_SHORT, ZY_TREND"
- button "Copy code to clipboard" [ref=e685] [cursor=pointer]:
- img [ref=e686]
- paragraph [ref=e689]: 支持 32 个指标:MACD, KDJ, RSI, BOLL, DMI, ATR, WR, CCI, BIAS, BIAS_SIGNAL, OBV, VR, EMV, MFI, BRAR, ASI, TRIX, DPO, MTM, ROC, EXPMA, BBI, PSY, DFMA, CR, KTN, XSII, MASS, TAQ, ZHUOYAO。
- generic [ref=e690]:
- heading "财务" [level=3] [ref=e691]
- 'link "Permalink: 财务" [ref=e692] [cursor=pointer]':
- /url: "#财务"
- img [ref=e693]
- generic [ref=e695]:
- generic [ref=e696]:
- text: easy-tdx f10 SH 600519
- generic [ref=e697]: "# F10 公司信息"
- text: easy-tdx fund-flow SH 600519
- generic [ref=e698]: "# 历史资金流向"
- button "Copy code to clipboard" [ref=e700] [cursor=pointer]:
- img [ref=e701]
- generic [ref=e704]:
- heading "扩展市场(港股/美股/期货)" [level=3] [ref=e705]
- 'link "Permalink: 扩展市场(港股/美股/期货)" [ref=e706] [cursor=pointer]':
- /url: "#扩展市场港股美股期货"
- img [ref=e707]
- generic [ref=e709]:
- generic [ref=e710]:
- text: easy-tdx ex markets
- generic [ref=e711]: "# 列出可用市场"
- text: easy-tdx ex kline HK_MAIN_BOARD 00700 --count 30 --table
- generic [ref=e712]: "# 港股 K 线"
- text: easy-tdx ex kline US_STOCK AAPL --table
- generic [ref=e713]: "# 美股 K 线"
- text: easy-tdx ex quote US_STOCK TSLA --table
- generic [ref=e714]: "# 美股报价"
- text: easy-tdx ex quote-list HK_MAIN_BOARD --table
- generic [ref=e715]: "# 港股商品列表"
- text: easy-tdx ex tick HK_MAIN_BOARD 00700 --table
- generic [ref=e716]: "# 港股分时"
- button "Copy code to clipboard" [ref=e718] [cursor=pointer]:
- img [ref=e719]
- generic [ref=e722]:
- heading "离线数据(无需网络)" [level=3] [ref=e723]
- 'link "Permalink: 离线数据(无需网络)" [ref=e724] [cursor=pointer]':
- /url: "#离线数据无需网络"
- img [ref=e725]
- paragraph [ref=e727]: 从本地通达信安装目录直接读取数据文件,无需网络连接:
- generic [ref=e728]:
- generic [ref=e729]:
- text: easy-tdx offline home
- generic [ref=e730]: "# 检测通达信安装目录"
- text: easy-tdx offline daily SH 600000 --count 10 --table
- generic [ref=e731]: "# A 股日线"
- text: easy-tdx offline min SZ 000001 --type lc5 --table
- generic [ref=e732]: "# 分钟线(5min/lc1/lc5"
- text: easy-tdx offline ex-files --table
- generic [ref=e733]: "# 列出扩展市场可用文件"
- text: easy-tdx offline ex-daily 38#2_CPI --count 5 --table
- generic [ref=e734]: "# 扩展市场日线(期货/港股/外盘)"
- text: easy-tdx offline gbbq C:\new_jyplug\T0002\hq_cache\gbbq --table
- generic [ref=e735]: "# 股本变迁"
- text: easy-tdx offline financial C:\new_jyplug\vipdoc\fin\gpcw20260331.dat
- generic [ref=e736]: "# 历史财务"
- text: easy-tdx offline blocks C:\new_jyplug\T0002\blocknew --table
- generic [ref=e737]: "# 自定义板块"
- button "Copy code to clipboard" [ref=e739] [cursor=pointer]:
- img [ref=e740]
- generic [ref=e743]:
- heading "CLI 命令汇总" [level=2] [ref=e744]
- 'link "Permalink: CLI 命令汇总" [ref=e745] [cursor=pointer]':
- /url: "#cli-命令汇总"
- img [ref=e746]
- table [ref=e749]:
- rowgroup [ref=e750]:
- row "命令 说明" [ref=e751]:
- columnheader "命令" [ref=e752]
- columnheader "说明" [ref=e753]
- rowgroup [ref=e754]:
- row "ping 服务器延迟测速" [ref=e755]:
- cell "ping" [ref=e756]:
- code [ref=e757]: ping
- cell "服务器延迟测速" [ref=e758]
- row "version 版本号" [ref=e759]:
- cell "version" [ref=e760]:
- code [ref=e761]: version
- cell "版本号" [ref=e762]
- row "kline K 线(日/周/月/分钟,支持复权)" [ref=e763]:
- cell "kline" [ref=e764]:
- code [ref=e765]: kline
- cell "K 线(日/周/月/分钟,支持复权)" [ref=e766]
- row "quote 实时报价(单只/批量)" [ref=e767]:
- cell "quote" [ref=e768]:
- code [ref=e769]: quote
- cell "实时报价(单只/批量)" [ref=e770]
- row "quote-list 市场分类排序报价(A/SH/SZ/KCB/CYB" [ref=e771]:
- cell "quote-list" [ref=e772]:
- code [ref=e773]: quote-list
- cell "市场分类排序报价(A/SH/SZ/KCB/CYB" [ref=e774]
- row "tick 分时图(单日/多日/历史)" [ref=e775]:
- cell "tick" [ref=e776]:
- code [ref=e777]: tick
- cell "分时图(单日/多日/历史)" [ref=e778]
- row "transaction 逐笔成交" [ref=e779]:
- cell "transaction" [ref=e780]:
- code [ref=e781]: transaction
- cell "逐笔成交" [ref=e782]
- row "board-list 板块列表(行业/概念/风格)" [ref=e783]:
- cell "board-list" [ref=e784]:
- code [ref=e785]: board-list
- cell "板块列表(行业/概念/风格)" [ref=e786]
- row "board-members 板块成分股报价" [ref=e787]:
- cell "board-members" [ref=e788]:
- code [ref=e789]: board-members
- cell "板块成分股报价" [ref=e790]
- row "board-summary 板块汇总(成交额、主力净流入、涨跌家数)" [ref=e791]:
- cell "board-summary" [ref=e792]:
- code [ref=e793]: board-summary
- cell "板块汇总(成交额、主力净流入、涨跌家数)" [ref=e794]
- row "board-ranking 板块涨跌幅排行榜(行业/概念排行)" [ref=e795]:
- cell "board-ranking" [ref=e796]:
- code [ref=e797]: board-ranking
- cell "板块涨跌幅排行榜(行业/概念排行)" [ref=e798]
- row "belong-board 个股所属板块" [ref=e799]:
- cell "belong-board" [ref=e800]:
- code [ref=e801]: belong-board
- cell "个股所属板块" [ref=e802]
- row "capital-flow 资金流向" [ref=e803]:
- cell "capital-flow" [ref=e804]:
- code [ref=e805]: capital-flow
- cell "资金流向" [ref=e806]
- row "auction 集合竞价" [ref=e807]:
- cell "auction" [ref=e808]:
- code [ref=e809]: auction
- cell "集合竞价" [ref=e810]
- row "unusual 市场异动" [ref=e811]:
- cell "unusual" [ref=e812]:
- code [ref=e813]: unusual
- cell "市场异动" [ref=e814]
- row "market-stat 全市场涨跌统计" [ref=e815]:
- cell "market-stat" [ref=e816]:
- code [ref=e817]: market-stat
- cell "全市场涨跌统计" [ref=e818]
- row "server-info 服务器交易时段" [ref=e819]:
- cell "server-info" [ref=e820]:
- code [ref=e821]: server-info
- cell "服务器交易时段" [ref=e822]
- row "symbol-info 个股特征快照" [ref=e823]:
- cell "symbol-info" [ref=e824]:
- code [ref=e825]: symbol-info
- cell "个股特征快照" [ref=e826]
- row "indicator 技术指标计算(32 个:MACD/KDJ/RSI/BOLL/DMI/ATR..." [ref=e827]:
- cell "indicator" [ref=e828]:
- code [ref=e829]: indicator
- cell "技术指标计算(32 个:MACD/KDJ/RSI/BOLL/DMI/ATR..." [ref=e830]
- row "indicator-list 列出可用技术指标" [ref=e831]:
- cell "indicator-list" [ref=e832]:
- code [ref=e833]: indicator-list
- cell "列出可用技术指标" [ref=e834]
- row "f10 F10 公司信息" [ref=e835]:
- cell "f10" [ref=e836]:
- code [ref=e837]: f10
- cell "F10 公司信息" [ref=e838]
- row "fund-flow 历史资金流向" [ref=e839]:
- cell "fund-flow" [ref=e840]:
- code [ref=e841]: fund-flow
- cell "历史资金流向" [ref=e842]
- row "ex kline 扩展市场 K 线" [ref=e843]:
- cell "ex kline" [ref=e844]:
- code [ref=e845]: ex kline
- cell "扩展市场 K 线" [ref=e846]
- row "ex quote 扩展市场报价" [ref=e847]:
- cell "ex quote" [ref=e848]:
- code [ref=e849]: ex quote
- cell "扩展市场报价" [ref=e850]
- row "ex quote-list 扩展市场商品列表" [ref=e851]:
- cell "ex quote-list" [ref=e852]:
- code [ref=e853]: ex quote-list
- cell "扩展市场商品列表" [ref=e854]
- row "ex tick 扩展市场分时" [ref=e855]:
- cell "ex tick" [ref=e856]:
- code [ref=e857]: ex tick
- cell "扩展市场分时" [ref=e858]
- row "ex markets 列出可用扩展市场" [ref=e859]:
- cell "ex markets" [ref=e860]:
- code [ref=e861]: ex markets
- cell "列出可用扩展市场" [ref=e862]
- row "offline home 检测通达信安装目录" [ref=e863]:
- cell "offline home" [ref=e864]:
- code [ref=e865]: offline home
- cell "检测通达信安装目录" [ref=e866]
- row "offline daily A 股日线(本地 .day 文件)" [ref=e867]:
- cell "offline daily" [ref=e868]:
- code [ref=e869]: offline daily
- cell "A 股日线(本地 .day 文件)" [ref=e870]
- row "offline min 分钟线(本地 .5/.lc1/.lc5 文件)" [ref=e871]:
- cell "offline min" [ref=e872]:
- code [ref=e873]: offline min
- cell "分钟线(本地 .5/.lc1/.lc5 文件)" [ref=e874]
- row "offline ex-files 列出扩展市场可用文件" [ref=e875]:
- cell "offline ex-files" [ref=e876]:
- code [ref=e877]: offline ex-files
- cell "列出扩展市场可用文件" [ref=e878]
- row "offline ex-daily 扩展市场日线(期货/港股/外盘)" [ref=e879]:
- cell "offline ex-daily" [ref=e880]:
- code [ref=e881]: offline ex-daily
- cell "扩展市场日线(期货/港股/外盘)" [ref=e882]
- row "offline gbbq 股本变迁数据" [ref=e883]:
- cell "offline gbbq" [ref=e884]:
- code [ref=e885]: offline gbbq
- cell "股本变迁数据" [ref=e886]
- row "offline financial 历史财务数据" [ref=e887]:
- cell "offline financial" [ref=e888]:
- code [ref=e889]: offline financial
- cell "历史财务数据" [ref=e890]
- row "offline blocks 自定义板块数据" [ref=e891]:
- cell "offline blocks" [ref=e892]:
- code [ref=e893]: offline blocks
- cell "自定义板块数据" [ref=e894]
- generic [ref=e895]:
- heading "Python API" [level=2] [ref=e896]
- 'link "Permalink: Python API" [ref=e897] [cursor=pointer]':
- /url: "#python-api"
- img [ref=e898]
- generic [ref=e900]:
- heading "连接管理" [level=3] [ref=e901]
- 'link "Permalink: 连接管理" [ref=e902] [cursor=pointer]':
- /url: "#连接管理"
- img [ref=e903]
- paragraph [ref=e905]:
- text: 所有客户端支持
- code [ref=e906]: from_best_host()
- text: 自动选最低延迟服务器:
- generic [ref=e907]:
- generic [ref=e908]: "from easy_tdx import MacClient with MacClient.from_best_host() as c: df = c.get_stock_kline(...)"
- button "Copy code to clipboard" [ref=e910] [cursor=pointer]:
- img [ref=e911]
- table [ref=e915]:
- rowgroup [ref=e916]:
- row "客户端 端口 覆盖范围" [ref=e917]:
- columnheader "客户端" [ref=e918]
- columnheader "端口" [ref=e919]
- columnheader "覆盖范围" [ref=e920]
- rowgroup [ref=e921]:
- row "MacClient / AsyncMacClient 7709 A 股行情(MAC 协议,推荐)" [ref=e922]:
- cell "MacClient / AsyncMacClient" [ref=e923]:
- code [ref=e924]: MacClient
- text: /
- code [ref=e925]: AsyncMacClient
- cell "7709" [ref=e926]
- cell "A 股行情(MAC 协议,推荐)" [ref=e927]
- row "MacExClient / AsyncMacExClient 7727 港股/美股/期货(MAC 协议)" [ref=e928]:
- cell "MacExClient / AsyncMacExClient" [ref=e929]:
- code [ref=e930]: MacExClient
- text: /
- code [ref=e931]: AsyncMacExClient
- cell "7727" [ref=e932]
- cell "港股/美股/期货(MAC 协议)" [ref=e933]
- row "UnifiedTdxClient / AsyncUnifiedTdxClient 自动 A 股 + 扩展市场统一入口" [ref=e934]:
- cell "UnifiedTdxClient / AsyncUnifiedTdxClient" [ref=e935]:
- code [ref=e936]: UnifiedTdxClient
- text: /
- code [ref=e937]: AsyncUnifiedTdxClient
- cell "自动" [ref=e938]
- cell "A 股 + 扩展市场统一入口" [ref=e939]
- row "TdxClient / AsyncTdxClient 7709 A 股行情(标准协议)" [ref=e940]:
- cell "TdxClient / AsyncTdxClient" [ref=e941]:
- code [ref=e942]: TdxClient
- text: /
- code [ref=e943]: AsyncTdxClient
- cell "7709" [ref=e944]
- cell "A 股行情(标准协议)" [ref=e945]
- generic [ref=e946]:
- heading "MAC 协议(推荐)" [level=3] [ref=e947]
- 'link "Permalink: MAC 协议(推荐)" [ref=e948] [cursor=pointer]':
- /url: "#mac-协议推荐"
- img [ref=e949]
- generic [ref=e951]:
- heading "报价" [level=4] [ref=e952]
- 'link "Permalink: 报价" [ref=e953] [cursor=pointer]':
- /url: "#报价"
- img [ref=e954]
- generic [ref=e956]:
- generic [ref=e957]: "from easy_tdx import MacClient, Market, Category, SortType, SortOrder with MacClient.from_best_host() as c: # 批量报价(最多 80 只/次) df = c.get_stock_quotes([(Market.SH, \"600519\"), (Market.SZ, \"000858\")]) # 市场分类排序报价 df = c.get_stock_quotes_list( Category.A, count=20, sort_type=SortType.CHANGE_PCT, sort_order=SortOrder.DESC, )"
- button "Copy code to clipboard" [ref=e959] [cursor=pointer]:
- img [ref=e960]
- paragraph [ref=e963]:
- text: 返回列:
- code [ref=e964]: market, code, name
- text: + 动态字段(
- code [ref=e965]: pre_close, open, high, low, close, vol, amount, turnover, vol_ratio
- text: 等)。
- generic [ref=e966]:
- heading "K 线(支持复权)" [level=4] [ref=e967]
- 'link "Permalink: K 线(支持复权)" [ref=e968] [cursor=pointer]':
- /url: "#k-线支持复权"
- img [ref=e969]
- generic [ref=e971]:
- generic [ref=e972]: "from easy_tdx import MacClient, Market, Period, Adjust with MacClient.from_best_host() as c: # 日K前复权 df = c.get_stock_kline(Market.SH, \"600519\", Period.DAILY, count=10, adjust=Adjust.QFQ) # 5分钟线 df = c.get_stock_kline(Market.SZ, \"000001\", Period.MIN_5, count=100)"
- button "Copy code to clipboard" [ref=e974] [cursor=pointer]:
- img [ref=e975]
- paragraph [ref=e978]:
- text: 返回列:
- code [ref=e979]: datetime, open, close, high, low, vol, amount
- text:
- generic [ref=e980]:
- heading "技术指标" [level=4] [ref=e981]
- 'link "Permalink: 技术指标" [ref=e982] [cursor=pointer]':
- /url: "#技术指标-1"
- img [ref=e983]
- paragraph [ref=e985]:
- text: 自动获取 200+ 条历史数据预热 EMA,返回最后
- code [ref=e986]: count
- text: 条带指标的结果:
- generic [ref=e987]:
- generic [ref=e988]: "from easy_tdx import MacClient, Market, Period, Adjust from easy_tdx.indicator import compute_indicators, list_indicators with MacClient.from_best_host() as c: # 便捷方法:获取 K 线 + 计算指标一步完成(默认前复权) df = c.get_stock_kline_with_indicators( Market.SH, \"600519\", indicators=[\"MACD\", \"KDJ\", \"RSI\", \"BOLL\"], count=30, ) # df 包含: datetime, open, close, high, low, vol, amount # + MACD_DIF, MACD_DEA, MACD_HIST, KDJ_K, KDJ_D, KDJ_J, RSI, # BOLL_UPPER, BOLL_MID, BOLL_LOWER # 自定义指标参数 df = c.get_stock_kline_with_indicators( Market.SH, \"600519\", indicators=[\"MACD\"], params={\"MACD\": {\"SHORT\": 10, \"LONG\": 22}}, ) # 独立使用:对已有 DataFrame 计算指标 raw = c.get_stock_kline(Market.SH, \"600519\", Period.DAILY, count=200, adjust=Adjust.QFQ) result = compute_indicators(raw, [\"ATR\", \"CCI\", \"WR\"], tail=30) # 查看所有可用指标 for info in list_indicators(): print(info[\"name\"], info[\"description\"], info[\"outputs\"])"
- button "Copy code to clipboard" [ref=e990] [cursor=pointer]:
- img [ref=e991]
- paragraph [ref=e994]: 支持 31 个技术指标:
- table [ref=e996]:
- rowgroup [ref=e997]:
- row "指标 输入 输出列" [ref=e998]:
- columnheader "指标" [ref=e999]
- columnheader "输入" [ref=e1000]
- columnheader "输出列" [ref=e1001]
- rowgroup [ref=e1002]:
- row "MACD close MACD_DIF, MACD_DEA, MACD_HIST" [ref=e1003]:
- cell "MACD" [ref=e1004]
- cell "close" [ref=e1005]
- cell "MACD_DIF, MACD_DEA, MACD_HIST" [ref=e1006]
- row "KDJ close, high, low KDJ_K, KDJ_D, KDJ_J" [ref=e1007]:
- cell "KDJ" [ref=e1008]
- cell "close, high, low" [ref=e1009]
- cell "KDJ_K, KDJ_D, KDJ_J" [ref=e1010]
- row "RSI close RSI" [ref=e1011]:
- cell "RSI" [ref=e1012]
- cell "close" [ref=e1013]
- cell "RSI" [ref=e1014]
- row "BOLL close BOLL_UPPER, BOLL_MID, BOLL_LOWER" [ref=e1015]:
- cell "BOLL" [ref=e1016]
- cell "close" [ref=e1017]
- cell "BOLL_UPPER, BOLL_MID, BOLL_LOWER" [ref=e1018]
- row "DMI close, high, low DMI_PDI, DMI_MDI, DMI_ADX, DMI_ADXR" [ref=e1019]:
- cell "DMI" [ref=e1020]
- cell "close, high, low" [ref=e1021]
- cell "DMI_PDI, DMI_MDI, DMI_ADX, DMI_ADXR" [ref=e1022]
- row "ATR close, high, low ATR" [ref=e1023]:
- cell "ATR" [ref=e1024]
- cell "close, high, low" [ref=e1025]
- cell "ATR" [ref=e1026]
- row "WR close, high, low WR1, WR2" [ref=e1027]:
- cell "WR" [ref=e1028]
- cell "close, high, low" [ref=e1029]
- cell "WR1, WR2" [ref=e1030]
- row "CCI close, high, low CCI" [ref=e1031]:
- cell "CCI" [ref=e1032]
- cell "close, high, low" [ref=e1033]
- cell "CCI" [ref=e1034]
- row "BIAS close BIAS1, BIAS2, BIAS3" [ref=e1035]:
- cell "BIAS" [ref=e1036]
- cell "close" [ref=e1037]
- cell "BIAS1, BIAS2, BIAS3" [ref=e1038]
- row "OBV close, vol OBV" [ref=e1039]:
- cell "OBV" [ref=e1040]
- cell "close, vol" [ref=e1041]
- cell "OBV" [ref=e1042]
- row "VR close, vol VR" [ref=e1043]:
- cell "VR" [ref=e1044]
- cell "close, vol" [ref=e1045]
- cell "VR" [ref=e1046]
- row "EMV high, low, vol EMV, EMV_MA" [ref=e1047]:
- cell "EMV" [ref=e1048]
- cell "high, low, vol" [ref=e1049]
- cell "EMV, EMV_MA" [ref=e1050]
- row "MFI close, high, low, vol MFI" [ref=e1051]:
- cell "MFI" [ref=e1052]
- cell "close, high, low, vol" [ref=e1053]
- cell "MFI" [ref=e1054]
- row "BRAR open, close, high, low AR, BR" [ref=e1055]:
- cell "BRAR" [ref=e1056]
- cell "open, close, high, low" [ref=e1057]
- cell "AR, BR" [ref=e1058]
- row "ASI open, close, high, low ASI, ASI_MA" [ref=e1059]:
- cell "ASI" [ref=e1060]
- cell "open, close, high, low" [ref=e1061]
- cell "ASI, ASI_MA" [ref=e1062]
- row "TRIX close TRIX, TRIX_MA" [ref=e1063]:
- cell "TRIX" [ref=e1064]
- cell "close" [ref=e1065]
- cell "TRIX, TRIX_MA" [ref=e1066]
- row "DPO close DPO, DPO_MA" [ref=e1067]:
- cell "DPO" [ref=e1068]
- cell "close" [ref=e1069]
- cell "DPO, DPO_MA" [ref=e1070]
- row "MTM close MTM, MTM_MA" [ref=e1071]:
- cell "MTM" [ref=e1072]
- cell "close" [ref=e1073]
- cell "MTM, MTM_MA" [ref=e1074]
- row "ROC close ROC, ROC_MA" [ref=e1075]:
- cell "ROC" [ref=e1076]
- cell "close" [ref=e1077]
- cell "ROC, ROC_MA" [ref=e1078]
- row "EXPMA close EXPMA_12, EXPMA_50" [ref=e1079]:
- cell "EXPMA" [ref=e1080]
- cell "close" [ref=e1081]
- cell "EXPMA_12, EXPMA_50" [ref=e1082]
- row "BBI close BBI" [ref=e1083]:
- cell "BBI" [ref=e1084]
- cell "close" [ref=e1085]
- cell "BBI" [ref=e1086]
- row "PSY close PSY, PSY_MA" [ref=e1087]:
- cell "PSY" [ref=e1088]
- cell "close" [ref=e1089]
- cell "PSY, PSY_MA" [ref=e1090]
- row "DFMA close DFMA_DIF, DFMA_DMA" [ref=e1091]:
- cell "DFMA" [ref=e1092]
- cell "close" [ref=e1093]
- cell "DFMA_DIF, DFMA_DMA" [ref=e1094]
- row "CR close, high, low CR" [ref=e1095]:
- cell "CR" [ref=e1096]
- cell "close, high, low" [ref=e1097]
- cell "CR" [ref=e1098]
- row "KTN close, high, low KTN_UPPER, KTN_MID, KTN_LOWER" [ref=e1099]:
- cell "KTN" [ref=e1100]
- cell "close, high, low" [ref=e1101]
- cell "KTN_UPPER, KTN_MID, KTN_LOWER" [ref=e1102]
- row "XSII close, high, low XSII_TD1, XSII_TD2, XSII_TD3, XSII_TD4" [ref=e1103]:
- cell "XSII" [ref=e1104]
- cell "close, high, low" [ref=e1105]
- cell "XSII_TD1, XSII_TD2, XSII_TD3, XSII_TD4" [ref=e1106]
- row "MASS high, low MASS, MASS_MA" [ref=e1107]:
- cell "MASS" [ref=e1108]
- cell "high, low" [ref=e1109]
- cell "MASS, MASS_MA" [ref=e1110]
- row "TAQ high, low TAQ_UP, TAQ_MID, TAQ_DOWN" [ref=e1111]:
- cell "TAQ" [ref=e1112]
- cell "high, low" [ref=e1113]
- cell "TAQ_UP, TAQ_MID, TAQ_DOWN" [ref=e1114]
- row "ZHUOYAO close ZY_LONG, ZY_MID, ZY_SHORT, ZY_TREND" [ref=e1115]:
- cell "ZHUOYAO" [ref=e1116]
- cell "close" [ref=e1117]
- cell "ZY_LONG, ZY_MID, ZY_SHORT, ZY_TREND" [ref=e1118]
- row "BIAS_SIGNAL close BS_X, BS_SMA, BS_LMA" [ref=e1119]:
- cell "BIAS_SIGNAL" [ref=e1120]
- cell "close" [ref=e1121]
- cell "BS_X, BS_SMA, BS_LMA" [ref=e1122]
- generic [ref=e1123]:
- heading "分时" [level=4] [ref=e1124]
- 'link "Permalink: 分时" [ref=e1125] [cursor=pointer]':
- /url: "#分时"
- img [ref=e1126]
- generic [ref=e1128]:
- generic [ref=e1129]: "with MacClient.from_best_host() as c: df = c.get_tick_chart(Market.SH, \"600519\") # 单日分时 df = c.get_tick_charts(Market.SH, \"600519\", days=3) # 多日分时(最多5天) df = c.get_chart_sampling(Market.SH, \"600519\") # 240点缩略采样"
- button "Copy code to clipboard" [ref=e1131] [cursor=pointer]:
- img [ref=e1132]
- generic [ref=e1135]:
- heading "逐笔成交" [level=4] [ref=e1136]
- 'link "Permalink: 逐笔成交" [ref=e1137] [cursor=pointer]':
- /url: "#逐笔成交"
- img [ref=e1138]
- generic [ref=e1140]:
- generic [ref=e1141]: "with MacClient.from_best_host() as c: df = c.get_transactions(Market.SH, \"600519\", count=100) df = c.get_transactions(Market.SH, \"600519\", count=100, date=20250115)"
- button "Copy code to clipboard" [ref=e1143] [cursor=pointer]:
- img [ref=e1144]
- generic [ref=e1147]:
- heading "板块" [level=4] [ref=e1148]
- 'link "Permalink: 板块" [ref=e1149] [cursor=pointer]':
- /url: "#板块-1"
- img [ref=e1150]
- generic [ref=e1152]:
- generic [ref=e1153]: "from easy_tdx import BoardType with MacClient.from_best_host() as c: df = c.get_board_list(BoardType.GN) # 概念板块 df = c.get_board_members(\"881001\", sort_type=SortType.CHANGE_PCT) df = c.get_belong_board(Market.SZ, \"000001\") # 个股所属板块 # 板块汇总:成交额、主力净流入、涨跌家数 summary = c.get_board_summary(\"881001\") # summary = { # \"member_count\": 82, # \"amount\": 5823456000.0, # 板块总成交额(元) # \"vol\": 412356789, # 板块总成交量(股) # \"main_net_amount\": -123456.0, # 当日主力净流入 # \"main_net_3d\": -567890.0, # 近3日主力净流入 # \"main_net_5d\": -234567.0, # 近5日主力净流入 # \"up_count\": 45, # \"down_count\": 37, # \"members\": DataFrame(...), # 成分股明细 # } # 板块涨跌幅排行榜 df = c.get_board_ranking(BoardType.HY, top_n=10, sort_by=\"change_pct\") df = c.get_board_ranking(BoardType.GN, top_n=20, sort_by=\"main_net_amount\") # 返回列:code, name, change_pct, amount, vol, main_net_amount, up_count, down_count, member_count"
- button "Copy code to clipboard" [ref=e1155] [cursor=pointer]:
- img [ref=e1156]
- generic [ref=e1159]:
- heading "资金流向" [level=4] [ref=e1160]
- 'link "Permalink: 资金流向" [ref=e1161] [cursor=pointer]':
- /url: "#资金流向"
- img [ref=e1162]
- generic [ref=e1164]:
- generic [ref=e1165]: "with MacClient.from_best_host() as c: df = c.get_capital_flow(Market.SH, \"600519\")"
- button "Copy code to clipboard" [ref=e1167] [cursor=pointer]:
- img [ref=e1168]
- paragraph [ref=e1171]:
- text: 返回列:
- code [ref=e1172]: date, main_in, main_out, main_net, small_in/out/net, mid_in/out/net, large_in/out/net
- text:
- generic [ref=e1173]:
- heading "监控" [level=4] [ref=e1174]
- 'link "Permalink: 监控" [ref=e1175] [cursor=pointer]':
- /url: "#监控"
- img [ref=e1176]
- generic [ref=e1178]:
- generic [ref=e1179]: "with MacClient.from_best_host() as c: df = c.get_auction(Market.SH, \"600519\") # 集合竞价 df = c.get_unusual(Market.SH) # 市场异动 df = c.get_symbol_info(Market.SZ, \"000001\") # 个股特征快照 df = c.get_server_info() # 服务器交易时段"
- button "Copy code to clipboard" [ref=e1181] [cursor=pointer]:
- img [ref=e1182]
- generic [ref=e1185]:
- heading "扩展市场" [level=3] [ref=e1186]
- 'link "Permalink: 扩展市场" [ref=e1187] [cursor=pointer]':
- /url: "#扩展市场"
- img [ref=e1188]
- generic [ref=e1190]:
- generic [ref=e1191]: "from easy_tdx import MacExClient, ExMarket, Period with MacExClient.from_best_host() as c: count = c.goods_count(ExMarket.HK_MAIN_BOARD) df = c.goods_list(ExMarket.HK_MAIN_BOARD, start=0, count=50) df = c.goods_kline(ExMarket.US_STOCK, \"AAPL\", Period.DAILY, count=10) df = c.goods_quotes([(ExMarket.HK_MAIN_BOARD, \"00700\")]) df = c.goods_tick_chart(ExMarket.HK_MAIN_BOARD, \"00700\") df = c.goods_transaction(ExMarket.HK_MAIN_BOARD, \"00700\", count=100)"
- button "Copy code to clipboard" [ref=e1193] [cursor=pointer]:
- img [ref=e1194]
- generic [ref=e1197]:
- heading "统一客户端" [level=3] [ref=e1198]
- 'link "Permalink: 统一客户端" [ref=e1199] [cursor=pointer]':
- /url: "#统一客户端"
- img [ref=e1200]
- generic [ref=e1202]:
- generic [ref=e1203]: "from easy_tdx import UnifiedTdxClient, ExMarket, Market, Period with UnifiedTdxClient() as client: # A 股 -- 自动路由到 MacClient df = client.get_stock_kline(Market.SH, \"600519\", Period.DAILY, count=5) df = client.get_stock_quotes([(Market.SH, \"600519\")]) df = client.get_board_list() # 扩展市场 -- 自动路由到 MacExClient df = client.goods_kline(ExMarket.HK_MAIN_BOARD, \"00700\", Period.DAILY, count=5)"
- button "Copy code to clipboard" [ref=e1205] [cursor=pointer]:
- img [ref=e1206]
- generic [ref=e1209]:
- heading "标准协议" [level=3] [ref=e1210]
- 'link "Permalink: 标准协议" [ref=e1211] [cursor=pointer]':
- /url: "#标准协议"
- img [ref=e1212]
- generic [ref=e1214]:
- generic [ref=e1215]: "from easy_tdx import TdxClient, Market, KlineCategory with TdxClient.from_best_host() as c: count = c.get_security_count(Market.SH) stocks = c.get_security_list(Market.SH, start=0) quotes = c.get_security_quotes([(Market.SH, \"600000\"), (Market.SZ, \"000001\")]) bars = c.get_security_bars(Market.SZ, \"002176\", KlineCategory.DAY, 0, 100) minute = c.get_minute_time_data(Market.SH, \"600000\") trades = c.get_transaction_data(Market.SH, \"600000\", 0, 20) flow = c.get_fund_flow(Market.SH, \"600519\") blocks = c.get_block_info(\"block_gn.dat\") xdxr = c.get_xdxr_info(Market.SH, \"600519\") stat = c.get_market_stat()"
- button "Copy code to clipboard" [ref=e1217] [cursor=pointer]:
- img [ref=e1218]
- paragraph [ref=e1221]:
- code [ref=e1222]: AsyncTdxClient
- text: 提供对应的
- code [ref=e1223]: async def
- text: 方法,接口一一对应。
- generic [ref=e1224]:
- heading "SecurityQuote 字段说明" [level=3] [ref=e1225]
- 'link "Permalink: SecurityQuote 字段说明" [ref=e1226] [cursor=pointer]':
- /url: "#securityquote-字段说明"
- img [ref=e1227]
- paragraph [ref=e1229]:
- code [ref=e1230]: get_security_quotes()
- text: 返回的 DataFrame 包含以下特殊字段:
- table [ref=e1232]:
- rowgroup [ref=e1233]:
- row "字段 类型 说明" [ref=e1234]:
- columnheader "字段" [ref=e1235]
- columnheader "类型" [ref=e1236]
- columnheader "说明" [ref=e1237]
- rowgroup [ref=e1238]:
- row "trading_status int 交易状态标志。0x8020(32800) = 停牌,其余值表示正常交易或集合竞价" [ref=e1239]:
- cell "trading_status" [ref=e1240]:
- code [ref=e1241]: trading_status
- cell "int" [ref=e1242]
- cell "交易状态标志。0x8020(32800) = 停牌,其余值表示正常交易或集合竞价" [ref=e1243]:
- text: 交易状态标志。
- code [ref=e1244]: "0x8020"
- text: (32800) = 停牌,其余值表示正常交易或集合竞价
- row "open_amount float 集合竞价成交金额(元)。仅个股有效,指数该字段无意义" [ref=e1245]:
- cell "open_amount" [ref=e1246]:
- code [ref=e1247]: open_amount
- cell "float" [ref=e1248]
- cell "集合竞价成交金额(元)。仅个股有效,指数该字段无意义" [ref=e1249]
- row "server_time str 服务器时间,格式 HH:MM:SS.mmm" [ref=e1250]:
- cell "server_time" [ref=e1251]:
- code [ref=e1252]: server_time
- cell "str" [ref=e1253]
- cell "服务器时间,格式 HH:MM:SS.mmm" [ref=e1254]:
- text: 服务器时间,格式
- code [ref=e1255]: HH:MM:SS.mmm
- 'row "unknown_2 int 指数: 集合竞价成交金额/100;个股: 舍入残差≈0" [ref=e1256]':
- cell "unknown_2" [ref=e1257]:
- code [ref=e1258]: unknown_2
- cell "int" [ref=e1259]
- 'cell "指数: 集合竞价成交金额/100;个股: 舍入残差≈0" [ref=e1260]'
- 'row "unknown_3 int 个股: 集合竞价成交金额/100;指数: 负值/无意义" [ref=e1261]':
- cell "unknown_3" [ref=e1262]:
- code [ref=e1263]: unknown_3
- cell "int" [ref=e1264]
- 'cell "个股: 集合竞价成交金额/100;指数: 负值/无意义" [ref=e1265]'
- row "unknown_5-8 int 保留字段,恒为 0" [ref=e1266]:
- cell "unknown_5-8" [ref=e1267]:
- code [ref=e1268]: unknown_5-8
- cell "int" [ref=e1269]
- cell "保留字段,恒为 0" [ref=e1270]
- paragraph [ref=e1271]: 检测停牌:
- generic [ref=e1272]:
- generic [ref=e1273]: df = c.get_security_quotes([(Market.SH, "600000")]) is_suspended = df.iloc[0]["trading_status"] == 0x8020
- button "Copy code to clipboard" [ref=e1275] [cursor=pointer]:
- img [ref=e1276]
- generic [ref=e1279]:
- heading "离线数据读取" [level=3] [ref=e1280]
- 'link "Permalink: 离线数据读取" [ref=e1281] [cursor=pointer]':
- /url: "#离线数据读取"
- img [ref=e1282]
- paragraph [ref=e1284]: 无需网络,从本地通达信安装目录直接读取:
- generic [ref=e1285]:
- generic [ref=e1286]: from easy_tdx.offline import detect_tdx_home, read_daily_bars, find_daily_bar_file from easy_tdx import Market home = detect_tdx_home() filepath = find_daily_bar_file(Market.SH, "600000") bars = read_daily_bars(filepath)
- button "Copy code to clipboard" [ref=e1288] [cursor=pointer]:
- img [ref=e1289]
- paragraph [ref=e1292]: 支持:日线、分钟线、扩展市场日线、板块、股本变迁、历史财务数据。
- paragraph [ref=e1293]: v1.5.0 起可通过 CLI 直接使用:
- generic [ref=e1294]:
- generic [ref=e1295]: easy-tdx offline daily SH 600000 --count 10 --table easy-tdx offline ex-files --table easy-tdx offline ex-daily 29#A1801 --table
- button "Copy code to clipboard" [ref=e1297] [cursor=pointer]:
- img [ref=e1298]
- generic [ref=e1301]:
- heading "枚举参考" [level=2] [ref=e1302]
- 'link "Permalink: 枚举参考" [ref=e1303] [cursor=pointer]':
- /url: "#枚举参考"
- img [ref=e1304]
- generic [ref=e1306]:
- heading "PeriodK 线周期)" [level=3] [ref=e1307]
- 'link "Permalink: PeriodK 线周期)" [ref=e1308] [cursor=pointer]':
- /url: "#periodk-线周期"
- img [ref=e1309]
- table [ref=e1312]:
- rowgroup [ref=e1313]:
- row "值 名称 说明" [ref=e1314]:
- columnheader "值" [ref=e1315]
- columnheader "名称" [ref=e1316]
- columnheader "说明" [ref=e1317]
- rowgroup [ref=e1318]:
- row "7 MIN_1 1 分钟" [ref=e1319]:
- cell "7" [ref=e1320]
- cell "MIN_1" [ref=e1321]:
- code [ref=e1322]: MIN_1
- cell "1 分钟" [ref=e1323]
- row "0 MIN_5 5 分钟" [ref=e1324]:
- cell "0" [ref=e1325]
- cell "MIN_5" [ref=e1326]:
- code [ref=e1327]: MIN_5
- cell "5 分钟" [ref=e1328]
- row "1 MIN_15 15 分钟" [ref=e1329]:
- cell "1" [ref=e1330]
- cell "MIN_15" [ref=e1331]:
- code [ref=e1332]: MIN_15
- cell "15 分钟" [ref=e1333]
- row "2 MIN_30 30 分钟" [ref=e1334]:
- cell "2" [ref=e1335]
- cell "MIN_30" [ref=e1336]:
- code [ref=e1337]: MIN_30
- cell "30 分钟" [ref=e1338]
- row "3 MIN_60 60 分钟" [ref=e1339]:
- cell "3" [ref=e1340]
- cell "MIN_60" [ref=e1341]:
- code [ref=e1342]: MIN_60
- cell "60 分钟" [ref=e1343]
- row "4 DAILY 日线" [ref=e1344]:
- cell "4" [ref=e1345]
- cell "DAILY" [ref=e1346]:
- code [ref=e1347]: DAILY
- cell "日线" [ref=e1348]
- row "5 WEEKLY 周线" [ref=e1349]:
- cell "5" [ref=e1350]
- cell "WEEKLY" [ref=e1351]:
- code [ref=e1352]: WEEKLY
- cell "周线" [ref=e1353]
- row "6 MONTHLY 月线" [ref=e1354]:
- cell "6" [ref=e1355]
- cell "MONTHLY" [ref=e1356]:
- code [ref=e1357]: MONTHLY
- cell "月线" [ref=e1358]
- row "10 QUARTERLY 季线" [ref=e1359]:
- cell "10" [ref=e1360]
- cell "QUARTERLY" [ref=e1361]:
- code [ref=e1362]: QUARTERLY
- cell "季线" [ref=e1363]
- row "11 YEARLY 年线" [ref=e1364]:
- cell "11" [ref=e1365]
- cell "YEARLY" [ref=e1366]:
- code [ref=e1367]: YEARLY
- cell "年线" [ref=e1368]
- generic [ref=e1369]:
- heading "Adjust(复权类型)" [level=3] [ref=e1370]
- 'link "Permalink: Adjust(复权类型)" [ref=e1371] [cursor=pointer]':
- /url: "#adjust复权类型"
- img [ref=e1372]
- table [ref=e1375]:
- rowgroup [ref=e1376]:
- row "值 名称 说明" [ref=e1377]:
- columnheader "值" [ref=e1378]
- columnheader "名称" [ref=e1379]
- columnheader "说明" [ref=e1380]
- rowgroup [ref=e1381]:
- row "0 NONE 不复权" [ref=e1382]:
- cell "0" [ref=e1383]
- cell "NONE" [ref=e1384]:
- code [ref=e1385]: NONE
- cell "不复权" [ref=e1386]
- row "1 QFQ 前复权" [ref=e1387]:
- cell "1" [ref=e1388]
- cell "QFQ" [ref=e1389]:
- code [ref=e1390]: QFQ
- cell "前复权" [ref=e1391]
- row "2 HFQ 后复权" [ref=e1392]:
- cell "2" [ref=e1393]
- cell "HFQ" [ref=e1394]:
- code [ref=e1395]: HFQ
- cell "后复权" [ref=e1396]
- generic [ref=e1397]:
- heading "Category(市场分类)" [level=3] [ref=e1398]
- 'link "Permalink: Category(市场分类)" [ref=e1399] [cursor=pointer]':
- /url: "#category市场分类"
- img [ref=e1400]
- table [ref=e1403]:
- rowgroup [ref=e1404]:
- row "值 名称 说明" [ref=e1405]:
- columnheader "值" [ref=e1406]
- columnheader "名称" [ref=e1407]
- columnheader "说明" [ref=e1408]
- rowgroup [ref=e1409]:
- row "0 SH 上证 A 股" [ref=e1410]:
- cell "0" [ref=e1411]
- cell "SH" [ref=e1412]:
- code [ref=e1413]: SH
- cell "上证 A 股" [ref=e1414]
- row "2 SZ 深证 A 股" [ref=e1415]:
- cell "2" [ref=e1416]
- cell "SZ" [ref=e1417]:
- code [ref=e1418]: SZ
- cell "深证 A 股" [ref=e1419]
- row "6 A 全部 A 股" [ref=e1420]:
- cell "6" [ref=e1421]
- cell "A" [ref=e1422]:
- code [ref=e1423]: A
- cell "全部 A 股" [ref=e1424]
- row "7 B B 股" [ref=e1425]:
- cell "7" [ref=e1426]
- cell "B" [ref=e1427]:
- code [ref=e1428]: B
- cell "B 股" [ref=e1429]
- row "8 KCB 科创板" [ref=e1430]:
- cell "8" [ref=e1431]
- cell "KCB" [ref=e1432]:
- code [ref=e1433]: KCB
- cell "科创板" [ref=e1434]
- row "12 BJ 北证 A 股" [ref=e1435]:
- cell "12" [ref=e1436]
- cell "BJ" [ref=e1437]:
- code [ref=e1438]: BJ
- cell "北证 A 股" [ref=e1439]
- row "14 CYB 创业板" [ref=e1440]:
- cell "14" [ref=e1441]
- cell "CYB" [ref=e1442]:
- code [ref=e1443]: CYB
- cell "创业板" [ref=e1444]
- generic [ref=e1445]:
- heading "BoardType(板块类型)" [level=3] [ref=e1446]
- 'link "Permalink: BoardType(板块类型)" [ref=e1447] [cursor=pointer]':
- /url: "#boardtype板块类型"
- img [ref=e1448]
- table [ref=e1451]:
- rowgroup [ref=e1452]:
- row "值 名称 说明" [ref=e1453]:
- columnheader "值" [ref=e1454]
- columnheader "名称" [ref=e1455]
- columnheader "说明" [ref=e1456]
- rowgroup [ref=e1457]:
- row "0 HY 行业一级" [ref=e1458]:
- cell "0" [ref=e1459]
- cell "HY" [ref=e1460]:
- code [ref=e1461]: HY
- cell "行业一级" [ref=e1462]
- row "1 HY2 行业二级" [ref=e1463]:
- cell "1" [ref=e1464]
- cell "HY2" [ref=e1465]:
- code [ref=e1466]: HY2
- cell "行业二级" [ref=e1467]
- row "3 GN 概念" [ref=e1468]:
- cell "3" [ref=e1469]
- cell "GN" [ref=e1470]:
- code [ref=e1471]: GN
- cell "概念" [ref=e1472]
- row "4 FG 风格" [ref=e1473]:
- cell "4" [ref=e1474]
- cell "FG" [ref=e1475]:
- code [ref=e1476]: FG
- cell "风格" [ref=e1477]
- row "5 DQ 地区" [ref=e1478]:
- cell "5" [ref=e1479]
- cell "DQ" [ref=e1480]:
- code [ref=e1481]: DQ
- cell "地区" [ref=e1482]
- row "255 ALL 全部" [ref=e1483]:
- cell "255" [ref=e1484]
- cell "ALL" [ref=e1485]:
- code [ref=e1486]: ALL
- cell "全部" [ref=e1487]
- generic [ref=e1488]:
- heading "SortType(排序字段)" [level=3] [ref=e1489]
- 'link "Permalink: SortType(排序字段)" [ref=e1490] [cursor=pointer]':
- /url: "#sorttype排序字段"
- img [ref=e1491]
- table [ref=e1494]:
- rowgroup [ref=e1495]:
- row "名称 说明" [ref=e1496]:
- columnheader "名称" [ref=e1497]
- columnheader "说明" [ref=e1498]
- rowgroup [ref=e1499]:
- row "CODE 代码" [ref=e1500]:
- cell "CODE" [ref=e1501]:
- code [ref=e1502]: CODE
- cell "代码" [ref=e1503]
- row "PRICE 现价" [ref=e1504]:
- cell "PRICE" [ref=e1505]:
- code [ref=e1506]: PRICE
- cell "现价" [ref=e1507]
- row "CHANGE_PCT 涨幅%" [ref=e1508]:
- cell "CHANGE_PCT" [ref=e1509]:
- code [ref=e1510]: CHANGE_PCT
- cell "涨幅%" [ref=e1511]
- row "VOLUME 成交量" [ref=e1512]:
- cell "VOLUME" [ref=e1513]:
- code [ref=e1514]: VOLUME
- cell "成交量" [ref=e1515]
- row "TOTAL_AMOUNT 成交额" [ref=e1516]:
- cell "TOTAL_AMOUNT" [ref=e1517]:
- code [ref=e1518]: TOTAL_AMOUNT
- cell "成交额" [ref=e1519]
- row "TURNOVER_RATE 换手%" [ref=e1520]:
- cell "TURNOVER_RATE" [ref=e1521]:
- code [ref=e1522]: TURNOVER_RATE
- cell "换手%" [ref=e1523]
- row "MAIN_NET_AMOUNT 主力净额" [ref=e1524]:
- cell "MAIN_NET_AMOUNT" [ref=e1525]:
- code [ref=e1526]: MAIN_NET_AMOUNT
- cell "主力净额" [ref=e1527]
- generic [ref=e1528]:
- heading "ExMarket(扩展市场)" [level=3] [ref=e1529]
- 'link "Permalink: ExMarket(扩展市场)" [ref=e1530] [cursor=pointer]':
- /url: "#exmarket扩展市场"
- img [ref=e1531]
- table [ref=e1534]:
- rowgroup [ref=e1535]:
- row "值 名称 说明" [ref=e1536]:
- columnheader "值" [ref=e1537]
- columnheader "名称" [ref=e1538]
- columnheader "说明" [ref=e1539]
- rowgroup [ref=e1540]:
- row "28 ZZ_FUTURES 郑州商品" [ref=e1541]:
- cell "28" [ref=e1542]
- cell "ZZ_FUTURES" [ref=e1543]:
- code [ref=e1544]: ZZ_FUTURES
- cell "郑州商品" [ref=e1545]
- row "29 DL_FUTURES 大连商品" [ref=e1546]:
- cell "29" [ref=e1547]
- cell "DL_FUTURES" [ref=e1548]:
- code [ref=e1549]: DL_FUTURES
- cell "大连商品" [ref=e1550]
- row "30 SH_FUTURES 上海期货" [ref=e1551]:
- cell "30" [ref=e1552]
- cell "SH_FUTURES" [ref=e1553]:
- code [ref=e1554]: SH_FUTURES
- cell "上海期货" [ref=e1555]
- row "31 HK_MAIN_BOARD 香港主板" [ref=e1556]:
- cell "31" [ref=e1557]
- cell "HK_MAIN_BOARD" [ref=e1558]:
- code [ref=e1559]: HK_MAIN_BOARD
- cell "香港主板" [ref=e1560]
- row "47 CFFEX_FUTURES 中金所期货" [ref=e1561]:
- cell "47" [ref=e1562]
- cell "CFFEX_FUTURES" [ref=e1563]:
- code [ref=e1564]: CFFEX_FUTURES
- cell "中金所期货" [ref=e1565]
- row "48 HK_GEM 香港创业板" [ref=e1566]:
- cell "48" [ref=e1567]
- cell "HK_GEM" [ref=e1568]:
- code [ref=e1569]: HK_GEM
- cell "香港创业板" [ref=e1570]
- row "74 US_STOCK 美国股票" [ref=e1571]:
- cell "74" [ref=e1572]
- cell "US_STOCK" [ref=e1573]:
- code [ref=e1574]: US_STOCK
- cell "美国股票" [ref=e1575]
- generic [ref=e1576]:
- heading "Market(市场)" [level=3] [ref=e1577]
- 'link "Permalink: Market(市场)" [ref=e1578] [cursor=pointer]':
- /url: "#market市场"
- img [ref=e1579]
- table [ref=e1582]:
- rowgroup [ref=e1583]:
- row "值 名称 说明" [ref=e1584]:
- columnheader "值" [ref=e1585]
- columnheader "名称" [ref=e1586]
- columnheader "说明" [ref=e1587]
- rowgroup [ref=e1588]:
- row "0 SZ 深圳" [ref=e1589]:
- cell "0" [ref=e1590]
- cell "SZ" [ref=e1591]:
- code [ref=e1592]: SZ
- cell "深圳" [ref=e1593]
- row "1 SH 上海" [ref=e1594]:
- cell "1" [ref=e1595]
- cell "SH" [ref=e1596]:
- code [ref=e1597]: SH
- cell "上海" [ref=e1598]
- row "2 BJ 北京" [ref=e1599]:
- cell "2" [ref=e1600]
- cell "BJ" [ref=e1601]:
- code [ref=e1602]: BJ
- cell "北京" [ref=e1603]
- generic [ref=e1604]:
- heading "完整 API 列表" [level=2] [ref=e1605]
- 'link "Permalink: 完整 API 列表" [ref=e1606] [cursor=pointer]':
- /url: "#完整-api-列表"
- img [ref=e1607]
- generic [ref=e1609]:
- heading "MacClient / AsyncMacClient" [level=3] [ref=e1610]
- 'link "Permalink: MacClient / AsyncMacClient" [ref=e1611] [cursor=pointer]':
- /url: "#macclient--asyncmacclient"
- img [ref=e1612]
- table [ref=e1615]:
- rowgroup [ref=e1616]:
- row "方法 说明" [ref=e1617]:
- columnheader "方法" [ref=e1618]
- columnheader "说明" [ref=e1619]
- rowgroup [ref=e1620]:
- row "get_stock_quotes(stocks, fields) 批量实时报价" [ref=e1621]:
- cell "get_stock_quotes(stocks, fields)" [ref=e1622]:
- code [ref=e1623]: get_stock_quotes(stocks, fields)
- cell "批量实时报价" [ref=e1624]
- row "get_stock_quotes_list(category, ...) 市场分类排序报价" [ref=e1625]:
- cell "get_stock_quotes_list(category, ...)" [ref=e1626]:
- code [ref=e1627]: get_stock_quotes_list(category, ...)
- cell "市场分类排序报价" [ref=e1628]
- row "get_stock_kline(market, code, period, ...) K 线(支持复权)" [ref=e1629]:
- cell "get_stock_kline(market, code, period, ...)" [ref=e1630]:
- code [ref=e1631]: get_stock_kline(market, code, period, ...)
- cell "K 线(支持复权)" [ref=e1632]
- row "get_stock_kline_with_indicators(market, code, indicators, ...) K 线 + 技术指标" [ref=e1633]:
- cell "get_stock_kline_with_indicators(market, code, indicators, ...)" [ref=e1634]:
- code [ref=e1635]: get_stock_kline_with_indicators(market, code, indicators, ...)
- cell "K 线 + 技术指标" [ref=e1636]
- row "get_tick_chart(market, code, date) 单日分时图" [ref=e1637]:
- cell "get_tick_chart(market, code, date)" [ref=e1638]:
- code [ref=e1639]: get_tick_chart(market, code, date)
- cell "单日分时图" [ref=e1640]
- row "get_tick_charts(market, code, days) 多日分时图" [ref=e1641]:
- cell "get_tick_charts(market, code, days)" [ref=e1642]:
- code [ref=e1643]: get_tick_charts(market, code, days)
- cell "多日分时图" [ref=e1644]
- row "get_chart_sampling(market, code) 分时缩略采样" [ref=e1645]:
- cell "get_chart_sampling(market, code)" [ref=e1646]:
- code [ref=e1647]: get_chart_sampling(market, code)
- cell "分时缩略采样" [ref=e1648]
- row "get_transactions(market, code, ...) 逐笔成交" [ref=e1649]:
- cell "get_transactions(market, code, ...)" [ref=e1650]:
- code [ref=e1651]: get_transactions(market, code, ...)
- cell "逐笔成交" [ref=e1652]
- row "get_symbol_info(market, code) 个股特征快照" [ref=e1653]:
- cell "get_symbol_info(market, code)" [ref=e1654]:
- code [ref=e1655]: get_symbol_info(market, code)
- cell "个股特征快照" [ref=e1656]
- row "get_board_list(board_type, ...) 板块列表" [ref=e1657]:
- cell "get_board_list(board_type, ...)" [ref=e1658]:
- code [ref=e1659]: get_board_list(board_type, ...)
- cell "板块列表" [ref=e1660]
- row "get_board_members(board_symbol, ...) 板块成分股报价" [ref=e1661]:
- cell "get_board_members(board_symbol, ...)" [ref=e1662]:
- code [ref=e1663]: get_board_members(board_symbol, ...)
- cell "板块成分股报价" [ref=e1664]
- row "get_board_summary(board_symbol, ...) 板块汇总(成交额、主力净流入、涨跌家数)" [ref=e1665]:
- cell "get_board_summary(board_symbol, ...)" [ref=e1666]:
- code [ref=e1667]: get_board_summary(board_symbol, ...)
- cell "板块汇总(成交额、主力净流入、涨跌家数)" [ref=e1668]
- row "get_board_ranking(board_type, top_n, sort_by, ...) 板块涨跌幅排行榜(行业/概念排行)" [ref=e1669]:
- cell "get_board_ranking(board_type, top_n, sort_by, ...)" [ref=e1670]:
- code [ref=e1671]: get_board_ranking(board_type, top_n, sort_by, ...)
- cell "板块涨跌幅排行榜(行业/概念排行)" [ref=e1672]
- row "get_belong_board(market, code) 个股所属板块" [ref=e1673]:
- cell "get_belong_board(market, code)" [ref=e1674]:
- code [ref=e1675]: get_belong_board(market, code)
- cell "个股所属板块" [ref=e1676]
- row "get_capital_flow(market, code) 资金流向" [ref=e1677]:
- cell "get_capital_flow(market, code)" [ref=e1678]:
- code [ref=e1679]: get_capital_flow(market, code)
- cell "资金流向" [ref=e1680]
- row "get_auction(market, code) 集合竞价" [ref=e1681]:
- cell "get_auction(market, code)" [ref=e1682]:
- code [ref=e1683]: get_auction(market, code)
- cell "集合竞价" [ref=e1684]
- row "get_unusual(market, ...) 市场异动" [ref=e1685]:
- cell "get_unusual(market, ...)" [ref=e1686]:
- code [ref=e1687]: get_unusual(market, ...)
- cell "市场异动" [ref=e1688]
- row "get_server_info() 服务器交易时段" [ref=e1689]:
- cell "get_server_info()" [ref=e1690]:
- code [ref=e1691]: get_server_info()
- cell "服务器交易时段" [ref=e1692]
- row "get_kline_offset(offset, count) K 线偏移信息" [ref=e1693]:
- cell "get_kline_offset(offset, count)" [ref=e1694]:
- code [ref=e1695]: get_kline_offset(offset, count)
- cell "K 线偏移信息" [ref=e1696]
- row "get_goods_list(market, ...) 扩展市场商品列表" [ref=e1697]:
- cell "get_goods_list(market, ...)" [ref=e1698]:
- code [ref=e1699]: get_goods_list(market, ...)
- cell "扩展市场商品列表" [ref=e1700]
- generic [ref=e1701]:
- heading "MacExClient / AsyncMacExClient" [level=3] [ref=e1702]
- 'link "Permalink: MacExClient / AsyncMacExClient" [ref=e1703] [cursor=pointer]':
- /url: "#macexclient--asyncmacexclient"
- img [ref=e1704]
- table [ref=e1707]:
- rowgroup [ref=e1708]:
- row "方法 说明" [ref=e1709]:
- columnheader "方法" [ref=e1710]
- columnheader "说明" [ref=e1711]
- rowgroup [ref=e1712]:
- row "goods_count(market) 商品总数" [ref=e1713]:
- cell "goods_count(market)" [ref=e1714]:
- code [ref=e1715]: goods_count(market)
- cell "商品总数" [ref=e1716]
- row "goods_list(market, start, count) 商品列表" [ref=e1717]:
- cell "goods_list(market, start, count)" [ref=e1718]:
- code [ref=e1719]: goods_list(market, start, count)
- cell "商品列表" [ref=e1720]
- row "goods_quotes(stocks, fields) 批量报价" [ref=e1721]:
- cell "goods_quotes(stocks, fields)" [ref=e1722]:
- code [ref=e1723]: goods_quotes(stocks, fields)
- cell "批量报价" [ref=e1724]
- row "goods_quotes_list(market, ...) 市场分类报价列表" [ref=e1725]:
- cell "goods_quotes_list(market, ...)" [ref=e1726]:
- code [ref=e1727]: goods_quotes_list(market, ...)
- cell "市场分类报价列表" [ref=e1728]
- row "goods_kline(market, code, period, ...) K 线(支持复权)" [ref=e1729]:
- cell "goods_kline(market, code, period, ...)" [ref=e1730]:
- code [ref=e1731]: goods_kline(market, code, period, ...)
- cell "K 线(支持复权)" [ref=e1732]
- row "goods_tick_chart(market, code, ...) 分时图" [ref=e1733]:
- cell "goods_tick_chart(market, code, ...)" [ref=e1734]:
- code [ref=e1735]: goods_tick_chart(market, code, ...)
- cell "分时图" [ref=e1736]
- row "goods_chart_sampling(market, code) 分时缩略采样" [ref=e1737]:
- cell "goods_chart_sampling(market, code)" [ref=e1738]:
- code [ref=e1739]: goods_chart_sampling(market, code)
- cell "分时缩略采样" [ref=e1740]
- row "goods_transaction(market, code, ...) 逐笔成交" [ref=e1741]:
- cell "goods_transaction(market, code, ...)" [ref=e1742]:
- code [ref=e1743]: goods_transaction(market, code, ...)
- cell "逐笔成交" [ref=e1744]
- generic [ref=e1745]:
- heading "TdxClient / AsyncTdxClient" [level=3] [ref=e1746]
- 'link "Permalink: TdxClient / AsyncTdxClient" [ref=e1747] [cursor=pointer]':
- /url: "#tdxclient--asynctdxclient"
- img [ref=e1748]
- table [ref=e1751]:
- rowgroup [ref=e1752]:
- row "方法 说明" [ref=e1753]:
- columnheader "方法" [ref=e1754]
- columnheader "说明" [ref=e1755]
- rowgroup [ref=e1756]:
- row "get_security_count(market) 市场证券总数" [ref=e1757]:
- cell "get_security_count(market)" [ref=e1758]:
- code [ref=e1759]: get_security_count(market)
- cell "市场证券总数" [ref=e1760]
- row "get_security_list(market, start) 证券列表(分页)" [ref=e1761]:
- cell "get_security_list(market, start)" [ref=e1762]:
- code [ref=e1763]: get_security_list(market, start)
- cell "证券列表(分页)" [ref=e1764]
- row "get_security_list_all() 沪深 A 股完整列表(含行业)" [ref=e1765]:
- cell "get_security_list_all()" [ref=e1766]:
- code [ref=e1767]: get_security_list_all()
- cell "沪深 A 股完整列表(含行业)" [ref=e1768]
- row "get_security_quotes(stocks) 批量五档行情" [ref=e1769]:
- cell "get_security_quotes(stocks)" [ref=e1770]:
- code [ref=e1771]: get_security_quotes(stocks)
- cell "批量五档行情" [ref=e1772]
- row "get_security_bars(market, code, ...) 个股 K 线" [ref=e1773]:
- cell "get_security_bars(market, code, ...)" [ref=e1774]:
- code [ref=e1775]: get_security_bars(market, code, ...)
- cell "个股 K 线" [ref=e1776]
- row "get_index_bars(market, code, ...) 指数 K 线" [ref=e1777]:
- cell "get_index_bars(market, code, ...)" [ref=e1778]:
- code [ref=e1779]: get_index_bars(market, code, ...)
- cell "指数 K 线" [ref=e1780]
- row "get_minute_time_data(market, code) 今日分时" [ref=e1781]:
- cell "get_minute_time_data(market, code)" [ref=e1782]:
- code [ref=e1783]: get_minute_time_data(market, code)
- cell "今日分时" [ref=e1784]
- row "get_history_minute_time_data(market, code, date) 历史分时" [ref=e1785]:
- cell "get_history_minute_time_data(market, code, date)" [ref=e1786]:
- code [ref=e1787]: get_history_minute_time_data(market, code, date)
- cell "历史分时" [ref=e1788]
- row "get_transaction_data(market, code, ...) 当日逐笔成交" [ref=e1789]:
- cell "get_transaction_data(market, code, ...)" [ref=e1790]:
- code [ref=e1791]: get_transaction_data(market, code, ...)
- cell "当日逐笔成交" [ref=e1792]
- row "get_history_transaction_data(...) 历史逐笔成交" [ref=e1793]:
- cell "get_history_transaction_data(...)" [ref=e1794]:
- code [ref=e1795]: get_history_transaction_data(...)
- cell "历史逐笔成交" [ref=e1796]
- row "get_fund_flow(market, code) 当日资金流向" [ref=e1797]:
- cell "get_fund_flow(market, code)" [ref=e1798]:
- code [ref=e1799]: get_fund_flow(market, code)
- cell "当日资金流向" [ref=e1800]
- row "get_history_fund_flow(market, code, ...) 历史资金流向" [ref=e1801]:
- cell "get_history_fund_flow(market, code, ...)" [ref=e1802]:
- code [ref=e1803]: get_history_fund_flow(market, code, ...)
- cell "历史资金流向" [ref=e1804]
- row "get_xdxr_info(market, code) 除权除息历史" [ref=e1805]:
- cell "get_xdxr_info(market, code)" [ref=e1806]:
- code [ref=e1807]: get_xdxr_info(market, code)
- cell "除权除息历史" [ref=e1808]
- row "get_finance_info(market, code) 最新财务数据" [ref=e1809]:
- cell "get_finance_info(market, code)" [ref=e1810]:
- code [ref=e1811]: get_finance_info(market, code)
- cell "最新财务数据" [ref=e1812]
- row "get_company_info_category(market, code) 公司信息目录" [ref=e1813]:
- cell "get_company_info_category(market, code)" [ref=e1814]:
- code [ref=e1815]: get_company_info_category(market, code)
- cell "公司信息目录" [ref=e1816]
- row "get_company_info_content(...) 公司信息文本" [ref=e1817]:
- cell "get_company_info_content(...)" [ref=e1818]:
- code [ref=e1819]: get_company_info_content(...)
- cell "公司信息文本" [ref=e1820]
- row "get_block_info(filename) 板块信息" [ref=e1821]:
- cell "get_block_info(filename)" [ref=e1822]:
- code [ref=e1823]: get_block_info(filename)
- cell "板块信息" [ref=e1824]
- row "get_report_file(filename) 下载服务器文件" [ref=e1825]:
- cell "get_report_file(filename)" [ref=e1826]:
- code [ref=e1827]: get_report_file(filename)
- cell "下载服务器文件" [ref=e1828]
- row "get_market_stat() 全市场涨跌统计" [ref=e1829]:
- cell "get_market_stat()" [ref=e1830]:
- code [ref=e1831]: get_market_stat()
- cell "全市场涨跌统计" [ref=e1832]
- row "get_price_limits(market, code, name, pre_close) 涨跌停价" [ref=e1833]:
- cell "get_price_limits(market, code, name, pre_close)" [ref=e1834]:
- code [ref=e1835]: get_price_limits(market, code, name, pre_close)
- cell "涨跌停价" [ref=e1836]
- generic [ref=e1837]:
- heading "架构" [level=2] [ref=e1838]
- 'link "Permalink: 架构" [ref=e1839] [cursor=pointer]':
- /url: "#架构"
- img [ref=e1840]
- generic [ref=e1842]:
- code [ref=e1844]: "src/easy_tdx/ ├── client.py # TdxClient / AsyncTdxClient(标准协议) ├── unified.py # UnifiedTdxClient(统一入口) ├── config.py # 服务器地址、端口、超时配置 ├── indicator.py # 技术指标计算(32 个,基于 MyTT) ├── MyTT.py # 麦语言技术指标算法库 ├── mac/ │ ├── client.py # MacClient / AsyncMacClientMAC 协议) │ ├── enums.py # Period, Adjust, Category, ExMarket, SortType, ... │ ├── models.py # MacBar, MacQuoteField, MacTick, BoardInfo, ... │ └── commands/ # MAC 命令(build_request + parse_response,无 IO ├── ex/ │ ├── client.py # ExTdxClient / AsyncExTdxClient(标准协议扩展市场) │ ├── mac_client.py # MacExClient / AsyncMacExClientMAC 协议扩展市场) │ └── transport/ # ExTdxConnection(端口 7727 ├── transport/ │ ├── sync.py # TdxConnection + ping_host / ping_all │ └── async_.py # AsyncTdxConnectionasyncio ├── commands/ # 标准协议命令(无 IO ├── codec/ # price / volume / datetime / frame / bitmap 编解码 ├── models/ # 纯 dataclass,无业务逻辑 ├── offline/ # 离线数据读取模块 └── cli/ # easy-tdx CLIclick"
- button "Copy code to clipboard" [ref=e1846] [cursor=pointer]:
- img [ref=e1847]
- paragraph [ref=e1850]: commands 层不依赖 transport,可独立单测。
- generic [ref=e1851]:
- heading "开发" [level=2] [ref=e1852]
- 'link "Permalink: 开发" [ref=e1853] [cursor=pointer]':
- /url: "#开发"
- img [ref=e1854]
- generic [ref=e1856]:
- generic [ref=e1857]:
- text: python -m pytest tests/unit/ -v
- generic [ref=e1858]: "# 单元测试(无需网络)"
- text: XMTDX_LIVE=1 python -m pytest tests/integration/ -v
- generic [ref=e1859]: "# 集成测试"
- text: mypy src/
- generic [ref=e1860]: "# 类型检查"
- text: ruff check src/ tests/
- generic [ref=e1861]: "# lint"
- text: ruff format --check src/ tests/
- generic [ref=e1862]: "# format check"
- button "Copy code to clipboard" [ref=e1864] [cursor=pointer]:
- img [ref=e1865]
- generic [ref=e1868]:
- heading "致谢" [level=2] [ref=e1869]
- 'link "Permalink: 致谢" [ref=e1870] [cursor=pointer]':
- /url: "#致谢"
- img [ref=e1871]
- list [ref=e1873]:
- listitem [ref=e1874]:
- link "pytdx" [ref=e1875] [cursor=pointer]:
- /url: https://github.com/rainx/pytdx
- text: "-- 离线数据读取模块借鉴自 pytdx 项目,感谢 rainx 及所有贡献者"
- listitem [ref=e1876]:
- link "xmtdx" [ref=e1877] [cursor=pointer]:
- /url: https://github.com/minionszyw/xmtdx
- text: "-- 本项目初始原型"
- listitem [ref=e1878]:
- link "mootdx" [ref=e1879] [cursor=pointer]:
- /url: https://github.com/mootdx/mootdx
- text: "-- 工程化封装参考"
- listitem [ref=e1880]:
- link "MyTT" [ref=e1881] [cursor=pointer]:
- /url: https://github.com/mpquant/MyTT
- text: "-- 麦语言技术指标算法库,技术指标计算基于此实现"
- paragraph [ref=e1882]:
- text: 详见
- link "NOTICE" [ref=e1883] [cursor=pointer]:
- /url: /handsomejustin/easy_tdx/blob/main/NOTICE
- text:
- link "LICENSE" [ref=e1884] [cursor=pointer]:
- /url: /handsomejustin/easy_tdx/blob/main/LICENSE
- text:
- generic [ref=e1885]:
- heading "Changelog" [level=2] [ref=e1886]
- 'link "Permalink: Changelog" [ref=e1887] [cursor=pointer]':
- /url: "#changelog"
- img [ref=e1888]
- generic [ref=e1890]:
- heading "1.5.0 (2026-06-02)" [level=3] [ref=e1891]
- 'link "Permalink: 1.5.0 (2026-06-02)" [ref=e1892] [cursor=pointer]':
- /url: "#150-2026-06-02"
- img [ref=e1893]
- paragraph [ref=e1895]:
- strong [ref=e1896]: 离线数据 CLI 命令
- text: — 新增
- code [ref=e1897]: offline
- text: 命令组,无需网络即可通过 CLI 读取本地通达信数据文件。
- list [ref=e1898]:
- listitem [ref=e1899]:
- text: 新增
- code [ref=e1900]: offline home
- text: :检测通达信安装目录
- listitem [ref=e1901]:
- text: 新增
- code [ref=e1902]: offline daily
- text: A 股日线数据(.day 文件)
- listitem [ref=e1903]:
- text: 新增
- code [ref=e1904]: offline min
- text: :分钟线数据(.5/.lc1/.lc5 文件,
- code [ref=e1905]: "--type"
- text: 指定格式)
- listitem [ref=e1906]:
- text: 新增
- code [ref=e1907]: offline ex-files
- text: :列出扩展市场可用日线文件
- listitem [ref=e1908]:
- text: 新增
- code [ref=e1909]: offline ex-daily
- text: :扩展市场日线数据(期货/港股/外盘)
- listitem [ref=e1910]:
- text: 新增
- code [ref=e1911]: offline gbbq
- text: :股本变迁数据
- listitem [ref=e1912]:
- text: 新增
- code [ref=e1913]: offline financial
- text: :历史财务数据
- listitem [ref=e1914]:
- text: 新增
- code [ref=e1915]: offline blocks
- text: :自定义板块数据
- generic [ref=e1916]:
- heading "1.4.3 (2026-05-28)" [level=3] [ref=e1917]
- 'link "Permalink: 1.4.3 (2026-05-28)" [ref=e1918] [cursor=pointer]':
- /url: "#143-2026-05-28"
- img [ref=e1919]
- paragraph [ref=e1921]:
- strong [ref=e1922]: 30日乖离率信号指标
- text: — 新增 BIAS_SIGNAL 指标,在标准乖离率基础上叠加短/长信号线,通过三者位置关系判断趋势方向和转折点。源自通达信经典指标。
- list [ref=e1923]:
- listitem [ref=e1924]:
- text: 新增
- code [ref=e1925]: BIAS_SIGNAL
- text: 指标:输出 BS_X/BS_SMA/BS_LMA 三条线
- listitem [ref=e1926]:
- text: "CLI:"
- code [ref=e1927]: easy-tdx indicator BIAS_SIGNAL -m SH -c 600519 --table
- listitem [ref=e1928]:
- text: "Python API:"
- code [ref=e1929]: indicators=["BIAS_SIGNAL"]
- listitem [ref=e1930]:
- text: 详见
- link "30日乖离率信号指标详解" [ref=e1931] [cursor=pointer]:
- /url: /handsomejustin/easy_tdx/blob/main/docs/indicator-bias-signal.md
- generic [ref=e1932]:
- heading "1.4.2 (2026-05-28)" [level=3] [ref=e1933]
- 'link "Permalink: 1.4.2 (2026-05-28)" [ref=e1934] [cursor=pointer]':
- /url: "#142-2026-05-28"
- img [ref=e1935]
- paragraph [ref=e1937]: 修复 1.4.1 发布遗漏:MyTT.py 中 ZHUOYAO 函数定义未包含在 1.4.1 的 PyPI 包中。
- generic [ref=e1938]:
- heading "1.4.1 (2026-05-28)" [level=3] [ref=e1939]
- 'link "Permalink: 1.4.1 (2026-05-28)" [ref=e1940] [cursor=pointer]':
- /url: "#141-2026-05-28"
- img [ref=e1941]
- paragraph [ref=e1943]:
- strong [ref=e1944]: 捉妖大师指标
- text: — 新增 ZHUOYAO 多周期涨幅共振指标,通过 20/60/120 日涨幅及指数平滑判断短中长线趋势是否同向,用于筛选趋势刚启动的强势股。
- list [ref=e1945]:
- listitem [ref=e1946]:
- text: 新增
- code [ref=e1947]: ZHUOYAO
- text: 指标:输出 ZY_LONG/ZY_MID/ZY_SHORT/ZY_TREND 四条线
- listitem [ref=e1948]:
- text: "CLI:"
- code [ref=e1949]: easy-tdx indicator ZHUOYAO -m SH -c 600519 --table
- listitem [ref=e1950]:
- text: "Python API:"
- code [ref=e1951]: indicators=["ZHUOYAO"]
- listitem [ref=e1952]:
- text: 详见
- link "捉妖大师指标详解" [ref=e1953] [cursor=pointer]:
- /url: /handsomejustin/easy_tdx/blob/main/docs/indicator-zhuoyao.md
- generic [ref=e1954]:
- heading "1.4.0 (2026-05-28)" [level=3] [ref=e1955]
- 'link "Permalink: 1.4.0 (2026-05-28)" [ref=e1956] [cursor=pointer]':
- /url: "#140-2026-05-28"
- img [ref=e1957]
- paragraph [ref=e1959]:
- strong [ref=e1960]: 技术指标计算
- text: — 集成
- link "MyTT" [ref=e1961] [cursor=pointer]:
- /url: https://github.com/mpquant/MyTT
- text: 麦语言指标库,支持 30 个常用技术指标,一步获取 K 线 + 指标值。
- list [ref=e1962]:
- listitem [ref=e1963]:
- text: 新增
- code [ref=e1964]: indicator.py
- text: 核心模块:注册表驱动的指标调度,
- code [ref=e1965]: compute_indicators()
- text: 纯计算无 IO
- listitem [ref=e1966]:
- text: 新增
- code [ref=e1967]: MacClient.get_stock_kline_with_indicators()
- text: /
- code [ref=e1968]: AsyncMacClient
- text: 同名方法
- listitem [ref=e1969]:
- text: 新增
- code [ref=e1970]: UnifiedTdxClient.get_stock_kline_with_indicators()
- text: /
- code [ref=e1971]: AsyncUnifiedTdxClient
- text: 同名方法
- listitem [ref=e1972]:
- text: 新增 CLI 命令
- code [ref=e1973]: easy-tdx indicator
- text:
- code [ref=e1974]: easy-tdx indicator-list
- listitem [ref=e1975]: 自动获取 200+ 条历史数据预热 EMA,用户只需指定返回条数
- listitem [ref=e1976]: 支持的指标:MACD, KDJ, RSI, BOLL, DMI, ATR, WR, CCI, BIAS, OBV, VR, EMV, MFI, BRAR, ASI, TRIX, DPO, MTM, ROC, EXPMA, BBI, PSY, DFMA, CR, KTN, XSII, MASS, TAQ
- generic [ref=e1977]:
- heading "1.3.1 (2025-05-15)" [level=3] [ref=e1978]
- 'link "Permalink: 1.3.1 (2025-05-15)" [ref=e1979] [cursor=pointer]':
- /url: "#131-2025-05-15"
- img [ref=e1980]
- list [ref=e1982]:
- listitem [ref=e1983]:
- text: 新增
- code [ref=e1984]: board-summary
- text:
- code [ref=e1985]: board-ranking
- text: CLI 命令
- listitem [ref=e1986]:
- text: 新增
- code [ref=e1987]: get_board_summary()
- text: 板块汇总(成交额、主力净流入、涨跌家数)
- listitem [ref=e1988]:
- text: 新增
- code [ref=e1989]: get_board_ranking()
- text: 板块涨跌幅排行榜
- generic [ref=e1990]:
- heading "1.3.0 (2025-05-12)" [level=3] [ref=e1991]
- 'link "Permalink: 1.3.0 (2025-05-12)" [ref=e1992] [cursor=pointer]':
- /url: "#130-2025-05-12"
- img [ref=e1993]
- list [ref=e1995]:
- listitem [ref=e1996]:
- text: 新增 MAC 协议客户端
- code [ref=e1997]: MacClient
- text: /
- code [ref=e1998]: AsyncMacClient
- text: (端口 7709
- listitem [ref=e1999]:
- text: 新增扩展市场客户端
- code [ref=e2000]: MacExClient
- text: /
- code [ref=e2001]: AsyncMacExClient
- text: (端口 7727
- listitem [ref=e2002]:
- text: 新增统一客户端
- code [ref=e2003]: UnifiedTdxClient
- text: 自动路由 A 股 / 扩展市场
- listitem [ref=e2004]: 新增板块、资金流向、集合竞价、异动、个股特征等数据接口
- listitem [ref=e2005]:
- text: 新增
- code [ref=e2006]: easy-tdx
- text: CLI 工具,默认 JSON 输出
- generic [ref=e2007]:
- heading "1.2.1 (2025-04-20)" [level=3] [ref=e2008]
- 'link "Permalink: 1.2.1 (2025-04-20)" [ref=e2009] [cursor=pointer]':
- /url: "#121-2025-04-20"
- img [ref=e2010]
- list [ref=e2012]:
- listitem [ref=e2013]: 离线数据读取模块(日线、分钟线、板块、财务)
- listitem [ref=e2014]: 除权除息、股本变迁读取
- generic [ref=e2015]:
- heading "1.0.0 (2025-03-01)" [level=3] [ref=e2016]
- 'link "Permalink: 1.0.0 (2025-03-01)" [ref=e2017] [cursor=pointer]':
- /url: "#100-2025-03-01"
- img [ref=e2018]
- list [ref=e2020]:
- listitem [ref=e2021]: 首个正式版本
- listitem [ref=e2022]: TdxClient / AsyncTdxClient 标准协议客户端
- listitem [ref=e2023]: K 线、实时报价、分时、逐笔成交、财务数据
- generic [ref=e2027]:
- generic [ref=e2030]:
- heading "About" [level=2] [ref=e2031]
- paragraph [ref=e2032]: 通达信python SDK,支持在线获取数据及离线本地数据读取。全面优化接口。
- heading "Topics" [level=3] [ref=e2033]
- generic [ref=e2035]:
- link "technical-analysis" [ref=e2036] [cursor=pointer]:
- /url: /topics/technical-analysis
- link "financial-data" [ref=e2037] [cursor=pointer]:
- /url: /topics/financial-data
- link "tdx" [ref=e2038] [cursor=pointer]:
- /url: /topics/tdx
- link "pytdx" [ref=e2039] [cursor=pointer]:
- /url: /topics/pytdx
- link "mootdx" [ref=e2040] [cursor=pointer]:
- /url: /topics/mootdx
- link "chinese-stock-market" [ref=e2041] [cursor=pointer]:
- /url: /topics/chinese-stock-market
- link "a-share-tdx" [ref=e2042] [cursor=pointer]:
- /url: /topics/a-share-tdx
- heading "Resources" [level=3] [ref=e2043]
- link "Readme" [ref=e2045] [cursor=pointer]:
- /url: "#readme-ov-file"
- img [ref=e2046]
- text: Readme
- heading "License" [level=3] [ref=e2048]
- link "View license" [ref=e2050] [cursor=pointer]:
- /url: "#License-1-ov-file"
- img [ref=e2051]
- text: View license
- link "Activity" [ref=e2054] [cursor=pointer]:
- /url: /handsomejustin/easy_tdx/activity
- img [ref=e2055]
- text: Activity
- heading "Stars" [level=3] [ref=e2057]
- link "61 stars" [ref=e2059] [cursor=pointer]:
- /url: /handsomejustin/easy_tdx/stargazers
- img [ref=e2060]
- strong [ref=e2062]: "61"
- text: stars
- heading "Watchers" [level=3] [ref=e2063]
- link "1 watching" [ref=e2065] [cursor=pointer]:
- /url: /handsomejustin/easy_tdx/watchers
- img [ref=e2066]
- strong [ref=e2068]: "1"
- text: watching
- heading "Forks" [level=3] [ref=e2069]
- link "23 forks" [ref=e2071] [cursor=pointer]:
- /url: /handsomejustin/easy_tdx/forks
- img [ref=e2072]
- strong [ref=e2074]: "23"
- text: forks
- link "Report repository" [ref=e2076] [cursor=pointer]:
- /url: /contact/report-content?content_url=https%3A%2F%2Fgithub.com%2Fhandsomejustin%2Feasy_tdx&report=handsomejustin+%28user%29
- generic [ref=e2078]:
- heading "Releases 2" [level=2] [ref=e2079]:
- link "Releases 2" [ref=e2080] [cursor=pointer]:
- /url: /handsomejustin/easy_tdx/releases
- text: Releases
- generic "2" [ref=e2081]
- link "v1.5.0 离线数据 CLI 版 Latest Jun 2, 20263 days ago" [ref=e2082] [cursor=pointer]:
- /url: /handsomejustin/easy_tdx/releases/tag/v1.5.0
- img [ref=e2083]
- generic [ref=e2085]:
- generic [ref=e2086]:
- generic [ref=e2087]: v1.5.0 离线数据 CLI 版
- 'generic "Label: Latest" [ref=e2088]': Latest
- generic [ref=e2089]: Jun 2, 20263 days ago
- link "+ 1 release" [ref=e2091] [cursor=pointer]:
- /url: /handsomejustin/easy_tdx/releases
- generic [ref=e2093]:
- heading "Packages" [level=2] [ref=e2094]:
- link "Packages" [ref=e2095] [cursor=pointer]:
- /url: /users/handsomejustin/packages?repo_name=easy_tdx
- generic [ref=e2096]: No packages published
- generic [ref=e2098]:
- heading "Contributors 4" [level=2] [ref=e2099]:
- link "Contributors 4" [ref=e2100] [cursor=pointer]:
- /url: /handsomejustin/easy_tdx/graphs/contributors
- text: Contributors
- generic "4" [ref=e2101]
- list [ref=e2102]:
- listitem [ref=e2103]:
- link "@claude" [ref=e2104] [cursor=pointer]:
- /url: https://github.com/claude
- img "@claude" [ref=e2105]
- link "claude Claude" [ref=e2107] [cursor=pointer]:
- /url: https://github.com/claude
- strong [ref=e2108]: claude
- text: Claude
- listitem [ref=e2109]:
- link "@actions-user" [ref=e2110] [cursor=pointer]:
- /url: https://github.com/actions-user
- img "@actions-user" [ref=e2111]
- link "actions-user" [ref=e2113] [cursor=pointer]:
- /url: https://github.com/actions-user
- strong [ref=e2114]: actions-user
- listitem [ref=e2115]:
- link "@handsomejustin" [ref=e2116] [cursor=pointer]:
- /url: https://github.com/handsomejustin
- img "@handsomejustin" [ref=e2117]
- link "handsomejustin 毛利哥" [ref=e2119] [cursor=pointer]:
- /url: https://github.com/handsomejustin
- strong [ref=e2120]: handsomejustin
- text: 毛利哥
- listitem [ref=e2121]:
- link "@minionszyw" [ref=e2122] [cursor=pointer]:
- /url: https://github.com/minionszyw
- img "@minionszyw" [ref=e2123]
- link "minionszyw" [ref=e2125] [cursor=pointer]:
- /url: https://github.com/minionszyw
- strong [ref=e2126]: minionszyw
- generic [ref=e2128]:
- heading "Languages" [level=2] [ref=e2129]
- list [ref=e2133]:
- listitem [ref=e2134]:
- link "Python 100.0%" [ref=e2135] [cursor=pointer]:
- /url: /handsomejustin/easy_tdx/search?l=python
- img [ref=e2136]
- generic [ref=e2138]: Python
- generic [ref=e2139]: 100.0%
- contentinfo [ref=e2141]:
- heading "Footer" [level=2] [ref=e2142]
- generic [ref=e2143]:
- generic [ref=e2144]:
- link "GitHub Homepage" [ref=e2145] [cursor=pointer]:
- /url: https://github.com
- img [ref=e2146]
- generic [ref=e2148]: © 2026 GitHub, Inc.
- navigation "Footer" [ref=e2149]:
- heading "Footer navigation" [level=3] [ref=e2150]
- list "Footer navigation" [ref=e2151]:
- listitem [ref=e2152]:
- link "Terms" [ref=e2153] [cursor=pointer]:
- /url: https://docs.github.com/site-policy/github-terms/github-terms-of-service
- listitem [ref=e2154]:
- link "Privacy" [ref=e2155] [cursor=pointer]:
- /url: https://docs.github.com/site-policy/privacy-policies/github-privacy-statement
- listitem [ref=e2156]:
- link "Security" [ref=e2157] [cursor=pointer]:
- /url: https://github.com/security
- listitem [ref=e2158]:
- link "Status" [ref=e2159] [cursor=pointer]:
- /url: https://www.githubstatus.com/
- listitem [ref=e2160]:
- link "Community" [ref=e2161] [cursor=pointer]:
- /url: https://github.community/
- listitem [ref=e2162]:
- link "Docs" [ref=e2163] [cursor=pointer]:
- /url: https://docs.github.com/
- listitem [ref=e2164]:
- link "Contact" [ref=e2165] [cursor=pointer]:
- /url: https://support.github.com?tags=dotcom-footer
- listitem [ref=e2166]:
- button "Manage cookies" [ref=e2168] [cursor=pointer]
- listitem [ref=e2169]:
- button "Do not share my personal information" [ref=e2171] [cursor=pointer]