Commit Graph

1529 Commits

Author SHA1 Message Date
chiahung
671772a767 FIX: retry to get open orders only for 5 times and do not sync orders updated in 3 min 2023-10-30 16:28:34 +08:00
c9s
dcd837f0f9
Merge pull request #1372 from bailantaotao/edwin/fix-precision
FIX: [bybit][kucoin] fix negative volume, price precision
2023-10-28 08:09:51 +08:00
Edwin
39c3d23da3 pkg/exchange: support ping/pong 2023-10-27 16:45:41 +08:00
Edwin
d07b766939 pkg/exchange: Use the same conn to avoid concurrent write issues. 2023-10-27 16:03:03 +08:00
Edwin
ba7e26c800 pkg/exchange: use NumFractionalDigits instead of math.Log10(Float64) due to precision problem 2023-10-27 15:28:35 +08:00
Edwin
2a85bbebf0 pkg/exchange: fix precision 2023-10-27 12:52:36 +08:00
Edwin
55d444d86a pkg/exchange: add jumpIfEmpty opts to closed order batch query 2023-10-26 09:31:25 +08:00
Edwin
881db49b70 pkg/exchange: rename tradeRateLimiter to queryOrderTradeRateLimiter 2023-10-25 21:36:26 +08:00
Edwin
c611cfe73b pkg/exchange: add a jumpIfEmpty to batch trade option 2023-10-25 21:30:54 +08:00
Edwin
a18b1be44e pkg/exchange: support market trade stream on bitget 2023-10-20 16:42:09 +08:00
bailantaotao
f8c47f72bf
Merge pull request #1344 from bailantaotao/edwin/bitget/public-stream-book
FEATURE: [bitget] support book stream on bitget
2023-10-20 14:22:42 +08:00
c9s
eb404a5f9b
Merge pull request #1280 from c9s/feature/bitget
FEATURE: [bitget] integrate QueryMarkets, QueryTicker and QueryAccount api
2023-10-20 13:36:07 +08:00
Edwin
51d86ca059 pkg/exchange, types: support book stream on bitget 2023-10-19 15:40:32 +08:00
gx578007
10daeab1cb FIX: [max] remove outdated margin fields 2023-10-17 16:11:34 +08:00
bailantaotao
fb110a1d5b
Merge pull request #1339 from bailantaotao/edwin/support-200-depth
FEATURE: [BYBIT] support order book depth 200 on bybit
2023-10-12 21:16:56 -05:00
c9s
20df2ef3c8
Merge pull request #1335 from c9s/c9s/feature/private-channels
FEATURE: add custom private channel support to max
2023-10-12 17:20:06 +08:00
Edwin
ef582f6e52 pkg/exchange: support order book depth 200 on bybit 2023-10-12 11:11:26 +08:00
c9s
a13c65ef1d
Merge pull request #1332 from MengShue/add_supported_interval
FEATURE: add supported interval for okex
2023-10-05 21:47:51 +08:00
c9s
e01d89d619
Merge pull request #1232 from zenixls2/feature/forceOrder
feature: add forceOrder api for binance to show liquid info
2023-10-05 21:46:49 +08:00
zenix
590e1648eb fix: use MillisecondTimestamp instead 2023-10-05 16:16:27 +09:00
c9s
78ea940569
max: support private channel setter 2023-10-04 18:02:18 +08:00
Alan.sung
2309bbdee8 print local interval in error message 2023-10-04 16:24:32 +08:00
c9s
42d2ffd502
Merge pull request #1334 from c9s/c9s/max-http-transport
CHORE: [maxapi] change default http transport settings
2023-10-04 15:28:18 +08:00
c9s
4700e754a8
maxapi: change default http transport settings 2023-10-04 15:17:22 +08:00
Alan.sung
3b793b79b6 turn ToGlobalInterval to ToLocalInterval, use Map to turn to local interval 2023-10-04 14:23:13 +08:00
Alan.sung
0b5ce231ff fix lint and rename i with in 2023-10-04 12:39:30 +08:00
Alan.sung
a83335817e use interval [1m/3m/5m/15m/30m/1H/2H/4H] and [/6Hutc/12Hutc/1Dutc/2Dutc/3Dutc/1Wutc/1Mutc] and add unit test 2023-10-04 12:39:30 +08:00
Alan.sung
d200232c13 add supported interval for okex 2023-10-04 12:38:59 +08:00
c9s
32b8ca9a41
Merge pull request #1312 from MengShue/add_two_new_receiver_for_okex
FEATURE: add QueryClosedOrders() and QueryTrades() for okex
2023-10-04 12:14:32 +08:00
Alan.sung
b1c6e01e45 use types.StrInt64 for billID and add more comment for QueryTrades() and comment out personal unit test 2023-10-03 15:14:49 +08:00
Alan.sung
cc55d67eeb use default limit if not pass AND add more unit test 2023-10-03 12:29:30 +08:00
Alan.sung
648b82ead3 use NewGetTransactionHistoryRequest for QueryTrades and use billID for pagination 2023-10-02 18:47:05 +08:00
Alan.sung
6fd86fefda add unit test for QueryTrade() 2023-10-02 10:49:33 +08:00
c9s
2058ce808b
Merge pull request #1325 from zenixls2/fix/listenkeyexpired 2023-09-27 22:46:44 +08:00
bailantaotao
d37682e22c
Merge pull request #1326 from bailantaotao/ediwn/fix-bybit-query-trades
FIX: [bybit] fix bybit query trades
2023-09-27 15:28:34 +08:00
Edwin
add1c73656 pkg/exchange: support pagination 2023-09-27 14:56:46 +08:00
zenix
08dad1c497 fix: replace json.Number with MillisecondTimestamp in types 2023-09-27 15:52:02 +09:00
Edwin
9a05357350 pkg/exchange: remove the limitation of query range due to bybit support the query 2023-09-27 14:44:11 +08:00
Alan.sung
3b63858d23 handle pagenation for QueryTrade 2023-09-27 11:06:41 +08:00
zenix
2e4336a604 fix: listenKeyExpired event sends string timestamp 2023-09-26 18:41:15 +09:00
zenix
13b9fc4252 add forgotten emit 2023-09-26 18:36:46 +09:00
Edwin
9f83165032 pkg/exchange: use balance update instead of snapshot event 2023-09-26 17:13:23 +08:00
Edwin
70884538bc pkg/exchange: emit balance snapshot 2023-09-26 17:13:20 +08:00
zenix
7ae56a83da feature: add forceOrder api for binance to show liquid info 2023-09-26 15:22:09 +09:00
Alan.sung
ad7206271f QueryTrades only allow query by time interval, required 2023-09-26 01:06:58 +08:00
Alan.sung
99a69f4f2f add QueryClosedOrders() and QueryTrades() for okex, also fix conflict for QueryOrderTrades() and update typo error in QueryOrderTrades() 2023-09-26 01:05:09 +08:00
chiahung
fdfa3639ff FEATURE: use retry query order until successful 2023-09-19 11:12:14 +08:00
kbearXD
6d0c266513
Merge pull request #1302 from c9s/feature/grid2/use-quote-quantity
FEATURE: use quote quantity if there is QuoteQuantity in trade
2023-09-19 10:41:34 +08:00
c9s
a22c41f47d
Merge pull request #1307 from MengShue/add_QueryOrderTrades_for_okex
FEATURE: add QueryOrderTrades() for okex
2023-09-18 16:14:41 +08:00
c9s
542944b4cc
max: use websocket update time (TU) field 2023-09-17 18:29:14 +08:00
Alan.sung
a47c846fa5 add QueryOrderTrades() for okex 2023-09-14 14:54:02 +08:00
Edwin
e56d8d1607 pkg/exchange: emit auth in each exchange 2023-09-14 12:01:20 +09:00
bailantaotao
388b9c3f9f
Merge pull request #1308 from bailantaotao/edwin/add-trade-stream
FEATURE: [bybit] support market trade
2023-09-11 18:02:03 +08:00
c9s
4f82843b40
Merge pull request #1306 from andycheng123/improve/binance-api
Improve: Update Binance futures account api to v2
2023-09-11 11:14:56 +08:00
Edwin
1c5ad1d1f0 pkg/exchange: support market trade for bybit 2023-09-11 00:54:02 +08:00
bailantaotao
439f45bdf9
Merge pull request #1304 from bailantaotao/edwin/support-unsubscribe
FEATURE: [bybit] support unsubscribe
2023-09-08 18:22:53 +08:00
Andy Cheng
40dbfd5b42
improve/binance: rename variable to comply with golang naming convention 2023-09-08 18:14:51 +08:00
c9s
09ed7b141c
Merge pull request #1305 from MengShue/refactor_okex_for_future
FEATURE: refactor okex to future use
2023-09-07 22:57:29 +08:00
Andy Cheng
c9d67f8131
improve/binance: update futures account api to v2 2023-09-07 15:21:47 +08:00
Alan.sung
9a66f82d8c remove err since handling init for client 2023-09-07 11:25:12 +08:00
Alan.sung
dbf29f8cd2 add constructor to check url error 2023-09-06 21:21:13 +08:00
Alan.sung
7550ea2be1 refactor okex to future use 2023-09-06 19:14:21 +08:00
bailantaotao
1338499e3f
Merge pull request #1303 from bailantaotao/edwin/add-default-time
FEATURE: set default 30d for closed order batch query
2023-09-06 12:41:47 +08:00
Edwin
da13bb680e pkg/exchange: support unsubscribe for bybit 2023-09-06 12:18:47 +08:00
Edwin
f5a66baad3 pkg/exchage: set default 30d for closed order batch query 2023-09-05 22:04:16 +08:00
chiahung
db376f8483 FEATURE: use quote quantity if there is QuoteQuantity in trade 2023-09-05 18:28:10 +08:00
bailantaotao
7461b60b6b
Merge pull request #1299 from bailantaotao/edwin/add-server-time
pkg/exchange: add time to SliceOrderBook
2023-09-05 16:36:20 +08:00
c9s
415a28c32b
Merge pull request #1300 from bailantaotao/edwin/fix-okex-bid-ask
pkg/exchange: fix okex bookticker bug
2023-09-01 18:07:59 +08:00
Edwin
412d0e0558 *: fix lint 2023-09-01 17:54:43 +08:00
Edwin
50bfd8ee0e pkg/exchange: add time to SliceOrderBook 2023-09-01 17:54:40 +08:00
Edwin
594ab9cbaf pkg/exchange: fix okex bookticker bug 2023-09-01 17:12:32 +08:00
c9s
2c4b6e8cd1
Merge pull request #1238 from MengShue/add_unit_test_for_okex
TEST: add unit test for okex exchange
2023-08-24 12:44:45 +08:00
Alan.sung
f8ae408fad add continue in err != nil 2023-08-23 16:16:38 +08:00
Alan.sung
26cde5d57c use multierr to handle err return from toGlobalOrder 2023-08-23 15:44:51 +08:00
Alan.sung
a0946fbd42 use lower case in error string and add comment for IOC, FOK 2023-08-22 17:23:16 +08:00
Alan.sung
a4aa9c2eda remove mmp and mmp_post_only 2023-08-22 15:14:18 +08:00
bailantaotao
edfcbb01c0
Merge pull request #1293 from bailantaotao/edwin/fix-quantity-in-buy-market-order
FIX: [bybit] quantity in buy market order
2023-08-22 11:42:08 +08:00
Edwin
9ee7377f36 pkg/exchange: fix quantity for buy market order 2023-08-21 15:59:13 +08:00
Alan.sung
3dce63710a Fix to fit all reviews last time 2023-08-21 15:31:30 +08:00
Edwin
3ad7075ace pkg/exchange: fix quantity coin unit 2023-08-18 01:08:09 +08:00
c9s
ed948b2642
max: fix QuerySpotAccount method return value 2023-08-17 17:42:54 +08:00
bailantaotao
3eeba521f6
Merge pull request #1289 from bailantaotao/edwin/fix-misc-2
FIX: [bybit] fix misc
2023-08-16 22:07:57 +08:00
bailantaotao
b6c9f14dcc
Merge pull request #1285 from bailantaotao/edwin/query-order
FEATURE: [bybit] implement ExchangeOrderQueryService interface
2023-08-16 22:07:36 +08:00
Edwin
6cfbb84bb5 pkg/exchange: fix order id check for the submitted orders 2023-08-16 14:47:35 +08:00
c9s
252f4fbccc
deposit2transfer: call QuerySpotAccount for getting the spot balance 2023-08-16 12:02:18 +08:00
c9s
5f54c303fb
bitget: fix fixedpoint.Value init value 2023-08-15 16:40:15 +08:00
c9s
4a64701e16
bitget: implement QueryAccount 2023-08-15 16:38:48 +08:00
c9s
40762cad35
bitget: implement QueryTicker 2023-08-15 16:38:48 +08:00
c9s
2fda4477bd
bitget: implement QueryMarkets 2023-08-15 16:38:47 +08:00
Alan.sung
672a878194 update toGlobalOrder by referencing toGlobalOrders 2023-08-15 14:26:27 +08:00
Edwin
e4ebe1cffd pkg/exchange: supprot queryOrderTrades 2023-08-15 14:23:34 +08:00
Edwin
3207a8227c pkg/exchange: add QueryOrder api 2023-08-15 14:23:31 +08:00
Edwin
ed47d5064a pkg/exchange: fix the order id check for cancel order 2023-08-14 18:13:24 +08:00
Edwin
187429081f pkg/exchange: fix orderId json tag 2023-08-14 18:06:14 +08:00
Alan.sung
ea5b45bfe4 queryOrder() and test for it 2023-08-11 09:28:58 +08:00
Edwin
54e7065d8a pkg/exchange: implement trade event 2023-08-10 19:58:27 +08:00
Edwin
affff32599 pkg/exchange: get fee rate before connect 2023-08-10 17:57:47 +08:00
Edwin
0b03336fb0 pkg/exchange: support GetFeeRates on bybit exchange 2023-08-10 15:26:51 +08:00
Edwin
ace2c55a17 exchange/bybit: add fee rate restful api 2023-08-10 15:02:30 +08:00
Edwin
4cee22ce31 pkg/exchage: support k line websocket event 2023-08-10 11:07:13 +08:00
Edwin
e9d0ce5bbf pkg/exchage: support k line rest api 2023-08-10 11:07:10 +08:00
bailantaotao
24d240b1f3
Merge pull request #1279 from bailantaotao/edwin/add-query-acct
FEATURE: [bybit] support query account/balance api
2023-08-09 15:33:04 +08:00
Alan.sung
1c5d2dc759 add QueryOrder in okex exchange.go 2023-08-09 15:05:26 +08:00
Edwin
65b06ff401 pkg/exchange: add query account function 2023-08-09 14:05:57 +08:00
Edwin
dfead5ebed pkg/exchange: add query account balance api 2023-08-09 14:05:57 +08:00
Edwin
8c22863334 pkg/exchange: mv BalanceEvent to bybitapi and rename to WalletBalances 2023-08-09 14:05:55 +08:00
c9s
4ed402b775
max: update deposit states and add more fields to deposit 2023-08-08 20:51:48 +08:00
c9s
b711e1e439
Merge pull request #1275 from c9s/c9s/strategy-deposit2transfer
FEATURE: [strategy] add deposit2transfer tool
2023-08-08 15:13:06 +08:00
Edwin
b27395f6f4 pkg/exchange: avoiding GC panic caused by a rapid creation/removal slice of pointers 2023-08-08 14:11:19 +08:00
c9s
25298720d0
max: implement TransferMarginAccountAsset on max 2023-08-08 13:16:11 +08:00
c9s
5460ebdbf4
max: add margin transfer request 2023-08-08 12:49:05 +08:00
c9s
241ce657c3
binance: remove isMargin check 2023-08-08 12:01:30 +08:00
Edwin
f664ef2262 pkg/exchange: add order event 2023-08-08 11:42:02 +08:00
c9s
4c4b9db47a
types,binance: add confirmation and unlockConfirm fields to Deposit 2023-08-08 11:20:17 +08:00
c9s
9248f8ac24
binance: define DepositStatus for binance 2023-08-08 11:20:17 +08:00
c9s
9346e7d1f6
binance: replace emptyTime with IsZero 2023-08-08 11:20:17 +08:00
c9s
0118f33bfc
binance: finalize TransferMarginAccountAsset method 2023-08-08 11:20:17 +08:00
c9s
8b1cefc699
binance: integerate isolated margin / cross margin transfer 2023-08-08 11:20:17 +08:00
c9s
92691eda24
binanceapi: add margin transfer api 2023-08-08 11:20:17 +08:00
Edwin
8b68354d89 pkg/exchange: add balance snapshot event 2023-08-08 10:04:25 +08:00
Edwin
3e4e46de20 pkg/exchange: to de-pointer the value in WsOpEvent and fix test assertion 2023-08-07 15:59:50 +08:00
Edwin
84fa19afee pkg/exchange: add auth function for ws 2023-08-07 14:58:20 +08:00
Edwin
a6047f629d pkg/exchange: implement bybit stream ping 2023-08-04 18:00:50 +08:00
Edwin
e1bae5dba0 pkg/exchange: implement bybit stream ping 2023-08-02 17:55:20 +08:00
bailantaotao
ae61e10c6a
Merge pull request #1255 from bailantaotao/edwin/query-trades
FEATURE: [bybit] add query trade api
2023-08-01 18:02:29 +08:00
Edwin
4363f0ae7b pkg/exchange: add query trade api 2023-08-01 16:31:49 +08:00
c9s
54e0e1024c
Merge pull request #1254 from c9s/v1.50
merge back v1.50 into main
2023-07-31 20:24:00 +08:00
Alan.sung
b0ccc7e51b use &PublicDataService{} to create it as a pointer object and rename ser to srv 2023-07-31 11:00:38 +09:00
Edwin
86c643b513 pkx/exchange: fix batch query trade missing time range 2023-07-28 22:54:48 +08:00
bailantaotao
7eb6e402ca
Merge pull request #1252 from bailantaotao/edwin/query-closed-order
FEATURE: [bybit] query closed order
2023-07-28 14:40:38 +08:00
Edwin
d2ad504579 pkg/exchange: add QueryClosedOrders 2023-07-28 10:15:08 +08:00
Edwin
f25ab567eb pkg/exhcange: return err on max queryClosedOrdersByLastOrderID 2023-07-27 18:35:58 +08:00
Edwin
1760a5b8d6 pkg/exchange: try to parse order id to integer 2023-07-27 18:09:43 +08:00
Edwin
d8b8e7f2ac pkg/exchange: rename OpenOrders to Orders 2023-07-27 17:35:33 +08:00
c9s
b02ac837ea
max: handle SelfTradeBidFeeDiscounted 2023-07-27 16:28:54 +08:00
Edwin
574d7c0c74 pkg/exchange: rm redundant prefix 2023-07-27 10:31:24 +08:00
Edwin
5105046053 pkg/exchange: support cancel order 2023-07-26 22:24:20 +08:00
Edwin
151e8d2acf pkg/exchange: support place order for bybit 2023-07-26 21:44:49 +08:00
bailantaotao
3fd66199d7
Merge pull request #1248 from bailantaotao/edwin/add-query-open-orders
pkg/exchange: add QueryOpenOrders API for bybit
2023-07-26 15:12:37 +08:00
c9s
cddb7874ce
maxapi: set user agent 2023-07-26 14:35:33 +08:00
Edwin
6d4deb54cc pkg/exchange: add QueryOpenOrders API for bybit 2023-07-26 14:18:02 +08:00
bailantaotao
ff78637c8f
Merge pull request #1244 from bailantaotao/edwin/add-ticker
FEATURE: support QueryTickers API on bybit
2023-07-25 20:35:56 +08:00
Edwin
b71030c5db pkg: return err if rate limit err 2023-07-25 15:09:57 +08:00
Edwin
ef8d1c7046 pkg/exchange: support QueryTickers API on bybit 2023-07-25 15:02:38 +08:00
c9s
fcca3f6432
types: add fee discounted field to the global trade struct 2023-07-25 14:57:10 +08:00
c9s
4de82ccdff
max: use types.MillisecondTimestamp for UpdateTime field 2023-07-25 13:37:31 +08:00
c9s
f5feb72355
max: add fee_discounted to Trade struct for RESTful api 2023-07-25 13:35:08 +08:00
bailantaotao
157de4b2ee
Merge pull request #1243 from bailantaotao/edwin/add-query-markets
FEATURE: pkg/exchange: add query market to bybit exchange
2023-07-24 21:52:31 +08:00
Edwin
3c32acc3ed pkg/exchange: add query market to bybit 2023-07-24 20:18:44 +08:00
c9s
afc5dbb951
Merge remote-tracking branch 'origin/v1.50' 2023-07-24 17:02:08 +08:00
c9s
c114477340
Merge pull request #1242 from c9s/c9s/fix-max-withdrawal-api
FIX: [max] fix MAX withdrawal address parameter name
2023-07-24 16:58:21 +08:00
Edwin
ac5e2cf712 pkg, types: add bybit to factor and update readme 2023-07-24 15:51:44 +08:00
Edwin
b45fdea99a pkg/exchange: add get account info and instruments info api for bybit 2023-07-24 15:51:41 +08:00
c9s
16c62bbcba
maxapi: fix max withdrawal api 2023-07-24 15:28:11 +08:00
c9s
9c20215f41
max: use fixedpoint.Value for field parsing 2023-07-24 15:00:03 +08:00
c9s
5f2ead4ffd
maxapi: parse fd field and optimize trade snapshot parsing 2023-07-24 14:57:50 +08:00
Alan.sung
cba5663fac add unit test for okex exchange 2023-07-21 17:05:19 +08:00
c9s
844bd8be87
bitget: add account transfers request 2023-07-17 16:38:42 +08:00
c9s
ce40549e88
all: rename QueryOrderUntilSuccessful to QueryOrderUntilFilled 2023-06-29 17:17:32 +08:00
c9s
b6dba18f77
all: move retry functions to the retry package 2023-06-29 10:59:01 +08:00
c9s
ea3b1cc937
binance: fix logrus call 2023-06-14 17:25:22 +08:00
c9s
a126bc3bb6
binance: add market info warning 2023-06-13 17:09:37 +08:00
c9s
fa0cb1e85f
binance: document balanceUpdate event 2023-06-01 12:17:45 +08:00
c9s
f349f3620c
autoborrow: add SlackAttachment support to the binance balance update event 2023-06-01 12:13:22 +08:00
c9s
0bb697bc1e
maxapi: move NewGetMarginLoanHistoryRequest method to the bottom of the file 2023-05-18 18:26:03 +08:00
c9s
2fe915f73a
types: add MarshalJSON method on strint64 2023-05-18 18:08:40 +08:00
c9s
b32d890860
bitgetapi: add GetFillsRequest 2023-05-18 15:59:16 +08:00
c9s
fce281b6a8
bitgetapi: add GetOrderHistoryRequest 2023-05-18 15:47:58 +08:00
c9s
312c8baeb3
bitget: add open orders request 2023-05-18 15:38:57 +08:00
c9s
ae1c1377ce
bitget: define OrderStatus 2023-05-18 15:37:01 +08:00
c9s
90f704bab0
bitgetapi: add get order detail request 2023-05-18 15:22:50 +08:00
c9s
51e05499b2
bitgetapi: add CancelOrderBySymbolRequest 2023-05-18 11:59:49 +08:00
c9s
0c887a6bfb
bitgetapi: add place order request api 2023-05-18 11:23:30 +08:00
c9s
a5a64fa6d4
bitgetapi: add getDepthRequest 2023-05-18 11:13:06 +08:00
c9s
cff98bc141
bitgetapi: refactor tests 2023-05-18 10:54:00 +08:00
c9s
3154961d72
bitget: add more public api tests 2023-05-17 18:04:24 +08:00
c9s
c347a2423a
bitget: update generated request files and fix account assets api data type 2023-05-17 17:53:24 +08:00
c9s
e31a6ca3c8
bitget: add GetAllTickers request 2023-05-17 16:56:39 +08:00
c9s
8932da7e3f
bitget: add get ticker request 2023-05-17 16:55:21 +08:00
c9s
b726a0e51d
bitget: add get server time request and get symbols request 2023-05-17 16:52:15 +08:00
c9s
2c88e197b6
bitget: add account api 2023-05-17 16:39:10 +08:00
c9s
feb20571e9
kucoin: split request files 2023-05-17 16:27:43 +08:00
c9s
71be12bfc3
bitget: adjust sign format 2023-05-17 16:23:39 +08:00
c9s
0886b287a4
bitget: make credential field in lower case 2023-05-17 14:45:53 +08:00
c9s
e23f4b5114
bitget: minimize api client code 2023-05-17 14:26:25 +08:00
c9s
f942f7afd8
okex: rename constant names 2023-05-17 13:45:38 +08:00
c9s
5f8bda7d72
bitget: add minimal bitget exchange 2023-05-17 13:43:21 +08:00
c9s
6bed2a31f6
all: refactor exchange factory to return the minimal implementation 2023-05-17 13:43:00 +08:00
c9s
70ed672e6f
exchange: remove subAccount var 2023-05-16 19:26:05 +08:00
c9s
420654c5ed
bbgo: rename NewStandard to just New 2023-05-16 18:24:06 +08:00
c9s
5e8f8b492a
all: remove unused subAccount parameter since it was designed for ftx 2023-05-16 18:21:47 +08:00
c9s
983707b56a
exchange: drop unused function 2023-05-16 18:21:18 +08:00
c9s
177610266d
cmd: add exchangetest cmd and document NewWithEnvVarPrefix 2023-05-16 18:15:27 +08:00
c9s
7146ce9c8b
bitget: add basic bitget api client 2023-05-16 17:14:23 +08:00
c9s
7aa673c673
max: add currency parameter to /api/v3/wallet/:walletType/accounts api 2023-05-15 20:11:58 +08:00
Yo-An Lin
24ca1b103b
Merge pull request #1166 from c9s/c9s/max/api-v3-fix
FIX: [max] replace deprecated max v3 API
2023-05-15 15:19:21 +08:00
narumi
174fd7b8e7 support binance futures trading data 2023-05-05 15:15:31 +08:00
c9s
7cf80473e5
maxapi: fix margin interest history request 2023-05-04 17:23:04 +08:00
c9s
1ca81e11e6
maxapi: add currency field to the accounts api 2023-05-04 17:20:42 +08:00
c9s
40f6295d91
maxapi: move GetMarginInterestRatesRequest api to a file 2023-05-04 17:18:42 +08:00
c9s
e9f711278e
maxapi: fix margin interest history api 2023-05-04 16:38:20 +08:00
c9s
2a462c8e32
maxapi: update margin repay/load apis 2023-05-04 14:43:19 +08:00
c9s
70e3f8ec5f
max: split v3 api into files 2023-05-04 14:37:19 +08:00
kbearXD
99e393e93c
Merge pull request #1147 from c9s/max/get-order/client-order-id
FEATURE: max get-order v3 api support client order id parameter
2023-04-17 12:24:18 +08:00
c9s
a178fd0a84
max: add max auth authenticated log 2023-04-14 18:57:13 +08:00
chiahung
1158b9582a FEATURE: max get-order v3 api support client order id parameter 2023-04-14 16:44:56 +08:00
c9s
92b8652f78
maxapi: remove duplicated for loop 2023-04-13 17:29:23 +08:00
c9s
25daefabab
maxapi: fix nonce updater 2023-04-13 17:20:59 +08:00
Yo-An Lin
7da5c8361e
Merge pull request #1143 from c9s/refactor/max-client
FIX: maxapi: pass context object to the requests
2023-04-13 16:57:19 +08:00
c9s
8c02b5e64e
maxapi: pass context object to the requests 2023-04-13 16:40:07 +08:00
Yo-An Lin
a5ecfd15cc
Merge pull request #1141 from c9s/refactor/max-client
REFACTOR: maxapi: refactor and add max v2 markets api test
2023-04-13 16:33:47 +08:00
Yo-An Lin
3952f33de8
Merge pull request #1142 from c9s/fix/max-rate-limiter
FIX: max: move more rate limiter to the exchange instance
2023-04-13 16:32:14 +08:00
c9s
fed5d5f0b8
maxapi: add more market info assertion 2023-04-13 16:18:11 +08:00
c9s
19621e48fe
max: adjust account query rate limiter 2023-04-12 22:58:10 +08:00
c9s
7c9109aeea
max: move more rate limiter to the exchange instance 2023-04-12 22:56:23 +08:00
c9s
cbbe6e286d
maxapi: add kline api test 2023-04-12 22:43:32 +08:00
c9s
3e41c1fb15
maxapi: add max v2 markets api test 2023-04-12 22:29:14 +08:00
Yo-An Lin
6bf7a6c0ac
Merge pull request #1139 from c9s/refactor/max-client
REFACTOR: [max] refactor api requests
2023-04-12 16:38:57 +08:00
c9s
a84a22bc2d
maxapi: refactor reward tests 2023-04-12 16:32:56 +08:00
c9s
9dab2470ef
maxapi: add TestWithdrawal 2023-04-12 16:27:45 +08:00
c9s
03d24e6947
maxapi: move test files 2023-04-12 15:02:14 +08:00
c9s
13d28edebb
maxapi: remove unused parseKLines function 2023-04-12 15:01:18 +08:00
c9s
f7d3fca1ec
maxapi: simplify ticker response parsing 2023-04-12 15:00:26 +08:00
c9s
012ef4a6f9
maxapi: refactor and clean up public service api 2023-04-12 15:00:26 +08:00
c9s
c1b7f7fd95
maxapi: replace the legacy get markets api 2023-04-12 15:00:26 +08:00
c9s
fc3ffe399e
maxapi: update time type fields 2023-04-12 15:00:26 +08:00
c9s
fd6dfc5c9e
maxapi: change time field to time.Time and update the generated code 2023-04-12 15:00:26 +08:00
c9s
4944fdda2d
max: replace time type fields 2023-04-12 15:00:26 +08:00
c9s
d95daba3f0
maxapi: update requestgen files 2023-04-12 15:00:26 +08:00
c9s
3ad553a876
max: move methods 2023-04-12 15:00:26 +08:00
c9s
51c1d47fbc
maxapi: move some methods to the rest client level 2023-04-12 15:00:25 +08:00
c9s
c366e98c43
maxapi: update log message 2023-04-12 14:58:37 +08:00
c9s
6eaacd63a8
maxapi: use sync.Once to prevent duplicated update and avoid update negative offset 2023-04-12 13:37:04 +08:00
c9s
845ee3ce33
maxapi: change info log to debug log level 2023-04-11 18:28:34 +08:00
c9s
2ae8309115
maxapi: add global prefix to the var name 2023-04-11 18:27:19 +08:00
c9s
8d240e9b4c
maxapi: improve nonce update with retry 2023-04-11 18:21:40 +08:00
c9s
5b09ad671c
max: fix max order group id 2023-04-03 00:12:14 +08:00
c9s
bb47fb3532
binance: fix parse tests 2023-03-30 01:33:55 +08:00
c9s
b18d4da402
binance: fix/improve order trade event parsing 2023-03-30 00:44:57 +08:00
c9s
321425709a
binance: use requestgen api to query futures balances 2023-03-29 22:45:40 +08:00
c9s
86c5ba603e
binanceapi: add get futures balance api 2023-03-29 22:25:54 +08:00
c9s
8257c4ffbe
xfunding: fix ClosePosition call for futures 2023-03-29 18:28:25 +08:00
c9s
38778ff756
bbgo: fix order executor ClosePosition for order executor 2023-03-29 17:46:54 +08:00
c9s
38ba567558
xfunding: fix and call FuturesChangeInitialLeverageRequest 2023-03-29 17:14:29 +08:00
c9s
aa6feed272
binance: add FuturesChangeInitialLeverageRequest api 2023-03-29 17:08:34 +08:00
c9s
18d8d63b02
binance: add and fix multi assets mode 2023-03-29 16:59:15 +08:00
c9s
43c4ecc9da
binance: add MultiAssetsMode related apis 2023-03-29 16:45:25 +08:00
chiahung
81799f2c49 FIX: end batch query if start > end 2023-03-27 16:03:06 +08:00
c9s
cadd3f0795
binanceapi: fix binance futures get income history query 2023-03-26 15:03:39 +08:00
c9s
75cbe10128
binance: call auth on futuresClient2 2023-03-26 15:03:23 +08:00
c9s
c6cedde8c9
batch: fix binance query return type 2023-03-26 00:56:24 +08:00
c9s
111e435a0a
batch: rename BinanceFuturesIncomeBatchQuery 2023-03-26 00:55:56 +08:00
c9s
6ea399dc8e
all: rename types.MarginHistory to types.MarginHistoryService 2023-03-26 00:53:43 +08:00
c9s
265b69a0ee
batch: add funding fee batch query 2023-03-26 00:53:29 +08:00
c9s
12ec3fd87f
binance: add incomeType parameter 2023-03-26 00:23:25 +08:00
c9s
f50999b780
binance: add QueryFuturesIncomeHistory 2023-03-26 00:22:42 +08:00
c9s
8ddf248d50
binance: initialize the new futures client 2023-03-26 00:19:31 +08:00
c9s
fc3e59b3ef
binance: move queryFuturesDepth to futures.go 2023-03-26 00:17:12 +08:00
c9s
01799cfc4e
binanceapi: update FuturesPositionRisk field types 2023-03-25 02:58:06 +08:00
c9s
f34c72eba0
binance: add margin call event support 2023-03-25 02:39:44 +08:00
c9s
281f09ff42
binance: fix futures user data stream AccountUpdateEvent parsing 2023-03-25 02:25:09 +08:00
c9s
d05cbca652
binance: fix income history request path 2023-03-25 02:09:42 +08:00
c9s
b41f8a8355
binance: add FuturesGetIncomeHistoryRequest api support 2023-03-24 22:35:22 +08:00
c9s
b9d60d8edb
binance: add QueryFuturesPositionRisks method 2023-03-24 18:37:04 +08:00
c9s
4bbcb9553d
binanceapi: add FuturesGetPositionRisksRequest 2023-03-24 18:36:54 +08:00
c9s
cfe47cd53b
binance: add futures fee link 2023-03-24 18:14:52 +08:00
c9s
d359464b2c
binance: add default futures fee rate 2023-03-24 18:14:24 +08:00
c9s
ed4d32c59a
binance: refactor binance exchange code for futures api 2023-03-24 18:06:40 +08:00
c9s
071825e982
binance: move futures methods 2023-03-24 15:13:25 +08:00
c9s
9c0787e6ce
binance: pull out cancelFuturesOrders method 2023-03-24 15:11:13 +08:00
c9s
feec194843
binance: improve transfer logs 2023-03-24 14:37:18 +08:00
c9s
487fbf8681
binance: implement TransferFuturesAccountAsset api 2023-03-23 02:42:26 +08:00
c9s
6797069a40
binanceapi: fix payload encode format 2023-03-23 02:42:05 +08:00
c9s
6848e11e8a
binance: implement TransferFuturesAsset 2023-03-23 00:55:00 +08:00
c9s
c632e6efac
binance: add binance futures_transfer_request 2023-03-23 00:54:37 +08:00
c9s
88af0a18f9
max: move tradeQueryLimiter to the exchange instance 2023-03-21 16:26:47 +08:00
c9s
fda4e48146
max: move submitOrderLimiter to the exchange wide var 2023-03-21 16:25:16 +08:00
chiahung
26054e4958 fix on max api level 2023-03-15 18:09:46 +08:00
chiahung
da48e0fc85 make end_time down to start_time + 3 days if end_time > start_time + 3 days 2023-03-14 18:39:36 +08:00
chiahung
e0b445f1c1 FEATURE: make MAX QueryTrades support start_time, end_time 2023-03-14 16:32:00 +08:00
kbearXD
6a6d7a6293
Merge pull request #1095 from c9s/fix/maxapi/query-trades-by-order-id
FIX: filter wrong order id from self-trade trades
2023-03-09 16:59:33 +08:00
chiahung
ead5486b52 FIX: filter wrong order id from self-trade trades 2023-03-09 16:15:48 +08:00
chiahung
d29c3fa05c FIX: use updated_at instead of created_at to convert MAX order to types.Order 2023-03-09 11:35:48 +08:00
chiahung
f9f6346468 FEATURE: split self trades when use MAX RESTful API to query trades 2023-03-08 17:18:18 +08:00
chiahung
83d9977a57 make sure group id is > 0 2023-03-06 16:32:36 +08:00
chiahung
d466a63d22 FIX: add group id on submit order API 2023-03-06 15:58:18 +08:00
c9s
6137905f42
max: fix max v3 order cancel api 2023-03-01 16:45:33 +08:00
c9s
06eff47058
grid2: improve UseCancelAllOrdersApiWhenClose process 2023-03-01 16:35:09 +08:00
c9s
2fed98ea55
batch: fix JumpIfEmpty algorithm 2023-02-09 17:11:26 +08:00
zenix
bfe5eace1a feature: get historical public trades from binance 2023-01-19 13:07:01 +09:00
c9s
216bdb891f
grid2: skip canceled orders 2022-12-24 01:08:28 +08:00
c9s
bf87d04d57
binance: change rate limit unit to minute 2022-12-22 19:07:55 +08:00
c9s
5b4be1f9fc
max: drop unused toMaxSubmitOrder 2022-12-22 13:14:25 +08:00
c9s
30f471db00
binance: fix execution report parsing 2022-12-19 19:00:14 +08:00
c9s
a340cd321b
max: add submit order limiter 2022-12-15 18:38:57 +08:00
c9s
df6a34f5af binanceapi: adjust http timeout to 10s 2022-12-09 21:30:33 +08:00
c9s
6c0cc71c1c binance: avoid using fromId and timeRange at the same time 2022-12-09 17:28:06 +08:00
c9s
ae678d1b3b binance: add workaround for the myTrades api 2022-12-09 17:09:03 +08:00
c9s
85097840f1 binance: replace /api/v3/myTrades api 2022-12-09 16:44:27 +08:00
c9s
d5f8c3e756
binance: fix binanceapi client test 2022-12-03 12:35:04 +08:00
c9s
170c3b8c41
all: remove ftx 2022-11-24 17:05:20 +08:00
zenix
109f4d0e3e fix: Position not synchronized in drift. add DisableNotify for GeneralOrderExecutor 2022-11-21 12:16:11 +09:00
zenix
27800e95bd feature: add cancel_replace for binance, add FastSubmitOrders, fix drift leakage on pendingOrderCounter 2022-11-21 12:16:11 +09:00
zenix
a8d60b251f fix: binance market/aggregated trade parsing for QuoteQuantity. fix related bugs in timestamp in serialmarketdatastore. 2022-10-27 17:35:50 +09:00
zenix
9213caf9c5 feature: add aggTrade for binance 2022-10-17 17:01:46 +09:00
austin362667
18acd668a7 interval: finalize 1s support
interval: finalize 1s support

