ccxt 4.2.100 → 4.3.1

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.
Files changed (315) hide show
  1. package/README.md +3 -3
  2. package/dist/cjs/ccxt.js +1 -1
  3. package/dist/cjs/src/binance.js +56 -0
  4. package/dist/cjs/src/bingx.js +2 -2
  5. package/dist/cjs/src/bitget.js +64 -2
  6. package/dist/cjs/src/bybit.js +1 -1
  7. package/dist/cjs/src/coinex.js +55 -60
  8. package/dist/cjs/src/kraken.js +8 -3
  9. package/dist/cjs/src/kucoin.js +13 -11
  10. package/dist/cjs/src/okx.js +76 -5
  11. package/dist/cjs/src/pro/kraken.js +2 -2
  12. package/dist/cjs/src/woo.js +40 -0
  13. package/js/ccxt.d.ts +1 -1
  14. package/js/ccxt.js +1 -1
  15. package/js/src/binance.d.ts +3 -1
  16. package/js/src/binance.js +56 -0
  17. package/js/src/bingx.js +3 -3
  18. package/js/src/bitget.d.ts +1 -0
  19. package/js/src/bitget.js +64 -2
  20. package/js/src/bybit.js +1 -1
  21. package/js/src/coinex.js +55 -60
  22. package/js/src/kraken.js +8 -3
  23. package/js/src/kucoin.js +13 -11
  24. package/js/src/okx.d.ts +1 -0
  25. package/js/src/okx.js +76 -5
  26. package/js/src/pro/kraken.js +2 -2
  27. package/js/src/woo.d.ts +1 -0
  28. package/js/src/woo.js +40 -0
  29. package/package.json +2 -1
  30. package/.dockerignore +0 -6
  31. package/.eslintignore +0 -1
  32. package/.git-templates/hooks/pre-push +0 -55
  33. package/.gitattributes +0 -7
  34. package/CHANGELOG.md +0 -6003
  35. package/CODEOWNERS +0 -1
  36. package/CONTRIBUTING.md +0 -1099
  37. package/build.sh +0 -217
  38. package/change.sh +0 -18
  39. package/cleanup.sh +0 -18
  40. package/composer-install.sh +0 -20
  41. package/dist/ccxt.browser.js +0 -327256
  42. package/dist/ccxt.browser.min.js +0 -30
  43. package/dist/ccxt.browser.min.js.LICENSE.txt +0 -12
  44. package/doc/FAQ.rst +0 -1
  45. package/doc/Makefile +0 -20
  46. package/doc/_static/css/dark.css +0 -101
  47. package/doc/_static/css/index.css +0 -128
  48. package/doc/_static/favicon.ico +0 -0
  49. package/doc/_static/javascript/binance-portal.min.js +0 -2369
  50. package/doc/_static/javascript/index.js +0 -195
  51. package/doc/_static/javascript/jquery-ui.min.js +0 -6
  52. package/doc/ccxt.pro.install.rst +0 -1
  53. package/doc/ccxt.pro.manual.rst +0 -1665
  54. package/doc/exchange-markets-by-country.rst +0 -1423
  55. package/doc/exchange-markets.rst +0 -1441
  56. package/doc/index.rst +0 -35
  57. package/doc/install.rst +0 -1
  58. package/doc/make.bat +0 -36
  59. package/doc/manual.rst +0 -7471
  60. package/doc/readme.rst +0 -2191
  61. package/doc/requirements.txt +0 -6
  62. package/examples/ccxt.pro/html/watchTicker.html +0 -51
  63. package/examples/ccxt.pro/js/binance-fetch-balance-snapshot-watch-balance-updates.js +0 -55
  64. package/examples/ccxt.pro/js/binance-https-proxy.js +0 -48
  65. package/examples/ccxt.pro/js/binance-watch-ohlcv-many-symbols-continuously.js +0 -38
  66. package/examples/ccxt.pro/js/binance-watch-ohlcv-many-symbols.js +0 -64
  67. package/examples/ccxt.pro/js/binance-watch-ticker-many-symbols.js +0 -62
  68. package/examples/ccxt.pro/js/build-ohlcv-many-symbols.js +0 -68
  69. package/examples/ccxt.pro/js/calculate-ohlcvs-from-trades-warmup.js +0 -82
  70. package/examples/ccxt.pro/js/calculate-ohlcvs-from-trades.js +0 -59
  71. package/examples/ccxt.pro/js/exchange-capabitities.js +0 -72
  72. package/examples/ccxt.pro/js/exchange-close.js +0 -46
  73. package/examples/ccxt.pro/js/gateio-swap-watch-many-orderbooks.js +0 -30
  74. package/examples/ccxt.pro/js/gateio-watch-balance.js +0 -23
  75. package/examples/ccxt.pro/js/gateio-watch-order-book.js +0 -71
  76. package/examples/ccxt.pro/js/graceful-shutdown.js +0 -43
  77. package/examples/ccxt.pro/js/many-exchanges-many-streams.js +0 -37
  78. package/examples/ccxt.pro/js/okex-create-futures-order.js +0 -48
  79. package/examples/ccxt.pro/js/okex-watch-balance-and-create-order.js +0 -54
  80. package/examples/ccxt.pro/js/okx-watch-tickers.js +0 -31
  81. package/examples/ccxt.pro/js/one-exchange-many-different-streams.js +0 -46
  82. package/examples/ccxt.pro/js/one-exchange-many-streams-2.js +0 -26
  83. package/examples/ccxt.pro/js/one-exchange-many-streams.js +0 -28
  84. package/examples/ccxt.pro/js/socks-binance-watch-orderbook.js +0 -30
  85. package/examples/ccxt.pro/js/watch-fetch-many-exchanges-many-ordersbooks.js +0 -40
  86. package/examples/ccxt.pro/js/watch-many-exchanges-many-ordersbooks.js +0 -38
  87. package/examples/ccxt.pro/js/watch-many-exchanges-many-symbols.js +0 -40
  88. package/examples/ccxt.pro/js/watch-many-orderbooks.js +0 -27
  89. package/examples/ccxt.pro/js/watch-new-trades-only.js +0 -43
  90. package/examples/ccxt.pro/js/watch-new-trades.js +0 -42
  91. package/examples/ccxt.pro/js/watch-trades-many-symbols.js +0 -29
  92. package/examples/ccxt.pro/js/watch-vs-fetch.js +0 -29
  93. package/examples/cs/Examples.sln +0 -22
  94. package/examples/cs/c#.csproj +0 -19
  95. package/examples/html/basic-cors-proxy.html +0 -46
  96. package/examples/html/basic-inheritance.html +0 -47
  97. package/examples/html/basic-poller.html +0 -52
  98. package/examples/html/basic-rate-limiting.html +0 -49
  99. package/examples/html/basic.html +0 -43
  100. package/examples/html/binance-cors-proxy.html +0 -28
  101. package/examples/html/bitmex-browser-cors-proxy.js +0 -7
  102. package/examples/html/bitmex-cors.html +0 -46
  103. package/examples/html/tradingview-charts.html +0 -61
  104. package/examples/html/webworker/index.html +0 -97
  105. package/examples/html/webworker/worker.js +0 -43
  106. package/examples/js/advanced-error-handling.js +0 -39
  107. package/examples/js/aggregate-orderbook.js +0 -54
  108. package/examples/js/arbitrage-pairs.js +0 -130
  109. package/examples/js/basic-chart.js +0 -29
  110. package/examples/js/basic-orderbook-polling.js +0 -13
  111. package/examples/js/bcc-vs-bch.js +0 -115
  112. package/examples/js/benchmark.js +0 -104
  113. package/examples/js/binance-fetch-all-deposits.js +0 -45
  114. package/examples/js/binance-fetch-ohlcv-many-symbols-async-await.js +0 -34
  115. package/examples/js/binance-fetch-ohlcv-many-symbols-promise-then-callbacks.js +0 -33
  116. package/examples/js/binance-fetchTicker-delivery-vs-future.js +0 -31
  117. package/examples/js/binance-futures-transfer-from-sub-account-to-master.js +0 -41
  118. package/examples/js/binance-margin-stop-order.js +0 -39
  119. package/examples/js/binance-server-time.js +0 -34
  120. package/examples/js/binance-universal-transfer.js +0 -16
  121. package/examples/js/bitfinex-fetch-trades.js +0 -35
  122. package/examples/js/bitfinex2-fetch-trades.js +0 -35
  123. package/examples/js/bitmex-browser-cors-proxy.js +0 -7
  124. package/examples/js/bitpanda-fetchMyTrades-reduce.js +0 -36
  125. package/examples/js/bitrue-fetch-balance.js +0 -28
  126. package/examples/js/bitstamp-private-api.js +0 -115
  127. package/examples/js/bitstamp-public-api.js +0 -39
  128. package/examples/js/bittrex-balance.js +0 -50
  129. package/examples/js/bittrex-fetch-closed-orders-history.js +0 -69
  130. package/examples/js/blockchaincom-withdrawal.js +0 -59
  131. package/examples/js/build-ohlcv-bars.js +0 -48
  132. package/examples/js/builtin-rate-limiting-rest-poller.js +0 -25
  133. package/examples/js/bybit-trailing.js +0 -62
  134. package/examples/js/bybit-updated.cjs +0 -154
  135. package/examples/js/coinbase-fetch-all-balances.js +0 -36
  136. package/examples/js/coinex-fetch-all-deposit-addresses-using-fetchDepositAddress.js +0 -47
  137. package/examples/js/coinex-futures.js +0 -75
  138. package/examples/js/coinone-fetch-tickers.js +0 -54
  139. package/examples/js/coinone-markets.js +0 -16
  140. package/examples/js/compare-two-exchanges-capabilities.js +0 -36
  141. package/examples/js/cors-proxy.js +0 -5
  142. package/examples/js/create-order-handle-errors.js +0 -55
  143. package/examples/js/create-order-position-with-takeprofit-stoploss.js +0 -71
  144. package/examples/js/create-order-with-retry.js +0 -65
  145. package/examples/js/create-order-ws-example.js +0 -25
  146. package/examples/js/create-orders-example.js +0 -17
  147. package/examples/js/create-trailing-amount-order.js +0 -36
  148. package/examples/js/create-trailing-percent-order.js +0 -36
  149. package/examples/js/credentials.json +0 -5
  150. package/examples/js/custom-proxy-agent-for-js.js +0 -10
  151. package/examples/js/custom-proxy-url.js +0 -23
  152. package/examples/js/delta-maintenance-margin-rate-max-leverage.js +0 -60
  153. package/examples/js/env-variables.js +0 -26
  154. package/examples/js/error-handling.js +0 -89
  155. package/examples/js/exchange-capabilities.js +0 -135
  156. package/examples/js/exchanges-by-volume.js +0 -60
  157. package/examples/js/exchanges.js +0 -40
  158. package/examples/js/fetch-all-balances.js +0 -219
  159. package/examples/js/fetch-all-tickers-to-files-2.js +0 -53
  160. package/examples/js/fetch-all-tickers-to-files.js +0 -77
  161. package/examples/js/fetch-balance.js +0 -28
  162. package/examples/js/fetch-create-deposit-address.js +0 -101
  163. package/examples/js/fetch-from-many-exchanges-simultaneously.js +0 -21
  164. package/examples/js/fetch-funding-rate-history.js +0 -25
  165. package/examples/js/fetch-futures/prettier.config.js +0 -5
  166. package/examples/js/fetch-futures/src/index.js +0 -25
  167. package/examples/js/fetch-ohlcv-from-to-mark-index-premium.js +0 -72
  168. package/examples/js/fetch-ohlcv-many-exchanges-continuosly.js +0 -39
  169. package/examples/js/fetch-ohlcv.js +0 -16
  170. package/examples/js/fetch-okex-futures.js +0 -22
  171. package/examples/js/fetch-orders.js +0 -27
  172. package/examples/js/fetch-ticker-from-multiple-exchanges.js +0 -35
  173. package/examples/js/fetch-ticker-where-available.js +0 -75
  174. package/examples/js/fetch-tickers/build/index.js +0 -19
  175. package/examples/js/fetch-tickers/prettier.config.js +0 -5
  176. package/examples/js/fetch-tickers/src/index.js +0 -17
  177. package/examples/js/gateio-create-batch-order.js +0 -43
  178. package/examples/js/gateio-futures.js +0 -49
  179. package/examples/js/gateio-open-close-contract.js +0 -49
  180. package/examples/js/gateio-swaps.js +0 -74
  181. package/examples/js/gdax-fetch-trades-pagination.js +0 -29
  182. package/examples/js/hitbtc2-withdraw.js +0 -61
  183. package/examples/js/how-to-import-one-exchange-esm.js +0 -10
  184. package/examples/js/huobi-futures.js +0 -71
  185. package/examples/js/huobi-open-close-contract.js +0 -63
  186. package/examples/js/huobi-swaps.js +0 -70
  187. package/examples/js/huobipro-market-buy-sell-fetch-trading-limits.js +0 -98
  188. package/examples/js/hybridCJSExample.cjs +0 -19
  189. package/examples/js/hybridESMExample.js +0 -19
  190. package/examples/js/idex-fetch-balance.js +0 -13
  191. package/examples/js/instantiate-all-at-once.js +0 -46
  192. package/examples/js/instantiate-all-from-json.js +0 -31
  193. package/examples/js/kraken-create-and-close-position.js +0 -54
  194. package/examples/js/kraken-fetch-order-trades.js +0 -33
  195. package/examples/js/kraken-margin-trading.js +0 -89
  196. package/examples/js/kucoin-rate-limit.js +0 -38
  197. package/examples/js/latoken-example.js +0 -108
  198. package/examples/js/live-orderbook.js +0 -106
  199. package/examples/js/live-ticker.js +0 -80
  200. package/examples/js/live-tickers.js +0 -74
  201. package/examples/js/load-all-contracts.js +0 -41
  202. package/examples/js/load-all-symbols-at-once.js +0 -69
  203. package/examples/js/load-all-tickers-at-once.js +0 -91
  204. package/examples/js/load-markets-to-files.js +0 -57
  205. package/examples/js/looping-over-all-symbols-of-specific-exchanges.js +0 -61
  206. package/examples/js/looping-over-specific-symbols-of-all-exchanges.js +0 -91
  207. package/examples/js/margin-loan-borrow-buy-sell-repay.js +0 -70
  208. package/examples/js/market-status-and-currency-status.js +0 -29
  209. package/examples/js/ohlcv-console-chart.js +0 -29
  210. package/examples/js/okex-fetch-closed-orders-archive.js +0 -31
  211. package/examples/js/okex-transfer.js +0 -51
  212. package/examples/js/okx-poll-fetch-my-trades.js +0 -37
  213. package/examples/js/okx-poll-rate-limit.js +0 -48
  214. package/examples/js/order-book-extra-level-depth-param.js +0 -20
  215. package/examples/js/phemex-create-order-position-with-takeprofit-stoploss.js +0 -49
  216. package/examples/js/poll-ohlcv.js +0 -43
  217. package/examples/js/poloniex-fetch-order-books.js +0 -35
  218. package/examples/js/poloniex-limits-amount-min.js +0 -62
  219. package/examples/js/proxy-round-robin.js +0 -98
  220. package/examples/js/proxy-usage.js +0 -32
  221. package/examples/js/sample-local-proxy-server-with-cors.js +0 -12
  222. package/examples/js/search-all-exchanges.js +0 -159
  223. package/examples/js/shared-load-markets.js +0 -80
  224. package/examples/js/sort-swap-markets-by-hourly-price-change.js +0 -55
  225. package/examples/js/symbols.js +0 -110
  226. package/examples/js/theocean.js +0 -41
  227. package/examples/js/tickers.js +0 -106
  228. package/examples/js/validate-paginated-data.js +0 -61
  229. package/examples/js/watch-OHLCV-For-Symbols.js +0 -15
  230. package/examples/js/watch-OHLCV.js +0 -12
  231. package/examples/js/watch-OrderBook-For-Symbols.js +0 -11
  232. package/examples/js/watch-Trades-For-Symbols.js +0 -11
  233. package/examples/js/watch-tickers.js +0 -11
  234. package/examples/js/watchOHLCVForSymbols.js +0 -15
  235. package/examples/js/watchOrderBookForSymbols.js +0 -11
  236. package/examples/js/watchPositions-many-exchanges-continuosly.d.ts +0 -2
  237. package/examples/js/watchPositions-many-exchanges-continuosly.d.ts.map +0 -1
  238. package/examples/js/watchPositions-many-exchanges-continuosly.js +0 -49
  239. package/examples/js/watchPositions.d.ts +0 -2
  240. package/examples/js/watchPositions.d.ts.map +0 -1
  241. package/examples/js/watchPositions.js +0 -13
  242. package/examples/js/watchPositionsForSymbols.d.ts +0 -2
  243. package/examples/js/watchPositionsForSymbols.d.ts.map +0 -1
  244. package/examples/js/watchPositionsForSymbols.js +0 -14
  245. package/examples/js/watchTradesForSymbols.js +0 -11
  246. package/examples/js/withdraw-from-one-exchange-to-another.js +0 -50
  247. package/examples/php/README.md +0 -7
  248. package/examples/py/README.md +0 -15
  249. package/examples/py/playing_with_ccxt_example.ipynb +0 -222
  250. package/examples/ts/.eslintrc +0 -111
  251. package/examples/ts/benchmark.ts +0 -134
  252. package/examples/ts/build-ohlcv-bars.ts +0 -53
  253. package/examples/ts/cli.ts +0 -397
  254. package/examples/ts/compare-two-exchanges-capabilities.ts +0 -36
  255. package/examples/ts/create-order-position-with-takeprofit-stoploss.ts +0 -89
  256. package/examples/ts/create-order-ws-example.ts +0 -33
  257. package/examples/ts/create-orders-example.ts +0 -21
  258. package/examples/ts/create-trailing-amount-order.ts +0 -37
  259. package/examples/ts/create-trailing-percent-order.ts +0 -37
  260. package/examples/ts/custom-proxy-agent-for-js.ts +0 -14
  261. package/examples/ts/fetch-futures/package-lock.json +0 -116
  262. package/examples/ts/fetch-futures/package.json +0 -34
  263. package/examples/ts/fetch-futures/prettier.config.js +0 -4
  264. package/examples/ts/fetch-futures/src/index.ts +0 -28
  265. package/examples/ts/fetch-futures/tsconfig.json +0 -28
  266. package/examples/ts/fetch-ohlcv-many-exchanges-continuosly.ts +0 -44
  267. package/examples/ts/fetch-ohlcv.ts +0 -17
  268. package/examples/ts/fetch-tickers/package-lock.json +0 -116
  269. package/examples/ts/fetch-tickers/package.json +0 -34
  270. package/examples/ts/fetch-tickers/prettier.config.js +0 -4
  271. package/examples/ts/fetch-tickers/src/index.ts +0 -21
  272. package/examples/ts/fetch-tickers/tsconfig.json +0 -28
  273. package/examples/ts/how-to-import-one-exchange-esm.ts +0 -11
  274. package/examples/ts/kraken-create-and-close-position.ts +0 -69
  275. package/examples/ts/margin-loan-borrow-buy-sell-repay.ts +0 -72
  276. package/examples/ts/nextjs-page-router/.eslintrc.json +0 -3
  277. package/examples/ts/nextjs-page-router/README.md +0 -43
  278. package/examples/ts/nextjs-page-router/next.config.js +0 -6
  279. package/examples/ts/nextjs-page-router/package-lock.json +0 -7425
  280. package/examples/ts/nextjs-page-router/package.json +0 -28
  281. package/examples/ts/nextjs-page-router/postcss.config.js +0 -6
  282. package/examples/ts/nextjs-page-router/public/favicon.ico +0 -0
  283. package/examples/ts/nextjs-page-router/src/pages/_app.tsx +0 -6
  284. package/examples/ts/nextjs-page-router/src/pages/_document.tsx +0 -13
  285. package/examples/ts/nextjs-page-router/src/pages/balance.tsx +0 -46
  286. package/examples/ts/nextjs-page-router/src/pages/index.tsx +0 -8
  287. package/examples/ts/nextjs-page-router/src/pages/tickers.tsx +0 -61
  288. package/examples/ts/nextjs-page-router/src/styles/globals.css +0 -27
  289. package/examples/ts/nextjs-page-router/tailwind.config.ts +0 -20
  290. package/examples/ts/nextjs-page-router/tsconfig.json +0 -22
  291. package/examples/ts/phemex-create-order-position-with-takeprofit-stoploss.ts +0 -62
  292. package/examples/ts/proxy-usage.ts +0 -41
  293. package/examples/ts/sample-local-proxy-server-with-cors.ts +0 -15
  294. package/examples/ts/watch-OHLCV-For-Symbols.ts +0 -17
  295. package/examples/ts/watch-OHLCV.ts +0 -14
  296. package/examples/ts/watch-OrderBook-For-Symbols.ts +0 -13
  297. package/examples/ts/watch-Trades-For-Symbols.ts +0 -13
  298. package/examples/ts/watch-tickers.ts +0 -13
  299. package/examples/ts/watchPositions-many-exchanges-continuosly.ts +0 -53
  300. package/examples/ts/watchPositions.ts +0 -15
  301. package/examples/ts/watchPositionsForSymbols.ts +0 -16
  302. package/examples/tsconfig.json +0 -27
  303. package/examples2md.js +0 -79
  304. package/gource.sh +0 -3
  305. package/index.html +0 -7
  306. package/jsdoc2md.js +0 -122
  307. package/multilang.sh +0 -164
  308. package/pro-tests.json +0 -57
  309. package/pyproject.toml +0 -8
  310. package/rollup.config.js +0 -60
  311. package/skip-tests.json +0 -1653
  312. package/test-commonjs.cjs +0 -65
  313. package/tests-manager.sh +0 -96
  314. package/tsconfig.json +0 -111
  315. package/webpack.config.js +0 -46
