Commit Graph

2432 Commits

Author SHA1 Message Date
c9s
77e185ffa7
xmaker: add profit fixer 2024-08-26 12:45:18 +08:00
c9s
9a1d9ae27b
xmaker: rewrite maker order submission logics and integrate metrics 2024-08-24 21:22:35 +08:00
c9s
c76a80da6a
xmaker: add xmaker metrics 2024-08-24 21:22:34 +08:00
c9s
afac81a3e8
all: integrate metrics into stream book 2024-08-24 21:22:34 +08:00
c9s
0df56ad6e7
xmaker: use v2 indicator boll 2024-08-24 13:28:32 +08:00
c9s
1c1959b8a8
all: rename priceresolver to pricesolver
integrate pricesolver into xmaker
2024-08-24 12:28:05 +08:00
c9s
9f01dc28c8
xmaker: remove report ticker and
isolate rate limiter for each different instance
2024-08-24 12:19:34 +08:00
c9s
e8bd370aa2
xmaker: remove duplicated log entry 2024-08-24 12:13:44 +08:00
c9s
5ca1c4fb62
xmaker: rewrite and clean up order submission 2024-08-24 12:13:15 +08:00
c9s
f7dc07327e
xmaker: assign position strategy id and instance id 2024-08-24 12:01:11 +08:00
c9s
6ef8aa62e5
xmaker: integrate CircuitBreaker 2024-08-24 11:58:09 +08:00
c9s
14fff8dbad
xmaker: integrate circuitbreaker 2024-08-24 11:42:16 +08:00
c9s
9f510da78b
xmaker: use margin order to hedge positions 2024-08-23 16:57:29 +08:00
c9s
b2f1f7d735
Merge pull request #1700 from c9s/narumi/autobuy-boll
Fix: [autobuy] fix error when bollinger settings is not set
2024-08-23 13:05:18 +08:00
narumi
1b06fcc961 validate parameters 2024-08-22 14:36:06 +08:00
narumi
b820fccce1 add order type to config 2024-08-22 14:36:06 +08:00
c9s
72575e3cd8
elliottwave: use AverageCost instead 2024-08-22 11:26:46 +08:00
c9s
a900c72032
types/position: drop approximateAverageCost 2024-08-22 11:19:54 +08:00
narumi
731fa9af7e fix error when bollinger settings is not set 2024-08-21 13:28:22 +08:00
c9s
51c1b995c2
twap: add v2 fixed quantity executor 2024-08-20 14:01:03 +08:00
c9s
9dd85623b9
types,strategy: refactor price type and add more bbo (best bid offer) 2024-08-17 14:05:29 +08:00
c9s
9911a4f711
all: fix converter initialization 2024-08-12 15:56:24 +08:00
c9s
1b0d4599e2
all: add trade converter to trade pnl fixer 2024-08-12 15:02:02 +08:00
c9s
473a6bc108
xdepthmaker: set converter manager 2024-08-10 15:50:20 +08:00
c9s
1ad2bc5f34
core: add Initialize() method to the converter interface 2024-08-08 17:37:58 +08:00
c9s
fad7ef219e
xdepthmaker: separate hedge symbol 2024-08-07 16:01:56 +08:00
c9s
a24a118182
xalign: add more withdraw checking logs 2024-08-06 18:08:39 +08:00
c9s
e03ba63e44
max: remove legacy emptyTime 2024-08-05 16:40:10 +08:00
c9s
97336912e5
max: use v3/withdrawals apis 2024-08-02 15:24:00 +08:00
c9s
089e69a221
xalign: add withdraw detection notification 2024-08-02 15:24:00 +08:00
c9s
4bf558f9eb
xaling: add detectActiveTransfers 2024-07-31 16:51:00 +08:00
c9s
ab20b6db89
all: improve binance withdraw status convertion 2024-07-31 15:04:08 +08:00
narumi
0eb3856906 round down quantity 2024-07-09 12:08:24 +08:00
c9s
22c154f9cd
common: fix profit fixer batch query 2024-07-08 17:43:22 +08:00
c9s
c217aadc1b
common: pull out ProfitFixerBundle 2024-07-08 14:16:40 +08:00
c9s
d982524824
liquiditymaker: refactor profit fixer 2024-07-08 14:15:15 +08:00
kbearXD
3735499753 FEATURE: merge recover logic and run periodically 2024-06-27 20:31:55 +08:00
なるみ
ad5674d9cb
Merge pull request #1656 from c9s/narumi/autobuy-min-base-balance
REFACTOR: [autobuy] replace threshold with minBaseBalance
2024-06-21 18:18:37 +01:00
なるみ
396ee68170
Merge pull request #1644 from c9s/narumi/fee-budget
REFACTOR: Extract and move FeeBudget from xgap
2024-06-20 14:26:27 +01:00
narumi
bbb1b8a9fa fix position quantity 2024-06-20 17:40:22 +08:00
narumi
a1b8e07bb5 take profit by expected base balance 2024-06-20 16:08:12 +08:00
narumi
9cbf8a0ecf add fee budget support to random strategy 2024-06-18 18:24:16 +08:00
narumi
0f03bc785b extract FeeBudget struct and move to common 2024-06-18 18:24:14 +08:00
narumi
4dc28ec16a replace threshold with minBaseBalance 2024-06-18 17:45:31 +08:00
c9s
e953a04638
Merge pull request #1655 from c9s/c9s/xgap-vol-target
FEATURE: [xgap] add dailyTargetVolume option
2024-06-18 17:10:49 +08:00
c9s
589a8b6eb2
xgap: add dailyTargetVolume option 2024-06-18 16:49:47 +08:00
kbearXD
5098c3ac35
Merge pull request #1645 from c9s/kbearXD/dca2/flexible-recovery
FEATURE: [dca2] make the take-profit order of round from order to orders
2024-06-13 18:19:44 +08:00
kbearXD
60160cd7b4 new flag DisableOrderGroupIDFilter to only query order group id 2024-06-13 17:21:27 +08:00
c9s
a5831bbf13
xgap: fix price and balance checking 2024-06-13 15:55:40 +08:00
c9s
88ce5a4928
xgap: make sourceBook optional 2024-06-13 15:40:40 +08:00
c9s
9adedc186f
xgap: fix empty source book pricing issue 2024-06-11 16:28:48 +08:00
kbearXD
1d0b4e5cb8 FEATURE: [dca2] make the take-profit order of round from order to orders 2024-05-30 15:53:44 +08:00
なるみ
7bde48adce
Merge pull request #1637 from c9s/narumi/atrpin-log-with-fields
CHORE: [atrpin] add symbol and window log fields
2024-05-25 21:37:51 +08:00
c9s
bc71c95608
binance: implement query trade for binance margin trading 2024-05-24 17:35:27 +08:00
kbearXD
c42c52d549
Merge pull request #1640 from c9s/kbearXD/dca2/flexible-recovery
FEATURE: [dca2] change state recovery logic
2024-05-24 15:54:23 +08:00
kbearXD
7134f51d38 FEATURE: [dca2] change state recovery logic 2024-05-24 15:12:27 +08:00
c9s
8a852afedb
Merge pull request #1642 from c9s/refactor/average-depth-price-method
Refactor: add average depth price method
2024-05-23 18:22:06 +08:00
c9s
99edfb61bf
integrate aggregatePrice method 2024-05-23 16:30:43 +08:00
c9s
1c567d7146
pull out AverageDepthPrice from xdepthmaker 2024-05-23 15:22:45 +08:00
kbearXD
be674278b2 FEATURE: [dca2] new flag UniversalCancelAllOrdersWhenClose to decide if cancel all orders when closing 2024-05-22 18:20:18 +08:00
kbearXD
5f1ece2a4b
Merge pull request #1638 from c9s/kbearXD/dca2/store-open-position-pqs
FEATURE: [dca2] store price quantity pairs of the open-position order…
2024-05-22 11:34:39 +08:00
kbearXD
275286b9b9 remove test case 2024-05-21 17:00:02 +08:00
kbearXD
0faef68fbf use types.PriceVolume 2024-05-21 16:06:02 +08:00
c9s
5397a3366c
Merge pull request #1639 from c9s/narumi/move-common-maker-tools
REFACTOR: move maker tools
2024-05-21 14:50:43 +08:00
c9s
7114b37967
Merge pull request #1625 from luchenhan/main
chore: fix function names in comment
2024-05-21 14:50:33 +08:00
c9s
2e52d3175d
deposit2transfer: apply backoff to api calls 2024-05-20 18:05:21 +08:00
c9s
543b283820
liquiditymaker: remove orderbook subscription 2024-05-20 17:55:32 +08:00
narumi
8ad85fc365 move OrderPriceRiskControl to riskcontrol 2024-05-20 15:19:42 +08:00
narumi
5f096bbe0d move InventorySkew to strategy.common 2024-05-20 15:19:22 +08:00
kbearXD
6676e1e452 FEATURE: [dca2] store price quantity pairs of the open-position orders into persistence 2024-05-20 14:37:23 +08:00
narumi
0f045dccbb add symbol and window log fields 2024-05-20 14:34:08 +08:00
なるみ
ad6efaf449
Merge pull request #1633 from c9s/narumi/fix-common-strategy-init
FIX: fix strategy initialization
2024-05-16 16:32:22 +08:00
kbearXD
73c467a06b FIX: [dca2] fix triggerNextState loop side effect 2024-05-16 14:44:56 +08:00
narumi
705261d2d4 fix strategy initialization 2024-05-15 23:38:34 +08:00
narumi
095ca85669 disable bbgo.sync in common strategy 2024-05-14 19:50:52 +08:00
c9s
34200efd54
liquiditymaker: skip dust quantity 2024-05-14 17:34:26 +08:00
kbearXD
e856727e97 trigger position opening immediately after recovery 2024-05-13 15:24:31 +08:00
kbearXD
f49924caa4 not emit WaitToOpenPosition when kline event 2024-05-13 14:35:29 +08:00
kbearXD
6cdd2f0d71 REFACTOR: [dca2] refactor dca2 strategy to make it can back testing 2024-05-13 14:35:29 +08:00
c9s
b9c77c1584
add UseProtectedPriceRange support 2024-05-11 23:00:37 +08:00
c9s
b752e5ec60
Fix cancel all orders 2024-05-11 22:47:29 +08:00
narumi
24de8a23c9 sync position to redis 2024-05-08 15:28:40 +08:00
narumi
b35cfbeffd do nothing if failed to cancel open orders 2024-05-03 14:52:41 +08:00
kbearXD
a7af2b7002 FEATURE: [grid2] use feeProcessing field to make sure the trading fee is ready 2024-04-30 11:03:23 +08:00
luchenhan
5791e392f5 chore: fix function names in comment
Signed-off-by: luchenhan <hanluchen@aliyun.com>
2024-04-29 16:38:55 +08:00
kbearXD
0396fc19fd FEATURE: [dca2] make QueryOrderTradesUntilsuccessful take feeProcessing into consideration 2024-04-29 15:59:52 +08:00
c9s
0a2b976165
Merge pull request #1618 from c9s/narumi/atrpin/submitting-log
CHORE: [atrpin] add submitting log
2024-04-23 15:43:47 +08:00
c9s
9092b613b0
Merge pull request #1620 from c9s/narumi/move-logerr-to-util
REFACTOR: move logErr to util
2024-04-23 15:43:10 +08:00
kbearXD
8fc7c38e97
Merge pull request #1622 from c9s/kbearXD/dca2/emit-position-after-recovery
FEATURE: [dca2] emit position after recovery and refactor
2024-04-22 18:31:00 +08:00
c9s
a9db21adfa
limit adjustment order quantity 2024-04-22 14:42:52 +08:00
kbearXD
27ff44b663 FEATURE: [dca2] emit position after recovery and refactor 2024-04-22 13:46:28 +08:00
kbearXD
b6e7c48fd5 rename callback 2024-04-22 11:07:17 +08:00
kbearXD
547e9ece8f FEATURE: [dca2] add position callback 2024-04-19 16:24:40 +08:00
narumi
94c126dd83 move logerr to util 2024-04-17 15:27:46 +08:00
narumi
1348ee540f add submitting log 2024-04-17 15:16:58 +08:00
kbearXD
2a6c6e935b add some logs 2024-04-16 16:52:50 +08:00
kbearXD
2f3e0044c1 MINOR: [dca2] refactor and make open-position interval longer 2024-04-16 13:38:14 +08:00
kbearXD
4d92cf1b74 change local position name 2024-04-15 17:27:56 +08:00
kbearXD
70a10582fa FEATURE: recollect position before placing the take-profit order 2024-04-15 16:25:56 +08:00
kbearXD
63d13d5f7b use existing TradeCollector's EmitPositionUpdate 2024-04-11 16:03:59 +08:00
kbearXD
0616c73a88 FEATURE: emit position when position updated and reset 2024-04-11 15:12:38 +08:00
kbearXD
2d45b5cb76 FIX: fix dca2 panic problem 2024-04-11 11:40:35 +08:00
kbearXD
444c228fc4
update error message 2024-04-08 19:54:44 +08:00
kbearXD
f8d7447e8e
FIX: fix issue when recovering with finalizing orders 2024-04-08 19:54:44 +08:00
c9s
27ddd63c10
dca2: fix generateOpenPositionOrders call in tests 2024-04-08 19:38:59 +08:00
kbearXD
8568e15e82 FEATURE: [dca2] new flag EnableQuoteInvestmentReallocate to decide if reallocate quote investment 2024-04-01 15:52:30 +08:00
なるみ
3881039bfb
Merge pull request #1608 from c9s/narumi/xalign/fix-max-amount
FIX: [xalign] fix buy side max amount
2024-03-28 14:09:08 +08:00
narumi
c2c650af0e fix xalign max amount 2024-03-27 16:50:21 +08:00
narumi
0095eae77f log when amount is not greater than the minimal order quantity 2024-03-27 16:50:21 +08:00
kbearXD
f42ef77296 fix typo 2024-03-27 14:22:22 +08:00
kbearXD
553976449d FEATURE: [dca2] when all open-position orders are filled, place the take-profit order 2024-03-26 15:52:04 +08:00
c9s
d58461d1cf
Merge pull request #1593 from c9s/c9s/xalign-add-test-cases
FIX: [xalign] add more complex test case for xalign strategy
2024-03-19 16:07:57 +08:00
kbearXD
25baf49e13 dca2: fix order group id not set issue 2024-03-19 15:51:36 +08:00
c9s
aced149ee8
xalign: add more complex test case for xalign strategy 2024-03-19 15:29:18 +08:00
kbearXD
b0bbf3c529
Merge pull request #1589 from c9s/kbearXD/dca2/pause-next-round-and-set-ttl
dca2: add ttl for persistence and nextRoundPaused flag
2024-03-19 14:31:57 +08:00
c9s
c11f886718
xalign: correct the base/quote currency balance name when it's reversed 2024-03-19 00:31:00 +08:00
kbearXD
bcc29bd056 dca2: add ttl for persistence and nextRoundPaused flag 2024-03-18 17:35:47 +08:00
kbearXD
3f44092ff4
Merge pull request #1586 from c9s/kbearXD/dca2/round-collector
dca2: new struct RoundCollector for testing and use flag to decide re…
2024-03-18 17:34:41 +08:00
c9s
4eabb82f77
Merge pull request #1587 from avoidaway/main
chore: remove repetitive words
2024-03-18 16:50:40 +08:00
c9s
7f1e876be0
xalign: check if the quote balance will be used up and below the expected balance line 2024-03-18 12:47:48 +08:00
avoidaway
917451d2ec chore: remove repetitive words
Signed-off-by: avoidaway <cmoman@126.com>
2024-03-16 16:08:52 +08:00
kbearXD
a23c476ce8 dca2: new struct RoundCollector for testing and use flag to decide recovery 2024-03-15 18:41:46 +08:00
c9s
1d314daa22
xalign: skip same currency 2024-03-15 15:59:43 +08:00
c9s
6831c40371
xalign: fix reversed market 2024-03-15 15:57:17 +08:00
kbearXD
62d6e79193 dca2: use GeneralBackoff not GeneralLiteBackoff 2024-03-15 11:24:20 +08:00
kbearXD
2b52211c1c new function IsFilledOrderState for maxapi 2024-03-14 16:18:12 +08:00
kbearXD
fb2a46e1c4 use backoff retry 2024-03-14 14:32:41 +08:00
kbearXD
91123edbd6 dca2: must calculate and emit profit at the end of the round 2024-03-14 14:32:41 +08:00
narumi
a5e7091af6 subscribe to level 5 book 2024-03-13 23:22:14 +08:00
Zenix
2a7ca4233d
Merge pull request #1575 from zenixls2/feature/loose_interface_public_data
feature: add ExchangePublic
2024-03-13 17:42:28 +09:00
kbearXD
661b7be12e dca2: add more log and retry 2024-03-12 14:53:45 +08:00
zenix.huang
f1a4879253 upgrade golang mockgen to uber mockgen. generate exchange public 2024-03-12 14:18:14 +09:00
kbearXD
17b193b003 dca2: remove debug log 2024-03-11 15:34:12 +08:00
narumi
8e6423514f rebalance: fix cannot lock fund 2024-03-08 17:17:37 +08:00
kbearXD
53b72194f9 MINOR: add log when there is error at calculating and emit profit 2024-03-08 14:11:04 +08:00
c9s
b77618f9d8
xfunding: add PositionReady case 2024-03-06 22:39:44 +08:00
c9s
256e09a863
xfunding: adjust quote investment variable only when position is not opening 2024-03-06 22:39:44 +08:00
c9s
dc0f07d42f
xfunding: add notification for the fixed positions 2024-03-06 22:39:43 +08:00
c9s
f609b1cdc4
simplify profitFixer and apply it to xfunding 2024-03-06 22:39:43 +08:00
c9s
b20b306818
xfunding: add dustQuantity check 2024-03-06 22:39:43 +08:00
c9s
4a4f91e7f9
xfunding: improve transfer logics 2024-03-06 22:39:43 +08:00
c9s
4242f052d8
xfunding: pull out queryAvailableTransfer and improve pending transfer things 2024-03-06 22:39:43 +08:00
c9s
b2c6dce350
xfunding: rewrite transferIn method 2024-03-06 22:39:43 +08:00
c9s
8c517179dd
xfunding: fix state notification 2024-03-06 22:39:43 +08:00
c9s
d139d333a6
common: let FixFromTrades return error 2024-03-06 20:36:53 +08:00
c9s
83b526940a
common: pull out aggregateAllTrades from Fix() method 2024-03-06 20:36:21 +08:00
c9s
acb232242c
add FixFromTrades method 2024-03-06 20:34:19 +08:00
c9s
6a24059624
common: move out profit fixer to strategy/common 2024-03-06 20:31:53 +08:00
c9s
b6ddb49d0a
xdepthmaker: fix stats fixer 2024-03-06 18:12:24 +08:00
c9s
441ebbdbe5
xdepthmaker: add notification 2024-03-06 17:48:53 +08:00
c9s
188231e2fb
add more logs to profitFixer 2024-03-06 17:47:18 +08:00
c9s
be89292cbb
xdepthmaker: another fix 2024-03-06 17:19:50 +08:00
c9s
f5873172de
xdepthmaker: fix use of uninitialized vars 2024-03-06 16:10:45 +08:00
c9s
ad9163f7da
xdepthmaker: adjust FullReplenishInterval to 10min 2024-03-06 13:13:18 +08:00
c9s
1fb7262aae
xdepthmaker: adjust default update interval 2024-03-06 13:12:57 +08:00
c9s
31676cce8e
xdepthmaker: run profit fixer before s.CrossExchangeMarketMakingStrategy.Initialize 2024-03-06 12:53:36 +08:00
c9s
ac43937847
xdepthmaker: add disable hedge option 2024-03-06 12:49:15 +08:00
c9s
0d3483e7c3
xdepthmaker: fix loopvar issue 2024-03-05 21:16:35 +08:00
c9s
26c34618b2
xdepthmaker: improve fixer logging 2024-03-05 21:14:00 +08:00
c9s
4bed29ad02
xdepthmaker: pull out until argument 2024-03-05 21:11:51 +08:00
c9s
a518cf71c0
xdepthmaker: fix both profit stats and position 2024-03-05 18:15:25 +08:00
c9s
95a5e542ba
xdepthmaker: add profitx fixer 2024-03-05 18:12:30 +08:00
kbearXD
8e224739de sync active orders and send metrics of order nums 2024-03-04 20:53:15 +08:00
chiahung.lin
5936cf32c7 FEATURE: add metrics for dca2
add log to debug
2024-03-04 20:53:15 +08:00
narumi
3ef7d3e09e add balance type 2024-03-04 19:58:34 +08:00
chiahung.lin
9ac8bb916d dca2: all the profit will use in the first order of the next round
fix precision problem

