mirror of
https://github.com/freqtrade/freqtrade.git
synced 2024-11-14 04:03:55 +00:00
chore: update commands to modern typing syntax
This commit is contained in:
parent
74b8dca63e
commit
65bbf7b2a2
|
@ -1,6 +1,6 @@
|
||||||
import logging
|
import logging
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from typing import Any, Dict
|
from typing import Any
|
||||||
|
|
||||||
from freqtrade.configuration import setup_utils_configuration
|
from freqtrade.configuration import setup_utils_configuration
|
||||||
from freqtrade.enums import RunMode
|
from freqtrade.enums import RunMode
|
||||||
|
@ -10,7 +10,7 @@ from freqtrade.exceptions import ConfigurationError, OperationalException
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
def setup_analyze_configuration(args: Dict[str, Any], method: RunMode) -> Dict[str, Any]:
|
def setup_analyze_configuration(args: dict[str, Any], method: RunMode) -> dict[str, Any]:
|
||||||
"""
|
"""
|
||||||
Prepare the configuration for the entry/exit reason analysis module
|
Prepare the configuration for the entry/exit reason analysis module
|
||||||
:param args: Cli args from Arguments()
|
:param args: Cli args from Arguments()
|
||||||
|
@ -47,7 +47,7 @@ def setup_analyze_configuration(args: Dict[str, Any], method: RunMode) -> Dict[s
|
||||||
return config
|
return config
|
||||||
|
|
||||||
|
|
||||||
def start_analysis_entries_exits(args: Dict[str, Any]) -> None:
|
def start_analysis_entries_exits(args: dict[str, Any]) -> None:
|
||||||
"""
|
"""
|
||||||
Start analysis script
|
Start analysis script
|
||||||
:param args: Cli args from Arguments()
|
:param args: Cli args from Arguments()
|
||||||
|
|
|
@ -5,7 +5,7 @@ This module contains the argument manager class
|
||||||
from argparse import ArgumentParser, Namespace, _ArgumentGroup
|
from argparse import ArgumentParser, Namespace, _ArgumentGroup
|
||||||
from functools import partial
|
from functools import partial
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from typing import Any, Dict, List, Optional, Union
|
from typing import Any, Optional, Union
|
||||||
|
|
||||||
from freqtrade.commands.cli_options import AVAILABLE_CLI_OPTIONS
|
from freqtrade.commands.cli_options import AVAILABLE_CLI_OPTIONS
|
||||||
from freqtrade.constants import DEFAULT_CONFIG
|
from freqtrade.constants import DEFAULT_CONFIG
|
||||||
|
@ -23,7 +23,7 @@ ARGS_STRATEGY = [
|
||||||
|
|
||||||
ARGS_TRADE = ["db_url", "sd_notify", "dry_run", "dry_run_wallet", "fee"]
|
ARGS_TRADE = ["db_url", "sd_notify", "dry_run", "dry_run_wallet", "fee"]
|
||||||
|
|
||||||
ARGS_WEBSERVER: List[str] = []
|
ARGS_WEBSERVER: list[str] = []
|
||||||
|
|
||||||
ARGS_COMMON_OPTIMIZE = [
|
ARGS_COMMON_OPTIMIZE = [
|
||||||
"timeframe",
|
"timeframe",
|
||||||
|
@ -277,11 +277,11 @@ class Arguments:
|
||||||
Arguments Class. Manage the arguments received by the cli
|
Arguments Class. Manage the arguments received by the cli
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(self, args: Optional[List[str]]) -> None:
|
def __init__(self, args: Optional[list[str]]) -> None:
|
||||||
self.args = args
|
self.args = args
|
||||||
self._parsed_arg: Optional[Namespace] = None
|
self._parsed_arg: Optional[Namespace] = None
|
||||||
|
|
||||||
def get_parsed_arg(self) -> Dict[str, Any]:
|
def get_parsed_arg(self) -> dict[str, Any]:
|
||||||
"""
|
"""
|
||||||
Return the list of arguments
|
Return the list of arguments
|
||||||
:return: List[str] List of arguments
|
:return: List[str] List of arguments
|
||||||
|
@ -322,7 +322,7 @@ class Arguments:
|
||||||
return parsed_arg
|
return parsed_arg
|
||||||
|
|
||||||
def _build_args(
|
def _build_args(
|
||||||
self, optionlist: List[str], parser: Union[ArgumentParser, _ArgumentGroup]
|
self, optionlist: list[str], parser: Union[ArgumentParser, _ArgumentGroup]
|
||||||
) -> None:
|
) -> None:
|
||||||
for val in optionlist:
|
for val in optionlist:
|
||||||
opt = AVAILABLE_CLI_OPTIONS[val]
|
opt = AVAILABLE_CLI_OPTIONS[val]
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import logging
|
import logging
|
||||||
import secrets
|
import secrets
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from typing import Any, Dict, List
|
from typing import Any
|
||||||
|
|
||||||
from questionary import Separator, prompt
|
from questionary import Separator, prompt
|
||||||
|
|
||||||
|
@ -48,13 +48,13 @@ def ask_user_overwrite(config_path: Path) -> bool:
|
||||||
return answers["overwrite"]
|
return answers["overwrite"]
|
||||||
|
|
||||||
|
|
||||||
def ask_user_config() -> Dict[str, Any]:
|
def ask_user_config() -> dict[str, Any]:
|
||||||
"""
|
"""
|
||||||
Ask user a few questions to build the configuration.
|
Ask user a few questions to build the configuration.
|
||||||
Interactive questions built using https://github.com/tmbo/questionary
|
Interactive questions built using https://github.com/tmbo/questionary
|
||||||
:returns: Dict with keys to put into template
|
:returns: Dict with keys to put into template
|
||||||
"""
|
"""
|
||||||
questions: List[Dict[str, Any]] = [
|
questions: list[dict[str, Any]] = [
|
||||||
{
|
{
|
||||||
"type": "confirm",
|
"type": "confirm",
|
||||||
"name": "dry_run",
|
"name": "dry_run",
|
||||||
|
@ -219,7 +219,7 @@ def ask_user_config() -> Dict[str, Any]:
|
||||||
return answers
|
return answers
|
||||||
|
|
||||||
|
|
||||||
def deploy_new_config(config_path: Path, selections: Dict[str, Any]) -> None:
|
def deploy_new_config(config_path: Path, selections: dict[str, Any]) -> None:
|
||||||
"""
|
"""
|
||||||
Applies selections to the template and writes the result to config_path
|
Applies selections to the template and writes the result to config_path
|
||||||
:param config_path: Path object for new config file. Should not exist yet
|
:param config_path: Path object for new config file. Should not exist yet
|
||||||
|
@ -250,7 +250,7 @@ def deploy_new_config(config_path: Path, selections: Dict[str, Any]) -> None:
|
||||||
config_path.write_text(config_text)
|
config_path.write_text(config_text)
|
||||||
|
|
||||||
|
|
||||||
def start_new_config(args: Dict[str, Any]) -> None:
|
def start_new_config(args: dict[str, Any]) -> None:
|
||||||
"""
|
"""
|
||||||
Create a new strategy from a template
|
Create a new strategy from a template
|
||||||
Asking the user questions to fill out the template accordingly.
|
Asking the user questions to fill out the template accordingly.
|
||||||
|
@ -271,7 +271,7 @@ def start_new_config(args: Dict[str, Any]) -> None:
|
||||||
deploy_new_config(config_path, selections)
|
deploy_new_config(config_path, selections)
|
||||||
|
|
||||||
|
|
||||||
def start_show_config(args: Dict[str, Any]) -> None:
|
def start_show_config(args: dict[str, Any]) -> None:
|
||||||
config = setup_utils_configuration(args, RunMode.UTIL_EXCHANGE, set_dry=False)
|
config = setup_utils_configuration(args, RunMode.UTIL_EXCHANGE, set_dry=False)
|
||||||
|
|
||||||
print("Your combined configuration is:")
|
print("Your combined configuration is:")
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import logging
|
import logging
|
||||||
import sys
|
import sys
|
||||||
from collections import defaultdict
|
from collections import defaultdict
|
||||||
from typing import Any, Dict
|
from typing import Any
|
||||||
|
|
||||||
from freqtrade.configuration import TimeRange, setup_utils_configuration
|
from freqtrade.configuration import TimeRange, setup_utils_configuration
|
||||||
from freqtrade.constants import DATETIME_PRINT_FORMAT, DL_DATA_TIMEFRAMES, Config
|
from freqtrade.constants import DATETIME_PRINT_FORMAT, DL_DATA_TIMEFRAMES, Config
|
||||||
|
@ -38,7 +38,7 @@ def _check_data_config_download_sanity(config: Config) -> None:
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
def start_download_data(args: Dict[str, Any]) -> None:
|
def start_download_data(args: dict[str, Any]) -> None:
|
||||||
"""
|
"""
|
||||||
Download data (former download_backtest_data.py script)
|
Download data (former download_backtest_data.py script)
|
||||||
"""
|
"""
|
||||||
|
@ -53,7 +53,7 @@ def start_download_data(args: Dict[str, Any]) -> None:
|
||||||
sys.exit("SIGINT received, aborting ...")
|
sys.exit("SIGINT received, aborting ...")
|
||||||
|
|
||||||
|
|
||||||
def start_convert_trades(args: Dict[str, Any]) -> None:
|
def start_convert_trades(args: dict[str, Any]) -> None:
|
||||||
config = setup_utils_configuration(args, RunMode.UTIL_EXCHANGE)
|
config = setup_utils_configuration(args, RunMode.UTIL_EXCHANGE)
|
||||||
|
|
||||||
timerange = TimeRange()
|
timerange = TimeRange()
|
||||||
|
@ -92,7 +92,7 @@ def start_convert_trades(args: Dict[str, Any]) -> None:
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
def start_convert_data(args: Dict[str, Any], ohlcv: bool = True) -> None:
|
def start_convert_data(args: dict[str, Any], ohlcv: bool = True) -> None:
|
||||||
"""
|
"""
|
||||||
Convert data from one format to another
|
Convert data from one format to another
|
||||||
"""
|
"""
|
||||||
|
@ -114,7 +114,7 @@ def start_convert_data(args: Dict[str, Any], ohlcv: bool = True) -> None:
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
def start_list_data(args: Dict[str, Any]) -> None:
|
def start_list_data(args: dict[str, Any]) -> None:
|
||||||
"""
|
"""
|
||||||
List available OHLCV data
|
List available OHLCV data
|
||||||
"""
|
"""
|
||||||
|
@ -177,7 +177,7 @@ def start_list_data(args: Dict[str, Any]) -> None:
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
def start_list_trades_data(args: Dict[str, Any]) -> None:
|
def start_list_trades_data(args: dict[str, Any]) -> None:
|
||||||
"""
|
"""
|
||||||
List available Trades data
|
List available Trades data
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import logging
|
import logging
|
||||||
from typing import Any, Dict
|
from typing import Any
|
||||||
|
|
||||||
from sqlalchemy import func, select
|
from sqlalchemy import func, select
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@ from freqtrade.enums import RunMode
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
def start_convert_db(args: Dict[str, Any]) -> None:
|
def start_convert_db(args: dict[str, Any]) -> None:
|
||||||
from sqlalchemy.orm import make_transient
|
from sqlalchemy.orm import make_transient
|
||||||
|
|
||||||
from freqtrade.persistence import Order, Trade, init_db
|
from freqtrade.persistence import Order, Trade, init_db
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import logging
|
import logging
|
||||||
import sys
|
import sys
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from typing import Any, Dict, Optional, Tuple
|
from typing import Any, Optional
|
||||||
|
|
||||||
import requests
|
import requests
|
||||||
|
|
||||||
|
@ -20,7 +20,7 @@ logger = logging.getLogger(__name__)
|
||||||
req_timeout = 30
|
req_timeout = 30
|
||||||
|
|
||||||
|
|
||||||
def start_create_userdir(args: Dict[str, Any]) -> None:
|
def start_create_userdir(args: dict[str, Any]) -> None:
|
||||||
"""
|
"""
|
||||||
Create "user_data" directory to contain user data strategies, hyperopt, ...)
|
Create "user_data" directory to contain user data strategies, hyperopt, ...)
|
||||||
:param args: Cli args from Arguments()
|
:param args: Cli args from Arguments()
|
||||||
|
@ -81,7 +81,7 @@ def deploy_new_strategy(strategy_name: str, strategy_path: Path, subtemplate: st
|
||||||
strategy_path.write_text(strategy_text)
|
strategy_path.write_text(strategy_text)
|
||||||
|
|
||||||
|
|
||||||
def start_new_strategy(args: Dict[str, Any]) -> None:
|
def start_new_strategy(args: dict[str, Any]) -> None:
|
||||||
config = setup_utils_configuration(args, RunMode.UTIL_NO_EXCHANGE)
|
config = setup_utils_configuration(args, RunMode.UTIL_NO_EXCHANGE)
|
||||||
|
|
||||||
if "strategy" in args and args["strategy"]:
|
if "strategy" in args and args["strategy"]:
|
||||||
|
@ -139,7 +139,7 @@ def download_and_install_ui(dest_folder: Path, dl_url: str, version: str):
|
||||||
f.write(version)
|
f.write(version)
|
||||||
|
|
||||||
|
|
||||||
def get_ui_download_url(version: Optional[str] = None) -> Tuple[str, str]:
|
def get_ui_download_url(version: Optional[str] = None) -> tuple[str, str]:
|
||||||
base_url = "https://api.github.com/repos/freqtrade/frequi/"
|
base_url = "https://api.github.com/repos/freqtrade/frequi/"
|
||||||
# Get base UI Repo path
|
# Get base UI Repo path
|
||||||
|
|
||||||
|
@ -171,7 +171,7 @@ def get_ui_download_url(version: Optional[str] = None) -> Tuple[str, str]:
|
||||||
return dl_url, latest_version
|
return dl_url, latest_version
|
||||||
|
|
||||||
|
|
||||||
def start_install_ui(args: Dict[str, Any]) -> None:
|
def start_install_ui(args: dict[str, Any]) -> None:
|
||||||
dest_folder = Path(__file__).parents[1] / "rpc/api_server/ui/installed/"
|
dest_folder = Path(__file__).parents[1] / "rpc/api_server/ui/installed/"
|
||||||
# First make sure the assets are removed.
|
# First make sure the assets are removed.
|
||||||
dl_url, latest_version = get_ui_download_url(args.get("ui_version"))
|
dl_url, latest_version = get_ui_download_url(args.get("ui_version"))
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import logging
|
import logging
|
||||||
from operator import itemgetter
|
from operator import itemgetter
|
||||||
from typing import Any, Dict
|
from typing import Any
|
||||||
|
|
||||||
from freqtrade.configuration import setup_utils_configuration
|
from freqtrade.configuration import setup_utils_configuration
|
||||||
from freqtrade.data.btanalysis import get_latest_hyperopt_file
|
from freqtrade.data.btanalysis import get_latest_hyperopt_file
|
||||||
|
@ -12,7 +12,7 @@ from freqtrade.optimize.optimize_reports import show_backtest_result
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
def start_hyperopt_list(args: Dict[str, Any]) -> None:
|
def start_hyperopt_list(args: dict[str, Any]) -> None:
|
||||||
"""
|
"""
|
||||||
List hyperopt epochs previously evaluated
|
List hyperopt epochs previously evaluated
|
||||||
"""
|
"""
|
||||||
|
@ -57,7 +57,7 @@ def start_hyperopt_list(args: Dict[str, Any]) -> None:
|
||||||
HyperoptTools.export_csv_file(config, epochs, export_csv)
|
HyperoptTools.export_csv_file(config, epochs, export_csv)
|
||||||
|
|
||||||
|
|
||||||
def start_hyperopt_show(args: Dict[str, Any]) -> None:
|
def start_hyperopt_show(args: dict[str, Any]) -> None:
|
||||||
"""
|
"""
|
||||||
Show details of a hyperopt epoch previously evaluated
|
Show details of a hyperopt epoch previously evaluated
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import csv
|
import csv
|
||||||
import logging
|
import logging
|
||||||
import sys
|
import sys
|
||||||
from typing import Any, Dict, List, Union
|
from typing import Any, Union
|
||||||
|
|
||||||
import rapidjson
|
import rapidjson
|
||||||
from rich.console import Console
|
from rich.console import Console
|
||||||
|
@ -21,13 +21,13 @@ from freqtrade.util import print_rich_table
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
def start_list_exchanges(args: Dict[str, Any]) -> None:
|
def start_list_exchanges(args: dict[str, Any]) -> None:
|
||||||
"""
|
"""
|
||||||
Print available exchanges
|
Print available exchanges
|
||||||
:param args: Cli args from Arguments()
|
:param args: Cli args from Arguments()
|
||||||
:return: None
|
:return: None
|
||||||
"""
|
"""
|
||||||
available_exchanges: List[ValidExchangesType] = list_available_exchanges(
|
available_exchanges: list[ValidExchangesType] = list_available_exchanges(
|
||||||
args["list_exchanges_all"]
|
args["list_exchanges_all"]
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -85,9 +85,9 @@ def start_list_exchanges(args: Dict[str, Any]) -> None:
|
||||||
console.print(table)
|
console.print(table)
|
||||||
|
|
||||||
|
|
||||||
def _print_objs_tabular(objs: List, print_colorized: bool) -> None:
|
def _print_objs_tabular(objs: list, print_colorized: bool) -> None:
|
||||||
names = [s["name"] for s in objs]
|
names = [s["name"] for s in objs]
|
||||||
objs_to_print: List[Dict[str, Union[Text, str]]] = [
|
objs_to_print: list[dict[str, Union[Text, str]]] = [
|
||||||
{
|
{
|
||||||
"name": Text(s["name"] if s["name"] else "--"),
|
"name": Text(s["name"] if s["name"] else "--"),
|
||||||
"location": s["location_rel"],
|
"location": s["location_rel"],
|
||||||
|
@ -125,7 +125,7 @@ def _print_objs_tabular(objs: List, print_colorized: bool) -> None:
|
||||||
console.print(table)
|
console.print(table)
|
||||||
|
|
||||||
|
|
||||||
def start_list_strategies(args: Dict[str, Any]) -> None:
|
def start_list_strategies(args: dict[str, Any]) -> None:
|
||||||
"""
|
"""
|
||||||
Print files with Strategy custom classes available in the directory
|
Print files with Strategy custom classes available in the directory
|
||||||
"""
|
"""
|
||||||
|
@ -148,7 +148,7 @@ def start_list_strategies(args: Dict[str, Any]) -> None:
|
||||||
_print_objs_tabular(strategy_objs, config.get("print_colorized", False))
|
_print_objs_tabular(strategy_objs, config.get("print_colorized", False))
|
||||||
|
|
||||||
|
|
||||||
def start_list_freqAI_models(args: Dict[str, Any]) -> None:
|
def start_list_freqAI_models(args: dict[str, Any]) -> None:
|
||||||
"""
|
"""
|
||||||
Print files with FreqAI models custom classes available in the directory
|
Print files with FreqAI models custom classes available in the directory
|
||||||
"""
|
"""
|
||||||
|
@ -164,7 +164,7 @@ def start_list_freqAI_models(args: Dict[str, Any]) -> None:
|
||||||
_print_objs_tabular(model_objs, config.get("print_colorized", False))
|
_print_objs_tabular(model_objs, config.get("print_colorized", False))
|
||||||
|
|
||||||
|
|
||||||
def start_list_timeframes(args: Dict[str, Any]) -> None:
|
def start_list_timeframes(args: dict[str, Any]) -> None:
|
||||||
"""
|
"""
|
||||||
Print timeframes available on Exchange
|
Print timeframes available on Exchange
|
||||||
"""
|
"""
|
||||||
|
@ -184,7 +184,7 @@ def start_list_timeframes(args: Dict[str, Any]) -> None:
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
def start_list_markets(args: Dict[str, Any], pairs_only: bool = False) -> None:
|
def start_list_markets(args: dict[str, Any], pairs_only: bool = False) -> None:
|
||||||
"""
|
"""
|
||||||
Print pairs/markets on the exchange
|
Print pairs/markets on the exchange
|
||||||
:param args: Cli args from Arguments()
|
:param args: Cli args from Arguments()
|
||||||
|
@ -296,7 +296,7 @@ def start_list_markets(args: Dict[str, Any], pairs_only: bool = False) -> None:
|
||||||
print(f"{summary_str}.")
|
print(f"{summary_str}.")
|
||||||
|
|
||||||
|
|
||||||
def start_show_trades(args: Dict[str, Any]) -> None:
|
def start_show_trades(args: dict[str, Any]) -> None:
|
||||||
"""
|
"""
|
||||||
Show trades
|
Show trades
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import logging
|
import logging
|
||||||
from typing import Any, Dict
|
from typing import Any
|
||||||
|
|
||||||
from freqtrade import constants
|
from freqtrade import constants
|
||||||
from freqtrade.configuration import setup_utils_configuration
|
from freqtrade.configuration import setup_utils_configuration
|
||||||
|
@ -11,7 +11,7 @@ from freqtrade.util import fmt_coin
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
def setup_optimize_configuration(args: Dict[str, Any], method: RunMode) -> Dict[str, Any]:
|
def setup_optimize_configuration(args: dict[str, Any], method: RunMode) -> dict[str, Any]:
|
||||||
"""
|
"""
|
||||||
Prepare the configuration for the Hyperopt module
|
Prepare the configuration for the Hyperopt module
|
||||||
:param args: Cli args from Arguments()
|
:param args: Cli args from Arguments()
|
||||||
|
@ -41,7 +41,7 @@ def setup_optimize_configuration(args: Dict[str, Any], method: RunMode) -> Dict[
|
||||||
return config
|
return config
|
||||||
|
|
||||||
|
|
||||||
def start_backtesting(args: Dict[str, Any]) -> None:
|
def start_backtesting(args: dict[str, Any]) -> None:
|
||||||
"""
|
"""
|
||||||
Start Backtesting script
|
Start Backtesting script
|
||||||
:param args: Cli args from Arguments()
|
:param args: Cli args from Arguments()
|
||||||
|
@ -60,7 +60,7 @@ def start_backtesting(args: Dict[str, Any]) -> None:
|
||||||
backtesting.start()
|
backtesting.start()
|
||||||
|
|
||||||
|
|
||||||
def start_backtesting_show(args: Dict[str, Any]) -> None:
|
def start_backtesting_show(args: dict[str, Any]) -> None:
|
||||||
"""
|
"""
|
||||||
Show previous backtest result
|
Show previous backtest result
|
||||||
"""
|
"""
|
||||||
|
@ -76,7 +76,7 @@ def start_backtesting_show(args: Dict[str, Any]) -> None:
|
||||||
show_sorted_pairlist(config, results)
|
show_sorted_pairlist(config, results)
|
||||||
|
|
||||||
|
|
||||||
def start_hyperopt(args: Dict[str, Any]) -> None:
|
def start_hyperopt(args: dict[str, Any]) -> None:
|
||||||
"""
|
"""
|
||||||
Start hyperopt script
|
Start hyperopt script
|
||||||
:param args: Cli args from Arguments()
|
:param args: Cli args from Arguments()
|
||||||
|
@ -121,7 +121,7 @@ def start_hyperopt(args: Dict[str, Any]) -> None:
|
||||||
# Same in Edge and Backtesting start() functions.
|
# Same in Edge and Backtesting start() functions.
|
||||||
|
|
||||||
|
|
||||||
def start_edge(args: Dict[str, Any]) -> None:
|
def start_edge(args: dict[str, Any]) -> None:
|
||||||
"""
|
"""
|
||||||
Start Edge script
|
Start Edge script
|
||||||
:param args: Cli args from Arguments()
|
:param args: Cli args from Arguments()
|
||||||
|
@ -138,7 +138,7 @@ def start_edge(args: Dict[str, Any]) -> None:
|
||||||
edge_cli.start()
|
edge_cli.start()
|
||||||
|
|
||||||
|
|
||||||
def start_lookahead_analysis(args: Dict[str, Any]) -> None:
|
def start_lookahead_analysis(args: dict[str, Any]) -> None:
|
||||||
"""
|
"""
|
||||||
Start the backtest bias tester script
|
Start the backtest bias tester script
|
||||||
:param args: Cli args from Arguments()
|
:param args: Cli args from Arguments()
|
||||||
|
@ -150,7 +150,7 @@ def start_lookahead_analysis(args: Dict[str, Any]) -> None:
|
||||||
LookaheadAnalysisSubFunctions.start(config)
|
LookaheadAnalysisSubFunctions.start(config)
|
||||||
|
|
||||||
|
|
||||||
def start_recursive_analysis(args: Dict[str, Any]) -> None:
|
def start_recursive_analysis(args: dict[str, Any]) -> None:
|
||||||
"""
|
"""
|
||||||
Start the backtest recursive tester script
|
Start the backtest recursive tester script
|
||||||
:param args: Cli args from Arguments()
|
:param args: Cli args from Arguments()
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import logging
|
import logging
|
||||||
from typing import Any, Dict
|
from typing import Any
|
||||||
|
|
||||||
import rapidjson
|
import rapidjson
|
||||||
|
|
||||||
|
@ -11,7 +11,7 @@ from freqtrade.resolvers import ExchangeResolver
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
def start_test_pairlist(args: Dict[str, Any]) -> None:
|
def start_test_pairlist(args: dict[str, Any]) -> None:
|
||||||
"""
|
"""
|
||||||
Test Pairlist configuration
|
Test Pairlist configuration
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
from typing import Any, Dict
|
from typing import Any
|
||||||
|
|
||||||
from freqtrade.configuration import setup_utils_configuration
|
from freqtrade.configuration import setup_utils_configuration
|
||||||
from freqtrade.enums import RunMode
|
from freqtrade.enums import RunMode
|
||||||
from freqtrade.exceptions import ConfigurationError
|
from freqtrade.exceptions import ConfigurationError
|
||||||
|
|
||||||
|
|
||||||
def validate_plot_args(args: Dict[str, Any]) -> None:
|
def validate_plot_args(args: dict[str, Any]) -> None:
|
||||||
if not args.get("datadir") and not args.get("config"):
|
if not args.get("datadir") and not args.get("config"):
|
||||||
raise ConfigurationError(
|
raise ConfigurationError(
|
||||||
"You need to specify either `--datadir` or `--config` "
|
"You need to specify either `--datadir` or `--config` "
|
||||||
|
@ -13,7 +13,7 @@ def validate_plot_args(args: Dict[str, Any]) -> None:
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
def start_plot_dataframe(args: Dict[str, Any]) -> None:
|
def start_plot_dataframe(args: dict[str, Any]) -> None:
|
||||||
"""
|
"""
|
||||||
Entrypoint for dataframe plotting
|
Entrypoint for dataframe plotting
|
||||||
"""
|
"""
|
||||||
|
@ -26,7 +26,7 @@ def start_plot_dataframe(args: Dict[str, Any]) -> None:
|
||||||
load_and_plot_trades(config)
|
load_and_plot_trades(config)
|
||||||
|
|
||||||
|
|
||||||
def start_plot_profit(args: Dict[str, Any]) -> None:
|
def start_plot_profit(args: dict[str, Any]) -> None:
|
||||||
"""
|
"""
|
||||||
Entrypoint for plot_profit
|
Entrypoint for plot_profit
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import logging
|
import logging
|
||||||
import time
|
import time
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from typing import Any, Dict
|
from typing import Any
|
||||||
|
|
||||||
from freqtrade.configuration import setup_utils_configuration
|
from freqtrade.configuration import setup_utils_configuration
|
||||||
from freqtrade.enums import RunMode
|
from freqtrade.enums import RunMode
|
||||||
|
@ -12,7 +12,7 @@ from freqtrade.strategy.strategyupdater import StrategyUpdater
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
def start_strategy_update(args: Dict[str, Any]) -> None:
|
def start_strategy_update(args: dict[str, Any]) -> None:
|
||||||
"""
|
"""
|
||||||
Start the strategy updating script
|
Start the strategy updating script
|
||||||
:param args: Cli args from Arguments()
|
:param args: Cli args from Arguments()
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
import logging
|
import logging
|
||||||
import signal
|
import signal
|
||||||
from typing import Any, Dict
|
from typing import Any
|
||||||
|
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
def start_trading(args: Dict[str, Any]) -> int:
|
def start_trading(args: dict[str, Any]) -> int:
|
||||||
"""
|
"""
|
||||||
Main entry point for trading mode
|
Main entry point for trading mode
|
||||||
"""
|
"""
|
||||||
|
|
Loading…
Reference in New Issue
Block a user