freqtrade/freqtrade

View on GitHub

Showing 507 of 507 total issues

Function calculate has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
Open

    def calculate(self, pairs: List[str]) -> bool:
        if self.fee is None and pairs:
            self.fee = self.exchange.get_fee(pairs[0])

        heartbeat = self.edge_config.get("process_throttle_secs")
Severity: Minor
Found in freqtrade/edge/edge_positioning.py - About 1 hr to fix

Cognitive Complexity

Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

A method's cognitive complexity is based on a few simple rules:

  • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
  • Code is considered more complex for each "break in the linear flow of the code"
  • Code is considered more complex when "flow breaking structures are nested"

Further reading

Function text_table_tags has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
Open

def text_table_tags(tag_type: str, tag_results: List[Dict[str, Any]], stake_currency: str) -> str:
    """
    Generates and returns a text table for the given backtest data and the results dataframe
    :param pair_results: List of Dictionaries - one entry per pair + final TOTAL row
    :param stake_currency: stake-currency - used to correctly name headers
Severity: Minor
Found in freqtrade/optimize/optimize_reports/bt_output.py - About 1 hr to fix

Cognitive Complexity

Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

A method's cognitive complexity is based on a few simple rules:

  • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
  • Code is considered more complex for each "break in the linear flow of the code"
  • Code is considered more complex when "flow breaking structures are nested"

Further reading

Function generate_tag_metrics has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
Open

def generate_tag_metrics(
    tag_type: Union[Literal["enter_tag", "exit_reason"], List[Literal["enter_tag", "exit_reason"]]],
    starting_balance: int,
    results: DataFrame,
    skip_nan: bool = False,
Severity: Minor
Found in freqtrade/optimize/optimize_reports/optimize_reports.py - About 1 hr to fix

Cognitive Complexity

Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

A method's cognitive complexity is based on a few simple rules:

  • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
  • Code is considered more complex for each "break in the linear flow of the code"
  • Code is considered more complex when "flow breaking structures are nested"

Further reading

Function _override_attribute_helper has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
Open

    def _override_attribute_helper(strategy, config: Config, attribute: str, default: Any):
        """
        Override attributes in the strategy.
        Prevalence:
        - Configuration
Severity: Minor
Found in freqtrade/resolvers/strategy_resolver.py - About 1 hr to fix

Cognitive Complexity

Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

A method's cognitive complexity is based on a few simple rules:

  • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
  • Code is considered more complex for each "break in the linear flow of the code"
  • Code is considered more complex when "flow breaking structures are nested"

Further reading

Function clean_ui_subdir has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
Open

def clean_ui_subdir(directory: Path):
    if directory.is_dir():
        logger.info("Removing UI directory content.")

        for p in reversed(list(directory.glob("**/*"))):  # iterate contents from leaves to root
Severity: Minor
Found in freqtrade/commands/deploy_commands.py - About 1 hr to fix

Cognitive Complexity

Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

A method's cognitive complexity is based on a few simple rules:

  • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
  • Code is considered more complex for each "break in the linear flow of the code"
  • Code is considered more complex when "flow breaking structures are nested"

Further reading

Function start_test_pairlist has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
Open

def start_test_pairlist(args: Dict[str, Any]) -> None:
    """
    Test Pairlist configuration
    """
    from freqtrade.persistence import FtNoDBContext
Severity: Minor
Found in freqtrade/commands/pairlist_commands.py - About 1 hr to fix

Cognitive Complexity

Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

A method's cognitive complexity is based on a few simple rules:

  • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
  • Code is considered more complex for each "break in the linear flow of the code"
  • Code is considered more complex when "flow breaking structures are nested"

Further reading

Function _order_contracts_to_amount has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
Open

    def _order_contracts_to_amount(self, order: Dict) -> Dict:
        if "symbol" in order and order["symbol"] is not None:
            contract_size = self.get_contract_size(order["symbol"])
            if contract_size != 1:
                for prop in self._ft_has.get("order_props_in_contracts", []):
Severity: Minor
Found in freqtrade/exchange/exchange.py - About 1 hr to fix

Cognitive Complexity

Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

A method's cognitive complexity is based on a few simple rules:

  • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
  • Code is considered more complex for each "break in the linear flow of the code"
  • Code is considered more complex when "flow breaking structures are nested"

Further reading

Function unlock_reason has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
Open

    def unlock_reason(reason: str, now: Optional[datetime] = None) -> None:
        """
        Release all locks for this reason.
        :param reason: Which reason to unlock
        :param now: Datetime object (generated via datetime.now(timezone.utc)).
Severity: Minor
Found in freqtrade/persistence/pairlock_middleware.py - About 1 hr to fix

Cognitive Complexity

Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

A method's cognitive complexity is based on a few simple rules:

  • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
  • Code is considered more complex for each "break in the linear flow of the code"
  • Code is considered more complex when "flow breaking structures are nested"

Further reading

Function _search_object has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
Open

    def _search_object(
        cls, directory: Path, *, object_name: str, add_source: bool = False
    ) -> Union[Tuple[Any, Path], Tuple[None, None]]:
        """
        Search for the objectname in the given directory
