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

JoinQuant 聚宽平台 OrderStyle 下单方式(市价单、限价单)使用指南

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

问题描述

order_style函数怎么用?

order_style函数有没有使用帮助文档,看到别的策略中有用这个函数,但是不知道这个函数怎么使用,参数是什么意思?

解决方案

在 JoinQuant(聚宽)平台的 API 中,其实并没有直接名为 order_style 的函数,您看到的应该是 OrderStyle 类及其子类。它们通常作为下单函数(如 orderorder_targetorder_value 等)的 style 参数传入,用于指定订单的类型(如市价单、限价单等)。

如果下单时不指定 style 参数,系统默认使用市价单(MarketOrderStyle)。

以下是 OrderStyle 常用子类的详细说明及使用方法:

1. 市价单:MarketOrderStyle

市价单是指按照当前市场最优价格立即成交的订单。

参数说明:

  • limit_price:科创板市价单的保护价,对非科创板标的无效。科创板市价买入时成交的最高价格不高于本价格,市价卖出时成交的最低价格不低于本价格。

使用示例:

# 以市价单买入平安银行股票100股(默认方式)
order('000001.XSHE', 100) 

# 显式指定以市价单买入平安银行股票100股
order('000001.XSHE', 100, style=MarketOrderStyle())

# 科创板设置保护价:以市价单买入天准科技200股,保护价为200元
order('688003.XSHG', 200, style=MarketOrderStyle(200))

2. 限价单:LimitOrderStyle

限价单是指按照指定的限定价格或更优价格成交的订单。

参数说明:

  • limit_price:限定价格。买入时,成交价必须小于等于该价格;卖出时,成交价必须大于等于该价格。

使用示例:

# 以10.0元的价格下一个限价单,买入平安银行100股
order('000001.XSHE', 100, style=LimitOrderStyle(10.0)) 

# 在仓位1中以3600.0的限价单,平一手沪深300指数期货的空单
order('IF1412.CCFX', -1, style=LimitOrderStyle(3600.0), side='short', pindex=1)

3. 停止单(条件单)

停止单会在标的价格突破(向上或向下)指定价格时,转化为对应的市价单或限价单。分为两种:

  • StopMarketOrderStyle(mode, stop_price):触发后转为市价单。
  • StopLimitOrderStyle(mode, stop_price, limit_price):触发后转为限价单。

参数说明:

  • mode:模式,可选 "stop_loss" (止损模式) 或 "take_profit" (止盈模式)。
  • stop_price:触发价格。
  • limit_price:触发后转为限价单的限定价格。

止盈止损逻辑:

  • 止损模式 (stop_loss):平空/做多/买入时,触发价必须大于最新价;平多/做空/卖出时,触发价必须小于最新价。
  • 止盈模式 (take_profit):平多/做空/卖出时,触发价必须大于最新价;平空/做多/买入时,触发价必须小于最新价。
    (若触发价不满足上述条件,该停止单会立即触发)

使用示例:

# 假设当前价格为 10 元,设置一个止损单:当价格跌破 9 元时,以市价卖出 100 股
order('000001.XSHE', -100, style=StopMarketOrderStyle('stop_loss', 9.0))

# 假设当前价格为 10 元,设置一个止盈单:当价格涨破 12 元时,以 11.8 元的限价卖出 100 股
order('000001.XSHE', -100, style=StopLimitOrderStyle('take_profit', 12.0, 11.8))

总结

在编写策略时,您可以根据需要将这些 Style 对象传递给 orderorder_targetorder_value 等函数的 style 参数,从而精确控制订单的成交方式。