Commit Graph

5161 Commits

Author SHA1 Message Date
c9s
da15f47f17
indicator: refactor Float64Series and improve RMA2 2023-05-30 13:50:59 +08:00
c9s
1bf44720e2
indicator: update and clean up rma2 2023-05-30 13:50:59 +08:00
c9s
1450d193a4
indicator: refactor/add float64 series 2023-05-30 13:50:59 +08:00
c9s
e094f422fc
indicator: rename v2 indicator file 2023-05-30 13:50:59 +08:00
c9s
68570e1eeb
indicator: move EWMA2 to ewma2.go 2023-05-30 13:50:59 +08:00
c9s
8c7962f07f
indicator: move out subtract stream 2023-05-30 13:50:59 +08:00
c9s
f067c92733
floats: document LSM 2023-05-30 13:50:59 +08:00
c9s
e91142f4e9
indicator: rename func to floats.FindPivot 2023-05-30 13:15:47 +08:00
c9s
89aa63dd64
floats: add floats LSM 2023-05-30 13:15:47 +08:00
Yo-An Lin
67fe27774c
Merge pull request #1179 from c9s/c9s/refactor-indicator
FEATURE: new indicator API design
2023-05-29 17:06:16 +08:00
c9s
5ef7da8422
grid2: fix precheck 2023-05-26 16:09:07 +08:00
c9s
5bf204b890
indicator: support histrical price push 2023-05-26 15:18:43 +08:00
c9s
9fac61351d
all: rename Minus() to Sub() 2023-05-26 15:06:52 +08:00
c9s
648e99f52a
all: refactor and rename indicator.MACD to indicator.MACDLegacy 2023-05-26 15:06:52 +08:00
c9s
273659a870
grid2: update comment 2023-05-26 14:51:06 +08:00
c9s
8c09c9668a
grid2: improve base quote investment check 2023-05-26 14:49:56 +08:00
c9s
171e0678b6
indicator: remove underscore var 2023-05-25 22:19:14 +08:00
c9s
a994235300
indicator: move doc 2023-05-25 22:18:54 +08:00
c9s
bcf77141ca
all: re-design and refactor indicator api 2023-05-25 22:17:50 +08:00
Yo-An Lin
cf5d71b4bc
Merge pull request #1176 from c9s/c9s/grid2/base-quote
FIX: [grid2] fix base + quote calculation and add baseGridNumber config field
2023-05-25 14:45:45 +08:00
c9s
f7a5c84768
all: reformat code 2023-05-25 14:01:22 +08:00
c9s
8e426ca4bf
grid2: add last price == sell price case 2023-05-25 13:31:47 +08:00
zenix
508f42663d fix: some types in SeriesExtended are not supported 2023-05-24 19:47:36 +09:00
Yo-An Lin
862848721f
Fix placeSell condition 2023-05-24 17:52:14 +08:00
c9s
26cbd60a66
grid2: add one more test case for base + quote 2023-05-23 17:36:01 +08:00
c9s
1cf788c925
grid2: fix base + quote order placement and add test case 2023-05-23 17:34:03 +08:00
c9s
d5cf53ee94
grid2: fix comparison 2023-05-22 18:20:34 +08:00
c9s
ce2bd7ca7d
grid2: override placeSell if BaseGridNumber is defined 2023-05-22 18:13:51 +08:00
c9s
2046ccc791
grid2: pull out sell boolean var 2023-05-22 18:10:51 +08:00
c9s
0c6ef38ea3
grid2: apply baseGridNumber 2023-05-22 18:08:39 +08:00
c9s
f11d869d02
grid2: sub 1 only when num > 0 2023-05-22 17:26:22 +08:00
c9s
6ae5d2f33a
grid2: round down before the quantity calculation 2023-05-22 17:25:00 +08:00
c9s
a083ec8395
grid2: check numberOfSellOrders == 0 2023-05-22 17:20:16 +08:00
c9s
c93a3d14b3
grid2: round up minBaseQuantity 2023-05-19 16:46:17 +08:00
c9s
4c13171cb0
grid2: add more test for spec 2023-05-19 16:42:26 +08:00
c9s
3a2dbc934b
grid2: add TestStrategy_calculateBaseQuoteInvestmentQuantity test case 2023-05-19 16:37:44 +08:00
c9s
0c4cd7049f
grid2: rewrite the base+quote algo 2023-05-19 15:04:17 +08:00
c9s
86a99b5902
grid2: truncate max base quantity 2023-05-19 13:56:01 +08:00
c9s
c5e7a78067
types: add RoundDownQuantityByPrecision 2023-05-18 18:26:14 +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
9c6de12e19
types: add StrInt64 type for unmarshalling integer in string 2023-05-18 17:32:15 +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
b544d51772
types: split exchange interface 2023-05-17 13:24:04 +08:00
c9s
70ed672e6f
exchange: remove subAccount var 2023-05-16 19:26:05 +08:00
c9s
ad502f67e9
types: simplify ValidExchangeName function 2023-05-16 18:32:08 +08:00
c9s
9f1c2f9ae4
types: update exchange name constants 2023-05-16 18:26:55 +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
0b6dc41091
types: split exchange interface for ExchangeMinimal 2023-05-16 18:17:11 +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
17b05b61ba
strategy: fix fastCancel api calls 2023-05-16 16:44:40 +08:00
c9s
027fe9f5e1
drift: adopt the fastOrderExecutor 2023-05-16 16:39:04 +08:00
c9s
9b9d7455ec
bbgo: move Fast* methods to the FastOrderExecutor 2023-05-16 16:39:04 +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
Andy Cheng
f864cc895c
feature/profitReport: accumulated profit report as a package 2023-05-11 14:54:45 +08:00
Andy Cheng
b148a02491
strategy/supertrend: add net profit 2023-05-08 13:43:25 +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
c9s
b31a2994de
bump version to v1.47.0 2023-05-04 13:53:20 +08:00
c9s
829edeb401
grid2: improve warning message 2023-04-28 16:16:23 +08:00
c9s
f958120fb5
grid2: remove the len check since we just iterate 2023-04-28 16:12:57 +08:00
c9s
717de67d5a
grid2: improve log and try best to return the order fee 2023-04-28 16:07:03 +08:00
c9s
5a901e929c
grid2: apply defensive programming on the order quantity 2023-04-28 16:02:28 +08:00
c9s
32b2c43198
grid2: emit grid profit after profit stats fix 2023-04-27 00:33:42 +08:00
c9s
46a6d896a2
grid2: improve the if err syntax 2023-04-26 23:48:02 +08:00
c9s
0c72ac2386
grid2: fix typo 2023-04-26 23:37:20 +08:00
c9s
b358cec235
grid2: check if profitStats.Since.IsZero 2023-04-26 23:36:53 +08:00
c9s
f1919a2b43
grid2: check profitStats.Since for the since time range 2023-04-26 23:34:56 +08:00
c9s
2efdee9347
grid2: add timeout context to the fixer 2023-04-26 23:30:09 +08:00
c9s
bd5e98e543
grid2: add more log 2023-04-26 23:07:01 +08:00
Yo-An Lin
df236e4342
Merge pull request #1158 from c9s/improve/order-json-size
IMPROVE: types: improve order struct json size
2023-04-26 22:43:35 +08:00
c9s
68974bc0b4
grid2: fix profitstats.Since when possible 2023-04-26 22:10:45 +08:00
c9s
55c84e005b
grid2: add one more check for profitStats.InitialOrderID 2023-04-26 22:06:53 +08:00
c9s
77f6c6bb46
bbgo: lock strategy before we sync data 2023-04-26 18:07:29 +08:00
c9s
036bae692e
grid2: move emitGridReady to earlier 2023-04-26 18:07:29 +08:00
c9s
e8a761e331
grid2: add profitFixer and tests 2023-04-26 17:25:31 +08:00
Andy Cheng
4b2c5198fa
strategy/supertrend: add strategy parameter fields in profit report 2023-04-26 10:32:43 +08:00
c9s
3d7cdd9938
fix: drop the global persistenceServiceFacade 2023-04-26 00:42:33 +08:00
c9s
a13ad2f6ab
fix: avoid global persistenceServiceFacade concurrent write 2023-04-26 00:37:13 +08:00
c9s
a1e297e296
types: improve order struct json size 2023-04-25 19:38:31 +08:00
Yo-An Lin
152149fcee
Merge pull request #1157 from c9s/fix/load-state
FIX: add context to LoadState
2023-04-25 18:42:16 +08:00
c9s
a9b0270390
bbgo: add context to LoadState 2023-04-25 18:30:23 +08:00
Yo-An Lin
cd69232156
Merge pull request #1155 from andycheng123/improve/supertrend 2023-04-20 18:48:39 +08:00
Andy Cheng
9f8576bb38
improve/supertrend: different way to calculate order amount for backtesting 2023-04-20 18:37:48 +08:00
Andy Cheng
1fb6e79090
improve/supertrend: fix typo 2023-04-20 18:11:47 +08:00
Andy Cheng
4b8adf6ed5
improve/supertrend: adding opposite position amount to the order amount instead of closing opposite position 2023-04-20 17:53:20 +08:00
c9s
5372fd3f30
bump version to v1.46.0 2023-04-19 14:11:02 +08:00
chiahung
ed4e0b03e7 add open orders back to active order book if no need to recover 2023-04-18 15:47:00 +08:00
chiahung
d00a91441c FEATURE: move metrics to defer funciton 2023-04-18 15:13:20 +08:00
Andy Cheng
68f54c032a
Merge pull request #1121 from andycheng123/feature/hhllstop
Feature/hhllstop
2023-04-18 11:39:45 +08:00
Andy Cheng
c3318cbb50
exits/trailingstop: update comment 2023-04-18 11:31:51 +08:00
Yo-An Lin
5c33c764da
Merge pull request #1151 from c9s/fix/websocket-reconnect
FIX: types: do not return for normal closure
2023-04-17 16:35:05 +08:00
c9s
47e398abc3
types: do not return for normal closure 2023-04-17 16:28:38 +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
Yo-An Lin
ae40223b1a
Merge pull request #1150 from c9s/fix/interact-thread-safety
FIX: interact: fix concurrent map write - add mutex on interact
2023-04-16 23:45:25 +08:00
Yo-An Lin
9c53922512
Merge pull request #1149 from c9s/grid2/emit-error
CHORE: max: add max auth authenticated log
2023-04-16 21:27:53 +08:00
c9s
aa33836fb3
interact: fix concurrent map write - add mutex on interact 2023-04-16 21:26:52 +08:00
c9s
a178fd0a84
max: add max auth authenticated log 2023-04-14 18:57:13 +08:00
chiahung
a0aae23bf3 FIX: fix emit ready twice and add error log 2023-04-14 18:30:38 +08:00
Yo-An Lin
d63734f365
Merge pull request #1146 from c9s/grid2/emit-error
FIX: grid2: emit grid error when open grid failed
2023-04-14 17:45:32 +08:00
chiahung
1158b9582a FEATURE: max get-order v3 api support client order id parameter 2023-04-14 16:44:56 +08:00
Yo-An Lin
4c4ea8a36f
Merge pull request #1145 from c9s/bhwu/add-market-in-mem-cache
FEATURE: add market info in-mem cache
2023-04-14 15:57:09 +08:00
gx578007
3f7e617004 FEATURE: add market info in-mem cache 2023-04-14 15:23:34 +08:00
c9s
4ab54f586b
grid2: emit grid error when open grid failed 2023-04-14 15:15:28 +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
fb95072e5b
backoff: add default timeout to backoff.RetryGeneral 2023-04-12 13:49:29 +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
Andy Cheng
d4e42426ab
exits/trailingstop: add descriptions for parameters 2023-04-11 16:02:54 +08:00
Andy Cheng
7f33b54312
exits/trailingstop: check parameters 2023-04-11 15:11:11 +08:00
Andy Cheng
afc262da8b
exits/trailingstop: more logs 2023-04-11 14:55:32 +08:00
chiahung
6029bd268d update log message 2023-04-07 00:40:32 +08:00
chiahung
cc5ebd5b2c move emit ready and update metrics 2023-04-06 23:57:54 +08:00
c9s
fba73f11ea
grid2: update metrics and trigger ready callback 2023-04-06 23:24:08 +08:00
chiahung
542467245e remove OrderGroupID checking 2023-04-06 18:00:21 +08:00
chiahung
c54507e07f modif log message 2023-04-06 17:53:01 +08:00
chiahung
9fa647ed65 rename method 2023-04-06 16:12:19 +08:00
chiahung
d953a6d7b8 check by trades + open orders 2023-04-06 14:59:03 +08:00
chiahung
00352b2a0d FIX: recover even though inital order id is 0 2023-04-06 11:36:32 +08:00
c9s
3328e0453c
bump version to v1.45.0 2023-04-03 00:13:04 +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
4b9e3f2302
xfunding: send positions to slack when start up 2023-03-30 00:46:41 +08:00
c9s
b18d4da402
binance: fix/improve order trade event parsing 2023-03-30 00:44:57 +08:00
c9s
69af9e03ea
xfunding: fix funding fee notification 2023-03-30 00:13:02 +08:00
c9s
6c550c55fa
xfunding: fix spot transfer 2023-03-29 23:09:37 +08:00
c9s
7c975da575
xfunding: fix position sync bug 2023-03-29 23:05:31 +08:00
c9s
0efb56c43e
xfunding: also reset the quote balance transfer 2023-03-29 22:55:40 +08:00
c9s
7e2688b8c7
xfunding: cancel open orders before closing the futures position 2023-03-29 22:54:54 +08:00
c9s
0c9e0649c6
xfunding: use b.MaxWithdrawAmount instead of b.Available 2023-03-29 22:49:34 +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
866443d89f
xfunding: only do transfer when the available balance is not zero 2023-03-29 21:48:10 +08:00
c9s
d0566e23ec
xfunding: log submit failed orders 2023-03-29 21:46:15 +08:00
c9s
1383eb0401
xfunding: resetTransfer should also reset the transfer stats 2023-03-29 21:44:48 +08:00
c9s
117b5198ec
xfunding: introduce resetTransfer method to reset the futures transfer 2023-03-29 21:43:36 +08:00
c9s
a2fdc99741
xfunding: notify position ready 2023-03-29 21:40:18 +08:00
c9s
bc6ee59add
xfunding: refactor transferOut with trade quantity 2023-03-29 21:40:18 +08:00
c9s
088a36a169
xfunding: refactor transferIn 2023-03-29 21:40:18 +08:00
c9s
ce0b73b6e4
xfunding: calculate max minQuantity from spot market and future market 2023-03-29 21:40:18 +08:00
c9s
16cb68ac3e
xfunding: change dust quantity info log to warn log 2023-03-29 21:40:18 +08:00
c9s
0f88309d9e
xfunding: add notifications 2023-03-29 21:40:18 +08:00
c9s
eeda500a90
xfunding: pull out handleAccountUpdate handler 2023-03-29 21:40:17 +08:00