- 港股 9 档保护规则 (买入价不得高于卖1价 9档 / 低于买1价 24档) - 长桥 CLI/SDK 不返回拒绝原因, 需查 App 或客服 - helper 新增 get_depth() + adjust_price_for_order() - hk_intraday_cli.py 自动调整价格到合法范围 - 实测: 9988.HK 112.70 → 调整到 ask1 108.00 → 下单成功 Co-Authored-By: Claude <noreply@anthropic.com>
83 lines
2.3 KiB
Markdown
83 lines
2.3 KiB
Markdown
# Order Rejection Diagnosis
|
|
|
|
## 港股限价单 9 档保护规则
|
|
|
|
港交所对限价单(Limit Order)有严格保护:
|
|
|
|
| 方向 | 价格上限 | 价格下限 |
|
|
|------|----------|----------|
|
|
| 买入 | 卖1价 + 9档 | 买1价 - 24档 |
|
|
| 卖出 | 卖1价 + 24档 | 买1价 - 9档 |
|
|
|
|
**超出范围会被交易所自动拒绝**(状态: `OrderStatus.Rejected`)。
|
|
|
|
## 长桥 CLI / SDK 不返回拒绝原因
|
|
|
|
长桥 CLI `orders --json` 只返回 `status: "OrderStatus.Rejected"`,**不包含拒绝原因字段**。
|
|
|
|
要查看具体原因:
|
|
1. 登录长桥手机 App → 订单详情
|
|
2. 或联系长桥客服
|
|
|
|
## 常见拒绝原因及修复
|
|
|
|
### 1. 价格超出 9 档范围 (最常见)
|
|
|
|
**修复**: 下单前查盘口,自动调整价格到合法范围。
|
|
|
|
```python
|
|
from longbridge_cli_helper import get_depth, adjust_price_for_order
|
|
|
|
depth = get_depth('9988.HK')
|
|
# depth = {'bid1': 107.90, 'ask1': 108.00}
|
|
|
|
# 买入价 = ask1 (吃卖1档)
|
|
adjusted = adjust_price_for_order('9988.HK', 112.70, 'buy')
|
|
# 返回 108.00 (不再 112.70)
|
|
```
|
|
|
|
### 2. 余额不足
|
|
|
|
```bash
|
|
longbridge balance --json
|
|
# 看 buy_power 字段
|
|
```
|
|
|
|
如果购买力 < 所需保证金,下买单会被拒。
|
|
|
|
### 3. 港股主板最小交易金额
|
|
|
|
部分券商要求单笔 ≥ 50,000 HKD:
|
|
- 9988.HK 200股 @ 108 = 21,600 HKD ← 不够
|
|
- 需要至少 463 股 (50,000 / 108)
|
|
|
|
### 4. 账户认证 / 风控
|
|
|
|
新开户、T+1 限制等。具体原因只能问长桥客服。
|
|
|
|
## 实测案例
|
|
|
|
| 时间 | 标的 | 原始价 | 盘口 bid1 | ask1 | 结果 |
|
|
|------|------|--------|----------|------|------|
|
|
| 2026-07-09 | RGTI.US | 15.40 | - | - | ✅ 成交 |
|
|
| 2026-07-09 | 9988.HK | 112.70 | 107.90 | 108.00 | ❌ Rejected (超 9 档) |
|
|
| 2026-07-09 | 1810.HK | 25.98 | - | - | ❌ Rejected |
|
|
| 2026-07-09 | 9988.HK | 108.00(调整后) | 107.90 | 108.00 | ✅ 下单成功 |
|
|
|
|
## 防御性编程
|
|
|
|
```python
|
|
# helper.get_depth() 返回盘口
|
|
# helper.adjust_price_for_order() 自动调整到合法范围
|
|
|
|
# 推荐做法: 下单前自动调整
|
|
price = current_price
|
|
adjusted_price = adjust_price_for_order(symbol, price, side)
|
|
if abs(adjusted_price - price) > 0.05:
|
|
print(f"⚠️ 价格调整: {price} → {adjusted_price}")
|
|
```
|
|
|
|
## 美股规则
|
|
|
|
美股没有 9 档保护,但有 Reg NMS Rule 611: 价格必须在 NBBO 之间。
|
|
实际上下单价格一般都会被接受,除非极端市况。 |