🚀 AI 一键生成 qmt 策略代码
立即体验
👉 AI 生成代码 👈

QMT策略默认品种怎么改成期货?

qmt | 发布时间: 2026/5/29
以下内容由 EasyQuant 生成。

问题描述

QMT策略 默认品种怎么改成期货?急!!

/

解决方案

在 QMT (迅投量化交易平台) 中,将策略的默认品种修改为期货非常简单。您可以通过界面设置代码设置两种方式来实现。以下是详细的操作步骤:

方法一:通过策略编辑器界面修改(推荐)

如果您希望在点击“运行”或“回测”时默认加载期货品种,可以直接在策略编辑器中进行设置:

  1. 打开 QMT 终端,进入**【策略开发】**界面。
  2. 双击打开您的 Python 策略,进入**【策略编辑器】**。
  3. 在编辑器右侧的面板中找到**【基本信息】**选项卡。
  4. 找到**【默认品种】**一栏,点击当前的品种代码。
  5. 在弹出的搜索框中,输入您想要的期货合约代码(例如沪深300主力合约输入 IF00IF.IF),选中后确认即可。

注意:当您在非行情界面(如策略开发界面)点击运行时,系统会基于这里设置的默认品种运行。

方法二:通过 Python 代码修改(适用于多品种或动态品种)

如果您希望在代码中强制指定策略运行的期货品种,可以在 init 初始化函数中使用 ContextInfo.set_universe() 方法来设定合约池。

#coding:gbk
def init(ContextInfo):
    # 设置默认的期货合约池,例如:沪深300当月连续(IF00.IF) 和 螺纹钢主力(zn.SF)
    stocklist = ['IF00.IF', 'zn.SF']
    ContextInfo.set_universe(stocklist)
    
    # 也可以动态获取某个品种的主力合约
    # main_contract = ContextInfo.get_main_contract('IF.IF')
    # ContextInfo.set_universe([main_contract])

def handlebar(ContextInfo):
    # 获取当前运行的合约代码
    current_code = ContextInfo.stockcode
    print(f"当前运行的期货品种是: {current_code}")

💡 附录:QMT 期货市场代码后缀说明

在 QMT 中输入期货代码时,必须带上正确的市场后缀,格式为 合约代码.市场代码

  • 中金所 (IF):例如 IF1805.IFIF00.IF (连续合约)
  • 上期所 (SF):例如 zn1805.SFrb00.SF
  • 大商所 (DF):例如 m1805.DFi00.DF
  • 郑商所 (ZF):例如 SR1805.ZFTA00.ZF
  • 能源中心 (INE):例如 sc1809.INE

温馨提示:在进行期货策略回测或运行前,请务必前往**【数据管理】**中下载对应期货品种和周期的历史数据,否则策略可能无法正常获取行情。