@bcswaper/apis
Version:
bcswaper apis
116 lines (115 loc) • 3.17 kB
TypeScript
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;
}