Commit Graph

6647 Commits

Author SHA1 Message Date
zenix
1e67acd77a fix: set buffer period to allow buffer to get fully appended before the estimation in buffer_test 2022-06-10 15:24:13 +09:00
zenix
f1e24bf43b feature: add codecoverage and add race detection in go test, fix: fix race conditions 2022-06-10 14:01:14 +09:00
ycdesu
9a71c9a5eb web: pass root ctx into setup func 2022-06-10 12:19:38 +08:00
ycdesu
1dbd5dbd94 sync: only sync when previous operation is done 2022-06-10 12:16:58 +08:00
c9s
a9d2a9e57a
pivotshort: add breakLow.bounceRatio option 2022-06-10 11:36:04 +08:00
c9s
0921f038a6
bump version to v1.33.3 2022-06-10 02:52:54 +08:00
c9s
9ffefbab03
adjust CancelOrderWaitTime back to 20ms 2022-06-10 02:51:20 +08:00
c9s
470e003867
max: fix max v3 order cancel 2022-06-10 02:50:39 +08:00
Yo-An Lin
aeae2d58c9
Merge pull request #699 from c9s/strategy/pivot
pivotshort: add roiMinTakeProfitPercentage option and cumulatedVolume…
2022-06-10 02:47:13 +08:00
c9s
35a58268cf
pivotshort: add roiMinTakeProfitPercentage option and cumulatedVolume option 2022-06-10 02:39:14 +08:00
Yo-An Lin
449186f460
Merge pull request #697 from andycheng123/fix/supertrend
strategy: remove redundant code
2022-06-10 01:29:45 +08:00
c9s
e575236db8
pivotshort: adjust shadow ratio calculation 2022-06-10 01:21:59 +08:00
c9s
260857b5b1
pivotshort: add TradeStats 2022-06-10 00:49:32 +08:00
c9s
b79e4f2fb8
fixedpoint: add marshalYAML interface support 2022-06-10 00:42:48 +08:00
c9s
a8134561f5
pivotshort: add stopEMA 2022-06-09 18:16:32 +08:00
c9s
aa2ba265f1
pivotshort: refactor and add more fix 2022-06-09 17:36:22 +08:00
Andy Cheng
2e3badc0da strategy: remove redundant code 2022-06-09 16:37:19 +08:00
c9s
4f9ac6f3fb
pivotshort: move notification message to make log clean 2022-06-09 15:50:43 +08:00
c9s
e117cc4157
optimize single symbol query for kline query 2022-06-09 15:50:23 +08:00
c9s
77eb5da7b7
clean up type conversion 2022-06-09 15:50:06 +08:00
c9s
f8dbd26736
move cpu profile option to global cmd 2022-06-09 15:49:52 +08:00
c9s
8d3f487d0d
reduce order cancel wait time to 10ms 2022-06-09 15:49:34 +08:00
c9s
b731405658
add fixedpoint.Value to simple types 2022-06-09 15:49:13 +08:00
c9s
5a809f60e0
pivotshort: fix order cancel step 2022-06-09 13:26:30 +08:00
c9s
4b08e93758
rename st = store 2022-06-09 12:34:23 +08:00
c9s
fc0457cefe
fix notify args filtering 2022-06-09 12:34:23 +08:00
c9s
e17535e651
pivotshort: fix position close bugs 2022-06-09 12:34:23 +08:00
c9s
1bfc125a52
gracefully cancel order before closing position 2022-06-09 12:34:23 +08:00
c9s
1d8cd2d604
improve kline matching error 2022-06-09 12:34:22 +08:00
c9s
77b704b6ec
move some methods back for refactoring 2022-06-09 12:34:22 +08:00
austin362667
3c40f9e90e
pivotshort: improve market sell when breaks previous pivot low only
pivotshort: improve market sell when breaks previous pivot low only
2022-06-09 12:34:22 +08:00
c9s
9065b5bae7
bump version to v1.33.2 2022-06-08 23:17:11 +08:00
Yo-An Lin
60af0b08e3
Merge pull request #693 from c9s/fix/binance-deposit-history-sync
fix: fix and rewrite binance deposit history sync
2022-06-08 19:16:10 +08:00
c9s
c16fe8188a
fix: calcualte fee in quote only when fee is not zero 2022-06-08 18:09:17 +08:00
c9s
83d7aab4d4
fix trade format alignment 2022-06-08 18:06:49 +08:00
c9s
f1cce3e123
clean up 2022-06-08 17:33:52 +08:00
c9s
f3a7428b48
add stringer method for deposit struct 2022-06-08 17:32:42 +08:00
c9s
6d78b05b41
rewrite deposit sync service 2022-06-08 15:49:44 +08:00
c9s
5f075af24f
batch: add DepositBatchQuery 2022-06-08 15:49:44 +08:00
c9s
c4c8bca72f
binance: re-implement deposit history query 2022-06-08 15:49:44 +08:00
c9s
854661bc71
backtest: move info log suppress after sync 2022-06-08 15:15:57 +08:00
c9s
99bf914415
add warning logs to pnl cmd 2022-06-08 15:10:43 +08:00
c9s
8c6331073d
cmd: fix pnl cmd 2022-06-08 15:10:43 +08:00
c9s
e023d0be5b
service: rewrite kline sync check 2022-06-08 15:10:43 +08:00
c9s
1f927d5162
use the same time object for 'now' 2022-06-08 14:37:03 +08:00
c9s
09912b3fc3
environment: avoid setting UTC on time object 2022-06-08 14:36:26 +08:00
c9s
14ffa0fe2f
bump version to v1.33.1 2022-06-08 13:15:52 +08:00
Yo-An Lin
4fdee25a96
Merge pull request #691 from c9s/fix/sync-time
fix: fix sync since time field check
2022-06-08 13:04:39 +08:00
c9s
fb5fc02bdf
fix since time field check 2022-06-08 12:54:48 +08:00
Yo-An Lin
047fad8d5b
Merge pull request #689 from c9s/fix/sqlite-gid-insert
fix: fix reflect insert (remove gid field)
2022-06-08 12:18:23 +08:00
c9s
e7dfd4a654
fix reflect insert (remove gid field) 2022-06-08 12:08:04 +08:00
zenix
7a045a48d4 fix: drift window in factorzoo, order_execution print order, refactor: use defer to mu.Unlock in depth/buffer.go 2022-06-08 12:14:53 +09:00
zenix
8361689974 fix: check for div zero in drift indicator 2022-06-08 11:07:26 +09:00
zenix
9dd8dbbede feature: add drift indicator, split heikinashi's Queue 2022-06-08 01:21:18 +08:00
c9s
792e67e982
bump version to v1.33.0 2022-06-07 22:34:16 +08:00
c9s
e92e0f04f3
bump version to v1.33.0 2022-06-07 22:31:08 +08:00
c9s
ea2ba5d11e
bump version to v1.33.0 2022-06-07 22:24:47 +08:00
c9s
7f07852086
fix filled market order update event duplicated trigger 2022-06-07 20:27:11 +08:00
c9s
fc8d3ea59f
register dca strategy to builtin 2022-06-07 20:26:56 +08:00
c9s
9a29843477
add dca strategy 2022-06-07 20:26:44 +08:00
c9s
dc0cb30b23
fix order submit message format 2022-06-07 20:26:33 +08:00
c9s
7e92e6592a
backtest: add test case for testing order update callbacks 2022-06-07 19:36:55 +08:00
Andy Cheng
9836fbbf82 strategy: rebase 2022-06-07 16:49:43 +08:00
Andy Cheng
39615c8981 indicator: get supertrend signal 2022-06-07 16:44:15 +08:00
Andy Cheng
14e70007d9 indicator: supertrend 2022-06-07 16:44:15 +08:00
Andy Cheng
34465fac89
Merge pull request #653 from andycheng123/strategy/supertrend
strategy: add supertrend strategy
2022-06-07 16:25:49 +08:00
Andy Cheng
ee26d6ce34 strategy: Persistence.Sync() after position change 2022-06-07 16:04:40 +08:00
Yo-An Lin
037f2949bd
Merge pull request #678 from andycheng123/fix/interact
interact: fix missing make()
2022-06-07 12:31:53 +08:00
c9s
32837d85a0
fix fmaker 2022-06-07 12:31:06 +08:00
c9s
46a008bea5
move batch insert back 2022-06-07 12:28:11 +08:00
Yo-An Lin
16e9535b8c
Merge pull request #638 from austin362667/strategy/f1
strategy: add fmaker
2022-06-07 12:24:26 +08:00
Andy Cheng
57aab937b3 interact: update test 2022-06-07 10:45:55 +08:00
Andy Cheng
9a086d2855 interact: use instance ID as signature 2022-06-07 10:40:15 +08:00
c9s
a4807d6594
fix tests 2022-06-07 01:21:27 +08:00
c9s
d7f9742360
binance: revert the start time filtering 2022-06-07 00:50:07 +08:00
c9s
53e74b6262
fix timezone issue for sqlite and mysql 2022-06-07 00:48:13 +08:00
c9s
b32b852303
service: fix FindMissingTimeRanges until check 2022-06-06 18:15:36 +08:00
zenix
c7eb065995 fix: close / rollback queries/transactions on error 2022-06-06 18:57:24 +09:00
Andy Cheng
58ec38d811 interact: update interact test 2022-06-06 17:43:25 +08:00
Andy Cheng
8410b1cc33 interact: update interact test 2022-06-06 17:34:39 +08:00
c9s
022775d0a2
service: use batch insert for kline 2022-06-06 17:21:31 +08:00
Andy Cheng
1f79e236ad interact: revert to id = strategy.ID() 2022-06-06 16:20:06 +08:00
Andy Cheng
3d9994706b interact: fix missing make() 2022-06-06 15:36:09 +08:00
c9s
dae4afec10
fix verify() time range 2022-06-06 14:58:26 +08:00
c9s
da6a209fd7
service: set PRAGMA for sqlite3 2022-06-06 14:53:37 +08:00
c9s
a6d18a87f5
fix: batch query exit issue
- remove errC case (this channel is closed earlier)
- add empty data range test case for finding missing time range
2022-06-06 13:25:11 +08:00
c9s
e1225d4127
add log insert option for sync 2022-06-06 12:24:18 +08:00
c9s
74f7e4181a
service: improve missing time range log 2022-06-06 12:15:06 +08:00
c9s
0a6deed305
service: fix QueryExistingDataRange 2022-06-06 11:46:18 +08:00
c9s
625bd0c5e4
fix order executor formatting 2022-06-06 07:23:16 +08:00
c9s
b209d94a9c
rename active order book constructor function 2022-06-06 06:57:25 +08:00
c9s
4dafa32e97
strategy: should always handle trade even if the strategy status is not running 2022-06-06 06:56:44 +08:00
c9s
2474aa777d
optimizer: fix parameter copy 2022-06-06 06:49:08 +08:00
c9s
43c2819d01
optimizer: copy param slice 2022-06-06 06:39:27 +08:00
c9s
0f6989af8b
service: avoid storing nil pointer to redis 2022-06-06 06:32:34 +08:00
c9s
a2cfea8acb
service: add stringer to TimeRange 2022-06-06 06:27:45 +08:00
c9s
be644bb91f
fix s.SyncKLineByInterval call 2022-06-06 06:24:25 +08:00
c9s
cb4c879942
backtest: copy the order object for updating status 2022-06-06 06:24:25 +08:00
c9s
f65b343ea6
service: clean up Verify method signature 2022-06-06 06:24:25 +08:00
c9s
41191c4db5
service: rewrite backtest verify 2022-06-06 06:24:24 +08:00
c9s
80d9c8a3be
update activeorderbook callback file 2022-06-06 06:03:49 +08:00
c9s
3786fc64f1
rename LocalActiveOrderBook to just ActiveOrderBook 2022-06-06 05:43:38 +08:00
c9s
1e27caa5e2
flashcrash: update local active book usage 2022-06-05 21:45:43 +08:00
c9s
1d340256ea
fix and simplify LocalActiveOrderBook 2022-06-05 18:12:26 +08:00
ankion
53f3df5ccf futures position no need to deduct fees 2022-06-05 16:33:08 +08:00
ankion
d90cf43d5a fix futures QuoteQuantity incorrect. 2022-06-05 16:33:08 +08:00
c9s
016ddfd8cd
pivotshort: also check isClosed 2022-06-05 13:14:17 +08:00
c9s
f883d42c58
pivotshort: avoid market sell again if position is already opened 2022-06-05 13:13:23 +08:00
c9s
629ae39095
fix var comparison 2022-06-05 13:09:32 +08:00
c9s
defff9b01d
pivotshort: add new found return value 2022-06-05 13:04:48 +08:00
c9s
f39ba4854d
pivotshort: add notify 2022-06-05 12:58:12 +08:00
c9s
74ee92832b
pivotshort: rename pivotBuffer to pivotLowPrices 2022-06-05 12:56:40 +08:00
c9s
32f324761e
pivotshort: market sell to open short 2022-06-05 12:55:36 +08:00
c9s
4bd322feb4
pivotshort: use notify and always collect trades 2022-06-05 12:51:45 +08:00
c9s
e7078edacd
pivotshort: add kline event handler and a todo 2022-06-05 12:48:54 +08:00
c9s
b20e1335c2
pivotshort: pull out market sell to a single method 2022-06-05 12:47:15 +08:00
c9s
f0578c5fa2
pivotshort: rename place order method 2022-06-05 12:40:41 +08:00
c9s
46b766857a
pivotshort: always collect trades after submitting orders 2022-06-05 12:40:08 +08:00
c9s
b9c32c7f7e
pivotshort: numLayers should be int 2022-06-05 12:37:35 +08:00
c9s
4b582830f0
remove timepoint map 2022-06-05 01:57:40 +08:00
c9s
c20e3fee4b
fix persistence unmarshalling issue 2022-06-05 01:48:56 +08:00
c9s
221a2d9dc7
fix persistence: calling type method on z zero value 2022-06-05 01:09:31 +08:00
c9s
39fcf1a51b
refactor sync command and add integration tests 2022-06-05 01:01:59 +08:00
c9s
425f8674d2
service: add kline partial sync 2022-06-04 19:15:11 +08:00
c9s
bf4d8d345e
service/backtest: implement backfill and time range scanner 2022-06-04 11:47:55 +08:00
c9s
9083881442
refactor exchange factory and solve the incorrect pkg import dependency from ftx 2022-06-04 11:47:55 +08:00
austin362667
9b8239abba pivotshort: add symbol name 2022-06-04 02:31:04 +08:00
austin362667
fcdc26e188 pivotshort: add init place order 2022-06-04 02:31:04 +08:00
c9s
6ceb54679a
add websocket log prefix 2022-06-04 00:39:24 +08:00
austin362667
5ca651a9b4 pivotshort: clean up field name 2022-06-03 23:28:48 +08:00
austin362667
af2d88d9a3 pivotshort: add immediate market sell 2022-06-03 23:23:26 +08:00
austin362667
9dab39849b pivotshort: clean up 2022-06-03 16:38:06 +08:00
austin362667
30be15dd34 pivotshort: add repay margin side effect 2022-06-03 15:48:49 +08:00
austin362667
2aac5bb273 pivotshort: improve post order & add margin 2022-06-03 15:48:49 +08:00
c9s
6936503cde
bollmaker: fix profit stats notification 2022-06-03 14:46:45 +08:00
c9s
3428aeba03
apply default exchange fee rate
fixes #566
2022-06-03 03:24:34 +08:00
c9s
4fc0687cf9
bollmaker: remove debug code 2022-06-03 03:14:19 +08:00
c9s
68d6e9e850
service: fix state loading (use correct ID method) 2022-06-03 03:10:50 +08:00
c9s
f7cdaff925
persistence: add store and load test case 2022-06-03 02:49:16 +08:00
c9s
7fce6a0fca
bollmaker: call persistence.Sync when position is changed 2022-06-03 02:44:00 +08:00
c9s
50d7d235a4
bollmaker: pull out functions 2022-06-03 02:44:00 +08:00
c9s
1a85299204
bollmaker: make detectPriceTrend simple function 2022-06-03 02:44:00 +08:00
Yo-An Lin
89c2e7de1e
Merge pull request #663 from c9s/fix/persistence-snapshot
test: add more test on Test_loadPersistenceFields
2022-06-03 02:09:52 +08:00
c9s
75bd5ffe32
ftx: fix kline time range check 2022-06-03 02:05:06 +08:00
c9s
55e9c7ee25
add more test on Test_loadPersistenceFields 2022-06-03 01:57:39 +08:00
c9s
0b6f7270ff
fix: drop IsZero 2022-06-03 01:15:08 +08:00
c9s
b1419a6f8b
ftx: add balance poller 2022-06-02 22:01:03 +08:00
c9s
3eb3a1f367
fix: ftx: add limit to ftx kline query 2022-06-02 21:51:22 +08:00
c9s
a7bd9239f2
fix: pull out time.now variable 2022-06-02 21:27:28 +08:00
c9s
32095e2741
fix: call abs on base for IsDust method 2022-06-02 21:06:52 +08:00
c9s
d27fee57ad
fix: do not load all trades into memory 2022-06-02 20:02:32 +08:00
c9s
d7c8b0b127
autoborrow: render balance map as SlackAttachment 2022-06-02 19:50:39 +08:00
Yo-An Lin
69c58ee38f
Merge pull request #656 from c9s/refactor/sync
refactor: drop unused function
2022-06-02 19:28:44 +08:00
c9s
5277098f70
add api .UnrealizedProfit and .IsDust method on Position 2022-06-02 18:05:35 +08:00
c9s
6a25f30b39
add IsLong and IsShort method on Position 2022-06-02 17:58:18 +08:00
c9s
e2f339e641
bollmaker: fix short position order 2022-06-02 17:55:14 +08:00
c9s
a2c7ebe90c
drop unused function 2022-06-02 17:24:54 +08:00
c9s
16322e19fe
service: set kline time to UTC 2022-06-02 16:53:17 +08:00
c9s
824951c3d5
batch: add remote query profiler 2022-06-02 16:52:34 +08:00
c9s
02a8bf4c8c
remove general rate limiter from batch query since it's already handled in the exchange 2022-06-02 16:52:33 +08:00
c9s
a878f35ca1
improve and fix kline sync 2022-06-02 16:52:33 +08:00
zenix
5faab1d55c fix: change from local timezone to UTC when do syncing 2022-06-02 17:12:17 +09:00
Yo-An Lin
38a6d8c813
Merge pull request #652 from c9s/refactor/sync
refactor/fix: withdraw sync
2022-06-02 14:03:54 +08:00
c9s
5d98674ab5
fix withdraw sync and improve withdraw string format 2022-06-02 13:56:24 +08:00
c9s
813166dd92
add TestWithdrawBatchQuery test 2022-06-02 13:56:24 +08:00
c9s
b36be80fd7
implement withdraw batch query 2022-06-02 13:56:23 +08:00
c9s
e11e0c97b8
types: update SupportedExchanges slice with correct types 2022-06-02 13:56:23 +08:00
c9s
c4f8b11f98
types: fix const type declaration 2022-06-02 13:56:23 +08:00
Andy Cheng
bf385899b9 strategy: use private for non-exported fields and functions 2022-06-02 13:47:16 +08:00
c9s
5527b3c48a
rename Withdrawal to Withdraw since it's a noun 2022-06-02 11:42:03 +08:00
c9s
c0f5c1963e
refactor and clean up withdraw history query method 2022-06-02 11:40:05 +08:00
c9s
e5ca6504f5
binance: add get_withdraw_history_request 2022-06-02 11:32:21 +08:00
Yo-An Lin
47098b08dd
Merge pull request #650 from austin362667/fix/persistence
Fix: Persistence Reflect IsZero
2022-06-02 02:32:36 +08:00
c9s
165b4fdb20
binance: remove loop from the withdraw history api 2022-06-02 02:31:46 +08:00
c9s
35ac5e1671
service/order: remove unused queryLast method 2022-06-02 02:13:42 +08:00
c9s
d6f144069d
service: refactor closed order sync method 2022-06-02 02:12:38 +08:00
c9s
f87a0ab316
autoborrow: add json tags 2022-06-02 01:53:22 +08:00
c9s
34e1b642d1
autoborrow: add exchange name to the margin action struct 2022-06-02 01:51:03 +08:00
c9s
4f842c521a
fix log message 2022-06-02 01:47:55 +08:00
c9s
8aec251a62
max: fix v3 loan/repay api path 2022-06-02 01:41:41 +08:00
c9s
ae8625da31
max: net asset should substract debt 2022-06-02 01:34:14 +08:00
c9s
92882f68f4
max: add borrow and repay todo 2022-06-02 01:28:33 +08:00
c9s
78f9c7d569
improve autoborrow checks 2022-06-02 01:27:04 +08:00
austin362667
f9bb2ae149 bbgo: fix persistence reflect IsZero check 2022-06-01 21:57:35 +08:00
c9s
4e666dee98
max: implement margin borrow and repay service on max 2022-06-01 20:44:24 +08:00
c9s
01822eee28
max: use v3 order api to submit orders 2022-06-01 20:34:20 +08:00
Yo-An Lin
b19ae857d3
Merge pull request #649 from c9s/feature/binance-margin-history
fix: max: fix QueryAccount for margin wallet
2022-06-01 19:58:54 +08:00
c9s
50accc5a2c
max: fix QueryAccount for margin 2022-06-01 19:56:10 +08:00
Yo-An Lin
bef73cf880
Merge pull request #648 from c9s/feature/binance-margin-history
feature: binance margin history sync support
2022-06-01 19:43:07 +08:00
c9s
b070952b32
service/sync: rewrite trade sync with syncTask 2022-06-01 19:40:30 +08:00
c9s
415450acb7
service/sync: add onLoad event support 2022-06-01 19:40:29 +08:00
c9s
fb63346732
service/reflect: add more debug logs 2022-06-01 19:40:29 +08:00
c9s
dfe29e07e7
service/margin: fix query ordering 2022-06-01 19:40:29 +08:00
c9s
991d13cb32
cmd/sync: support multiple session names 2022-06-01 19:40:29 +08:00
c9s
1a85e62993
service: integrate margin service into the sync service 2022-06-01 19:40:29 +08:00
c9s
5bb98734fb
batch: set jump if empty field 2022-06-01 19:40:29 +08:00
c9s
484fc62892
batch: set jump if empty field 2022-06-01 19:40:29 +08:00
c9s
118dc07e10
service: fix reflect rows scan 2022-06-01 19:40:29 +08:00
c9s
5a4a2db66f
service: add time function 2022-06-01 19:40:29 +08:00
c9s
5eaa4706f0
binance: set exchange field for margin records 2022-06-01 19:40:29 +08:00
c9s
63ad635f62
cmd: rewrite sync command 2022-06-01 19:40:29 +08:00
c9s
cf19ed6f26
refactor environment sync method 2022-06-01 19:40:29 +08:00
c9s
f4e7f4f6f6
add margin history entry in config 2022-06-01 19:40:29 +08:00
c9s
bdc76e8db6
types: add gid field 2022-06-01 19:40:29 +08:00
c9s
279e4d8682
service: refactor sync task 2022-06-01 12:02:15 +08:00
Andy Cheng
205921ea42 strategy: remove HasTradableBase() 2022-06-01 10:54:13 +08:00
Andy Cheng
cd96c01131 strategy: use Market.IsDustQuantity instead 2022-06-01 10:51:57 +08:00
Andy Cheng
237d1205e8 strategy: check update balance response in calculateQuantity 2022-06-01 10:26:04 +08:00
Yo-An Lin
a56bec9dc9
Merge pull request #644 from c9s/feature/binance-margin-history
feature: sync binance margin history into db
2022-05-31 17:48:12 +08:00
c9s
f116b7b2d0
service: add margin liqudiation sync task 2022-05-31 17:43:17 +08:00
c9s
bf92e28461
service: implement margin service for syncing margin related data 2022-05-31 17:43:17 +08:00
c9s
7601f08786
compile and update migration package 2022-05-31 17:32:55 +08:00
c9s
79fbad1266
migrations: add margin_liquidations table 2022-05-31 17:31:15 +08:00
Andy Cheng
6285e145a7 strategy: margin side effect 2022-05-31 15:46:55 +08:00
zenix
a2a186cfbb feature: add emv indicator, fix: sma 2022-05-31 16:28:38 +09:00
Andy Cheng
3421423cd6 strategy: update balance for exchanges like FTX 2022-05-31 14:30:37 +08:00
Andy Cheng
a5124c743f strategy: supertrend strategy TP/SL 2022-05-31 12:53:14 +08:00
c9s
c3f2c9eb4a
batch: add margin loan/repay/interest batch query 2022-05-31 01:19:38 +08:00
c9s
e66eb08db4
batch: refactor batch query 2022-05-31 00:59:33 +08:00
c9s
7add014a2b
service: use upper case sql keywords 2022-05-30 18:11:17 +08:00
c9s
f29e8bd6d2
service: use reflect to generate insert sql 2022-05-30 18:08:54 +08:00
c9s
2dc825f654
types: add db tag 2022-05-30 18:08:54 +08:00
c9s
d72b56f51f
binance: refine liquidation history api 2022-05-30 18:08:54 +08:00
Andy Cheng
d72a4e8e94 strategy: supertrend strategy config example 2022-05-30 16:48:07 +08:00
Andy Cheng
756284378b strategy: supertrend strategy control 2022-05-30 16:35:10 +08:00
Andy Cheng
44469ed3aa strategy: supertrend position control 2022-05-30 16:26:17 +08:00
Andy Cheng
07fe68d740 strategy: Validate() 2022-05-30 16:22:13 +08:00
Andy Cheng
0e1e5369f2 strategy: leverage parameter 2022-05-30 16:07:36 +08:00
Andy Cheng
1d24379c17 strategy: refactor supertrend sconfig 2022-05-30 14:52:51 +08:00
Zenix
8652b4e043
Merge pull request #633 from zenixls2/fix/ewo_entry
Fix/ewo entry, backtest
2022-05-30 15:47:46 +09:00
zenix
e3a8ef4e69 fix: statistics on entry/exit on signal changes, fix position check 2022-05-30 12:45:52 +09:00
austin362667
c904f9f0f7 strategy: add fmaker
fmaker: cleanup
2022-05-29 21:39:11 +08:00
c9s
61a53947ee
binance: re-organize convert functions 2022-05-29 12:03:21 +08:00
c9s
11075b0d1a
cmd: add marginInterestsCmd 2022-05-29 12:01:20 +08:00
c9s
4a4699a4bc
cmd: add margin repays cmd 2022-05-29 11:53:36 +08:00
c9s
70f0dccb9f
binance: convert loans and repays to global types 2022-05-29 11:52:25 +08:00
c9s
409ad9b75c
binance: adjust margin history interface 2022-05-29 01:42:08 +08:00
c9s
f58f44ffd8
binance: refactor query methods 2022-05-29 01:21:43 +08:00
c9s
4c30fce917
binance: add GetMarginInterestHistoryRequest api 2022-05-29 01:13:33 +08:00
c9s
e72f8bcd15
binance: fix and rename margin liquidation history request 2022-05-29 00:57:46 +08:00
c9s
1ab10eb574
binance: fix and add loan/repay history test 2022-05-29 00:52:22 +08:00
c9s
aec9de8dd6
types: define global margin history types 2022-05-28 17:34:29 +08:00
c9s
4f0ac41850
max: generate missing files 2022-05-28 16:52:02 +08:00
c9s
fcdf0f8168
max: rename methods 2022-05-28 16:48:51 +08:00
c9s
753d7a8d5e
max: rename requests 2022-05-28 16:47:41 +08:00
c9s
cef002ccb6
move type alias 2022-05-28 16:06:16 +08:00
Yo-An Lin
5c5a88fe0e
Merge pull request #636 from c9s/feature/max-margin-wallet
fix: max: fix trades/orders parsing
2022-05-27 19:55:22 +08:00
c9s
887fe09b44
max: add margin level info the account 2022-05-27 19:48:03 +08:00
c9s
c891cc56e3
max: fix trades/orders parsing 2022-05-27 19:48:03 +08:00
Andy Cheng
39b0013513 strategy: supertrend strategy tp/sl 2022-05-27 18:24:08 +08:00
Yo-An Lin
fd10408fdb
Merge pull request #635 from c9s/feature/max-margin-wallet
feature: max margin wallet
2022-05-27 16:55:30 +08:00
Yo-An Lin
424c235b43
Merge pull request #617 from andycheng123/improve/bollmaker-dynamic-spread
feature: bollmaker dynamic spread
2022-05-27 16:55:20 +08:00
c9s
d792f3b83b
max: drop unused url ref vars 2022-05-27 16:46:56 +08:00
c9s
60d65a390f
max: add margin api (liquidation history and interest history) 2022-05-27 16:40:56 +08:00
Andy Cheng
98b794f265 strategy: DynamicSpreadSettings struct to make it more clean 2022-05-27 16:24:50 +08:00
c9s
410a9610c9
max: add margin api (loan, repay, ad ratio) 2022-05-27 16:13:01 +08:00
c9s
37ef5c4b97
max: add margin api (liquidation history and interest history) 2022-05-27 15:04:47 +08:00
Andy Cheng
bf26076112 strategy: prototype of supertrend strategy 2022-05-27 14:36:48 +08:00
c9s
8721679f74
max: update market struct fields 2022-05-26 20:32:25 +08:00
c9s
d9e10b7fcd
max: integrate v3 orders api 2022-05-26 19:52:38 +08:00
c9s
6ca71cf9f1
max: simplify constructor 2022-05-26 18:49:50 +08:00
c9s
2d20083244
max: pull out http transport and register order service v3 2022-05-26 18:49:18 +08:00
c9s
c1ba270d76
max: log max.DebtEvent 2022-05-26 18:07:17 +08:00
なるみ
c99be984d1 rebalance: place limit orders 2022-05-26 17:28:48 +08:00
c9s
4d8ea7d979
max: log adratio 2022-05-25 20:34:25 +08:00
c9s
459d839c1a
max: parse debt 2022-05-25 20:12:16 +08:00
c9s
2ffbb2ed82
max: add ad_ratio_update type 2022-05-25 20:06:51 +08:00
c9s
a74ad31ea0
max: parse ADRatio message 2022-05-25 20:06:17 +08:00
c9s
83abf14f3b
max: add updateTime field parse 2022-05-25 19:52:29 +08:00
zenix
e81216e678 fix: TP compare direction in ewo, feature: add trade report fro ewo, fix: db lock on insertion in sqlite3 2022-05-25 16:11:19 +09:00
c9s
f65821d4fd
max: add mwallet message type to parser 2022-05-25 14:42:45 +08:00
c9s
9f0d975b57
max: add filters when margin is on 2022-05-25 14:40:43 +08:00
c9s
e5e505d65e
max: apply margin settings struct 2022-05-25 14:38:09 +08:00
c9s
eccee460ca
max: add filters field to the auth message 2022-05-25 13:51:24 +08:00
zenix
c6bad0ba08 fix: tv chart, price direction in backtest 2022-05-25 01:48:14 +09:00
zenix
99122f44bc fix: backtest kline prev close -> new open, pass exchange as pointer (for Mutex passing), ewo add filter ma34 2022-05-24 23:05:01 +09:00
c9s
0ee23e0ce4
max: refactor order sort method into the types package 2022-05-24 18:07:34 +08:00
c9s
680231e0c5
max: drop legacy queryAllClosedOrders method 2022-05-24 18:04:33 +08:00
c9s
9d459612a4
maxapi: add wallet type validation 2022-05-24 18:00:52 +08:00
c9s
79893f4b88
define wallet type and separate wallet order api 2022-05-24 17:48:08 +08:00
c9s
c6ede883ce
add max v3 api 2022-05-24 17:40:00 +08:00
zenix
dbe0fbcd4c fix: split implementation, fix code comments, add explanation on ewo params 2022-05-24 16:19:00 +09:00
c9s
a66bae47fe
add v3 order endpoint 2022-05-23 18:34:08 +08:00
c9s
d88e41c20c
remove unused client field 2022-05-23 15:48:44 +08:00
c9s
35375c84c1
use requestgen.BaseAPIClient 2022-05-23 14:28:28 +08:00
Andy Cheng
944856eb72 strategy: fix typo 2022-05-23 12:58:45 +08:00
Andy Cheng
bb4d6e61b0 strategy: fix typo 2022-05-23 12:06:24 +08:00
Andy Cheng
64b1ec3780 strategy: update calculation of dynamic spread 2022-05-23 11:37:57 +08:00
c9s
18fc68f6c6
backtest: fix order update_time update in the matching engine
fixes: #631
2022-05-22 02:40:26 +08:00
c9s
f06ec76618
backtest: check quoteQuantity only when price is given 2022-05-22 01:19:43 +08:00
c9s
b9f0159537
add error handling 2022-05-20 18:57:41 +08:00
c9s
728190a78f
compile and update migration package 2022-05-20 16:36:38 +08:00
c9s
d70a5d79b5
compile and update migration package 2022-05-20 16:29:45 +08:00
c9s
b8eb036556
simplify ftx kline sync call 2022-05-20 14:06:37 +08:00
c9s
b9b2b8727a
avoid emitting duplicated kline 2022-05-20 13:37:28 +08:00
c9s
b61af0db39
optimizer: add metrics label 2022-05-20 01:53:51 +08:00
c9s
95c9fe4502
return metrics as a optimizer result 2022-05-20 01:42:32 +08:00
c9s
5c92bc5d66
use UTC time for position 2022-05-20 01:27:05 +08:00
c9s
9b10f87b97
types: use UTC time for order tsv 2022-05-20 01:27:05 +08:00
c9s
369afa8ab1
merge used intervals 2022-05-20 00:50:58 +08:00
c9s
590748b71d
tsv writer already flush the content before close handle 2022-05-20 00:37:29 +08:00
c9s
b4b4546220
sort metrics 2022-05-19 20:36:56 +08:00
c9s
b3da6caddb
optimizer: fix op builder 2022-05-19 20:31:25 +08:00
c9s
960f967c34
aggregate total profit and total unrealized profit 2022-05-19 18:45:45 +08:00
c9s
7056853ecd
implement grid optimizer and local process executor 2022-05-19 18:23:12 +08:00
c9s
32ce36fda7
implement json patch for optimizer 2022-05-19 17:27:59 +08:00
c9s
fd45f801e2
improve embed tool 2022-05-19 10:49:26 +08:00
c9s
40b3192e55
use config.GetAccount to avoid error 2022-05-19 10:04:03 +08:00
c9s
13bf5d69a3
use types.Interval instead of string 2022-05-19 10:04:03 +08:00
Andy Cheng
b41cef4bd7 strategy: use scale for dynamic spread 2022-05-18 14:31:59 +08:00
Yo-An Lin
e57c39e665
Merge pull request #605 from c9s/feature/backtest-report
feature: add web-based back-test report
2022-05-18 02:21:55 +08:00
c9s
f3f6e4e68b
collect symbols 2022-05-18 02:05:57 +08:00
c9s
7dffccb3bf
clean up unused code 2022-05-18 00:50:14 +08:00
c9s
b51d6b4ba1
refactor report structure and rewrite manifest paths 2022-05-17 22:59:34 +08:00
c9s
06e2902e5e
add file lock for report index 2022-05-17 22:41:39 +08:00
c9s
620e465bcf
refactor symbol report 2022-05-17 22:31:50 +08:00
austin362667
bb94d4a1bd pivotshort: clean up strategy 2022-05-17 19:18:21 +08:00
austin362667
f1c0ef4e07 indicator: refactor move pivot 2022-05-17 19:18:21 +08:00
austin362667
62d11181a4 pivotshort: clean up 2022-05-17 19:18:21 +08:00
austin362667
2c4a52ba30 pivot: fix futures & spot clean up
pivot: clean up
2022-05-17 19:18:21 +08:00
austin362667
8ab696deaa pivotshort: rename strategy & fix pivot indicator 2022-05-17 19:18:21 +08:00
austin362667
1a441425b5 strategy: pivot: add shadow TP
strategy: pivot: add shadow TP
2022-05-17 19:18:21 +08:00
austin362667
04ae49263d cmd: add built-in pivot strategy 2022-05-17 19:18:21 +08:00
austin362667
60a8c1f42b WIP: strategy: pivot: pivot low shorting strategy 2022-05-17 19:18:21 +08:00
Andy Cheng
7d3181f3fd strategy: update dynamic spread after kline being filtered 2022-05-17 19:00:02 +08:00
c9s
b5f9f86944
define DefaultBacktestAccount 2022-05-17 18:45:06 +08:00
c9s
6acd426f07
refactor backtest report index function 2022-05-17 18:25:05 +08:00
c9s
1cc4c69c66
move and refactor functions 2022-05-17 18:23:09 +08:00
c9s
6c0165afe4
add report index file 2022-05-17 18:10:37 +08:00
Andy Cheng
db62352e6e strategy: temp vars for faster calculation 2022-05-17 10:43:18 +08:00
c9s
e651b9d36f
fix kline dumper 2022-05-17 01:33:44 +08:00
c9s
f99e874072
add tsv writer 2022-05-17 01:33:43 +08:00
c9s
b4a79479fd
add pkg/strategy/ewoDgtrd/trylock_18.go 2022-05-17 01:33:24 +08:00
c9s
343434685b
rollback to go1.17 and make try lock backward compatible 2022-05-17 01:32:51 +08:00
Zenix
356ec71570
Merge pull request #610 from zenixls2/feature/liveSLTP
feature: SLTP from bookticker. fix: bookTicker typename, depth buffer…
2022-05-16 20:41:15 +09:00
zenix
641d08c3d2 fix: disable book tick log 2022-05-16 20:37:08 +09:00
Andy Cheng
3c094a195b strategy: check min/max spread settings 2022-05-16 12:57:00 +08:00
Yo-An Lin
f37e407f99
Merge pull request #614 from jessy1092/ftx-support-interval
ftx: Let FTX support 4hr interval
2022-05-16 01:43:17 +08:00
Lee
8797e18959 ftx: Let FTX support 4hr interval 2022-05-16 01:23:38 +08:00
Yo-An Lin
1f1fcdedc4
Merge pull request #592 from narumiruna/coinmarketcap-api
feature: add CoinMarketCap API
2022-05-14 12:52:38 +08:00
Yo-An Lin
d4e342123d
Merge pull request #613 from c9s/bollmaker-set-exchange-fee
bollmaker: set exchange fee to position
2022-05-14 12:51:57 +08:00
c9s
d326494d57
set exchange fee to position 2022-05-13 22:30:04 +08:00
Yo-An Lin
fd7ce5307f
Merge pull request #609 from COLDTURNIP/fix/profit_symbol_length
Fix error: Data too long for profits column 'symbol'
2022-05-13 22:28:13 +08:00
zenix
382e6ee0fb fix: error exit on wrong subscription in backtest. NaN issue in stoch indicator. feature: position management in ewo 2022-05-13 22:58:35 +09:00
Andy Cheng
64a760cf32 strategy: dynamic spread for bollmaker 2022-05-13 17:58:46 +08:00
c9s
eac0117e02
add adjustment orders 2022-05-13 13:01:03 +08:00
Raphanus Lo
e968688e7f fix sqlite column modification 2022-05-13 10:20:47 +08:00
c9s
e950ee9559
add wall strategy 2022-05-12 22:51:39 +08:00
zenix
2bea47003f feature: add InstanceID for report 2022-05-12 20:02:34 +09:00
zenix
71fe6c2d26 feature: SLTP from bookticker. fix: bookTicker typename, depth buffer error message 2022-05-12 19:43:04 +09:00
Raphanus Lo
075028f8fc Fix symbol length in profits
This change fixes "Error 1406: Data too long for column 'symbol' at row 1"
for pair symbol longer than 8 chars.