@@ -1,30 +0,0 @@
1
- 'use strict';
2
-
3
- const ccxt = require ('ccxt')
4
-
5
- console.log ("CCXT Pro Version:", ccxt.version)
6
-
7
- async function loop (exchange, method, symbol) {
8
- while (true) {
9
- try {
10
- const orderbook = await exchange[method] (symbol)
11
- console.log (exchange.iso8601 (exchange.milliseconds ()), orderbook['datetime'], orderbook['nonce'], symbol, orderbook['asks'][0], orderbook['bids'][0])
12
- } catch (e) {
13
- console.log (e.constructor.name, e.message)
14
- }
15
- }
16
- }
17
-
18
- async function main () {
19
- const exchange = new ccxt.pro.gateio ({
20
- 'options': {'defaultType':'swap'}
21
- })
22
- await exchange.loadMarkets ()
23
- // exchange.verbose = true // uncomment for debugging purposes if necessary
24
- const symbols = [
25
- 'ANC/USDT:USDT',
26
- ]
27
- await Promise.all (symbols.map (symbol => loop (exchange, 'fetchOrderBook', symbol)))
28
- }
29
-
30
- main ()
@@ -1,23 +0,0 @@
1
- const ccxt = require ('../../../ccxt')
2
-
3
- console.log ('CCXT Pro version:', ccxt.version)
4
-
5
- async function main () {
6
- const exchange = new ccxt.pro.gateio ({
7
- 'apiKey': 'YOUR_API_KEY',
8
- 'secret': 'YOUR_SECRET',
9
- })
10
- await exchange.loadMarkets ()
11
- exchange.verbose = true
12
- while (true) {
13
- try {
14
- const response = await exchange.watchBalance ()
15
- console.log (new Date (), response)
16
- } catch (e) {
17
- console.log (e.constructor.name, e.message)
18
- await exchange.sleep (1000)
19
- }
20
- }
21
- }
22
-
23
- main ()
@@ -1,71 +0,0 @@
1
- 'use strict';
2
-
3
- const ccxt = require ('ccxt')
4
-
5
- console.log ("CCXT Pro Version:", ccxt.version)
6
-
7
- const orderbooks = {}
8
-
9
- async function watchAllSymbols (exchange, symbols) {
10
- while (true) {
11
- const keys = Object.keys (orderbooks);
12
- if (symbols.length === keys.length) {
13
- console.log ('\n\n\n\n\n')
14
- console.log ('----------------------------------------------------')
15
- console.log ('All orderbooks received at least one update:');
16
- for (let i = 0; i < symbols.length; i++) {
17
- const symbol = symbols[i]
18
- const orderbook = orderbooks[symbol]
19
- console.log (exchange.iso8601 (exchange.milliseconds ()), orderbook['datetime'], orderbook['nonce'], symbol, orderbook['asks'][0], orderbook['bids'][0])
20
- }
21
- console.log ('----------------------------------------------------')
22
- console.log ('\n\n\n\n\n')
23
- // process.exit () // stop here if you want
24
- break
25
- } else {
26
- await exchange.sleep (1000);
27
- }
28
- }
29
- }
30
-
31
- async function watchOrderBook (exchange, symbol) {
32
- while (true) {
33
- try {
34
- const orderbook = await exchange.watchOrderBook (symbol)
35
- orderbooks[symbol] = orderbook
36
- console.log (exchange.iso8601 (exchange.milliseconds ()), orderbook['datetime'], orderbook['nonce'], symbol, orderbook['asks'][0], orderbook['bids'][0])
37
- } catch (e) {
38
- console.log (e.constructor.name, e.message)
39
- }
40
- }
41
- }
42
-
43
- async function main () {
44
- const exchange = new ccxt.pro.gateio ({
45
- 'options': {
46
- 'defaultType': 'swap',
47
- },
48
- })
49
- await exchange.loadMarkets ()
50
- // exchange.verbose = true // uncomment for debugging purposes if necessary
51
- const symbols = [
52
- // 'SOS/USDT:USDT',
53
- // 'JASMY/USDT:USDT',
54
- // 'SLP/USDT:USDT',
55
- 'ACH/USDT:USDT',
56
- 'MKISHU/USDT:USDT',
57
- // 'GMT/USDT:USDT',
58
- // 'ASTR/USDT:USDT',
59
- 'RAMP/USDT:USDT',
60
- 'RSR/USDT:USDT',
61
- // 'RACA/USDT:USDT',
62
- // 'ROOK/USDT:USDT',
63
- // 'ROSE/USDT:USDT',
64
- ]
65
- await Promise.all ([
66
- watchAllSymbols (exchange, symbols),
67
- ... symbols.map (symbol => watchOrderBook (exchange, symbol))
68
- ])
69
- }
70
-
71
- main ()
@@ -1,43 +0,0 @@
1
- 'use strict';
2
-
3
- const ccxt = require ('../../../ccxt');
4
-
5
- let stop = false
6
-
7
- async function shutdown (milliseconds) {
8
- await ccxt.sleep (10000)
9
- stop = true
10
- }
11
-
12
- async function watchOrderBook (exchangeId, symbol) {
13
-
14
- const exchange = new ccxt.pro[exchangeId] ()
15
- await exchange.loadMarkets ()
16
- // exchange.verbose = true
17
- while (!stop) {
18
- try {
19
- const orderbook = await exchange.watchOrderBook (symbol)
20
- console.log (new Date (), exchange.id, symbol, orderbook['asks'][0], orderbook['bids'][0])
21
- } catch (e) {
22
- console.log (symbol, e)
23
- stop = true
24
- break
25
- }
26
- }
27
- await exchange.close ()
28
- }
29
-
30
- async function main () {
31
- const streams = {
32
- 'binance': 'BTC/USDT',
33
- 'ftx': 'BTC/USDT',
34
- };
35
-
36
- await Promise.all ([
37
- shutdown (10000),
38
- ... Object.entries (streams).map (([ exchangeId, symbol ]) => watchOrderBook (exchangeId, symbol))
39
- ])
40
-
41
- }
42
-
43
- main()
@@ -1,37 +0,0 @@
1
- 'use strict';
2
-
3
- const ccxt = require ('../../../ccxt');
4
-
5
- (async () => {
6
-
7
- const streams = {
8
- 'binance': 'BTC/USDT',
9
- 'bittrex': 'BTC/USDT',
10
- 'poloniex': 'BTC/USDT',
11
- 'bitfinex': 'BTC/USDT',
12
- 'hitbtc': 'BTC/USDT',
13
- 'upbit': 'BTC/USDT',
14
- 'coinbasepro': 'BTC/USD',
15
- 'ftx': 'BTC/USDT',
16
- 'okex': 'BTC/USDT',
17
- 'gateio': 'BTC/USDT',
18
- };
19
-
20
- await Promise.all (Object.keys (streams).map (exchangeId =>
21
-
22
- (async () => {
23
-
24
- const exchange = new ccxt.pro[exchangeId] ({ enableRateLimit: true })
25
- const symbol = streams[exchangeId]
26
- while (true) {
27
- try {
28
- const orderbook = await exchange.watchOrderBook (symbol)
29
- console.log (new Date (), exchange.id, symbol, orderbook['asks'][0], orderbook['bids'][0])
30
- } catch (e) {
31
- console.log (symbol, e)
32
- }
33
- }
34
-
35
- }) ())
36
- )
37
- }) ()
@@ -1,48 +0,0 @@
1
- 'use strict';
2
-
3
- const ccxt = require ('ccxt')
4
- , exchange = new ccxt.okex ({
5
- apiKey: 'YOUR_API_KEY',
6
- secret: 'YOUR_API_SECRET',
7
- password: 'YOUR_API_PASSWORD',
8
- enableRateLimit: true,
9
- options: { defaultType: 'futures' },
10
- })
11
- , symbol = 'BTC/USDT:USDT-201225'
12
- , amount = 1 // how may contracts
13
- , price = undefined // or your limit price
14
- , side = 'buy' // or 'sell'
15
- , type = '1' // 1 open long, 2 open short, 3 close long, 4 close short for futures
16
- , order_type = '4' // 0 = limit order, 4 = market order
17
-
18
- console.log ('CCXT Pro Version: ', ccxt.version)
19
-
20
- async function main () {
21
-
22
- try {
23
-
24
- await exchange.loadMarkets ()
25
-
26
- // exchange.verbose = true // uncomment for debugging
27
- // open long market price order
28
- const order = await exchange.createOrder(symbol, 'market', side, amount, price, { type });
29
- // --------------------------------------------------------------------
30
- // open long market price order
31
- // const order = await exchange.createOrder(symbol, type, side, amount, price, { order_type });
32
- // --------------------------------------------------------------------
33
- // close short market price order
34
- // const order = await exchange.createOrder(symbol, 'market', side, amount, price, { type, order_type });
35
- // --------------------------------------------------------------------
36
- // close short market price order
37
- // const order = await exchange.createOrder(symbol, '4', side, amount, price, { order_type });
38
- // ...
39
-
40
- console.log (order)
41
-
42
- } catch (e) {
43
-
44
- console.log (e.constructor.name, e.message)
45
- }
46
- }
47
-
48
- main ()
@@ -1,54 +0,0 @@
1
- const ccxt = require ('ccxt')
2
-
3
- console.log ('Node.js:', process.version)
4
- console.log ('CCXT Pro v' + ccxt.version)
5
-
6
- const exchange = new ccxt.pro.okex ({
7
- 'apiKey': 'YOUR_API_KEY',
8
- 'secret': 'YOUR_API_SECRET',
9
- 'password': 'YOUR_API_PASWORD'
10
- })
11
-
12
- async function watchBalance (code) {
13
-
14
- while (true) {
15
- const balance = await exchange.watchBalance ({
16
- 'code': code,
17
- })
18
- console.log ('New', code, 'balance is: ', balance[code])
19
- }
20
- }
21
-
22
- async function createOrder (symbol, type, side, amount, price = undefined, params = {}) {
23
-
24
- console.log ('Creating', symbol, type, 'order')
25
- const order = await exchange.createOrder (symbol, type, side, amount, price, params);
26
- console.log (symbol, type, side, 'order created')
27
- console.log (order)
28
- }
29
-
30
- ;(async () => {
31
-
32
- await exchange.loadMarkets ()
33
- console.log (exchange.id, 'markets loaded')
34
-
35
- const symbol = 'ETH/USDT'
36
- const market = exchange.market (symbol)
37
- const quote = market['quote']
38
-
39
- // run in parallel without await
40
- console.log ('Watching', quote, 'balance')
41
- watchBalance (quote)
42
-
43
- // wait a bit to allow it to subscribe
44
- await exchange.sleep (3000)
45
-
46
- const ticker = await exchange.watchTicker (symbol)
47
- const type = 'market'
48
- const side = 'buy'
49
- const amount = 0.1
50
- const price = ticker['bid']
51
-
52
- await createOrder (symbol, type, side, amount, price)
53
-
54
- }) ()
@@ -1,31 +0,0 @@
1
- import ccxt from '../../../js/ccxt.js';
2
-
3
- async function main() {
4
- const exchange = new ccxt.pro.okx()
5
- await exchange.loadMarkets()
6
- // exchange.verbose = true
7
- while (true) {
8
- try {
9
-
10
- // don't do this, specify a list of symbols to watch for watchTickers
11
- // or a very large subscription message will crash your WS connection
12
- // const tickers = await exchange.watchTickers ()
13
-
14
- // do this instead
15
- const symbols = [
16
- 'ETH/BTC',
17
- 'BTC/USDT',
18
- 'ETH/USDT',
19
- // ...
20
- ]
21
- const tickers = await exchange.watchTickers (symbols)
22
- symbols = Object.keys(tickers)
23
- console.log (new Date(), 'received', symbols.length, 'symbols', ... symbols.slice(0,5).join(', '), '...')
24
- } catch (e) {
25
- console.log (new Date(), e.constructor.name, e.message)
26
- break
27
- }
28
- }
29
- }
30
-
31
- main()
@@ -1,46 +0,0 @@
1
- 'use strict';
2
-
3
- const ccxt = require ('ccxt')
4
-
5
- console.log ('CCXT Version:', ccxt.version)
6
-
7
- async function watchOrders(exchange) {
8
- while (true) {
9
- try {
10
- const orders = await exchange.watchOrders() // await here
11
- console.log(orders)
12
- } catch (e) {
13
- console.log(e)
14
- }
15
- }
16
- }
17
-
18
- async function watchBalance(exchange) {
19
- while (true) {
20
- try {
21
- const balance = await exchange.watchBalance() // await here
22
- console.log(balance)
23
- } catch (e) {
24
- console.log(e)
25
- }
26
- }
27
- }
28
-
29
- async function main() {
30
- const exchange = new ccxt.pro.binance({
31
- 'apiKey': 'YOUR_API_KEY',
32
- 'secret': 'YOUR_SECRET',
33
- 'password': 'IF NECESSARY',
34
- // etc...
35
- })
36
- await exchange.loadMarkets () // await here
37
-
38
- // exchange.verbose = true // uncomment for debugging purposes if necessary
39
-
40
- watchOrders(exchange) // no await
41
- watchBalance(exchange) // no await
42
-
43
- await exchange.close()
44
- }
45
-
46
- main()
@@ -1,26 +0,0 @@
1
- 'use strict';
2
-
3
- const ccxt = require ('ccxt');
4
-
5
- (async () => {
6
-
7
- const exchange = new ccxt.pro.binance ({ enableRateLimit: true })
8
- const symbols = [ 'BTC/USDT', 'ETH/BTC', 'ETH/USDT' ]
9
-
10
- const loop = async (symbol) => {
11
- while (true) {
12
- try {
13
- const orderbook = await exchange.watchOrderBook (symbol)
14
- console.log (new Date (), symbol, orderbook['asks'][0], orderbook['bids'][0])
15
- } catch (e) {
16
- console.log (symbol, e)
17
- // do nothing and retry on next loop iteration
18
- // throw e // uncomment to break all loops in case of an error in any one of them
19
- // break // you can also break just this one loop if it fails
20
- }
21
- }
22
- }
23
-
24
- await Promise.all (symbols.map (symbol => loop (symbol)))
25
-
26
- }) ()
@@ -1,28 +0,0 @@
1
- 'use strict';
2
-
3
- const ccxt = require ('ccxt');
4
-
5
- (async () => {
6
-
7
- const exchange = new ccxt.pro.binance ({ enableRateLimit: true })
8
- const symbols = [ 'BTC/USDT', 'ETH/BTC', 'ETH/USDT' ]
9
-
10
- await Promise.all (symbols.map (symbol =>
11
-
12
- (async () => {
13
-
14
- while (true) {
15
- try {
16
- const orderbook = await exchange.watchOrderBook (symbol)
17
- console.log (new Date (), symbol, orderbook['asks'][0], orderbook['bids'][0])
18
- } catch (e) {
19
- console.log (symbol, e)
20
- // do nothing and retry on next loop iteration
21
- // throw e // uncomment to break all loops in case of an error in any one of them
22
- // break // you can also break just this one loop if it fails
23
- }
24
- }
25
-
26
- }) ())
27
- )
28
- }) ()
@@ -1,30 +0,0 @@
1
- 'use strict';
2
-
3
- const ccxt = require ('ccxt')
4
- , SocksProxyAgent = require ('socks-proxy-agent')
5
- , socks = 'socks://127.0.0.1:7000'
6
- , socksAgent = new SocksProxyAgent (socks)
7
- , exchange = new ccxt.binance ({
8
- enableRatLimit: true,
9
- httpsAgent: socksAgent, // ←--------------------- socksAgent here
10
- options: {
11
- 'ws': {
12
- 'options': { agent: socksAgent }, // ←--- socksAgent here
13
- },
14
- },
15
- })
16
-
17
- ;(async () => {
18
- console.log (socks)
19
- const symbol = 'BTC/USDT'
20
- await exchange.loadMarkets ()
21
- console.log ('Markets loaded')
22
- while (true) {
23
- try {
24
- const orderbook = await exchange.watchOrderBook (symbol)
25
- console.log (exchange.iso8601 (exchange.milliseconds()), symbol, orderbook['asks'][0], orderbook['bids'][0])
26
- } catch (e) {
27
- console.log (e.constructor.name, e.message)
28
- }
29
- }
30
- }) ()
@@ -1,40 +0,0 @@
1
- 'use strict';
2
-
3
- const ccxt = require ('../../../ccxt');
4
-
5
- async function watchOrderBook (exchange, symbol) {
6
- while (true) {
7
- try {
8
- const method = exchange.has.watchOrderBook ? 'watchOrderBook' : 'fetchOrderBook'
9
- const orderbook = await exchange[method](symbol)
10
- console.log (new Date (), exchange.id, symbol, orderbook['asks'][0], orderbook['bids'][0])
11
- } catch (e) {
12
- console.log (symbol, e)
13
- process.exit ()
14
- }
15
- }
16
- }
17
-
18
- async function watchExchange (exchangeId, symbols) {
19
- const exchange = new ccxt.pro[exchangeId] ()
20
- await exchange.loadMarkets ()
21
- await Promise.all (symbols.map (symbol => watchOrderBook (exchange, symbol)))
22
- }
23
-
24
- async function main () {
25
- const streams = {
26
- 'ftx': [
27
- 'BTC/USDT',
28
- 'ETH/BTC',
29
- ],
30
- 'coinex': [
31
- 'BTC/USDT',
32
- 'ETH/BTC',
33
- ],
34
- };
35
-
36
- const entries = Object.entries (streams)
37
- await Promise.all (entries.map (([ exchangeId, symbols ]) => watchExchange (exchangeId, symbols)))
38
- }
39
-
40
- main()
@@ -1,38 +0,0 @@
1
- 'use strict';
2
-
3
- const ccxt = require ('../../../ccxt');
4
-
5
- async function watchOrderBook (exchange, symbol) {
6
- while (true) {
7
- try {
8
- const orderbook = await exchange.watchOrderBook (symbol)
9
- console.log (new Date (), exchange.id, symbol, orderbook['asks'][0], orderbook['bids'][0])
10
- } catch (e) {
11
- console.log (symbol, e)
12
- }
13
- }
14
- }
15
-
16
- async function watchExchange (exchangeId, symbols) {
17
- const exchange = new ccxt.pro[exchangeId] ()
18
- await exchange.loadMarkets ()
19
- await Promise.all (symbols.map (symbol => watchOrderBook (exchange, symbol)))
20
- }
21
-
22
- async function main () {
23
- const streams = {
24
- 'binance': [
25
- 'BTC/USDT',
26
- 'ETH/BTC',
27
- ],
28
- 'ftx': [
29
- 'BTC/USDT',
30
- 'ETH/BTC',
31
- ],
32
- };
33
-
34
- const entries = Object.entries (streams)
35
- await Promise.all (entries.map (([ exchangeId, symbols ]) => watchExchange (exchangeId, symbols)))
36
- }
37
-
38
- main()
@@ -1,40 +0,0 @@
1
- 'use strict';
2
-
3
- const ccxt = require ('../../../ccxt');
4
-
5
- console.log ('CCXT Version:', ccxt.version)
6
-
7
-
8
- async function watchTickerLoop (exchange, symbol) {
9
- // exchange.verbose = true // uncomment for debugging purposes if necessary
10
- while (true) {
11
- try {
12
- const ticker = await exchange.watchTicker (symbol)
13
- console.log (new Date (), exchange.id, symbol, ticker['last'])
14
- } catch (e) {
15
- console.log (symbol, e)
16
- // do nothing and retry on next loop iteration
17
- // throw e // uncomment to break all loops in case of an error in any one of them
18
- // break // you can also break just this one loop if it fails
19
- }
20
- }
21
- }
22
-
23
- async function exchangeLoop (exchangeId, symbols) {
24
- const exchange = new ccxt.pro[exchangeId]()
25
- await exchange.loadMarkets ()
26
- const loops = symbols.map (symbol => watchTickerLoop (exchange, symbol))
27
- await Promise.all (loops)
28
- await exchange.close ()
29
- }
30
-
31
- async function main () {
32
- const exchanges = {
33
- 'binance': [ 'BTC/USDT', 'ETH/USDT' ],
34
- 'ftx': [ 'BTC/USD', 'ETH/USD' ],
35
- }
36
- const loops = Object.entries (exchanges).map (([ exchangeId, symbols ]) => exchangeLoop (exchangeId, symbols))
37
- await Promise.all (loops)
38
- }
39
-
40
- main ()
@@ -1,27 +0,0 @@
1
- 'use strict';
2
-
3
- const ccxt = require ('ccxt');
4
-
5
- async function watchOrderBook (exchangeId, symbol) {
6
-
7
- const exchange = new ccxt.pro[exchangeId] ()
8
- while (true) {
9
- try {
10
- const orderbook = await exchange.watchOrderBook (symbol)
11
- console.log (new Date (), exchange.id, symbol, orderbook['asks'][0], orderbook['bids'][0])
12
- } catch (e) {
13
- console.log (symbol, e)
14
- }
15
- }
16
- }
17
-
18
- async function main () {
19
- const streams = {
20
- 'binance': 'BTC/USDT',
21
- 'ftx': 'BTC/USDT',
22
- };
23
-
24
- await Promise.all (Object.entries (streams).map (([ exchangeId, symbol ]) => watchOrderBook (exchangeId, symbol)))
25
- }
26
-
27
- main()
@@ -1,43 +0,0 @@
1
- 'use strict';
2
-
3
- const ccxt = require ('../../../ccxt');
4
-
5
- console.log ('CCXT Version:', ccxt.version);
6
-
7
- async function watchExchange (exchangeId, symbol) {
8
-
9
- const exchange = new ccxt.pro[exchangeId] ({
10
- newUpdates: true,
11
- })
12
-
13
- await exchange.loadMarkets ();
14
-
15
- // exchange.verbose = true // uncomment for debugging purposes if necessary
16
-
17
- while (true) {
18
- try {
19
- const trades = await exchange.watchTrades (symbol)
20
- for (let i = 0; i < trades.length; i++) {
21
- const trade = trades[i]
22
- console.log (exchange.iso8601 (exchange.milliseconds ()), exchange.id, trade['symbol'], trade['id'], trade['datetime'], trade['price'], trade['amount'])
23
- }
24
- } catch (e) {
25
- console.log (symbol, e)
26
- }
27
- }
28
- }
29
-
30
- async function main () {
31
-
32
- const streams = {
33
- 'binance': 'BTC/USDT',
34
- 'okex': 'BTC/USDT',
35
- 'kraken': 'BTC/USD',
36
- };
37
-
38
- const values = Object.entries (streams)
39
- const promises = values.map (([ exchangeId, symbol ]) => watchExchange (exchangeId, symbol))
40
- await Promise.all (promises)
41
- }
42
-
43
- main ()