Commit Graph

1610 Commits

Author SHA1 Message Date
c9s
0b935eff4f fix connection lock call 2021-05-30 18:14:22 +08:00
c9s
69e76485c5 xbalance: fix ticker usage 2021-05-30 18:06:31 +08:00
Yo-An Lin
406f592963 Merge pull request #258 from c9s/feature/okex
feature: add okex exchange user data stream and public stream
2021-05-30 16:21:12 +08:00
c9s
8d12c9262f okex: move connection context cancel calls 2021-05-30 15:54:31 +08:00
c9s
d6bd33a682 okex: remove unused code 2021-05-30 15:53:43 +08:00
c9s
d112dbb1a4 binance: check connCancel only when new context is allocated 2021-05-30 15:53:01 +08:00
c9s
f9d4068145 binance: pull out listen key from stream and reduce critical section 2021-05-30 15:51:25 +08:00
c9s
d863766e00 fix quote quantity alignment 2021-05-30 15:51:00 +08:00
c9s
c84d59734c clear all trades before running backtests 2021-05-30 15:25:00 +08:00
c9s
3aa36b5989 refactor and fix backtest for user data stream and market data stream 2021-05-30 15:08:11 +08:00
c9s
38fd5422ab xmaker: use uncovered position 2021-05-30 14:46:48 +08:00
c9s
1a05f6fbd4 okex: pull read timeout and adjust to 30 seconds 2021-05-30 00:32:06 +08:00
c9s
9a68cfd288 xmaker: fix trade checking 2021-05-30 00:11:35 +08:00
c9s
d962dbe542 adjust read timeout 2021-05-29 20:40:47 +08:00
c9s
70284a8c0f xmaker: move notify trade 2021-05-29 01:41:29 +08:00
c9s
3789315214 show accumulated net profit 2021-05-29 01:38:44 +08:00
c9s
df10e175f9 xmaker: fix wording 2021-05-29 01:32:33 +08:00
c9s
e2561bde96 xmaker: add NotifyTrade option 2021-05-29 01:31:13 +08:00
c9s
65a38e56b8 slacknotifier: spawn notify worker as a go routine 2021-05-29 01:30:57 +08:00
c9s
6e0bc7c1e2 xmaker: use trade channel to buffer trades 2021-05-29 01:03:43 +08:00
c9s
33db0b5c6f xmaker: add trade stores for trade buffering 2021-05-29 00:28:13 +08:00
c9s
426a6157af okex: fix ping connection lock 2021-05-29 00:27:28 +08:00
c9s
64b9c78a5b okex: fix order detail segmentation 2021-05-29 00:27:05 +08:00
c9s
2a5ef30135 add ping worker to max 2021-05-29 00:26:53 +08:00
c9s
e11553139e binance: make convert functions private 2021-05-29 00:26:39 +08:00
c9s
8d31435ded add trade store 2021-05-29 00:25:23 +08:00
c9s
f49490f986 fix websocket ping/pong issue 2021-05-28 23:34:21 +08:00
c9s
002b28f75a okex: implement candlestick api and improve kline console format 2021-05-28 20:51:10 +08:00
c9s
5f18b89dfa if publicOnly is set, we should not connect user data stream 2021-05-28 19:01:55 +08:00
c9s
f190b1e66a fix market data stream initialization 2021-05-28 03:17:46 +08:00
c9s
d932a686a0 fix strategy market data stream usage 2021-05-28 03:15:29 +08:00
c9s
4f16f6b1f8 fix market data stream usage 2021-05-28 03:13:50 +08:00
c9s
b430128ba1 okex: fix okex order cancellation 2021-05-28 03:05:59 +08:00
c9s
29304d14ba okex: implement submit orders and cancel order api 2021-05-28 02:45:09 +08:00
c9s
6407eab9c1 okex: convert order details into trades and orders 2021-05-28 02:21:35 +08:00
c9s
19b700dfba okex: parse and convert account information 2021-05-28 01:14:11 +08:00
c9s
777701c0cb add userdatastream cmd for testing private stream 2021-05-28 00:47:34 +08:00
c9s
545d0f18e3 okex: handle kline close event 2021-05-27 18:43:42 +08:00
c9s
2844b7c3a7 okex: add kline command for testing kline data 2021-05-27 18:35:34 +08:00
c9s
76048633cc okex: support websocket candle data 2021-05-27 17:55:23 +08:00
c9s
4fdd9d5097 okex: convert interval to candle types 2021-05-27 17:40:24 +08:00
c9s
1d400e281c okex: convert book data to book snapshot and book update 2021-05-27 16:01:15 +08:00
c9s
884e764fe7 okex: order book parsing 2021-05-27 15:48:51 +08:00
c9s
03431da00c okex: remove private dial method 2021-05-27 15:16:01 +08:00
c9s
f4f4304df6 move Dial method to StandardStream 2021-05-27 15:14:58 +08:00
c9s
7d62a7634b set market data stream to public 2021-05-27 15:11:44 +08:00
c9s
b7c87c7744 core: move market data subscription to market data stream 2021-05-27 15:09:18 +08:00
c9s
45f1a13870 rename Stream field to UserDataStream and add MarketDataStream 2021-05-27 14:45:06 +08:00
c9s
18045bb1e7 Move ReconnectC to the StandardStream 2021-05-27 14:42:14 +08:00
Yo-An Lin
7804415873 Merge pull request #254 from c9s/feature/okex
feature: add okex exchange
2021-05-27 01:28:41 +08:00
Yo-An Lin
930467d9c6 Merge pull request #257 from jnlin/ftx/symbol-map
feat(ftx): use go generate to build symbol map
2021-05-27 01:28:10 +08:00
c9s
8c50ce725c add stream callbacks 2021-05-27 01:07:38 +08:00
c9s
2538824661 okex: implement basic stream 2021-05-27 01:07:25 +08:00
c9s
2381df5009 add okex to the exchange factory 2021-05-27 00:35:51 +08:00
c9s
29ad95a639 add okex to the valid exchange name 2021-05-27 00:29:16 +08:00
c9s
18daf54500 ftx: add LocalSymbol to test 2021-05-27 00:27:46 +08:00
c9s
5becfb99e6 okex: implement query account balance 2021-05-27 00:24:16 +08:00
c9s
859eaf3c2a okex: add trade service function skeletons 2021-05-27 00:05:43 +08:00
c9s
c6c353b29a okex: implement QueryTickers 2021-05-27 00:05:43 +08:00
c9s
c9aa0df054 gensymbols to generate spot symbol map 2021-05-27 00:05:43 +08:00
c9s
d8c6545d2d okex: implement query ticker 2021-05-27 00:05:43 +08:00
c9s
3511bcf13f okex: move go generate to the convert file 2021-05-27 00:05:43 +08:00
c9s
364e6fc990 okex: add local symbol convert function 2021-05-27 00:05:43 +08:00
c9s
016c60796d pull out BNB currency string 2021-05-27 00:05:43 +08:00
c9s
ea78c0308b add LocalSymbol field for exchange specific symbol 2021-05-27 00:05:43 +08:00
c9s
97b377da0a okex: implement query markets 2021-05-27 00:05:43 +08:00
c9s
4ded82c94e pull out types.Exchange interfaces to make it minimal 2021-05-27 00:05:43 +08:00
c9s
c8cb75cabc add funding rate api support 2021-05-27 00:05:43 +08:00
c9s
1fb456d8ad add Stringer interface to fixedpoint 2021-05-27 00:05:43 +08:00
c9s
2bd79bcaf0 okex: add PublicDataService NewGetInstrumentsRequest 2021-05-27 00:05:43 +08:00
c9s
365b4c3837 okex: refactor trade service and fix order details api 2021-05-27 00:05:43 +08:00
c9s
5f8108f93e okex: add GetPendingOrderRequest 2021-05-27 00:05:43 +08:00
c9s
172239ddf6 okex: add order detail request 2021-05-27 00:05:43 +08:00
c9s
7e97163207 okex: implement batch place and batch cancel orders 2021-05-27 00:05:43 +08:00
c9s
1acbaefcd9 okex: implement place order and cancel order requests 2021-05-27 00:05:43 +08:00
c9s
b1aadb4bf0 okex: parse numbers as fixedpoints 2021-05-27 00:05:43 +08:00
c9s
8842208441 okex: add market ticker api support 2021-05-27 00:05:43 +08:00
c9s
e678289577 implement okex balances endpoint 2021-05-27 00:05:43 +08:00
c9s
fe269fd93d okex: implement base rest client 2021-05-27 00:05:43 +08:00
c9s
36071d6649 move MillisecondsJitter to the util package 2021-05-26 23:41:45 +08:00
c9s
9d7f147fbf fix address UnmarshalJSON 2021-05-26 23:37:08 +08:00
c9s
967c7e9f9d xbalance: add withdrawal options 2021-05-26 23:24:05 +08:00
c9s
8781902b68 xmaker: fix stop hedge balance condition 2021-05-26 23:05:41 +08:00
Jui-Nan Lin
72e7915d8d feat(ftx): use go generate to build symbol map 2021-05-26 20:53:51 +08:00
zenix
698ec9911f Fix error formating on depth load fail 2021-05-26 00:57:35 +00:00
zenix
3d2a27fc10 Fix: nil pointer exception in indicator creation, add stoch util func 2021-05-26 00:20:31 +00:00
c9s
9c331063f4 improve depth error messages 2021-05-26 01:31:58 +08:00
c9s
06e982124b fix depth reset 2021-05-26 01:27:42 +08:00
c9s
07ded04a9b fix depth reset 2021-05-26 01:20:24 +08:00
c9s
44ff833c91 binance: buffer depth events 2021-05-26 01:05:12 +08:00
c9s
edeaa597f1 fix loadDepthSnapshot mutex lock issue 2021-05-26 00:58:40 +08:00
c9s
47bf7a1e03 remove time sleep for depthframe 2021-05-26 00:58:40 +08:00
Yo-An Lin
31871143a0 Merge pull request #249 from jnlin/ftx/websocket-kline
Implement kline stream and subaccount feature for FTX exchange
2021-05-26 00:31:35 +08:00
Jui-Nan Lin
1dd397f900 fix(ftx): return original symbol if not found (e.g. BTC-PREP) 2021-05-25 23:29:50 +08:00
Jui-Nan Lin
2e749bb7a8 fix(ftx): always update since to avoid infinite loop 2021-05-25 23:21:38 +08:00
Jui-Nan Lin
bca57e017b fix(ftx): set lastTradeID from options{} to filter trades 2021-05-25 23:14:49 +08:00
Jui-Nan Lin
2fd82ef775 fix(ftx): should use local symbol in fillResponse 2021-05-25 22:43:26 +08:00
Jui-Nan Lin
ab8c1ec18c fix(ftx): allow subaccount to be empty 2021-05-25 22:12:10 +08:00
c9s
686dcef2c5 binance: fix depth snapshot buffering 2021-05-25 21:36:14 +08:00
Jui-Nan Lin
bee3b913f2 fix(ftx): typo 2021-05-25 21:30:15 +08:00
c9s
d3f06bc9d7 fix binance depth stream buffering 2021-05-25 19:13:10 +08:00
Jui-Nan Lin
1318f221b2 fix(ftx): iterate subscription arraywhile polling klines 2021-05-25 18:37:48 +08:00
c9s
bf684c0a5e fix empty bids and ask issues 2021-05-25 15:54:41 +08:00
c9s
28c646a4db reformat code 2021-05-25 01:50:36 +08:00
c9s
c8ca19a298 fixedpoint: fix percentage parsing 2021-05-25 01:36:17 +08:00
Jui-Nan Lin
a7a141c3ea fix(ftx): rename to pollKLines() 2021-05-24 14:21:40 +08:00
Jui-Nan Lin
239d55ce33 fix(ftx): use ID() 2021-05-24 14:18:40 +08:00
Jui-Nan Lin
9226d086b3 fix(ftx/rest): use Id() to make rest requests 2021-05-24 11:20:39 +08:00
Jui-Nan Lin
7fd3375741 fix(ftx/rest): add Id() for setting restful id 2021-05-24 11:19:30 +08:00
Jui-Nan Lin
2467d3fcf6 fix(ftx): get current kline candle in the beginning 2021-05-24 10:22:48 +08:00
Jui-Nan Lin
ddcd0d3969 fix(ftx): send ctx to handleChannelKlineMessage() 2021-05-24 10:16:17 +08:00
Jui-Nan Lin
64387ed2cb Merge branch 'main' into ftx/websocket-kline 2021-05-24 10:01:58 +08:00
Jui-Nan Lin
bd9a61ea97 fix(ftx): use select to handle kline message 2021-05-24 10:00:43 +08:00
Jui-Nan Lin
bbeafab59b fix(ftx): remove unused variables 2021-05-24 09:51:00 +08:00
Jui-Nan Lin
301ed621e6 fix(ftx): use timer.ticker() 2021-05-24 09:45:33 +08:00
Jui-Nan Lin
2394aab32e fix(ftx): start go routine while connecting to ftx websocket 2021-05-24 09:22:47 +08:00
Jui-Nan Lin
02912f362c fix(ftx): subscribe channel first to avoid losing order update 2021-05-24 09:21:49 +08:00
c9s
956ef71a48 use stamp time with milliseconds 2021-05-23 01:29:41 +08:00
c9s
fbe850b364 improve floating number formatting 2021-05-23 01:19:26 +08:00
c9s
117b26840e show net profit margin percentage 2021-05-23 01:17:20 +08:00
c9s
de768296f1 fix rbtree memory error, check neel 2021-05-23 01:12:16 +08:00
c9s
9c70e36e1b save average cost with feeInQuote in the ApproximateAverageCost 2021-05-23 01:05:11 +08:00
c9s
d2e299a68a improve position comment 2021-05-23 00:42:57 +08:00
c9s
9efb45b133 reduce side book copy 2021-05-23 00:42:44 +08:00
c9s
9fa10ee1fd fix rbtree price volume order 2021-05-23 00:42:27 +08:00
c9s
7a653affa6 slice orderbook: do not copy book callbacks 2021-05-23 00:21:57 +08:00
c9s
0061e51dc9 fix rbtree copy depth 2021-05-23 00:21:57 +08:00
なるみ
2052d05bb3 Move Float64Slice to types 2021-05-22 20:20:48 +08:00
c9s
1531f2bb1b fix rbtree insertion and rotation 2021-05-22 18:11:32 +08:00
c9s
9b9643e1f9 improve order cancellation mechanisim 2021-05-22 17:44:20 +08:00
c9s
289227e5f3 add exists method for active book 2021-05-22 17:44:07 +08:00
c9s
0a908e5dda fix position test for net profit 2021-05-22 17:43:53 +08:00
c9s
cca3284140 separate net profit and profit 2021-05-22 17:17:37 +08:00
Yo-An Lin
20f02886de Merge pull request #250 from narumiruna/feature/kd
feature: add stochastic oscillator (KD) indicator
2021-05-22 16:52:46 +08:00
Yo-An Lin
890323c87b Merge pull request #251 from narumiruna/fix/kline-window
fix: KLineWindow
2021-05-22 16:51:53 +08:00
c9s
6df72d54a8 add callbacks 2021-05-22 16:47:34 +08:00
c9s
8acada76a9 replace sliceorderbook with orderbook interface 2021-05-22 16:32:29 +08:00
c9s
cca37d309a fix rbtree iteration 2021-05-22 14:57:14 +08:00
c9s
fd710d533f implement tree copy method 2021-05-22 12:18:08 +08:00
c9s
56b2c8845b fix preorder, postorder and inorder 2021-05-22 11:36:58 +08:00
なるみ
0377a7321e Rename KD to STOCH 2021-05-22 05:52:10 +08:00
なるみ
b9ced0955d Fix test 2021-05-22 05:36:38 +08:00
なるみ
25f76235e9 Fix GetHigh, GetLow and Mid 2021-05-22 05:26:27 +08:00
なるみ
50d96f1276 Fix KLineWindow.Tail 2021-05-22 05:22:38 +08:00
なるみ
ec6cbb05aa Add kd_test.go 2021-05-22 05:00:27 +08:00
なるみ
b82fbbb2ab Add pop, max, min, sum, mean and tail methods to Float64Slice 2021-05-22 03:28:25 +08:00
なるみ
c58e252ff2 Add stochastic oscillator indicator 2021-05-22 03:24:09 +08:00
Jui-Nan Lin
14abd1436b fix(ftx): call EmitConnect() after connected 2021-05-21 23:33:05 +08:00
Jui-Nan Lin
dd0bfab292 fix(ftx): call EmitStart() after connected 2021-05-21 23:25:26 +08:00
Jui-Nan Lin
c7f9352e20 fix(ftx): keep in the loop 2021-05-21 23:10:05 +08:00
Jui-Nan Lin
fb47a4882f fix(ftx): support subaccount in websocket 2021-05-21 23:07:53 +08:00
Jui-Nan Lin
05bde543b7 feat(ftx): emulating kline channel with polling 2021-05-21 23:07:39 +08:00
c9s
09d68057c5 move price volume slice to a separated file 2021-05-21 12:32:47 +08:00
c9s
94fb0e320e implement RBTree orderbook benchmark 2021-05-21 12:31:18 +08:00
c9s
f6229515ac fix color ref 2021-05-21 02:18:45 +08:00
c9s
31f9920ddc fix func comment 2021-05-21 02:17:57 +08:00
c9s
d2003bbc3d remove unused emit function calls 2021-05-21 02:17:40 +08:00
c9s
d930816672 define RBOrderBook 2021-05-21 02:15:31 +08:00
c9s
be646fbac2 move rbtree to types package 2021-05-21 01:44:53 +08:00
c9s
edf8902b28 implement rbtree delete 2021-05-21 01:36:58 +08:00
c9s
d14137b878 add rbtree functions 2021-05-21 00:10:53 +08:00
c9s
57a78777df move Time type to types.Time 2021-05-21 00:10:53 +08:00
c9s
4fde442722 Add position Reset function 2021-05-21 00:08:04 +08:00
c9s
d737ab678f support removing filled orders from the order store 2021-05-21 00:07:43 +08:00
Yo-An Lin
343f184252 Merge pull request #248 from jnlin/fix/ftx-orderid
fix(ftx): use generated order id if not specified
2021-05-20 01:06:37 +08:00
Jui-Nan Lin
02649bdd63 fix(ftx): use generated order id if not specified 2021-05-19 21:37:29 +08:00
c9s
d1ad802806 improve trade command output layout 2021-05-19 17:54:30 +08:00
c9s
44901572ac show order id in the slack attachment 2021-05-19 17:21:17 +08:00
c9s
e95429bbc3 binance: save newer events for later usage 2021-05-19 01:02:41 +08:00
c9s
2fddc9166f show bid/ask volume in the message 2021-05-19 00:41:34 +08:00
c9s
7f86c75360 add CopyDepth for avoid copying the whole book 2021-05-19 00:15:11 +08:00
c9s
34106cf65e add cpu profile option 2021-05-18 15:38:22 +08:00
c9s
9406682944 improve maxapi websocket reconnect issue 2021-05-18 14:14:58 +08:00
c9s
c3c3c47808 move lock section 2021-05-18 13:59:58 +08:00
c9s
422e85e3a3 twap: fix stop price check 2021-05-18 13:53:51 +08:00
c9s
896518f5c2 check if restQuantity is less than 0 2021-05-18 13:44:57 +08:00
c9s
21f7fa7846 twap: fix tick spread calculation 2021-05-18 13:38:23 +08:00
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