package okx import "errors" // ErrorCodes and their corresponding error messages var ( ErrorCodes = map[string]error{ "60001": errors.New("\"OK_ACCESS_KEY\" can not be empty"), "60002": errors.New("\"OK_ACCESS_SIGN\" can not be empty"), "60003": errors.New("\"OK_ACCESS_PASSPHRASE\" can not be empty"), "60004": errors.New("invalid OK_ACCESS_TIMESTAMP"), "60005": errors.New("invalid OK_ACCESS_KEY"), "60006": errors.New("timestamp request expired"), "60007": errors.New("invalid sign"), "60008": errors.New("public websocket services do not support subscribing to private channels"), "60009": errors.New("login failed"), "60011": errors.New("please log in"), "60012": errors.New("illegal request"), "60013": errors.New("invalid args"), "60014": errors.New("requests too frequent"), "60015": errors.New("connection closed as there was no data transmission in the last 30 seconds"), "60016": errors.New("buffer is full, cannot write data"), "60017": errors.New("invalid url path"), "60018": errors.New("the {0} {1} {2} {3} {4} does not exist"), "60019": errors.New("invalid op {op}"), "60020": errors.New("apikey subscription amount exceeds the limit {0}"), "60021": errors.New("this operation does not support multiple accounts login"), "60022": errors.New("bulk login partially succeeded"), "60023": errors.New("bulk login requests too frequent"), "60024": errors.New("wrong passphrase"), "60025": errors.New("token subscription amount exceeds the limit {0}"), "60026": errors.New("batch login by apikey and token simultaneously is not supported"), "60027": errors.New("parameter {0} can not be empty"), "60028": errors.New("private websocket services do not support subscribing to public channels"), "60029": errors.New("only users who're VIP5 and above can subscribe to books-l2-tbt order book channels"), "60030": errors.New("only users who're VIP4 and above can subscribe to books50-l2-tbt order book channels"), "63999": errors.New("internal system error"), "70000": errors.New("rFQ does not exist"), "70001": errors.New("quote does not exist"), "70002": errors.New("block trade does not exist"), "70003": errors.New("public block trade does not exist"), "70004": errors.New("invalid instrument {0}"), "70005": errors.New("the number of legs in RFQ cannot exceed maximum value"), "70006": errors.New("does not meet the minimum asset requirement"), "70007": errors.New("underlying index {0} does not exist under instType {1}"), "70008": errors.New("operation failed under MMP status, the frozen window is {0} seconds"), "70009": errors.New("data must have at least 1 valid element"), "70011": errors.New("duplicate setting for instType {0}"), "70100": errors.New("duplicate instruments in legs array"), "70101": errors.New("duplicate clRfqId"), "70102": errors.New("no counterparties specified"), "70103": errors.New("invalid counterparty"), "70105": errors.New("the total value should be greater than the min notional value {0}"), "70106": errors.New("the trading amount does not meet the min tradable amount requirement"), "70107": errors.New("the number of counterparties cannot exceed maximum value"), "70109": errors.New("counterparties for selected instruments are currently unavailable"), "70200": errors.New("the RFQ with {0} status cannot be canceled"), "70203": errors.New("cancellation failed as rfq count exceeds the limit {0}"), "70207": errors.New("cancellation failed as you do not have any active RFQs"), "70208": errors.New("cancellation failed as service is unavailable now, please try again later"), "70301": errors.New("duplicate clQuoteId"), "70303": errors.New("the RFQ with {0} status cannot be quoted"), "70304": errors.New("price should be an integer multiple of the tick size"), "70305": errors.New("bid price cannot be higher than offer price"), "70306": errors.New("the legs of quote do not match the legs of {0}"), "70307": errors.New("size should be in integral multiples of the lot size"), "70308": errors.New("quote to your own RFQ is not allowed"), "70309": errors.New("quote to the same RFQ with the same side is not allowed"), "70310": errors.New("quoted price of instId {0} cannot exceed your preset price limit"), "70400": errors.New("the quote with {0} status cannot be canceled"), "70408": errors.New("cancellation failed as quote count exceeds the limit {0}"), "70409": errors.New("cancellation failed as you do not have any active quotes"), "70501": errors.New("RFQ {0} is not quoted by {1}"), "70502": errors.New("the legs do not match the legs of {0}"), "70503": errors.New("the legs of execution do not match the legs of {0}"), "70504": errors.New("execution failed as the RFQ status is {0}"), "70505": errors.New("execution failed as the quote status is {0}"), "70511": errors.New("execution is being processed"), "56000": errors.New("block trade does not exist"), "56001": errors.New("the number of multi-legs cannot exceed {0}"), "56002": errors.New("the number of multi-legs does not match with the verified one"), "56003": errors.New("duplicated clBlockTdId"), "56004": errors.New("trade with yourself is not allowed"), "56005": errors.New("\"clBlockTdId\" should be the same as the verified one"), "56006": errors.New("the role should be different from the verified one"), "56007": errors.New("leg no.{0} does not match with the verified one"), "56008": errors.New("duplicate instruments in legs array"), "59000": errors.New("your settings failed as you have positions or open orders"), "59001": errors.New("switching unavailable as you have borrowings"), "59004": errors.New("only IDs with the same instrument type are supported"), "59005": errors.New("when users transfer the margin by themselves in isolated mode, the value of the asset allocated to the position for the first time must be greater than 10,000 USDT"), "59100": errors.New("you have open positions. please cancel all open positions before changing the leverage"), "59101": errors.New("you have pending orders with isolated positions. please cancel all the pending isolated margin orders and adjust the leverage"), "59102": errors.New("leverage exceeds the maximum leverage. please adjust the leverage"), "59103": errors.New("leverage is too low and no sufficient margin in your account. please adjust the leverage"), "59104": errors.New("the leverage is too high. the borrowed position has exceeded the maximum position of this leverage. please adjust the leverage"), "59105": errors.New("leverage can not be less than {0}. please adjust the leverage"), "59106": errors.New("the max available margin corresponding to your order tier please adjust your margin and place a new order"), "59107": errors.New("you have pending cross margin orders under the service, please modify the leverage after canceling all pending cross margin orders"), "59108": errors.New("low leverage and insufficient margin, please adjust the leverage"), "59109": errors.New("account equity less than the required margin amount after adjustment. please adjust the leverage "), "59110": errors.New("the instrument type corresponding to this {0} does not support the tgtCcy parameter"), "59111": errors.New("you cannot query the leverage of cross derivatives positions under a PM account"), "59112": errors.New("you have isolated/cross pending orders. please cancel them before adjusting your leverage"), "59200": errors.New("insufficient account balance"), "59201": errors.New("negative account balance"), "59300": errors.New("margin call failed. position does not exist"), "59301": errors.New("margin adjustment failed for exceeding the max limit"), "59302": errors.New("you have pending close orders, please modify the margin after canceling the orders"), "59303": errors.New("insufficient available margin, add margin or reduce the borrowing amount"), "59304": errors.New("insufficient equity for borrowing, keep enough funds to pay interest for at least one day"), "59305": errors.New("use VIP loan first to set the VIP loan priority"), "59306": errors.New("your borrowing amount exceeds the max limit"), "59307": errors.New("you are not eligible for VIP loans"), "59308": errors.New("unable to repay VIP loan due to insufficient borrow limit"), "59309": errors.New("unable to repay an amount that exceeds the borrowed amount"), "59310": errors.New("your account does not support VIP loan"), "59311": errors.New("unable to set up as there is VIP loan"), "59312": errors.New("{currency} does not support VIP loans"), "59401": errors.New("holdings already reached the limit"), "59402": errors.New("none of the passed instId is in live state, please check them separately"), "59500": errors.New("only the APIKey of the main account has permission"), "59501": errors.New("only 50 APIKeys can be created per account"), "59502": errors.New("note name cannot be duplicate with the currently created APIKey note name"), "59503": errors.New("each APIKey can bind up to 20 IP addresses"), "59504": errors.New("the sub account does not support the withdrawal function"), "59505": errors.New("the passphrase format is incorrect"), "59506": errors.New("apikey does not exist"), "59507": errors.New("the two accounts involved in a transfer must be two different sub accounts under the same parent account"), "59508": errors.New("the sub account of {0} is suspended"), "59509": errors.New("account does not have permission to reset MMP status"), "59510": errors.New("sub-account does not exist"), "59512": errors.New("unable to set up this permission for ND brokers sub accounts. by default, all ND sub accounts can transfer funds out"), "59601": errors.New("this sub-account name already exists, try another name"), "59602": errors.New("number of API keys exceeds the limit"), "59603": errors.New("number of sub accounts exceeds the limit"), "59604": errors.New("only the main account APIkey can access this API"), "59605": errors.New("this API key does not exist in your sub-account, try another API key"), "59606": errors.New("transfer funds to your main account before deleting your sub-account"), "59608": errors.New("only the broker account has permission to operate this API"), "59609": errors.New("broker already exists"), "59610": errors.New("broker does not exist"), "59611": errors.New("broker unverified"), "59612": errors.New("cannot convert time format"), "59613": errors.New("there is currently no escrow relationship established with the sub account"), "59614": errors.New("managed sub account do not support this operation"), "59615": errors.New("the time interval between the begin date and end date cannot exceed 180 days"), "59616": errors.New("begin date cannot be greater than end date"), "59617": errors.New("sub-account created. failed to set up account level"), "59618": errors.New("failed to create sub-account"), "58000": errors.New("account type {0} does not supported when getting the sub-account balance"), "58001": errors.New("incorrect trade password"), "58002": errors.New("please activate savings account first"), "58003": errors.New("currency type is not supported by savings account"), "58004": errors.New("account blocked (transfer & withdrawal endpoint: either end of the account does not authorize the transfer)"), "58005": errors.New("the purchase/redeemed amount must be no greater than {0}"), "58006": errors.New("service unavailable for token {0}"), "58007": errors.New("abnormal assets interface. please try again later"), "58008": errors.New("you do not have assets in this currency"), "58009": errors.New("currency pair do not exist"), "58010": errors.New("the chain {0} is not supported"), "58011": errors.New("sorry, we are unable to provide services to unverified users in {Region} due to local laws and regulations. please verify your account in order to use the services"), "58012": errors.New("sorry, you can't transfer assets to this recipient as OKX are unable to provide services to unverified users in {region} due to local laws and regulations"), "58100": errors.New("the trading product triggers risk control, and the platform has suspended the fund transfer-out function with related users. please wait patiently"), "58101": errors.New("transfer suspended (transfer endpoint: either end of the account does not authorize the transfer)"), "58102": errors.New("too frequent transfer (transfer too frequently)"), "58104": errors.New("since your P2P transaction is abnormal, you are restricted from making fund transfers. please contact customer support to remove the restriction"), "58105": errors.New(`since your P2P transaction is abnormal, you are restricted from making fund transfers. please transfer funds on our website or app to complete identity verification`), "58106": errors.New("please enable the account for spot contract"), "58107": errors.New("please enable the account for futures contract"), "58108": errors.New("please enable the account for option contract"), "58109": errors.New("please enable the account for swap contract"), "58110": errors.New("the contract triggers risk control, and the platform has suspended the fund transfer function of it. please wait patiently"), "58111": errors.New("funds transfer unavailable as the perpetual contract is charging the funding fee. please try again later"), "58112": errors.New("your fund transfer failed. please try again later"), "58114": errors.New("transfer amount must be more than 0"), "58115": errors.New("sub-account does not exist"), "58116": errors.New("transfer amount exceeds the limit"), "58117": errors.New("account assets are abnormal, please deal with negative assets before transferring"), "58119": errors.New("{0} sub-account has no permission to transfer out, please set first"), "58120": errors.New("the transfer service is temporarily unavailable, please try again later"), "58121": errors.New("this transfer will result in a high-risk level of your position, which may lead to forced liquidation. You need to re-adjust the transfer amount to make sure the position is at a safe level before proceeding with the transfer"), "58122": errors.New("a portion of your spot is being used for delta offset between positions. if the transfer amount exceeds the available amount, it may affect current spot-derivatives risk offset structure, which will result in an increased maintenance margin requirement (MMR) rate. please be aware of your risk level"), "58123": errors.New("parameter from can not equal to parameter to"), "58200": errors.New("withdrawal from {0} to {1} is unavailable for this currency"), "58201": errors.New("withdrawal amount exceeds the daily limit"), "58202": errors.New("the minimum withdrawal amount for NEO is 1, and the amount must be an integer"), "58203": errors.New("please add a withdrawal address"), "58204": errors.New("withdrawal suspended"), "58205": errors.New("withdrawal amount exceeds the upper limit"), "58206": errors.New("withdrawal amount is lower than the lower limit"), "58207": errors.New("withdrawal address is not in the verification-free whitelist"), "58208": errors.New("withdrawal failed. please link your email"), "58209": errors.New("sub-accounts cannot be deposits or withdrawals"), "58210": errors.New("withdrawal fee exceeds the upper limit"), "58211": errors.New("withdrawal fee is lower than the lower limit (withdrawal endpoint: incorrect fee)"), "58212": errors.New("withdrawal fee should be {0} of the withdrawal amount"), "58214": errors.New("withdrawals suspended due to {chainName} maintenance"), "58215": errors.New("withdrawal ID does not exist"), "58216": errors.New("operation not allowed"), "58217": errors.New("you cannot withdraw your asset at the moment due to a risk detected in your withdrawal address, contact customer support for details"), "58218": errors.New("your saved withdrawal account has expired"), "58220": errors.New("the withdrawal order is already canceled"), "58221": errors.New("missing label of withdrawal address"), "58222": errors.New("illegal withdrawal address"), "58224": errors.New("this type of crypto does not support on-chain withdrawing to OKX addresses. please withdraw through internal transfers"), "58225": errors.New("sorry, you can't transfer assets to this recipient as OKX are unable to provide services to unverified users in {region} due to local laws and regulations"), "58300": errors.New("deposit-address count exceeds the limit"), "58301": errors.New("deposit-address not exist"), "58302": errors.New("deposit-address needs tag"), "58303": errors.New("deposit for the chain {0} is closed now"), "58304": errors.New("failed to create invoice"), "58350": errors.New("insufficient balance"), "58351": errors.New("invoice expired"), "58352": errors.New("invalid invoice"), "58353": errors.New("deposit amount must be within limits"), "58354": errors.New("you have reached the limit of 10000 invoices per day"), "58355": errors.New("permission denied. please contact your account manager"), "58356": errors.New("the accounts of the same node do not support the lightning network deposit or withdrawal"), "58357": errors.New("{0} is not allowed to create a deposit address"), "58358": errors.New("fromCcy should not be the same as toCcy"), "58370": errors.New("the daily usage of small assets convert exceeds the limit"), "58371": errors.New("small assets exceed the maximum limit"), "58372": errors.New("insufficient small assets"), "55000": errors.New("cannot be transferred out within 30 minutes after delivery"), "54000": errors.New("margin transactions unavailable"), "54001": errors.New("only multi-currency margin account can be set to borrow coins automatically"), "52900": errors.New("general Invalid request"), "52901": errors.New("invalid base asset"), "52902": errors.New("invalid quote asset"), "52903": errors.New("invalid quote amount"), "52904": errors.New("invalid quote side"), "52905": errors.New("invalid quote price"), "52907": errors.New("order not found"), "52908": errors.New("invalid order ID"), "52909": errors.New("duplicated client order Id"), "52910": errors.New("service unavailable, please try again later"), "52911": errors.New("RFQ service unavailable, please try again later"), "52912": errors.New("server timeout"), "52913": errors.New("trade rejected"), "52915": errors.New("cannot quote due to large amounts of RFQ and insufficient liquidity, please try again later"), "52916": errors.New("insufficient balance in funding account"), "52917": errors.New("RFQ quantity cannot be less than the lower limit"), "52918": errors.New("insufficient balance in funding account"), "52919": errors.New("parameter {param} of convert trading is inconsistent with the quotation"), "52920": errors.New("quantity of convert trading cannot exceed the quotation quantity"), "52921": errors.New("quote traded, please ask for quote again"), "52922": errors.New("quote expired, please ask for quote again"), "52923": errors.New("service unavailable, please try again later"), "51720": errors.New("redeem error"), "51721": errors.New("cancel redeem error"), "51722": errors.New("redeem already complete"), "51723": errors.New("early redemption is not supported"), "51724": errors.New("redemption is currently not supported"), "51725": errors.New("cancellation is currently not supported"), "51726": errors.New("cancellation of subscriptions/redemptions is not supported"), "51727": errors.New("the subscription quantity is below the minimum requirement"), "51728": errors.New("the subscription quantity is above the maximum limit"), "51729": errors.New("this project has not reached the redemption date"), "51730": errors.New("sold out"), "52000": errors.New("no market data found"), "51000": errors.New("parameter {0} error"), "51001": errors.New("instrument ID does not exist"), "51002": errors.New("instrument ID does not match underlying index"), "51003": errors.New("either client order ID or order ID is required"), "51004": errors.New("order amount exceeds current tier limit, please lower the leverage"), "51005": errors.New("order amount exceeds the limit"), "51006": errors.New("order price is not within the price limit (max buy price: {0} min sell price: {1})"), "51007": errors.New("order placement failed. order amount should be at least 1 contract (showing up when placing an order with less than 1 contract)"), "51008": errors.New("delegate failed. Insufficient {0} balance in account"), "51009": errors.New("order placement function is blocked by the platform"), "51010": errors.New("operation is not supported under the current account mode"), "51011": errors.New("duplicated order ID"), "51012": errors.New("token does not exist"), "51014": errors.New("index does not exist"), "51015": errors.New("instrument ID does not match instrument type"), "51016": errors.New("duplicated client order ID"), "51017": errors.New("borrow amount exceeds the limit"), "51018": errors.New("user with option account can not hold net short positions"), "51019": errors.New("no net long positions can be held under cross margin mode in options"), "51020": errors.New("order amount should be greater than the min available amount"), "51021": errors.New("contract to be listed"), "51022": errors.New("contract suspended"), "51023": errors.New("position does not exist"), "51024": errors.New("trading account is blocked"), "51025": errors.New("order count exceeds the limit"), "51026": errors.New("instrument type does not match underlying index"), "51027": errors.New("contract expired"), "51028": errors.New("contract under delivery"), "51029": errors.New("contract is being settled"), "51030": errors.New("funding fee is being settled"), "51031": errors.New("this order price is not within the closing price range"), "51032": errors.New("closing all positions at market price"), "51033": errors.New("the total amount per order for this pair has reached the upper limit"), "51037": errors.New("the current account risk status only supports you to place IOC orders that can reduce the risk of your account"), "51038": errors.New("there is already an IOC order under the current risk module that reduces the risk of the account"), "51039": errors.New("leverage cannot be adjusted for the cross positions of futures and perpetual swap under the PM account"), "51040": errors.New("cannot adjust margins for long isolated options positions"), "51041": errors.New("portfolio margin account only supports net mode"), "51044": errors.New("the order type {0}, {1} is not allowed to set stop loss and take profit"), "51046": errors.New("the take profit trigger price should be higher than the order price"), "51047": errors.New("the stop loss trigger price should be lower than the order price"), "51048": errors.New("the take profit trigger price should be lower than the order price"), "51049": errors.New("the stop loss trigger price should be higher than the order price"), "51050": errors.New("the take profit trigger price should be higher than the best ask price"), "51051": errors.New("the stop loss trigger price should be lower than the best ask price"), "51052": errors.New("the take profit trigger price should be lower than the best bid price"), "51053": errors.New("the stop loss trigger price should be higher than the best bid price"), "51054": errors.New("getting information timed out, please try again later"), "51055": errors.New("futures grid is not available in portfolio margin mode"), "51056": errors.New("action not allowed"), "51057": errors.New("futures grid is not available in simple trading mode"), "51058": errors.New("no position"), "51059": errors.New("strategy for the current state does not support this operation"), "51101": errors.New("entered amount exceeds the max pending order amount per transaction"), "51102": errors.New("entered amount exceeds the max pending count"), "51103": errors.New("entered amount exceeds the max pending order count of the underlying asset"), "51104": errors.New("entered amount exceeds the max pending order amount of the underlying asset"), "51105": errors.New("entered amount exceeds the max order amount of the contract"), "51106": errors.New("entered amount exceeds the max order amount of the underlying asset"), "51107": errors.New("entered amount exceeds the max holding amount"), "51108": errors.New("positions exceed the limit for closing out with the market price"), "51109": errors.New("no available offer"), "51110": errors.New("you can only place a limit order after call auction has started"), "51111": errors.New("maximum {0} orders can be placed in bulk"), "51112": errors.New("close order size exceeds your available size"), "51113": errors.New("market-price liquidation requests too frequent"), "51115": errors.New("cancel all pending close-orders before liquidation"), "51116": errors.New("order price or trigger price exceeds {0}"), "51117": errors.New("pending close-orders count exceeds limit"), "51120": errors.New("order quantity is less than {0}, please try again"), "51121": errors.New("order count should be the integer multiples of the lot size"), "51122": errors.New("order price should be higher than the min price {0}"), "51124": errors.New("you can only place limit orders during call auction"), "51125": errors.New("currently there are reduce + reverse position pending orders in margin trading. please cancel all reduce + reverse position pending orders and continue"), "51126": errors.New("currently there are reduce only pending orders in margin trading. please cancel all reduce only pending orders and continue"), "51127": errors.New("available balance is 0"), "51128": errors.New("multi-currency margin account can not do cross-margin trading"), "51129": errors.New("the value of the position and buy order has reached the position limit, and no further buying is allowed"), "51130": errors.New("fixed margin currency error"), "51131": errors.New("insufficient balance"), "51132": errors.New("your position amount is negative and less than the minimum trading amount"), "51133": errors.New("reduce-only feature is unavailable for the spot transactions by multi-currency margin account"), "51134": errors.New("closing failed. please check your holdings and pending orders"), "51135": errors.New("your closing price has triggered the limit price, and the max buy price is {0}"), "51136": errors.New("your closing price has triggered the limit price, and the min sell price is {0}"), "51137": errors.New("your opening price has triggered the limit price, and the max buy price is {0}"), "51138": errors.New("your opening price has triggered the limit price, and the min sell price is {0}"), "51139": errors.New("reduce-only feature is unavailable for the spot transactions by simple account"), "51145": errors.New("when users transfer the margin by themselves in isolated mode, it’s not supported to place orders in advance"), "51147": errors.New("the total value of assets in your trading account needs to be greater than 50,000 USD to trade options"), "51148": errors.New("reduceOnly cannot increase the position quantity"), "51149": errors.New("order timed out, please try again later"), "51150": errors.New("the precision of the number of trades or the price exceeds the limit"), "51201": errors.New("value of per market order cannot exceed 1,000,000 USDT"), "51202": errors.New("market - order amount exceeds the max amount"), "51203": errors.New("order amount exceeds the limit {0}"), "51204": errors.New("the price for the limit order can not be empty"), "51205": errors.New("reduce-only is not available"), "51206": errors.New("please cancel the reduce only order before placing the current {0} order to avoid opening a reverse position"), "51250": errors.New("algo order price is out of the available range"), "51251": errors.New("algo order type error (when user place an iceberg order)"), "51252": errors.New("algo order price is out of the available range"), "51253": errors.New("average amount exceeds the limit of per iceberg order"), "51254": errors.New("iceberg average amount error (when user place an iceberg order)"), "51255": errors.New("limit of per iceberg order: total amount/1000 < x <= total amount"), "51256": errors.New("iceberg order price variance error"), "51257": errors.New("trail order callback rate error"), "51258": errors.New("trail - order placement failed. the trigger price of a sell order should be higher than the last transaction price"), "51259": errors.New("trail - order placement failed. the trigger price of a buy order should be lower than the last transaction price"), "51260": errors.New("maximum {0} pending trail - orders can be held at the same time"), "51261": errors.New("each user can hold up to {0} pending stop - orders at the same time"), "51262": errors.New("maximum {0} pending iceberg orders can be held at the same time"), "51263": errors.New("maximum {0} pending time-weighted orders can be held at the same time"), "51264": errors.New("average amount exceeds the limit of per time-weighted order"), "51265": errors.New("time-weighted order limit error"), "51267": errors.New("time-weighted order strategy initiative rate error"), "51268": errors.New("time-weighted order strategy initiative range error"), "51269": errors.New("time-weighted order interval error, the interval should be {0}<= x<={1}"), "51270": errors.New("the limit of time-weighted order price variance is 0 < x <= 1%"), "51271": errors.New("sweep ratio should be 0 < x <= 100%"), "51272": errors.New("price variance should be 0 < x <= 1%"), "51273": errors.New("total amount should be more than {0}"), "51274": errors.New("total quantity of time-weighted order must be larger than single order limit"), "51275": errors.New("the amount of single stop-market order can not exceed the upper limit"), "51276": errors.New("stop - market orders cannot specify a price"), "51277": errors.New("TP trigger price can not be higher than the last price"), "51278": errors.New("SL trigger price can not be lower than the last price"), "51279": errors.New("TP trigger price can not be lower than the last price"), "51280": errors.New("SL trigger price can not be higher than the last price"), "51281": errors.New("trigger not support the tgtCcy parameter"), "51282": errors.New("the range of price variance is {0}~{1}"), "51283": errors.New("the range of time interval is {0}~{1}"), "51284": errors.New("the range of average amount is {0}~{1}"), "51285": errors.New("the range of total amount is {0}~{1}"), "51286": errors.New("the total amount should not be less than {0}"), "51287": errors.New("contract not supported"), "51288": errors.New("we are stopping the bot. please do not click it multiple times"), "51289": errors.New("bot configuration does not exist. please try again later"), "51290": errors.New("the bot engine is being upgraded. please try again later"), "51291": errors.New("this bot does not exist or has been stopped"), "51292": errors.New("this bot type does not exist"), "51293": errors.New("this bot does not exist"), "51294": errors.New("this bot cannot be created temporarily. please try again later"), "51295": errors.New("portfolio margin account does not support ordType {0} in trading bot mode"), "51298": errors.New("trigger orders are not available in the net mode of futures and perpetual swaps"), "51299": errors.New("order did not go through. you can hold maximum {0} orders of this type"), "51300": errors.New("TP trigger price can not be higher than the mark price"), "51302": errors.New("SL trigger price can not be lower than the mark price"), "51303": errors.New("TP trigger price can not be lower than the mark price"), "51304": errors.New("SL trigger price can not be higher than the mark price"), "51305": errors.New("TP trigger price can not be higher than the index price"), "51306": errors.New("SL trigger price can not be lower than the index price"), "51307": errors.New("TP trigger price can not be lower than the index price"), "51308": errors.New("SL trigger price can not be higher than the index price"), "51309": errors.New("cannot create trading bot during call auction"), "51310": errors.New("when users transfer the margin by themselves in isolated mode, strategic orders with ordType iceberg and twap will not be supported"), "51311": errors.New("failed to place trailing stop order. callback rate should be within {0}