truncate profit first
2024-03-04 14:49:39 +08:00
c9s
4f57c5b842
Merge pull request #1545 from c9s/feat/add-universal-cancel-all-orders
FEATURE: add universal cancel all orders api helper
2024-02-27 22:12:16 +08:00
なるみ
9538a41c1b
Merge pull request #1541 from c9s/narumi/price-type
FEATURE: [rebalance] add price type
2024-02-23 20:32:09 +08:00
c9s
b72a176b91
Merge pull request #1547 from c9s/refactor/tradingutil
REFACTOR: move trading related utility functions to the tradingutil package
2024-02-23 19:25:03 +08:00
c9s
36e90cf5ca
grid2: rename filterPrice to roundAndTruncatePrice 2024-02-23 18:50:57 +08:00
c9s
a298950be8
move trading related utility functions to the tradingutil package 2024-02-23 18:47:49 +08:00
c9s
3b8a3bed5f
add universal cancel all orders api helper 2024-02-23 16:56:30 +08:00
narumi
8f2d551399 add price type 2024-02-23 14:05:25 +08:00
c9s
c6db392a26
deposit2transfer: improve deposit logging 2024-02-15 11:43:59 +08:00
narumi
502685f5d8 check dust quantity by taker price 2024-02-06 17:21:26 +08:00
narumi
541d19d826 modify log again 2024-02-06 17:03:51 +08:00
なるみ
2f40149387
Merge pull request #1527 from c9s/narumi/atrpin/log
CHORE: [atrpin] modify position log
2024-02-06 15:19:01 +08:00
narumi
a1995db014 log with field symbol 2024-02-06 15:08:01 +08:00
c9s
24952581fe
Merge pull request #1526 from c9s/c9s/simplify-booksignal-struct
FIX: simplify booksignal struct
2024-02-06 13:02:25 +08:00
narumi
a9198c0127 modify position log 2024-02-06 12:14:54 +08:00
c9s
996a1ecdc1
deposit2transfer: reduce log frequency 2024-02-06 00:39:05 +08:00
chiahung.lin
dfb65ba9e3 [dca2] add dev mode field for dev
use pointer

