c9s
fce71cb37e
implement QueryAccounts and QueryMarkets
2021-12-22 01:28:16 +08:00
c9s
62fa6dd274
implement get fills request
2021-12-22 01:28:16 +08:00
c9s
bace225470
binance: fix, call set time service only when key and secret is given
2021-12-22 01:27:25 +08:00
TonyQ
740989ca64
exchange/ftx: add more guard condition
2021-12-21 20:46:40 +08:00
TonyQ
3e45035ab1
database: sqlite3 issue fix
...
database: upgrade gosqllite3 version for increasing variable amount limit
types: update kline starttime/endtime field to prevent sqlite3
time parsing issue.
fix #215
2021-12-15 14:34:31 +08:00
TonyQ
c0b9cc0f0b
exchange: make ftx kline event more reliable
2021-12-15 11:23:07 +08:00
Yo-An Lin
05323f211f
Merge pull request #368 from tony1223/feature/355-update-sync
...
backtest : auto sync
2021-12-15 01:39:19 +08:00
TonyQ
16933555b8
backtest : auto sync missing range
2021-12-15 01:26:05 +08:00
austin362667
ccd607ba28
binance: remove unsupported comments
2021-12-15 01:01:05 +08:00
austin362667
7f96fa8dde
binance: add multierr
2021-12-15 01:01:05 +08:00
austin362667
bb592663ab
binance: removed unsupport isolated futures trade
2021-12-15 01:01:05 +08:00
austin362667
a0130affe4
binance: add query orders & trades
2021-12-15 01:01:05 +08:00
TonyQ
20b03fe4a5
exchange: fix ftx for wrong last kline issue
2021-12-15 00:07:54 +08:00
austin362667
839bb6d0e8
binance: remove comments cuz not support isolated futures
2021-12-14 20:41:55 +08:00
Yo-An Lin
6c6eb252cc
Merge pull request #363 from tony1223/feature/355-ftx-backtest
2021-12-14 16:09:16 +08:00
TonyQ
8eb3eede82
fix backtest (with review)
2021-12-14 16:02:54 +08:00
TonyQ
51e23b6a0c
Merge branch 'main' of github.com:c9s/bbgo into feature/302-record-assets-review
2021-12-14 10:39:51 +08:00
TonyQ
4eb5a099ae
account: add nav_history_details and account_service for #302
2021-12-14 08:09:18 +08:00
austin362667
d3526b2c71
binance: add SubmitFuturesOrder and related conversions
2021-12-13 23:19:14 +08:00
c9s
74811abb36
okex: rewrite okex api request with requestgen
2021-12-13 14:55:44 +08:00
c9s
e2937acb28
apply requestgen for CancelOrderRequest and CancelAllOrderRequest
2021-12-13 14:55:44 +08:00
Yo-An Lin
d847d223e3
Merge pull request #356 from c9s/feature/kucoin
...
refactor: apply requestgen
2021-12-13 02:14:05 +08:00
Yo-An Lin
a3215d6f31
Merge pull request #354 from austin362667/order-trade
...
binance: parse OrderTrade event stream & add futures client connection
2021-12-13 02:12:19 +08:00
c9s
34c2b342ba
apply requestgen for CancelOrderRequest and CancelAllOrderRequest
2021-12-13 02:08:18 +08:00
c9s
c28833fba0
kucoinapi: use requestgen for list orders request
2021-12-13 01:53:00 +08:00
c9s
97b63f45d5
kucoin: rename receiver to r
2021-12-13 01:14:52 +08:00
c9s
22972953d0
use requestgen to generate the accessor methods
2021-12-13 01:11:15 +08:00
austin362667
04919e0fa4
binance: add futures exchange stream connection
2021-12-12 15:40:03 +08:00
austin362667
8ca60cec10
binance: add user stream event parser & toGlobalType converter
2021-12-12 15:39:06 +08:00
TonyQ
6915a0e573
ftx: update kline event handling for #318
2021-12-12 14:29:48 +08:00
c9s
de80a14715
kucoin: add cancel order command
2021-12-11 20:07:32 +08:00
c9s
95ecaa7a66
rename orderResponse to apiResponse
2021-12-11 20:02:35 +08:00
c9s
8a00509987
kucoin: check data pointer and return error
2021-12-11 19:44:07 +08:00
c9s
0c854a8a85
kucoin: add place order and list orders command
2021-12-11 19:40:53 +08:00
c9s
a9bc02ef3d
kucoin: implement order placement and cancel api
2021-12-11 18:33:30 +08:00
c9s
4d57967664
kucoin: add orderbook api
2021-12-11 18:33:30 +08:00
c9s
18653aca7e
kucoin: implement all ticker and get ticker api
2021-12-11 18:33:30 +08:00
c9s
50b79cb742
implement ListSymbols api
2021-12-11 18:33:30 +08:00
c9s
be7e9f551a
add GetAccount api
2021-12-11 18:33:30 +08:00
c9s
c8ba3f7c1b
kucoin: add query accounts api
2021-12-11 18:33:30 +08:00
c9s
cd69994647
kucoin: implement api client
2021-12-11 18:33:30 +08:00
Yo-An Lin
0cf72de21d
Merge pull request #335 from tony1223/bug/334-ftx-ratelimit
...
ftx : fix #334 rate limit
2021-12-10 23:24:42 +08:00
TonyQ
5259bba5fe
ftx : fix #334 rate limit
2021-12-10 23:08:26 +08:00
c9s
fe9b604d79
update ftx market mapping
2021-12-09 15:57:44 +08:00
c9s
ca85aa69e6
pull out global premium index type and funding rate type
2021-12-09 00:10:18 +08:00
c9s
71e043e4b2
move convertPremiumIndex to convert.go
2021-12-09 00:08:25 +08:00
c9s
fbae368e6c
make getLaunchDate as a simple function
2021-12-09 00:06:46 +08:00
c9s
078c79d73f
binance: refactor QueryMarkets
2021-12-09 00:05:36 +08:00
c9s
48612e2b13
reformat import lines and add fixme note
2021-12-09 00:01:33 +08:00
c9s
2223ef088c
add ftx, okex to the public exchange factory for backtest
2021-12-08 23:27:01 +08:00
TonyQ
3dff1acd79
finetune ftx for #318
2021-12-08 19:36:37 +08:00
c9s
35da3ba3a0
check env vars for query related tests
2021-12-05 01:11:47 +08:00
c9s
062f9243c6
max: fix query ticker tests
2021-12-05 01:08:50 +08:00
c9s
715363298f
fix query ticker tests
2021-12-05 00:58:01 +08:00
c9s
4bde40f2db
override binance default http client timeout instead of zero timeout
2021-11-23 10:54:43 +08:00
Austin
c5d1a70a61
add Continuous Contract Kline/Candlestick Streams
2021-11-16 14:26:27 +08:00
Austin
a36739f119
add MarkPriceUpdateEvent
2021-11-16 01:24:36 +08:00
c9s
aceca1b49f
adjust listen key keep alive to 30 min
2021-11-07 23:40:13 +08:00
c9s
a2c2646a16
binance: adjust rate limiter bucket
2021-11-05 01:25:16 +08:00
c9s
82d859a43d
binance: fix binance order rate limiter
2021-11-05 01:21:58 +08:00
c9s
1a861c98a1
binance: add order rate limiter for binance
2021-11-04 12:50:32 +08:00
c9s
6cb593cd90
techsignal: use realtime funding rate
2021-10-20 14:01:19 +08:00
c9s
16fca0150d
implement futures PremiumIndex support
2021-10-19 15:54:16 +08:00
c9s
1e6692ec8d
rename funding rate query method name
2021-10-19 15:29:55 +08:00
c9s
e3431ef970
binance: fix binance order type for limit maker
2021-10-18 00:41:41 +08:00
c9s
4523135012
techsignal: add funding rate checker
2021-10-14 23:01:10 +08:00
c9s
7016d24fad
import types.FuturesSettings into binance exchange
2021-10-07 21:29:52 +08:00
Jui-Nan Lin
feca628319
fix(ftx): array length should > 0
2021-09-03 15:38:02 +08:00
c9s
b6fff482a4
binance: fix withdrawal time parsing
2021-09-03 14:21:59 +08:00
c9s
35ec9ae7b6
binance: fix binance withdrawal api
2021-09-02 00:27:57 +08:00
c9s
f177860450
binance: fix withdrawal service
2021-09-02 00:21:56 +08:00
zebra
2e1400d594
add transfer function
2021-08-07 15:30:51 +08:00
sincoew
4f2b1d975a
fix type change on max api
2021-07-15 17:51:14 +08:00
c9s
a8048703b3
max: fix order delete refurl
2021-06-27 11:33:00 +08:00
c9s
3fdcf466bf
max: set reqcount for nonce by default 1
2021-06-27 11:32:54 +08:00
c9s
fd2928fc82
types: add maker/taker fee rate fields to the account struct
2021-06-16 13:04:23 +08:00
c9s
657e1dc9bf
maxapi: pre-parse relative url and cache them
2021-06-16 13:04:05 +08:00
c9s
cbd0180939
maxapi: remove extra user agent header
2021-06-16 13:04:05 +08:00
c9s
16e5e08d58
maxapi: fix dump request error check
2021-06-16 13:04:05 +08:00
c9s
48c84824cf
maxapi: volume, side, market is always required for creating orders
2021-06-16 13:04:05 +08:00
c9s
2da633c221
maxapi: add HTTP_TRANSPORT_IDLE_CONN_TIMEOUT env var for override
2021-06-16 13:04:05 +08:00
c9s
7c5b676366
maxapi: create an isolated http transport rather than the default one
2021-06-16 13:04:05 +08:00
c9s
684232041c
maxapi: load http transport settings from env vars
2021-06-16 13:04:05 +08:00
c9s
b31b830b2b
max: add request dump for debugging request
2021-06-16 13:03:45 +08:00
c9s
8c3992d514
max: no need to check order volume separately
2021-06-16 13:02:21 +08:00
c9s
fdf1ee9258
max: use precision -1 to trim zeros
2021-06-16 13:02:21 +08:00
c9s
a8eda62a8d
max: set debug vars from env vars
2021-06-16 13:02:21 +08:00
c9s
0df26e0570
binance: adjust listen key keep alive to 20 minutes
2021-06-09 01:37:19 +08:00
c9s
457ca79517
binance: for network error, we should retry the request
2021-06-09 01:37:14 +08:00
c9s
ec6c10a96a
binance: adjust read timeout and increase read buffer size
2021-06-09 01:36:06 +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
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
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
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
1a05f6fbd4
okex: pull read timeout and adjust to 30 seconds
2021-05-30 00:32:06 +08:00
c9s
d962dbe542
adjust read timeout
2021-05-29 20:40:47 +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
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
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
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
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
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
967c7e9f9d
xbalance: add withdrawal options
2021-05-26 23:24:05 +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
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
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
56b2c8845b
fix preorder, postorder and inorder
2021-05-22 11:36:58 +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
57a78777df
move Time type to types.Time
2021-05-21 00:10:53 +08:00
Jui-Nan Lin
02649bdd63
fix(ftx): use generated order id if not specified
2021-05-19 21:37:29 +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
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
c4ccd8094f
make max client order id factory public
2021-05-18 09:10:43 +08:00
Jui-Nan Lin
c0cf529db7
fix(ftx): allow empty TimeInForce to place market orders
2021-05-17 21:05:44 +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
c9s
e636a5008d
replace Exchange field type with ExchangeName
2021-05-16 17:02:23 +08:00
c9s
5c10f8a4e2
binance: call set server time service
2021-05-16 15:03:31 +08:00
c9s
f69cbe9c31
add basic TwapExecution
2021-05-14 14:53:26 +08:00
Lee
d1cef15f75
Fix: Correct the Order FILLED event on binance
2021-05-13 00:41:23 +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
c9s
fd6fe56f32
implement withdrawal request on binance
2021-05-12 02:15:22 +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
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
8fea2022e5
adjust rate limit for backtest data syncing
2021-05-02 17:46:08 +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
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
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
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
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
8122fddd02
add exchange field to binance trades and binance orders
2021-03-24 17:51:19 +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
c9s
67bfc508c8
max: remove unnecessary log
2021-03-22 17:40:00 +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
24c4d05e91
max: load websocket base url from the env var
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
c9s
814a77ea39
xmaker: improve balance checking
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
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
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
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
Yo-An Lin
40b376802e
Merge pull request #168 from c9s/feature/mark-trade-strategy
2021-03-18 10:31:59 +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
4a415a43b3
fix reward query
2021-03-18 00:46:10 +08:00
ycdesu
4a5a53ea28
ftx: support queryClosedOrders
2021-03-17 21:26:25 +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
714d61a829
add grid restore behavior
2021-03-16 20:04:06 +08:00
Yo-An Lin
f5b65e795e
Merge pull request #160 from c9s/feature/grid-options
2021-03-16 12:59:14 +08:00
c9s
2f7c7d344b
move emitStart method call into the stream Connect method
2021-03-16 01:32:27 +08:00
ycdesu
c88297117b
ftx: new rest everytime
2021-03-15 19:02:14 +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
3ffa319ba8
improve max websocket reconnecting issue
2021-03-15 10:23:20 +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
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
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
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
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
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
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
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
ycdesu
e34f68ab90
ftx: unmarshal all fields at the same time
2021-03-03 10:31:46 +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
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
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
c52f918dd4
ftx: add missing types.exchange methods
2021-02-27 17:24:08 +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
c9s
1d29009133
fix max trade query ordering and sql query ordering for query last
2021-02-25 13:55:04 +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
21a4669905
adjust max query limiter and sync before running trader
2021-02-22 16:54:08 +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
cdb7ce84c8
apply rate limit
2021-02-22 13:36:39 +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
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
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
02512805f8
set default query trade limit to 1000 for max
2021-02-16 16:32:48 +08:00
c9s
f7ef91b55c
binance: set the default ping handler
2021-02-11 08:13:50 +08:00
c9s
ffa001fc29
fix quantity format
2021-02-11 00:21:56 +08: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
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
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
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
Jui-Nan Lin
30f085fa91
fix(max): IsBuyer should check side "buy" and "bid"
2021-02-06 17:30:18 +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
26f9e5488d
apply datatype.Time to order time fields
2021-02-06 14:30:00 +08:00
c9s
3abdb3dd7b
convert time struct for sqlite driver
2021-02-06 12:32:21 +08:00
ycdesu
f44d6a323a
http: move response helper to util
2021-02-05 22:31:40 +08:00
c9s
6912f77c72
fix lock issue
2021-02-01 18:55:47 +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
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
e2de3040bd
adjust ping ticker to 10seconds
2021-01-24 19:08:33 +08:00
c9s
7632638982
log depth api error
2021-01-24 16:54:13 +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
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
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
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
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
5cab37488b
move MarginSettings struct to a file
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
48083151aa
turning margin mode
2021-01-19 23:31:04 +08:00
c9s
c3db6db590
add margin option
2021-01-19 23:31:04 +08:00
c9s
50cd6f7d68
change go-binance to github.com/adshao/go-binance/v2
2021-01-11 13:36:49 +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
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
1c7d3d5481
support max staging url orverride
2020-12-17 14:44:30 +08:00
c9s
f7a119fa5e
remove debug message
2020-12-04 19:15:53 +08:00
c9s
4f399ebb9f
fix stop price formating
2020-12-03 09:25:47 +08:00
c9s
edb22383c7
fix ToGlobalOrder call
2020-12-02 22:44:57 +08:00
c9s
4cf5929cac
improve trade parsing error
2020-12-02 22:21:13 +08:00
c9s
a86078d68c
max: fix tick size
2020-11-22 21:34:05 +08:00
c9s
c40982164a
fix trade slack formatting
2020-11-17 15:48: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
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
24e5911140
refactory sync mode into the backtest command
2020-11-11 16:08:24 +08:00
c9s
23c19c5968
use fixedpoint for balances
2020-11-10 14:19:33 +08:00
c9s
e7cc79f3cf
replace errors.Errorf with fmt.Errorf
2020-11-09 16:34:35 +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
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
78d7c71ecc
add kline service and extend kline struct fields
2020-11-06 19:07:07 +08:00
c9s
b86b74effb
fix max kline parsing
2020-11-05 15:04:56 +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
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
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
8174b64e21
handle max order update message convertion
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
9c46ef17b2
handle order update
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
67446670ac
finalize swing strategy and fix trade reporter issue
2020-10-28 17:48:16 +08:00
c9s
e2df24f31c
support standard indicatorset
2020-10-28 09:43:19 +08:00
c9s
085d02bee4
clean up strategy code since we can loaded from the config
2020-10-26 22:04:48 +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