修改訂單
接口說明
功能說明:修改訂單。
注意事項:修改訂單前必須已經成功調用了下單接口。
適用對象:通過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);