|
71 | 71 | from tqsdk.risk_rule import TqRiskRule
|
72 | 72 | from tqsdk.ins_schema import ins_schema, basic, derivative, future, option
|
73 | 73 | from tqsdk.symbols import TqSymbols
|
74 |
| -from tqsdk.tradeable import TqAccount, TqZq, TqKq, TqKqStock, TqSim, TqSimStock, BaseSim, BaseOtg, TqCtp, TqRohon, TqJees, TqYida |
| 74 | +from tqsdk.tradeable import TqAccount, TqZq, TqKq, TqKqStock, TqSim, TqSimStock, BaseSim, BaseOtg, TqCtp, TqRohon, TqJees, TqYida, TqTradingUnit |
75 | 75 | from tqsdk.trading_status import TqTradingStatus
|
76 | 76 | from tqsdk.tqwebhelper import TqWebHelper
|
77 | 77 | from tqsdk.utils import _generate_uuid, _query_for_quote, BlockManagerUnconsolidated, _quotes_add_night, _bisect_value, \
|
|
81 | 81 | from .__version__ import __version__
|
82 | 82 |
|
83 | 83 |
|
84 |
| -UnionTradeable = Union[TqAccount, TqKq, TqZq, TqKqStock, TqSim, TqSimStock, TqCtp, TqRohon, TqJees, TqYida] |
| 84 | +# todo: |
| 85 | +# 在 python 文档中对 type alias 的定义有多种:TypeAliasType, TypeAlias 以及 simple assignment https://docs.python.org/3.13/library/typing.html#type-aliases |
| 86 | +# Union 类型支持嵌套 Union 类型,但是不支持嵌套 Union TypeAliasType 类型:https://docs.python.org/3.13/library/typing.html#typing.Union |
| 87 | +# 但是 Union 文档没有明说是否支持嵌套 Union simple assignment 类型,从实现上看,目前所有版本都支持(最新 3.13) |
| 88 | +UnionTradeable = Union[TqAccount, TqKq, TqZq, TqKqStock, TqSim, TqSimStock, TqCtp, TqRohon, TqJees, TqYida, TqTradingUnit] |
85 | 89 |
|
86 | 90 |
|
87 | 91 | class TqApi(TqBaseApi):
|
@@ -124,9 +128,11 @@ def __init__(self, account: Optional[Union[TqMultiAccount, UnionTradeable]] = No
|
124 | 128 |
|
125 | 129 | * :py:class:`~tqsdk.TqYida` : 使用易达账号
|
126 | 130 |
|
| 131 | + * :py:class:`~tqsdk.TqTradingUnit` : 使用交易单元账号 |
| 132 | +
|
127 | 133 | * :py:class:`~tqsdk.TqMultiAccount` : 多账户列表,列表中支持 :py:class:`~tqsdk.TqAccount`、:py:class:`~tqsdk.TqKq`、:py:class:`~tqsdk.TqKqStock`、\
|
128 | 134 | :py:class:`~tqsdk.TqSim`、:py:class:`~tqsdk.TqSimStock`、:py:class:`~tqsdk.TqZq`、:py:class:`~tqsdk.TqRohon`、:py:class:`~tqsdk.TqJees`、\
|
129 |
| - :py:class:`~tqsdk.TqYida` 和 :py:class:`~tqsdk.TqCtp` 中的 0 至 N 个或者组合 |
| 135 | + :py:class:`~tqsdk.TqYida` 、:py:class:`~tqsdk.TqTradingUnit` 和 :py:class:`~tqsdk.TqCtp` 中的 0 至 N 个或者组合 |
130 | 136 |
|
131 | 137 | auth (TqAuth/str): [必填]用户快期账户:
|
132 | 138 | * :py:class:`~tqsdk.TqAuth` : 添加快期账户类,例如:TqAuth("[email protected]", "123456")
|
@@ -1478,6 +1484,9 @@ def cancel_order(self, order_or_order_id: Union[str, Order], account: Optional[U
|
1478 | 1484 | "user_id": self._account._get_account_id(account),
|
1479 | 1485 | "order_id": order_id,
|
1480 | 1486 | }
|
| 1487 | + # 风控检查 |
| 1488 | + self._risk_manager._could_cancel_order(msg) |
| 1489 | + self._risk_manager._on_cancel_order(msg) |
1481 | 1490 | self._send_pack(msg)
|
1482 | 1491 |
|
1483 | 1492 | # ----------------------------------------------------------------------
|
|
0 commit comments