c9s
06bf0d0f2b
rbt: fix rbtree deletion
2021-06-07 02:43:39 +08:00
c9s
103b1ea560
rbt: add rbt insert test
2021-06-07 02:43:34 +08:00
c9s
7512f56b84
rbt: avoid sharing rbtree neel pointer
2021-06-07 02:43:22 +08:00
c9s
f487b53d9e
binance: fix client order id checking
2021-06-07 01:07:00 +08:00
c9s
5fd0ab4cd3
skip client order id when no client order is given
2021-06-07 01:03:21 +08:00
c9s
291fdbaf25
optimize max submit order api priority
2021-06-07 01:03:09 +08:00
c9s
f20e809940
types: add bestBidAndAsk method
2021-06-07 01:02:43 +08:00
c9s
e8205556ff
show bbgo version name
2021-06-07 00:57:47 +08:00
c9s
b60fd9e356
support: fix quantity formatting
2021-06-07 00:57:47 +08:00
c9s
b9584117d6
add QueryLastFundingRate api to binance exchange
2021-06-01 03:15:19 +08:00
c9s
b5c4fc3e4e
fix kline record insert fields
2021-06-01 01:39:23 +08:00
c9s
4bec8984c0
add klines columns
2021-06-01 01:39:23 +08:00
c9s
507ae934c0
compile and update migration package
2021-06-01 01:39:23 +08:00
c9s
f66095eff9
support: add target orders to the orders
2021-06-01 01:39:22 +08:00
c9s
e5db780be8
notify trades and update position
2021-06-01 01:39:22 +08:00
c9s
40c3a5870f
support strategy improvements:
...
- add taker buy base volume ratio option
- add max base asset balance config
- add min quote asset balance config
- record orders and trades
2021-06-01 01:39:22 +08:00
c9s
6a999b2906
kline: show taker buy base volume and taker buy quote volume
2021-06-01 01:39:22 +08:00
c9s
4da7d3b50b
fix side effect order type
2021-06-01 01:39:22 +08:00
c9s
bf73def701
binance: embed fixedpoint.Value into binance Balance struct
2021-06-01 01:39:22 +08:00
c9s
e3473572e9
types: add TakerBuyBaseAssetVolume and TakerBuyQuoteAssetVolume fields to kline
2021-06-01 01:39:22 +08:00
c9s
2925a77815
binance: use fixedpoint.Value for parsing floating number string
2021-06-01 01:39:22 +08:00
Jui-Nan Lin
7abd7225e1
fix(ftx): klines should not be empty
2021-05-31 22:56:26 +08:00
c9s
7ff4051c61
binance: fix websocket handshake
2021-05-30 18:20:14 +08:00
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
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
c9s
29bbd03836
add binance single ticker query method and fix quantity formating
2021-02-18 16:17:40 +08:00
c9s
b9564690b5
fix go migration loader
2021-02-17 19:06:55 +08:00
c9s
b2bcd3528c
use sqlx for testing connection
2021-02-17 17:35:54 +08:00
c9s
88f7f0f61c
compile and update migration package
2021-02-17 17:35:11 +08:00
c9s
ea27a291db
compile and update migration package
2021-02-17 17:28:05 +08:00
c9s
a1cb3859c3
fix db driver setup
2021-02-17 14:57:29 +08:00
c9s
e372a53835
refactor transfer history command
2021-02-17 14:43:50 +08:00
c9s
49f4039a23
add timestamp parameter
2021-02-16 17:11:15 +08:00
c9s
9a7437de53
set default limit to 1000
2021-02-16 17:10:58 +08:00
c9s
5f759780c3
remove unused since flag
2021-02-16 17:10:48 +08:00
c9s
3867fdde91
add stringer interface to Position
2021-02-16 16:40:11 +08:00
c9s
bc3754d989
check if limit is set
2021-02-16 16:39:56 +08:00
c9s
02512805f8
set default query trade limit to 1000 for max
2021-02-16 16:32:48 +08:00
c9s
e3d3eacb78
fix trade service injection
2021-02-16 16:30:01 +08:00
c9s
8ae4cab550
inject TradeService field if we found it
2021-02-16 16:14:49 +08:00
c9s
c75eb6b5ba
pull out Persistence injection to the common injection
2021-02-16 16:13:52 +08:00
c9s
5c1630f000
refactor strategy executor
2021-02-16 16:12:00 +08:00
c9s
bf0ba89aee
convert StrategyID field to NullString
2021-02-16 16:00:14 +08:00
c9s
fc4419b49b
refactor injection
2021-02-16 15:58:21 +08:00
c9s
1c2646b0af
add Test_injectField
2021-02-16 15:49:57 +08:00
c9s
67a3c49081
add more trade service tests
2021-02-16 15:34:01 +08:00
c9s
ebe065332c
allocate sqlx db from rockhopper db
2021-02-15 21:07:55 +08:00
c9s
c219dc7be0
add test code for testing migration scripts
2021-02-15 21:04:44 +08:00
c9s
3d47b3f34d
update trade fields for pnl and strategy id
2021-02-15 20:55:14 +08:00
c9s
786f37e675
add MarkStrategyID for marking trade with the source strategy
2021-02-15 20:53:19 +08:00
c9s
f3d65b1281
add UpdatePnL method for updating trade pnl field
2021-02-15 20:51:34 +08:00
c9s
8224447985
fix build tags
2021-02-15 16:21:47 +08:00
c9s
0c9ca851e5
improve support strategy
2021-02-15 01:26:46 +08:00
c9s
bea750ca97
make margin order side effect json unmarshallable
2021-02-15 01:26:23 +08:00
c9s
f8378957ee
add more checks for bollgrid
...
related to #93
2021-02-13 16:03:31 +08:00
Yo-An Lin
de195b3c17
Merge pull request #130 from Larry850806/fix/bollgrid
2021-02-11 15:38:50 +08:00
Larry850806
ca31179b40
Fix balance calculation
2021-02-11 14:48:13 +08:00
c9s
f7ef91b55c
binance: set the default ping handler
2021-02-11 08:13:50 +08:00
c9s
4a0bd45301
remove order test code
2021-02-11 00:30:37 +08:00
c9s
ffa001fc29
fix quantity format
2021-02-11 00:21:56 +08:00
c9s
88411a134b
add supportAndTargets strategy
2021-02-11 00:21:06 +08:00
c9s
4b66deec3d
subscribe RepostInterval as well
...
might be related to issue #93
2021-02-10 22:45:23 +08:00
c9s
061312771c
fix float formatting
2021-02-10 22:41:42 +08:00
c9s
57435419b4
add marketData label
2021-02-10 22:40:36 +08:00
Larry850806
9f6d9028fa
Use fixedpoint type to calculate the balance
2021-02-10 16:01:11 +08:00
Larry850806
6d399647cf
Remove unused functions
2021-02-10 11:37:37 +08:00
Larry850806
11a176145e
Refactor placeGridOrders into three functions
2021-02-10 11:37:33 +08:00
Larry850806
d22a8e9c63
Improve bollgrid strategy's balance check and quote calculation
2021-02-10 10:11:32 +08:00
YC
776cd95955
Merge pull request #128 from c9s/ftx/balance
2021-02-09 19:49:38 +08:00
Yo-An Lin
bb394c8d38
Merge pull request #124 from ychi/feat/calculate-asset-with-ticker
...
feat/calculate asset with ticker
2021-02-09 17:49:22 +08:00
Yo-An Lin
5b06c47b2a
Merge pull request #125 from c9s/fix/grid
2021-02-09 12:02:04 +08:00
ycchen
2b285c0202
fix: remove unused
2021-02-08 22:43:20 +01:00
ycchen
6655e16889
minor tweaks
2021-02-08 22:41:44 +01:00
ycchen
61c98432f2
feat: tickers for asset calculation
2021-02-08 22:41:44 +01:00
ycdesu
ed86e923df
ftx: add exchange name
2021-02-08 22:33:12 +08:00
ycdesu
0eb0bdefa2
ftx: use uppercase in toGlobalCurrency
2021-02-08 22:29:50 +08:00
ycdesu
46b0315871
ftx: implement ftx balances querying
2021-02-08 19:07:18 +08:00
ycdesu
eb00720043
ftx: define empty ftx.toGlobalCurrency
2021-02-08 19:07:18 +08:00
ycdesu
7c48670c39
ftx: define rest client
2021-02-08 19:07:18 +08:00
ycdesu
8663704d6e
util: create IsJSON/IsHTML type helper
2021-02-08 19:07:18 +08:00
ycdesu
565086cc2a
util: extract IsError method
2021-02-08 19:07:18 +08:00
ycdesu
54ef8d3ca6
ftx: define empty exchange
2021-02-08 19:04:18 +08:00
c9s
72044a63fd
remove query trades default limit 200
2021-02-08 13:40:47 +08:00
c9s
ffb6a29d0d
fix startPrice value conversion
2021-02-08 13:21:22 +08:00
Yo-An Lin
f8ae8ec5b0
Merge pull request #108 from ychi/feat/exchange-ticker-api
2021-02-08 07:37:50 +08:00
ycchen
7a67083fbe
Address review feedbacks
2021-02-07 22:58:30 +01:00
Jui-Nan Lin
001f0e8c2f
fix(max): use global trade side here, not string
2021-02-07 14:58:44 +08:00
c9s
173074f5e4
improve grid strategy's balance check and quote calculation
2021-02-07 11:37:24 +08:00
c9s
367e9fcae1
fix price range check
2021-02-07 10:58:31 +08:00
ycchen
288f7257eb
fix testcases
2021-02-06 19:39:43 +01:00
ycchen
5fed7b81de
QueryTicker
2021-02-06 18:35:23 +01:00
ycchen
fa20df487e
feat: ticker api for types.Exchange
2021-02-06 14:05:26 +01:00
Yo-An Lin
a738bffc07
Merge pull request #112 from jnlin/fix/pnl-amount
2021-02-06 18:26:04 +08:00
Yo-An Lin
b81eb33cad
Merge pull request #117 from c9s/wizard/sqlite3
...
add sqlite3 driver option to the wizard user interface
2021-02-06 17:41:45 +08:00
Jui-Nan Lin
b38b65ce83
fix(pnl): do not calculate the "self" trade
2021-02-06 17:34:13 +08:00
Jui-Nan Lin
30f085fa91
fix(max): IsBuyer should check side "buy" and "bid"
2021-02-06 17:30:18 +08:00
Jui-Nan Lin
7e1825d991
Merge branch 'main' into fix/pnl-amount
2021-02-06 17:22:43 +08:00
c9s
d0c967af55
use fake asset data for the asset query
2021-02-06 16:38:00 +08:00
c9s
8e0778a095
fix trading volume query for sqlite3
2021-02-06 16:05:21 +08:00
Yo-An Lin
597dd21865
Merge pull request #116 from c9s/feature/sqlite3
...
convert time struct for sqlite driver
2021-02-06 15:05:49 +08:00
c9s
62145d02f3
move dotenv loading to the root command
2021-02-06 15:03:07 +08:00
c9s
855378e098
add driver field to the setup db route
2021-02-06 14:31:46 +08:00
c9s
26f9e5488d
apply datatype.Time to order time fields
2021-02-06 14:30:00 +08:00
c9s
20e6e4c299
add MarshalJSON and UnmarshalJSON to datatype.Time
2021-02-06 14:25:38 +08:00
c9s
3abdb3dd7b
convert time struct for sqlite driver
2021-02-06 12:32:21 +08:00
Yo-An Lin
5a5e64cc8d
Merge pull request #111 from c9s/feature/sqlite3
...
add sqlite3 migration support
2021-02-06 11:52:03 +08:00
c9s
32117af4b0
service: remove the ignore keyword to make the sql compatible with sqlite3
2021-02-06 11:44:49 +08:00
c9s
0b657d59f9
make inBaseAsset as private method
2021-02-06 11:34:53 +08:00
c9s
dd9dbee903
refactor database configuration with env vars
2021-02-06 11:33:49 +08:00
c9s
99b56003eb
clean up legacy db connection handling with the new database service
2021-02-06 11:22:04 +08:00
c9s
276b6c1e48
drop the legacy upgradeDB
2021-02-06 11:22:04 +08:00
c9s
c7440a3ea4
compile and update migration package
2021-02-06 11:22:04 +08:00
c9s
de51eb29e4
refactor db stuff with database service
2021-02-06 11:22:04 +08:00
ycdesu
06eacf70a2
util: test Response struct
2021-02-05 22:38:45 +08:00
ycdesu
f44d6a323a
http: move response helper to util
2021-02-05 22:31:40 +08:00
Yo-An Lin
8c72e2290e
Merge pull request #110 from jnlin/options_orderlimit
2021-02-05 19:30:41 +08:00
Jui-Nan Lin
c9f3b6fc1a
fix(pnl): checking the side of trade, not taker or maker
2021-02-05 14:52:38 +08:00
Jui-Nan Lin
b6da7ee2f2
fix(pnl): should be trades
2021-02-05 14:49:42 +08:00
c9s
ea0c20cfe7
rename enableApiServer to enableWebServer
2021-02-05 13:04:52 +08:00
c9s
0803d6bae0
add BeforeRestart hook
2021-02-05 13:01:07 +08:00
Jui-Nan Lin
8eb8fb105d
test: fix query trading test
2021-02-05 12:42:59 +08:00
Jui-Nan Lin
893b513605
feat: add limit option for pnl command
2021-02-05 10:12:10 +08:00
c9s
10f8a7864f
fix side bar layout
2021-02-05 09:09:59 +08:00
c9s
bd895149ad
if dotenv file does not exist, do not load it
2021-02-04 20:34:31 +08:00
c9s
621321f5db
add basic desktop app
2021-02-04 20:34:31 +08:00
c9s
0cb2a3c452
split files to make routes smaller
2021-02-04 16:59:00 +08:00
c9s
5f84c847c1
move setupRestart
2021-02-04 16:54:24 +08:00
c9s
e1b4ff3450
move setup handlers to setup.go
2021-02-04 16:51:53 +08:00
c9s
c12161ff1c
pull out listSessionSymbols
2021-02-04 16:49:47 +08:00
c9s
3dfc75591a
Add RunWithListener method to server
2021-02-04 16:47:53 +08:00
c9s
c1b2114dd2
refactor server routes
2021-02-04 16:44:14 +08:00
c9s
2791da3ec4
fix empty session issue
2021-02-04 15:19:40 +08:00
c9s
d8d1249293
fix env var prefix by using os.Getenv directly
2021-02-04 15:14:54 +08:00
c9s
e6b0a0c595
implement server shutdown goroutine
2021-02-04 14:44:48 +08:00
c9s
e257f6e8f6
pull out pingUntil function
2021-02-04 14:29:15 +08:00
c9s
f2686d02b0
refactor ping handler
2021-02-04 14:00:41 +08:00
c9s
42e5c88a2f
refactor more setup route handlers
2021-02-04 13:59:26 +08:00
c9s
f74ebd48e2
refactor setup routes
2021-02-04 13:56:36 +08:00
c9s
7c6fce076f
use ping try the api server
2021-02-04 13:48:21 +08:00
c9s
6db1924f87
add setup struct for setup mode options
2021-02-04 13:29:43 +08:00
c9s
7b7bcf56c9
add PUT and DELETE methods
2021-02-04 13:23:05 +08:00
c9s
f21b7f06d7
update static files and fix page routes
2021-02-03 18:54:35 +08:00
c9s
b3aa7e7511
add darwin os check
2021-02-03 18:54:34 +08:00
YC
d821d2ef95
Merge pull request #103 from ycdesu/minor/order/tests
2021-02-03 18:52:11 +08:00
YC
cc146faae2
Merge pull request #101 from ycdesu/minor/trade/tests
...
minor: extract SQL generator function of trades table
2021-02-03 18:32:25 +08:00
ycdesu
72b1877e4a
order: extract query order sql generator
2021-02-03 18:31:32 +08:00
c9s
c73e5f00f3
refactor server routes
2021-02-03 18:09:33 +08:00
c9s
bf8508d4fb
update description
2021-02-03 17:41:48 +08:00
c9s
4e31c7f68a
change default config path to just bbgo.yaml
2021-02-03 17:39:53 +08:00
c9s
9096b6425e
move instructions sequence
2021-02-03 17:29:51 +08:00
c9s
c35cef5b09
implement config saving api
2021-02-03 17:27:18 +08:00
ycdesu
220da92f48
trade: extract sql generator function and test it
2021-02-03 16:51:02 +08:00
ycdesu
1522c3d7a6
trade: create a separate sql gen function
2021-02-03 15:44:02 +08:00
c9s
f7a4f7d415
add strategies endpoint and strategy review page
2021-02-03 15:00:01 +08:00
c9s
705edc38c0
implement config yaml dummper
2021-02-03 09:58:31 +08:00
c9s
098a966813
add test case for config.Map method
2021-02-03 09:34:53 +08:00
c9s
1a2c3556a8
add ID method to the TestStrategy
2021-02-03 09:09:19 +08:00
c9s
7904c6f4d0
add ID() to Strategy interface
2021-02-03 09:08:05 +08:00
c9s
8aa96c4546
integrate strateg adding api
2021-02-03 02:26:41 +08:00
c9s
578451bb51
add setup flag to run server
2021-02-02 18:17:58 +08:00
c9s
d458519ba5
add setup flag
2021-02-02 18:17:39 +08:00
c9s
17d5e301dc
refine setup steps
2021-02-02 17:26:35 +08:00
c9s
73762d9888
support exchange session test from the setup wizard
2021-02-02 11:44:07 +08:00
c9s
06f648448b
pull out wrapper runner
2021-02-01 20:44:15 +08:00
c9s
eebb568b0c
add dotenv string flag for changing dotenv filename
2021-02-01 20:44:15 +08:00
c9s
0a29ee99b8
call godotenv.Load to load env vars
2021-02-01 20:44:15 +08:00
c9s
a60aeb4771
pull out .Subscribe from trader.Run
2021-02-01 20:44:15 +08:00
c9s
ddcc8ae4ee
move ExchangeOrderExecutor into exchange session
2021-02-01 20:44:15 +08:00
c9s
de8e717a41
refactor session initialization function
2021-02-01 20:44:15 +08:00
c9s
6912f77c72
fix lock issue
2021-02-01 18:55:47 +08:00
c9s
a926ee1e37
rename --enable-api-server to --enable-web-server
2021-01-29 19:31:52 +08:00
c9s
fbbe304dfb
add trades query api
2021-01-29 18:48:00 +08:00
c9s
cc8133a90e
print order query sql
2021-01-29 18:34:03 +08:00
c9s
72037d6c14
update migration package
2021-01-29 18:28:23 +08:00
c9s
b8d7ae7687
add AggOrder for market orders
2021-01-29 17:52:13 +08:00
c9s
32645f228b
add order query api
2021-01-29 13:15:44 +08:00
c9s
be750b94df
fix layout and margin
2021-01-29 12:55:11 +08:00
c9s
8031c6066e
mount static files to routes
2021-01-29 11:19:37 +08:00
c9s
78890834b5
support symbol segment
2021-01-28 18:51:35 +08:00
c9s
9ee49ea3f1
Add TradingVolumeBar
2021-01-26 18:10:08 +08:00
c9s
95129e94d7
add lastPrcieUpdatedAt timestamp for checking last price cache
2021-01-26 17:23:40 +08:00
c9s
df17c4b1b6
add trading volume query api
2021-01-26 17:21:18 +08:00
c9s
9717fddfbd
add total asset pie chart
2021-01-25 16:56:02 +08:00
c9s
e47357d1ed
add assets api and price loading
2021-01-25 15:32:17 +08:00
c9s
09b3046feb
lower case fields are not exported to json
2021-01-25 14:32:46 +08:00
c9s
b952e6fd54
rename Reset to private reset
2021-01-25 14:26:22 +08:00
c9s
4c0a586aa2
adjust depth update to 5 minutes
2021-01-25 14:24:59 +08:00
c9s
ca71c81284
improve slice copying
2021-01-25 14:20:56 +08:00
c9s
b99c01a03f
fix stream book usage
2021-01-25 14:13:39 +08:00
c9s
1aefbbfddc
improve orderbook validation error
2021-01-25 13:53:11 +08:00
c9s
7310700540
add account and account balances
2021-01-24 20:18:04 +08:00
c9s
eab915abc7
rename loaded-symbols to just symbols
2021-01-24 20:14:43 +08:00
c9s
3a52a4bff8
add and set AddOrderUpdate flag for session order store
2021-01-24 20:13:05 +08:00
c9s
e2de3040bd
adjust ping ticker to 10seconds
2021-01-24 19:08:33 +08:00
c9s
42b66d6898
add OrderStore accessor on ExchangeSession
2021-01-24 19:08:12 +08:00
c9s
9040f6ff0d
add --enable-api-server flag
2021-01-24 19:07:56 +08:00
c9s
447057086c
add Orders method on OrderStore
2021-01-24 19:07:32 +08:00
c9s
eccc2c6e0f
implement session config api and server
2021-01-24 18:42:36 +08:00
c9s
7632638982
log depth api error
2021-01-24 16:54:13 +08:00
c9s
51e5deee47
add frontend files
2021-01-24 14:14:25 +08:00
c9s
1892d03326
make session trades map thread safe
2021-01-24 14:14:25 +08:00
c9s
1c80d30ce2
add TradeSlice with sync
2021-01-24 14:14:25 +08:00
c9s
84b6982033
add order store to exchange session
2021-01-24 14:14:25 +08:00
c9s
568250f4bb
define api routes
2021-01-24 14:14:25 +08:00
c9s
cabc082713
fix f.loadDepthSnapshot timing
2021-01-24 14:12:44 +08:00
c9s
50fc1fd3ac
call Reset instead of replacing the whole map
...
the reason is that we have the update worker, which is already started.
2021-01-24 14:09:07 +08:00
c9s
2b441ad3bc
binance: improve depth event filtering and reloading
2021-01-24 10:02:38 +08:00
c9s
1f1e1383f3
fix advancedOrderCancelApi interface
2021-01-23 17:20:26 +08:00
c9s
858a8d84bb
groupID is an int64 field
2021-01-23 17:17:46 +08:00
c9s
4b039847b7
support group ID
2021-01-23 17:15:32 +08:00
c9s
b5f2c325a4
add group id field
2021-01-23 17:07:05 +08:00
c9s
e08d62395e
adjust snapshot ticker to 10 minutes
2021-01-23 17:03:53 +08:00
c9s
6a6dacd595
fix binance depth snapshot updating
2021-01-23 16:59:51 +08:00
c9s
d0fc161ae7
fix define build config checking
2021-01-23 01:06:56 +08:00
c9s
2da5fa2e92
pre-define build config
2021-01-23 01:03:56 +08:00
c9s
cc3e9f42aa
cmd: fix build nil check
2021-01-23 01:01:36 +08:00
c9s
fa8198b8b9
remove unnecessary logs
2021-01-21 12:28:47 +08:00
c9s
93ae65535d
remove os and arch flags
2021-01-21 12:27:55 +08:00
c9s
5eaa8f0778
add IsWrapperBinary flag and fix persistence error
2021-01-21 12:27:21 +08:00
c9s
503df57e72
remove legacy cmd flags
2021-01-21 12:10:06 +08:00
c9s
45876968d9
let build config and legacy imports co-exists
2021-01-21 12:08:06 +08:00
c9s
5329ef8f25
refactor build config
2021-01-21 12:06:03 +08:00
c9s
26c128b3ab
adjust rate limiter
2021-01-21 01:21:30 +08:00
c9s
e869e04092
use rate limiter for batch query
2021-01-21 01:02:43 +08:00
c9s
a73729fb17
split files for batch processor and margin settings
2021-01-21 00:58:02 +08:00
c9s
ad4f339b27
fix test case name
2021-01-21 00:54:59 +08:00
c9s
38bac10050
consider fee calculation
2021-01-21 00:49:01 +08:00
c9s
bfc8e511d0
simplify average cost calculation
2021-01-20 23:46:22 +08:00
c9s
16aa070120
assign base/quote currency to the position struct
2021-01-20 23:08:57 +08:00
c9s
8a08c406c3
check symbol for the position update
2021-01-20 17:37:23 +08:00
c9s
48dd697ce3
handling short-to-long and long-to-short position
2021-01-20 17:35:58 +08:00
c9s
c2a27b031e
init position with loaded symbols
2021-01-20 16:30:44 +08:00
c9s
0051dbc78a
add Position accessor
2021-01-20 16:29:15 +08:00
c9s
079fcf08e3
initialize position map
2021-01-20 16:28:27 +08:00
c9s
09d712416f
add json struct tags
2021-01-20 16:15:34 +08:00
c9s
617f5119fd
test trade profit calculation
2021-01-20 16:14:02 +08:00
c9s
169af63846
add more position tests
2021-01-20 16:10:20 +08:00
c9s
34148948ab
add position and its tests
2021-01-20 16:08:14 +08:00
c9s
42811e8157
alias logrus as log
2021-01-20 02:45:50 +08:00
c9s
9280ec348f
clean up pnl command
...
we should use environment to load the sessions
2021-01-20 02:45:13 +08:00
c9s
0e99d9bdcb
move time.Sleep to batch processor to avoid rate limit
2021-01-20 02:32:55 +08:00
c9s
c79c7d1b11
fix margin order/trade sync
2021-01-20 02:09:12 +08:00
c9s
d3f6841a27
improve sync command for margin trades and orders
2021-01-20 01:46:17 +08:00
c9s
7520430b52
support margin api for query trades
2021-01-20 01:27:27 +08:00
c9s
1d8b7dc657
handle trade and order margin field
2021-01-20 01:24:29 +08:00
c9s
334eff4682
update sync service for margin fields
2021-01-19 23:33:06 +08:00
c9s
62f6d857b3
update compiled migrations package for margin columns
2021-01-19 23:31:13 +08:00
c9s
a6015fb3e2
add isMargin, isIsolated columns
2021-01-19 23:31:04 +08:00
c9s
2c1c9a046b
tmp
2021-01-19 23:31:04 +08:00
c9s
677f4b93e6
add margin mode support to QueryOpenOrders
2021-01-19 23:31:04 +08:00
c9s
ad4226f35b
support margin order creation
2021-01-19 23:31:04 +08:00
c9s
3eda64641e
use exchange's margin option
2021-01-19 23:31:04 +08:00
c9s
7235100140
integrate submitMarginOrder api
2021-01-19 23:31:04 +08:00
c9s
f35e90a4f1
document marginSideEffect
2021-01-19 23:31:04 +08:00
c9s
5cab37488b
move MarginSettings struct to a file
2021-01-19 23:31:04 +08:00
c9s
1c77de031a
add extended margin fields to the order struct
2021-01-19 23:31:04 +08:00
c9s
f8a9610222
pass isolated margin symbol
2021-01-19 23:31:04 +08:00
c9s
f505c0e2c6
split go routine for keep alive and ping tickers
2021-01-19 23:31:04 +08:00
c9s
d4774f5f0e
add IsolatedMargin option
2021-01-19 23:31:04 +08:00
c9s
310943d010
add isolated margin symbol option
2021-01-19 23:31:04 +08:00
c9s
48083151aa
turning margin mode
2021-01-19 23:31:04 +08:00
c9s
e8fec434b5
cast exchange instance to margin exchange interface
2021-01-19 23:31:04 +08:00
c9s
3199c63d62
add margin mode
2021-01-19 23:31:04 +08:00
c9s
4002ec80d6
add public only field to the session config struct
2021-01-19 23:31:04 +08:00
c9s
c3db6db590
add margin option
2021-01-19 23:31:04 +08:00
c9s
1233035780
fix migration script
2021-01-19 23:11:07 +08:00
c9s
0bdfd0f04b
check if err is nil
2021-01-18 21:59:02 +08:00
c9s
ddc33f633f
check if err is nil
2021-01-18 21:57:57 +08:00
c9s
ad78f81b10
fix unique index for binance self trade
2021-01-18 16:48:47 +08:00
c9s
3db5c26416
improve transfer history layout
2021-01-15 14:24:24 +08:00
c9s
d96e6e8ccc
use environment to configure database
2021-01-15 10:47:49 +08:00
c9s
1ce3244c17
drop the legacy migration command
2021-01-15 10:33:23 +08:00
c9s
293d889276
fix built-in migrations
2021-01-15 10:31:37 +08:00
c9s
d04e1e7816
refactory sync command and upgrade db automatically
2021-01-14 15:10:11 +08:00
c9s
ad567dc360
use mysql reformat dsn function to add parseTime parameters
2021-01-14 14:56:13 +08:00
c9s
cd9f2ba0e8
add compile migration files
2021-01-14 00:33:28 +08:00
c9s
6491166459
drop legacy pkg/migration
2021-01-14 00:00:05 +08:00
c9s
2699c32b38
add rockhopper
2021-01-13 23:53:36 +08:00
c9s
50cd6f7d68
change go-binance to github.com/adshao/go-binance/v2
2021-01-11 13:36:49 +08:00
c9s
653eba73c5
improve session error message
2021-01-09 19:47:21 +08:00
c9s
4a1af6f362
add check for PersistenceServiceFacade
2021-01-09 19:44:45 +08:00
c9s
93d71b5300
bbgo: session log error
2021-01-09 19:40:31 +08:00
c9s
995f9a9ea0
grid: add order amount field
2021-01-06 13:31:17 +08:00
c9s
92ab7e125a
improve RegisterStrategy method to register strategy between cross and single
2020-12-31 17:14:47 +08:00
c9s
208c88cbd5
support single exchange trailingstop
2020-12-31 17:12:35 +08:00
c9s
87568ede70
reformat
2020-12-31 14:29:53 +08:00
c9s
395d3f17df
grid: add long mode support
2020-12-31 13:54:32 +08:00
c9s
45e4d8c558
rename movingstop to trailingstop
2020-12-31 13:07:39 +08:00
c9s
25eab8e95f
adjust log
2020-12-29 18:32:51 +08:00
c9s
f485c1ba7f
fix grid strategy order placing
2020-12-29 18:18:32 +08:00
c9s
70479bfd16
binance: assign Isolated field
2020-12-29 17:26:22 +08:00
c9s
275aa9494a
support canceling orders on max
2020-12-29 16:00:03 +08:00
c9s
9568b04328
fix log message
2020-12-28 16:24:57 +08:00
c9s
2932230fdb
print out websocket error
2020-12-28 16:24:35 +08:00
c9s
d9e5ad4365
add event authenticated
2020-12-28 16:24:17 +08:00
c9s
f12e38b70e
call cancelTrading defer
2020-12-21 15:47:20 +08:00
c9s
9db1c78171
add public only mode to backtest
2020-12-21 15:45:40 +08:00
c9s
f56318c9b6
add public only mode to stream
2020-12-21 15:43:54 +08:00
c9s
ce0e28708a
add public only mode to binance stream
2020-12-21 15:26:05 +08:00
c9s
d4b99f41a4
reformat
2020-12-21 14:55:14 +08:00
c9s
39f5290634
shorten the log messages
2020-12-21 14:53:34 +08:00
c9s
a60529ee37
reload depth snapshot periodically
2020-12-21 14:43:40 +08:00
c9s
9223b2ba47
move FormatOrder to ExchangeSession since it depends on Market
2020-12-21 13:47:40 +08:00
c9s
3eae58322a
add trade update callbacks and order update callbacks to order executor
2020-12-21 13:40:23 +08:00
c9s
e282a8a917
improve order submit loop
2020-12-17 17:54:48 +08:00
c9s
64dea71249
grid: use the default active order book order handler
2020-12-17 16:29:00 +08:00
c9s
6962582236
grid: add orders to the order store
2020-12-17 16:22:43 +08:00
c9s
9e1476dcb1
grid: improve position management by fixedpoint
2020-12-17 15:52:53 +08:00
c9s
1c7d3d5481
support max staging url orverride
2020-12-17 14:44:30 +08:00
c9s
728bf5fc81
bbgo: move some logs to debug level
2020-12-15 14:14:44 +08:00
c9s
63a5881d16
use golang.org/x/time for rate limiting
2020-12-15 14:04:27 +08:00
c9s
572f7a0e12
buyandhold: remove kline event debug log
2020-12-14 14:59:46 +08:00
c9s
6d15c629a7
fix buyandhold strategy
2020-12-14 14:40:31 +08:00
c9s
81c7d3c668
fix fmt import
2020-12-14 14:34:55 +08:00
c9s
cabd8f8dcb
improve buyandhold strategy
2020-12-14 14:21:02 +08:00
c9s
321b4812ca
supporting otp key restore from key url
2020-12-11 17:12:16 +08:00
c9s
fbb9d0d3ba
show key URL
2020-12-11 17:08:06 +08:00
c9s
deb9a29521
support one-time password
2020-12-11 17:07:19 +08:00
c9s
f4ef19e5d6
implement PlainText for telegram bot
2020-12-11 15:58:05 +08:00
c9s
6af88a2a87
add interaction callbacks
2020-12-11 14:40:18 +08:00
c9s
45bc4dc9eb
refactor telegram notifier with interaction component
2020-12-11 14:40:04 +08:00
c9s
f595b1ef65
fix compile flag check
2020-12-09 16:13:20 +08:00
c9s
846f463cfc
print loaded position
2020-12-08 16:32:39 +08:00
c9s
6b760c72b7
use bot token prefix as the redis store namespace
2020-12-08 16:28:55 +08:00
c9s
03afa060d5
add updateInterval for mirrormaker
2020-12-08 16:01:46 +08:00
c9s
c66b140d90
support duration parse
2020-12-08 16:01:46 +08:00
c9s
fe7495898f
check if persistence is configured
2020-12-08 15:09:17 +08:00
c9s
53d7fb5611
support telegram chat user persistence
2020-12-08 15:03:52 +08:00
c9s
a299721a98
improve message layout
2020-12-08 14:41:51 +08:00
c9s
4316f1fada
pull out bot initialization
2020-12-08 14:25:30 +08:00
c9s
55cd0c6a6e
pull out bot initialization to run
2020-12-08 14:20:49 +08:00
c9s
0222c33330
fix kline tail method
2020-12-08 10:26:20 +08:00
c9s
3aa8d70622
add mirrormaker
2020-12-07 23:04:09 +08:00
c9s
9eaf69388c
add fixedpoint json marshaling
2020-12-07 23:03:06 +08:00
c9s
4addf65f64
support memory persistence
2020-12-07 12:03:56 +08:00
c9s
2d98336fb6
implement Persistent API for strategy
2020-12-07 11:44:41 +08:00
c9s
341f735bc3
configure ConfigurePersistence if it's defined
2020-12-07 11:44:41 +08:00
c9s
a01f83ab15
add persistence config and tests
2020-12-07 11:44:41 +08:00
c9s
b843388483
only query subscribed kline intervals
2020-12-07 11:44:23 +08:00
c9s
62a541fb27
rename preload to loadBuildConfig
2020-12-07 11:44:23 +08:00
Che-Chia (David) Chang
1b17cba2eb
Merge pull request #67 from c9s/feature/add-telegram-bot-notifier
...
feature: add telegram bot notifier
2020-12-06 14:12:32 +08:00
David Chang
9f92fcf2e4
chore: rename telegram init to telegram auth
2020-12-06 13:59:47 +08:00
David Chang
58aadd9f45
fix: use correct format for log
2020-12-06 13:47:52 +08:00
David Chang
9e4602cf66
fix: allow upadte telegram chat user with bot command
2020-12-06 13:02:21 +08:00
David Chang
a55cd02e21
feature: add info command
2020-12-06 12:34:43 +08:00
David Chang
f9124aa907
fix: telegram bot send message to correct user
2020-12-06 12:11:27 +08:00
David Chang
7caf986d11
fix: change warning type from user to username
2020-12-05 14:28:48 +08:00
David Chang
c72ef2b31c
fix: add missing root cmd flags
2020-12-05 14:25:19 +08:00
David Chang
b2d9bd0312
feature: add telegram bot notifier
2020-12-05 14:20:27 +08:00
c9s
c5d002a0b0
fix market data kline registration
2020-12-05 13:32:41 +08:00
c9s
900f822559
improve and fix ewma calculation
2020-12-05 13:32:41 +08:00
c9s
b188901ed0
fix ewma calculation
2020-12-05 13:32:41 +08:00
c9s
f7a119fa5e
remove debug message
2020-12-04 19:15:53 +08:00
c9s
936650d879
rename kline trend to direction
2020-12-04 10:18:51 +08:00
c9s
22771288eb
fix sma kline window check
2020-12-03 20:42:26 +08:00
c9s
177607e5fb
fix ewma kline window check
2020-12-03 20:42:00 +08:00
c9s
f4aee5234a
add updater to indicators
2020-12-03 18:14:16 +08:00
c9s
17fd6a405b
add StopPriceRatio support
2020-12-03 09:50:36 +08:00
c9s
19d76928fd
support movingstop by BalancePercentage
2020-12-03 09:41:41 +08:00
c9s
ef03c0cf20
separate Run and CrossRun
...
so that we mount one strategy as cross strategy or single exchange strategy
2020-12-03 09:31:40 +08:00
c9s
d60a82256d
types: remove slice preallocated cap
2020-12-03 09:27:05 +08:00
c9s
2b264905f9
add warnings and fix subscription
2020-12-03 09:26:10 +08:00
c9s
4f399ebb9f
fix stop price formating
2020-12-03 09:25:47 +08:00
c9s
17590fcc08
include movingstop in builtin
2020-12-03 08:52:43 +08:00
c9s
9d7aa2fe22
add movingstop strategy
2020-12-03 08:52:32 +08:00
c9s
0a5bac803c
ignore duplicated trade
2020-12-03 08:51:57 +08:00
c9s
edb22383c7
fix ToGlobalOrder call
2020-12-02 22:44:57 +08:00
c9s
d38b16fb3e
fix cross exchange strategy subscription
2020-12-02 22:44:41 +08:00
c9s
4cf5929cac
improve trade parsing error
2020-12-02 22:21:13 +08:00
c9s
d226ec2e01
change field names to lower case so that we can use shorter name for the accessors
2020-12-02 22:21:13 +08:00
c9s
e57b9f235b
add quota
2020-11-23 16:47:36 +08:00
c9s
db6c90b8dd
cmd: fix run command signal handling
2020-11-23 16:36:03 +08:00
c9s
a86078d68c
max: fix tick size
2020-11-22 21:34:05 +08:00
c9s
914d5cdc94
try to keep all orders from order store
2020-11-17 15:53:46 +08:00
c9s
c40982164a
fix trade slack formatting
2020-11-17 15:48:18 +08:00
c9s
8f5491d818
improve balance printing
2020-11-17 14:45:27 +08:00
c9s
18d9245b06
improve order slice lock
2020-11-17 14:31:18 +08:00
c9s
ed6d6342e7
fix account currency translation
2020-11-17 14:24:26 +08:00
c9s
95b0910a09
fix trade order id parsing
2020-11-17 14:13:37 +08:00
c9s
03d99a4cab
remove debug logs
2020-11-17 13:25:59 +08:00
c9s
4bda1fee08
fix order id parsing
2020-11-17 12:46:55 +08:00
c9s
cc3da5b678
pass order id for order store exists
2020-11-17 08:53:22 +08:00
c9s
f4512f031c
improve cross exchange strategy mounting behavior and add fixedpoint atomic ops
2020-11-17 08:19:22 +08:00
c9s
3ea2e877ff
do not submit subscribe request if param array is empty
2020-11-15 13:32:46 +08:00
c9s
ded970f5a4
imporve CrossExchange subscription handling
2020-11-15 13:27:33 +08:00
c9s
94aaaf21b0
improve wrapper binary invocation
2020-11-15 13:23:26 +08:00
c9s
e8b5379202
bollgrid: add warn messages
2020-11-12 17:41:28 +08:00
c9s
2b6547df47
bollgrid: add profit orderbook for bolling grid
2020-11-12 17:38:13 +08:00
c9s
cd283f2c28
remove unused logger field
2020-11-12 17:30:21 +08:00
c9s
1a6f5b99ae
bollgrid: submit orders on connect
2020-11-12 16:31:09 +08:00
c9s
8cc1c589a1
fix waitgroup counting
2020-11-12 14:59:47 +08:00
c9s
fc9409673f
add graceful shutdown
2020-11-12 14:50:21 +08:00
c9s
af8826a9e4
improve messages
2020-11-12 08:30:57 +08:00
c9s
6740541bcd
improve bollgrid
2020-11-12 08:28:59 +08:00
c9s
35a5b61f60
add local active orderbook callback files
2020-11-11 23:19:16 +08:00
c9s
0264baa922
refactor and improve bollgrid
2020-11-11 23:18:53 +08:00
c9s
3912de235b
rename baseQuantity to just quantity
2020-11-11 17:55:44 +08:00
c9s
b2cd595069
grid: rename baseQuantity to just quantity
2020-11-11 17:55:16 +08:00
c9s
4bb5730cea
remove backtest flag from the sync command
2020-11-11 16:11:41 +08:00
c9s
24e5911140
refactory sync mode into the backtest command
2020-11-11 16:08:24 +08:00
c9s
097b2d30a6
add base-asset-baseline flag for backtest
2020-11-11 14:39:33 +08:00
c9s
04f6da3cb8
add traditional grid strategy
2020-11-10 19:06:20 +08:00
c9s
4ab402a188
clean up legacy code
2020-11-10 16:56:30 +08:00
c9s
04a7c7a2cc
add stddev accessor
2020-11-10 16:55:35 +08:00
c9s
23c19c5968
use fixedpoint for balances
2020-11-10 14:19:33 +08:00
c9s
cdf7959029
fix fixedpoint unmarshal
2020-11-10 14:19:22 +08:00
c9s
923fea0d94
improve backtest cmd
2020-11-10 14:19:11 +08:00
c9s
941c93794c
fix grid strategy for backtesting
2020-11-10 14:18:54 +08:00
c9s
770efeed4f
pnl format improve
2020-11-10 14:18:27 +08:00
c9s
69a33b6400
fix and improve backtest
2020-11-10 14:18:04 +08:00
c9s
f5b17193c5
move verbose flag detection before we setup the environment
2020-11-09 16:49:03 +08:00
c9s
6c2aef31a3
improve backtest logging
2020-11-09 16:47:29 +08:00
c9s
e7cc79f3cf
replace errors.Errorf with fmt.Errorf
2020-11-09 16:34:35 +08:00
c9s
1e129e4c86
collect error object instead of logging
2020-11-09 15:29:40 +08:00
c9s
8414f406bf
drop the legacy order executor
2020-11-09 15:02:12 +08:00
c9s
4a2a542222
refactor basic risk controller
2020-11-09 14:56:54 +08:00
c9s
ded89e099f
refactor simple price matching
2020-11-09 03:17:02 +08:00
c9s
5cc9506960
simplify executeTrade method since we should not use over locked funds
2020-11-09 03:09:12 +08:00
c9s
443f2c6891
document fee rate for BNB holders
2020-11-09 03:01:40 +08:00
c9s
377f4cae34
add account balance lock and unlock for testing maker strategies
2020-11-09 02:58:46 +08:00
c9s
5d4680e496
add lock and unlock functions
2020-11-09 01:10:14 +08:00
c9s
f69c87b3a8
fix fee calculation and add account balance checking
2020-11-08 21:52:44 +08:00
c9s
090011da9e
pull out order matching trigger from the kline event callbacks
2020-11-08 13:07:45 +08:00
c9s
e3a1184d22
fix backtest sync exchange and consider fee rate
2020-11-08 12:47:14 +08:00
c9s
6bd3573287
add exchange field in the table so that we can reuse the kline objects for backtest
2020-11-08 12:13:34 +08:00
c9s
4b0bab31fb
Merge branch 'feature/backtest' into main
2020-11-07 20:34:55 +08:00
c9s
641784e1b1
calculate pnl after the backtest
2020-11-07 20:34:34 +08:00
c9s
f3571b9832
fix tests
2020-11-07 20:18:11 +08:00
c9s
6040c69327
add sync flag for backtesting
2020-11-07 20:14:53 +08:00
c9s
f1db12eb10
add done channel for backtest exchange
2020-11-07 20:11:07 +08:00
c9s
a4a9067c6a
integrate matching engine with backtest exchange
2020-11-07 19:57:36 +08:00
c9s
5be4aa53db
move simple price matching to matching.go
2020-11-07 16:09:21 +08:00
c9s
3778adc8c8
implement SimplePriceMatching engine
2020-11-07 16:08:20 +08:00
c9s
0d8fa08171
add book Update method
2020-11-07 15:07:06 +08:00
c9s
1e925cac6e
move onConnect to the standard stream
2020-11-07 12:38:57 +08:00
c9s
94bb7f5dac
max: fix order symbol convertion
2020-11-07 12:19:57 +08:00
c9s
573a082391
add flashcrash strategy
2020-11-07 12:02:15 +08:00
c9s
b13a2deec5
emit klines and setup account balances
2020-11-07 03:18:05 +08:00
c9s
22a214328d
implement backtest command, stream and add backtest config
2020-11-07 02:57:50 +08:00
c9s
8823a39fc2
support backtesting kline verification
2020-11-07 00:49:17 +08:00
c9s
555fe57341
implement kline sync function from command
2020-11-06 21:40:48 +08:00
c9s
f78fefb3b0
implement QueryCh on kline service
2020-11-06 20:58:45 +08:00
c9s
78d7c71ecc
add kline service and extend kline struct fields
2020-11-06 19:07:07 +08:00
c9s
c9f2a1aed5
add db tag to kline struct
2020-11-06 11:08:31 +08:00
c9s
5bdf5e0034
remove goroutine from the strategy
2020-11-06 11:01:19 +08:00
c9s
b86b74effb
fix max kline parsing
2020-11-05 15:04:56 +08:00
c9s
c54c0788ab
rewrite grid strategy trigger
2020-11-05 14:27:22 +08:00
c9s
b38d0d15ed
fix order sync for max
2020-11-05 14:12:19 +08:00
c9s
7e47f754c5
use channel to sync trades
2020-11-05 13:35:04 +08:00
c9s
8693bbbd24
fix orderId-based query for binance
2020-11-05 11:14:14 +08:00
c9s
7fab2e24de
improve order persistence and support order data sync
2020-11-05 11:14:14 +08:00
c9s
a4555a2b7b
implement QueryClosedOrders
2020-11-05 11:14:14 +08:00
c9s
fe16f9aa4d
add is_working column
2020-11-05 11:14:14 +08:00
c9s
bb0ff263c8
assign order_id to the trade object
2020-11-05 11:14:14 +08:00
c9s
eb67fc0f8f
make mysql-url optional for run command
2020-11-05 11:14:14 +08:00
c9s
f223940b69
add db tags
2020-11-05 11:14:14 +08:00
c9s
8388f443a9
move active order book to the bbgo package
2020-11-05 11:14:14 +08:00
c9s
8e0b5d11a7
add max grid config and fix max price formatting
2020-10-31 20:38:20 +08:00
c9s
14abe3fb7e
pull out active order book to the types package
2020-10-31 20:38:20 +08:00
c9s
1eb263de23
use AnyFilled to simplify the order management in the strategy
2020-10-31 20:38:20 +08:00
c9s
e264257d23
implement OrderMap and SyncOrderMap
2020-10-31 20:38:20 +08:00
c9s
2397acd45f
fix type casting and assertion by passing pointer
2020-10-31 18:35:48 +08:00
c9s
0f8e9f6df7
add doc comment to Notifiability
2020-10-31 18:35:48 +08:00
c9s
eb05620f99
use Notifiability directly from environment
2020-10-31 18:35:48 +08:00
c9s
49ff9c4dd6
drop legacy trade reporter
2020-10-31 18:35:48 +08:00
c9s
c4d7476212
add submit order routing
2020-10-31 18:35:48 +08:00
c9s
ec9b5230aa
refactor trade report and move trade reporter to the environment layer
2020-10-31 18:35:48 +08:00
c9s
8867ceb951
initialize Notifiability for exchange session
2020-10-31 18:35:48 +08:00
c9s
a60207db2a
only re-submit the order when the order is filled on the opposite side
2020-10-31 18:33:04 +08:00
c9s
8174b64e21
handle max order update message convertion
2020-10-31 18:29:58 +08:00
c9s
458fa8aa9d
add types.OrderStatusFilled
2020-10-31 18:29:58 +08:00
c9s
63df07b815
fix MAX market min price format
2020-10-31 18:29:58 +08:00
c9s
dc547aa818
fix BOLL map allocation
2020-10-31 18:29:58 +08:00
c9s
01699f7268
fix price format
2020-10-31 18:29:58 +08:00
c9s
17a2f74add
finalize grid strategy
2020-10-31 18:29:58 +08:00
c9s
9c46ef17b2
handle order update
2020-10-31 18:29:58 +08:00
c9s
551fa4b7fb
add grid to built-ins
2020-10-31 18:29:58 +08:00
c9s
60b78979dc
fix order id parsing (seems case insensitive)
2020-10-31 18:29:58 +08:00
c9s
c3961024cf
implement grid strategy update orders method
2020-10-31 18:29:58 +08:00
c9s
74a9cae38e
rename trade callbacks to trade update callbacks
2020-10-31 18:29:58 +08:00
c9s
224acd0ca9
add accessors for last up band and down band values
2020-10-31 18:29:58 +08:00
c9s
e60127090b
add GetBOLL access to standard indicator sets
2020-10-31 18:29:58 +08:00
c9s
d49b2be543
add bollinger indicator
2020-10-29 17:51:20 +08:00
c9s
f0681177f9
inject market into the skeleton strategy
2020-10-29 17:06:34 +08:00
c9s
4afabd92ed
clean up code
2020-10-29 17:05:01 +08:00
c9s
b0cc128b79
pull out trend types
2020-10-29 17:03:36 +08:00
c9s
a7325e86f0
document swing strategy
2020-10-29 13:42:53 +08:00
c9s
5f45d18ae2
fix struct composition
2020-10-29 13:08:33 +08:00
c9s
19b600bb35
simplify strategy registration api
2020-10-29 07:54:59 +08:00
c9s
c71f013916
let SMA indicator and EWMA indicator use IntervalWindow type
2020-10-29 07:51:23 +08:00
c9s
2f8bffeaca
add strict injection check fo pointer only objects
2020-10-29 07:49:06 +08:00
c9s
33257c591e
refactor swing strategy with types IntervalWindow
2020-10-29 07:44:22 +08:00
c9s
6d8ec7894e
refactor standard indicator set with store
2020-10-29 07:40:02 +08:00
c9s
b1cf9db879
add reflink
2020-10-28 17:50:47 +08:00
c9s
d6553a1155
move strategy subscribe out
2020-10-28 17:49:49 +08:00
c9s
f4474c6a6d
add check for sma caluclation
2020-10-28 17:48:16 +08:00
c9s
67446670ac
finalize swing strategy and fix trade reporter issue
2020-10-28 17:48:16 +08:00
c9s
c96845ff6a
add fields to slack notifier logs
2020-10-28 17:48:16 +08:00
c9s
b22e0370b3
drop legacy OrderProcessor and remove slack debug
2020-10-28 17:48:16 +08:00
c9s
468864302e
fix submit order quantity formatting
2020-10-28 17:48:16 +08:00
c9s
2680ad5072
refactor environment, market data store, injection and add swing strategy
2020-10-28 17:48:16 +08:00
c9s
7d7d2c2fc7
assign standard indicator set to the session
2020-10-28 11:15:50 +08:00
c9s
e2df24f31c
support standard indicatorset
2020-10-28 09:43:19 +08:00
c9s
50693ae845
implement ewma and sma
2020-10-28 09:13:57 +08:00
c9s
388346b284
move injectStrategyField to a single file
2020-10-27 20:42:48 +08:00
c9s
008e5c83f9
fix notification config check
2020-10-27 20:41:08 +08:00
c9s
e1c2f7cc3d
improve notifier signatures and fix slack Notify method
2020-10-27 20:13:10 +08:00
c9s
7905ba09d4
pull out fillStrategyNotifiability
2020-10-27 19:37:11 +08:00
c9s
ccc381143d
support pointer type filling
2020-10-27 19:33:11 +08:00
Yo-An Lin
1e5327a5e4
Update strategy.go
2020-10-27 15:51:36 +08:00
c9s
b3eaf832af
Add pricealert strategy for demonstrating notification
2020-10-27 13:54:39 +08:00
c9s
ab43de3efd
clean up comment for base order executor
2020-10-27 10:00:41 +08:00
c9s
ef598c3a0f
assign base order executor descendingly
2020-10-27 09:58:21 +08:00
c9s
8453e95300
configure channel routers
2020-10-27 09:38:29 +08:00
c9s
42f947506c
add route methods on Notifiability
2020-10-27 09:24:59 +08:00
c9s
ea05d998f2
load notification conf
2020-10-27 08:57:00 +08:00
c9s
c315b79bd7
add notification config
2020-10-27 08:48:47 +08:00
c9s
284a0676f7
remove unused confg package
2020-10-27 08:19:16 +08:00
c9s
955479486a
add symbol channel router and object channel router for notification
2020-10-27 08:19:16 +08:00
c9s
1d8e0bff5a
drop legacy NewDefaultEnvironment method
2020-10-27 08:19:16 +08:00
c9s
0fd9e8b95a
reset price field when market order is used
2020-10-26 22:08:16 +08:00
c9s
085d02bee4
clean up strategy code since we can loaded from the config
2020-10-26 22:04:48 +08:00
c9s
38c87bfecc
drop config dir
2020-10-26 21:46:38 +08:00
c9s
a1eeb55778
refactor and clean up bbgo config
2020-10-26 21:45:02 +08:00
c9s
c324a791f6
refactor and configure risk control order executor
2020-10-26 21:36:47 +08:00
c9s
59aa5c5ee2
implement RiskControlOrderExecutor
2020-10-26 18:28:34 +08:00
c9s
4e7c1a327b
pull out order formatter
2020-10-26 18:17:18 +08:00
c9s
a4b6a5f923
load order executor config
2020-10-26 17:57:28 +08:00
c9s
502e5bdc04
load exchange sessions dynamically
2020-10-26 17:00:17 +08:00
c9s
8274f6e97c
reformat OrderProcessor code
2020-10-26 16:45:09 +08:00
c9s
c9fa565c24
remove the legacy submit order method
2020-10-26 16:44:05 +08:00
c9s
359b3c56b4
move files
2020-10-26 16:15:30 +08:00
c9s
19f259111d
improve config loading by adding unmarshal yaml method
2020-10-26 15:33:25 +08:00
c9s
cd666fdf9e
pull out db parameter from the constructor
2020-10-26 15:06:39 +08:00
c9s
3aa40f3aab
disable viper config for now
2020-10-26 13:56:48 +08:00
c9s
332ca7ffe8
make trade sync optional
2020-10-26 13:48:59 +08:00
c9s
931c646fde
configure notifier and make slack notification optional
2020-10-26 13:40:43 +08:00
c9s
ac0a26b005
add build command
2020-10-26 13:27:07 +08:00
c9s
9017d2a9a7
add go os and arch name to the binary name
2020-10-26 11:41:21 +08:00
c9s
aa6ccbf905
refactor xpuremaker strategy
2020-10-26 10:08:58 +08:00
c9s
fbba9b12ce
xpuremaker: final clean up
2020-10-26 10:01:18 +08:00
c9s
145264aae4
cancel orders and re-submit maker orders
2020-10-26 00:26:17 +08:00
c9s
336fb4d25b
max: fix order cancel request payload
2020-10-25 22:41:54 +08:00
c9s
de11ef10f5
return created order objects from SubmitOrders method
2020-10-25 19:22:22 +08:00
c9s
fa30f6b52a
Support binance order update execution type convertion
2020-10-25 19:22:22 +08:00
c9s
391767953a
Fix binance trade transaction time convertion
2020-10-25 19:22:22 +08:00
c9s
308427416a
Add more exchange order features
...
- use uuid for client order id
- add stop limit and stop market order types
- add order convert functions
- improve submit orders
2020-10-25 19:22:22 +08:00
c9s
1e12de28da
Add xpuremaker skeleton
2020-10-25 18:32:46 +08:00
c9s
3721714f00
Support json unmarshaller for fixedpoint
2020-10-25 18:32:45 +08:00
c9s
944b673626
Add skeleton strategy
2020-10-25 18:32:43 +08:00
Yo-An Lin
9f416579ec
Merge pull request #25 from c9s/feature/go-compile-os-arch
...
feature: support go build with custom os and arch
2020-10-24 17:45:03 +08:00
c9s
916b3b0eca
early return if len of trades == 0
2020-10-24 16:32:54 +08:00
c9s
81653c6451
improve compile function for goos and goarch
2020-10-24 16:29:58 +08:00
c9s
2535a5803e
alias logrus into log
2020-10-24 15:43:55 +08:00
c9s
9ce9ecc910
compile local strategies into the wrapper binary
2020-10-24 15:38:13 +08:00
c9s
cd28fb8771
unmarshal imports into config
2020-10-23 14:49:54 +08:00
c9s
e1e8a16f97
rename Run to Execute to avoid confusion
2020-10-23 14:38:24 +08:00
c9s
bcc97c1906
cmd: rename slack-trading-channel to slack-channel
2020-10-23 14:29:02 +08:00
c9s
048374566c
move commands into pkg/cmd
2020-10-23 14:28:07 +08:00
c9s
0ec57cf404
add import section
2020-10-23 14:14:07 +08:00
c9s
407db84689
check runtime registered strategies
2020-10-23 14:13:16 +08:00
c9s
6e033461bb
use the time of the first trade as the report start time
2020-10-23 14:09:05 +08:00
c9s
c9f5d51556
confgi: fix []interface parsing issue
2020-10-23 14:01:45 +08:00
c9s
9127913370
improve parsing for one or more string slice
2020-10-23 13:50:17 +08:00
c9s
6b0f2b80d7
add multiple spec support
2020-10-23 00:21:03 +08:00
c9s
9c751f377a
import buyandhold strategy
2020-10-22 16:04:37 +08:00
c9s
aea6a7c03d
integrate AverageCostPnLReporter
2020-10-22 15:57:50 +08:00
c9s
897d882c35
update Notifiability interface
2020-10-22 14:45:15 +08:00
c9s
ea3e9e7d05
add per-session-based trade reporter
2020-10-22 10:54:03 +08:00
c9s
678e4ef4ab
add trade reporter
2020-10-22 10:47:54 +08:00
c9s
a714af739a
implement TradeReporter
2020-10-21 19:52:55 +08:00
c9s
b1a9a66dba
assign account and stream when allocating session object
2020-10-21 17:42:37 +08:00
c9s
1f71fa623c
add channel argument to the notify method
2020-10-21 17:10:47 +08:00
c9s
58265d14f9
move cmdutil package
2020-10-21 15:58:58 +08:00
c9s
81f2cb4ac4
support loading cross exchange strategies
2020-10-21 15:49:43 +08:00
c9s
606c59ad4d
connecting strategies with session name
2020-10-20 15:54:32 +08:00
c9s
324a493aad
improve config loader
2020-10-20 15:42:57 +08:00
c9s
4ee10de40f
add LoadedCrossExchangeStrategies loader api
2020-10-20 14:21:46 +08:00
c9s
f4066b18b3
wrap error to make the message clear
2020-10-20 14:15:12 +08:00
c9s
8cc5db7506
add baseQuantity
2020-10-20 14:14:21 +08:00
c9s
2fbf19455e
implement strategy yaml loader
2020-10-20 13:52:25 +08:00
c9s
a08aebaa17
bbgo: add SetTradeScanTime method
2020-10-20 13:11:04 +08:00
c9s
3b3df77ec3
clean up the legacy context struct
2020-10-20 12:24:30 +08:00
c9s
752fdf5c80
document WithCache function
2020-10-20 12:22:18 +08:00
c9s
2bbee6671a
make the first arg of WithCache as a key var
2020-10-20 12:18:29 +08:00
c9s
40c697275d
query market config with cache
2020-10-20 12:11:44 +08:00
c9s
180bfff558
loadedSymbols is not used in the init method
2020-10-20 11:49:18 +08:00
c9s
f6c1ed67e6
add CacheDir function
2020-10-20 11:48:44 +08:00
c9s
f62f3b8a02
define HomeDir and SourceDir helper functions
2020-10-20 11:46:44 +08:00
c9s
fc687f3174
max: implement kline event parser for websocket
2020-10-19 22:46:34 +08:00
c9s
d68564de28
improve logging
2020-10-19 22:26:43 +08:00
c9s
366036a35b
max: parse and convert trade update
2020-10-19 22:23:49 +08:00
c9s
822e4c2703
receive trade in value instead of pointer
2020-10-19 22:06:43 +08:00
c9s
292dd2492a
add comment for loadedSymbols
2020-10-19 22:02:05 +08:00
c9s
a4b872fc8b
clean up init and connect phase
2020-10-19 22:00:44 +08:00
c9s
6d6e79eab3
fix session initialization issue
2020-10-19 21:58:50 +08:00
c9s
b0b1d2bd49
max: fix currency conversion
2020-10-19 21:33:21 +08:00
c9s
c4490a119c
send order book to the update handler
2020-10-19 11:44:15 +08:00
c9s
50c6a675dd
add doc comment to StreamOrderBook
2020-10-19 10:44:11 +08:00
c9s
68279757fa
add kline accessor KLinesOfInterval
2020-10-18 20:44:12 +08:00
c9s
c1590786e8
integrate orderbook updates to market data store
2020-10-18 20:44:12 +08:00
c9s
75115774f6
rename kline store to market data store back
2020-10-18 20:44:12 +08:00
c9s
b7a450327c
rename files
2020-10-18 12:33:51 +08:00
c9s
f9940a9c2f
rename market data store to kline store
2020-10-18 12:32:43 +08:00
c9s
f826bb014a
make markets field private
2020-10-18 12:30:13 +08:00
c9s
dab264a4ad
add more accessors to exchange session, so that we can make it as an interface
2020-10-18 12:29:38 +08:00
c9s
168cb355fc
add accessor to MarketDataStore
2020-10-18 12:27:11 +08:00
c9s
7d7828a556
move commented code
2020-10-18 12:25:08 +08:00
c9s
d2ba9cc4c3
move backtest related component to backtest package
2020-10-18 12:24:21 +08:00
c9s
028aef9402
move marketdata store to store package
2020-10-18 12:23:00 +08:00
c9s
90515855eb
move MovingAverageIndicator
2020-10-18 11:37:01 +08:00
c9s
a1c027471e
remove more empty files
2020-10-18 11:35:40 +08:00
c9s
d011bf275e
move stock_test file and testdata
2020-10-18 11:34:36 +08:00
c9s
cbeb809b22
delete empty pnl file
2020-10-18 11:33:58 +08:00
c9s
c878de10bf
delete empty market.go file
2020-10-18 11:33:43 +08:00
c9s
0d9c0bd51b
move cost distribution to the accounting package
2020-10-18 11:33:13 +08:00
c9s
985e02c57a
delete empty file
2020-10-18 11:31:44 +08:00
c9s
73e17730d7
move account type into types package
2020-10-18 11:30:37 +08:00
MengZn
3bbf15bb7e
fix misspell
2020-10-18 00:36:52 +08:00
c9s
fe1a25d735
max: add resolution to the subscription
2020-10-18 00:09:37 +08:00
c9s
c224eb7af7
add kline to the market data store
2020-10-18 00:06:08 +08:00
c9s
530da665d3
fix max newAuthenticatedRequest for nil data
2020-10-18 00:05:54 +08:00
c9s
9ebccc72ba
add exchange session constructor
2020-10-17 23:51:44 +08:00
c9s
2d88f8e5f6
remove unused empty method convertDepthResponseToSnapshot
2020-10-17 23:49:14 +08:00
c9s
615da2e1d8
add logger with fields
2020-10-17 10:39:03 +08:00
c9s
25b4b22077
let strategy attach could be chained
2020-10-16 13:52:18 +08:00
c9s
4335cca0de
make it possible to attach multiple strategies in one call
2020-10-16 10:26:45 +08:00
c9s
27b582e948
move report struct
2020-10-16 10:21:37 +08:00
c9s
63ea81b648
simplify the calculator api
2020-10-16 10:19:53 +08:00
c9s
a6b99f6828
rename ProfitAndLossCalculator to AverageCostCalculator
2020-10-16 10:16:42 +08:00
c9s
ee86a71ebb
split files
2020-10-16 10:14:36 +08:00
c9s
98192ae91f
move Cmd to the strategy package
2020-10-16 10:09:42 +08:00
LeoZhan
c501fda4e2
refactor: remove redundant filename extension
2020-10-16 00:49:46 +08:00
c9s
7482fa52d6
add error check and logger
2020-10-15 23:38:00 +08:00
c9s
300609e3db
fix subscription initialization
2020-10-15 22:36:22 +08:00
c9s
113cc8ee48
query markets and assign into the exchange session
2020-10-15 21:04:02 +08:00
c9s
c167b2f303
add query markets to the exchagne interface
2020-10-14 11:02:50 +08:00
c9s
5112b83041
max: fix internal currency usage
2020-10-14 11:02:10 +08:00
c9s
c58375f57e
max: extend max exchange market information
2020-10-14 10:53:18 +08:00
c9s
6d00a7ba07
fix import
2020-10-14 10:39:50 +08:00
c9s
88461396f1
rearrange market config fields
2020-10-14 10:39:14 +08:00
c9s
2b41f76082
add maxPrice, minPrice and tickSize config
2020-10-14 10:34:33 +08:00
c9s
64c2170cd5
implement QueryMarkets on binance
2020-10-14 10:16:59 +08:00
c9s
f454136449
add exechange order executor and pull out Notifiability
2020-10-14 10:06:15 +08:00
c9s
a91f851ac7
pass types.SubmitOrder by value
2020-10-13 18:08:02 +08:00
c9s
ec23266cc2
implement buyandhold strategy to test the api design
2020-10-13 16:17:07 +08:00
c9s
d1b618850d
add context parameter to the strategy method
2020-10-13 14:50:59 +08:00
c9s
fe3ae14fc8
clean up
2020-10-13 11:23:22 +08:00
c9s
26f97b43e8
drop legacy backtest trader
2020-10-12 22:51:13 +08:00
c9s
4c20c9f4ff
replace LoadAccount with literal constructor
2020-10-12 22:49:27 +08:00
c9s
6398f049d0
bind market data store and query avg price before we start
2020-10-12 22:46:06 +08:00
c9s
bace7ac3a3
add environment connect integration tests
2020-10-12 17:33:02 +08:00
c9s
4ce716d6ad
binance: make asset parameter optional
2020-10-12 17:15:33 +08:00
c9s
92a5eac412
make currency parameter optional
2020-10-12 17:15:13 +08:00
c9s
64c9960882
use types.Exchange
2020-10-12 07:38:38 +08:00
c9s
ea7b501c26
add transfer history command for calculating baseline and show transfer records
2020-10-11 20:08:54 +08:00
c9s
2d246c3f71
move deposit type to global type and add max deposit history support
2020-10-11 17:35:59 +08:00
c9s
3d5507a053
move files into pkg
2020-10-11 16:46:15 +08:00