等数量
EqualQuantity 表示尽量让组内每个账户分到相同数量。它是最容易理解的 FA 分配方法,也最适合新手做模拟验证。
order.faGroup = "Group_Equal"order.faMethod = ""order.faPercentage = ""| 字段 | 写法 | 说明 |
|---|---|---|
faGroup | TWS 中存在的组名 | 组内账户参与分配。 |
faMethod | 通常留空 | 使用组内默认方法;只有明确需要覆盖时才填写。 |
faPercentage | 空字符串 | 此方法不需要百分比。 |
组内默认方法应通过 requestFA(1) 返回的 XML 确认。如果 XML 中显示的名称不是 EqualQuantity,以 TWS 返回值为准。
订单总数量: 20账户数量: 2理论分配: 每个账户 10如果订单总数量不能被账户数量整除,TWS 会按自身规则处理剩余数量。策略应尽量避免提交无法整除的小数量订单,尤其是期权、期货或最小交易单位较严格的产品。
XML 理解
Section titled “XML 理解”<Group> <name>Group_Equal</name> <defaultMethod>EqualQuantity</defaultMethod> <ListOfAccts> <String>DU_ACCOUNT_1</String> <String>DU_ACCOUNT_2</String> </ListOfAccts></Group>真实 XML 应以 requestFA() 返回为准。文档中的账户号是脱敏示例。
def can_split_equally(total_quantity, account_count): if account_count <= 0: raise ValueError("账户数量必须大于 0") return total_quantity % account_count == 0即使能整除,也要通过 openOrder() 和 TWS 分配界面核对结果。等数量分配不代表所有账户都一定能成交,因为账户购买力、交易权限和保证金要求可能不同。