MCPcopy Create free account
hub / github.com/ccxt/ccxt / createOrder

Method createOrder

ts/src/p2b.ts:904–941  ·  view source on GitHub ↗

* @method * @name p2b#createOrder * @description create a trade order * @see https://github.com/P2B-team/p2b-api-docs/blob/master/api-doc.md#create-order * @param {string} symbol unified symbol of the market to create an order in * @param {string} type must be 'limit' *

(symbol: string, type: OrderType, side: OrderSide, amount: number, price: Num = undefined, params = {})

Source from the content-addressed store, hash-verified

902 * @returns {object} an [order structure]{@link https://docs.ccxt.com/?id=order-structure}
903 */
904 async createOrder (symbol: string, type: OrderType, side: OrderSide, amount: number, price: Num = undefined, params = {}) {
905 await this.loadMarkets ();
906 if (type === 'market') {
907 throw new BadRequest (this.id + ' createOrder () can only accept orders with type "limit"');
908 }
909 const market = this.market (symbol);
910 const request: Dict = {
911 'market': market['id'],
912 'side': side,
913 'amount': this.amountToPrecision (symbol, amount),
914 'price': this.priceToPrecision (symbol, price),
915 };
916 const response = await this.privatePostOrderNew (this.extend (request, params));
917 //
918 // {
919 // "success": true,
920 // "errorCode": "",
921 // "message": "",
922 // "result": {
923 // "orderId": 171906478744, // Order id
924 // "market": "ETH_BTC", // Market name
925 // "price": "0.04348", // Price
926 // "side": "buy", // Side
927 // "type": "limit", // Order type
928 // "timestamp": 1698484861.746517, // Order creation time
929 // "dealMoney": "0", // Filled total
930 // "dealStock": "0", // Filled amount
931 // "amount": "0.0277", // Original amount
932 // "takerFee": "0.002", // taker fee
933 // "makerFee": "0.002", // maker fee
934 // "left": "0.0277", // Unfilled amount
935 // "dealFee": "0" // Filled fee
936 // }
937 // }
938 //
939 const result = this.safeDict (response, 'result') as Dict;
940 return this.parseOrder (result, market);
941 }
942
943 /**
944 * @method

Callers

nothing calls this directly

Calls 8

parseOrderMethod · 0.95
privatePostOrderNewMethod · 0.65
loadMarketsMethod · 0.45
marketMethod · 0.45
amountToPrecisionMethod · 0.45
priceToPrecisionMethod · 0.45
extendMethod · 0.45
safeDictMethod · 0.45

Tested by

no test coverage detected