ccxt 4.4.21 → 4.4.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -4
- package/dist/ccxt.browser.min.js +4 -4
- package/dist/cjs/ccxt.js +1 -1
- package/dist/cjs/src/alpaca.js +1 -0
- package/dist/cjs/src/base/Exchange.js +21 -0
- package/dist/cjs/src/bigone.js +3 -0
- package/dist/cjs/src/binance.js +103 -0
- package/dist/cjs/src/bitflyer.js +57 -0
- package/dist/cjs/src/bitget.js +77 -0
- package/dist/cjs/src/bybit.js +78 -0
- package/dist/cjs/src/cex.js +1307 -1385
- package/dist/cjs/src/cryptocom.js +1 -1
- package/dist/cjs/src/gate.js +103 -3
- package/dist/cjs/src/htx.js +1 -7
- package/dist/cjs/src/hyperliquid.js +10 -8
- package/dist/cjs/src/kucoin.js +27 -59
- package/dist/cjs/src/okx.js +74 -0
- package/js/ccxt.d.ts +3 -3
- package/js/ccxt.js +1 -1
- package/js/src/abstract/bitflyer.d.ts +1 -0
- package/js/src/abstract/bitget.d.ts +3 -0
- package/js/src/abstract/cex.d.ts +28 -29
- package/js/src/abstract/gate.d.ts +5 -0
- package/js/src/abstract/gateio.d.ts +5 -0
- package/js/src/abstract/kucoin.d.ts +1 -0
- package/js/src/abstract/kucoinfutures.d.ts +1 -0
- package/js/src/abstract/okx.d.ts +1 -0
- package/js/src/alpaca.js +1 -0
- package/js/src/base/Exchange.d.ts +8 -2
- package/js/src/base/Exchange.js +21 -0
- package/js/src/base/types.d.ts +8 -0
- package/js/src/bigone.js +3 -0
- package/js/src/binance.d.ts +3 -1
- package/js/src/binance.js +103 -0
- package/js/src/bitflyer.d.ts +3 -1
- package/js/src/bitflyer.js +57 -0
- package/js/src/bitget.d.ts +3 -1
- package/js/src/bitget.js +77 -0
- package/js/src/bybit.d.ts +3 -1
- package/js/src/bybit.js +78 -0
- package/js/src/cex.d.ts +34 -20
- package/js/src/cex.js +1308 -1386
- package/js/src/cryptocom.js +1 -1
- package/js/src/gate.d.ts +2 -0
- package/js/src/gate.js +103 -3
- package/js/src/htx.js +1 -7
- package/js/src/hyperliquid.js +10 -8
- package/js/src/kucoin.d.ts +0 -1
- package/js/src/kucoin.js +27 -59
- package/js/src/okx.d.ts +3 -1
- package/js/src/okx.js +74 -0
- package/package.json +1 -1
package/js/src/bybit.js
CHANGED
|
@@ -92,6 +92,8 @@ export default class bybit extends Exchange {
|
|
|
92
92
|
'fetchLedger': true,
|
|
93
93
|
'fetchLeverage': true,
|
|
94
94
|
'fetchLeverageTiers': true,
|
|
95
|
+
'fetchLongShortRatio': false,
|
|
96
|
+
'fetchLongShortRatioHistory': true,
|
|
95
97
|
'fetchMarginAdjustmentHistory': false,
|
|
96
98
|
'fetchMarketLeverageTiers': true,
|
|
97
99
|
'fetchMarkets': true,
|
|
@@ -9314,6 +9316,82 @@ export default class bybit extends Exchange {
|
|
|
9314
9316
|
'fee': undefined,
|
|
9315
9317
|
};
|
|
9316
9318
|
}
|
|
9319
|
+
async fetchLongShortRatioHistory(symbol = undefined, timeframe = undefined, since = undefined, limit = undefined, params = {}) {
|
|
9320
|
+
/**
|
|
9321
|
+
* @method
|
|
9322
|
+
* @name bybit#fetchLongShortRatioHistory
|
|
9323
|
+
* @description fetches the long short ratio history for a unified market symbol
|
|
9324
|
+
* @see https://bybit-exchange.github.io/docs/v5/market/long-short-ratio
|
|
9325
|
+
* @param {string} symbol unified symbol of the market to fetch the long short ratio for
|
|
9326
|
+
* @param {string} [timeframe] the period for the ratio, default is 24 hours
|
|
9327
|
+
* @param {int} [since] the earliest time in ms to fetch ratios for
|
|
9328
|
+
* @param {int} [limit] the maximum number of long short ratio structures to retrieve
|
|
9329
|
+
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
9330
|
+
* @returns {object[]} an array of [long short ratio structures]{@link https://docs.ccxt.com/#/?id=long-short-ratio-structure}
|
|
9331
|
+
*/
|
|
9332
|
+
await this.loadMarkets();
|
|
9333
|
+
const market = this.market(symbol);
|
|
9334
|
+
let type = undefined;
|
|
9335
|
+
[type, params] = this.getBybitType('fetchLongShortRatioHistory', market, params);
|
|
9336
|
+
if (type === 'spot' || type === 'option') {
|
|
9337
|
+
throw new NotSupported(this.id + ' fetchLongShortRatioHistory() only support linear and inverse markets');
|
|
9338
|
+
}
|
|
9339
|
+
if (timeframe === undefined) {
|
|
9340
|
+
timeframe = '1d';
|
|
9341
|
+
}
|
|
9342
|
+
const request = {
|
|
9343
|
+
'symbol': market['id'],
|
|
9344
|
+
'period': timeframe,
|
|
9345
|
+
'category': type,
|
|
9346
|
+
};
|
|
9347
|
+
if (limit !== undefined) {
|
|
9348
|
+
request['limit'] = limit;
|
|
9349
|
+
}
|
|
9350
|
+
const response = await this.publicGetV5MarketAccountRatio(this.extend(request, params));
|
|
9351
|
+
//
|
|
9352
|
+
// {
|
|
9353
|
+
// "retCode": 0,
|
|
9354
|
+
// "retMsg": "OK",
|
|
9355
|
+
// "result": {
|
|
9356
|
+
// "list": [
|
|
9357
|
+
// {
|
|
9358
|
+
// "symbol": "BTCUSDT",
|
|
9359
|
+
// "buyRatio": "0.5707",
|
|
9360
|
+
// "sellRatio": "0.4293",
|
|
9361
|
+
// "timestamp": "1729123200000"
|
|
9362
|
+
// },
|
|
9363
|
+
// ]
|
|
9364
|
+
// },
|
|
9365
|
+
// "retExtInfo": {},
|
|
9366
|
+
// "time": 1729147842516
|
|
9367
|
+
// }
|
|
9368
|
+
//
|
|
9369
|
+
const result = this.safeDict(response, 'result', {});
|
|
9370
|
+
const data = this.safeList(result, 'list', []);
|
|
9371
|
+
return this.parseLongShortRatioHistory(data, market);
|
|
9372
|
+
}
|
|
9373
|
+
parseLongShortRatio(info, market = undefined) {
|
|
9374
|
+
//
|
|
9375
|
+
// {
|
|
9376
|
+
// "symbol": "BTCUSDT",
|
|
9377
|
+
// "buyRatio": "0.5707",
|
|
9378
|
+
// "sellRatio": "0.4293",
|
|
9379
|
+
// "timestamp": "1729123200000"
|
|
9380
|
+
// }
|
|
9381
|
+
//
|
|
9382
|
+
const marketId = this.safeString(info, 'symbol');
|
|
9383
|
+
const timestamp = this.safeIntegerOmitZero(info, 'timestamp');
|
|
9384
|
+
const longString = this.safeString(info, 'buyRatio');
|
|
9385
|
+
const shortString = this.safeString(info, 'sellRatio');
|
|
9386
|
+
return {
|
|
9387
|
+
'info': info,
|
|
9388
|
+
'symbol': this.safeSymbol(marketId, market, undefined, 'contract'),
|
|
9389
|
+
'timestamp': timestamp,
|
|
9390
|
+
'datetime': this.iso8601(timestamp),
|
|
9391
|
+
'timeframe': undefined,
|
|
9392
|
+
'longShortRatio': this.parseToNumeric(Precise.stringDiv(longString, shortString)),
|
|
9393
|
+
};
|
|
9394
|
+
}
|
|
9317
9395
|
sign(path, api = 'public', method = 'GET', params = {}, headers = undefined, body = undefined) {
|
|
9318
9396
|
let url = this.implodeHostname(this.urls['api'][api]) + '/' + path;
|
|
9319
9397
|
if (api === 'public') {
|
package/js/src/cex.d.ts
CHANGED
|
@@ -1,42 +1,56 @@
|
|
|
1
1
|
import Exchange from './abstract/cex.js';
|
|
2
|
-
import type {
|
|
2
|
+
import type { Currency, Currencies, Dict, Int, Market, Num, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, TradingFees, TradingFeeInterface, int, Account, Balances, LedgerEntry, Transaction, TransferEntry, DepositAddress } from './base/types.js';
|
|
3
3
|
/**
|
|
4
4
|
* @class cex
|
|
5
5
|
* @augments Exchange
|
|
6
6
|
*/
|
|
7
7
|
export default class cex extends Exchange {
|
|
8
8
|
describe(): any;
|
|
9
|
-
fetchCurrenciesFromCache(params?: {}): Promise<any>;
|
|
10
9
|
fetchCurrencies(params?: {}): Promise<Currencies>;
|
|
10
|
+
parseCurrency(rawCurrency: Dict): Currency;
|
|
11
11
|
fetchMarkets(params?: {}): Promise<Market[]>;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
fetchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<OrderBook>;
|
|
15
|
-
parseOHLCV(ohlcv: any, market?: Market): OHLCV;
|
|
16
|
-
fetchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
|
|
17
|
-
parseTicker(ticker: Dict, market?: Market): Ticker;
|
|
18
|
-
fetchTickers(symbols?: Strings, params?: {}): Promise<Tickers>;
|
|
12
|
+
parseMarket(market: Dict): Market;
|
|
13
|
+
fetchTime(params?: {}): Promise<number>;
|
|
19
14
|
fetchTicker(symbol: string, params?: {}): Promise<Ticker>;
|
|
20
|
-
|
|
15
|
+
fetchTickers(symbols?: Strings, params?: {}): Promise<Tickers>;
|
|
16
|
+
parseTicker(ticker: Dict, market?: Market): Ticker;
|
|
21
17
|
fetchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
|
|
18
|
+
parseTrade(trade: Dict, market?: Market): Trade;
|
|
19
|
+
fetchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<OrderBook>;
|
|
20
|
+
fetchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
|
|
21
|
+
parseOHLCV(ohlcv: any, market?: Market): OHLCV;
|
|
22
22
|
fetchTradingFees(params?: {}): Promise<TradingFees>;
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
23
|
+
parseTradingFees(response: any, useKeyAsId?: boolean): TradingFees;
|
|
24
|
+
parseTradingFee(fee: Dict, market?: Market): TradingFeeInterface;
|
|
25
|
+
fetchAccounts(params?: {}): Promise<Account[]>;
|
|
26
|
+
parseAccount(account: Dict): Account;
|
|
27
|
+
fetchBalance(params?: {}): Promise<Balances>;
|
|
28
|
+
parseBalance(response: any): Balances;
|
|
29
|
+
fetchOrdersByStatus(status: string, symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
|
|
28
30
|
fetchClosedOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
|
|
29
|
-
|
|
30
|
-
fetchOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
|
|
31
|
+
fetchOpenOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
|
|
31
32
|
parseOrderStatus(status: Str): string;
|
|
32
|
-
|
|
33
|
+
parseOrder(order: Dict, market?: Market): Order;
|
|
34
|
+
createOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: Num, params?: {}): Promise<Order>;
|
|
35
|
+
cancelOrder(id: string, symbol?: Str, params?: {}): Promise<Order>;
|
|
36
|
+
cancelAllOrders(symbol?: Str, params?: {}): Promise<Order[]>;
|
|
37
|
+
fetchLedger(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<LedgerEntry[]>;
|
|
38
|
+
parseLedgerEntry(item: Dict, currency?: Currency): LedgerEntry;
|
|
39
|
+
parseLedgerEntryType(type: any): string;
|
|
40
|
+
fetchDepositsWithdrawals(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
|
|
41
|
+
parseTransaction(transaction: Dict, currency?: Currency): Transaction;
|
|
42
|
+
parseTransactionStatus(status: Str): string;
|
|
43
|
+
transfer(code: string, amount: number, fromAccount: string, toAccount: string, params?: {}): Promise<TransferEntry>;
|
|
44
|
+
transferBetweenMainAndSubAccount(code: string, amount: number, fromAccount: string, toAccount: string, params?: {}): Promise<TransferEntry>;
|
|
45
|
+
transferBetweenSubAccounts(code: string, amount: number, fromAccount: string, toAccount: string, params?: {}): Promise<TransferEntry>;
|
|
46
|
+
parseTransfer(transfer: Dict, currency?: Currency): TransferEntry;
|
|
33
47
|
fetchDepositAddress(code: string, params?: {}): Promise<DepositAddress>;
|
|
34
|
-
|
|
48
|
+
parseDepositAddress(depositAddress: any, currency?: Currency): DepositAddress;
|
|
35
49
|
sign(path: any, api?: string, method?: string, params?: {}, headers?: any, body?: any): {
|
|
36
50
|
url: string;
|
|
37
51
|
method: string;
|
|
38
52
|
body: any;
|
|
39
53
|
headers: any;
|
|
40
54
|
};
|
|
41
|
-
handleErrors(code: int, reason: string, url: string, method: string, headers: Dict, body: string, response: any, requestHeaders: any, requestBody: any): any
|
|
55
|
+
handleErrors(code: int, reason: string, url: string, method: string, headers: Dict, body: string, response: any, requestHeaders: any, requestBody: any): any;
|
|
42
56
|
}
|