UNPKG

@bcswaper/apis

Version:

bcswaper apis

116 lines (115 loc) 3.17 kB
import { MessageEvent } from "ws"; import { AccountInfo, Candle, CandleResolution, ClientParams, Order, Orderbook, OrderSide } from "../context"; import { AbstractClient } from "../clients"; export declare class OkxClient extends AbstractClient { private okxAccInfo; private publicEndpoint; private privateEndpoint; private businessEndpoint; private accountHandler; private candlesHandler; private tickerHandler; private orderbookHandler; private okxHttpClient; private publicWss; private privateWss; private businessWss; private instInfo; constructor(clientParams: ClientParams); initialize(): Promise<void>; private initialCandle; private initialInstInfo; /** * 创建websocket连接 * * @param onOpen - Callback function invoked when the WebSocket connection is opened. * @param onClose - Callback function invoked when the WebSocket connection is closed. * @param onMessage - Callback function invoked when a message is received from the WebSocket. * @returns The SocketClient instance. */ createSocketClient(): void; /** * 登录 */ login(): Promise<void>; handleMessage(message: MessageEvent): Promise<void>; getPrice(): number; getOrderbook(): Orderbook; getAccountInfo(): AccountInfo; getCandles(resolution: CandleResolution): Candle[]; /** * 下单 * @param clientId 客户端id,clOrdId * @param side 买卖方向 * @param ordType 订单类型market/limit * @param size * @param px * @param reduceOnly * @param tdMode 交易模式,保证金模式 isolated */ private placeOrder; /** * 市价下单 * @param clientId * @param side * @param size * @param reduceOnly */ private placeMarketOrder; /** * 市价买 * @param clientId * @param size */ buy(clientId: number, price: number, size: number): Promise<void>; /** * 市价卖 * @param clientId * @param size */ sell(clientId: number, price: number, size: number): Promise<void>; /** * 市价平仓 * @param side * @param price * @param size */ close(clientId: number, side: OrderSide, size: number): Promise<void>; /** * 限价下单 * @param clientId * @param side * @param size * @param reduceOnly */ private placeLimitOrder; /** * 限价买 * @param price * @param size * @param goodTillTime */ buyLimit(clientId: number, price: number, size: number): Promise<void>; /** * 限价卖 * @param price * @param size * @param clientId * @param goodTillTime */ sellLimit(clientId: number, price: number, size: number): Promise<void>; /** * 限价平仓 * @param side * @param price * @param size */ closeLimit(clientId: number, side: OrderSide, price: number, size: number): Promise<void>; /** * 撤单 * @param order 原订单 */ cancel(order: Order): Promise<void>; private calculateSize; destroy(): void; }