问题描述
请问几个问题:
1。 这个需要特别权限吗?我用的是国信的iquant
2。这个功能的实现是在本地执行的吗? 就是说,我用这个函数挂单后,能不能关闭本地的程序,而能保证挂单的正常执行? 如果是本地重启程序有没有影响?
3。
SuperPriceType int 单笔超价类型:
按比例:0
按数值1
SuperPriceRate float 单笔超价(按比例)[0-1]
SuperPriceValue float 单笔超价(按数值)
这个super price的含义是什么意思?具体会怎么影响挂单的执行?
PriceRangeType int 波动区间类型按比例:0,按数值1
PriceRangeValue float 波动区间(按数值)
PriceRangeRate float 波动区间(按比例)[0-1]
这组指定价格范围的也不理解,前面不是已经有OrderType用来指定价格了吗? 这个范围什么含义?
UseTrigger int 是否触价:
否:0
是:1
TriggerType int 触价类型:
最新价大于:1
最新价小于:2
TriggerPrice float 触价价格
这个触价呢?
还望回复,谢谢
解决方案
针对您在使用 QMT(国信 iquant)中 algo_passorder 算法交易函数遇到的问题,以下是详细的解答:
1. 这个需要特别权限吗?
通常是需要的。 algo_passorder 涉及算法交易(如 TWAP、VWAP 或本地拆单算法),这部分功能在大多数券商(包括国信 iquant)中属于高级交易权限。如果您在调用时发现没有生效或报错,建议您联系您的券商客户经理,确认您的资金账号是否已经开通了“算法交易”或“程序化交易”的相关权限。
2. 这个功能的实现是在本地执行的吗?关闭程序有影响吗?
algo_passorder 的执行依赖于本地客户端。
- 关闭程序的影响:如果您使用
algo_passorder下达了一个需要持续一段时间的算法任务(例如分批拆单),关闭本地 QMT 客户端会导致该算法任务停止执行。因为拆单和定时下单的逻辑是由本地客户端的交易引擎控制的。 - 重启程序的影响:重启客户端后,之前未执行完的本地算法任务不会自动恢复。如果您需要离线执行的算法,可以了解一下券商是否提供服务端算法(如
smart_algo_passorder智能算法,部分券商支持将智能算法单下发到服务端执行,具体需咨询券商)。
3. SuperPrice (超价) 的含义及影响
超价(SuperPrice)是为了提高成交概率而设置的让价机制。
在实际交易中,如果严格按照盘口价格(如买一价)下单,可能因为行情波动快而无法成交。超价允许您在基准价格的基础上,额外增加(买入时)或减少(卖出时)一定的价格去委托。
- SuperPriceType:选择超价的方式。
0表示按比例(如超价 1%),1表示按绝对数值(如超价 0.05 元)。 - 影响:假设您要买入,基准价是 10.00 元,您设置按数值超价 0.02 元,那么实际委托价会变成 10.02 元。这样能大大提高抢单的成交率。由于 A 股是价格优先机制,即使您挂 10.02 元,如果卖一价是 10.00 元,依然会以 10.00 元成交。
4. PriceRange (波动区间) 的含义
波动区间是为了控制风险,防止在极端行情下以偏离预期过大的价格成交。
虽然 prType 指定了报价方式(如最新价、对手价),但在算法拆单的持续时间内,市场价格是不断变化的。
- 含义:波动区间设定了算法执行期间,允许的最高买价或最低卖价的边界。它以您触发算法时的初始价格为基准,划定一个范围。
- 作用:例如,您希望买入某只股票,但如果它突然暴涨超过您设定的波动区间(比如上涨超过 2%),算法就会暂停下单,直到价格回落到区间内。这是一种价格保护机制,防止算法在价格飞涨时盲目追高。
5. Trigger (触价) 的含义
触价相当于一个“条件触发器”。
- 含义:设置触价后,算法任务提交时并不会立即开始执行下单,而是进入“监控状态”。只有当市场的最新价满足您设定的条件(大于或小于
TriggerPrice)时,算法任务才会被真正激活,开始按照设定的规则(如拆单、超价等)进行委托。 - 参数说明:
UseTrigger:1表示启用触价条件。TriggerType:1表示当最新价 大于 设定价时触发;2表示当最新价 小于 设定价时触发。TriggerPrice: 具体的触发价格阈值。
- 应用场景:例如“突破买入”策略,您可以设定当价格突破 20 元时(
TriggerType=1,TriggerPrice=20),才开始执行买入算法。