修改订单
接口说明
功能说明:修改订单。
注意事项:修改订单前必须已经成功调用了下单接口。
适用对象:通过OpenApi开发平台对接webull的客户。
请求URL:/trade/order/replace
请求方式:POST
频次限制:每个AppId调用频次限制为1秒1次。
请求参数
注:只允许修改数量和价格(不需修改的数量与价格字段则传原值),其他参数需与原订单相同,需传但不能改
参数 | 类型 | 是否必填 | 描述 | 示例值 |
---|---|---|---|---|
account_id | String | 是 | 账户id | 20150320010101001 |
stock_order | {}stock_order | 是 | 股票下单参数 | 见示例代码 |
stock_order:
参数 | 类型 | 是否必填 | 描述 | 示例值 |
---|---|---|---|---|
client_order_id | String | 是 | 第三方订单ID,和账户id组成唯一,此字段入参长度最长为40 ,必传不允许修改 | 2022021819071234 |
side | String | 是 | 买卖方向,参考字典值 OrderSide,本期只支持BUY和SELL ,必传不允许修改 | BUY |
tif | String | 是 | 订单有效期,参考字典值OrderTIF,当前只支持传 DAY ,必传不允许修改 | DAY |
extended_hours_trading | Boolean | 是 | 是否允许盘前盘后交易。 市价单只能是false; 限价单可以是true或者false ,必传不允许修改 | false |
instrument_id | String | 是 | 资产标的id,调用者通过调用Get Instruments获取,必传不允许修改 | 12064446 |
order_type | String | 是 | 订单类型,参考字典值OrderType ,必传不允许修改 | MARKET |
limit_price | String | 否 | order_type为 LIMIT(限价单)、STOP_LOSS_LIMIT(止损限价单)、ENHANCED_LIMIT(增强限价单)、AT_AUCTION_LIMIT(竞价限价盘)需要传。 不改则带原值,需要修改则传改后的值 | 100.49 |
qty | String | 是 | 标的数量,整数,支持的最大值为1000000股,不需要修改则带原值,需要修改则传改后的值 | 100 |
stop_price | String | 否 | order_type为 STOP_LOSS(止损单)、STOP_LOSS_LIMIT(止损限价)时,需要传,不需要修改则带原值,需要修改则传改后的值 | 100.49 |
trailing_type | String | 否 | 跟踪止损单的价差类型,跟踪止损单要传,参考 TrailingType ,不允许修改 | AMOUNT |
trailing_stop_step | String | 否 | 跟踪止损单的价差数值,跟踪止损单要传,不需要修改则带原值,需要修改则传改后的值 | 100.49 |
响应参数
参数 | 类型 | 描述 | 示例值 |
---|---|---|---|
client_order_id | String | 第三方订单ID | 2022021819071234 |
请求示例
- Python
- Java
from webullsdktrade.api import API
from webullsdkcore.client import ApiClient
from webullsdkcore.common.region import Region
api_client = ApiClient(your_app_key, your_app_secret, Region.HK.value)
api = API(api_client)
response = api.order.replace_order(account_id, qty, instrument_id, side, client_order_id, order_type,
extended_hours_trading, tif, limit_price, stop_price,
trailing_type, trailing_stop_step)
if response.status_code == 200:
order_res = response.json()
HttpApiConfig apiConfig = HttpApiConfig.builder()
.appKey(Env.APP_KEY)
.appSecret(Env.APP_SECRET)
.regionId(Region.hk.name())
.build();
TradeApiService apiService = new TradeHttpApiService(apiConfig);
StockOrder stockOrder = new StockOrder();
stockOrder.setClientOrderId(clientOrderId);
stockOrder.setSide(side);
stockOrder.setTif(tif);
stockOrder.setExtendedHoursTrading(extendedHoursTrading);
stockOrder.setInstrumentId(instrumentId);
stockOrder.setOrderType(orderType);
stockOrder.setLimitPrice(limitPrice);
stockOrder.setQty(qty);
stockOrder.setStopPrice(stopPrice);
stockOrder.setTrailingType(trailingType);
stockOrder.setTrailingStopStep(trailingStopStep);
OrderResponse orderResponse = apiService.replaceOrder(accountId, stockOrder);