## 原型

```python
ContextInfo.get_main_contract(codemarket)
```

## 释义

ContextInfo.get_main_contract 是 QMT 内置 Python 中用于获取期货主力合约的接口。

研究：官方目录未明确；回测：官方目录未明确；模拟：官方目录未明确；实盘：支持。

## 参数

| 参数 | 是否必填 | 官方原始定义 |
|---|---:|---|
| `codemarket` | 是 | codemarket |

## 返回值

str，合约代码

## 示例

```python
示例返回值

# coding:gbk

def init(C):

pass

def handlebar(C):

symbol1 = C.get_main_contract('IF00.IF')# 获取当前主力合约

symbol2 = C.get_main_contract('IF00.IF',"20190101")# 获取指定日期主力合约

symbol3 = C.get_main_contract('IF00.IF',"20181101","20190101") # 获取时间段内全部主力合约

print(symbol1, symbol2)

print("="*10)

print(symbol3)
```

## 详细说明

### 使用提示

该函数支持实盘/回测两种模式

若要使用该函数获取历史主力合约，必须要先下载历史主力合约数据

历史主力合约数据目前通过界面端数据管理 - 过期合约数据 - 历史主力合约下载

### 功能说明

获取当前期货主力合约

### 参数详细说明

| 字段名 | 数据类型 | 解释 |
| --- | --- | --- |
| codemarket | string | 合约和市场，合约格式为品种名加00，如IF00.IF，zn00.SF |
| startDate | string | 开始日期(可以不写),如20180608 |
| endDate | string | 结束日期(可以不写),如20190608 |

### 返回值

str，合约代码
