Commit Graph

1300 Commits

Author SHA1 Message Date
Matthias
bb1b283d95 Update some ohlcv_candle_limit calls 2022-05-14 13:44:10 +02:00
Matthias
111b04c9e6 Okx - conditional candle-length 2022-05-14 09:51:44 +02:00
Matthias
64668b11da add ohlcv_has_history - disabling kraken downloads 2022-05-14 09:10:38 +02:00
Matthias
c299601ece Add warning about OKX futures backtesting data 2022-05-13 07:03:18 +02:00
Matthias
dc0c1bf87d Only fetch accounts when authenticated. 2022-05-07 13:17:27 +02:00
Matthias
149704e748 Fix wrong type 2022-05-07 11:39:47 +02:00
Matthias
6fdcf3a10a Support both position modes on OKX 2022-05-07 10:58:41 +02:00
Matthias
2da284b921 Properly type side for create_order 2022-05-07 10:02:54 +02:00
Sam Germain
e8803477df exchange/exchange add param taker_or_maker to add_dry_order_fee 2022-05-03 23:56:40 -06:00
Matthias
eb996a152a Fix fee handling for futures trades 2022-05-03 19:06:17 +02:00
Matthias
11d447cd5a Add support for download-data "until" 2022-04-30 15:42:41 +02:00
Matthias
cb5c3316d1 Simplify log output 2022-04-28 19:43:52 +02:00
Matthias
e0d86307cb
Merge pull request #6732 from freqtrade/remove_duplicate_liqprice_call
Don't call interest_rate and isolated_liq twice
2022-04-28 07:38:32 +02:00
Matthias
ca49821df0 Fix race condition for loop 2022-04-28 06:29:14 +02:00
Matthias
46855221aa Fix rounding issue with contract-sized pairs for dry-run orders 2022-04-27 19:58:19 +02:00
Matthias
7b02114ad2 Restrict trading pairs with too low precision
closes #6606
2022-04-25 09:49:51 +02:00
Matthias
86b3aac9ba Fix FTX not fetching the very latest data 2022-04-25 08:38:02 +02:00
Sam Germain
591a2fb7fc switch notionalFloor -> minNotional and notionalCap -> maxNotional 2022-04-16 21:47:44 -06:00
kokimame
d23d830346 Avoid ignoring the case precision amount = 0 2022-04-15 00:35:11 +09:00
Matthias
baefda80d1 Enable flake8 E226 rule 2022-04-11 18:02:06 +02:00
Matthias
8e98a2ff9f api - provide assset_currency via API 2022-04-09 16:42:18 +02:00
Matthias
33841da382 Slightly imporve Typing by reusing long/short type 2022-04-04 16:51:57 +02:00
Matthias
39d925c295 Change to precise casing instead of .lower() 2022-04-02 19:48:01 +02:00
மனோஜ்குமார் பழனிச்சாமி
40b4a9977e
checking exchange name with lower 2022-04-02 11:23:06 +05:30
Matthias
2d914c8e13 Simplify formatting in exchange class 2022-03-30 20:02:56 +02:00
Matthias
dafc2bf361 Merge branch 'develop' into feat/short 2022-03-30 07:09:41 +02:00
Jason Risch
6b57be35e9
Update kucoin candle limit 2022-03-29 07:23:45 -07:00
Matthias
2d740230f7 price_last_balance renaming 2022-03-28 19:53:55 +02:00
Matthias
d7c6520268 Update remaining tests 2022-03-28 19:30:14 +02:00
Matthias
440967e483 Update some tests 2022-03-28 19:17:22 +02:00
Matthias
f70166270d Update pricing to use entry/exit pricing 2022-03-28 07:07:46 +02:00
Matthias
bcf326a035 Initial steps to change bid/ask pricing to enter/exit 2022-03-27 18:03:49 +02:00
Matthias
d244391860 no need to "abs" cost will be fixed in ccxt 2022-03-26 19:06:37 +01:00
Matthias
f509959bd4 Update 2022-03-26 16:26:31 +01:00
Matthias
f5578aba48 Update trading_fee naming 2022-03-26 15:16:04 +01:00
Matthias
9a8c24ddf3 Update gateio to patch fees 2022-03-26 15:04:17 +01:00
Matthias
33229c91cb Add fetch_trading_fees endpoint 2022-03-26 13:53:36 +01:00
Matthias
78fe29cc2d
Merge pull request #6588 from samgermain/contracts
Add amount_to_contracts and order_contracts_to_amount to exchange.stoploss
2022-03-25 19:18:01 +01:00
Matthias
46f4227329 Check if symbol is not None 2022-03-25 18:11:02 +01:00
Matthias
f8e87e45a5
Merge pull request #6576 from samgermain/funding-tests
funding_fee tests
2022-03-25 15:11:45 +01:00
Sam Germain
054b637001 Add amount_to_contracts and order_contracts_to_amount to stoploss 2022-03-25 06:56:05 -06:00
Matthias
83f6401820 Add additional endpoints to "has_optional" dict as comments 2022-03-23 19:56:29 +01:00
Matthias
08a55d4f6d Extract supported Exchanges to exchange.common 2022-03-23 19:51:44 +01:00
Matthias
7d02e81857 Remove impossible TODO 2022-03-23 19:40:40 +01:00
Matthias
14f9d712dc Simplify okx lev_prep 2022-03-23 06:49:17 +01:00
Matthias
5791d0a394 Align kraken._get_params with okex 2022-03-23 06:49:07 +01:00
Matthias
2c89da6bf7 Update code to properly behave when rounding open_date for funding fees 2022-03-21 19:38:27 +01:00
Matthias
7d8ca63752
Merge pull request #6550 from freqtrade/short_tickerproblems
Short tickerproblems
2022-03-19 15:43:40 +01:00
Matthias
9f34f824af Fix hyperopt when using futures markets 2022-03-19 13:20:14 +01:00
Matthias
97c1316bf1 Add new validation to validate excludes 2022-03-18 19:26:54 +01:00
Matthias
d32153c8d3 Validate pricing configuration 2022-03-18 17:07:12 +01:00
Matthias
2791e799ee Rename tickers_has_quoteVolume 2022-03-18 16:49:37 +01:00
Matthias
1de5d2fb94 Remove unnecessary condition 2022-03-18 16:44:27 +01:00
Matthias
0c63c0bbb3 Update Gateio stoploss adjust 2022-03-18 10:41:38 +01:00
Matthias
f37038fb7d Fix gateio stoploss_adjust header 2022-03-18 10:35:00 +01:00
Matthias
7868e50141 Merge branch 'develop' into feat/short 2022-03-18 08:18:17 +01:00
Matthias
208a139d2b Incorporate fetch_bids_asks to allow binance spread filter to work
closes #6474
2022-03-18 07:08:16 +01:00
Matthias
1299a703e2 Implement fix for okx futures not having quoteVolume 2022-03-17 20:15:51 +01:00
Matthias
b6a6aa48c9 Create separate _ft_has_futures dict 2022-03-17 20:05:05 +01:00
Matthias
96bf82dbc6 Remove gateio broker program 2022-03-17 17:06:10 +01:00
Matthias
d5f0c6c78d Exclude alternative candletypes from timeframe check 2022-03-13 16:16:48 +01:00
Matthias
cfa9458bcc Merge branch 'develop' into feat/short 2022-03-13 15:38:12 +01:00
Sam Germain
843606c9cb gateio stoploss adjust 2022-03-12 20:14:23 -06:00
Sam Germain
7e7e596372 Revert "moved binance.stoploss_adjust to exchange class"
This reverts commit 6bb93bdc25.
2022-03-12 20:07:50 -06:00
Sam Germain
bf5afbcdbd Merge branch 'develop' into gateio-stoploss 2022-03-12 19:50:46 -06:00
Matthias
f343036e66 Add stoploss-ordertypes mapping for gateio 2022-03-12 19:23:20 +01:00
Matthias
11c76c3c89 Check if timeframe is available before calling exchange
closes #6517
2022-03-11 18:01:30 +01:00
Sam Germain
6bb93bdc25 moved binance.stoploss_adjust to exchange class 2022-03-09 15:47:16 -06:00
Sam Germain
d47274066e Added stoploss_on_exchange flag to gateio 2022-03-09 01:05:21 -06:00
Sam Germain
e3ced55f5c gateio.fetch_order and gateio.cancel_order 2022-03-09 00:45:50 -06:00
Sam Germain
61182f849b exchange.fetch_order and exchange.cancel_order added params argument 2022-03-09 00:45:10 -06:00
Matthias
76e5d5b232 Fix stake-amount handling for dry-run 2022-03-05 15:53:40 +01:00
Matthias
2b1a8f2fbb Update binance stoploss to use correct stop order for futures 2022-03-05 13:57:54 +01:00
Matthias
cee126a2cf extract stop_limit-rate calculation 2022-03-04 07:10:14 +01:00
Matthias
62dcebee46 Update stoploss method to new functionality 2022-03-04 07:07:34 +01:00
Matthias
0622654bcf Give tests a chance to pass 2022-03-04 06:50:42 +01:00
Sam Germain
488da9b875 Merge branch 'develop' into feat/short 2022-03-03 13:51:52 -06:00
Matthias
f558d4b132
Merge pull request #6467 from samgermain/backtest-liq
Liquidation price in backtesting
2022-03-03 06:50:32 +01:00
Sam Germain
dfb72d8a2f gateio market orders futures 2022-03-02 21:37:53 -06:00
Matthias
736a930152 Update small things 2022-03-01 19:23:14 +01:00
Matthias
c745f5828c Update comments to clarify it's supposed to be a "offline" call 2022-02-28 20:05:14 +01:00
Matthias
79538368db Simplify liquidation price calculation 2022-02-28 19:47:21 +01:00
Matthias
ab46476e63 Rename get_liquidation method 2022-02-28 19:42:26 +01:00
Matthias
8e2d3445a7 Move leverage_prep calculations to exchange class 2022-02-28 19:29:42 +01:00
Matthias
68bc2a6107 Add huobi to ccxt compat tests 2022-02-28 07:00:52 +01:00
Matthias
92ad353169 Fix OKX exception 2022-02-26 20:13:24 +01:00
Sam Germain
fbcd260bf6 flake8 import issues 2022-02-26 09:05:51 -06:00
Sam Germain
f5ea7827e0 removed gateio.get_max_leverage and gateio.get_maint_ratio_and_amt 2022-02-26 09:05:51 -06:00
Sam Germain
6cd01c45d5 exchange.get_leverage_tiers and exchange.get_market_leverage_tiers 2022-02-26 09:05:51 -06:00
Sam Germain
c7e87e86e2 added exception handlers to fetch_market_leverage_tiers 2022-02-26 09:05:51 -06:00
Sam Germain
b61cfada6d moved okex.load_leverage_tiers to new method 2022-02-26 09:05:51 -06:00
Matthias
41316abb55 Sort supported exchanges alphabetically 2022-02-26 14:57:17 +01:00
Matthias
14d49e85af Update Huobi stoploss to shared method 2022-02-26 14:57:13 +01:00
Matthias
a1f2f6ddeb Updates required for huobi datadownload 2022-02-26 10:33:37 +01:00
Matthias
f3421dfa9f Use unified stopPrice argument 2022-02-26 10:33:37 +01:00
Matthias
292c350885 Add stoploss support for huobi 2022-02-26 10:33:36 +01:00
Matthias
2ec1a7b370 Add huobi exchange class 2022-02-26 10:33:11 +01:00
Matthias
3942b30ebf Add kraken TODO 2022-02-26 08:34:23 +01:00
Matthias
6caa5f7131 Update dry-run behaviour 2022-02-26 08:25:42 +01:00
Matthias
0749199097 Add stoploss tests for kucoin 2022-02-26 08:25:42 +01:00
Matthias
768b526c38 Add kucoin stoploss on exchange 2022-02-26 08:25:42 +01:00
Matthias
7ba92086c9 Make stoploss method more flexible 2022-02-26 08:25:42 +01:00
Matthias
ea197b79ca Add some more logic to stoploss 2022-02-26 08:25:42 +01:00
Matthias
1d57ce19eb Move stoploss -limit implemenentation to exchange class, as this seems to be used by multiple exchanges. 2022-02-26 08:25:42 +01:00
Matthias
9901decf0d Rename get_positions to fetch_positions to align with ccxt naming 2022-02-24 20:05:56 +01:00
Matthias
ed65692257 add get_position exchange wrapper 2022-02-24 20:05:56 +01:00
Sam Germain
9f4f65e457 exchange.get_balances minor fix 2022-02-24 20:05:56 +01:00
Sam Germain
f336e7fc5b exchange.get_balances futures shorts taken out 2022-02-24 20:05:56 +01:00
Sam Germain
f67e0bd6dd wallet amount for futures 2022-02-24 20:05:56 +01:00
Matthias
8952829adc Merge branch 'develop' into feat/short 2022-02-23 06:28:15 +01:00
Matthias
70f4305dfa don't allow short trades in spot mode 2022-02-21 19:19:12 +01:00
Matthias
a32aed2225 Update FTX stoploss code to avoid exception for stoploss-market orders
closes #6430, closes #6392
2022-02-19 10:07:32 +01:00
Sam Germain
a37287d9ba test__get_params 2022-02-16 10:06:27 -06:00
Sam Germain
124532a4b7 maintenanceMarginRatio -> maintenanceMarginRate 2022-02-16 09:04:43 -06:00
Sam Germain
88a8ff2f4e Merge branch 'feat/short' into leverage-tiers 2022-02-16 08:05:51 -06:00
Matthias
de26844578
Merge pull request #6397 from samgermain/todos
edited todo-lev comments
2022-02-16 13:36:17 +01:00
Sam Germain
c70050e750 fixed test_load_leverage_tiers 2022-02-16 05:26:52 -06:00
Sam Germain
3bfd9186f7 gateio.get_max_leverage small fix 2022-02-16 04:05:27 -06:00
Sam Germain
dbd2df6406 Merge branch 'leverage-tiers' of https://github.com/samgermain/freqtrade into leverage-tiers 2022-02-16 03:50:24 -06:00
Sam Germain
c9da6f480f gateio get_max_leverage and get_maintenance_ratio_and_amt temporary solution 2022-02-16 03:36:08 -06:00
Matthias
ff5b3c323a Fix okx trading mode 2022-02-16 09:13:49 +01:00
Matthias
7f7c395b10 Add exception handling for lev_prep in okx 2022-02-15 19:30:02 +01:00
Matthias
33cc5e0ac7 Use kwargs for set_leverage 2022-02-15 18:56:58 +01:00
Matthias
c37f03a638 Update static-markets to include futures pair 2022-02-15 08:04:16 +01:00
Matthias
1bae18c60a Update decorator locations 2022-02-15 07:11:07 +01:00
Matthias
324fdcedb1 Attempt test fix 2022-02-15 06:59:10 +01:00
Sam Germain
ae249a0f97 Merge branch 'leverage-tiers' of https://github.com/samgermain/freqtrade into leverage-tiers 2022-02-14 17:36:47 -06:00
Sam Germain
3753df26fc fixed tests 2022-02-14 17:34:59 -06:00
Sam Germain
f4a57b71e7 Filled in test_load_leverage_tiers_okx 2022-02-14 16:53:29 -06:00
Matthias
513669f834 Be verbose on okex startup to point out delay. 2022-02-14 19:44:05 +01:00
Sam Germain
19783e0d39 edited todos 2022-02-14 09:02:55 -06:00
Matthias
2523c12c71 Small enhancements and notes 2022-02-13 14:33:37 +01:00
Matthias
ad801e05f7 Filter loadable leverage tiers to stake-currency pairs 2022-02-13 13:05:57 +01:00
Matthias
7f0cedc769 Use "is_future" to check for futures markets 2022-02-13 12:54:49 +01:00
Matthias
eaf13f96f7 Use exchange_has to check for ccxt properties 2022-02-13 12:48:28 +01:00
Sam Germain
8fe3f0c933 fix breaking tests 2022-02-12 23:08:42 -06:00
Sam Germain
7a0f7da128 okex loads all leverage tiers at beginning, removed get tiers for pair 2022-02-12 23:02:16 -06:00
Sam Germain
8657e99c26 trimmed down get_maintenance_ratio_and_amt, now requires fetchLeverageTiers 2022-02-12 23:02:16 -06:00
Sam Germain
03b3756e4b strengthened and fixed leverage_tier tests 2022-02-12 23:02:16 -06:00
Sam Germain
4a1ed01708 get_maintenance_ratio_and_amt tests 2022-02-12 23:02:16 -06:00
Sam Germain
60a45ff394 exchange.get_max_leverage de-complex 2022-02-12 23:02:16 -06:00
Sam Germain
41ab20d949 get_max_leverage checks if the number of tiers is < 1 2022-02-12 23:02:15 -06:00
Sam Germain
fa2c9fc51f replaced mmr_key with unified maintenanceMarginRate 2022-02-12 23:02:15 -06:00
Sam Germain
e987e0e2a9 exchange minor fixes 2022-02-12 23:02:15 -06:00
Sam Germain
f3cb7e90e0 moved get_leverage_tiers_for_pair to be with other leverage_tier methods 2022-02-12 23:02:15 -06:00
Sam Germain
5f07546b86 moved leverage_tier caching to get_leverage_tiers_for_pair 2022-02-12 23:02:15 -06:00
Sam Germain
eb72e5cc42 Added some exchange leverage tier tests 2022-02-12 23:02:15 -06:00
Sam Germain
18b4d0be95 fixed error with exchange.fill_leverage_tiers 2022-02-12 23:02:14 -06:00
Sam Germain
41d8330fbc freqtrade.exchange edited load_leverage_tiers 2022-02-12 23:02:14 -06:00
Sam Germain
0b717fbace okex.load_leverage_tiers 2022-02-12 23:02:14 -06:00
Sam Germain
42e36f44f8 replaced "leverage" with "tiers" 2022-02-12 23:02:14 -06:00
Sam Germain
6b9915bc73 moved fill_leverage_brackets and get_max_leverage to base exchange class, wrote parse_leverage_tier and load_leverage_brackets 2022-02-12 23:02:14 -06:00
Sam Germain
a99cf2eeed redid get_max_leverage 2022-02-12 23:02:07 -06:00
Sam Germain
720a86778e okex.get_max_pair_stake_amount 2022-02-12 23:01:39 -06:00
Sam Germain
a5aba4813d moved get_maintenance_ratio_and_amt to base.exchange. Wrote get_leverage_tiers. Added mmr_key to exchange._ft_has 2022-02-12 23:01:30 -06:00
Sam Germain
fc2d3649a1 edited todos 2022-02-12 16:23:14 -06:00
Sam Germain
6ae85f9be1 fixed liq-buffer tests 2022-02-11 19:38:59 +01:00
Sam Germain
fb3a6e2ce8 added liquidation_buffer to constants.py 2022-02-11 19:38:59 +01:00
Sam Germain
3c3675ea1a moved liquidation_buffer to exchange class, add check for valid liquidation_buffer values 2022-02-11 19:38:59 +01:00
Matthias
0c6d92a7a6 Merge branch 'develop' into feat/short 2022-02-11 17:02:04 +01:00
Sam Germain
553da850ce binance futures stoploss 2022-02-10 09:43:32 -06:00
Matthias
1d10d2c87c Okex -> okx 2022-02-08 19:45:39 +01:00
Matthias
172e018d2d Add probit to list of non-working exchanges
closes #6379
2022-02-08 19:21:27 +01:00
Sam Germain
33b04b1992 deleted outdated todos 2022-02-07 02:47:18 -06:00
Sam Germain
8b57827676 exchange.get_max_pair_stake_amount hard set leverage to 0 2022-02-04 14:26:15 -06:00
Sam Germain
dc6cb445fd Merge branch 'feat/short' into max-amount 2022-02-04 04:42:38 -06:00
Sam Germain
a50f4d2c57 Exchange.createOrder added * as second param 2022-02-03 20:33:16 -06:00
Sam Germain
8c680d75b9 moved max_stake_amount check for None to exchange.get_max_pair_stake_amount 2022-02-03 20:33:16 -06:00
Sam Germain
55d91f018f exchange._get_stake_amount_limit (merged min_pair_stake_amount and get_max_tradeable amount) 2022-02-03 20:33:04 -06:00
Sam Germain
ff5fffefb4 exchange.get_max_amount_tradable looks at cost also 2022-02-03 20:33:03 -06:00
Sam Germain
6e8420914e removed unnecessary CCXT checks in exchange.get_min_pair_stake_amount 2022-02-03 20:33:03 -06:00
Sam Germain
64ad810445 Revert "moved get_max_leverage to get_min_pair_stake_amount"
This reverts commit 90e48d5b98bcfb1452aa818a3274745eac395712.
2022-02-03 20:33:03 -06:00
Sam Germain
73319a74d3 moved get_max_leverage to get_min_pair_stake_amount 2022-02-03 20:33:03 -06:00
Sam Germain
f3b42b0ef3 wrote exchange.get_max_amount_tradable 2022-02-03 20:33:03 -06:00
Sam Germain
f58b92bb86 exchange.create_order removed default for leverage 2022-02-03 17:48:08 -06:00
Sam Germain
179947fa72
New config (#6333)
* updated new-config to add trading_mode and margin_mode

* added trading_mode and margin_mode to config examples

* added okex config example

* new file:   config_examples/config_binance_futures.example.json

* removed trading_mode and margin_mode from base_config and binance and okex example

* deleted okex and futures config files

* updated full config file

* updated new-config command to add trading_mode and margin_mode to config

* new file:   config_examples/config_okex_futures.example.json

* removed config_okex_futures.example.json

* added trading_mode to test_start_new_config

* new-config asks exchange before asking futures

* Simplify trading_mode selection

* margin_mode is empty string for spot new configs

* build_config_commands sorted exchanges

* isort

Co-authored-by: Matthias <xmatthias@outlook.com>
2022-02-02 14:46:44 +01:00
Sam Germain
a741356d65 okex._lev_prep, removing rounding from default set_leverage 2022-02-02 00:28:57 -06:00
Sam Germain
8e51360f75 exchange._set_leverage rounds leverage 2022-02-02 00:09:58 -06:00
Sam Germain
8a64f6a27f exchange.set_margin_mode param swap 2022-02-02 00:09:53 -06:00
Sam Germain
386be2d889 set reduceOnly for futures exit orders 2022-02-02 00:08:50 -06:00
Sam Germain
b3477c4802 _api.fetch_funding_history argument pair->symbol 2022-02-02 00:08:50 -06:00
Sam Germain
30519aa3be Changed name Collateral -> MarginMode, collateral -> margin_mode, and _supported_trading_mode_margin_pairs -> _supported_trading_margin_pairs 2022-02-01 13:05:40 -06:00
Matthias
7dd50f78cf Small finetuning improving a comment 2022-02-01 06:37:13 +01:00
Sam Germain
fc15e14707 Merge branch 'feat/short' into isolated-liq 2022-01-31 14:22:01 -06:00
Sam Germain
ed320bb2ac exchange.get_liquidation_price check length of positions 2022-01-31 14:01:06 -06:00
Sam Germain
9de63412c1 exchange.get_liquidation_price arguments are not optional 2022-01-31 14:00:52 -06:00
Sam Germain
8190b0d83b binance.get_max_leverage adjustment 2022-01-31 12:49:18 -06:00
Sam Germain
a368f8b322 exchange.get_max_leverage changed variable names, made more effecient 2022-01-31 12:21:12 -06:00
Sam Germain
08e4a4a6dd binance.get_max_leverage_fix 2022-01-31 12:21:12 -06:00
Sam Germain
43db4c34d1 added okex back to unsupported exchanges 2022-01-31 12:18:30 -06:00
Sam Germain
2c1497b348 contracts_to_amount no longer in amount_to_precision 2022-01-31 12:18:30 -06:00
Sam Germain
b8f4cebce7 exchange.liquidation_price methods combined, dry_run check on exchange for liquidation price 2022-01-31 12:18:25 -06:00
Sam Germain
143c37d36f cleaned up liquidation price methods 2022-01-31 12:17:07 -06:00
Sam Germain
ede9012fcc removed TODO-levs about okex liquidation price 2022-01-31 12:17:07 -06:00
Sam Germain
d133a7c789 added isolated, futures to okex trading_mode_collateral_pairs 2022-01-31 12:17:07 -06:00
Sam Germain
88ce66650c Okex and Gateio liquidation_price formula are the same, moved liquidation_price to exchange.exchange class 2022-01-31 12:17:07 -06:00
Sam Germain
7f4894d68e okex.liquidation_price formula update 2022-01-31 12:17:07 -06:00
Sam Germain
fe037aa971 exchange.liquidation_price combined position and position_assets 2022-01-31 12:17:07 -06:00
Sam Germain
0b5c2e97b3 exchange._get_maintenance_ratio_and_amount 2022-01-31 12:17:07 -06:00
Sam Germain
0c13e387fe moved liquidation_price method to exchange classes 2022-01-31 12:16:43 -06:00