Contract
exchange.SetContractType()
设置合约类型(仅限合约交易)。
语法
python
exchange.SetContractType(contract_type)参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| contract_type | str | 是 | 合约类型 |
常用合约类型
"swap"- 永续合约"quarter"- 季度合约"next_quarter"- 次季度合约"this_week"- 当周合约"next_week"- 次周合约
注意:不同交易所支持的合约类型不同,请参考具体交易所文档。
返回值
无返回值
示例
基础用法
python
# 设置为永续合约
exchange.SetContractType("swap")
Log("已切换到永续合约")合约切换
python
def switch_contract(contract_type):
"""切换合约类型"""
# 1. 先平仓所有持仓
positions = exchange.GetPosition()
for pos in positions:
if pos['Type'] == 'long':
exchange.SetDirection("closebuy")
exchange.Sell(-1, pos['Amount'])
else:
exchange.SetDirection("closesell")
exchange.Buy(-1, pos['Amount'])
# 2. 取消所有挂单
exchange.CancelAllOrders()
# 3. 切换合约
exchange.SetContractType(contract_type)
Log(f"已切换到合约: {contract_type}")
# 切换到季度合约
switch_contract("quarter")获取当前合约类型
python
current_type = exchange.GetContractType()
Log(f"当前合约类型: {current_type}")注意事项
- 仅限合约:此方法仅适用于合约交易
- 切换前平仓:建议切换合约前先平仓和取消挂单
- 交易所差异:不同交易所的合约类型名称可能不同
相关方法
- GetContractType - 获取合约类型
- SetDirection - 设置开平仓方向
- SetMarginLevel - 设置杠杆倍数
- SetPositionMode - 设置仓位模式(全仓/逐仓)
- GetPosition - 获取持仓信息