Commit Graph

2847 Commits

Author SHA1 Message Date
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