Commit Graph

1483 Commits

Author SHA1 Message Date
c9s
b8139e6e86 add xarb strategy 2021-05-18 10:19:35 +08:00
c9s
c4ccd8094f make max client order id factory public 2021-05-18 09:10:43 +08:00
c9s
e23932f99c xbalance: add checkOnStart option 2021-05-18 08:32:00 +08:00
c9s
d722b76564 adjust pips by bollband ratio 2021-05-17 23:57:20 +08:00
Yo-An Lin
d1bfeccc72 Merge pull request #246 from jnlin/fix/ftx-symbol
fix(ftxExchange): setup a symbol mapping table
2021-05-17 21:37:46 +08:00
c9s
1c19c02206 xmaker: fix order submission 2021-05-17 21:33:55 +08:00
Jui-Nan Lin
c0cf529db7 fix(ftx): allow empty TimeInForce to place market orders 2021-05-17 21:05:44 +08:00
c9s
f6f1226bd0 integrate bollband indicator into xmaker 2021-05-17 20:04:13 +08:00
c9s
b8fe100b5e move balance printing to debug-balance env var 2021-05-17 20:04:13 +08:00
c9s
f80c98b97c since we always receive balance update from websocket we do not need to subscribe 1m from the maker exchange 2021-05-17 20:04:13 +08:00
c9s
6370b39cde adjust quantity by max amount if balance is not enough 2021-05-17 20:04:13 +08:00
c9s
c6ae1b54b8 remove redundant word 2021-05-17 20:04:13 +08:00
c9s
a1c888f04b adjust profit margin percentage precesion 2021-05-17 20:04:13 +08:00
Jui-Nan Lin
31993d7ccf fix(ftx): update test toGlobalOrderBook 2021-05-17 18:53:43 +08:00
Jui-Nan Lin
316799d5a0 fix(ftxExchange): setup a symbol mapping table
ftx uses BTC/USDT symbol styles, however bbgo uses the BTCUSDT style
We setup a mapping table in Markets() to make conversion
2021-05-17 18:32:29 +08:00
Yo-An Lin
345c3c9e2c Merge pull request #245 from jnlin/fix/ftx-subaccount 2021-05-17 16:34:05 +08:00
Jui-Nan Lin
2d5ae1dde3 fix(ftxExchange): the env variable is "FTX_ACCOUNT" 2021-05-17 12:42:04 +08:00
c9s
6069102099 fix percentage 2021-05-17 09:02:34 +08:00
c9s
82e85dd27a add profit margin 2021-05-17 08:59:20 +08:00
c9s
61d95a4c34 render trade time 2021-05-17 00:53:19 +08:00
c9s
45e930a086 use slack attachment title instead of pretext 2021-05-16 18:07:06 +08:00
c9s
e7c718ee15 assign fee rate to position 2021-05-16 17:58:51 +08:00
c9s
187a9c795b use exchange fee rate as a reference for profit 2021-05-16 17:50:08 +08:00
c9s
d0e4a5e65c move addTrade lock section 2021-05-16 17:05:12 +08:00
c9s
e636a5008d replace Exchange field type with ExchangeName 2021-05-16 17:02:23 +08:00
c9s
0a016cba75 split maker fee and taker fee 2021-05-16 16:50:26 +08:00
c9s
491c4bbada fixedpoint: support percentage parsing 2021-05-16 15:16:04 +08:00
c9s
a4381a54a3 add fee rate field 2021-05-16 15:03:36 +08:00
c9s
5c10f8a4e2 binance: call set server time service 2021-05-16 15:03:31 +08:00
c9s
fad1e39bba update state asset name for legacy caches 2021-05-16 01:22:55 +08:00
c9s
b4f6653ccc prefer PlainText interface over String interface 2021-05-16 01:21:35 +08:00
c9s
f176afee6f remove duplicated notify 2021-05-16 01:18:54 +08:00
c9s
c9cdf31df1 add pnl emoji 2021-05-16 01:16:03 +08:00
c9s
6f79a7eea8 improve support strategy messages 2021-05-16 01:07:53 +08:00
c9s
f28cc18ce4 support: check target quantity and min notional 2021-05-16 01:04:46 +08:00
c9s
9aaad2d28c add emoji icons to the messages 2021-05-16 01:03:28 +08:00
c9s
933765defb add State PlainText method test 2021-05-16 00:59:57 +08:00
c9s
2652bee83b remove arrow from the message text 2021-05-16 00:52:53 +08:00
c9s
f09e248c02 improve slack attachment title 2021-05-16 00:51:51 +08:00
c9s
16fbbd0e4b notify transfer states 2021-05-16 00:51:12 +08:00
c9s
40b5baeda7 add maxDailyAmountOfTransfer check 2021-05-16 00:50:15 +08:00
c9s
942eaac659 improve message formatting 2021-05-16 00:45:08 +08:00
c9s
8eb8a3de72 refactor state functions 2021-05-16 00:32:27 +08:00
c9s
ca10135646 translate WithdrawalRequest to slack attachment 2021-05-16 00:03:19 +08:00
c9s
e0d3b7a418 fix message formating 2021-05-15 23:55:13 +08:00
c9s
1f449eca7f implement SlackAttachment interface on Position 2021-05-15 23:50:03 +08:00
c9s
a582fdbfa7 xbalance: add jitter and notification messages 2021-05-15 10:42:16 +08:00
c9s
c85456b8e8 lock position for fetching base quantity 2021-05-15 10:06:48 +08:00
c9s
531799bdfb use mutex composition since we may lock from out side 2021-05-15 10:05:39 +08:00
c9s
8071559f99 position: use pointer receiver 2021-05-15 10:02:04 +08:00
c9s
a636cdaec9 add mutex to Position since position could be changed from 2 goroutine 2021-05-15 10:01:41 +08:00
c9s
aa340f0db3 always check restQuantity 2021-05-15 10:00:32 +08:00
c9s
638cc40516 fix notification arguments 2021-05-15 09:59:17 +08:00
c9s
236df245a2 adjust quantity bases on the balances 2021-05-15 09:46:07 +08:00
c9s
f9cb414832 twap: add update-interval option 2021-05-15 09:29:44 +08:00
c9s
ae256ce9d3 add more quantity adjustment fix 2021-05-15 09:23:41 +08:00
c9s
356a8b77ac adjust updateLimiter to 3 seconds one time 2021-05-15 09:20:46 +08:00
c9s
445feb016a support price ticks option 2021-05-14 15:35:11 +08:00
c9s
a2bcfc8630 fix bollgrid function call 2021-05-14 15:34:58 +08:00
c9s
e3cb2ad86c fix telegram arguments index update 2021-05-14 14:57:22 +08:00
c9s
abd6f4c7ef rename bbgo.AdjustQuantityByMaxAmount to bbgo.AdjustFloatQuantityByMaxAmount 2021-05-14 14:53:26 +08:00
c9s
f1fe492117 improve string format 2021-05-14 14:53:26 +08:00
c9s
66bc06bc5f add more order execution parameter checks 2021-05-14 14:53:26 +08:00
c9s
bb34b1002a improve order execution graceful shutdown 2021-05-14 14:53:26 +08:00
c9s
dc040bb82b improving logs 2021-05-14 14:53:26 +08:00
c9s
f69cbe9c31 add basic TwapExecution 2021-05-14 14:53:26 +08:00
c9s
c8b97629e0 add NumOfOrders method on active book 2021-05-14 14:53:26 +08:00
c9s
c520cfa540 xmaker: fix price calculation 2021-05-14 14:53:26 +08:00
c9s
3437515d6a rename placeOrder to submitOrder for making the api consistent 2021-05-14 14:53:26 +08:00
Yo-An Lin
2aea0dee4f Merge pull request #230 from LarryLuTW/bollgrid-enhance
bollgrid: generate the last order if balance is not enough
2021-05-14 11:51:25 +08:00
Lee
d1cef15f75 Fix: Correct the Order FILLED event on binance 2021-05-13 00:41:23 +08:00
Larry850806
4b53b3c96a bollgrid: generate the last order if balance is not enough 2021-05-12 20:45:54 +08:00
c9s
3becb32843 bump version to v1.16.0 2021-05-12 19:41:03 +08:00
c9s
a49cf531b5 fix cross exchange order executor for the basic risk control 2021-05-12 19:02:09 +08:00
Yo-An Lin
dcd66d3449 Merge pull request #235 from jessy1092/binance_parser
Fix: Correct the binance executionReport parser
2021-05-12 19:01:14 +08:00
Lee
b0e71e4258 Fix: Correct the binance executionReport parser
Let JSON parse to be explicit for prevent Unmarshal case-insensitive issue
2021-05-12 18:45:16 +08:00
Yo-An Lin
4028c39dbf Merge pull request #234 from narumiruna/fix/macd-vwap-test-case 2021-05-12 16:52:49 +08:00
なるみ
f1d88188e8 Fix test case 2021-05-12 14:39:10 +08:00
c9s
aa6520ec18 improve error messages 2021-05-12 12:54:46 +08:00
c9s
98e0390c1d improve slack notification 2021-05-12 12:43:03 +08:00
c9s
807c049d63 refactor notifiers and add liquidity field to the trade 2021-05-12 12:37:48 +08:00
c9s
85e1b6b1c7 move field assignment 2021-05-12 12:05:54 +08:00
c9s
df11112d64 refactor exchange session initialization 2021-05-12 12:05:54 +08:00
c9s
8d63647104 assign session.Withdrawal 2021-05-12 12:05:54 +08:00
c9s
29b7326f19 add withdrawal property to the exchange session 2021-05-12 12:05:54 +08:00
Yo-An Lin
ca0061856d Merge pull request #231 from zenixls2/binance_cancel 2021-05-12 09:25:34 +08:00
Yo-An Lin
3b61a16a81 Merge pull request #227 from narumiruna/feature/add-ad-indicator 2021-05-12 09:22:09 +08:00
Yo-An Lin
037f564b03 Merge pull request #226 from narumiruna/feature/add-obc-indicator 2021-05-12 09:21:27 +08:00
c9s
fd6fe56f32 implement withdrawal request on binance 2021-05-12 02:15:22 +08:00
c9s
9ff7b62123 add xbalance strategy 2021-05-12 01:21:40 +08:00
c9s
1e3e570edb add ExchangeWithdrawalService interface 2021-05-12 01:21:21 +08:00
c9s
ff7ead9bdf fix max withdrawal address bug 2021-05-12 01:21:04 +08:00
c9s
61319fb4ff implement Withdrawal method on max exchange 2021-05-12 00:23:13 +08:00
c9s
0b7c9a1437 implement withdrawal request api 2021-05-11 22:35:31 +08:00
c9s
f197a0fc4f improve log messages 2021-05-11 15:57:44 +08:00
c9s
9d53adc6ef xmaker: ignore self trade 2021-05-11 15:56:46 +08:00
zenix
ba091dccf6 Fix: binance's cancel update is sent through New status with 0 quantity 2021-05-11 06:57:09 +00:00
c9s
610c33b819 improve support quantity for spot session 2021-05-11 13:25:29 +08:00
c9s
15086996e4 add balance warning 2021-05-11 12:53:32 +08:00
c9s
5f8e3259eb add stopHedgeQuoteBalance and stopHedgeBaseBalance 2021-05-11 12:47:45 +08:00
c9s
d2a770bc05 adjust second layer price according to the pips 2021-05-11 01:06:39 +08:00
c9s
b86ed36aa2 calculate price by depth 2021-05-11 00:58:11 +08:00
c9s
4429a29c29 disable hedge quote adjustment 2021-05-11 00:10:49 +08:00
c9s
fa3ca54a55 improve warning messages 2021-05-10 23:52:17 +08:00
c9s
fe4e4bf5ea use bbgo.AdjustQuantityByMaxAmount 2021-05-10 23:50:19 +08:00
c9s
b16d2553b5 remove floating point 2021-05-10 23:49:25 +08:00
c9s
1f9558cd64 use local timezone 2021-05-10 23:27:08 +08:00
なるみ
7cc5485bff Add ad indicator 2021-05-10 20:39:27 +08:00
c9s
af8f718228 add more pnl details to the state 2021-05-10 20:22:33 +08:00
c9s
95d58e9385 adjust hedge quantity according to the hedge account balances 2021-05-10 20:13:23 +08:00
なるみ
f82a344964 Rename test function 2021-05-10 18:16:12 +08:00
なるみ
67f66153ab Add obv test 2021-05-10 17:46:46 +08:00
なるみ
a2d7a40147 Add obv indicator 2021-05-10 17:17:50 +08:00
c9s
c1ea9ff9ed xmaker: move cancel order calls to the go routine 2021-05-10 13:18:57 +08:00
c9s
c90871fb39 implement pending removal order ids 2021-05-10 13:06:23 +08:00
c9s
ddab6083d4 xmaker: support quantity scale 2021-05-10 02:52:41 +08:00
c9s
dde998aced fix graceful shutdown 2021-05-10 02:17:19 +08:00
c9s
405f9c863f xmaker: call cancel orders everytime 2021-05-10 01:47:17 +08:00
c9s
ce63641d70 print otp auth guide when session is loaded 2021-05-10 01:38:19 +08:00
Yo-An Lin
8a9fe7ea23 Merge pull request #221 from frankurcrazy/fix/skip-cancel-profit-order-on-graceful-exit
fix(bollgrid): skip canceling profit orders on graceful exit
2021-05-10 01:11:20 +08:00
c9s
8995300cbe use go routine to send message so that we wont be blocked 2021-05-10 00:02:08 +08:00
c9s
0307a740e3 calculate accumulatedProfit 2021-05-09 23:56:54 +08:00
c9s
a98fbeea77 reduce notify calls 2021-05-09 21:14:51 +08:00
c9s
3f8f5616d7 add more order info the local order book printing 2021-05-09 20:03:16 +08:00
c9s
2f326d0fed xmaker: add interval jitter 2021-05-09 20:03:06 +08:00
c9s
c278cdbf30 improve order sync map lock handling 2021-05-09 19:50:26 +08:00
c9s
74e01ce444 fix order waiting for graceful shutdown 2021-05-09 19:44:51 +08:00
c9s
e06310da26 print unhandled order status 2021-05-09 19:44:43 +08:00
c9s
ff90a704d9 fix fixedpoint format 2021-05-09 19:40:56 +08:00
c9s
e35eef2b72 fix message formatting 2021-05-09 19:15:37 +08:00
c9s
9525a334d2 add more fix 2021-05-09 19:04:44 +08:00
c9s
1b454be0f3 fix quote quantity label 2021-05-09 18:58:05 +08:00
c9s
b343ecad61 xmaker: add more helpful messages 2021-05-09 18:55:56 +08:00
c9s
dc282182a5 fix xmaker order cancellation in the graceful shutdown 2021-05-09 18:48:25 +08:00
c9s
569bbfea54 use new bbgo position for calculating profits 2021-05-09 18:46:09 +08:00
c9s
f44d85d704 fix QuantityMultiplier 2021-05-09 18:33:11 +08:00
c9s
c0f12cf452 xmaker: add active maker order cancellation check 2021-05-09 18:32:29 +08:00
なるみ
52248fcf2e feature: add MACD indicator (#219) 2021-05-09 00:56:44 +08:00
Frank Chang
da0ea3d390 fix(bollgrid): skip canceling profit order on graceful exit
profit orders shouldn't be canceled on graceful exit unless
properly persisted.

a new strategy parameter `shutdownCancelProfitOrders` is added.

Issue: #220
2021-05-08 15:19:04 +08:00
なるみ
3f39131d76 feature: add volume weighted average price (vwap) indicator (#211) 2021-05-08 02:09:45 +08:00
c9s
fd7081e96f bump version to v1.15.5 2021-05-08 01:11:31 +08:00
c9s
d01abffde3 add todo for the backtest trades 2021-05-08 01:09:06 +08:00
c9s
13d9f2ba49 grid: fix order generator checking 2021-05-08 01:00:57 +08:00
c9s
a94c42d9c2 grid: improve error messages 2021-05-08 00:59:30 +08:00
c9s
ee68deb114 apply limit param to the queries 2021-05-08 00:57:25 +08:00
c9s
d8d2e17b9e fix backtest exchange query klines methods 2021-05-08 00:57:12 +08:00
c9s
6bbd66a4f9 split environment start and init 2021-05-08 00:45:24 +08:00
c9s
14eedecd0e fix backtest sync from time 2021-05-08 00:44:43 +08:00
c9s
61ad2b6567 emit start callback for backtest 2021-05-08 00:43:53 +08:00
c9s
3501e8f5fd refactor backtest, add BootstrapBacktestEnvironment 2021-05-08 00:14:25 +08:00
c9s
f67075c818 bump version to v1.15.4 2021-05-07 14:08:11 +08:00
c9s
858d6bdf05 grid: adjust callback registration ordering 2021-05-07 02:14:35 +08:00
c9s
494a270c54 insert trades to db only when backtest service is nil 2021-05-07 01:50:38 +08:00
c9s
584a4c2ef8 move fiat currency definition out 2021-05-07 01:30:09 +08:00
c9s
1264c50e83 improve balances, account command usability 2021-05-06 23:50:26 +08:00
c9s
1a81813e17 add --session option check 2021-05-06 23:44:05 +08:00
c9s
03cee5eb0b apply types.ExchangeMAX 2021-05-05 16:57:01 +08:00
c9s
859bf35255 set sync-from from config by default 2021-05-05 16:45:17 +08:00
c9s
a70d5cbcdc fix kline sync conditions 2021-05-05 16:33:15 +08:00
c9s
d85037f9ea add binance kline query documentation 2021-05-05 16:23:46 +08:00
c9s
1ad8b0b641 remove unused SourceDir func 2021-05-04 01:06:20 +08:00
c9s
0fbc388333 add --webserver-bind option and add option to --enable-webserver 2021-05-03 17:24:39 +08:00
Larry850806
f1309c46fc bollgrid: check balance before submit reverse order 2021-05-03 16:18:58 +08:00
c9s
50db944053 fix initSymbol stages 2021-05-02 23:58:34 +08:00
c9s
2230c56e56 fix comment warning 2021-05-02 23:48:53 +08:00
c9s
2ef13293e9 fix IDE warnings 2021-05-02 23:47:57 +08:00
c9s
5ec0566888 add more injection checks 2021-05-02 23:46:16 +08:00
c9s
822a010932 add moving average configuration to the schedule strategy 2021-05-02 20:58:32 +08:00
c9s
e29d9af9c8 fix persistence config unmarshalling 2021-05-02 18:16:34 +08:00
c9s
20d673f769 add schedule strategy 2021-05-02 18:03:41 +08:00
c9s
8fea2022e5 adjust rate limit for backtest data syncing 2021-05-02 17:46:08 +08:00
c9s
471e0a4c45 pass string format quantity and price 2021-04-28 19:48:17 +08:00
c9s
9f77236999 fix and improve position accessor 2021-04-28 19:32:49 +08:00
c9s
e87c2e271f add broker id on max 2021-04-28 19:24:07 +08:00
c9s
5d2296eddd extract client order id generation 2021-04-28 19:20:55 +08:00
c9s
36beabaa0b bump version to v1.15.3 2021-04-28 18:00:23 +08:00
c9s
70a53ed286 make config compatible with key 'strategies' 2021-04-28 17:58:50 +08:00
zenix
2bda296194 Fix: upgrade binance api, fix go fmt, add hard start time for binance to reduce sync execution time 2021-04-21 19:50:33 +09:00
zenix
2d6eb02e6c compile and update migration package 2021-04-21 11:21:15 +09:00
Larry850806
453a906a5a bollgrid: use onStart instead of onConnect 2021-04-15 15:51:23 +08:00
Larry850806
980f1ae3e7 bollgrid: submit buy/sell orders separately 2021-04-15 12:31:18 +08:00
Larry850806
aa950b3dc4 bollgrid: track createdOrders when error occurs 2021-04-15 12:31:18 +08:00
Larry850806
a80afff0c2 grid: track createdOrders when error occurs 2021-04-15 12:31:18 +08:00
Wei-Ning Huang
e7961be86a binance: set TimeInForce to GTC by default for limit orders
Binance does not allow submitting order without TimeInForce set for
certain order types. Set TimeInforce to GTC (Good-Til-Cancel) by
default.
2021-04-14 09:49:03 +08:00
David Chang
f884fcd45c fix: add ioc trade type to order type 2021-04-12 14:35:46 +08:00
David Chang
0db2cc2c96 fix: add ioc trade type to order type 2021-04-12 09:35:59 +08:00
David Chang
c9198d498e feature: add ioc order type support to max exchange 2021-04-11 12:29:23 +08:00
c9s
2ec4617694 add SyncService check 2021-04-09 12:44:30 +08:00
c9s
34fe915a9f fix sync issue for pnl command 2021-04-09 12:43:13 +08:00
c9s
d315c12f2d call environ.Init to setup sessions 2021-04-09 00:46:36 +08:00
Yo-An Lin
435f7fb12e Merge pull request #190 from jnlin/feat/telegram-group
feat: allow telegram bot send to group
2021-04-04 11:21:20 +08:00
c9s
13a8597d59 add MaxExposurePosition settings 2021-04-04 11:14:09 +08:00
Jui-Nan Lin
1b953d88d4 feat: allow bot send to group 2021-04-03 12:50:13 +08:00
Larry850806
6718aace8c Add validation for support strategy 2021-04-02 10:32:38 +08:00
Larry850806
53133851cc Add validation for grid strategy 2021-04-02 10:32:38 +08:00
Larry850806
2c41ec28ae Add validation for bollgrid strategy 2021-04-02 10:32:34 +08:00
Larry850806
dbf5d27f30 Add a validator interface to validate strategy before run 2021-04-02 10:12:55 +08:00
ycdesu
1e3ce81c06 ftx: pull out map 2021-04-01 11:55:27 +08:00
ycdesu
a659bacb0d ftx: remove back slash from symbol 2021-04-01 11:54:16 +08:00
ycdesu
28c9ac95ac ftx: query kline using rest api 2021-03-31 18:09:13 +08:00
ycdesu
f912fde6e3 ftx: panic if subscribe unsupported channel 2021-03-29 22:11:39 +08:00
ycdesu
66f165584f fix: make since/until optional 2021-03-29 22:11:39 +08:00
ycdesu
f526a937d1 ftx: websocket keepalive 2021-03-29 22:11:39 +08:00
ycdesu
53c9b0a606 ftx: remove redundant abstraction 2021-03-29 22:11:39 +08:00
ycdesu
e152aa1036 ftx: trade update 2021-03-29 22:11:39 +08:00
ycdesu
f345730778 ftx: handle err response 2021-03-29 22:11:38 +08:00
ycdesu
9c4ccbd6e2 ftx: subscribe order update 2021-03-29 22:11:38 +08:00
ycdesu
34ea325499 ftx: refactor websocket_messages structs 2021-03-29 22:11:38 +08:00
ycdesu
d3cdd3c2a6 ftx: define order update response 2021-03-29 22:11:38 +08:00
ycdesu
2e2ae46bae ftx: subscribe order update 2021-03-29 22:11:38 +08:00
ycdesu
f60f1ef52e ftx: authenticate websocket 2021-03-27 18:16:52 +08:00
ycdesu
24254a869d ftx: invoke SetPublicOnly in orderbook command 2021-03-27 17:37:16 +08:00
ycdesu
34548f185c ftx: add missing ftx case 2021-03-27 17:00:55 +08:00
ycdesu
691251169d ftx: define ws login request 2021-03-27 16:58:51 +08:00
ycdesu
3bcd5a8e83 ftx: null guard in close 2021-03-27 09:54:12 +08:00
ycdesu
9e77b3afd8 ftx: support queryTrades method 2021-03-26 00:43:15 +08:00
c9s
c82df27cf3 grid: fix message format 2021-03-25 15:22:52 +08:00
c9s
13af4505f7 bump version to v1.15.2 2021-03-25 13:41:44 +08:00
c9s
129b25d86e fix persistence key 2021-03-25 13:18:38 +08:00
c9s
89c01adf60 xmaker: fix state passing for persistence 2021-03-25 13:16:48 +08:00
c9s
121a679d4a fix margin struct tag 2021-03-25 13:16:27 +08:00
c9s
8122fddd02 add exchange field to binance trades and binance orders 2021-03-24 17:51:19 +08:00
YC
80e5144950 Merge pull request #184 from c9s/ftx/add-missing-query-string 2021-03-24 16:26:33 +08:00
ycdesu
241f1ee9de ftx: support lastOrderID 2021-03-23 22:27:11 +08:00
ycdesu
17b6122cf8 ftx: assign query string to order/wallet requests 2021-03-23 22:26:18 +08:00
ycdesu
bce749c13b ftx: add missing query string 2021-03-23 22:25:57 +08:00
ycdesu
33046df35b ftx: list closed orders 2021-03-23 22:25:21 +08:00
ycdesu
cb52b436cb ftx: add log 2021-03-23 22:25:05 +08:00
c9s
cbd43c159f bump version 2021-03-23 21:52:42 +08:00
c9s
29f77c2176 add environ.DatabaseService nil check for backtest 2021-03-22 22:48:43 +08:00
c9s
3a842836cd bump version 2021-03-22 18:51:32 +08:00
c9s
5de221524f adjust state and reset per day 2021-03-22 18:48:18 +08:00
c9s
6c8babfb27 allow public session 2021-03-22 17:40:17 +08:00
c9s
67bfc508c8 max: remove unnecessary log 2021-03-22 17:40:00 +08:00
c9s
2b27815929 move out groupID to the maxapi package 2021-03-22 17:32:22 +08:00
c9s
706b38efa3 gap: finalize the implementation 2021-03-22 17:32:22 +08:00
c9s
111b3ba036 max: improve multi-order request 2021-03-22 17:32:22 +08:00
c9s
3c5071b87e use uint32 for groupID 2021-03-22 17:32:22 +08:00
c9s
cd5ac1ddf5 fix convert for limit maker 2021-03-22 17:32:22 +08:00
c9s
865dda14f5 gap: accumulate fee 2021-03-22 17:32:22 +08:00
c9s
24c4d05e91 max: load websocket base url from the env var 2021-03-22 17:32:21 +08:00
c9s
088b22f338 support bbgo-no-cache option 2021-03-22 17:32:21 +08:00
c9s
e86f29b7cc add gap strategy 2021-03-22 17:32:21 +08:00
ycdesu
ab743f85c2 ftx:support deposit histories 2021-03-21 20:17:41 +08:00
ycdesu
d2a5a755be ftx: implement queryMarket 2021-03-21 13:06:46 +08:00
ycdesu
14652c6918 ftx: define market request 2021-03-21 13:06:46 +08:00
ycdesu
c30a026243 ftx: support market cmd 2021-03-21 13:06:46 +08:00
Yo-An Lin
1293dbb64b Merge pull request #180 from c9s/strategy/xmaker
feature: add strategy xmaker
2021-03-21 13:00:00 +08:00
c9s
814a77ea39 xmaker: improve balance checking 2021-03-21 12:55:33 +08:00
c9s
2a067e5cb4 add more balance check for hedging 2021-03-21 12:55:33 +08:00
c9s
1f744b0fa5 convert limit maker type to post only 2021-03-21 12:55:33 +08:00
c9s
837934e690 add post_only order type 2021-03-21 12:55:33 +08:00
c9s
6b877e1394 add limit maker order type 2021-03-21 12:55:33 +08:00
c9s
4e3f325bb6 first commit of xmaker strategy from mobydick 2021-03-21 12:55:33 +08:00
ycdesu
04870acbab fixedpoint: get num of fractional parts 2021-03-21 12:52:45 +08:00
c9s
cf1262c1a9 update version.go 2021-03-21 10:20:00 +08:00
c9s
ca27bf100d grid: use instance id for persistence 2021-03-20 23:07:04 +08:00
c9s
ef8543db8a show accumulative arbitrage profit in the message 2021-03-20 23:05:11 +08:00
c9s
b4083bdf10 fix fee calc tests 2021-03-20 22:59:53 +08:00
c9s
a52101b163 remove bps from the fee calc 2021-03-20 22:53:14 +08:00
c9s
d97275e408 query max account fee from the vip level api 2021-03-19 17:06:48 +08:00
YC
062a008674 Merge pull request #174 from c9s/ftx/fix-placeorder-init 2021-03-19 10:35:54 +08:00
ycdesu
a7bdcdff38 fix: fix placeorder cmd 2021-03-19 10:07:39 +08:00
ycdesu
c8447663db refactor: use fixedpoint to store fee 2021-03-19 08:49:24 +08:00
ycdesu
83ae943a4f ftx: calculate commission 2021-03-18 23:58:28 +08:00
ycdesu
a62481590e ftx: support PlatformCurrency 2021-03-18 23:58:28 +08:00
ycdesu
8a75b21a38 ftx: support account info 2021-03-18 23:53:55 +08:00
Yo-An Lin
9e596a0f63 Merge pull request #171 from c9s/feature/grid-profit-notification
strategy: calculate grid arbitrage profit per order
2021-03-18 18:19:09 +08:00
c9s
dffd9fc980 add VipLevel api query support 2021-03-18 17:58:18 +08:00
c9s
890324a4ad maxapi: add VipLevel 2021-03-18 17:58:18 +08:00
c9s
761d51597d add todo fee rate here 2021-03-18 17:48:05 +08:00
c9s
4975fb5498 track arbitrage orders 2021-03-18 17:20:21 +08:00
c9s
a95c3b94a0 core: set default store ID 2021-03-18 17:20:07 +08:00
c9s
0e6918a352 grid: add profit field 2021-03-18 15:46:14 +08:00
Yo-An Lin
40b376802e Merge pull request #168 from c9s/feature/mark-trade-strategy 2021-03-18 10:31:59 +08:00
Yo-An Lin
06381c250b Merge pull request #165 from Larry850806/remove-useless-code-in-balances-cmd 2021-03-18 10:31:41 +08:00
Larry850806
28f4584191 Use empty config if config file doesn't exist 2021-03-18 10:04:41 +08:00
c9s
cad8349a1a remove state OrderStateFinalizing from the order state
since we are only interested in the closed orders
2021-03-18 01:15:49 +08:00
c9s
dd87bde785 fix reward sync time range issue 2021-03-18 01:15:38 +08:00
c9s
85b6cb81a2 make local active orderbook json marshallable 2021-03-18 01:15:06 +08:00
c9s
8d784576cd put state vars into the state struct for persistence 2021-03-18 01:14:56 +08:00
c9s
72c1f55b70 fix grid price calculation 2021-03-18 00:46:25 +08:00
c9s
4a415a43b3 fix reward query 2021-03-18 00:46:10 +08:00
c9s
90477826cf implement byte parser for fixedpoint parsing 2021-03-17 22:20:25 +08:00
ycdesu
4a5a53ea28 ftx: support queryClosedOrders 2021-03-17 21:26:25 +08:00
Larry850806
4dc478590f Remove configuring database in balances cmd 2021-03-17 14:35:00 +08:00
ycdesu
54ca62ac5c ftx: define ordersHistory in rest client 2021-03-17 08:18:37 +08:00
ycdesu
342b0dd1dd ftx: cancel orders 2021-03-16 22:36:44 +08:00
Yo-An Lin
7ecb17dbe2 Merge pull request #163 from c9s/feature/mark-trade-strategy 2021-03-16 22:34:09 +08:00
c9s
216c12b49e backup and restore position 2021-03-16 20:07:54 +08:00
c9s
a1667010eb fix filled grid map assignment 2021-03-16 20:05:03 +08:00
c9s
714d61a829 add grid restore behavior 2021-03-16 20:04:06 +08:00
c9s
8c08cfebb7 rename MarkStrategyID to just Mark 2021-03-16 14:07:47 +08:00
Yo-An Lin
f5b65e795e Merge pull request #160 from c9s/feature/grid-options 2021-03-16 12:59:14 +08:00
c9s
ebcef65b01 mark trades with the strategy ID 2021-03-16 10:58:51 +08:00
c9s
478bef526d copy the position object and send notification 2021-03-16 02:22:00 +08:00
c9s
98995bc75c use debug log for skipping filled grid 2021-03-16 02:21:46 +08:00
c9s
f56df038aa fix position and add catchup mode for grid strategy 2021-03-16 02:18:17 +08:00
c9s
60aa7df69a adjust withdraw/deposit query limit since there are no many in most cases 2021-03-16 02:14:24 +08:00
c9s
40fded70b2 reformat scale.go 2021-03-16 02:14:10 +08:00
c9s
c5eb6483a5 integrate QueryTicker for backtesting 2021-03-16 02:13:52 +08:00
c9s
2f7c7d344b move emitStart method call into the stream Connect method 2021-03-16 01:32:27 +08:00
c9s
7951c38edc skip connection if there is no subscription 2021-03-16 01:31:56 +08:00
ycdesu
c08899f7fb ftx: add ftx to supported exchange 2021-03-15 20:40:04 +08:00
ycdesu
c88297117b ftx: new rest everytime 2021-03-15 19:02:14 +08:00
c9s
c3996aee2b add Backup method to the local active order book 2021-03-15 18:25:36 +08:00
c9s
46c59f5009 add both side and support json unmarshalling 2021-03-15 18:09:55 +08:00
c9s
2bf4a555ec use OnStart instead of OnConnect
this is for avoiding re-connect issue
2021-03-15 18:04:55 +08:00
c9s
e311a182fa add onStart callbacks 2021-03-15 18:04:03 +08:00
c9s
9f7af3ce82 assign SubAccount name to the new exchange session 2021-03-15 17:51:17 +08:00
c9s
c95e712420 binance: emit disconnect 2021-03-15 17:48:16 +08:00
c9s
6d249cf83c bypass disconnect event 2021-03-15 17:48:16 +08:00
c9s
61a19cbfb4 align fields and tags 2021-03-15 17:31:07 +08:00
c9s
ab6b56d91e fix taker volume parsing 2021-03-15 15:37:53 +08:00
c9s
7b7811bbc3 revise orderbook command options 2021-03-15 10:23:53 +08:00
c9s
b24c69729a improve orderbook print layout 2021-03-15 10:23:42 +08:00
c9s
3ffa319ba8 improve max websocket reconnecting issue 2021-03-15 10:23:20 +08:00
c9s
e8ccc5eabf pass SubAccount field to the factory 2021-03-15 10:23:00 +08:00
c9s
97d427a9ca add ftx into the standard exchange factory 2021-03-15 10:22:45 +08:00
c9s
2eda012f43 add SubAccount field to the exchange session config 2021-03-15 10:13:41 +08:00
c9s
b7da47411e split exchange interface into ExchangeMarketDataService, ExchangeTradingService 2021-03-15 10:06:02 +08:00
c9s
c788601856 add disconnect callbacks on stream 2021-03-15 09:49:22 +08:00
Yo-An Lin
e0d7fefbf2 Merge pull request #150 from c9s/fix/pnl
feature: add deposit service and withdraw service for sync
2021-03-15 09:01:24 +08:00
Yo-An Lin
806a32724f Merge pull request #153 from c9s/improve/balances-cmd 2021-03-14 11:51:49 +08:00
c9s
afb8105694 add reward service todo 2021-03-14 11:18:23 +08:00
c9s
38b9baf340 connect sync with deposit and withdraw services 2021-03-14 11:18:23 +08:00
c9s
54ba240317 implement deposit sync 2021-03-14 11:18:22 +08:00
c9s
0246e298d2 apply launch date if since time is empty 2021-03-14 11:18:22 +08:00
c9s
75c6a2791c reduce log 2021-03-14 11:18:22 +08:00
c9s
ccbb78ce4d migration: extend tx id and address size 2021-03-14 11:18:22 +08:00
c9s
8e85274876 fix used time field for withdraw 2021-03-14 11:18:22 +08:00
c9s
b25671c864 fix max deposits history ordering 2021-03-14 11:18:22 +08:00
c9s
75778675e3 fix withdraw query order 2021-03-14 11:18:22 +08:00
c9s
dbcf35e4a4 add FeeCurrency field 2021-03-14 11:18:22 +08:00
c9s
2d6b6e7427 fix withdrawal data ordering 2021-03-14 11:18:22 +08:00
c9s
4d3b1ec938 fix QueryWithdrawHistory and QueryDepositHistory 2021-03-14 11:18:22 +08:00
c9s
4b49fda463 refactor sync service 2021-03-14 11:18:22 +08:00
c9s
3c90aa515d add deposit service and withdraw service 2021-03-14 11:18:22 +08:00
c9s
f22a6ee697 implement sync method on the trade service 2021-03-14 11:18:22 +08:00
c9s
8fc7c4798e implement sync method on reward service 2021-03-14 11:18:22 +08:00
c9s
5a02cdbda3 implement sync method on the order service 2021-03-14 11:18:22 +08:00
c9s
877ea73435 maxapi: align fields 2021-03-14 11:18:22 +08:00
c9s
be672c89e6 max: update deposit and withdraw types 2021-03-14 11:18:22 +08:00
c9s
3f0290479b binance: update withdraw and deposit types 2021-03-14 11:18:22 +08:00
c9s
ac45bb306a types: update deposit fields and withdraw fields 2021-03-14 11:18:22 +08:00
c9s
2b485602ad split ExchangeTransferService 2021-03-14 11:18:22 +08:00
c9s
b0ea2bfe14 types: add exchange name sql value and unmarshalling 2021-03-14 11:18:22 +08:00
c9s
4e9973681a add migration files 2021-03-14 10:58:26 +08:00
c9s
22a9809327 improve balances command 2021-03-14 10:35:01 +08:00
c9s
33213746f4 cmd: add --all option to the cancel command 2021-03-14 10:29:45 +08:00
ycdesu
a83b95d262 ftx: implemenet place order func 2021-03-13 10:41:04 +08:00
ycdesu
c3a677e2b8 ftx: rename orders cmd to listorders 2021-03-13 10:41:04 +08:00
ycdesu
506fdcd84f ftx: add conversion helper 2021-03-13 09:51:16 +08:00
ycdesu
778ceb2985 ftx: define orderResponse struct 2021-03-13 09:51:03 +08:00
ycdesu
0e611dbee4 ftx: rename orders to ordersResponse 2021-03-12 23:03:08 +08:00
c9s
48fe6054b0 exchange/max: fix query reward issue 2021-03-10 14:18:01 +08:00
Yo-An Lin
b58e96a8a2 Merge pull request #148 from jnlin/fix/telegram-config 2021-03-10 12:42:28 +08:00
Jui-Nan Lin
19e523c1e9 fix: typo of telegram bot auth token 2021-03-10 12:31:26 +08:00
YC
b33402df24 Merge pull request #147 from c9s/ftx/query-open-orders 2021-03-08 18:50:56 +08:00
ycdesu
ee8ebde12d ftx: add todo 2021-03-07 12:53:41 +08:00
ycdesu
6599f276db ftx: implement query open orders 2021-03-07 12:51:13 +08:00
ycdesu
3676450e4b ftx: convert open order 2021-03-07 12:51:13 +08:00
ycdesu
16366b09a4 ftx: rename responses.go to rest_responses.go 2021-03-07 12:51:13 +08:00
ycdesu
26963ce7ab ftx: rename balance.go to rest_balance_request.go 2021-03-07 12:51:13 +08:00
ycdesu
f6f3fcab02 ftx: orderbook snapshot checksum 2021-03-06 19:23:44 +08:00
ycdesu
be7c393fcb ftx: print orderbook update 2021-03-04 10:02:40 +08:00
ycdesu
cd6457f5c0 orderbook: extract String() from Print() 2021-03-04 08:55:33 +08:00
ycdesu
43275d08bc ftx: use pure function to convert orderbook snapshot 2021-03-03 22:36:14 +08:00
ycdesu
55b9569777 ftx: use the same struct to handle orderbook snapshot/update 2021-03-03 22:33:06 +08:00
Larry850806
689734567a Remove unused conditions when generating orders 2021-03-03 14:55:11 +08:00
ycdesu
e34f68ab90 ftx: unmarshal all fields at the same time 2021-03-03 10:31:46 +08:00
ycdesu
081aa17deb doc: modify comment 2021-03-03 08:38:55 +08:00
ycdesu
160f6323e8 ftx: emit orderbook snapshot 2021-03-02 22:18:41 +08:00
ycdesu
253810556e ftx: unmarshal orderbook snapshot 2021-03-02 18:33:19 +08:00
ycdesu
45528fa219 ftx: modify log 2021-03-02 18:33:19 +08:00
ycdesu
a26c0553ee cmd: raise symbol not found err 2021-03-02 18:33:19 +08:00
ycdesu
6f81b0ee17 orderbook: fix IsValid logic
The original implementation always returns an error.
2021-03-02 10:33:46 +08:00
ben
40eadfeaca add yaml tag for mapping basic risk control order executor. 2021-03-01 13:44:58 +08:00
c9s
ea5554cf52 fix Makefile and update version file 2021-03-01 12:07:00 +08:00
Yo-An Lin
a52f487d4e Merge pull request #138 from c9s/feature/global-margin-structure
feature: convert and parse binance margin structure into global types
2021-02-28 16:13:48 +08:00
Yo-An Lin
592a8d87ae Merge pull request #137 from c9s/feature/scale
feature: add exp scale and log scale formula
2021-02-28 16:13:38 +08:00
c9s
3e616c5fac convert and parse binance margin account structure 2021-02-28 15:06:20 +08:00
c9s
32c2780b16 convert binance margin account data into the global structure 2021-02-28 15:06:20 +08:00
c9s
b71ea867c5 ignore sync if sync service is nil 2021-02-28 15:05:49 +08:00
c9s
da79920ca9 rename scale struct name to PriceVolumeScale 2021-02-28 14:51:24 +08:00
c9s
83111c9eb9 test exponential scale with reverse range 2021-02-28 12:12:03 +08:00
c9s
3c9bcd8c9d add more margin order side effect alias 2021-02-28 12:00:51 +08:00
c9s
99f236d2e0 integrate quantity scale into support strategy and grid strategy 2021-02-28 11:57:25 +08:00
c9s
bf87fbbf55 add LinearScale 2021-02-28 02:20:47 +08:00
c9s
8572df2cb3 add link to TestQuadraticScale 2021-02-28 02:07:48 +08:00
c9s
83af52c53b add QuadraticScale 2021-02-28 02:06:33 +08:00
c9s
52395fd460 add log scale graph link 2021-02-28 01:55:35 +08:00
c9s
fbb8837c5c add exp scale and log scale formula 2021-02-28 01:53:45 +08:00
ycdesu
f7ef4a8028 cmd: create orderbook command to print orderbook snapshot and updates 2021-02-27 19:28:01 +08:00
ycdesu
883b7ef028 ftx: handle message in a new struct 2021-02-27 19:27:44 +08:00
ycdesu
d9ad022a81 ftx: define subscribed msg 2021-02-27 19:27:37 +08:00
ycdesu
73d05fe7bb ftx: send subscriptions when connected 2021-02-27 18:42:46 +08:00
ycdesu
2a0bd5f962 ws: make Reconnect() public 2021-02-27 18:42:45 +08:00
ycdesu
282ce3ee99 cmd: move simple session factory to cmd/utils.go 2021-02-27 18:42:45 +08:00
ycdesu
fd5574b006 cmd: add balances testing cmd
Only support ftx
2021-02-27 17:24:59 +08:00
ycdesu
c52f918dd4 ftx: add missing types.exchange methods 2021-02-27 17:24:08 +08:00
ycdesu
45da7ca1f5 cmd: add ftx flags 2021-02-27 17:23:59 +08:00
ycdesu
8b838b9a59 ftx: make logger private 2021-02-27 17:01:20 +08:00
ycdesu
b28d9631ab ftx: return ftx stream but hasn't implement it yet 2021-02-27 16:48:50 +08:00
ycdesu
bf97af34f3 ws: implement base websocket client 2021-02-27 16:48:50 +08:00
c9s
03d7290e03 pull out time range group by clause generator 2021-02-26 17:22:08 +08:00
c9s
28a8ab34a2 pull out time range column name 2021-02-26 16:16:41 +08:00
c9s
02e7451ed6 bump version 2021-02-26 16:16:34 +08:00
c9s
1d29009133 fix max trade query ordering and sql query ordering for query last 2021-02-25 13:55:04 +08:00
c9s
854014f49a add currency position aggregation and tests 2021-02-24 10:46:42 +08:00
c9s
14830c442c refactor and implement reward sync and query 2021-02-23 22:53:00 +08:00
c9s
5a7cf05701 integrate reward service into the sync service 2021-02-23 16:39:48 +08:00
c9s
fb62af05a4 add global Reward type 2021-02-23 10:08:01 +08:00
c9s
96362a4936 max: add rewards api and example 2021-02-22 18:45:44 +08:00
c9s
507586b560 fix max websocket subscription 2021-02-22 17:36:30 +08:00
c9s
73cb80ee96 improve logging 2021-02-22 17:06:43 +08:00
c9s
21a4669905 adjust max query limiter and sync before running trader 2021-02-22 16:54:08 +08:00
c9s
e93b5a1868 add version command 2021-02-22 15:23:09 +08:00
c9s
f7c952f8ca add version files 2021-02-22 15:16:12 +08:00
c9s
59d68e7f0d max: adjust trades limit to 1000 2021-02-22 15:03:15 +08:00
c9s
eaad414706 adjust max api call rate limiting 2021-02-22 15:01:05 +08:00
c9s
724dad70bb remove trade sync from environ init 2021-02-22 14:14:39 +08:00
c9s
84775652fe remove defer wrapper func 2021-02-22 13:49:26 +08:00
c9s
cdb7ce84c8 apply rate limit 2021-02-22 13:36:39 +08:00
c9s
63ebbc0e73 fix frontend sync status checking 2021-02-21 19:36:03 +08:00
c9s
f2978fa89c pull out ping interval parameter 2021-02-21 18:58:25 +08:00
c9s
3629a1f5a2 pre-save syncing var for return 2021-02-21 18:54:48 +08:00
c9s
9ea1a22b3f wrap errors 2021-02-21 17:48:03 +08:00
c9s
a8516edb98 add Get method to the persistence service facade 2021-02-21 16:55:45 +08:00
c9s
21b092037e refactor notification configuration 2021-02-21 16:52:47 +08:00
c9s
fa4e813729 resolve cyclic imports 2021-02-21 01:01:39 +08:00
c9s
6845db6dd3 refactor database configure method 2021-02-21 00:58:34 +08:00
c9s
1763fb8904 improve the warning message 2021-02-21 00:48:26 +08:00
c9s
12ed5a1efe move persistence service into the service package 2021-02-21 00:45:56 +08:00
c9s
b7a3f2ee03 refactor telegram initialization 2021-02-20 12:33:43 +08:00
c9s
be00aae81e move trade configuration to the trader struct method 2021-02-20 12:23:31 +08:00
c9s
c72b7b2dfa add sync api for syncing trades in the background 2021-02-20 11:56:39 +08:00
c9s
7684099f01 add /api/environment/syncing api 2021-02-20 11:54:48 +08:00
c9s
4ce6e85624 add sync status to the environment 2021-02-20 11:29:33 +08:00
c9s
ff5233ba3e support: use Notfiy 2021-02-20 10:51:01 +08:00
c9s
dd13b9a8bf remove start time query condition for trade sync since starting from trade id = 1 works 2021-02-19 14:18:50 +08:00
c9s
44fa74a4c9 refactor session sync 2021-02-19 10:42:24 +08:00
c9s
390c9b1a4b move Sync method into the sync service 2021-02-19 10:26:13 +08:00
c9s
eaa8c647b5 refactor session sync 2021-02-18 22:40:46 +08:00
c9s
90069a8589 improve sync command to find possible trading symbols automatically 2021-02-18 22:07:54 +08:00
c9s
65ff2894c5 binance: calculate quote quantity manually if it's not defined 2021-02-18 18:24:00 +08:00
c9s
3a89b0a714 improve trade sync 2021-02-18 18:20:18 +08:00
c9s
654ad62f36 remove type assert 2021-02-18 17:42:14 +08:00
c9s
0ba595bd55 Fix trade sync for self trades
MAX uses one single trade for presenting self trade.

BINANCE uses two trade records for presenting self trade. the trade
creation time are the same.
2021-02-18 17:37:49 +08:00
c9s
c3dbb1b204 avoid using last trade id for syncing data 2021-02-18 16:40:47 +08:00