interval: finalize 1s support
2022-10-14 23:14:30 +08:00
austin362667
905c1f25ee interval: add 1s support
interval: add 1s support

interval: add 1s support

interval: fix 1s for backtesting
2022-10-14 23:14:30 +08:00
c9s
070a92e3ae
max: fix max kline api 2022-10-04 17:25:29 +08:00
c9s
1342423294
binance: fix futures order conversion 2022-09-24 01:38:25 +08:00
c9s
1c58a44e44
binance: implement get margin max borrowable request 2022-09-19 17:09:34 +08:00
c9s
d73880d0a8
binance: upgrade github.com/adshao/go-binance/v2 to v2.3.8 2022-09-19 17:02:50 +08:00
c9s
a5ba870cd8
binance: add queryTrades rate limiter 2022-09-12 15:03:01 +08:00
c9s
f2e3acf8ec
binance: emit reconnect when received ListenKeyExpired 2022-09-11 14:11:50 +08:00
c9s
ff635195fb
binance: add listenKeyExpired callback 2022-09-11 14:10:30 +08:00
c9s
4890d19ebf
binance: parse listenKeyExpired event 2022-09-11 14:06:55 +08:00
c9s
29105eb57f
all: simplify underlying exchange submitOrder method
- Replace SubmitOrders with SubmitOrder
- Accept only one submit order and return one created order
- Add bbgo.BatchPlaceOrders helper method and bbgo.BatchRetryPlaceOrders method
2022-09-09 18:41:06 +08:00
c9s
68064bfe44
move and fix binance exchange api examples 2022-08-24 12:58:06 +08:00
c9s
8827fc3ec6
binance: fix futures/margin order sync issue
fixes: #887
2022-08-19 15:28:24 +08:00
c9s
c6e4fcf0c2
binance: fix QueryOrderTrades 2022-08-17 16:08:11 +08:00
c9s
b4e71dd5bb
binance: implement QueryOrderTrades method 2022-08-17 16:08:09 +08:00
c9s
fa34a0ee70
binance: handle order status expired 2022-08-17 16:02:11 +08:00
Andy Cheng
b5beadceb4 exhange/binance: exclude unrealized pnl from balance calculation 2022-08-16 15:06:13 +08:00
Andy Cheng
0b5f2c308e exchange/binance: fix missing github.com/adshao/go-binance/v2 2022-08-16 14:21:48 +08:00
Andy Cheng
9cf29b6cc6 exchange/binance: get locked balance of futures account 2022-08-16 10:55:45 +08:00
ankion
69e03c8428 binance: fix futures position 2022-08-11 14:29:28 +08:00
ankion
ffd46fd71d binance: fix futures orderTypelimitMaker timeInForce was null 2022-08-11 11:30:00 +08:00
ankion
68a65f1913 binance: fix futures not emit filled event 2022-08-11 10:40:19 +08:00
c9s
ba87ffab43
max: fix order type casting 2022-08-11 00:00:25 +08:00
c9s
e2df05c054
maxapi: add option to disable user agent header 2022-08-10 23:59:55 +08:00
c9s
8f17d6b019
maxapi: rewrite public service with requestgen 2022-08-10 23:59:50 +08:00
c9s
fc73a12689
maxapi: add get klines request 2022-08-10 23:59:43 +08:00
c9s
6f35aa0f20
maxapi: replace client field type with interface 2022-08-10 23:59:38 +08:00
c9s
c5e93dba00
max: replace client field type with interface 2022-08-10 23:59:25 +08:00
c9s
ae3f6001b9
maxapi/v3: add order type alias 2022-08-10 23:59:21 +08:00
c9s
2380ebb285
maxapi/v3: apply order type constant type 2022-08-10 23:59:16 +08:00
c9s
2f8020efd6
max: add v2 order api back 2022-08-10 23:59:10 +08:00
Raphanus Lo
ed975b7ed9
Merge pull request #860 from COLDTURNIP/feature/exchange_order_amount_protection
exchange: order fee-amount protection
2022-08-09 15:01:53 +08:00
c9s
99121d19c0
exchange/max: fix order trades query field name 2022-08-09 11:37:12 +08:00
c9s
b4dcdc4031
exchange/max: fix GetOrderTradesRequest order id field 2022-08-09 11:37:05 +08:00
c9s
a5a40c3a42
exchange/max: check order id field 2022-08-09 11:36:59 +08:00
c9s
cba9ffe064
exchange/max: add order trades api 2022-08-09 11:36:53 +08:00
Raphanus Lo
ed7df4ddbe exchange: order fee-amount protection
Reduce the order amount to prevent submit rejection because of balance exceeding.

  submit_amount = original_amount / (1 + fee_rate)

Currently supported only by FTX Pro.
2022-08-02 13:35:24 +08:00
Raphanus Lo
23dc8a9ce3 exchange: FTX default fee 2022-07-29 21:49:04 +08:00
c9s
5bb1722007
binance: remove ineffected DEBUG_BINANCE_STREAM 2022-07-26 16:26:40 +08:00
c9s
e1e725878e
binance: refactor server time offset setter 2022-07-26 16:25:08 +08:00
c9s
ff61235e70
binance: rename to timeSetterOnce 2022-07-26 16:22:57 +08:00
c9s
cf5e81c848
binance: refactor set server time go routine 2022-07-26 16:22:29 +08:00
zenix
2568a81dfe fix: binance time sync, exchange interval query interface, yaml for fixedpoint 2022-07-26 16:42:34 +09:00
c9s
44f3793db8
max: emit debt event and ad ratio event 2022-07-15 13:25:02 +08:00
c9s
0284d090d8
all: move getExchangeAttributes 2022-07-14 17:36:16 +08:00