Fixes #608
2022-05-12 18:24:14 +08:00
なるみ
5d096d39bb use requestgen.BaseAPIClient 2022-05-12 16:41:42 +08:00
なるみ
65606b2c66 add listings request 2022-05-12 01:59:42 +08:00
zenix
668328dd16 fix: message typo 2022-05-11 21:22:22 +08:00
zenix
51e2343299 fix: add more live logs to ewo 2022-05-11 21:22:22 +08:00
zenix
5fa9e930d3 fix: wrong balance, wrong bottom/peak, feature: stdev 2022-05-11 21:22:22 +08:00
Yo-An Lin
88cbafe936
Merge pull request #603 from c9s/feature/backtest-report
feature: backtest report - #2 state recorder
2022-05-11 18:56:26 +08:00
c9s
4e4912ebdc
backtest: update order update time when new trade happen 2022-05-11 15:04:11 +08:00
c9s
323c94149d
add side column to orders.csv 2022-05-11 15:00:09 +08:00
c9s
0ae8c295e2
refactor csv writer 2022-05-11 14:58:52 +08:00
c9s
e947a05cbd
add defer close 2022-05-11 14:37:45 +08:00
c9s
479de002a6
record equity curve 2022-05-11 14:36:18 +08:00
c9s
11d0823782
cmd: refactor back-test command 2022-05-11 13:59:44 +08:00
c9s
6e1f9d6a4e
add backtest exchange to the kline handler function 2022-05-10 19:10:16 +08:00
Zenix
54c946bac0
Merge pull request #599 from zenixls2/feature/cci
feature: add cci indicator
2022-05-10 19:54:54 +09:00
c9s
5f68064ac6
pull out writeJsonFile function 2022-05-10 18:27:23 +08:00
zenix
2bbb36031c fix: index range in float64slice and wrong formula given by investopedia, test: add cci test 2022-05-10 17:15:26 +09:00
c9s
24464fdcb6
define ManifestEntry type 2022-05-10 14:23:11 +08:00
c9s
867047a1a2
backtest: improve manifest struct 2022-05-10 14:21:19 +08:00
c9s
6fbb082d5f
support manifest json encoding in backtest report 2022-05-10 14:05:44 +08:00
c9s
7b17b1a757
integrate state recorder 2022-05-10 13:31:23 +08:00
c9s
185a8279b2
implement state recorder 2022-05-10 12:44:51 +08:00
c9s
2e5b818a75
add balance snapshot type 2022-05-10 01:47:15 +08:00
c9s
54debaf979
remove stock field from report 2022-05-10 01:11:12 +08:00
c9s
2ddff59de6
add report header 2022-05-10 01:10:36 +08:00
c9s
f4991dbbfa
fix time printing 2022-05-10 01:09:40 +08:00
c9s
f6d95a49be
print start time and end time 2022-05-10 01:07:30 +08:00
c9s
5b443f0aeb
add start time and end time to the report struct 2022-05-10 01:06:16 +08:00
c9s
b11c4c7337
turn off UseTickerPrice when in the back-testing environment 2022-05-09 19:42:39 +08:00
c9s
6965baa8dd
cmd: add directory error checking 2022-05-09 19:40:49 +08:00
c9s
bff73a3a80
format backtest report session name 2022-05-09 19:27:02 +08:00
c9s
428e208120
cmd: add backtest --session option to make it backward compatible 2022-05-09 19:14:24 +08:00
c9s
0780dafdc3
add IsBackTesting method for checking environment mode 2022-05-09 18:58:09 +08:00
zenix
2311fbd95c feature: add cci indicator 2022-05-09 19:55:14 +09:00
c9s
234932bc0c
add kline dumper 2022-05-09 18:03:03 +08:00
c9s
6f16f32e16
optimize single exchange back-test 2022-05-09 17:03:01 +08:00
zenix
c81af9ce91 fix: binance futures sync issue 2022-05-09 15:04:51 +09:00
c9s
3af08abef2
ftx: fix ftx api get markets request 2022-05-08 18:36:25 +08:00
Yo-An Lin
278eb937ac
Merge pull request #593 from narumiruna/simplify-request
glassnode: simplify NewAuthenticatedRequest
2022-05-06 22:11:30 +08:00
Andy Cheng
c9ba81fcbb strategy: Update bollmaker to support new strategy controller 2022-05-06 16:52:00 +08:00
Yo-An Lin
c3c35c2240
Merge pull request #575 from c9s/feature/binance-margin-load-api
feature: binance: add get deposit address request
2022-05-06 11:53:50 +08:00
c9s
82c7c024ce
bbgo: add persistence Sync api 2022-05-05 18:18:38 +08:00
c9s
f3691489dd
add state key as the prefix 2022-05-05 18:18:38 +08:00
c9s
6635fd749d
xmaker: migrate xmaker persistence 2022-05-05 15:05:38 +08:00
c9s
10a7928580
extract NewProfitStats method 2022-05-05 14:48:50 +08:00
c9s
c3db85443e
bollmaker: add Deprecated note 2022-05-05 14:47:06 +08:00
c9s
3140b7e2ef
bollmaker: remove unnecessary log 2022-05-05 14:41:11 +08:00
c9s
019e6a2a88
improve legacy state handling and move fnv 2022-05-05 14:39:29 +08:00
c9s
7378c63cb7
cmd: call SaveState and LoadState for normal run 2022-05-05 14:28:42 +08:00
c9s
57c43936d6
ignore service.ErrPersistenceNotExists error 2022-05-05 14:04:44 +08:00
c9s
57a9647401
add more test case and simplify return stmt 2022-05-05 13:16:46 +08:00
c9s
4cf1f0a91a
add func type StructFieldIterator 2022-05-05 13:06:02 +08:00
c9s
30c85d2969
pull out callID method call 2022-05-05 13:05:01 +08:00
c9s
21f81dec29
implement reflect-based persistence restore and load 2022-05-05 12:53:48 +08:00
なるみ
98a35a485f glassnode: use requestgen.BaseAPIClient 2022-05-05 11:05:27 +08:00
c9s
18eab1fbd3
move graceful shutdown to a single file 2022-05-05 09:56:21 +08:00
c9s
58e8da914e
bollmaker: migrating state.position to strategy.position 2022-05-05 09:54:50 +08:00
c9s
3f734e6236
bump version to v1.32.0 2022-05-05 09:04:04 +08:00
なるみ
9c66930537 glassnode: simplify NewAuthenticatedRequest 2022-05-05 01:39:57 +08:00
c9s
f65ecbdbb5
max: add net asset field to max's balance 2022-05-04 21:43:59 +08:00
c9s
2a02c4928c
move balance test 2022-05-04 21:40:16 +08:00
c9s
8ec47a4aaa
add interest field to Asset 2022-05-04 21:38:18 +08:00
c9s
e903bd5f69
add Balance.Add method 2022-05-04 21:33:22 +08:00
c9s
d5b203a925
render borrowed in the attachment 2022-05-04 19:32:29 +08:00
c9s
573f8bb221
use net asset to calculate inUSD 2022-05-04 19:26:26 +08:00
c9s
ef419f75ab
net asset should sub interest 2022-05-04 19:13:55 +08:00
c9s
5dd969fa6f
compile and update migration package 2022-05-04 19:13:55 +08:00
c9s
30c9d251fe
change column to net_asset_in_* to avoid confusion 2022-05-04 19:13:55 +08:00
c9s
5662c5c680
use findUSDMarketPrice to get btc price 2022-05-04 17:56:03 +08:00
c9s
413c5c0479
add comment for the price cal 2022-05-04 17:47:34 +08:00
c9s
08a1819bd3
fix price in usd 2022-05-04 17:45:28 +08:00
c9s
4404098bf9
fix balance map add 2022-05-04 17:39:35 +08:00
c9s
75adb8f3c3
fix usd prices caculation 2022-05-04 17:27:58 +08:00
c9s
36c764efa9
refactor balance, asset and remove price cache check 2022-05-04 17:17:09 +08:00
c9s
f33e8a3de2
calculate netAsset if it's zero 2022-05-04 17:08:42 +08:00
c9s
1844035abb
fix asset calculation 2022-05-04 16:56:31 +08:00
c9s
c4e1cd9480
binanceapi: add GetForceLiquidationRecordRequest api 2022-05-04 16:27:28 +08:00
c9s
2008f179a2
binance: add GetDepositHistoryRequest 2022-05-04 16:27:28 +08:00
c9s
ed8ff89f34
binance: add type alias from github.com/adshao/go-binance/v2 2022-05-04 16:27:28 +08:00
c9s
434434c8d9
binanceapi: add withdraw request 2022-05-04 16:27:28 +08:00
c9s
0fd560d699
binance: add NewGetDepositAddressRequest api 2022-05-04 16:27:28 +08:00
c9s
c3c1666154
binance: add get deposit address request 2022-05-04 16:27:28 +08:00
Yo-An Lin
8cf9218dce
Merge pull request #584 from c9s/add-nav-columns
feature: record nav values into db
2022-05-04 16:25:04 +08:00
c9s
450517d159
bbgo: do not write trade when writing position 2022-05-04 16:21:53 +08:00
c9s
0e417f6f71
xnav: rename assets to allAssets 2022-05-04 16:21:53 +08:00
c9s
0061a5910b
use the same price time 2022-05-04 16:21:53 +08:00
c9s
754d10c3d0
use interval instead of duration 2022-05-04 16:21:53 +08:00
c9s
d78e0c607a
xnav: pass session to the record assets method call 2022-05-04 16:21:53 +08:00
c9s
6ed6f15b75
interact: use debug log instead of info 2022-05-04 16:21:53 +08:00
c9s
40c2de3259
fix: remove zeroed fields 2022-05-04 16:21:53 +08:00
c9s
8a93f0921f
add more margin info columns 2022-05-04 14:40:52 +08:00
c9s
01273f7c4c
compile and update migration package 2022-05-04 14:40:52 +08:00
c9s
5cd7e61006
xnav: support asset recording 2022-05-04 14:23:46 +08:00
c9s
95f7d85183
bbgo: pass price time into the asset conversion function 2022-05-04 14:23:46 +08:00
c9s
3b25db31df
types: extend balance map methods 2022-05-04 14:22:51 +08:00
c9s
5a00e2fe20
add account service test 2022-05-03 23:36:44 +08:00
なるみ
aa29fde9e3 indicator: add test case for boll 2022-05-03 22:28:40 +08:00
c9s
2c70509ee8
add recordAsset method 2022-05-03 19:26:52 +08:00
c9s
d93fd3cc48
service: insert asset fields 2022-05-03 17:51:47 +08:00
c9s
2fba2c335b
types: check borrowed fields 2022-05-03 17:44:31 +08:00
c9s
e0086a45cb
update asset borrowed, netAsset, priceInUSD fields 2022-05-03 17:40:57 +08:00
Yo-An Lin
9c08bea065
Fix accounts field 2022-05-03 17:32:10 +08:00
c9s
e1dcc7c6d3
types: extend asset struct fields 2022-05-03 16:54:39 +08:00
c9s
c9c16f1e47
show missing exchange name in the back-test config 2022-05-03 16:46:38 +08:00
Yo-An Lin
9689ec079d
Merge pull request #581 from c9s/add-sync-exchange-option
feature: add --sync-exchange option to override backtest sync exchanges
2022-05-03 12:55:44 +08:00
c9s
270d82e818
bump version to v1.31.4 2022-05-03 12:43:28 +08:00
Yo-An Lin
159c972d8b
Merge pull request #582 from c9s/rename-backtest-account-to-accounts
improve: backtest: rename backtest.account to backtest.accounts
2022-05-03 12:41:32 +08:00
Yo-An Lin
81ce9218b5
Merge pull request #580 from c9s/fix/okex-rate-limit
fix: fix okex rate limit
2022-05-03 12:40:46 +08:00
c9s
946bbdbca3
backtest: rename backtest.account to backtest.accounts 2022-05-03 12:18:40 +08:00
c9s
f2edd24029
add --sync-exchange option to override backtest sync exchanges 2022-05-03 12:12:39 +08:00
c9s
eb10889d35
okex: fix okex rate limit 2022-05-03 12:11:50 +08:00
c9s
b611a42bd9
kucoin: fix kucoin rate limit 2022-05-03 12:11:02 +08:00
c9s
d742aea633
okex: fix kline query 2022-05-03 11:14:53 +08:00
c9s
351426ecdd
bump version to v1.31.3 2022-05-02 11:56:23 +08:00
c9s
fa2eb87268
fix: sync can be nil 2022-05-02 11:55:40 +08:00
c9s
9875b52372
bump version to v1.31.2 2022-05-02 10:40:21 +08:00
c9s
2bdcf2266d
fix default sync logic 2022-05-02 10:39:59 +08:00
Yo-An Lin
faccc64377
Merge pull request #576 from zenixls2/update/ewoDgtrd
feature: add atr stoploss on ewoDgtrd strategy
2022-05-01 01:42:00 +08:00
c9s
ba1370a05d bump version to v1.31.1 2022-05-01 01:23:27 +08:00
c9s
eb10244e40 compile and update migration package 2022-05-01 01:23:27 +08:00
Yo-An Lin
9ec5ca710c
Merge pull request #578 from c9s/c9s-patch-1
fix: use time.UTC instead of time.Local
2022-05-01 01:18:19 +08:00
c9s
2897f5af93 bump version to v1.31.1 2022-05-01 01:16:14 +08:00
c9s
ce54e917a2 compile and update migration package 2022-05-01 01:16:10 +08:00
c9s
486cf50a9c bbgo: fix init band width setup 2022-05-01 01:12:57 +08:00
Yo-An Lin
a954f0e595
use time.UTC instead of time.Local 2022-04-29 14:06:22 +08:00
zenix
4eab82ee7b feature: add atr stoploss on ewoDgtrd strategy. remove callback. modify filter condition and add doc 2022-04-28 20:09:15 +09:00
なるみ
c67bfc9a71 move glassnode to datasource 2022-04-27 18:16:54 +08:00
なるみ
0ec8ec6498 glassnode: query futures open interest 2022-04-27 18:16:54 +08:00
なるみ
b87eda3bbb move files to glassnodeapi 2022-04-27 18:16:54 +08:00
c9s
044470377b
avoid using the iterator variable 2022-04-27 17:13:58 +08:00
c9s
1f736d1f5e
binance: update stream order fields 2022-04-27 14:43:39 +08:00
c9s
ce6fd387be
remove unused ConvertTrades 2022-04-27 14:29:58 +08:00
c9s
1c1fbb1633
bbgo: document strategy id and pnl field 2022-04-27 13:30:07 +08:00
c9s
5edaa9708c
bbgo: fix margin order/trade sync 2022-04-27 13:25:42 +08:00
c9s
c9fd4c9a1d
bump version to v1.31.0 2022-04-27 13:02:18 +08:00
Yo-An Lin
14a29df975
Merge pull request #565 from c9s/fix/trade-sync
fix: service: correct QueryLast query
2022-04-27 12:40:05 +08:00
c9s
6630d3f56b
service: correct QueryLast query 2022-04-27 11:42:31 +08:00
Andy Cheng
8c353421d8 interact: Remove status from strategy signature 2022-04-26 21:05:26 +08:00
Andy Cheng
1a13826505 interact: refactor generateStrategyButtonsForm() 2022-04-26 19:11:50 +08:00
Yo-An Lin
9588064f19
Merge pull request #561 from zenixls2/fix/ma
fix: window update in indicators. add: CA, TMA
2022-04-26 18:56:32 +08:00
Yo-An Lin
44e51e966a
Merge pull request #563 from c9s/rockhopper-upgrade
upgrade rockhopper
2022-04-26 18:56:10 +08:00
c9s
085ba1e323
compile and update migration package 2022-04-26 18:48:27 +08:00
Andy Cheng
eb1beb05d1 interact: rename functions to private functions 2022-04-26 18:32:41 +08:00
Andy Cheng
7326a1b21d strategy: fix wrong string formatting syntax 2022-04-26 18:29:22 +08:00
Andy Cheng
6b62f27155 feature: make callback vars start with lowercase 2022-04-26 18:29:22 +08:00
Andy Cheng
61b6755518 interact: GetStrategySignatures() returns map[string]SingleExchangeStrategy instead of slice of strategy signatures 2022-04-26 18:29:22 +08:00
Andy Cheng
7b3e369766 feature: use LocalActiveOrderBook for cancelling open orders for strategy controller in support strategy 2022-04-26 18:29:22 +08:00
Andy Cheng
26a5114182 feature: adapt callbackgen style strategy controller in support strategy 2022-04-26 18:29:22 +08:00
Andy Cheng
cf8603e30b feature: use NewFromFloat 2022-04-26 18:29:22 +08:00
Andy Cheng
324c7ea432 feature: logging with strategy symbol 2022-04-26 18:29:22 +08:00
Andy Cheng
f6ec931bed feature: use callbackgen 2022-04-26 18:29:22 +08:00
Andy Cheng
cbf6bf78bc feature: make FilterStrategyByInterface a simple function 2022-04-26 18:29:22 +08:00
Andy Cheng
ecc63f743f feature: split strategy controller interface into several smaller ones 2022-04-26 18:29:21 +08:00
Andy Cheng
389752161d feature: adapt new strategy controller in support strategy 2022-04-26 18:29:21 +08:00
Andy Cheng
64766c48f3 feature: revert position closer and position reader back 2022-04-26 18:29:21 +08:00
Andy Cheng
78a8c2aaaf feature: mix embeded struct and callback in strategy controller 2022-04-26 18:29:21 +08:00
Andy Cheng
57fdc9b120 feature: adapt new strategy controller in support strategy 2022-04-26 18:29:21 +08:00
Andy Cheng
6228cddbec feature: adapt new strategy controller in interact 2022-04-26 18:29:21 +08:00
Andy Cheng
bb2bce4721 feature: strategy controller 2022-04-26 18:29:21 +08:00
Andy Cheng
85ffe9a2de feature: prototype of strategy controller struct 2022-04-26 18:29:21 +08:00
Andy Cheng
73c2c84cab feature: prototype of strategy controller struct 2022-04-26 18:29:21 +08:00
Andy Cheng
5799709e3e pkg: add empty strategy controller file 2022-04-26 18:29:21 +08:00
c9s
23dd60728e
binance: fix error check 2022-04-26 16:51:41 +08:00
c9s
6c29e10caf
binance: improve binary error check 2022-04-26 16:43:40 +08:00
zenix
b3741771e3 fix: window update in indicators. add: cumulative average, triangular moving average 2022-04-26 17:32:31 +09:00
c9s
109fdd6511
aggregate totalBorrowed 2022-04-26 16:13:07 +08:00
c9s
2933db20cd
types: show borrowed balance 2022-04-26 16:07:27 +08:00
c9s
cbec4ac199
binance: improve query trades conditions for start time and end time 2022-04-26 15:58:12 +08:00
c9s
16227cea2f
autoborrow: call tryToRepayAnyDebt when margin level is low 2022-04-26 15:44:13 +08:00
c9s
b97588f153
autoborrow: fix max total borrow condition 2022-04-26 15:33:01 +08:00
Zenix
a8f0c71a53
Merge pull request #545 from zenixls2/feature/ma_series
feature: add some new ma indicators
2022-04-25 21:01:17 +09:00
c9s
069db1d0cb
replace margin ratio with margin level 2022-04-25 19:15:47 +08:00
c9s
333378a52a
autoborrow: change debugf to infof 2022-04-25 19:10:22 +08:00
c9s
7b2398ce39
autoborrow: use margin level instead of margin ratio 2022-04-25 19:05:16 +08:00
c9s
095f25f30b
fix TestSortTradesAscending 2022-04-25 19:01:03 +08:00
c9s
2732fb413f
bbgo: remove slack debug option 2022-04-25 18:56:19 +08:00
c9s
638d839975
autoborrow: add more logs and warning color for slack message 2022-04-25 18:46:23 +08:00
c9s
a30aac6653
autoborrow: add slack notification 2022-04-25 18:12:08 +08:00
c9s
2290d132b1
autoborrow: assign s.ExchangeSession 2022-04-25 17:54:16 +08:00
c9s
f8fd13c576
add test for TestSortTradesAscending 2022-04-25 17:53:04 +08:00
c9s
a2553ee020
autoborrow: call check and borrow 2022-04-25 17:45:16 +08:00
c9s
78639dab5a
improve order layout 2022-04-25 17:27:27 +08:00
c9s
a57a238e09
bbgo: add more sync options 2022-04-25 17:18:42 +08:00
c9s
76012f0b71
max: deposit request currency field is optional 2022-04-25 16:27:07 +08:00
c9s
fae3b6a215
fix BOLL method 2022-04-25 15:31:12 +08:00
Yo-An Lin
b94b9e1b73
Merge pull request #437 from jessy1092/enhance-boll-indicator
indicator: Support difference bandwidth on boll indicator and can dynamic create BOLL
2022-04-25 13:43:02 +08:00
c9s
18da434e92 all: use thread-safe GetAccount method to get account 2022-04-23 15:43:11 +08:00
c9s
5c2274c55c put sign check back 2022-04-23 15:27:28 +08:00
c9s
7b66d36f15 autoborrow: remove extra sign check 2022-04-23 15:27:28 +08:00
c9s
743ad0455f add autoborrow strategy 2022-04-23 15:27:28 +08:00
c9s
fd247cf7d7 cmd: add autoborrow to built-in 2022-04-23 15:00:53 +08:00
c9s
c70317af2b add autoborrow strategy 2022-04-23 15:00:04 +08:00
c9s
cf055c3f7d bbgo: improve account updating 2022-04-23 12:51:07 +08:00
c9s
9e48a850bd bbgo: call queryAccount to update account 2022-04-23 12:51:07 +08:00
c9s
a1c9bd7ec8 all: add AccountTypeIsolatedMargin 2022-04-23 12:51:07 +08:00
c9s
98a696a7d0 all: calculate MarginTolerance 2022-04-23 12:51:07 +08:00
c9s
76733898db binance: add QueryMarginAssetMaxBorrowable api 2022-04-23 12:51:07 +08:00
c9s
9f9f13dfe2 add MarginBorrowRepay interface 2022-04-23 12:51:07 +08:00
c9s
37b5d80f6f add margin repay and borrow api 2022-04-23 12:51:07 +08:00
c9s
c2d1ef0fc8 add margin borrow endpoint 2022-04-23 12:51:07 +08:00
c9s
a8fdd8006c binance: add transferCrossMarginAccount method 2022-04-23 12:51:07 +08:00
c9s
ecc19e1efd binance: assign more margin fields to account 2022-04-23 12:51:07 +08:00
c9s
cf2e8c9f0a all: extend balance field for margin 2022-04-23 12:51:07 +08:00
c9s
fbe1906e70 binance: add more fields to the balance struct 2022-04-23 12:51:07 +08:00
c9s
304cc89f68 binance: always sort trades back 2022-04-23 12:51:07 +08:00
c9s
2f5f02523f fix typpo 2022-04-23 00:10:27 +08:00
zenix
3d86330428 fix: python test code in indicator 2022-04-22 19:11:07 +09:00
zenix
c18f684afd test: add test cases for dema, hull, tema, till, vidya and zlema indicators 2022-04-22 19:02:26 +09:00
Yo-An Lin
6f810bf081
Merge pull request #553 from c9s/feature/max-order-history-api
refactor: rewrite max private trade query request with requestgen
2022-04-22 13:12:20 +08:00
zenix
5dc69a6175 fix: fix change, feature: implement vidya and till 2022-04-21 19:28:11 +09:00
c9s
9e06053c3b max: rewrite and rename private trade request 2022-04-21 14:56:20 +08:00
c9s
f9908f2931 rewrite private trade request 2022-04-21 14:52:44 +08:00
Yo-An Lin
96d2844487
Merge pull request #552 from c9s/feature/max-order-history-api
improve: use max order history api for sync
2022-04-21 14:34:38 +08:00
c9s
8e2a993370 max: improve max closed orders syncing 2022-04-21 14:11:49 +08:00
c9s
93b10f20ac maxapi: fix fromID to uint64 2022-04-21 13:18:00 +08:00
c9s
e754b68cdf maxapi: fix http timeout 2022-04-21 13:17:43 +08:00
Yo-An Lin
e91f15b2ea
Merge pull request #546 from c9s/feature/max-order-history-api
feature: add max order history api
2022-04-21 00:46:30 +08:00
c9s
0410ef1305 maxapi: refactor rewards api 2022-04-21 00:18:34 +08:00
austin362667
1163b89807 factorzoo: fix correlation 2022-04-20 18:10:27 +08:00
austin362667
71a032a29b factorzoo: clean up
factorzoo: clean up

