# 完整示例与下载

下载示例使用环境变量，不包含真实令牌或交易密码。运行前请按 [安装与环境](./installation.md) 手动设置 `EXSDK_TOKEN`；这是示例约定的变量名，不是 SDK 内置变量。脚本调用 `os.environ` 读取后，再将令牌传入 `ExApi`。完成配置后，每个文件均可独立运行。

## 行情与分析

| 文件 | 内容 | 运行方式 |
| --- | --- | --- |
| [quickstart.py](/examples/quickstart.py) | 自动发现主力合约并观察行情 | `python quickstart.py` |
| [quotes.py](/examples/quotes.py) | 期货 / 期权行情、盘口与时间戳 | `python quotes.py --kind FUTURE` 或 `python quotes.py --kind OPTION` |
| [klines.py](/examples/klines.py) | K 线快照及 MA20 | `python klines.py` |
| [history.py](/examples/history.py) | 按交易日导出 CSV | `python history.py --symbol 合约代码 --start 20260901 --end 20260909 --output history.csv` |

默认自动选取的第一份合约仅用于接口演示，不代表交易推荐。历史示例的合约和日期必须按实际数据范围指定。

## 交易与撤单

| 文件 | 内容 | 运行方式 |
| --- | --- | --- |
| [account.py](/examples/account.py) | CTP 同步、资金、持仓和订单快照，只读 | `python account.py` |
| [trading.py](/examples/trading.py) | 限价委托与结果跟踪 | 默认不下单；阅读脚本后显式传入 `--execute` 及合约、价格 |
| [cancel.py](/examples/cancel.py) | 按本地订单号撤单并跟踪 | 默认不撤单；显式指定 `--execute --order-id 本地订单号` |

CTP 示例需要本地设置 `CTP_BROKER_ID`、`CTP_USER_ID`、`CTP_PASSWORD`、`CTP_FRONT_URL`、`CTP_APP_ID`、`CTP_AUTH_CODE`。使用 `Ctrl+C` 可退出观察程序，但退出不自动撤销已提交的订单。

## 常见改编方式

- 用真实查询结果或明确指定的有效合约替换样例合约。
- 在 `wait_update()` 发布快照后再计算业务指标，避免使用旧快照作出交易决策。
- 多个合约在循环之前创建句柄，通过一层更新循环处理。
- 将 `UNKNOWN` 与网络超时的处理交给订单跟踪与人工核对，不做无条件重发。