Severity: Minor
Found in freqtrade/resolvers/iresolver.py - About 1 hr to fix

Cognitive Complexity

Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

A method's cognitive complexity is based on a few simple rules:

  • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
  • Code is considered more complex for each "break in the linear flow of the code"
  • Code is considered more complex when "flow breaking structures are nested"

Further reading

Function decorator has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
Open

    def decorator(f: F) -> F:
        @wraps(f)
        def wrapper(*args, **kwargs):
            count = kwargs.pop("count", retries)
            try:
Severity: Minor
Found in freqtrade/exchange/common.py - About 1 hr to fix

Cognitive Complexity

Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

A method's cognitive complexity is based on a few simple rules:

  • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
  • Code is considered more complex for each "break in the linear flow of the code"
  • Code is considered more complex when "flow breaking structures are nested"

Further reading

Function load_from_files has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
Open

def load_from_files(
    files: List[str], base_path: Optional[Path] = None, level: int = 0
) -> Dict[str, Any]:
    """
    Recursively load configuration files if specified.
Severity: Minor
Found in freqtrade/configuration/load_config.py - About 1 hr to fix

Cognitive Complexity

Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

A method's cognitive complexity is based on a few simple rules:

  • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
  • Code is considered more complex for each "break in the linear flow of the code"
  • Code is considered more complex when "flow breaking structures are nested"

Further reading

Function _lev_prep has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
Open

    def _lev_prep(self, pair: str, leverage: float, side: BuySell, accept_fail: bool = False):
        if self.trading_mode != TradingMode.SPOT and self.margin_mode is not None:
            try:
                res = self._api.set_leverage(
                    leverage=leverage,
Severity: Minor
Found in freqtrade/exchange/okx.py - About 1 hr to fix

Cognitive Complexity

Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

A method's cognitive complexity is based on a few simple rules:

  • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
  • Code is considered more complex for each "break in the linear flow of the code"
  • Code is considered more complex when "flow breaking structures are nested"

Further reading

Function _process_optimize_options has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
Open

    def _process_optimize_options(self, config: Config) -> None:
        # This will override the strategy configuration
        self._args_to_config(
            config,
            argname="timeframe",
Severity: Minor
Found in freqtrade/configuration/configuration.py - About 1 hr to fix

Cognitive Complexity

Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

A method's cognitive complexity is based on a few simple rules:

  • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
  • Code is considered more complex for each "break in the linear flow of the code"
  • Code is considered more complex when "flow breaking structures are nested"

Further reading

Function __init__ has 27 lines of code (exceeds 25 allowed). Consider refactoring.
Open

    def __init__(
        self,
        config: Config,
        live: bool = False,
        pair: str = "",
Severity: Minor
Found in freqtrade/freqai/data_kitchen.py - About 1 hr to fix

    Function get_result_table has 26 lines of code (exceeds 25 allowed). Consider refactoring.
    Open

        def get_result_table(
            config: Config,
            results: list,
            total_epochs: int,
            highlight_best: bool,
    Severity: Minor
    Found in freqtrade/optimize/hyperopt_tools.py - About 1 hr to fix

      Function generate_strategy_stats has 26 lines of code (exceeds 25 allowed). Consider refactoring.
      Open

      def generate_strategy_stats(
          pairlist: List[str],
          strategy: str,
          content: Dict[str, Any],
          min_date: datetime,
      Severity: Minor
      Found in freqtrade/optimize/optimize_reports/optimize_reports.py - About 1 hr to fix

        Function __init__ has 26 lines of code (exceeds 25 allowed). Consider refactoring.
        Open

            def __init__(self, full_path: Path, config: Config):
                self.config = config
                self.freqai_info = config.get("freqai", {})
                # dictionary holding all pair metadata necessary to load in from disk
                self.pair_dict: Dict[str, pair_info] = {}
        Severity: Minor
        Found in freqtrade/freqai/data_drawer.py - About 1 hr to fix

          Function custom_exit_price has 8 arguments (exceeds 4 allowed). Consider refactoring.
          Open

              def custom_exit_price(
          Severity: Major
          Found in freqtrade/strategy/interface.py - About 1 hr to fix

            Function _rpc_force_entry has 8 arguments (exceeds 4 allowed). Consider refactoring.
            Open

                def _rpc_force_entry(
            Severity: Major
            Found in freqtrade/rpc/rpc.py - About 1 hr to fix

              Function custom_entry_price has 8 arguments (exceeds 4 allowed). Consider refactoring.
              Open

                  def custom_entry_price(
              Severity: Major
              Found in freqtrade/strategy/interface.py - About 1 hr to fix
                Severity
                Category
                Status
                Source
                Language