3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
在 JoinQuant 平台中,科创板股票(以 688 开头)的交易规则与主板有所不同。当您使用市价单(order_value 默认使用市价单)交易科创板股票时,必须指定保护限价。
您遇到的错误:
error=科创板市价单需要指定保护限价,取值必须大于 0 且小于 1 万元
是因为您在调用 order_value 时,没有传入 style 参数,系统默认使用了普通的市价单,而科创板要求市价单必须带有保护限价。
您需要使用 MarketOrderStyle 并传入一个保护限价(limit_price)。
假设您要买入价值 1,000,000 元的 688247.XSHG,并且您能接受的最高买入价格(保护价)为 50 元,代码应该这样写:
# 导入需要的下单样式
from jqdata import MarketOrderStyle
# 下单科创板股票,指定保护限价为 50 元
order_value('688247.XSHG', 1000000, style=MarketOrderStyle(50))
如果您是卖出,假设您能接受的最低卖出价格为 40 元:
# 卖出科创板股票,指定保护限价为 40 元
order_value('688247.XSHG', -1000000, style=MarketOrderStyle(40))
根据 JoinQuant API 文档,科创板保护价的逻辑如下:
提示:在实际策略中,您可以通过 get_current_data() 获取该股票的最新价或涨跌停价,动态计算出一个合理的保护价传入 MarketOrderStyle 中,以确保订单能够顺利成交。