IsNewStrategy -> IsNewAccount

[dca2] recover at cancelling stage

new var recoverSinceLimit

fix profit stats round bug
2024-02-05 16:19:53 +08:00
c9s
bfbf415c15
tri: fix tests 2024-01-29 20:23:24 +08:00
c9s
35b7667da6
add the missing file 2024-01-29 15:45:48 +08:00
c9s
9efd8bd604
fix backtest Initialize call 2024-01-28 14:29:54 +08:00
c9s
4b70f864ff
tri: update quantity truncation method 2024-01-26 17:16:06 +08:00
c9s
67b500fce5
tri: fix tri bugs 2024-01-26 17:14:31 +08:00
chiahung.lin
d13d882fc4 remove unused log
remove running field
2024-01-23 15:53:20 +08:00
chiahung.lin
1b33308450 fix bug and new field running to help to test 2024-01-18 15:39:56 +08:00
chiahung.lin
465206afba use cancel api not GracefulCancel in CleanUp 2024-01-17 17:30:37 +08:00
chiahung.lin
44dc5c5a65 remove balance checker 2024-01-17 16:52:04 +08:00
chiahung.lin
9836dc603c truncate notional when open position 2024-01-17 15:22:03 +08:00
chiahung.lin
a363377c26 [dca2] new struct profit stats and its recover 2024-01-17 15:22:03 +08:00
kbearXD
4a0c9ca032
Merge pull request #1474 from c9s/kbearXD/dca2/callbacks-and-close
FEATURE: [dca2] add callbacks and shutdown function
2024-01-10 15:10:08 +08:00
chiahung.lin
6e661c805a fix 2024-01-10 14:37:07 +08:00
chiahung.lin
d3bc37f45e use CommonCallback and pull PersistenceTTL out 2024-01-09 16:01:10 +08:00
c9s
2ff74a5f86
autoborrow: add repaid alert 2024-01-09 09:59:53 +08:00
chiahung.lin
21e87079b5 FEATURE: ProfitStats for dca2 2024-01-08 18:25:11 +08:00
chiahung.lin
468b73abb6 bbgo.Sync profit stats 2024-01-08 18:25:11 +08:00
chiahung.lin
faaaaabce3 FEATURE: rename and use specific profit stats 2024-01-08 18:25:11 +08:00