factorzoo: clean up
2022-04-20 18:10:27 +08:00
austin362667
da51d56624 cmd: add built-in factorzoo strategy 2022-04-20 18:10:27 +08:00
austin362667
fdbb2be45c factorzoo: add cross-sectional factors model strategy 2022-04-20 18:10:27 +08:00
austin362667
a1fa23121d factorzoo: add correlation indicator 2022-04-20 18:10:27 +08:00
c9s
8b9383ecfa maxapi: refactor withdrawal request 2022-04-20 16:38:08 +08:00
c9s
72ea9f7e24 maxapi: add deposit request tests and withdrawal request tests 2022-04-20 14:01:18 +08:00
c9s
f3eafd5cd8 remove unused get trades method 2022-04-20 13:49:06 +08:00
なるみ
2754d2410c grpc: remove duplicate service registration 2022-04-20 13:48:41 +08:00
c9s
387c0bfb8b maxapi: rewrite vip level request 2022-04-20 13:35:17 +08:00
c9s
68abeb826b maxapi: add account service tests 2022-04-20 13:28:39 +08:00
c9s
f9df65a2f8 maxapi: add generated files 2022-04-20 13:20:54 +08:00
c9s
ff7f1a8bc8 maxapi: always merge params into the payload for signing 2022-04-20 12:18:35 +08:00
c9s
4d8997a8d5 max: pass context background to the request 2022-04-20 12:18:35 +08:00
c9s
5cba6a6133 maxapi: use requestgen to query and submit orders 2022-04-20 12:18:35 +08:00
c9s
93b19faa3a refactor newAuthenticatedRequest 2022-04-20 12:18:35 +08:00
c9s
bf4a0169bd max: update client api 2022-04-20 12:18:35 +08:00
Yo-An Lin
46015324e9
Merge pull request #540 from narumiruna/indicator/update
indicator: make parameters of update method consistent
2022-04-20 11:53:06 +08:00
Yo-An Lin
522e6b9aaf
Merge pull request #547 from kfrico/fix_ftx_bug
fix ftx pollKines bug
2022-04-20 11:52:16 +08:00
kfrico
bd4a932571 fix ftx pollKines bug 2022-04-19 21:29:45 +08:00
zenix
22d8c2efff feature: add some new ma indicators 2022-04-19 19:22:22 +09:00
なるみ
1d363f65a9 indicator: use rma indicator in atr 2022-04-19 13:45:23 +08:00
なるみ
167f9d3eaf indicator: make parameters of update method consistent 2022-04-19 13:45:23 +08:00
c9s
8442aafd4d compile and update migration package 2022-04-19 12:19:32 +08:00
なるみ
2896527c56 indicator: add rolling moving average 2022-04-18 11:43:05 +08:00
Yo-An Lin
fcaef0219a
Merge pull request #536 from narumiruna/indicator/atr 2022-04-18 00:34:43 +08:00
なるみ
7b4c68f766 indicator: add average true range indicator 2022-04-17 17:30:49 +08:00
c9s
b2e17e3552 interact: fix auth 2022-04-17 12:49:45 +08:00
Yo-An Lin
41c78f9035
Merge pull request #535 from narumiruna/grpc/register-trading-server
fix: grpc: register trading server
2022-04-17 00:50:25 +08:00
c9s
8f693dac50 bump version to v1.30.3 2022-04-17 00:38:42 +08:00
c9s
ad373b95a7 add FLUSH_OTP_KEY env for flushing otp key 2022-04-17 00:35:16 +08:00
c9s
63f525970f auth: store otp key url instead of just secret 2022-04-17 00:18:48 +08:00
c9s
6c7b6c6def interact: add more error check for /auth command 2022-04-17 00:06:37 +08:00
c9s
8e557b3da2 Merge branch 'fix/grpc-user-data-stream-subscribe' 2022-04-17 00:03:17 +08:00
c9s
d78370e355 grpc: register trading service to grpc 2022-04-16 23:57:53 +08:00
なるみ
6920ac9090 grpc: register trading server 2022-04-16 23:45:10 +08:00
TonyQ Wang
38dfa32bfa
Update auth.go
refine message
2022-04-16 21:25:46 +08:00
zenix
2a942eab0e fix: rename EVWMP to VWEMP, fix backtesting fee 2022-04-15 19:12:11 +09:00
Yo-An Lin
299f9d7af8
Merge pull request #528 from c9s/fix/grpc-user-data-stream-subscribe
feature: grpc: implement TradingService cancel order
2022-04-15 16:00:16 +08:00
Yo-An Lin
d6755d7ca0
Merge pull request #512 from zenixls2/feature/elliott_wave
strategy: elliott wave oscillator
2022-04-15 15:53:24 +08:00
c9s
cb51352d58 grpc: implement cancel order 2022-04-15 15:49:24 +08:00
Andy Cheng
07c30f82af
strategy: add StrategyController to bollmaker 2022-04-15 15:38:40 +08:00
Yo-An Lin
426af0109e
Merge pull request #525 from c9s/fix/grpc-user-data-stream-subscribe
grpc: implement SubmitOrder method
2022-04-15 15:06:01 +08:00
Yo-An Lin
d9fd661e1b
Merge pull request #524 from frin1/fix/improve-indicators
improved indicators
2022-04-15 15:04:37 +08:00
c9s
6e72ba33ed grpc: implement SubmitOrder method 2022-04-15 15:03:00 +08:00
c9s
a7383142e6 grpc: fix price,quantity types 2022-04-15 14:58:07 +08:00
c9s
f15f4e1aac grpc: add trading service 2022-04-15 14:53:50 +08:00
c9s
84d4f312fa grpc: fix connect and add balance snapshot 2022-04-15 14:28:35 +08:00
c9s
8b8cffbd06 grpc: fix user data stream subscribe 2022-04-15 14:26:04 +08:00
c9s
91dd81028a bump version to v1.30.2 2022-04-15 11:43:28 +08:00
c9s
f91132f35c bollmaker: avoid using time in force in maker order 2022-04-15 11:40:43 +08:00
Fredrik
f866787c21 improved indicators 2022-04-14 23:43:04 +02:00
zenix
6f04789111 fix: rename packae name 2022-04-14 20:01:13 +09:00
zenix
4ee73149c1 feature: add heikinashi 2022-04-14 19:58:05 +09:00
c9s
cd957460c9 add /api/outbound-ip api 2022-04-14 10:24:00 +08:00
zenix
2f51441256 fix: remove smartstop. use dynamic stoploss. improve profit and lower the lost 2022-04-13 21:10:07 +09:00
zenix
a0e218a5c6 use trailingstop 2022-04-13 21:10:07 +09:00
zenix
fcf29f7e11 fix: doing some performance tuning 2022-04-13 21:10:07 +09:00
zenix
0fe14c5fe5 feature: post orders for ewo 2022-04-13 21:10:07 +09:00
zenix
42a3737f2e fix: use series in ewo to predict values 2022-04-13 21:10:07 +09:00
zenix
017dd4175a feature: implement Elliott Wave Oscilla 2022-04-13 21:10:07 +09:00
c9s
339c72a554 grpc: translate private trade and balances 2022-04-13 19:43:08 +08:00
c9s
897dc55dcf binance: fix margin balance convert 2022-04-13 15:38:13 +08:00
c9s
a93a91546d grpc: convert order 2022-04-13 15:29:23 +08:00
c9s
8e81716d2a grpc: separate market data message and user data message 2022-04-13 14:14:25 +08:00
c9s
6c408fb209 move files 2022-04-13 13:24:38 +08:00
c9s
2e063e7eb2 grpc: refactor subscription convert 2022-04-13 13:06:26 +08:00
c9s
606a7b3220 convert: trade price/volume to string 2022-04-13 12:43:05 +08:00
c9s
d9617b59eb grpc: convert kline prices to string 2022-04-13 12:41:36 +08:00
c9s
12ce854150 grpc: integrate market trade 2022-04-13 11:53:09 +08:00
Zenix
b57c94fe12
Merge pull request #505 from zenixls2/feature/series
feature: add pinescript series interface
2022-04-13 11:13:56 +09:00
c9s
1f766441f2 bump version to v1.30.1 2022-04-12 23:47:46 +08:00
c9s
ea47e54318 kucoin: fix query parameter issues 2022-04-12 23:45:11 +08:00
c9s
6972838c34 add query attribute 2022-04-12 23:26:48 +08:00
c9s
a34dbf12e2 kucoin: fix trades sync 2022-04-12 23:25:56 +08:00
なるみ
d8361260a0 grpc: add start/end time to fix queryklines 2022-04-12 22:25:48 +08:00
c9s
8705f38220 grpc: allocate a stream pool 2022-04-12 17:48:30 +08:00
c9s
fb5703bf13 grpc: implement book stream 2022-04-12 17:12:16 +08:00
c9s
46cf220e2c implement market data subscription 2022-04-12 17:12:16 +08:00
なるみ
0de03e37fc Rename AbsoluteValues to Abs 2022-04-11 23:39:25 +08:00
なるみ
859933d4ed Avoid to use map[string]fixedpoint.Value 2022-04-11 23:26:05 +08:00
zenix
c7c856e84f fix: add default value for kline series type. fix crossresult indexing 2022-04-11 17:04:56 +09:00
zenix
af61952e40 fix: series not been updated 2022-04-11 17:04:56 +09:00
zenix
be0755d755 fix: simplify stoch indicator using float64slice. add ToReverseArray 2022-04-11 17:04:56 +09:00
zenix
339d36d61b feature: add mean, abs, sum, toArray, and dot operations on series. implement Float64Slice as series 2022-04-11 17:04:56 +09:00
zenix
d0c3390f84 fix log message to be lowercases 2022-04-11 17:04:56 +09:00
zenix
7778f9b590 feature: add NextCross function for future cross point prediction. modify line api to use index instead of timestamp as x. 2022-04-11 17:04:56 +09:00
zenix
5b75108992 feature: add series add and minus operation. add kline open/close/high/low series 2022-04-11 17:04:56 +09:00
zenix
e171101d90 fix: ad NaN error. feature: Line indicator init functions. feature: indicator manual 2022-04-11 17:04:56 +09:00
zenix
567e7bd214 add ad,macd,rsi,sma,stoch,vwap,vwma to Series interface 2022-04-11 17:04:56 +09:00
zenix
fac61f27dc feature: add pinescript series interface 2022-04-11 17:04:56 +09:00
c9s
95eab34512 bump version to v1.30.0 2022-04-11 15:57:40 +08:00
c9s
680261527c binance: fix closed order query 2022-04-11 15:39:03 +08:00
Zenix
57d9577c65
Merge pull request #513 from andycheng123/fix/support
minor fixes of support strategy
2022-04-10 03:49:56 +09:00
c9s
830503941e cmd: fix backtest sync 2022-04-10 00:57:55 +08:00
c9s
e51fb641af backtest: show symbols 2022-04-10 00:57:55 +08:00
Andy Cheng
854a364b38
strategy: use fixedpoint.Zero instead 2022-04-10 00:03:37 +08:00
Yo-An Lin
4cd646e346
feature: basic grpc server (#514) 2022-04-08 19:21:57 +08:00
Andy Cheng
ceccba43f9
strategy: re-submit trailing stop order if previous one failed 2022-04-08 18:46:41 +08:00
Andy Cheng
d94e8e3826
strategy: check trailing stop order creation success 2022-04-08 18:41:19 +08:00
Andy Cheng
f9052f3397
strategy: fix load CurrentHighestPrice bug 2022-04-08 18:35:02 +08:00
なるみ
4e2faacbae Mkdir if dir not exists 2022-04-07 20:21:07 +08:00
Yo-An Lin
6c20ec3c85
Merge pull request #499 from austin362667/strategy/bollmaker
strategy: add bollmaker futures support
2022-04-07 10:11:41 +08:00
なるみ
b31acb7165 glassnode: add comment to response struct 2022-04-07 00:09:54 +08:00
Yo-An Lin
0d4cc7ab9b
Merge pull request #508 from c9s/narumi/glassnode
feature: add Glassnode API
2022-04-06 23:29:42 +08:00
なるみ
be985da2af Add Glassnode API 2022-04-06 23:22:40 +08:00
Yo-An Lin
ed0384c85a
Merge pull request #501 from andycheng123/fix-support
strategy: fix wrong support condition
2022-04-06 18:57:39 +08:00
Andy Cheng
75f3e33543
strategy: use stop limit due to sop market unsupported by binance 2022-04-02 21:32:40 +08:00
Andy Cheng
8f4ba971f1
strategy: fix typo 2022-04-02 21:27:52 +08:00
Andy Cheng
c2747ca9e4
strategy: remove TimeInForce when sending trailing stop order 2022-04-02 21:19:47 +08:00
c9s
f11d2696d2 bump version to v1.29.0 2022-04-01 13:02:45 +08:00
Yo-An Lin
4aeb2c329c
Merge pull request #502 from narumiruna/refactor-vwap
indicator: make VWAP better
2022-04-01 12:12:59 +08:00
Andy Cheng
861fd84fd4
strategy: use stop market to tp instead of stop limit 2022-03-31 11:10:53 +08:00
Andy Cheng
8782104f1a
strategy: remove unnecessary notification 2022-03-30 16:46:42 +08:00
なるみ
8881b9e105
Fix package name 2022-03-29 21:51:50 +08:00
なるみ
18aa60077b Make VWAP better 2022-03-29 17:18:04 +08:00
Andy Cheng
934e4aa69f
strategy: fix wrong support condition 2022-03-29 11:46:01 +08:00
Yo-An Lin
98d4815d1d
Merge pull request #500 from narumiruna/rsi
feature: add Relative Strength Index (RSI) indicator
2022-03-29 11:32:12 +08:00
なるみ
e92a872059 Fix test case 2022-03-29 02:45:33 +08:00
なるみ
e68d5f0536 Rename variables 2022-03-29 02:40:08 +08:00
なるみ
42d6bf03b5 Rename functions 2022-03-29 02:36:34 +08:00
なるみ
2a6f1f410d Simplify 2022-03-29 02:21:22 +08:00
なるみ
b074f03507 Add RSI indicator 2022-03-29 02:10:35 +08:00
austin362667
a8484046d3 bollmaker: add TimeInForce for futures limit order support 2022-03-28 21:12:45 +08:00
austin362667
3f3fb1fe35 binance: fix futures limit maker order type 2022-03-28 21:12:45 +08:00
c9s
0511a0fde3 kucoin: convert limit maker to limit order type with postOnly 2022-03-28 17:09:00 +08:00
Andy Cheng
3a6f34330b
interact: refactor 2022-03-28 15:16:11 +08:00
Andy Cheng
63e8850cc3
interact: separate strategy filtering and button generation 2022-03-28 12:37:42 +08:00
Andy Cheng
ee6377ab87
interact: fix misuse of cycle() 2022-03-28 11:58:01 +08:00
Yo-An Lin
1a29bc7362
Merge pull request #492 from andycheng123/tg-control
feature: strategy controller
2022-03-26 15:41:59 +08:00
Yo-An Lin
42a503c0f9
Merge pull request #494 from zenixls2/feature/ftx_pub_trade 2022-03-25 18:06:16 +08:00
なるみ
83e37f52a8 Rebalance on kline closed 2022-03-24 12:50:40 +08:00
zenix
cb66f18b54 feature: add ftx market trade implementation 2022-03-23 19:12:49 +09:00
Andy Cheng
0974b1c7fd
interact: pull out the interaction related code to the caller 2022-03-23 12:05:35 +08:00
Andy Cheng
e122c12eef
interact: add AddMultipleButtons function 2022-03-23 12:04:47 +08:00
Yo-An Lin
ae4a3d81fb
Merge pull request #489 from zenixls2/feature/market_trade
feature: add market trade subscription in binance
2022-03-22 20:18:39 +08:00
zenix
abbe04fae9 fix: parse market trade as taker trade 2022-03-22 11:02:14 +09:00
austin362667
eca112e201 binance: add submit futures order ReduceOnly 2022-03-21 17:56:11 +08:00
Andy Cheng
5eef2a2085
interact: pull out interface filter as a function 2022-03-21 17:49:18 +08:00
Andy Cheng
f4c87e5d75
interact: refactor strategy controller related interfaces 2022-03-21 16:19:55 +08:00
Andy Cheng
fb8b79f38d
interact: rename GetStrategyStatus() to GetStatus() 2022-03-21 16:12:23 +08:00
Andy Cheng
1ca94b9c5b
type: rename strategy statuses 2022-03-21 16:06:12 +08:00
Yo-An Lin
53b1eef4fc
kucoin: adjust rate limiter 2022-03-21 15:36:31 +08:00
Andy Cheng
ffd5c646e9
interact: refactor interface func name 2022-03-21 15:08:15 +08:00
Andy Cheng
962645c2c8
interact: Pull out EmergencyStop to a single instance 2022-03-21 15:05:24 +08:00
Andy Cheng
5f7710103d
type: add StrategyStatus type 2022-03-21 15:01:15 +08:00
Andy Cheng
ce6efd9333
strategy: add EmergencyStop() to support strategy 2022-03-21 11:51:12 +08:00
Andy Cheng
69a02f1664
interact: add EmergencyStop() to StrategyController interface 2022-03-21 11:42:54 +08:00
Andy Cheng
b6aff9674c
strategy: add StrategyController functions to support strategy 2022-03-21 10:20:12 +08:00
Andy Cheng
5de137ced8
interact: add StrategyController interface to control strategies from telegram bot 2022-03-18 18:43:07 +08:00
Yo-An Lin
98b4eea694
Merge pull request #491 from c9s/fix/kucoin-rate-limiter
fix: kucoin: add trades, orders rate limiter
2022-03-18 17:49:46 +08:00
c9s
6c201d1868 kucoin: adjust rate limit to req/3sec 2022-03-18 17:43:14 +08:00
c9s
9757ca290b kucoin: add trades, orders rate limiter 2022-03-18 17:33:10 +08:00
zenix
efec21ca4b feature: add market trade subscription in binance 2022-03-18 18:30:39 +09:00
c9s
f85db9be61 improve asset summary layout and format 2022-03-18 17:13:37 +08:00
c9s
3944e0b6c0 fix query test 2022-03-18 15:00:33 +08:00
c9s
43985499be service: reorder trade query 2022-03-18 14:04:01 +08:00
c9s
79bfdbf9b6 compile and update migration package 2022-03-18 14:04:01 +08:00
zenix
84dbae1592 add readme content about testnet, fix code syntax 2022-03-18 14:17:06 +09:00
zenix
9cf835728c fix: don't sync on reward/withdraw/deposit records when using testnet 2022-03-18 14:04:56 +09:00
zenix
36a746d415 add binance paper trade endpoint 2022-03-18 14:04:56 +09:00
Yo-An Lin
bc0429c0fd
Merge pull request #484 from ankion/fix_backtest_orderbook 2022-03-17 00:50:07 +08:00
Yo-An Lin
fae4f181b5
Merge pull request #485 from zenixls2/feature/backtest_sig
feature: add CancelOrders and CancelOrdersTo to executor
2022-03-16 21:22:32 +08:00
zenix
77a88aabe4 feature: add CancelOrders and CancelOrdersTo to executor 2022-03-16 21:38:09 +09:00
ankion
ccb7fe39fa backtest: fix order cancel fail when run order cancel on the filled event. 2022-03-16 15:01:19 +08:00
c9s
ed94b8a8d8 remove config flag constraint 2022-03-16 13:52:46 +08:00
c9s
553fe3abf9 remove config flag constrant 2022-03-16 13:51:31 +08:00
c9s
334e3a3940 fix build cmd --config option 2022-03-16 12:26:27 +08:00
Yo-An Lin
a4d5bf85d3
Merge pull request #468 from narumiruna/grpc-python-client
grpc: python client
2022-03-15 22:01:14 +08:00
Yo-An Lin
00b8f7d6b7
Merge pull request #479 from andycheng123/position-closer
strategy: add PositionCloser function for support strategy
2022-03-15 21:59:21 +08:00
Yo-An Lin
2aa3e4d51c
Merge pull request #480 from zenixls2/fix/flashcrash
fix: submit order on userDataStream == nil
2022-03-15 21:55:52 +08:00
c9s
bd0cbdfd28 bump version to v1.28.0 2022-03-15 21:54:34 +08:00
c9s
1f1ee7b986 fix makefile 2022-03-15 21:54:18 +08:00
c9s
e4c8db8287 update go module and sum files 2022-03-15 21:50:55 +08:00
zenix
d6995e40ff fix: submit order on userDataStream == nil 2022-03-15 20:51:15 +09:00
Andy Cheng
72a6877094
strategy: add PositionCloser function for support strategy 2022-03-15 19:19:44 +08:00
なるみ
034a86ceb4 Add grpc client 2022-03-15 18:43:57 +08:00
c9s
a5f0116f77 bump version to v2.1.0 2022-03-15 16:53:28 +08:00
Yo-An Lin
ab447a152f
Merge pull request #475 from andycheng123/fix-support
fix support strategy
2022-03-15 16:50:03 +08:00
Andy Cheng
231085d507
strategy: add PositionReader function for support strategy 2022-03-15 16:46:27 +08:00
Andy Cheng
b94096cb2e
strategy: cache orders.IDs() in orderIds 2022-03-15 16:44:43 +08:00
Yo-An Lin
a7c421bfcb
Merge pull request #474 from c9s/feature/position-recorder-2
feature: position recorder
2022-03-15 16:44:10 +08:00
c9s
d1f4c0a225 max: fix kline parse 2022-03-15 16:07:19 +08:00
なるみ
dedfdc564f Remove symbol from balance 2022-03-15 15:36:35 +08:00
c9s
fdf64fd891 bbgo: fix emit trade profit 2022-03-15 14:29:15 +08:00
c9s
0d0e0039e5 add DEBUG_SLACK env var 2022-03-14 21:21:58 +08:00
c9s
19f01bbca6 add doc comment 2022-03-14 21:21:58 +08:00
c9s
4b89f4a48b bollmaker: fix profit stats notification 2022-03-14 21:21:58 +08:00
c9s
5567ef5676 fix emit trade 2022-03-14 21:21:58 +08:00
c9s
5db4e11167 rewrite trade profit handling 2022-03-14 21:21:58 +08:00
c9s
6fec30d79c call record position on trade 2022-03-14 21:21:58 +08:00
c9s
a112eac9d2 update changed_at field 2022-03-14 21:21:58 +08:00
c9s
d67b800e7e use RecordPosition 2022-03-14 21:21:58 +08:00
c9s
322f31a56a bbgo: improve RecordPosition method 2022-03-14 21:21:58 +08:00
c9s
5732555c2c doc: update sync configuration doc 2022-03-14 21:21:58 +08:00
c9s
08ae53ba16 bbgo: assign strategy instance id fields automatically 2022-03-14 21:21:58 +08:00
c9s
6088f7b542 bbgo: add RecordPosition method 2022-03-14 21:21:58 +08:00
c9s
9faaed6892 bbgo: initialize position service 2022-03-14 21:21:58 +08:00
c9s
e9a25fcc6f compile and update migration package 2022-03-14 21:21:58 +08:00
c9s
c78fa09f4d fix divisor typo 2022-03-14 21:21:58 +08:00
c9s
5be1f1571b fix position test 2022-03-14 21:21:58 +08:00
c9s
3c376b3cd3 add accumulated profit column to position 2022-03-14 21:21:58 +08:00
c9s
cc4ef327d6 add strategy id and instance id to position 2022-03-14 21:21:58 +08:00
c9s
ac675d0099 add position table and service 2022-03-14 21:21:58 +08:00
c9s
f0d500bbaa add positions table migration 2022-03-14 21:21:58 +08:00
c9s
b1559bcbe3 fix persistence injection 2022-03-14 21:21:43 +08:00
Andy Cheng
822fea44fc
strategy: fix index out of range error 2022-03-14 12:01:17 +08:00
Andy Cheng
ad7605e7b2
strategy: do not submit order if current position < market.MinQuantity 2022-03-14 11:45:24 +08:00
zenix
7e92f0f4e5 fix: remove requirements on config flag 2022-03-11 19:56:59 +09:00
c9s
36e039108a bump version to v2.0.0 2022-03-10 19:01:58 +08:00
なるみ
b6493ad282 Change id type 2022-03-09 13:14:14 +08:00
なるみ
8522c0dadb Add exchange field to QueryOrderRequest 2022-03-08 19:33:23 +08:00
Yo-An Lin
bfdf4c245f
Merge pull request #460 from zenixls2/feature/backtest_multiple_exchange
feature: add multiple exchange support in backtest
2022-03-07 14:28:20 +08:00
c9s
fcbdf8162a max: add env var MAX_QUERY_CLOSED_ORDERS_LIMIT 2022-03-07 13:56:20 +08:00
zenix
39572c5fe0 fix: remove maker/buyer/taker/sellerCommission 2022-03-07 14:32:00 +09:00
Yo-An Lin
35ef21ab1c
Merge pull request #466 from c9s/feature/strategy-profit
feature: add strategy profit records
2022-03-07 12:20:47 +08:00
zenix
25b5eddc03 feature: add multiple exchange support in backtest
fix: change doc, since --exchange removed from backtest

fix: test for config changes
2022-03-07 13:18:56 +09:00
c9s
b8ef2eb550 fix Test_tradeService 2022-03-07 12:12:06 +08:00
zenix
1f27ef653b fix: exception on parsing empty string in dnum 2022-03-07 12:46:03 +09:00
c9s
9b6b071d2b compile and update migration package 2022-03-06 18:47:01 +08:00
c9s
e23232c3e7 max: fix timeInForce conversion 2022-03-06 18:37:34 +08:00
c9s
586013d9f2 max: fix order update message 2022-03-06 18:33:21 +08:00
c9s
af2070b908 binance: add updated time field 2022-03-06 18:32:33 +08:00
c9s
f3577a4182 fix: if it's an empty time, do not return a driver value 2022-03-06 18:28:40 +08:00
c9s
917684aa27 bbgo: inject environment object 2022-03-06 18:28:40 +08:00
c9s
099d860c5a fix: fix Test_parseStructAndInject test 2022-03-06 18:28:40 +08:00
c9s
b1ba5386b3 fix bbgo.Notifiability injection 2022-03-06 16:09:15 +08:00
c9s
25f3aeef58 bollmaker: call RecordProfit 2022-03-06 15:39:20 +08:00
c9s
8fa0e6702c bollmaker: assign strategy id and instance id 2022-03-06 15:38:58 +08:00
c9s
f6ec2e78e6 record profits 2022-03-06 15:37:41 +08:00
c9s
3a15738fec pull out default persistence selector 2022-03-06 14:06:19 +08:00
c9s
35b0d8dc0d bbgo: add profit service to environment 2022-03-05 13:40:20 +08:00
c9s
1f1c26a9e5 bbgo: inject more service objects 2022-03-05 13:37:27 +08:00
c9s
c1ac738ca0 bbgo: add doc comment for parseStructAndInject 2022-03-05 12:59:47 +08:00
c9s
bdcae5b763 bbgo: add more injection types 2022-03-05 12:49:53 +08:00
c9s
a9f9fa8fed bollmaker: add Environment field and Market field for injection 2022-03-05 12:40:56 +08:00
c9s
47023729ec bbgo: rewrite field injection 2022-03-05 12:39:39 +08:00
c9s
a6053e0e59 bbgo: move inject function to injection.go 2022-03-05 03:20:20 +08:00
c9s
cd6b37ac3b bbgo: skip unexported fields for injection 2022-03-05 03:19:45 +08:00
c9s
fa7bab2c3a bbgo: improve dynamic injection 2022-03-05 02:51:43 +08:00
c9s
db4d8a31bc bbgo: implement parseStructAndInject 2022-03-05 02:33:25 +08:00
c9s
5fe0b69927 bollmaker: use the new profit generator method 2022-03-05 01:41:23 +08:00
c9s
197d750cb4 all: update profit struct fields 2022-03-05 01:39:53 +08:00
c9s
82e5520ee4 service: update profit service tests 2022-03-05 00:28:13 +08:00
c9s
a642aa1a5a service: add more columns 2022-03-05 00:27:44 +08:00
c9s
09dea3938d implement profit insert 2022-03-04 19:24:40 +08:00
c9s
9e0df77a36 move profit struct into the types package 2022-03-04 16:39:48 +08:00
Yo-An Lin
f8b257d490
Merge branch 'main' into fix/cmd-required 2022-03-03 19:53:27 +08:00
c9s
f190cc4f6c cmd: fix account command usage 2022-03-03 19:40:18 +08:00
c9s
f14694c65f cmd: remove config file check from the account command 2022-03-03 19:39:55 +08:00
zenix
a33b748563 fix: mark flags as required during PreRunE 2022-03-03 18:03:15 +09:00
c9s
3843bda7c2 cmd: remove incorrect MarkPersistentFlagRequired usage 2022-03-03 15:37:17 +08:00
c9s
7d08263cdb fix: fix required flag marking issue 2022-03-03 15:34:16 +08:00
c9s
b8f54ed4b9 ftx: print result directly 2022-03-03 15:04:53 +08:00
c9s
86af4d2b40 ftx: rewrite order cancel handling 2022-03-03 14:52:24 +08:00
c9s
dd76cfafa4 ftx: remove legacy orderRequest from the legacy rest 2022-03-03 12:33:44 +08:00
c9s
c9f2027a38 ftx: remove the legacy orderRequest 2022-03-03 11:55:00 +08:00
c9s
5ea01c8d80 regenerate symbol map 2022-03-03 11:44:01 +08:00
c9s
eaa81f1313 ftx: remove legacy balances method 2022-03-03 11:43:15 +08:00
c9s
270ae51c9b ftx: remove legacy PlaceOrderPayload 2022-03-03 11:42:57 +08:00
c9s
2510f14d53 ftx: remove legacy place order request method 2022-03-03 11:42:40 +08:00
c9s
5bbb796e94 ftx: clean up imports 2022-03-03 11:42:25 +08:00
c9s
37db477ece ftx: remove legacy method CancelOrderByClientID 2022-03-03 11:42:13 +08:00
c9s
60ad6bc901 ftx: remove legacy CancelOrderByOrderID method 2022-03-03 11:41:51 +08:00
c9s
064da7f938 ftx: remove legacy open orders method 2022-03-03 11:40:23 +08:00
c9s
a47924d1c9 ftx: remove legacy order history method 2022-03-03 11:40:03 +08:00
c9s
da54fbb676 cmd: remove extra config option check 2022-03-03 11:39:28 +08:00
c9s
6ae588575a ftx: remove legacy market api method 2022-03-03 11:39:11 +08:00
c9s
21ae48c975 cmd: use MarkFlagRequired 2022-03-03 11:36:06 +08:00
c9s
2845e03100 ftx: fix ftx test cases 2022-03-03 01:47:19 +08:00
c9s
3f8f17b1de ftx: reimplement submit order api 2022-03-03 00:30:52 +08:00
c9s
3b601d73ce ftx: remove legacy fills requests 2022-03-03 00:30:52 +08:00
c9s
4321cab557 ftx: drop the legacy unused account request 2022-03-03 00:30:52 +08:00
c9s
688445d7e7 cmd: add get-order cmd 2022-03-03 00:30:52 +08:00
c9s
127de0d81c cmd: update executeOrderCmd description 2022-03-03 00:30:52 +08:00
c9s
95daa004aa ftx: implement get order status api 2022-03-03 00:30:52 +08:00
c9s
14bcc780a4 ftxapi: add cancel order by client order id 2022-03-03 00:30:52 +08:00
c9s
07dd2e8d9c ftx: improve order cancel by client order id 2022-03-03 00:30:52 +08:00
c9s
5cfc266d7a ftx: simplify and replace the order history query 2022-03-03 00:30:52 +08:00
c9s
5c8997e293 ftx: fix ftx order status isWorking 2022-03-03 00:30:52 +08:00
c9s
66700016e4 ftx: add toGlobalOrderNew to convert new order structure 2022-03-03 00:30:52 +08:00
c9s
e9e1127d3e ftx: replace query markets api 2022-03-03 00:30:52 +08:00
c9s
883f0ed83a ftxapi: replace fill implementation 2022-03-03 00:30:52 +08:00
c9s
833354e553 ftx: replace QueryTrades implementation 2022-03-03 00:30:52 +08:00
c9s
9c371425f6 ftx: replace QueryAccount implementation 2022-03-03 00:30:52 +08:00
c9s
84bc170a2e ftxapi: use order types 2022-03-03 00:30:52 +08:00
c9s
03f0305b3d ftxapi: add fills request 2022-03-03 00:30:52 +08:00
c9s
14a49989fe ftxapi: define types 2022-03-03 00:30:52 +08:00
c9s
cd0ac71b99 ftxapi: separate request files 2022-03-03 00:30:52 +08:00
c9s
abc425d820 ftx: fix ftx api client 2022-03-03 00:30:52 +08:00
c9s
93992801f9 ftxapi: add order history request 2022-03-03 00:30:52 +08:00
c9s
9e350afed5 ftxapi: add get coins api 2022-03-03 00:30:52 +08:00
c9s
3601edab84 ftxapi: add get single market api 2022-03-03 00:30:52 +08:00
c9s
2a6310c5f5 ftxapi: add get markets api 2022-03-03 00:30:52 +08:00
c9s
94ee46787e ftxapi: add generated files 2022-03-03 00:30:52 +08:00
c9s
7ed2e352d9 ftx: rewrite ftxapi 2022-03-03 00:30:52 +08:00
Yo-An Lin
7ae5869461
Merge pull request #451 from narumiruna/protobuf
grpc: add protobuf
2022-03-02 12:57:23 +08:00
zenix
f101e93311 fix: dnum panic, precision loss in parsing string in legacy 2022-02-28 15:50:31 +09:00
c9s
9c45e6693f fix formatString 2022-02-25 18:25:44 +08:00
c9s
99b025dd5c add FormatString test case and fix FormatString 2022-02-25 18:03:28 +08:00
c9s
10612cdfa9 add Test_formatQuantity 2022-02-25 17:47:54 +08:00
c9s
555e8c5253 add Test_formatPrice 2022-02-25 16:52:43 +08:00
なるみ
37fbe724cf Add Error message 2022-02-23 12:44:31 +08:00
なるみ
3aeae99587 Add SubcribeUserData 2022-02-23 12:29:01 +08:00
なるみ
36fd5d648a Add exchange and symbol to Ticker 2022-02-23 12:27:22 +08:00
なるみ
6b10d1160f Merge SuccessResponse and SubscribeResponse 2022-02-23 12:21:49 +08:00
なるみ
9fd4074d37 Add Depth message for bids and asks 2022-02-23 12:19:23 +08:00
Yo-An Lin
2108003f9b
Merge pull request #454 from zenixls2/fix/pnl
fix: #287 init environ before querying balance
2022-02-23 11:46:11 +08:00
zenix
06e9450859 feature: add cmd document
add documentation index
2022-02-22 19:36:45 +09:00
zenix
52cc047673 fix: #287 init environ before querying balance 2022-02-22 14:32:35 +09:00
なるみ
32acec5669 Put exchange field in the order and trade message 2022-02-21 12:53:39 +08:00
なるみ
c1b705956f Add SubmitOrder, rename variables and fix typo 2022-02-21 12:13:51 +08:00
なるみ
f2bca1d5b7 add QueryKLines 2022-02-20 04:41:39 +08:00
なるみ
136d36b2b1 generate code 2022-02-20 04:10:39 +08:00
なるみ
7a7627eafd update proto 2022-02-20 04:08:52 +08:00
c9s
208a9bcb7d fix: fix context error handling 2022-02-18 18:21:51 +08:00
c9s
849f2a248e ftx: check context error 2022-02-18 15:35:58 +08:00
c9s
3a488a4c0f ftx: add ioc order test 2022-02-18 14:50:54 +08:00
なるみ
4fb8881be7 Fix package path 2022-02-18 14:27:12 +08:00
なるみ
72bcdaaf25 Move pkg/proto to pkg/pb 2022-02-18 14:24:38 +08:00
c9s
17034b2467 ftx: fix ioc convert 2022-02-18 14:10:21 +08:00
c9s
f6ebeeafc5 ftx: cast time in force from the order result 2022-02-18 14:07:29 +08:00
c9s
d0f1e2db04 ftx: fix ftx ioc conversion 2022-02-18 14:01:47 +08:00
c9s
fb9f8b484c max: remove ioc limit type 2022-02-18 13:57:47 +08:00
c9s
0c09e6b32a use global timeInForce type 2022-02-18 13:52:13 +08:00
zenix
20cccf57e5 fix: NumFractionalDigits in legacy fixedpoint and dnum fixedpoint 2022-02-17 12:45:06 +09:00
zenix
ced2afaed8 fix: remove backup file in schedule strategy 2022-02-16 18:32:02 +09:00
なるみ
328c507bee Update go generated code 2022-02-16 11:54:46 +08:00
なるみ
3fe6fbf514 Add Trade message and support streaming 2022-02-16 11:52:18 +08:00
zenix
a3a262783f fix: set backtest cancel Delta to be 1e-11 2022-02-15 18:59:10 +09:00
zenix
7455279517 fix: #400 for int64 formating when exp <= 0 2022-02-15 18:24:21 +09:00
zenix
8648528435 fix go fmt, fix convert.go (the legacy fixedpoint implementation) in all tests 2022-02-15 14:55:19 +09:00
zenix
eb70410f80 add back legacy implementation 2022-02-15 12:01:39 +09:00
zenix
cdba7924b4 fix backtest panic when cancel fail on the last order 2022-02-15 12:01:39 +09:00
zenix
5315378b9e fix takerfeerate column and makerfeerate column issue in yaml 2022-02-15 12:01:39 +09:00
zenix
fad85d0992 fix binance test, outptu for support and xgap strategies 2022-02-15 12:01:39 +09:00
zenix
05521a98b6 add skeleton strategy. fix most of the tests. fix final asset value 2022-02-15 12:01:39 +09:00
zenix
9978a3cf90 fix unmarshal behavior to gain more precision 2022-02-15 12:01:39 +09:00
zenix
abc1d535d8 fix bollmaker, fix pnl issues 2022-02-15 12:01:39 +09:00
zenix
105b085786 fix bollgrid, emstop, flashcrash, funding, grid, pricealert, pricedrop, rebalance, schedule, swing, xbalance, xgap, xmaker and speedup fixedpoint 2022-02-15 12:01:39 +09:00
zenix
2ccc449657 fix xpuremaker,xnav,techsignal,support,etf and add methods in fixedpoint 2022-02-15 12:01:39 +09:00
zenix
d9450e823e fix all the fixedpoint use other than strategy 2022-02-15 12:01:39 +09:00
zenix
b8bf2af14d fixedpoint for exchange and indicators, some fixes in types 2022-02-15 12:01:38 +09:00
zenix
e221f54397 add dnum as the fixedpoint implementation. change types float64 to fixedpoint.Value
change pnl report to use fixedpoint

fix: migrate kline to use fixedpoint
2022-02-15 12:00:39 +09:00
なるみ
307042025f Initial commit of protobuf 2022-02-14 16:46:11 +08:00
ankion
98b4495d1f Fix: precision of futures trade data is incorrect. 2022-02-14 10:32:13 +08:00
c9s
a2a7ef4f7a exchange: implement ExchangeOrderQueryService on max and binance 2022-02-10 17:48:53 +08:00
Andy Cheng
f7fc7f64b4
strategy: fix fixedpoint value compared to 0 problem 2022-02-06 17:47:14 +08:00
Andy Cheng
41c3b860b0
strategy: rename callBackRatio to callbackRatio 2022-02-06 17:47:14 +08:00
Andy Cheng
a9b48ff138
strategy: fix fixedpoint.Value compare to 0 problem 2022-02-06 17:47:14 +08:00
Andy Cheng
8b009a984a
strategy: fix a bug when 'trailingStopControl' is not used 2022-02-06 17:47:14 +08:00
Andy Cheng
571c3834c5
strategy: fix the JSON tag of 'CurrentHighestPrice' 2022-02-06 17:47:14 +08:00
Andy Cheng
769da1e77c
strategy: rename 'trailingStopCallBackRatio' JSON tag to 'callBackRatio' 2022-02-06 17:47:14 +08:00
Andy Cheng
b48c7f40d7
strategy: make TrailingStopCallBackRatio and MinimumProfitPercentage fixedpoint.Value 2022-02-06 17:47:13 +08:00
Andy Cheng
883f43a9ad
strategy: construct trailingStopControl in the caller 2022-02-06 17:47:13 +08:00
Andy Cheng
60a4ab2f27
strategy: save state on high price update and cancel trailing stop order on shutdown 2022-02-06 17:47:13 +08:00
Andy Cheng
1bd787f44c
strategy: return the createdOrders objects instead in submitOrders() 2022-02-06 17:47:13 +08:00
Andy Cheng
f673fc30ad
strategy: rename GenerateTrailingStopOrder() to GenerateStopOrder() in support strategy 2022-02-06 17:47:13 +08:00
Andy Cheng
2a8938fce0
re-indent with tabs 2022-02-06 17:47:13 +08:00
Andy Cheng
66b042fea7
strategy: trailing stop TP for support strategy 2022-02-06 17:47:11 +08:00
c9s
bf8558e9ad bollmaker: add BuyBelowNeutralSMA option 2022-02-01 01:40:51 +08:00
c9s
17187c70e7 cmd: print realized profit in colored text 2022-02-01 01:05:11 +08:00
c9s
c0beca78f5 include terminal color for back-test report 2022-02-01 01:00:26 +08:00
c9s
82adff338e cmd/backtest: calculate performance in quote asset 2022-02-01 00:54:55 +08:00
c9s
f96c2e6271 bbgo: add activated flag on trailing stop order 2022-02-01 00:41:28 +08:00
c9s
bed03dbd17 schedule: refactor and improve schedule strategy with QuantityOrAmount struct 2022-01-31 01:42:21 +08:00
c9s
11bbdb16a0 bollmaker: clean up empty files 2022-01-31 01:31:31 +08:00
c9s
0e7f88e3bf move SmartStops into the bbgo package 2022-01-31 01:27:47 +08:00
c9s
eb5064ccfe bollmaker: separate bidSpread and askSpread 2022-01-31 01:11:30 +08:00
c9s
2e7621ca55 add BidSpread and AskSpread 2022-01-31 01:08:33 +08:00
c9s
701e80d0d8 bollmaker: pull out trailing stop order logics into SmartStops struct 2022-01-31 01:07:00 +08:00
c9s
67bc5d523a bollmaker: refactor trailing stop snippet 2022-01-31 00:44:04 +08:00
c9s
0667c138ab backtest: fix duplicate trade emit issue 2022-01-30 03:05:19 +08:00
c9s
e595b9acb2 backtest: should panic if last price is zero 2022-01-30 02:41:00 +08:00
c9s
6566db1624 accounting: filter duplicated trades when backtesting 2022-01-30 02:40:38 +08:00
c9s
e1fc0e7b8d bollmaker: remove redundant log and fix return 2022-01-30 02:00:42 +08:00
c9s
ec8129ab87 backtest: fix market order fee calculation 2022-01-30 02:00:30 +08:00
c9s
20938895a8 bollmaker: merge skip condition 2022-01-30 01:40:33 +08:00
c9s
a185f3fdbe bollmaker: improve trailing stop order log 2022-01-30 01:37:36 +08:00
c9s
78855d552a backtest: fix backtest trade for market order 2022-01-30 01:37:24 +08:00
c9s
9adc3a9243 bollmaker: always collect trades and check balance 2022-01-30 01:21:36 +08:00
c9s
2255f3ed0a bollmaker: check dust order for stop 2022-01-29 17:44:42 +08:00
c9s
99af5d3971 bollmaker: implement TrailingStopController 2022-01-29 02:22:20 +08:00
c9s
584dd3e279 bollmaker: add TradeInBand option 2022-01-28 01:29:12 +08:00
c9s
f49b7165d8 bollmaker: fix MinNotional adjustment 2022-01-27 19:56:10 +08:00
c9s
a6cbb2fb2d bollmaker: rewrite trend detection 2022-01-27 18:51:51 +08:00
c9s
547f4c400a cmd: call BindSync when running strategy 2022-01-27 18:19:25 +08:00
c9s
3b630c0bca bbgo: pull out writer closure 2022-01-27 18:13:15 +08:00
c9s
cb507edf44 bbgo: add BindSync method on environment 2022-01-27 18:12:15 +08:00
c9s
30a9a5849f add user data stream sync config 2022-01-27 09:34:04 +08:00
c9s
44efbce8eb cmd: change trades cmd time range to just 1 day 2022-01-27 09:26:24 +08:00
c9s
c3c2822c82 cmd/trades: avoid passing since and until at the same time 2022-01-27 08:57:31 +08:00
c9s
880d806736 cmd: add --no-sync option to the run command 2022-01-27 08:30:31 +08:00
c9s
70f02a1c19 cmd: handle user config sync options in the run command 2022-01-27 08:21:19 +08:00
c9s
0d0d8b05bf bbgo/scale: test out of domain 2022-01-27 02:39:33 +08:00
c9s
1ef5a37225 bbgo/scale: check domain range 2022-01-27 02:32:26 +08:00
c9s
4f6e04323f bollmaker: add more logs 2022-01-27 02:25:23 +08:00
c9s
aea8f97ab9 bollmaker: add Test_calculateBandPercentage test 2022-01-27 02:22:26 +08:00
c9s
f9d650cd23 bollmaker: add DynamicExposurePositionScale 2022-01-27 02:04:57 +08:00
c9s
09213b14f3 bbgo: add negative range test for PercentageScale 2022-01-27 01:47:01 +08:00
c9s
49f671ef54 add PercentageScale and its tests 2022-01-27 01:40:54 +08:00
c9s
e82379a668 bollmaker: add QuantityOrAmount struct 2022-01-27 01:10:39 +08:00
c9s
28075173ec bump version to v1.27.0 2022-01-27 00:32:18 +08:00
c9s
cfc17acd20 config: use looseFormatTime type for since field 2022-01-27 00:24:19 +08:00
c9s
ab07768a6d cmd: apply config to sync 2022-01-27 00:17:11 +08:00
c9s
59cc4d7243 max: improve max closed order query 2022-01-27 00:02:35 +08:00
Yo-An Lin
d79cce30e3
Merge pull request #443 from austin362667/refactor/futures-account
binance: add futures broker
2022-01-26 14:11:48 +08:00
c9s
b2c4cd91a7 avoid using UnixMilli 2022-01-26 14:09:35 +08:00
c9s
a29198f733 bbgo: fix LooseFormatTime.UnmarshalYAML 2022-01-25 01:18:56 +08:00
c9s
8f0e80499b types: fix MillisecondTimestamp parsing 2022-01-25 01:14:06 +08:00
c9s
007207e24f all: use types.LooseFormatTime to parse loose format date time string 2022-01-25 00:24:12 +08:00
c9s
5f7676f0c1 bbgo: add sync config 2022-01-25 00:06:25 +08:00
c9s
6286c50f7a max: always sort trades 2022-01-24 23:59:10 +08:00
c9s
0bf6e533e0 kucoin: fix closed orders query 2022-01-24 23:56:48 +08:00
c9s
f284c35b81 max: ensure orders are sorted ascendingly 2022-01-24 23:54:58 +08:00
c9s
04a15340bc max: add warning for the uneffected conditions 2022-01-24 23:51:53 +08:00
c9s
50871c1b61 max: fix order query limiter call and order state for query 2022-01-24 23:45:56 +08:00
c9s
0c0a12781a max: fix max exchange closed order sync 2022-01-24 23:18:52 +08:00
c9s
e8fd1486b1 binance: fix binance closed order sync 2022-01-23 16:19:13 +08:00
austin362667
5a4adf4d72 binance: add futures broker 2022-01-23 15:26:15 +08:00
c9s
106239e808 service: fix sync process 2022-01-23 15:14:29 +08:00
c9s
407a533659 use the standard generated comment
https://github.com/golang/go/issues/13560

Generated files are marked by a line of text that matches the regular
expression, in Go syntax:

    ^// Code generated .* DO NOT EDIT\.$ The .*

means the tool can put whatever folderol it wants in there, but the
comment must be a single line and must start with Code generated and end
with DO NOT EDIT., with a period.
2022-01-23 14:57:45 +08:00
c9s
1f18c36870 cmd: improve build command 2022-01-23 14:44:17 +08:00
c9s
5790c10a38 interact: fix logger call 2022-01-23 14:21:20 +08:00
c9s
7b572120a1 interact: use RemoveKeyboard from interact.KeyboardController 2022-01-23 14:13:47 +08:00
c9s
ef84742eb7 add KeyboardController interface 2022-01-23 02:21:26 +08:00
c9s
01afe9c14e interact: fix telegram session restore 2022-01-23 02:21:26 +08:00
c9s
fb37bce4bf interact: fix slack response and slash command handling 2022-01-23 02:21:26 +08:00
c9s
aad64eb461 interact: improve slack session loading and block sets rendering 2022-01-23 02:21:26 +08:00
c9s
49e4b71776 interact: handle InteractionTypeViewSubmission and print debug state 2022-01-23 02:21:26 +08:00
c9s
2f65d5951e interact: add doc comment to generateTextInputModalRequest 2022-01-23 02:21:26 +08:00
c9s
5ee0496c7d interact: support slack modal view request 2022-01-23 02:21:26 +08:00
c9s
0af5fc0530 interact: add RequireTextInput method to Reply interface 2022-01-23 02:21:26 +08:00
c9s
ce54a64208 add slack callback file 2022-01-23 02:21:26 +08:00
c9s
f5f8f15670 slack: add reply and session struct 2022-01-23 02:21:26 +08:00
c9s
2cf29bd1ec telegram: add callback handler 2022-01-23 02:21:26 +08:00
c9s
ad3f038dc6 bbgo: improve otp key layout 2022-01-23 02:21:26 +08:00
c9s
0e5cf5325b util: improve mask key function and add tests 2022-01-23 02:21:26 +08:00
c9s
c7f15efb23 interact: add Slack interaction 2022-01-23 02:21:26 +08:00
Yo-An Lin
e4b4f69716
Merge pull request #442 from kkc/fix_bollmaker_backtest
Fix: fallback to memory persistence if redis not found
2022-01-22 00:58:49 +08:00
Kakashi Liu
cd85edd64d Fix: fallback to memory persistence if redis not found
resolve #438
Fix bollmaker backtest error
2022-01-22 00:55:03 +08:00
zenix
213ceeda82 fix: #431 for not updating lastPrice if no tade happened 2022-01-21 20:57:55 +09:00
c9s
dc01a23b99 bump version to v1.26.3 2022-01-19 18:34:47 +08:00
c9s
4d921b0b36 kucoin: fix klines ordering 2022-01-19 18:33:54 +08:00
c9s
0b8e5852eb check persistence error 2022-01-19 18:29:24 +08:00
c9s
9bdc05b69c strategy/grid: use background context for canceling orders 2022-01-19 18:26:57 +08:00
c9s
9953a30717 xgap: fix subscribe interval 2022-01-19 13:08:50 +08:00
Yo-An Lin
0e0525be99
Merge pull request #418 from austin362667/refactor/futures-account
binance: add futures exchange api queries
2022-01-17 20:54:49 +08:00
Yo-An Lin
a8c5a80357
Merge pull request #436 from jessy1092/ftx/correct-poll-klines
ftx: Separate the lastClosed record for different interval
2022-01-17 20:52:39 +08:00
c9s
6db038d85f bump version to v1.26.1 2022-01-17 20:49:56 +08:00
c9s
5c0e3a1254 bollmaker: add shadow protection config 2022-01-16 04:40:50 +08:00
c9s
a68ad20ddc bollmaker: add shadow protection 2022-01-16 04:06:19 +08:00
c9s
71e660571d bbgo: optimize LocalActiveOrderBook for back-testing speed 2022-01-16 01:34:28 +08:00
c9s
1e370ff244 bollmaker: collect trades before we shutdown 2022-01-16 01:27:28 +08:00
c9s
898204f5fa bollmaker: adjust quantity to met the min notional condition before we submit 2022-01-16 01:15:34 +08:00
c9s
fd4a3bb000 bollmaker: remove unused cancelOrders function 2022-01-16 01:08:50 +08:00
c9s
5d54e6fded interact: skip total == 0 balance 2022-01-16 01:06:47 +08:00
c9s
d1cfaec7d3 notifier/telegramnotifier: check chats map 2022-01-16 01:00:15 +08:00
c9s
5f4239d108 interact: if messenger is not set, skip starting 2022-01-16 00:58:36 +08:00
c9s
b80f481e7d interact: fix interact tests for session 2022-01-16 00:50:43 +08:00
c9s
b49fc182dc fix telegram session persistence 2022-01-16 00:39:24 +08:00
c9s
2088234b44 interact: separate telegram user sessions 2022-01-16 00:25:11 +08:00
austin362667
904e7c03ad strategy: cleanup funding strategy
strategy: cleanup funding strategy
2022-01-15 08:28:02 +08:00
austin362667
0ab94e0884 binance: fix err handler 2022-01-15 08:28:02 +08:00
austin362667
91d2312c5c cache: refactor moving from bbgo to pkg/cache 2022-01-15 08:28:02 +08:00
austin362667
734221028b binance: fix parse type 2022-01-15 08:28:02 +08:00
austin362667
d0e26c66e4 strategy: add funding strategy 2022-01-15 08:28:02 +08:00
austin362667
f661db56bd service: handle error 2022-01-15 08:28:02 +08:00
austin362667
9a1d2cba31 binance: add account info in query account 2022-01-15 08:28:02 +08:00
austin362667
32c2f128f5 binance: add TradeFutures 2022-01-15 08:28:02 +08:00
austin362667
8130ef78c1 binance: refactor margin related conversions 2022-01-15 08:28:02 +08:00
austin362667
cd5d8c7a3f types: modify IsolatedMarginAsset from array to map 2022-01-15 08:28:02 +08:00
austin362667
48d968059c types: add margin asset map & account info 2022-01-15 08:28:02 +08:00
austin362667
5404bfe7f8 binance: fix futures symbol not found from syncSession
binance: fix query trades, closed orders futures symbol not found

binance: fix futures symbol not found
2022-01-15 08:28:02 +08:00
austin362667
0f0539fe70 binance: add futures exchange queries 2022-01-15 08:28:02 +08:00
austin362667
6071c07073 binance: add futures conversion 2022-01-15 08:28:02 +08:00
austin362667
6ac8b36eca types: add futures assets 2022-01-15 08:28:02 +08:00
Lee
266400d925 indicator: Support difference bandwidth on boll indicator and can dynamic create BOLL 2022-01-15 05:30:06 +08:00
Lee
f6c70bdfcb ftx: Separate the lastClosed record for different interval 2022-01-15 05:12:45 +08:00
c9s
0e3cc08c94 bump version to v1.26.0 2022-01-15 03:37:06 +08:00
c9s
5f942e85ed bbgo: show position with plaintext mode instead of string format 2022-01-15 03:13:30 +08:00
c9s
06e7ab8824 interact: fix interact tests 2022-01-15 03:09:42 +08:00
c9s
1c7d4d09cf interact: add Cycle state builder 2022-01-15 03:06:36 +08:00
c9s
2a6b821908 bbgo: implement /position command 2022-01-15 02:58:55 +08:00
c9s
93722e6db3 implement position closer interaction 2022-01-15 02:52:46 +08:00
c9s
77c2a6e10b types: fix submit order preview 2022-01-15 02:52:33 +08:00
c9s
140e5638b8 binance: apply order cancel rate limiter 2022-01-15 00:52:54 +08:00
c9s
255ee40c98 bbgo: when calling order cancel we should use background context 2022-01-15 00:49:27 +08:00
c9s
77e92d544a bbgo: pull out interaction setup 2022-01-15 00:32:21 +08:00
c9s
e385d96709 bbgo: move authToken loader 2022-01-15 00:29:35 +08:00
c9s
3a13025d58 bbgo: change default notification rule -- silent order updates 2022-01-15 00:25:16 +08:00
c9s
d5f3946ada bbgo: refactor the current auth with interact 2022-01-15 00:18:07 +08:00
c9s
51ecac54e7 bbgo: fix local active book graceful cancel 2022-01-15 00:17:52 +08:00
c9s
41b94c5c7e interact: refactor telegram interaction 2022-01-14 15:03:19 +08:00
c9s
fdf7ad9648 bbgo: rename auth function for general case 2022-01-14 13:41:43 +08:00
c9s
5bef7d8a1e interact: use interaction singleton 2022-01-14 13:31:31 +08:00
c9s
0114d92f2f interact: split interaction files 2022-01-14 13:31:31 +08:00
c9s
97ca304bec telegramnotifier: add SetOwner method 2022-01-14 13:31:31 +08:00
c9s
dd93ee4fd3 move methods to telegramnotifier 2022-01-14 13:31:31 +08:00
c9s
832faf91f8 interact: add command description 2022-01-14 13:31:31 +08:00
c9s
317d8e9d49 xgap: add minSpread option 2022-01-14 12:49:46 +08:00
Yo-An Lin
e797e597b1
Merge pull request #435 from jessy1092/fix/correct-bollmaker-params
fix: Correct uptrendSkew and downtrendSkew parameters setting on bollmaker strategy
2022-01-14 12:18:18 +08:00
c9s
eef14fa950 xgap: add jitter 2022-01-14 12:03:29 +08:00
c9s
1f6076ae18 plus a quantity jitter 2022-01-14 11:59:40 +08:00
c9s
42430fde4b interact: fix interact tests 2022-01-14 02:36:57 +08:00
c9s
17322cbc09 interact: improve authentication process 2022-01-14 02:36:06 +08:00
c9s
62e5706657 interact: improve strict mode authentication 2022-01-14 02:13:59 +08:00
c9s
72a925f659 interact: support authorizer 2022-01-14 01:58:04 +08:00
c9s
086127e8f7 interact: let function evaluator returns state, inject nil if object is not found 2022-01-14 01:01:01 +08:00
c9s
14eea34394 interact: pull out authentication interaction 2022-01-14 00:26:53 +08:00
c9s
91c831140c interact: fix private command 2022-01-14 00:17:41 +08:00
c9s
a6fb0caff3 interaction: add PrivateCommand 2022-01-13 23:41:22 +08:00
Lee
965fc6989d fix: Correct uptrendSkew and downtrendSkew parameters setting on bollmaker strategy 2022-01-13 23:06:23 +08:00
c9s
76c64b041f interact: separate interfaces 2022-01-13 22:24:51 +08:00
c9s
7eba6b20c9 implement the basic flow of interact 2022-01-13 22:15:05 +08:00
c9s
ba4c694179 interact: scan all return values 2022-01-13 11:43:33 +08:00
c9s
087a91aa8a interact: fix object arg injection 2022-01-13 11:43:33 +08:00
c9s
caa50c3b04 interact: implement parseFuncArgsAndCall with interface injection 2022-01-13 11:43:33 +08:00
c9s
3cc11badac interact: implement command state machine 2022-01-13 11:43:33 +08:00
c9s
43317bb647 add state and telegram example 2022-01-13 11:43:33 +08:00
c9s
ccaa8c5c86 bbgo: implement parseCommand 2022-01-13 11:43:33 +08:00
c9s
7053802041 basic interaction parser 2022-01-13 11:43:33 +08:00
c9s
7daa82ff9e bump version to v1.25.4 2022-01-13 11:33:30 +08:00
c9s
dc6d60216b types: fix order book copy 2022-01-13 11:09:50 +08:00
c9s
98247385f9 xmaker: use GracefulCancel to cancel active orders 2022-01-13 11:01:46 +08:00
c9s
e91dc5a518 types: use mod 3 and mod 7 for test 2022-01-13 10:59:03 +08:00
c9s
e573c18a5c types: add more detailed rbtree tests 2022-01-13 10:56:57 +08:00
c9s
cb9d9137a6 depth: add details to the depth error message 2022-01-13 00:14:15 +08:00
c9s
8b56c47f65 add doc-comment for PriceHeartBeat 2022-01-13 00:01:20 +08:00
c9s
ec72a922c8 all: add subscribe depth options 2022-01-12 22:27:42 +08:00
c9s
f9e72dc79f binance: subscribe binance depth10@100ms 2022-01-12 22:17:07 +08:00
c9s
5cc3a88911 xmaker: show order book last update time 2022-01-12 22:11:28 +08:00
c9s
2aeb9e870c types: add lastUpdateTime field 2022-01-12 22:07:52 +08:00
c9s
915f2c7476 types: add last update time field to orderbook 2022-01-12 22:06:08 +08:00
c9s
09592755cc cmd: add dump-update option to orderbook cmd 2022-01-12 22:00:29 +08:00
c9s
1a61935850 add depth buffer logs 2022-01-12 21:55:26 +08:00
c9s
8c2228f428 cmd: use time.Local for the local timezone 2022-01-12 15:33:04 +08:00
c9s
b3b1161ecc depth: add SetUpdateTimeout 2022-01-12 14:49:01 +08:00
c9s
0c7710c91b types: avoid using copy node for rbtree 2022-01-12 14:45:05 +08:00
c9s
c3356fa694 types: add test for PriceHeartBeat 2022-01-12 14:42:11 +08:00
c9s
5755c44845 move PriceHeartBeat to types 2022-01-12 14:33:55 +08:00
c9s
f28bfbf0c9 bump version to v1.25.3 2022-01-12 12:56:15 +08:00
Yo-An Lin
30c1dd3e3d
Merge pull request #424 from tony1223/bug/binance-add-ratelimiter
fix: [binance] add order rate limiter
2022-01-12 12:53:51 +08:00
Yo-An Lin
c2b121f9ee
Merge pull request #432 from jessy1092/ftx/support-limit-maker
ftx: Support LIMIT_MAKER and IOC_LIMIT order type
2022-01-12 12:50:57 +08:00
c9s
e44a2c1cac service: check redis client and show proper error 2022-01-12 12:42:39 +08:00
c9s
420e221f5b xmaker: pull out PriceHeartBeat 2022-01-12 12:14:51 +08:00
c9s
7195c6ed27 xmaker: add price quoting protection 2022-01-12 11:55:45 +08:00
c9s
0e927a9a06 types: avoid using nil in rbt 2022-01-12 11:45:08 +08:00
c9s
6ee831e678 add trade logger 2022-01-12 11:19:41 +08:00
c9s
db8a74238e notifier/telegramnotifier: remove debug log 2022-01-12 11:18:36 +08:00
Lee
523d9b3071 ftx: Support LIMIT_MAKER and IOC_LIMIT order type 2022-01-12 03:47:12 +08:00
c9s
848d36f90b add trade exchange back 2022-01-11 22:50:38 +08:00
c9s
940c675cae xmaker: add rate limit hit alert 2022-01-11 22:48:28 +08:00
c9s
081a143ec0 xmaker: add DepthQuantity 2022-01-11 22:47:40 +08:00
c9s
b302adcc7e types: add and use OrderError 2022-01-11 18:00:07 +08:00
c9s
857db529af binance: show order info in the error 2022-01-11 17:05:36 +08:00
c9s
b56c800e12 binance: add order status to the error message 2022-01-11 16:47:55 +08:00
c9s
97422f26e7 binance: should return error when order does not contain orderID or clientOrderID 2022-01-11 16:38:02 +08:00
c9s
96ffab9cd8 binance: add details to order cancel error 2022-01-11 16:35:49 +08:00
c9s
c59d82900b bump version to v1.25.2 2022-01-11 14:20:06 +08:00
c9s
4a8751e486 binance: fix listen key keep alive worker call 2022-01-11 14:16:35 +08:00
c9s
eefee46e9b binance: invert if 2022-01-11 13:38:03 +08:00
c9s
cf07ca7aa0 binance: adjust listen key update interval to longer period 2022-01-11 13:37:02 +08:00
c9s
71a0604e72 use fixedpoint to parse payload directly 2022-01-11 01:41:33 +08:00
c9s
e5b4af53e6 all: clean up SubmitOrder fields 2022-01-11 01:36:19 +08:00
c9s
43818e95b6 types: move channels to a single file 2022-01-11 01:25:39 +08:00
c9s
e12178b51a stream: make ping method private 2022-01-11 01:24:34 +08:00
c9s
a66070d286 stream: make reconnector private 2022-01-11 01:24:01 +08:00
c9s
16ec856a4e types: add debug flag for websocket raw message
flag: debug-websocket-raw-message
2022-01-11 01:23:01 +08:00
c9s
b24d944796 types: fix, remove the read timeout override 2022-01-11 01:20:09 +08:00
c9s
70dec09f26 xmaker: fix minQuantity buffer 2022-01-10 23:17:19 +08:00
c9s
6008aaac5f types: add order status icon for slack 2022-01-10 18:01:22 +08:00
c9s
d1c981e0b3 types: fix order slack attachment 2022-01-10 17:54:35 +08:00
c9s
2c94ec427b types: improve order slack attachment 2022-01-10 17:46:01 +08:00
c9s
48cbb7fff6 bbgo: check order side and log error 2022-01-10 17:26:14 +08:00
c9s
5103088675 cmd: fix submitOrder cmd 2022-01-10 17:16:07 +08:00
c9s
4b0e721580 binance: change binance debug client env var name to debug-binance-client 2022-01-10 16:37:41 +08:00
TonyQ
25801f9f63 add ratelmiter 2022-01-10 16:33:19 +08:00
c9s
88210fd27b types: improve trade text template 2022-01-10 14:32:55 +08:00
c9s
7952cf8804 display fee only when fee > 0 2022-01-10 14:25:33 +08:00
c9s
fb3c198447 types: add okex icon and kucoin icon 2022-01-10 14:18:09 +08:00
c9s
e2f7790a4e types: show exchange name in the trade footer 2022-01-10 14:15:45 +08:00
c9s
439685141f add footer icon for exchange name 2022-01-10 14:15:05 +08:00
c9s
16b5ea9744 bump version to v1.25.1 2022-01-10 13:52:35 +08:00
c9s
b26141ac1f support: set default s.triggerEMA 2022-01-10 13:51:14 +08:00
c9s
b56e988fc9 support: fix triggerEMA check 2022-01-10 13:49:36 +08:00
c9s
2c2ba46ab7 bump version to v1.25.1 2022-01-10 13:46:41 +08:00
c9s
6c3ee314d9 binance: fix order cancel client order id usage 2022-01-10 13:29:27 +08:00
c9s
c284e2e3bb types: improve pendingRemoval check 2022-01-10 12:44:06 +08:00
c9s
d57f8fedfe bbgo: fix active book order removal 2022-01-10 12:29:19 +08:00
c9s
3907f99e70 xmaker: keep rate reservation token 2022-01-10 12:25:13 +08:00
c9s
1b27c4e9c4 remove hedge error limiter 2022-01-09 23:45:46 +08:00
c9s
54779444f4 bump version to v1.25.0 2022-01-09 22:54:21 +08:00
c9s
9ca4e23aaf add strategy documentation 2022-01-09 22:43:49 +08:00
c9s
bba4e86fdf bollmaker: adjust default skew parameter 2022-01-09 22:37:27 +08:00
c9s
b98777afe4 bollmaker: pull out skew options 2022-01-09 22:32:23 +08:00
c9s
d94cc2df31 bbgo: add recover callbacks to trace collector 2022-01-09 15:39:59 +08:00
c9s
ab3dabcbcc bump version to v1.24.0 2022-01-09 11:44:41 +08:00
c9s
cbff0b6eca types: improve position fee display for telegram 2022-01-09 11:42:01 +08:00
c9s
6ce8edba7d xmaker: add error rate limiter 2022-01-09 11:33:34 +08:00
c9s
471a1b2baa xmaker: adjust minimal quantity and minimal notional threshold 2022-01-09 10:18:31 +08:00
c9s
7e9b768e4c slacknotifier: apply rate limiter to 1 message per second 2022-01-09 10:14:39 +08:00
c9s
cd340bd596 bollmaker: check s.MaxExposurePosition 2022-01-09 03:03:54 +08:00
c9s
0cec652f38 bollmaker: skip submitOrder calls if submitOrders is empty 2022-01-09 02:35:12 +08:00
c9s
656ef942e4 bollmaker: add disable short option 2022-01-09 02:24:10 +08:00
c9s
4df5847647 bollmaker: add quantity scaling for closing position 2022-01-09 01:57:51 +08:00
c9s
4cdb5b607b rename bollpp to bollmaker 2022-01-09 01:20:47 +08:00
c9s
02dfdb57bd types: pull out position type 2022-01-09 00:45:19 +08:00
c9s
1b1fc3ad66 types: collect fees 2022-01-09 00:39:55 +08:00
c9s
7e2acdc416 all: add lock protected GetBase method for Position 2022-01-09 00:35:45 +08:00
c9s
9b92c8948d xmaker: fix quantity truncation and add check for min quantity n min notional 2022-01-09 00:30:18 +08:00
c9s
415cda3fca bump version to v1.23.0 2022-01-08 19:06:03 +08:00
c9s
d1420e66be fix TestTradeCollector_ShouldNotCountDuplicatedTrade 2022-01-08 02:20:30 +08:00
c9s
cb189d885c fix backtest for limit maker order and bollpp strategy 2022-01-08 02:18:44 +08:00
c9s
e0b906a88b bbgo: fix processTrade 2022-01-07 16:53:11 +08:00
c9s
f4ebae17bb xmaker: when recover the trade, notify 2022-01-07 13:13:57 +08:00
c9s
a5fb408a16 twap: refactor and call activeMakerOrders.GracefulCancel 2022-01-07 01:34:23 +08:00
c9s
d013713c00 types: add exchange name to trade key 2022-01-07 01:25:07 +08:00
c9s
e312ec953c bbgo: rename test case 2022-01-07 01:23:54 +08:00
c9s
d63cc42867 bbgo: add trade collector test 2022-01-07 01:17:07 +08:00
c9s
a49d001c29 xmaker: add trade scanner 2022-01-07 01:03:12 +08:00
c9s
69ae3259ff bbgo: mark trade as done in the trade collector for preventing duplicated trade 2022-01-07 00:28:12 +08:00
c9s
01c7429758 trade: use assignment instead of append 2022-01-07 00:21:14 +08:00
c9s
41574a2390 xmaker: use millisecond jitter from the util package 2022-01-07 00:14:24 +08:00
c9s
259771b0b0 all: pull out the graceful cancel process to the local active book 2022-01-07 00:10:40 +08:00
c9s
47e23fda90 bbgo: add cache expiry 2022-01-06 23:57:42 +08:00
c9s
1d5406ef21 xmaker: always update maker market 2022-01-06 23:27:06 +08:00
c9s
c8bf85f4e2 xmaker: improve pips 2022-01-05 11:34:07 +08:00
c9s
e997220321 xmaker: fix ask pips 2022-01-05 11:32:56 +08:00
c9s
8b6cae9107 max: fix max authenticated event parsing 2022-01-02 12:20:38 +08:00
c9s
e04139a330 max: clean up and refactor max stream 2022-01-02 12:02:36 +08:00
c9s
cc0e5f71b0 clean up binance stream 2022-01-02 12:02:36 +08:00
Yo-An Lin
b22bb4b28d
Merge pull request #416 from tony1223/bug/415-ftx-kline
exchange/ftx: #415 fix kline issue
2022-01-02 02:46:22 +08:00
c9s
85c14e5966 binance: fix parser tests 2022-01-02 02:44:47 +08:00
c9s
dcea623264 binance: change listen key update interval to 10 minutes 2022-01-02 02:41:58 +08:00
c9s
96fedfd311 okex: refactor okex stream 2022-01-02 02:37:33 +08:00
TonyQ
8315607de3 exchange/ftx: #415 fix kline issue 2022-01-02 02:34:29 +08:00
c9s
9d382a6b8c binance: use sync.Once to protect the set server time calls 2022-01-02 02:14:04 +08:00
c9s
ffe216ca2d kucoin: remove unused fields 2022-01-02 02:11:55 +08:00
c9s
76d11af284 kucoin: fix connection field 2022-01-02 02:11:36 +08:00
c9s
f4bfd8cc6b all: move Reconnector to standard stream 2022-01-02 02:08:34 +08:00
c9s
6f6dac611e refactor websocket stream into standard websocket stream 2022-01-02 01:54:47 +08:00
c9s
073845baa1 bump version to v1.22.3 2022-01-01 02:52:14 +08:00
c9s
3c57ce788e add startTime to the trade sync query 2022-01-01 02:51:58 +08:00
c9s
ab0519c4be start time is required for syncing trades 2022-01-01 02:50:07 +08:00
c9s
83053ab807 bump version to v1.22.3 2022-01-01 02:45:59 +08:00
c9s
7d64a30a6b kucoin: fix launch date with local time zone 2022-01-01 02:45:47 +08:00
c9s
0fc5f74cb1 bump version to v1.22.3 2022-01-01 02:43:48 +08:00
c9s
129f44bbcb fix empty start time sync issue 2022-01-01 02:43:08 +08:00
c9s
25f01b8837 kucoin: refactor ticker request 2022-01-01 02:07:48 +08:00
c9s
be408055a6 kucoin: refactor account service api 2022-01-01 02:04:20 +08:00
c9s
61736a6263 bump version to v1.22.2 2022-01-01 01:35:37 +08:00
c9s
6ff24e713e xmaker: fix notification format 2022-01-01 01:34:48 +08:00
c9s
6d5ab33d17 kucoin: fix kucoin order query 2022-01-01 01:28:29 +08:00
c9s
556a581ae1 kucoin: add kucoin list history orders request 2022-01-01 00:46:33 +08:00
c9s
809528a9cc bump version to v1.22.1 2021-12-31 15:27:01 +08:00
c9s
6055f90680 xmaker: add cover and uncover logs 2021-12-31 15:26:51 +08:00
c9s
5b250d0e28 bump version to v1.22.1 2021-12-31 15:17:30 +08:00
c9s
1116fc1de1 session: print klines only when debug-kline is enabled 2021-12-31 15:13:26 +08:00
c9s
899e8d2d58 Revert "xmaker: fix s.state.CoveredPosition.AtomicAdd add"
This reverts commit 5999dc1151.
2021-12-31 14:23:02 +08:00
c9s
e05da17f4f sync: skip rejected withdraw record 2021-12-31 14:20:36 +08:00
c9s
eba33329d1 always sort orders and trades in the batch query 2021-12-31 14:12:41 +08:00
c9s
2a8caa3780 batch: show trade sync time range in the message 2021-12-31 13:56:53 +08:00
c9s
20c6c7eb9a all: fix trade, order sync for kucoin 2021-12-31 13:52:16 +08:00
c9s
5f84f13e21 kucoin: fix trade time field issue 2021-12-31 13:20:34 +08:00
c9s
5999dc1151 xmaker: fix s.state.CoveredPosition.AtomicAdd add 2021-12-31 02:00:39 +08:00
c9s
63ccc2d3d0 bbgo: remove order if ExecutedQuantity is zero 2021-12-31 01:55:22 +08:00
c9s
aaa52ecea4 xmaker: remove unsued localTimeZone var 2021-12-31 01:53:30 +08:00
c9s
f2b852c486 bump version to v1.22.0 2021-12-31 01:52:29 +08:00
c9s
e09b4fa5fb kucoin: rewrite cancel all orders request 2021-12-31 01:50:56 +08:00
c9s
6addd503aa kucoin: generate PlaceOrderRequest with requestgen 2021-12-31 01:43:31 +08:00
c9s
af19875e2e kucoin: fix predefined generate command alias 2021-12-31 01:39:45 +08:00
c9s
b91bf10a7c kucoin: remove New prefix from the requests 2021-12-31 01:36:41 +08:00
Yo-An Lin
8aef3c002a
Merge pull request #412 from austin362667/refactor/futures-account
binance: add futures stream
2021-12-31 01:27:34 +08:00
c9s
b8b5ccdd2d kucoin: refactor account service with requestgen 2021-12-31 01:25:04 +08:00
austin362667
9483a0d10d binance: modify methods for registering callbacks 2021-12-31 00:11:47 +08:00
austin362667
65d37c1983 binance: add futures stream 2021-12-31 00:08:27 +08:00
austin362667
3d63032f7d types: modify Positions to FuturesPositions 2021-12-31 00:08:27 +08:00
austin362667
5cc768031e binance: add FuturesPosition conversion 2021-12-31 00:08:27 +08:00
austin362667
b000f572b4 types: add FuturesPosition 2021-12-31 00:08:27 +08:00
c9s
a4949a100d bump version to v1.21.4 2021-12-30 23:47:31 +08:00
c9s
3c2704c4ae add binance.us support 2021-12-30 23:46:43 +08:00
c9s
c467529b23 bump version to v1.21.3 2021-12-30 22:04:38 +08:00
c9s
ba73d5a09a fix kucoin orderTime parsing and order id conversion 2021-12-30 22:02:50 +08:00
c9s
76d31e7614 kucoin: add client order ID to converter 2021-12-30 21:39:50 +08:00
c9s
31070c3950 pull out connection status binder 2021-12-30 17:25:47 +08:00
c9s
26ff576727 fix connection status callbacks 2021-12-30 17:23:27 +08:00
c9s
4383823135 use trimTrailingZeroFloat 2021-12-30 17:21:23 +08:00
c9s
cfc66dc13e bbgo: add session connection notification 2021-12-30 17:18:04 +08:00
c9s
8995ce2824 binance: adjust timeout 2021-12-30 16:51:30 +08:00
c9s
890fb5327a rename StreamRequest to WebSocketCommand 2021-12-30 16:49:07 +08:00
c9s
35e0b1d146 binance: fix binance stream graceful shutdown 2021-12-30 16:47:39 +08:00
c9s
ff87fb007e binance: pull out dispatchEvent 2021-12-30 16:30:02 +08:00
c9s
bae7df806f binance: pull out getEndpointUrl 2021-12-30 16:22:29 +08:00
c9s
d72d57526c binance: add DEBUG_BINANCE_STREAM env var 2021-12-30 16:20:32 +08:00
c9s
a2931da92c move math rand 2021-12-30 16:18:32 +08:00
c9s
e73866a232 tmp 2021-12-30 16:17:26 +08:00
c9s
7fa05b33f8 bump version to v1.21.2 2021-12-30 16:17:07 +08:00
c9s
e82800ce01 bump version to v1.21.2 2021-12-30 16:06:11 +08:00
c9s
db4a6cf305 bump version to v1.21.2 2021-12-30 15:59:19 +08:00
c9s
844b3c2e8e fix kucoin context issue 2021-12-30 15:58:58 +08:00
c9s
3b9a191c95 binance: refactor binance stream handlers 2021-12-30 14:02:36 +08:00
c9s
f540742b42 add tradeType field 2021-12-30 02:37:17 +08:00
c9s
3cf499b605 kucoin: rewrite GetAllTickersRequest api 2021-12-30 02:33:07 +08:00
c9s
0fc91500e4 kucoin: rewrite GetTickerRequest with requestgen 2021-12-30 02:22:33 +08:00
c9s
5136001c9b kucoin: rewrite ListSymbolsRequest 2021-12-30 02:17:03 +08:00
c9s
41435458d1 refactor orderbook requests with requestgen 2021-12-30 01:15:19 +08:00
c9s
6ff7113ace bump version to v1.21.1 2021-12-30 00:34:52 +08:00
c9s
33801a4fbc fix trailing zero trim 2021-12-30 00:14:01 +08:00
c9s
22e4da3775 fix pendingRemoval lock 2021-12-29 23:53:46 +08:00
c9s
2c0af99a51 rewrite kucoin bullet api with requestgen 2021-12-29 22:06:21 +08:00
c9s
8f97ee7787 binance: add isolated margin flag 2021-12-29 17:36:08 +08:00
c9s
2ef4d713f8 binance: fix margin order cancel 2021-12-29 17:35:27 +08:00
c9s
1a820936c4 binance: change log level from info to debug 2021-12-29 17:30:04 +08:00
c9s
6030a62cf0 change to debug level message 2021-12-29 17:28:45 +08:00
c9s
b637d46c83 adjust keep alive interval 2021-12-29 17:27:37 +08:00
c9s
eec699cbc9 binance: adjust timeout and interval 2021-12-29 15:25:59 +08:00
c9s
6440c7659b let mask ke shows head and tail 2021-12-29 15:25:59 +08:00
austin362667
d691bfa106 binance: add futures parser 2021-12-28 06:26:27 +08:00
c9s
f78a7d37a2 xgap: subscribe 1m kline 2021-12-28 02:14:49 +08:00
c9s
8f4ae1e15b xgap: check balance and adjust order quantity according to the available balance 2021-12-28 02:11:11 +08:00
c9s
090d60b44e fix session connection status metrics 2021-12-28 01:58:36 +08:00
c9s
958dd97f52 xgap: add SimulateVolume 2021-12-28 01:48:24 +08:00
c9s
a0e41650be add metricsLastUpdateTimeBalance metrics 2021-12-28 01:39:17 +08:00
c9s
bb9ef72028 update metricsConnectionStatus metrics 2021-12-28 00:49:56 +08:00
c9s
acd1f6fdf3 update dev build version 2021-12-27 23:10:37 +08:00
c9s
9b1783a92a fix version file generator 2021-12-27 23:10:29 +08:00
c9s
4ea4bfb3fa fix dev version build flag 2021-12-27 21:18:48 +08:00
c9s
0779b3e20a bump version to v1.21.0 2021-12-27 19:13:44 +08:00
c9s
4a6c9deb8d compile and update migration package 2021-12-27 19:13:44 +08:00
c9s
5fca633495 types: remove trade trailing zero digits 2021-12-27 17:36:58 +08:00
c9s
8d02f0b03e trade notification format 2021-12-27 17:34:31 +08:00
c9s
bb7b33e532 bbgo: bind and update balance metrics updater 2021-12-27 17:27:16 +08:00
c9s
7b629c9d30 bbgo: update balances metrics and trade metrics 2021-12-27 17:16:30 +08:00
c9s
0f24eec715 bbgo: fix: filter trades by symbol 2021-12-27 16:32:30 +08:00
c9s
42f22e0ef3 add prometheus metrics server 2021-12-27 16:27:14 +08:00
c9s
1fa03cdfd6 xmaker: add back profit function 2021-12-27 02:59:55 +08:00
c9s
a31e2743ee fix kline log space 2021-12-27 00:54:10 +08:00
c9s
f7c39290a0 call tradeCollector process to check trades 2021-12-27 00:51:57 +08:00
c9s
c49b9ef276 fix order status convert 2021-12-27 00:21:52 +08:00
c9s
dcdf33e2c9 xmaker: pull out notifyTrade to a single callback 2021-12-27 00:12:35 +08:00
c9s
e08b2e9a85 fix max exchange order status conversion and document the order status 2021-12-26 15:58:12 +08:00
c9s
770c1067fc bbgo: fix order store RemoveCancelled 2021-12-26 15:47:39 +08:00
c9s
65da02af2c xmaker: call TruncateQuantity when the quantity is adjusted 2021-12-26 15:45:39 +08:00
c9s
902e27ede4 xmaker: truncate quantity when hedging 2021-12-26 15:44:41 +08:00
c9s
05a0745d08 fix InitExchange for publicOnly session 2021-12-26 15:29:42 +08:00
c9s
30a7ca1ce1 rename gap to xgap 2021-12-26 15:13:51 +08:00
c9s
1c54e59d55 xmaker: fix trade handling 2021-12-26 12:10:10 +08:00
c9s
e44390b655 kucoin: add more comment 2021-12-26 03:19:03 +08:00
c9s
9b8995acea fix supportedIntervals map 2021-12-26 03:17:26 +08:00
c9s
8bf5c5f778 fix kline sync query 2021-12-26 03:14:19 +08:00
c9s
a5c7ffa134 kucoin: add the missing 5min kline convert 2021-12-26 03:07:49 +08:00
c9s
4c263dd205 fix batch kline sync 2021-12-26 03:04:21 +08:00
c9s
cf6da76ef0 service: add kucoin_klines to backtest insert table mapping 2021-12-26 02:40:13 +08:00
c9s
b79ab5d68d kucoin: fix kline query param 2021-12-26 02:39:44 +08:00
c9s
be10019007 compile and update migration package 2021-12-26 02:31:09 +08:00
c9s
1da0c8e755 kucoin: implement QueryKLines and fix interval conversion 2021-12-26 02:23:06 +08:00
c9s
e3181202db kucoin: implement QueryTrades 2021-12-26 01:44:05 +08:00
c9s
8c03147ff4 kucoin: implement QueryClosedOrders 2021-12-26 01:34:03 +08:00
c9s
0cef2c52ef all: improve cancel command and add uuid field to order struct 2021-12-26 01:27:22 +08:00
c9s
471d86c801 kucoin: implement order submit 2021-12-26 00:27:52 +08:00
c9s
50fac9d491 kucoin: pull out queryDepth method to exchange 2021-12-25 23:53:34 +08:00
c9s
ba8ebfe3a7 refactor and add doc comment for InitExchangeSession 2021-12-25 23:42:29 +08:00
c9s
307d0b8e1f bbgo: add passphrase field to session struct 2021-12-25 23:28:00 +08:00
c9s
dd22776a7e cmd: refactor the exchange factory function 2021-12-25 23:27:05 +08:00
Yo-An Lin
8aa2ae1b32
Merge pull request #397 from austin362667/refactor/futures-account
binance: add futures related conversion
2021-12-25 23:17:27 +08:00
c9s
dcbce18fd8 fix format 2021-12-25 23:12:54 +08:00
c9s
442afe8eb9 backtest: pull out market data feeding to a function and call it in the main thread 2021-12-25 22:57:28 +08:00
c9s
60853bee23 backtest: pull out market data feeder 2021-12-25 22:37:38 +08:00
c9s
57bc65a729 avoid calling EmitConnect and EmitStart outside of the kline feeding goroutine
this causes 2 goroutine running in the same time hence cause the
concurrent map read / write

should fix #399, #401
2021-12-25 21:05:50 +08:00
c9s
5f9753b281 kucoin: convert symbol to global symbol 2021-12-25 19:35:08 +08:00
c9s
f0d4236169 all: fix and improve kucoin orderbook stream 2021-12-25 19:34:27 +08:00
c9s
3d1ca46c77 depth: remove updates assertion 2021-12-25 02:14:49 +08:00
c9s
217499528d binance: refactor binance depthBuffer with depth query 2021-12-25 02:14:49 +08:00
c9s
7e7115b18f replace binance.depthFrame with the extracted depth.Buffer 2021-12-25 02:14:49 +08:00
c9s
b217a0dec8 depth: implement depth.Buffer 2021-12-25 02:14:49 +08:00
austin362667
ba972e4058 binance: add futures related conversion
binance: remove comments
2021-12-24 01:38:10 +08:00
Yo-An Lin
d1c5e93e4f
Merge pull request #385 from austin362667/refactor/futures-account
types: add global structs for futures
2021-12-24 00:33:27 +08:00
c9s
49e516b80e backtest: allocate public exchange (with empty key secret) for backtesting 2021-12-24 00:24:19 +08:00
c9s
c4838f5631 binance: fix depth event conversion 2021-12-23 23:55:13 +08:00
c9s
fdc5d6a54e binance: use types.PriceVolumeSlice for depth entry 2021-12-23 23:55:02 +08:00
c9s
dae104cf9f binance: optimize depth parsing 2021-12-23 23:54:43 +08:00
c9s
2adce6dd00 binance: return the pre-allocated err object when parsing 2021-12-23 23:54:26 +08:00
c9s
d01b9968a6 okex: format comment 2021-12-23 23:40:49 +08:00
c9s
40c4dcf2a0 okex: remove event logging 2021-12-23 23:40:10 +08:00
c9s
a3e3e1d177 bbgo: do not sync trades when running backtest 2021-12-23 23:20:35 +08:00
austin362667
df62683313 types: remove exchange specific fields 2021-12-23 23:16:20 +08:00
austin362667
6c1642eed6 types: add PositionRisk 2021-12-23 23:14:38 +08:00
austin362667
cc13ae2aab types: add FuturesUserAsset 2021-12-23 23:14:38 +08:00
austin362667
c507722745 types: add FuturesAccountInfo 2021-12-23 23:14:38 +08:00
c9s
f5bbe29ac6 cmd: fix debug flag loading and add debug log to cache function 2021-12-23 23:02:07 +08:00
c9s
168e6306e7 binance: remove verbose log 2021-12-23 22:29:14 +08:00
c9s
ed6f400161 implement UnixMilli in the util package 2021-12-23 22:20:47 +08:00
c9s
d433c7f5b1 kucoin: replace UnixMilli 2021-12-23 21:09:40 +08:00
c9s
e76dd1cbc4 kucoin: fix kline parsing and subscription 2021-12-23 17:49:18 +08:00
c9s
e2415857b0 cmd: graceful close the connection 2021-12-23 17:49:18 +08:00
c9s
562c287a4e all: move publicOnly to StandardStream 2021-12-23 17:49:18 +08:00
c9s
fd8b97b2ad cmd: use log category 2021-12-23 17:49:18 +08:00
c9s
8e834ce8fe kucoin: convert websocket trade and order 2021-12-23 17:49:18 +08:00
c9s
cfd68fdd1d all: change trade id to uint64 2021-12-23 17:49:18 +08:00
c9s
74b09551b5 kucoin: record kucoin json as files 2021-12-23 17:49:18 +08:00
c9s
838bc69f65 kucoin: reformat testdata json 2021-12-23 17:49:18 +08:00
c9s
6330a1845d kucoin: connecting stream callbacks 2021-12-23 17:49:18 +08:00
c9s
449434da4c kucoin: generate callback methods 2021-12-23 17:49:18 +08:00
TonyQ
75633dbf09 exchange/okex : implement bookticker for okex , #388 2021-12-23 12:42:13 +08:00
Yo-An Lin
98de0862a4
Merge pull request #395 from tony1223/bug/okex-maskkey
exchange/okex: update QueryTickers behaviour
2021-12-23 02:51:54 +08:00
c9s
911574d8d6 kucoin: parse websocket messages 2021-12-23 02:50:56 +08:00
c9s
cec4b3dd1e add websocket message parser 2021-12-23 02:50:56 +08:00
c9s
3fb2e12c24 kucoin: add websocket types 2021-12-23 02:50:56 +08:00
c9s
1a3f9ed4b2 kucoin: use returned ping interval instead of default 2021-12-23 02:50:56 +08:00
c9s
730ce31e67 kucoin: implement NewStream 2021-12-23 02:50:56 +08:00
c9s
0a9575aaca kucoin: pull out ping worker 2021-12-23 02:50:56 +08:00
c9s
92076878cd kucoin: refactor ping worker 2021-12-23 02:50:56 +08:00
c9s
b0d4688528 kucoin: implement getEndpoint method 2021-12-23 02:50:56 +08:00
c9s
a4c9aea6c6 kucoin: refactor bullet url code 2021-12-23 02:50:56 +08:00
c9s
6cbccc9a3f kucoin: add websocket command 2021-12-23 02:50:56 +08:00
c9s
4303342841 kucoin: export ApiClient interface methods 2021-12-23 02:50:56 +08:00
c9s
c390bbc31d add generated files 2021-12-23 02:50:56 +08:00
c9s
2230b484a8 kucoin: add bullet service 2021-12-23 02:50:56 +08:00
c9s
7f92588883 kucoinapi: refactor api client 2021-12-23 02:50:56 +08:00
c9s
c8dd02335b kucoin: refactor and clean up 2021-12-23 02:50:56 +08:00
TonyQ
5645161403 exchange/okex: update QueryTickers behaviour 2021-12-23 01:29:43 +08:00
TonyQ
d7ac645253 exchange: update maskkey handling 2021-12-23 01:18:36 +08:00
Yo-An Lin
bcbf7c3f3b
Merge pull request #389 from tony1223/feature/388-bookticker
exchange/stream : implement booktickerupdate event for ftx and binance
2021-12-22 22:35:52 +08:00
TonyQ
16862e7208 exchange/stream : implement booktickerupdate event for ftx and
binance
2021-12-22 21:01:11 +08:00
Yo-An Lin
b2ffcb7993
Merge pull request #387 from narumiruna/narumi/rebalance/validate
strategy: rebalance: validate parameters
2021-12-22 10:52:37 +08:00
なるみ
4a8be9cc1a Fix log 2021-12-22 02:04:44 +08:00
なるみ
2999e41ef0 Validate config 2021-12-22 01:59:38 +08:00
なるみ
41d4001872 Add log 2021-12-22 01:59:25 +08:00
c9s
388cfe0854 kucoin: fix go 1.17 compatibility issue 2021-12-22 01:45:07 +08:00
c9s
3b5015e1ca kucoin: integrate list tickers 2021-12-22 01:34:24 +08:00
c9s
0b6e66348e kucoin: implement query tickers 2021-12-22 01:28:16 +08:00
c9s
c32f3ab2f3 add generate_symbol_map.go generator 2021-12-22 01:28:16 +08:00
c9s
bd5e956892 add kucoin to the exchange factory 2021-12-22 01:28:16 +08:00
c9s
58212290ad types: update market structure for doc comment 2021-12-22 01:28:16 +08:00
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
c9s
8b93aeeeb2 fix ewma truncation 2021-12-22 00:54:13 +08:00
Yo-An Lin
53f6ea6490
Merge pull request #384 from tony1223/feature/record-account
types: update account struct
2021-12-22 00:04:30 +08:00
TonyQ
06fc821b3d types: update account struct 2021-12-21 23:59:02 +08:00
Yo-An Lin
e0844459b9
Merge pull request #380 from tony1223/bug/kline-scan
backtest : finetune for kline scan logic to prevent hanging for
2021-12-21 22:47:50 +08:00
TonyQ
740989ca64 exchange/ftx: add more guard condition 2021-12-21 20:46:40 +08:00
TonyQ
f62235b94e backtest : finetune for kline scan logic to prevent hanging for
query
2021-12-21 20:44:20 +08:00
Yo-An Lin
1ab20e6397
Merge pull request #381 from narumiruna/maxamount
strategy: rebalance: adjust quantity by max amount
2021-12-21 20:20:44 +08:00
なるみ
531805a449 Adjust quantity by max amount 2021-12-20 23:46:22 +08:00
Andy Cheng
e4bdb1de06
strategy: allow setting the interval and the window for trigger MA 2021-12-19 18:28:47 +08:00
Andy Cheng
d281182432
strategy: fix support strategy criteria 2021-12-19 17:53:34 +08:00
Yo-An Lin
97f9285449
Merge pull request #376 from tony1223/bug/backtest-fix-auto-sync
backtest : fix auto sync missing the part from last db kiline to
2021-12-19 14:59:35 +08:00
austin362667
f9cf71cef3 indicator: add kline close volatility
indicator: add kline close volatility
2021-12-19 14:20:09 +08:00
TonyQ
711575c6d0 backtest : fix auto sync missing the part from last db kiline to
end time
2021-12-19 12:14:18 +08:00
なるみ
b144d8e107 feature: add volume weighted moving average indicator 2021-12-17 14:36:39 +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
Yo-An Lin
d531e041dd Merge pull request #357 from narumiruna/rebalance
feature: add portfolio rebalancing strategy
2021-12-14 12:01:07 +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
なるみ
f320d78f2f Refactor 2021-12-14 02:18:08 +08:00
austin362667
d3526b2c71 binance: add SubmitFuturesOrder and related conversions 2021-12-13 23:19:14 +08:00
austin362667
36c6d39612 bbgo: add session Futures & types: add FuturesExchange 2021-12-13 23:16:58 +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
なるみ
f494a0f514 Initial commit of rebalance strategy 2021-12-13 05:19: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
austin362667
a21f3b11ba types: add PositionMap in std Stream & callbacks 2021-12-12 05:24:39 +08:00
Yo-An Lin
2e7b69320b Merge pull request #349 from c9s/feature/kucoin
feature: integrate kucoin api
2021-12-11 23:17:07 +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
austin362667
1703fff8b2 types: refactor Position and related files 2021-12-11 19:16:16 +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
0c7bbba675 Merge pull request #346 from tony1223/bug/343-fee_currency_length 2021-12-11 10:57:17 +08:00
Yo-An Lin
3952acaf55 Merge pull request #342 from tony1223/bug/341-windows-issue 2021-12-11 10:47:41 +08:00
TonyQ
25d4b9a0b3 order: add is_futures field for #344 2021-12-11 10:45:21 +08:00
TonyQ
c38564dcc7 compile and update migration package 2021-12-11 10:40:11 +08:00
TonyQ
e5450492bb telegram: find USERNAME when USER env not found for windows. 2021-12-11 10:30:57 +08:00
Yo-An Lin
9f14d00f3c Merge pull request #340 from tony1223/feature/336-kline-table
backtest: add ftx kline table
2021-12-11 02:30:06 +08:00
Yo-An Lin
edcb8a3327 Merge pull request #339 from tony1223/bug/338-refine_client_order_id
orders: update client_order_id (client_id) column length
2021-12-11 02:29:31 +08:00
TonyQ Wang
776f82fcd5 Merge branch 'main' into feature/336-kline-table 2021-12-11 02:26:01 +08:00
TonyQ
8bb702223a orders: update client_order_id (client_id) column length for
#338
2021-12-11 02:23:39 +08:00
TonyQ
0fcc5e5edc compile and update migration package 2021-12-11 02:19:53 +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
4665ae0e31 remove unused error return value 2021-12-10 15:03:43 +08:00
c9s
fe9b604d79 update ftx market mapping 2021-12-09 15:57:44 +08:00
c9s
06262f0172 check sync from time with start time instead of end time 2021-12-09 15:57:12 +08:00
c9s
61817e1e83 add startPrice and lastPrice in the backtest report
closes #321
2021-12-09 11:58:19 +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
a0f46bf9b8 improve error checking, avoid using panic inside the constructor 2021-12-08 23:30:58 +08:00
c9s
2223ef088c add ftx, okex to the public exchange factory for backtest 2021-12-08 23:27:01 +08:00
c9s
7b290afc2a compile and update migration package 2021-12-08 19:57:55 +08:00
c9s
9413e0017d bump version to v1.20.0 2021-12-08 19:57:55 +08:00
Yo-An Lin
cf0cdf5b83 Merge pull request #320 from c9s/minor/integrate-binance-future-types
feature: integrate binance future types
2021-12-08 19:55:31 +08:00
c9s
874c7b39fa service: add is_futures fields to trade service 2021-12-08 19:38:16 +08:00
c9s
9b56e9e32b service: add is_futures fields to order service 2021-12-08 19:38:10 +08:00
c9s
5aa027f883 types: add is_futures field to the global trade 2021-12-08 19:37:27 +08:00
c9s
20e61d5b5c types: extend order fields for futures 2021-12-08 19:36:57 +08:00
TonyQ
3dff1acd79 finetune ftx for #318 2021-12-08 19:36:37 +08:00
c9s
b71d0f5b6e bump version to v1.19.4 2021-12-08 17:27:08 +08:00
c9s
d52edce40b fix markets info cache 2021-12-08 17:26:43 +08:00
c9s
08a264d4eb add futures exchange check in the markets cache 2021-12-07 21:29:40 +08:00
c9s
245905a25a remove unnecessary parent node assignment 2021-12-07 21:23:43 +08:00
c9s
f716dd12c0 re-arrange rb node fields for alignment 2021-12-07 21:22:11 +08:00
c9s
fb2204a86d share one neel object for all rbtree 2021-12-07 21:21:30 +08:00
c9s
aa21ea874a make rbtree properties in lower case 2021-12-07 21:16:40 +08:00
Yo-An Lin
3fb6d204aa Fix pointer check 2021-12-07 18:52:24 +08:00
c9s
da8b15d817 bump version to v1.19.3 2021-12-07 16:16:25 +08:00
c9s
5c23dfb14f bump version to v1.19.3 2021-12-07 16:16:02 +08:00
c9s
a6604174d9 bump version to v1.19.3 2021-12-07 16:15:12 +08:00
c9s
f61f89da65 bump version to v1.19.3 2021-12-07 16:15:00 +08:00
c9s
85b5c760ea bump version to v1.19.3 2021-12-07 16:14:32 +08:00
c9s
ecd67cf23e bump version to v1.19.3 2021-12-07 16:14:23 +08:00
c9s
70017101bb bump version to v1.19.3 2021-12-07 16:12:41 +08:00
c9s
1ff02b08ce add release note 2021-12-07 16:12:35 +08:00
c9s
ccd9d8c466 improve makefile for version target 2021-12-07 16:10:49 +08:00
c9s
522d1bd8bf bump version to 1.19.3 2021-12-07 16:03:32 +08:00
c9s
1de4e5ee4c grid: fix parameter checking for fixed amount 2021-12-07 15:37:37 +08:00
c9s
5ef1ee927b improve the error message 2021-12-07 15:23:09 +08:00
c9s
f1e3cc6049 add strict start time, sync time checking for preventing back-test failure
related to #311
2021-12-07 15:21:37 +08:00
c9s
132fe893e1 use stderr for verbose log 2021-12-07 14:45:20 +08:00
c9s
ca3f438288 show symbol name in the error message 2021-12-07 14:35:00 +08:00
c9s
ac08e9d3c2 bump version to v1.19.2 2021-12-06 18:34:27 +08:00
c9s
af837ea237 do not omit empty for field feeInUSD 2021-12-06 13:36:38 +08:00
c9s
5d6bd5a964 not to omit empty all fields 2021-12-06 13:34:39 +08:00
c9s
634ce6180b avoid using panic when order cancel failed 2021-12-06 13:32:08 +08:00
c9s
744af85a94 bump version to v1.19.1 2021-12-06 13:32:08 +08:00
c9s
93761ba5d9 bump version to v1.19.0 2021-12-06 01:51:34 +08:00
c9s
aeeecba8dc support different time format for backtesting 2021-12-06 01:50:50 +08:00
c9s
0472b7f21e avoid recording trades in backtest by default
introducing a RecordTrades option
2021-12-06 01:42:53 +08:00
c9s
85bb9f214e grid: disable trade marking 2021-12-06 01:34:08 +08:00
c9s
5929385a2e bump version to v1.18.5 2021-12-06 01:08:04 +08:00
c9s
474be4e815 support json output for backtesting 2021-12-06 01:05:33 +08:00
c9s
1e151a170a add JSON method to the pnl report 2021-12-06 00:47:41 +08:00
c9s
0c6055a201 add json tag for AverageCostPnlReport 2021-12-06 00:46:50 +08:00
c9s
3615477d8f backtest: allocate matching books from the exchange constructor
also adds the mutex for trades and closed orders
2021-12-06 00:38:36 +08:00
c9s
3d536efec8 types: extend FuturesSettings fields for isolated margin 2021-12-05 16:47:01 +08:00
c9s
c8ba2e59e3 types: reformat account usd cal expression 2021-12-05 16:28:30 +08:00
c9s
91f26cc501 types: add account types for futures 2021-12-05 16:28:19 +08:00
c9s
0431014867 bump version to v1.18.4 2021-12-05 12:25:06 +08:00
c9s
b301ea549a adjust default rate to DefaultFeeRate 0.075% 2021-12-05 12:24:51 +08:00
c9s
f692ef2c31 realign account fields 2021-12-05 12:23:27 +08:00
c9s
44d7055809 fix backtest fee rate calculation 2021-12-05 12:10:45 +08:00
c9s
4d7fe7f37d call matchingBooksMutex when assigning matching book 2021-12-05 12:06:36 +08:00
c9s
dac1967e2f bump version to v1.18.3 2021-12-05 12:03:53 +08:00
c9s
298e981de0 bump version to v1.18.2 2021-12-05 12:01:37 +08:00
c9s
df683bdf56 use position to calculate the pnl 2021-12-05 02:17:15 +08:00
Yo-An Lin
9d38dc2c87 Merge pull request #297 from tony1223/bug/261-default-notification
fix #261 provide default config for notification setting
2021-12-05 01:17:04 +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
Yo-An Lin
19548a9449 Merge pull request #296 from tony1223/feature/294-force-backtest
add force parameter for backtest
2021-12-05 00:25:23 +08:00
TonyQ
bd325f02a5 add force parameter for backtest 2021-12-04 16:18:51 +00:00
c9s
52218c513f compile and update migration package 2021-12-04 23:03:35 +08:00
TonyQ
a1b6be3bda compile and update migration package 2021-12-04 03:06:04 +00:00
TonyQ
30c14a6828 fix #261 provide default config for notification setting 2021-12-04 02:37:21 +00:00
TonyQ
056afb577c fix generateGridSellOrders with ProfitSpread for begining 2021-11-30 11:55:00 +08:00
c9s
5ed337926d add mutex lock protection for backtesting
solving issue #282
2021-11-30 10:40:28 +08:00
c9s
9a589bf71c show broadcast enabled 2021-11-25 18:49:29 +08:00
c9s
032b62e4e1 broadcast should also send message to owner 2021-11-25 16:22:20 +08:00
c9s
fc81f7b6cb add Command function 2021-11-25 11:54:09 +08:00
c9s
6326d52c1b add /start command 2021-11-25 11:52:14 +08:00
c9s
8acc2cd87f fix chat nil pointer issue 2021-11-25 11:50:14 +08:00
c9s
4bde40f2db override binance default http client timeout instead of zero timeout 2021-11-23 10:54:43 +08:00
c9s
513a799ced fix ewma calculation 2021-11-22 02:14:44 +08:00
c9s
20f0e8dbd5 preallocate kline window with capacity 2021-11-22 01:17:08 +08:00
c9s
540722e430 adjust ewma truncate size 2021-11-22 01:17:08 +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
7a3963b34e techsignal: if it's already high funding rate, do not show change 2021-11-06 15:23:52 +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
0c8addc58b grid: refactor trade callback for s.TradeService.Mark 2021-11-05 01:05:43 +08:00
c9s
6851d8d254 grid: add field guards 2021-11-05 01:04:13 +08:00
c9s
7db7596abe grid: refactor trade handler with trade collector 2021-11-05 00:30:04 +08:00
c9s
7787edffa0 refactor grid strategy state loading/saving 2021-11-05 00:22:44 +08:00
c9s
bfaec8fdd8 increase min amount if it's not greater than min notional 2021-11-04 23:22:01 +08:00
c9s
13577fc2b4 improve SubmitOrder formating 2021-11-04 23:21:01 +08:00
c9s
6002a958d2 grid: fix format error 2021-11-04 13:08:38 +08:00
c9s
1a861c98a1 binance: add order rate limiter for binance 2021-11-04 12:50:32 +08:00
c9s
7eb91cc7cc adjust grid quantity if it does not match min notional and min quantity 2021-11-04 12:50:32 +08:00
c9s
ed1d0ea27e add xnav strategy 2021-10-29 10:40:14 +08:00
Yo-An Lin
b8e5942f1c Merge pull request #274 from kkc/fix_emwa_indicator_in_backtest_mode 2021-10-20 18:03:51 +08:00
c9s
6cb593cd90 techsignal: use realtime funding rate 2021-10-20 14:01:19 +08:00
Kakashi Liu
8938478d93 Truncate emwa slice to be the same size as given kLines 2021-10-19 21:38:12 +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
af602df302 techsignal: add math.Round for quote volumes 2021-10-18 20:06:23 +08:00
c9s
3a68d9dae4 techsignal: fix arg cast 2021-10-18 19:40:51 +08:00
c9s
d763a3c415 bbgo: add debug ewma and sma 2021-10-18 17:26:03 +08:00
c9s
30b82390b7 bbgo: add EMA and SMA debug var 2021-10-18 15:23:22 +08:00
c9s
721d63bee0 techsignal: add skip log 2021-10-18 11:10:54 +08:00
c9s
ebc61de946 techsignal: fix ma subscription 2021-10-18 09:00:56 +08:00
c9s
c36bbd6c35 bbgo: show pnl in the slack fields 2021-10-18 08:45:27 +08:00
c9s
d446dbbed7 bollpp: send profit stat notification 2021-10-18 01:16:46 +08:00
c9s
d6b707c832 bollpp: fix order quantity 2021-10-18 00:56:22 +08:00
c9s
0bd32094ee bollpp: improve bolling ping pong maker 2021-10-18 00:42:01 +08:00
c9s
e3431ef970 binance: fix binance order type for limit maker 2021-10-18 00:41:41 +08:00
c9s
759b6a812b techsignal: fix funding rate diff 2021-10-17 22:26:04 +08:00
c9s
a3f68d7b72 xmaker: use bbgo.NewPositionFromMarket 2021-10-17 22:24:57 +08:00
c9s
450b7bb61e bollpp: improve boll ping pong strategy with profit stats 2021-10-17 22:23:34 +08:00
c9s
15cfd735a0 bbgo: add doc comment for ExchangeSessionSubscriber 2021-10-17 22:23:21 +08:00
c9s
39b7a956e0 Add market field to position 2021-10-17 22:23:09 +08:00
c9s
30c7c34826 bbgo: fix kline backward query for backtest 2021-10-16 13:49:00 +08:00
c9s
4bcea5a388 bbgo: add AllFilled method on OrderStore 2021-10-16 13:39:18 +08:00
c9s
2b17124d06 telegramnotifier: support broadcast flag 2021-10-15 18:01:11 +08:00
c9s
77e7f814d9 support: refactor PercentageTargetStop logics 2021-10-15 16:10:57 +08:00
c9s
f5f96b585a apply broadcast option from config file 2021-10-15 16:10:39 +08:00
c9s
6c46c2cad1 telegramnotifier: add broadcast option 2021-10-15 16:10:25 +08:00
c9s
2b0793ee49 bbgo: add telegram config 2021-10-15 16:10:09 +08:00
c9s
a2c29f4519 support: remove legacy resistance code 2021-10-15 12:38:16 +08:00
c9s
d704e19f04 move signedPercentage method to fixedpoint 2021-10-15 12:22:53 +08:00
c9s
01f6d70d28 telegramnotifier: add broadcast function and subscribe command 2021-10-15 12:14:15 +08:00
c9s
a1779b6823 telegramnotifier: add warning 2021-10-15 12:03:15 +08:00
c9s
08c300fbad add warning if owner's chat is not configured 2021-10-15 11:56:17 +08:00
c9s
0fe11438bd telegramnotifier: rename Chat to OwnerChat 2021-10-15 11:55:05 +08:00
c9s
93e297dd7e adjust qutoe currency formatter symbol for fiat currency 2021-10-15 11:53:01 +08:00
c9s
952bdf8218 move currency formatter to market struct 2021-10-15 11:50:37 +08:00
c9s
790b3357d7 techsignal: adjust funding rate notification 2021-10-15 11:13:00 +08:00
c9s
4523135012 techsignal: add funding rate checker 2021-10-14 23:01:10 +08:00
c9s
e7fe443cbe show kline in the notification 2021-10-14 14:32:49 +08:00
c9s
fbbefe2878 techsignal: show interval in the message 2021-10-14 14:30:45 +08:00
c9s
a6848a6af4 add strategy/techsignal 2021-10-14 14:24:08 +08:00
c9s
c84ba12735 implement PlainText interface for kline 2021-10-14 14:22:24 +08:00
c9s
3581c1768c fix SMA indicator value length check 2021-10-14 14:22:07 +08:00
c9s
47e4847034 fix kline query endtime 2021-10-14 14:21:38 +08:00
c9s
4c2897a86d use Float64 indicator from the types package 2021-10-14 13:15:08 +08:00
c9s
4c061439d3 rename buyandhold to pricedrop 2021-10-14 13:10:00 +08:00
c9s
768a88247b rename bpp to bollpp (bollinger pingpong) 2021-10-14 12:52:54 +08:00
c9s
6e7f12ca9f rename trailingstop to emastop 2021-10-14 12:04:56 +08:00
c9s
b3661f5d32 bbgo: improve profit stat PlainText format 2021-10-14 10:16:11 +08:00
c9s
7d416c3467 bbgo: fix profit json tag 2021-10-14 10:14:11 +08:00
c9s
7874471828 bbgo: improve pnlEmojiMargin function 2021-10-14 10:13:21 +08:00
c9s
c8554f09a0 bbgo: refactor the pnl functions 2021-10-14 10:07:27 +08:00
c9s
2116efc42e bbgo: fix profit title 2021-10-14 08:59:45 +08:00
c9s
49a78c0c88 bbgo: fix profit stat title 2021-10-14 08:58:19 +08:00
c9s
c12ff57e57 bbgo: improve profit stats plaintext format 2021-10-14 08:55:55 +08:00
c9s
e2f58d0466 xmaker: use report ticker to report profit stats 2021-10-14 08:53:44 +08:00
c9s
77f11f4515 bbgo: add ticker for collecting trades 2021-10-14 07:56:40 +08:00
c9s
b154e3baea bbgo: add pnl emoji with margin 2021-10-14 07:48:32 +08:00
c9s
7e8897f1d0 bbgo: fix profit field check condition 2021-10-14 07:33:34 +08:00
c9s
5c3f305060 bbgo: implement SlackAttachment interface for profitstats 2021-10-14 01:27:58 +08:00
c9s
d3fa0a964b bbgo: add slack attachment support for profit 2021-10-14 01:27:50 +08:00
c9s
a4a9ef015e slacknotifier: fallback to PlainText if it's not supported 2021-10-14 01:27:46 +08:00
c9s
c55cc4323e notifier: making slackAttachmentCreator as private interface 2021-10-14 01:27:42 +08:00
c9s
e4281b1a02 xmaker: update notification message with strategy ID 2021-10-14 01:27:37 +08:00
c9s
bbc1775ec5 xmaker: update symbol, base, quote currency to profit stats 2021-10-14 01:26:40 +08:00
c9s
b6b2e33cc0 extend profit stats fields for quote,base currency and symbol 2021-10-14 01:26:36 +08:00
c9s
8374c98609 xmaker: fix time type casting 2021-10-14 01:26:31 +08:00
c9s
5039a43413 bbgo: move pnl formating to the bbgo package 2021-10-14 01:26:11 +08:00
c9s
e1e6d1de12 bbgo: add net profit margin field to profit stats 2021-10-14 01:26:04 +08:00
c9s
db7a681290 types: merge field decls 2021-10-14 01:25:18 +08:00
c9s
44a0b10240 bbgo: load last price from 1m interval kline only 2021-10-14 00:37:40 +08:00
c9s
764a8be46a adjust grid backtest parameters 2021-10-13 10:43:56 +08:00
c9s
37ac907c0f profitstats: add accumulated volume 2021-10-12 11:24:28 +08:00
c9s
d9dc7e31df extend more fields 2021-10-12 11:24:24 +08:00
c9s
45645d0a3d use the profit struct to pass profit info 2021-10-08 19:16:40 +08:00
c9s
fac14a8c7f profitstats: add netProfit field 2021-10-08 15:09:55 +08:00
c9s
aadb1ed389 remove MakerExchange from the core profit stats field 2021-10-08 15:00:53 +08:00
c9s
d058125f78 bbgo: refactor profit stats 2021-10-08 14:57:44 +08:00
c9s
9e1d28f3b3 do not remove order if it's partially filled 2021-10-08 14:17:47 +08:00
c9s
9e93cd66de strategy: update trade collector api 2021-10-08 13:24:14 +08:00
c9s
ded740107f bbgo: refactor TradeCollector bind stream for background and foreground 2021-10-08 13:24:07 +08:00
c9s
8f74c106d6 support: merge stash 2021-10-08 13:14:21 +08:00
c9s
184f93ce79 support: fix interval check 2021-10-08 13:13:49 +08:00
c9s
01de2c5f66 support: fix long term ema kline subscription 2021-10-08 13:13:49 +08:00
c9s
f97eb8914a support: add resistance check 2021-10-08 13:13:49 +08:00
c9s
1091010f64 support: move property configuration to the top 2021-10-08 13:13:49 +08:00
c9s
3539047a39 support: show ema price 2021-10-08 13:13:49 +08:00
c9s
8ada9eef02 bbgo: optimize AdjustQuantityByMaxAmount, early return 2021-10-08 12:09:05 +08:00
c9s
31358a69d1 types: calculate boolean logics outside of critical section 2021-10-08 12:08:57 +08:00
c9s
dab45cf3ba types: add balance map copy method 2021-10-08 12:08:33 +08:00
c9s
6917b98a74 schedule: show closed price 2021-10-08 11:59:23 +08:00
c9s
f0503b99a1 schedule: add interval check 2021-10-08 11:58:50 +08:00
c9s
7016d24fad import types.FuturesSettings into binance exchange 2021-10-07 21:29:52 +08:00
c9s
454564506f add futures exchange interface and futures settings struct 2021-10-07 21:29:14 +08:00
c9s
193961c4e0 add bpp strategy 2021-10-07 16:39:20 +08:00
c9s
60e4442f85 add document for the backtest engine 2021-10-05 22:06:36 +08:00
c9s
7fb4d2f78d return positionChanged for Process method 2021-10-05 21:44:39 +08:00
c9s
5dd2f568fe add doc comment for trade collector 2021-10-05 21:39:10 +08:00
c9s
45c875fe7c bbgo: improve trade collect process 2021-10-05 21:30:06 +08:00
Jui-Nan Lin
feca628319 fix(ftx): array length should > 0 2021-09-03 15:38:02 +08:00
c9s
1bc36b17ff xbalance: add verbose flag 2021-09-03 14:25:26 +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
c9s
99f97df43b etf: use break instead of return 2021-08-26 11:58:25 +08:00
c9s
8d01c97240 fix cyclic import issue 2021-08-26 11:46:02 +08:00
c9s
1f94ae1c19 bbgo: move moving average settings struct into bbgo 2021-08-26 11:32:39 +08:00
c9s
e8f0cbcff8 cmd: register etf strategy 2021-08-26 11:31:52 +08:00
c9s
2c378d6047 add etf strategy 2021-08-26 11:31:36 +08:00
c9s
0dd7438fd7 schedule: show scheduled order price 2021-08-26 10:29:27 +08:00
c9s
684bfcea19 xbalance: capitalize message 2021-08-19 16:35:16 +08:00
c9s
66b7e1fc3f schedule: fix schedule subscription 2021-08-19 16:35:05 +08:00
c9s
cf29cfadd0 xbalance: show balance error message 2021-08-17 12:18:29 +08:00
c9s
fc860cd9a9 bbgo: add json tags to interval window 2021-08-17 11:37:27 +08:00
c9s
47258b31c6 xbalance: fix message 2021-08-17 11:36:51 +08:00
c9s
5a0ae6773c xbalance: configure middle value automatically from total value 2021-08-16 12:52:12 +08:00
c9s
732281b55d bump version 2021-08-16 12:20:04 +08:00
c9s
490eb15748 schedule: fix order notification 2021-08-16 12:11:15 +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
5cf134a756 cmd: add account cmd --total option 2021-07-06 12:19:59 +08:00
c9s
5e2b8af4dc xmaker: fix reset today 2021-07-06 12:19:59 +08:00
c9s
1d316ed89c xmaker: call reset today if the date exceeded 2021-07-06 12:19:59 +08:00
c9s
3ab4a570fb bbgo: limit max kline slice 2021-06-28 14:33:32 +08:00
c9s
01bdef502b indicator: rename consts for max ma values 2021-06-28 14:33:27 +08:00
c9s
4ccbb82237 indicator: truncate values if length exceeded 2021-06-28 14:33:23 +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
3165d10986 support: use trade collector 2021-06-26 20:26:47 +08:00
c9s
aab0c377d7 xmaker: reformat code 2021-06-26 20:26:47 +08:00
c9s
b58b48d668 xmaker: refactor profit stats 2021-06-26 20:26:47 +08:00
c9s
cef28fa651 xbalance: use time util function from the util package 2021-06-26 20:26:47 +08:00
c9s
c6d66ebb46 util: add BeginningOfTheDay function 2021-06-26 20:26:47 +08:00
c9s
06a1f018c2 bbgo: push to the buffer first 2021-06-26 20:26:47 +08:00
c9s
7d853a9c74 bbgo: add emit position update 2021-06-26 20:26:47 +08:00
c9s
ecd2d9ea68 bbgo: improve trade collector callbacks 2021-06-26 20:26:47 +08:00
c9s
db4fbbc30c bbgo: add trade collector 2021-06-26 20:26:47 +08:00
c9s
65629a77f4 bbgo: add two new position constructor 2021-06-26 20:26:47 +08:00
c9s
5621effd6b add resistance 2021-06-21 19:03:50 +08:00
c9s
4bc0612265 support: add minBaseAssetBalance 2021-06-17 19:28:11 +08:00
c9s
f9fa6e96c3 support: refactor kline handler 2021-06-16 20:33:52 +08:00
c9s
811319fa25 support: fix sensitivity calculation 2021-06-16 14:16:39 +08:00
c9s
5fecccedd6 add resistance check 2021-06-16 13:23:33 +08:00
c9s
3d12a7df59 support: add sensitivity settings 2021-06-16 13:14:10 +08:00
c9s
15ed802a54 util: add TimeProfile 2021-06-16 13:04:23 +08:00
c9s
e276ddd38a bbgo: add shared local time zone 2021-06-16 13:04:23 +08:00
c9s
e23c459697 bbgo: move orderbook to the session level so that we can access it eaiser 2021-06-16 13:04:23 +08:00
c9s
2614b25de3 types: move fiat currency list to types 2021-06-16 13:04:23 +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
990da5ad3b xbalance: add foreign fee for withdrawal 2021-06-09 01:37:33 +08:00
c9s
18f72a9118 fixedpoint: add more multiplication benchmarks 2021-06-09 01:37:29 +08:00
c9s
3d1d659c81 fixedpoint: add math/big version multiplication support 2021-06-09 01:37:24 +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
3c4eb5aec7 telegram: add more emojis 2021-06-09 01:37:09 +08:00
c9s
89c3df730b telegram: add emoji for greetings 2021-06-09 01:37:04 +08:00
c9s
ac71a392c6 fixedpoint: fix fixedpoint value int64 cast 2021-06-09 01:36:32 +08:00
c9s
ecf888dfd6 util: add env var util functions 2021-06-09 01:36:16 +08:00
c9s
ec6c10a96a binance: adjust read timeout and increase read buffer size 2021-06-09 01:36:06 +08:00
c9s
3fd170a4ff xmaker: check book before copying 2021-06-09 01:35:56 +08:00
c9s
f5a241a1a8 xmaker: improve warn message 2021-06-09 01:35:50 +08:00
c9s
a0d8a3718a xmaker: fix bid/ask price check 2021-06-07 02:50:11 +08:00
c9s
d5617d44aa xmaker: pass source market and maker market for formatting 2021-06-07 02:49:54 +08:00
c9s
0a74cc7171 xmaker: add useDepthPrice option 2021-06-07 02:49:44 +08:00
c9s
2486d04332 rbt: fix copyNode 2021-06-07 02:44:30 +08:00
c9s
5a5cb71a5e rbt: add more rbtorderbook test 2021-06-07 02:44:25 +08:00
c9s
062443a29c rbt: check if returned node is neel 2021-06-07 02:44:21 +08:00
c9s
3b0ed4e3dc rbt: add more test cases 2021-06-07 02:44:14 +08:00
c9s
9622956c71 rbt: fix rbtree search for neel 2021-06-07 02:44:09 +08:00
c9s
5d8f7b3ea6 rbt: fix preorder 2021-06-07 02:44:04 +08:00
c9s
7805dcd72e rbt: fix pointer check of iteration 2021-06-07 02:44:00 +08:00
c9s
9bc55def44 rbt: fix deleting, copy value to the deleting node's memory 2021-06-07 02:43:54 +08:00
c9s
f34631c7ae rbt: add pointer check 2021-06-07 02:43:50 +08:00
c9s
6d2771aca9 rbt: fix rightmost and leftmost 2021-06-07 02:43:43 +08:00
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