Commit Graph

2481 Commits

Author SHA1 Message Date
c9s
e14f09a914
xmaker: add sourceDepthLevel option 2024-09-06 21:47:43 +08:00
c9s
3cc96ff6ad
Merge pull request #1724 from dropbigfish/main
Some checks failed
Go / build (1.21, 6.2) (push) Has been cancelled
golang-lint / lint (push) Has been cancelled
fix: fix slice init length
2024-09-06 18:06:21 +08:00
longhutianjie
c75a685cc0
bug: fix json tag 2024-09-04 17:58:27 +08:00
c9s
9fc3a1b44a
xmaker: rename to aggTradeVolume 2024-09-04 16:09:58 +08:00
c9s
656112de45
xmaker: call signalConfig.TradeVolumeWindowSignal.Bind 2024-09-04 16:07:28 +08:00
c9s
ba73eeaad1
xmaker: add TradeVolumeWindowSignal 2024-09-04 15:59:21 +08:00
c9s
d404b20bd1
deposit2transfer: fix comments 2024-09-04 11:19:43 +08:00
c9s
7135895006
xmaker: fix MaxExposurePosition check condition 2024-09-03 03:25:37 +08:00
c9s
f12ba1adb9
bbgo: add comments to the quota methods
Some checks are pending
Go / build (1.21, 6.2) (push) Waiting to run
golang-lint / lint (push) Waiting to run
2024-09-02 22:18:13 +08:00
c9s
294e529a98
xmaker: add more logs 2024-09-02 16:08:51 +08:00
c9s
f30aca1b5a
xmaker: update position metrics when restored 2024-09-02 15:51:31 +08:00
c9s
f9b9832fff
add more logs 2024-09-02 15:51:31 +08:00
c9s
4d1c357c3d
xmaker: reuse makerMarket field 2024-09-01 17:55:00 +08:00
c9s
a4833524cf
xmaker: add more logs 2024-09-01 16:41:16 +08:00
c9s
ed073264f1
xmaker: add MaxHedgeAccountLeverage option 2024-09-01 15:42:36 +08:00
c9s
ad6056834e
xmaker: separate maximumValueInUsd in a new var 2024-09-01 01:34:25 +08:00
c9s
8b1306a6a6
xmaker: calculate maximum leveraged account value 2024-09-01 01:31:50 +08:00
c9s
d85da78e17
xmaker: improve hedge account credit calculation 2024-09-01 00:58:50 +08:00
dropbigfish
9d581adc04 fix: fix slice init length
Signed-off-by: dropbigfish <fillfish@foxmail.com>
2024-09-01 00:36:43 +08:00
c9s
cff7103ece
fix math import
Some checks failed
Go / build (1.21, 6.2) (push) Has been cancelled
golang-lint / lint (push) Has been cancelled
2024-08-30 22:41:13 +08:00
c9s
d501e8ff4d
xmaker: apply math.Abs on signal for margin scale 2024-08-30 22:38:59 +08:00
c9s
ec80cbfd9f
xmaker: check 0.0 2024-08-30 17:52:28 +08:00
c9s
7c4b3e81df
xmaker: add more logs 2024-08-30 17:42:20 +08:00
c9s
cc820d3df0
xmaker: apply margin from signal 2024-08-30 17:39:25 +08:00
c9s
371db8e7d1
xmaker: update signal conditions to metrics 2024-08-30 17:18:29 +08:00
c9s
b8abc065de
xmaker: initialize bollinger band signal 2024-08-30 17:15:12 +08:00
c9s
9ebab4f4f7
xmaker: add signal providers 2024-08-30 15:44:55 +08:00
c9s
d9fb9ff3e0
xmaker: remove unused var 2024-08-29 13:18:50 +08:00
c9s
86e464b1bc
xmaker: when submitting hedge orders, do not add it to the active orderbook 2024-08-29 00:33:04 +08:00
c9s
8de0c67503
xmaker: fix aggregatePrice function 2024-08-28 22:36:44 +08:00
c9s
e187614179
xmaker: log best bid and best ask 2024-08-28 22:32:56 +08:00
c9s
d36bbe5fb5
xmaker: adjust accountUpdater's ticker to 3 min 2024-08-28 16:41:50 +08:00
c9s
77b7b29739
xmaker: adjust credit buffer algo 2024-08-28 16:37:39 +08:00
c9s
1d6282a10b
xmaker: add account updater and handle margin account to add more flexibility 2024-08-28 16:07:11 +08:00
c9s
108fb6138a
xmaker: check hedge balance only when it's spot account 2024-08-28 14:48:38 +08:00
c9s
1e2f086643
xmaker: set notional var back 2024-08-27 22:45:43 +08:00
c9s
6011fd5157
xmaker: set profitChanged only when Hedge is called 2024-08-27 22:45:11 +08:00
c9s
9939b5ce68
xmaker: improve bid/ask pricing when UseDepthPrice and DepthQuantity are on 2024-08-27 20:05:46 +08:00
c9s
a740ef10c2
xmaker: add price checker and field logger 2024-08-27 20:05:45 +08:00
c9s
f81ce5ce95
xmaker: improve bollinger band trend detection 2024-08-27 20:05:45 +08:00
c9s
4ae8ad77b3
xmaker: add profit changed flag for notification 2024-08-27 20:05:45 +08:00
c9s
3819feacf3
xmaker: improve dust quantity check 2024-08-27 20:05:45 +08:00
c9s
3d4ccd1344
xmaker: integrate bid/ask margin metrics 2024-08-27 15:39:38 +08:00
c9s
b3c8739983
xmaker: add config bid/ask margin metrics 2024-08-27 15:35:39 +08:00
c9s
7e65aca62e
xmaker: add more config metrics 2024-08-27 15:22:06 +08:00
c9s
199b86df86
xmaker: add comments 2024-08-27 14:52:27 +08:00
c9s
6fb6467d59
xmaker: refactor hedge worker and quote worker 2024-08-27 14:48:30 +08:00
c9s
e3079c134c
xmaker: add todo note 2024-08-26 18:37:02 +08:00
c9s
7367ea73b8
xmaker: profit object can be nil 2024-08-26 18:35:10 +08:00
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