Pharos
Contract

exchange.SetContractType()

设置合约类型(仅限合约交易)。

语法

python
exchange.SetContractType(contract_type)

参数

参数类型必填说明
contract_typestr合约类型

常用合约类型

  • "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}")

注意事项

  1. 仅限合约:此方法仅适用于合约交易
  2. 切换前平仓:建议切换合约前先平仓和取消挂单
  3. 交易所差异:不同交易所的合约类型名称可能不同

相关方法