A JavaScript / Python / PHP cryptocurrency trading API with support for more than 100 bitcoin/altcoin exchanges
Nice-looking lightweight console ASCII line charts ╭┈╯ for NodeJS, browsers and terminal, no dependencies
Gilbert-Johnson-Keerthi (GJK) collision detection algorithm in 200 lines of clean plain C
restore orders
Merge pull request #16763 from carlosmiei/fix-orders-test
Tests python :: restore orders line
node run-tests huobi --python-async --privateOnly
Testing { exchanges: ["huobi"], symbol: "all", keys: { '--js': false, '--php': false, '--python': false, '--python-async': true, '--php-async': false }, exchangeSpecificFlags: { '--sandbox': false, '--verbose': false, '--private': false, '--privateOnly': true }, maxConcurrency: 5 } (run-tests.js:274)
[100%] Testing huobi OK (testExchange @ run-tests.js:191)
All done, 1 succeeded (run-tests.js:295)
.js:295)
➜ ccxt git:(fix-orders-test) ✗ node run-tests huobi --python --privateOnly --verbose
Testing { exchanges: ["huobi"], symbol: "all", keys: { '--js': false, '--php': false, '--python': true, '--python-async': false, '--php-async': false }, exchangeSpecificFlags: { '--sandbox': false, '--verbose': true, '--private': false, '--privateOnly': true }, maxConcurrency: 5 } (run-tests.js:274)
[100%] Testing huobi OK (testExchange @ run-tests.js:191)
.js:295)
➜ ccxt git:(fix-orders-test) ✗ node run-tests huobi --python-async --privateOnly --verbose
Testing { exchanges: ["huobi"], symbol: "all", keys: { '--js': false, '--php': false, '--python': false, '--python-async': true, '--php-async': false }, exchangeSpecificFlags: { '--sandbox': false, '--verbose': true, '--private': false, '--privateOnly': true }, maxConcurrency: 5 } (run-tests.js:274)
Btcex: fetchOrder
Fixed an error with fetchOrder for swap orders:
btcex.fetchOrder (365003891281453056)
2023-01-27T21:28:47.044Z iteration 0 passed in 4913 ms
{
info: {
kind: 'perpetual',
direction: 'buy',
amount: '0.001',
price: '14000',
advanced: 'usdt',
source: 'api',
mmp: false,
rpl: '0',
version: '1',
order_id: '365003891281453056',
custom_order_id: '-',
order_state: 'open',
instrument_name: 'BTC-USDT-PERPETUAL',
show_name: 'BTCUSDT Perp',
filled_amount: '0',
average_price: '0',
order_type: 'limit',
time_in_force: 'GTC',
post_only: false,
reduce_only: false,
condition_type: 'NORMAL',
trigger_touch: false,
trigger_price_type: '1',
stop_loss_price: '13000',
stop_loss_type: '1',
take_profit_price: '0',
take_profit_type: '1',
creation_timestamp: '1674854109133',
last_update_timestamp: '1674854109283',
show_zero_rpl: false,
cascade_type: '0',
first_deal_time: '0',
position_side: 'LONG'
},
id: '365003891281453056',
clientOrderId: undefined,
timestamp: 1674854109133,
datetime: '2023-01-27T21:15:09.133Z',
lastTradeTimestamp: 1674854109283,
symbol: 'BTC/USDT:USDT',
type: 'limit',
timeInForce: 'GTC',
postOnly: false,
side: 'buy',
price: 14000,
stopPrice: undefined,
triggerPrice: undefined,
stopLossPrice: 13000,
takeProfitPrice: 0,
amount: 0.001,
cost: 0,
average: undefined,
filled: 0,
remaining: 0.001,
status: 'open',
fee: undefined,
trades: [],
fees: [],
reduceOnly: undefined
}
Merge pull request #16658 from Dan-krm/btcexFetchOrder
Btcex: fetchOrder, swap support
Fixed an error with fetchOrder for swap orders, added stopLossPrice and takeProfitPrice to parseOrder:
btcex.fetchOrder (365003891281453056)
2023-01-27T21:28:47.044Z iteration 0 passed in 4913 ms
{
info: {
kind: 'perpetual',
direction: 'buy',
amount: '0.001',
price: '14000',
advanced: 'usdt',
source: 'api',
mmp: false,
rpl: '0',
version: '1',
order_id: '365003891281453056',
custom_order_id: '-',
order_state: 'open',
instrument_name: 'BTC-USDT-PERPETUAL',
show_name: 'BTCUSDT Perp',
filled_amount: '0',
average_price: '0',
order_type: 'limit',
time_in_force: 'GTC',
post_only: false,
reduce_only: false,
condition_type: 'NORMAL',
trigger_touch: false,
trigger_price_type: '1',
stop_loss_price: '13000',
stop_loss_type: '1',
take_profit_price: '0',
take_profit_type: '1',
creation_timestamp: '1674854109133',
last_update_timestamp: '1674854109283',
show_zero_rpl: false,
cascade_type: '0',
first_deal_time: '0',
position_side: 'LONG'
},
id: '365003891281453056',
clientOrderId: undefined,
timestamp: 1674854109133,
datetime: '2023-01-27T21:15:09.133Z',
lastTradeTimestamp: 1674854109283,
symbol: 'BTC/USDT:USDT',
type: 'limit',
timeInForce: 'GTC',
postOnly: false,
side: 'buy',
price: 14000,
stopPrice: undefined,
triggerPrice: undefined,
stopLossPrice: 13000,
takeProfitPrice: 0,
amount: 0.001,
cost: 0,
average: undefined,
filled: 0,
remaining: 0.001,
status: 'open',
fee: undefined,
trades: [],
fees: [],
reduceOnly: undefined
}
exchange pro base - fix delay to match js
Merge pull request #16751 from pcriadoperez/exchange/delay
exchange pro base - fix delay to match js
Fixes python delay function to be in milliseconds. JS and php versions are in milliseconds, also current use cases and describe values are in milliseconds.
Bitget: fetchCanceledOrders
Added fetchCanceledOrders to Bitget:
bitget.fetchCanceledOrders (BTC/USDT:USDT)
2023-02-04T07:55:58.891Z iteration 0 passed in 299 ms
id | clientOrderId | timestamp | datetime | lastTradeTimestamp | symbol | type | timeInForce | postOnly | side | price | stopPrice | triggerPrice | average | cost | amount | filled | remaining | status | fee | trades | fees | reduceOnly
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
954564352813969409 | 954564352868495360 | 1663311797348 | 2022-09-16T07:03:17.348Z | 1663312536072 | BTC/USDT:USDT | limit | | | buy | 18000 | |
| | 0 | 0.004 | 0 | 0.004 | canceled | | [] | [] |
954568553644306433 | 954568553677860864 | 1663312798899 | 2022-09-16T07:19:58.899Z | 1663312809425 | BTC/USDT:USDT | limit | | | buy | 18000 | |
| | 0 | 0.004 | 0 | 0.004 | canceled | | [] | [] |
959123019139788801 | 959123019185926144 | 1664398668094 | 2022-09-28T20:57:48.094Z | 1664398985312 | BTC/USDT:USDT | limit | | | buy | 18000 | |
| | 0 | 0.003 | 0 | 0.003 | canceled | | [] | [] |
3 objects
remove duplication of logic in fetchClosedOrders and fetchCanceledOrders
refactor a few more lines into shared helper method
Merge pull request #16742 from Dan-krm/bitgetFetchCanceled
Bitget: fetchCanceledOrders
Added fetchCanceledOrders to Bitget, also:
replaces: #15064
bitget.fetchCanceledOrders (BTC/USDT:USDT)
2023-02-04T07:55:58.891Z iteration 0 passed in 299 ms
id | clientOrderId | timestamp | datetime | lastTradeTimestamp | symbol | type | timeInForce | postOnly | side | price | stopPrice | triggerPrice | average | cost | amount | filled | remaining | status | fee | trades | fees | reduceOnly
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
954564352813969409 | 954564352868495360 | 1663311797348 | 2022-09-16T07:03:17.348Z | 1663312536072 | BTC/USDT:USDT | limit | | | buy | 18000 | | | | 0 | 0.004 | 0 | 0.004 | canceled | | [] | [] |
954568553644306433 | 954568553677860864 | 1663312798899 | 2022-09-16T07:19:58.899Z | 1663312809425 | BTC/USDT:USDT | limit | | | buy | 18000 | | | | 0 | 0.004 | 0 | 0.004 | canceled | | [] | [] |
959123019139788801 | 959123019185926144 | 1664398668094 | 2022-09-28T20:57:48.094Z | 1664398985312 | BTC/USDT:USDT | limit | | | buy | 18000 | | | | 0 | 0.003 | 0 | 0.003 | canceled | | [] | [] |
3 objects
bitget added fetchFundingHistory
bitget.fetchFundingHistory comment formatting
bitget fetchFundingHistory added @see
bitget added parseFundingHistories
Merge pull request #16745 from cheunhong/bitget-add-fetchFundingHistory
bitget: fetchFundingHistory
detla - zero fix
Merge pull request #16758 from ttodua/delta-fix-zero-ts
detla - zero fix
had a mistake, needs one less zero
ace: integrate v1 public api
ace: add fetchBalance
ace: add fetchOHLCV
ace: add createOrder
ace: add fetchOrders
ace: add cancelOrder
ace: add fetchOrder
ace: add fetchOrderTrades
ace: update payload encoding to application/x-www-form-urlencoded
ace: replace regex with split and join
ace: update fetchMarkets
ace: update fetch ticker / tickers
ace: update fetchBalance
ace: update fetchOrderBook
ace: update fetchOHLCV
ace: update functions related to order
ace: add fetchMyTrades
ace: update
ace: update currency list
ace: update
In this PR, I'm going to integrate ACE exchange to ccxt (https://github.com/ace-exchange/ace-offical-api-docs/blob/master/api.md).
Related issue: ccxt/ccxt#15764
TODO:
V1
V2