Free, open source crypto trading bot
This report summarizes scanner evidence for freqtrade/freqtrade, a Python project with 55,219 GitHub stars. SynthScan examined 172,103 lines of code across 639 source files, recording 2670 pattern matches distributed across 19 syntactic categories. The legacy adjusted pattern signal is 22.3 (Elevated pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 1764 finding(s).
Are imports declared and package/API names verified? 368 finding(s).
Are wrappers, guards, and repeated structures necessary? 2016 finding(s).
Which changes need focused human review? 2670 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 2670 distinct pattern matches across 19 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | ft_client/freqtrade_client/ft_rest_client.py | 268 | def list_open_trades_custom_data(self, key=None, limit=100, offset=0): | CODE |
| LOW | ft_client/test_client/test_rest_client.py | 196 | def test_ft_client_argparsing(mocker, params, expected_args, expected_kwargs, caplog): | CODE |
| LOW | tests/conftest.py | 94 | def pytest_xdist_make_scheduler(config, log): | CODE |
| LOW | tests/conftest.py | 214 | def patched_configuration_load_config_file(mocker, config) -> None: | CODE |
| LOW | tests/conftest.py | 401 | def create_mock_trades_with_leverage(fee, use_db: bool = True): | CODE |
| LOW | tests/conftest.py | 488 | def fixture_set_mp_start_method(): | CODE |
| LOW | tests/conftest.py | 1826 | def limit_buy_order_old_partial(): | CODE |
| LOW | tests/conftest.py | 1844 | def limit_buy_order_old_partial_canceled(limit_buy_order_old_partial): | CODE |
| LOW | tests/conftest.py | 1852 | def limit_buy_order_canceled_empty(request): | CODE |
| LOW | tests/conftest.py | 2740 | def limit_buy_order_usdt_open(): | CODE |
| LOW | tests/conftest.py | 2768 | def limit_sell_order_usdt_open(): | CODE |
| LOW | tests/conftest.py | 2812 | def market_buy_order_usdt_doublefee(market_buy_order_usdt): | CODE |
| LOW | tests/conftest.py | 2902 | def funding_rate_history_hourly(): | CODE |
| LOW | tests/conftest.py | 2992 | def funding_rate_history_octohourly(): | CODE |
| LOW | tests/test_plotting.py | 207 | def test_generate_candlestick_graph_no_signals_no_trades(default_conf, mocker, testdatadir, caplog): | CODE |
| LOW | tests/test_plotting.py | 251 | def test_generate_candlestick_graph_no_trades(default_conf, mocker, testdatadir): | CODE |
| LOW | tests/test_plotting.py | 342 | def test_generate_profit_graph(testdatadir): | CODE |
| LOW | tests/test_plotting.py | 398 | def test_start_plot_dataframe(mocker): | CODE |
| LOW | tests/test_plotting.py | 415 | def test_load_and_plot_trades(default_conf, mocker, caplog, testdatadir): | CODE |
| LOW | tests/test_plotting.py | 460 | def test_start_plot_profit_error(mocker): | CODE |
| LOW | tests/test_candle_columns.py | 15 | def test_default_dataframe_columns_reexport(): | CODE |
| LOW | tests/test_candle_columns.py | 81 | def test_candle_type_is_ohlcv(): | CODE |
| LOW | tests/test_candle_columns.py | 90 | def test_all_candle_value_columns(): | CODE |
| LOW | tests/test_misc.py | 32 | def test_dump_json_to_file_non_finite_values() -> None: | CODE |
| LOW⚡ | tests/test_misc.py | 47 | def test_dump_json_to_file_large_fraction() -> None: | CODE |
| LOW⚡ | tests/test_misc.py | 56 | def test_dump_json_to_file_datetime_format() -> None: | CODE |
| LOW | tests/test_misc.py | 283 | def test_parse_db_uri_for_logging(conn_url, expected) -> None: | CODE |
| LOW⚡ | tests/test_configuration.py | 655 | def test_validate_default_conf(default_conf) -> None: | CODE |
| LOW⚡ | tests/test_configuration.py | 661 | def test_validate_fiat_currency_options(default_conf, fiat) -> None: | CODE |
| LOW⚡ | tests/test_configuration.py | 670 | def test_validate_max_open_trades(default_conf): | CODE |
| LOW | tests/test_configuration.py | 49 | def test_load_config_missing_attributes(default_conf) -> None: | CODE |
| LOW | tests/test_configuration.py | 63 | def test_load_config_incorrect_stake_amount(default_conf) -> None: | CODE |
| LOW | tests/test_configuration.py | 83 | def test_load_config_file_error(default_conf, mocker, caplog) -> None: | CODE |
| LOW | tests/test_configuration.py | 96 | def test_load_config_file_error_range(default_conf, mocker, caplog) -> None: | CODE |
| LOW | tests/test_configuration.py | 157 | def test_load_config_max_open_trades_zero(default_conf, mocker, caplog) -> None: | CODE |
| LOW | tests/test_configuration.py | 169 | def test_load_config_combine_dicts(default_conf, mocker, caplog) -> None: | CODE |
| LOW | tests/test_configuration.py | 230 | def test_from_recursive_files(testdatadir) -> None: | CODE |
| LOW | tests/test_configuration.py | 276 | def test_load_config_max_open_trades_minus_one(default_conf, mocker, caplog) -> None: | CODE |
| LOW | tests/test_configuration.py | 290 | def test_load_config_file_exception(mocker) -> None: | CODE |
| LOW | tests/test_configuration.py | 312 | def test_load_config_with_params(default_conf, mocker) -> None: | CODE |
| LOW | tests/test_configuration.py | 407 | def test_load_custom_strategy(default_conf, mocker, tmp_path) -> None: | CODE |
| LOW | tests/test_configuration.py | 443 | def test_setup_configuration_without_arguments(mocker, default_conf, caplog) -> None: | CODE |
| LOW | tests/test_configuration.py | 475 | def test_setup_configuration_with_arguments(mocker, default_conf, caplog, tmp_path) -> None: | CODE |
| LOW | tests/test_configuration.py | 532 | def test_setup_configuration_with_stratlist(mocker, default_conf, caplog) -> None: | CODE |
| LOW | tests/test_configuration.py | 577 | def test_hyperopt_with_arguments(mocker, default_conf, caplog) -> None: | CODE |
| LOW | tests/test_configuration.py | 605 | def test_cli_verbose_with_params(default_conf, mocker, caplog) -> None: | CODE |
| LOW | tests/test_configuration.py | 643 | def test_load_config_warn_forcebuy(default_conf, mocker, caplog) -> None: | CODE |
| LOW | tests/test_configuration.py | 793 | def test_validate_ask_orderbook(default_conf, caplog) -> None: | CODE |
| LOW | tests/test_configuration.py | 811 | def test_validate_time_in_force(default_conf, caplog) -> None: | CODE |
| LOW | tests/test_configuration.py | 835 | def test__validate_order_types(default_conf, caplog) -> None: | CODE |
| LOW | tests/test_configuration.py | 872 | def test__validate_unfilledtimeout(default_conf, caplog) -> None: | CODE |
| LOW | tests/test_configuration.py | 898 | def test__validate_pricing_rules(default_conf, caplog) -> None: | CODE |
| LOW | tests/test_configuration.py | 935 | def test__validate_freqai_include_timeframes(default_conf, caplog) -> None: | CODE |
| LOW | tests/test_configuration.py | 1048 | def test__validate_demo_trading(default_conf_usdt) -> None: | CODE |
| LOW | tests/test_configuration.py | 1064 | def test_validate_edge_removal(default_conf): | CODE |
| LOW | tests/test_configuration.py | 1075 | def test_load_config_test_comments() -> None: | CODE |
| LOW | tests/test_configuration.py | 1085 | def test_load_config_default_exchange(all_conf) -> None: | CODE |
| LOW | tests/test_configuration.py | 1098 | def test_load_config_default_exchange_name(all_conf) -> None: | CODE |
| LOW | tests/test_configuration.py | 1111 | def test_load_config_stoploss_exchange_limit_ratio(all_conf) -> None: | CODE |
| LOW | tests/test_configuration.py | 1125 | def test_load_config_default_subkeys(all_conf, base, key, expected) -> None: | CODE |
| 1407 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/strategy/strats/hyperoptable_strategy_v2.py | 0 | strategy used by tests freqtrade bot. please do not modify this strategy, it's intended for internal use only. please lo | STRING |
| HIGH | tests/strategy/strats/hyperoptable_strategy.py | 0 | strategy used by tests freqtrade bot. please do not modify this strategy, it's intended for internal use only. please lo | STRING |
| HIGH | …strategy/strats/strategy_test_v3_custom_entry_price.py | 0 | strategy used by tests freqtrade bot. please do not modify this strategy, it's intended for internal use only. please lo | STRING |
| HIGH | tests/strategy/strats/informative_decorator_strategy.py | 0 | strategy used by tests freqtrade bot. please do not modify this strategy, it's intended for internal use only. please lo | STRING |
| HIGH | …trategy/strats/informative_decorator_strategy_cache.py | 0 | strategy used by tests freqtrade bot. please do not modify this strategy, it's intended for internal use only. please lo | STRING |
| HIGH | tests/strategy/strats/freqai_test_classifier.py | 0 | test strategy - used for testing freqai multimodel functionalities. do not use in production. | STRING |
| HIGH | tests/strategy/strats/freqai_rl_test_strat.py | 0 | test strategy - used for testing freqai multimodel functionalities. do not use in production. | STRING |
| HIGH | tests/strategy/strats/freqai_test_strat.py | 0 | test strategy - used for testing freqai multimodel functionalities. do not use in production. | STRING |
| HIGH | …tegy/strats/freqai_test_multimodel_classifier_strat.py | 0 | test strategy - used for testing freqai multimodel functionalities. do not use in production. | STRING |
| HIGH | tests/strategy/strats/freqai_test_multimodel_strat.py | 0 | test strategy - used for testing freqai multimodel functionalities. do not use in production. | STRING |
| HIGH | tests/strategy/strats/strategy_test_v2.py | 0 | adds several different ta indicators to the given dataframe performance note: for the best performance be frugal on the | STRING |
| HIGH | docs/strategy-customization.md | 0 | adds several different ta indicators to the given dataframe performance note: for the best performance be frugal on the | STRING |
| HIGH | freqtrade/templates/sample_strategy.py | 0 | adds several different ta indicators to the given dataframe performance note: for the best performance be frugal on the | STRING |
| HIGH | tests/strategy/strats/strategy_test_v2.py | 0 | based on ta indicators, populates the exit signal for the given dataframe :param dataframe: dataframe :param metadata: a | STRING |
| HIGH | docs/strategy-customization.md | 0 | based on ta indicators, populates the exit signal for the given dataframe :param dataframe: dataframe :param metadata: a | STRING |
| HIGH | freqtrade/templates/sample_strategy.py | 0 | based on ta indicators, populates the exit signal for the given dataframe :param dataframe: dataframe :param metadata: a | STRING |
| HIGH | freqtrade/strategy/interface.py | 0 | based on ta indicators, populates the exit signal for the given dataframe :param dataframe: dataframe :param metadata: a | STRING |
| HIGH | docs/freqai-configuration.md | 0 | *only functional with freqai enabled strategies* this optional function will be called once with the dataframe of the ba | STRING |
| HIGH | docs/freqai-feature-engineering.md | 0 | *only functional with freqai enabled strategies* this optional function will be called once with the dataframe of the ba | STRING |
| HIGH | docs/strategy_migration.md | 0 | *only functional with freqai enabled strategies* this optional function will be called once with the dataframe of the ba | STRING |
| HIGH | freqtrade/templates/FreqaiExampleStrategy.py | 0 | *only functional with freqai enabled strategies* this optional function will be called once with the dataframe of the ba | STRING |
| HIGH | freqtrade/templates/FreqaiExampleHybridStrategy.py | 0 | *only functional with freqai enabled strategies* this optional function will be called once with the dataframe of the ba | STRING |
| HIGH | freqtrade/strategy/interface.py | 0 | *only functional with freqai enabled strategies* this optional function will be called once with the dataframe of the ba | STRING |
| HIGH | docs/freqai-configuration.md | 0 | user sets up the training and test data to fit their desired model here :param data_dictionary: the dictionary holding a | STRING |
| HIGH | …eqai/prediction_models/LightGBMRegressorMultiTarget.py | 0 | user sets up the training and test data to fit their desired model here :param data_dictionary: the dictionary holding a | STRING |
| HIGH | freqtrade/freqai/prediction_models/XGBoostRegressor.py | 0 | user sets up the training and test data to fit their desired model here :param data_dictionary: the dictionary holding a | STRING |
| HIGH | …qai/prediction_models/LightGBMClassifierMultiTarget.py | 0 | user sets up the training and test data to fit their desired model here :param data_dictionary: the dictionary holding a | STRING |
| HIGH | …qtrade/freqai/prediction_models/XGBoostRFClassifier.py | 0 | user sets up the training and test data to fit their desired model here :param data_dictionary: the dictionary holding a | STRING |
| HIGH | …reqai/prediction_models/XGBoostRegressorMultiTarget.py | 0 | user sets up the training and test data to fit their desired model here :param data_dictionary: the dictionary holding a | STRING |
| HIGH | freqtrade/freqai/prediction_models/XGBoostClassifier.py | 0 | user sets up the training and test data to fit their desired model here :param data_dictionary: the dictionary holding a | STRING |
| HIGH | …eqtrade/freqai/prediction_models/LightGBMClassifier.py | 0 | user sets up the training and test data to fit their desired model here :param data_dictionary: the dictionary holding a | STRING |
| HIGH | …reqai/prediction_models/PyTorchTransformerRegressor.py | 0 | user sets up the training and test data to fit their desired model here :param data_dictionary: the dictionary holding a | STRING |
| HIGH | …eqtrade/freqai/prediction_models/XGBoostRFRegressor.py | 0 | user sets up the training and test data to fit their desired model here :param data_dictionary: the dictionary holding a | STRING |
| HIGH | freqtrade/freqai/prediction_models/LightGBMRegressor.py | 0 | user sets up the training and test data to fit their desired model here :param data_dictionary: the dictionary holding a | STRING |
| HIGH | …qai/prediction_models/SKLearnRandomForestClassifier.py | 0 | user sets up the training and test data to fit their desired model here :param data_dictionary: the dictionary holding a | STRING |
| HIGH | …qtrade/freqai/prediction_models/PyTorchMLPRegressor.py | 0 | user sets up the training and test data to fit their desired model here :param data_dictionary: the dictionary holding a | STRING |
| HIGH | docs/strategy_migration.md | 0 | *only functional with freqai enabled strategies* this function will automatically expand the defined features on the con | STRING |
| HIGH | freqtrade/templates/FreqaiExampleStrategy.py | 0 | *only functional with freqai enabled strategies* this function will automatically expand the defined features on the con | STRING |
| HIGH | freqtrade/templates/FreqaiExampleHybridStrategy.py | 0 | *only functional with freqai enabled strategies* this function will automatically expand the defined features on the con | STRING |
| HIGH | freqtrade/strategy/interface.py | 0 | *only functional with freqai enabled strategies* this function will automatically expand the defined features on the con | STRING |
| HIGH | docs/strategy_migration.md | 0 | *only functional with freqai enabled strategies* this function will automatically expand the defined features on the con | STRING |
| HIGH | freqtrade/templates/FreqaiExampleStrategy.py | 0 | *only functional with freqai enabled strategies* this function will automatically expand the defined features on the con | STRING |
| HIGH | freqtrade/templates/FreqaiExampleHybridStrategy.py | 0 | *only functional with freqai enabled strategies* this function will automatically expand the defined features on the con | STRING |
| HIGH | freqtrade/strategy/interface.py | 0 | *only functional with freqai enabled strategies* this function will automatically expand the defined features on the con | STRING |
| HIGH | docs/strategy_migration.md | 0 | *only functional with freqai enabled strategies* required function to set the targets for the model. all targets must be | STRING |
| HIGH | docs/freqai-reinforcement-learning.md | 0 | *only functional with freqai enabled strategies* required function to set the targets for the model. all targets must be | STRING |
| HIGH | freqtrade/templates/FreqaiExampleStrategy.py | 0 | *only functional with freqai enabled strategies* required function to set the targets for the model. all targets must be | STRING |
| HIGH | freqtrade/templates/FreqaiExampleHybridStrategy.py | 0 | *only functional with freqai enabled strategies* required function to set the targets for the model. all targets must be | STRING |
| HIGH | freqtrade/strategy/interface.py | 0 | *only functional with freqai enabled strategies* required function to set the targets for the model. all targets must be | STRING |
| HIGH | freqtrade/exchange/hitbtc.py | 0 | coinex exchange class. contains adjustments needed for freqtrade to work with this exchange. please note that this excha | STRING |
| HIGH | freqtrade/exchange/kucoin.py | 0 | coinex exchange class. contains adjustments needed for freqtrade to work with this exchange. please note that this excha | STRING |
| HIGH | freqtrade/exchange/bitvavo.py | 0 | coinex exchange class. contains adjustments needed for freqtrade to work with this exchange. please note that this excha | STRING |
| HIGH | freqtrade/exchange/luno.py | 0 | coinex exchange class. contains adjustments needed for freqtrade to work with this exchange. please note that this excha | STRING |
| HIGH | freqtrade/exchange/modetrade.py | 0 | coinex exchange class. contains adjustments needed for freqtrade to work with this exchange. please note that this excha | STRING |
| HIGH | freqtrade/exchange/coinex.py | 0 | coinex exchange class. contains adjustments needed for freqtrade to work with this exchange. please note that this excha | STRING |
| HIGH | freqtrade/exchange/okx.py | 0 | binance exchange class. contains adjustments needed for freqtrade to work with this exchange. | STRING |
| HIGH | freqtrade/exchange/hyperliquid.py | 0 | binance exchange class. contains adjustments needed for freqtrade to work with this exchange. | STRING |
| HIGH | freqtrade/exchange/bybit.py | 0 | binance exchange class. contains adjustments needed for freqtrade to work with this exchange. | STRING |
| HIGH | freqtrade/exchange/kraken.py | 0 | binance exchange class. contains adjustments needed for freqtrade to work with this exchange. | STRING |
| HIGH | freqtrade/exchange/lbank.py | 0 | binance exchange class. contains adjustments needed for freqtrade to work with this exchange. | STRING |
| 130 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | ft_client/freqtrade_client/__init__.py | 1 | CODE | |
| LOW | tests/strategy/strats/failing_strategy.py | 3 | CODE | |
| LOW | freqtrade/constants.py | 11 | CODE | |
| LOW | freqtrade/configuration/__init__.py | 3 | CODE | |
| LOW | freqtrade/configuration/__init__.py | 3 | CODE | |
| LOW | freqtrade/configuration/__init__.py | 4 | CODE | |
| LOW | freqtrade/configuration/__init__.py | 5 | CODE | |
| LOW | freqtrade/configuration/__init__.py | 6 | CODE | |
| LOW | freqtrade/configuration/__init__.py | 7 | CODE | |
| LOW | freqtrade/configuration/__init__.py | 8 | CODE | |
| LOW | freqtrade/ft_types/__init__.py | 2 | CODE | |
| LOW | freqtrade/ft_types/__init__.py | 2 | CODE | |
| LOW | freqtrade/ft_types/__init__.py | 2 | CODE | |
| LOW | freqtrade/ft_types/__init__.py | 2 | CODE | |
| LOW | freqtrade/ft_types/__init__.py | 2 | CODE | |
| LOW | freqtrade/ft_types/__init__.py | 2 | CODE | |
| LOW | freqtrade/ft_types/__init__.py | 10 | CODE | |
| LOW | freqtrade/ft_types/__init__.py | 11 | CODE | |
| LOW | freqtrade/ft_types/__init__.py | 11 | CODE | |
| LOW | freqtrade/exchange/__init__.py | 3 | CODE | |
| LOW | freqtrade/exchange/__init__.py | 4 | CODE | |
| LOW | freqtrade/exchange/__init__.py | 7 | CODE | |
| LOW | freqtrade/exchange/__init__.py | 7 | CODE | |
| LOW | freqtrade/exchange/__init__.py | 7 | CODE | |
| LOW | freqtrade/exchange/__init__.py | 8 | CODE | |
| LOW | freqtrade/exchange/__init__.py | 9 | CODE | |
| LOW | freqtrade/exchange/__init__.py | 10 | CODE | |
| LOW | freqtrade/exchange/__init__.py | 11 | CODE | |
| LOW | freqtrade/exchange/__init__.py | 12 | CODE | |
| LOW | freqtrade/exchange/__init__.py | 12 | CODE | |
| LOW | freqtrade/exchange/__init__.py | 13 | CODE | |
| LOW | freqtrade/exchange/__init__.py | 14 | CODE | |
| LOW | freqtrade/exchange/__init__.py | 15 | CODE | |
| LOW | freqtrade/exchange/__init__.py | 15 | CODE | |
| LOW | freqtrade/exchange/__init__.py | 15 | CODE | |
| LOW | freqtrade/exchange/__init__.py | 15 | CODE | |
| LOW | freqtrade/exchange/__init__.py | 15 | CODE | |
| LOW | freqtrade/exchange/__init__.py | 15 | CODE | |
| LOW | freqtrade/exchange/__init__.py | 15 | CODE | |
| LOW | freqtrade/exchange/__init__.py | 15 | CODE | |
| LOW | freqtrade/exchange/__init__.py | 15 | CODE | |
| LOW | freqtrade/exchange/__init__.py | 15 | CODE | |
| LOW | freqtrade/exchange/__init__.py | 15 | CODE | |
| LOW | freqtrade/exchange/__init__.py | 15 | CODE | |
| LOW | freqtrade/exchange/__init__.py | 15 | CODE | |
| LOW | freqtrade/exchange/__init__.py | 15 | CODE | |
| LOW | freqtrade/exchange/__init__.py | 31 | CODE | |
| LOW | freqtrade/exchange/__init__.py | 31 | CODE | |
| LOW | freqtrade/exchange/__init__.py | 31 | CODE | |
| LOW | freqtrade/exchange/__init__.py | 31 | CODE | |
| LOW | freqtrade/exchange/__init__.py | 31 | CODE | |
| LOW | freqtrade/exchange/__init__.py | 31 | CODE | |
| LOW | freqtrade/exchange/__init__.py | 31 | CODE | |
| LOW | freqtrade/exchange/__init__.py | 40 | CODE | |
| LOW | freqtrade/exchange/__init__.py | 40 | CODE | |
| LOW | freqtrade/exchange/__init__.py | 41 | CODE | |
| LOW | freqtrade/exchange/__init__.py | 42 | CODE | |
| LOW | freqtrade/exchange/__init__.py | 43 | CODE | |
| LOW | freqtrade/exchange/__init__.py | 44 | CODE | |
| LOW | freqtrade/exchange/__init__.py | 45 | CODE | |
| 261 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH⚡ | tests/test_misc.py | 43 | '{"finite":1.23,"numpy_finite":[1.5,2],"nested":[null,[null,null]]}' | CODE |
| HIGH | tests/optimize/test_lookahead_analysis.py | 370 | assert expected_data1.equals(saved_data1) | CODE |
| HIGH | tests/optimize/test_lookahead_analysis.py | 398 | assert expected_data2.equals(saved_data2) | CODE |
| HIGH | tests/optimize/test_lookahead_analysis.py | 428 | assert expected_data3.equals(saved_data3) | CODE |
| HIGH⚡ | tests/optimize/test_hyperopt.py | 713 | '{"params":{"mfi-value":null,"sell-mfi-value":null},"minimal_roi"' | CODE |
| HIGH⚡ | tests/optimize/test_hyperopt.py | 714 | ':{},"stoploss":null,"trailing_stop":null,"max_open_trades":null}' | CODE |
| HIGH | tests/optimize/test_hyperopt.py | 771 | '{"params":{"mfi-value":null,"sell-mfi-value":null},"minimal_roi":{},"stoploss":null}' | CODE |
| HIGH | tests/optimize/test_hyperopt.py | 828 | assert '{"minimal_roi":{},"stoploss":null}' in out | CODE |
| HIGH | tests/plugins/test_pairlist.py | 1297 | assert not df1.equals(df2) | CODE |
| HIGH | tests/freqtradebot/test_stoploss_on_exchange.py | 102 | # should do nothing and return false | COMMENT |
| HIGH⚡ | tests/freqtradebot/test_freqtradebot.py | 4577 | # delta is 100 which is impossible to reach. hence function will return false | COMMENT |
| HIGH | tests/persistence/test_trade_fromjson.py | 66 | "liquidation_price": null, | CODE |
| HIGH | tests/persistence/test_trade_fromjson.py | 74 | "open_order_id": null, | CODE |
| HIGH | tests/data/test_metrics.py | 565 | assert df.equals(df1) | CODE |
| HIGH | tests/data/test_metrics.py | 617 | assert df.equals(df1) | CODE |
| HIGH⚡ | tests/data/test_datahandler.py | 322 | assert df.columns.equals(df1.columns) | CODE |
| HIGH | tests/data/test_datahandler.py | 181 | assert reloaded.equals(loaded) | CODE |
| HIGH | tests/data/test_datahandler.py | 567 | assert ohlcv.equals(ohlcv1) | CODE |
| HIGH⚡ | tests/data/test_btanalysis.py | 101 | assert bt_data.equals(bt_data2) | CODE |
| HIGH⚡ | tests/data/test_btanalysis.py | 105 | assert bt_data.equals(bt_data3) | CODE |
| HIGH⚡ | tests/data/test_btanalysis.py | 124 | assert bt_data.equals(bt_data2) | CODE |
| HIGH⚡ | tests/data/test_converter.py | 366 | assert not data_modify.equals(data) | CODE |
| HIGH⚡ | tests/data/test_converter.py | 376 | assert not data_modify.equals(data) | CODE |
| HIGH⚡ | tests/data/test_converter.py | 386 | assert not data_modify.equals(data) | CODE |
| HIGH⚡ | tests/data/test_converter.py | 396 | assert not data_modify.equals(data) | CODE |
| HIGH⚡ | tests/data/test_converter.py | 410 | assert res.equals(trades_history_df) | CODE |
| HIGH | tests/data/test_converter.py | 207 | assert data.equals(df1) | CODE |
| HIGH | tests/data/test_converter.py | 233 | assert dfs.equals(dfm) | CODE |
| HIGH | tests/data/test_converter.py | 234 | assert dfs.equals(df1) | CODE |
| HIGH | tests/data/test_dataprovider.py | 32 | assert ohlcv_history.equals(dp.ohlcv("UNITTEST/BTC", timeframe, candle_type=candletype)) | CODE |
| HIGH | tests/data/test_dataprovider.py | 144 | assert ohlcv_history.equals( | CODE |
| HIGH | tests/data/test_dataprovider.py | 147 | assert ohlcv_history.equals( | CODE |
| HIGH | tests/data/test_dataprovider.py | 207 | assert funding_history.equals(res) | CODE |
| HIGH | tests/data/test_dataprovider.py | 212 | assert funding_history.equals( | CODE |
| HIGH | tests/data/test_dataprovider.py | 428 | assert ohlcv_history.equals(dataframe) | CODE |
| HIGH | tests/data/test_dataprovider.py | 432 | assert ohlcv_history.equals(dataframe) | CODE |
| HIGH | tests/data/test_history.py | 962 | assert stored_data.equals(expected_result) | CODE |
| HIGH | tests/data/test_history.py | 1040 | assert stored_data.equals(existing_data) | CODE |
| HIGH | tests/strategy/test_interface.py | 361 | assert call_df.equals(expected) | CODE |
| HIGH | freqtrade/exchange/exchange_utils.py | 182 | # true then it's true. If it's undefined, then it's most likely true, but not 100% )" | COMMENT |
| HIGH | …trade/freqai/prediction_models/PyTorchMLPClassifier.py | 33 | "n_epochs": null, | STRING |
| HIGH | …qtrade/freqai/prediction_models/PyTorchMLPRegressor.py | 34 | "n_epochs": null, | STRING |
| HIGH | freqtrade/loggers/ft_rich_handler.py | 33 | # Handles pythonw, where stdout/stderr are null, and we return NullFile | COMMENT |
| HIGH | freqtrade/plugins/pairlist/VolatilityFilter.py | 45 | "either None (undefined), 'asc' or 'desc'" | CODE |
| HIGH | freqtrade/plugins/pairlist/rangestabilityfilter.py | 39 | "either None (undefined), 'asc' or 'desc'" | CODE |
| HIGH | freqtrade/data/metrics.py | 651 | against the null) when it cannot be computed - fewer than two | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | ft_client/freqtrade_client/__init__.py | 37 | __all__ = ["FtRestClient"] | CODE |
| LOW | …ts/freqai/test_models/ReinforcementLearner_test_4ac.py | 9 | logger = logging.getLogger(__name__) | CODE |
| LOW | …ts/freqai/test_models/ReinforcementLearner_test_3ac.py | 9 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/strategy/strats/hyperoptable_strategy.py | 12 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/strategy/strats/freqai_test_classifier.py | 11 | logger = logging.getLogger(__name__) | CODE |
| LOW | …tegy/strats/freqai_test_multimodel_classifier_strat.py | 11 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/strategy/strats/freqai_test_multimodel_strat.py | 10 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/strategy/strats/freqai_rl_test_strat.py | 10 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/strategy/strats/freqai_test_strat.py | 10 | logger = logging.getLogger(__name__) | CODE |
| LOW | freqtrade/worker.py | 23 | logger = logging.getLogger(__name__) | CODE |
| LOW | freqtrade/misc.py | 20 | logger = logging.getLogger(__name__) | CODE |
| LOW | freqtrade/wallets.py | 17 | logger = logging.getLogger(__name__) | CODE |
| LOW | freqtrade/wallets.py | 107 | def _update_dry(self) -> None: | CODE |
| LOW | freqtrade/wallets.py | 187 | def _update_live(self) -> None: | CODE |
| LOW⚡ | freqtrade/freqtradebot.py | 418 | def update_all_liquidation_prices(self) -> None: | CODE |
| LOW | freqtrade/freqtradebot.py | 72 | logger = logging.getLogger(__name__) | CODE |
| LOW | freqtrade/freqtradebot.py | 545 | def update_funding_fees(self) -> None: | CODE |
| LOW | freqtrade/freqtradebot.py | 617 | def update_trades_without_assigned_fees(self) -> None: | CODE |
| LOW | freqtrade/configuration/config_validation.py | 23 | logger = logging.getLogger(__name__) | CODE |
| LOW | freqtrade/configuration/configuration.py | 31 | logger = logging.getLogger(__name__) | CODE |
| LOW | freqtrade/configuration/timerange.py | 15 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | freqtrade/configuration/deploy_config.py | 12 | logger = logging.getLogger(__name__) | CODE |
| LOW | freqtrade/configuration/deprecated_settings.py | 11 | logger = logging.getLogger(__name__) | CODE |
| LOW | freqtrade/configuration/load_config.py | 19 | logger = logging.getLogger(__name__) | CODE |
| LOW | freqtrade/configuration/environment_vars.py | 11 | logger = logging.getLogger(__name__) | CODE |
| LOW | freqtrade/configuration/directory_operations.py | 17 | logger = logging.getLogger(__name__) | CODE |
| LOW | freqtrade/configuration/config_setup.py | 10 | logger = logging.getLogger(__name__) | CODE |
| LOW | freqtrade/exchange/hitbtc.py | 7 | logger = logging.getLogger(__name__) | CODE |
| LOW | freqtrade/exchange/okx.py | 20 | logger = logging.getLogger(__name__) | CODE |
| LOW | freqtrade/exchange/hyperliquid.py | 26 | logger = logging.getLogger(__name__) | CODE |
| LOW | freqtrade/exchange/bybit.py | 16 | logger = logging.getLogger(__name__) | CODE |
| LOW | freqtrade/exchange/kraken.py | 16 | logger = logging.getLogger(__name__) | CODE |
| LOW | freqtrade/exchange/lbank.py | 9 | logger = logging.getLogger(__name__) | CODE |
| LOW | freqtrade/exchange/binance_public_data.py | 24 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | freqtrade/exchange/exchange.py | 369 | def _set_startup_candle_count(self, config: Config) -> None: | CODE |
| LOW | freqtrade/exchange/exchange.py | 116 | logger = logging.getLogger(__name__) | CODE |
| LOW | freqtrade/exchange/exchange_ws.py | 18 | logger = logging.getLogger(__name__) | CODE |
| LOW | freqtrade/exchange/krakenfutures.py | 24 | logger = logging.getLogger(__name__) | CODE |
| LOW | freqtrade/exchange/kucoin.py | 10 | logger = logging.getLogger(__name__) | CODE |
| LOW | freqtrade/exchange/bitvavo.py | 9 | logger = logging.getLogger(__name__) | CODE |
| LOW | freqtrade/exchange/common.py | 12 | logger = logging.getLogger(__name__) | CODE |
| LOW | freqtrade/exchange/bitpanda.py | 9 | logger = logging.getLogger(__name__) | CODE |
| LOW | freqtrade/exchange/check_exchange.py | 10 | logger = logging.getLogger(__name__) | CODE |
| LOW | freqtrade/exchange/cryptocom.py | 9 | logger = logging.getLogger(__name__) | CODE |
| LOW | freqtrade/exchange/bitget.py | 21 | logger = logging.getLogger(__name__) | CODE |
| LOW | freqtrade/exchange/gate.py | 16 | logger = logging.getLogger(__name__) | CODE |
| LOW | freqtrade/exchange/luno.py | 7 | logger = logging.getLogger(__name__) | CODE |
| LOW | freqtrade/exchange/htx.py | 10 | logger = logging.getLogger(__name__) | CODE |
| LOW | freqtrade/exchange/modetrade.py | 8 | logger = logging.getLogger(__name__) | CODE |
| LOW | freqtrade/exchange/coinex.py | 7 | logger = logging.getLogger(__name__) | CODE |
| LOW | freqtrade/exchange/bingx.py | 9 | logger = logging.getLogger(__name__) | CODE |
| LOW | freqtrade/exchange/idex.py | 9 | logger = logging.getLogger(__name__) | CODE |
| LOW | freqtrade/exchange/binance.py | 27 | logger = logging.getLogger(__name__) | CODE |
| LOW | freqtrade/freqai/data_kitchen.py | 30 | logger = logging.getLogger(__name__) | CODE |
| LOW | freqtrade/freqai/data_kitchen.py | 592 | def set_all_pairs(self) -> None: | CODE |
| LOW | freqtrade/freqai/utils.py | 21 | logger = logging.getLogger(__name__) | CODE |
| LOW | freqtrade/freqai/freqai_interface.py | 33 | logger = logging.getLogger(__name__) | CODE |
| LOW | freqtrade/freqai/freqai_interface.py | 614 | def set_full_path(self) -> None: | CODE |
| LOW | freqtrade/freqai/data_drawer.py | 31 | logger = logging.getLogger(__name__) | CODE |
| LOW | freqtrade/freqai/data_drawer.py | 110 | def update_metric_tracker(self, metric: str, value: float, pair: str) -> None: | CODE |
| 162 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | ft_client/freqtrade_client/__init__.py | 34 | except Exception: # noqa: S110 | CODE |
| HIGH | tests/conftest.py | 524 | except ModuleNotFoundError: | CODE |
| HIGH | tests/test_configuration.py | 639 | except Exception: | CODE |
| HIGH | tests/optimize/test_hyperopt.py | 267 | except Exception: | CODE |
| HIGH | freqtrade/__init__.py | 33 | except Exception: # noqa: S110 | CODE |
| HIGH | freqtrade/configuration/configuration.py | 290 | except ValueError: | CODE |
| HIGH | freqtrade/configuration/environment_vars.py | 31 | except rapidjson.JSONDecodeError: | CODE |
| HIGH | freqtrade/exchange/okx.py | 230 | except (ccxt.OrderNotFound, ccxt.InvalidOrder): | CODE |
| HIGH | freqtrade/exchange/okx.py | 256 | except (ccxt.OrderNotFound, ccxt.InvalidOrder): | CODE |
| HIGH | freqtrade/exchange/exchange.py | 1374 | except IndexError: | CODE |
| HIGH | freqtrade/exchange/exchange.py | 3693 | except (NotImplementedError, RuntimeError): | CODE |
| HIGH | freqtrade/exchange/krakenfutures.py | 218 | except ccxt.OrderNotFound: | CODE |
| HIGH | freqtrade/exchange/krakenfutures.py | 226 | except (ccxt.OperationFailed, ccxt.ExchangeError): | CODE |
| HIGH | freqtrade/exchange/bitget.py | 127 | except (ccxt.OrderNotFound, ccxt.InvalidOrder): | CODE |
| HIGH | freqtrade/loggers/ft_rich_handler.py | 45 | except ImportError: | CODE |
| HIGH | freqtrade/optimize/hyperopt/hyperopt_logger.py | 50 | except Empty: | CODE |
| HIGH | freqtrade/optimize/hyperopt/hyperopt_output.py | 74 | except OSError: | CODE |
| HIGH | freqtrade/plot/plotting.py | 499 | except KeyError: | CODE |
| HIGH | freqtrade/plot/plotting.py | 596 | except ValueError: | CODE |
| HIGH | freqtrade/resolvers/exchange_resolver.py | 82 | except AttributeError: | CODE |
| HIGH | freqtrade/system/set_mp_start_method.py | 13 | except RuntimeError: | CODE |
| HIGH | freqtrade/rpc/telegram.py | 1198 | except (TypeError, ValueError, IndexError): | CODE |
| HIGH | freqtrade/rpc/rpc.py | 693 | except ValueError: | CODE |
| HIGH | freqtrade/rpc/rpc.py | 1272 | except ExchangeError: | CODE |
| HIGH | freqtrade/rpc/rpc.py | 1284 | except ExchangeError: | CODE |
| HIGH | freqtrade/rpc/external_message_consumer.py | 163 | except asyncio.CancelledError: | CODE |
| HIGH | freqtrade/rpc/external_message_consumer.py | 179 | except asyncio.CancelledError: | CODE |
| HIGH | freqtrade/rpc/api_server/api_backtest.py | 175 | except ValueError: | CODE |
| HIGH | freqtrade/rpc/api_server/api_auth.py | 82 | except HTTPException: | CODE |
| HIGH | freqtrade/rpc/api_server/ws/proxy.py | 66 | except (RuntimeError, WebSocketDisconnect, ConnectionClosed): | CODE |
| HIGH | freqtrade/rpc/api_server/ws/channel.py | 146 | except RuntimeError: | CODE |
| HIGH | freqtrade/rpc/api_server/ws/channel.py | 203 | except ( | CODE |
| HIGH | freqtrade/rpc/api_server/ws/message_stream.py | 31 | except RuntimeError: | CODE |
| HIGH | freqtrade/data/btanalysis/bt_fileutils.py | 330 | except ValueError: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/conftest.py | 3197 | "minNotional": 0, # stake(before leverage) = 0 | CODE |
| MEDIUM | tests/conftest.py | 3198 | "maxNotional": 100000, # max stake(before leverage) = 5000 | CODE |
| MEDIUM | tests/exchange/test_exchange.py | 6802 | # limit leverage tiers | COMMENT |
| MEDIUM⚡ | tests/exchange/test_binance.py | 684 | # Assert if conftest leverage tiers have less or equal tiers than the exchange | COMMENT |
| MEDIUM | tests/optimize/test_backtesting.py | 632 | # leverage = 5 | COMMENT |
| MEDIUM | tests/optimize/test_backtest_detail.py | 567 | # Test 27: (copy of test26 with leverage) | COMMENT |
| MEDIUM | tests/optimize/test_backtest_detail.py | 589 | # Test 28: (copy of test26 with leverage and as short) | COMMENT |
| MEDIUM | tests/freqtradebot/test_freqtradebot.py | 1118 | # leverage=1.0, open_rate=10.00000000, open_since=...) | COMMENT |
| MEDIUM | tests/freqtradebot/test_freqtradebot.py | 1120 | # leverage=3.0, open_rate=10.00000000, open_since=...) | COMMENT |
| MEDIUM⚡ | tests/freqtradebot/test_liquidation_warning.py | 375 | """Warns at any leverage - a plain price distance would not.""" | STRING |
| MEDIUM⚡ | tests/freqtradebot/test_liquidation_warning.py | 384 | # A freshly opened position never warns, no matter the leverage - even though the stop | COMMENT |
| MEDIUM⚡ | tests/freqtradebot/test_liquidation_warning.py | 385 | # (0.5% maintenance margin plus the 5% buffer) sits closer than 1/leverage, so what's | COMMENT |
| MEDIUM | tests/persistence/test_persistence.py | 799 | # 10 minute limit trade on Binance/Kraken at 1x, 3x leverage | COMMENT |
| MEDIUM | tests/strategy/strats/strategy_test_v3.py | 192 | # Bot-logic must make sure it's an allowed leverage and eventually adjust accordingly. | COMMENT |
| MEDIUM⚡ | freqtrade/freqtradebot.py | 1341 | # Cap leverage between 1.0 and max_leverage. | COMMENT |
| MEDIUM⚡ | freqtrade/freqtradebot.py | 1344 | # Changing leverage currently not possible | COMMENT |
| MEDIUM⚡ | freqtrade/freqtradebot.py | 1349 | # We do however also need min-stake to determine leverage, therefore this is ignored as | COMMENT |
| MEDIUM | freqtrade/freqtradebot.py | 460 | # so the same setting means the same thing at any leverage. | COMMENT |
| MEDIUM | freqtrade/freqtradebot.py | 2151 | # Filled val is in quote currency (after leverage) | COMMENT |
| MEDIUM⚡ | freqtrade/exchange/hyperliquid.py | 215 | # There are no leverage tiers | COMMENT |
| MEDIUM⚡ | freqtrade/exchange/hyperliquid.py | 223 | # Hyperliquid expects leverage to be an int | COMMENT |
| MEDIUM⚡ | freqtrade/exchange/hyperliquid.py | 225 | # Hyperliquid needs the parameter leverage. | COMMENT |
| MEDIUM⚡ | freqtrade/exchange/hyperliquid.py | 263 | # Docs: The maintenance margin is half of the initial margin at max leverage, | COMMENT |
| MEDIUM⚡ | freqtrade/exchange/hyperliquid.py | 265 | # (for 50x max leverage assets) and 16.7% (for 3x max leverage assets) | COMMENT |
| MEDIUM⚡ | freqtrade/exchange/hyperliquid.py | 267 | # The key thing here is 'Half of the initial margin at max leverage'. | COMMENT |
| MEDIUM⚡ | freqtrade/exchange/hyperliquid.py | 270 | # 2. Assume max leverage, calculate the initial margin by dividing the position value | COMMENT |
| MEDIUM⚡ | freqtrade/exchange/hyperliquid.py | 271 | # by the max leverage | COMMENT |
| MEDIUM⚡ | freqtrade/exchange/hyperliquid.py | 284 | # Docs: The maintenance margin is half of the initial margin at max leverage | COMMENT |
| MEDIUM⚡ | freqtrade/exchange/hyperliquid.py | 285 | # The docs don't explicitly specify maintenance leverage, but this works. | COMMENT |
| MEDIUM⚡ | freqtrade/exchange/hyperliquid.py | 286 | # Double because of the statement 'half of the initial margin at max leverage' | COMMENT |
| MEDIUM | freqtrade/exchange/exchange.py | 3762 | # Fetch all leverage tiers at once | COMMENT |
| MEDIUM | freqtrade/exchange/exchange.py | 3765 | # Must fetch the leverage tiers for each market separately | COMMENT |
| MEDIUM | freqtrade/exchange/exchange.py | 3905 | # Adjust notional by leverage to do a proper comparison | COMMENT |
| MEDIUM | freqtrade/exchange/exchange.py | 3940 | return 1.0 # Default if max leverage cannot be found | CODE |
| MEDIUM | freqtrade/freqai/freqai_interface.py | 295 | # Loop enforcing the sliding window training/backtesting paradigm | COMMENT |
| MEDIUM | freqtrade/optimize/backtesting.py | 1083 | # Cap leverage between 1.0 and max_leverage. | COMMENT |
| MEDIUM | freqtrade/persistence/trade_model.py | 1330 | # Leverage not updated, as we don't allow changing leverage through DCA at the moment. | COMMENT |
| MEDIUM | freqtrade/persistence/trade_model.py | 492 | """Returns true if this is a non-leverage, non-short trade""" | STRING |
| MEDIUM | freqtrade/persistence/wallet_history.py | 33 | # Total position value in `quote_currency` - including leverage | COMMENT |
| MEDIUM | freqtrade/rpc/rpc_types.py | 59 | # position's margin (10% at 10x leverage). About 1.0 when freshly opened, 0.0 at the stop. | COMMENT |
| MEDIUM | freqtrade/rpc/rpc.py | 912 | # est_stake = rate * pos.position - pos.collateral * (pos.leverage - 1) | COMMENT |
| MEDIUM | freqtrade/rpc/rpc.py | 915 | # = collateral + (pos.collateral * pos.leverage) | COMMENT |
| MEDIUM | freqtrade/rpc/api_server/api_v1.py | 47 | # 2.17: Forceentry - leverage, partial force_exit | COMMENT |
| MEDIUM | freqtrade/strategy/interface.py | 67 | # Version 3 - First version with short and leverage support | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/conftest.py | 172 | CODE | |
| LOW | tests/optimize/test_backtesting.py | 2620 | CODE | |
| LOW | tests/plugins/test_pairlist.py | 770 | CODE | |
| LOW | tests/plugins/test_pairlist.py | 1022 | CODE | |
| LOW | tests/exchange_online/test_ccxt_compat.py | 133 | CODE | |
| LOW | tests/exchange_online/test_ccxt_compat.py | 216 | CODE | |
| LOW | tests/rpc/test_rpc_apiserver.py | 998 | CODE | |
| LOW | tests/strategy/test_strategy_helpers.py | 260 | CODE | |
| LOW | scripts/ws_client.py | 197 | CODE | |
| LOW | freqtrade/freqtradebot.py | 94 | CODE | |
| LOW | freqtrade/freqtradebot.py | 617 | CODE | |
| LOW | freqtrade/freqtradebot.py | 684 | CODE | |
| LOW | freqtrade/freqtradebot.py | 794 | CODE | |
| LOW | freqtrade/freqtradebot.py | 1483 | CODE | |
| LOW | freqtrade/freqtradebot.py | 1769 | CODE | |
| LOW | freqtrade/freqtradebot.py | 1972 | CODE | |
| LOW | freqtrade/freqtradebot.py | 2561 | CODE | |
| LOW | freqtrade/configuration/config_validation.py | 295 | CODE | |
| LOW | freqtrade/configuration/configuration.py | 189 | CODE | |
| LOW | freqtrade/configuration/environment_vars.py | 14 | CODE | |
| LOW | freqtrade/exchange/hyperliquid.py | 165 | CODE | |
| LOW | freqtrade/exchange/binance_public_data.py | 106 | CODE | |
| LOW | freqtrade/exchange/binance_public_data.py | 230 | CODE | |
| LOW | freqtrade/exchange/binance_public_data.py | 386 | CODE | |
| LOW | freqtrade/exchange/binance_public_data.py | 440 | CODE | |
| LOW | freqtrade/exchange/exchange.py | 698 | CODE | |
| LOW | freqtrade/exchange/exchange.py | 1304 | CODE | |
| LOW | freqtrade/exchange/exchange.py | 2173 | CODE | |
| LOW | freqtrade/exchange/exchange.py | 2595 | CODE | |
| LOW | freqtrade/exchange/exchange.py | 2698 | CODE | |
| LOW | freqtrade/exchange/exchange.py | 3140 | CODE | |
| LOW | freqtrade/exchange/exchange.py | 3332 | CODE | |
| LOW | freqtrade/exchange/exchange.py | 3541 | CODE | |
| LOW | freqtrade/exchange/exchange.py | 3595 | CODE | |
| LOW | freqtrade/exchange/exchange.py | 3759 | CODE | |
| LOW | freqtrade/exchange/exchange.py | 3829 | CODE | |
| LOW | freqtrade/exchange/exchange_ws.py | 239 | CODE | |
| LOW | freqtrade/exchange/krakenfutures.py | 61 | CODE | |
| LOW | freqtrade/exchange/krakenfutures.py | 151 | CODE | |
| LOW | freqtrade/exchange/exchange_utils.py | 305 | CODE | |
| LOW | freqtrade/exchange/common.py | 123 | CODE | |
| LOW | freqtrade/exchange/common.py | 124 | CODE | |
| LOW | freqtrade/exchange/bitget.py | 106 | CODE | |
| LOW | freqtrade/exchange/gate.py | 109 | CODE | |
| LOW | freqtrade/exchange/binance.py | 413 | CODE | |
| LOW | freqtrade/freqai/freqai_interface.py | 272 | CODE | |
| LOW | freqtrade/freqai/freqai_interface.py | 895 | CODE | |
| LOW | freqtrade/freqai/data_drawer.py | 549 | CODE | |
| LOW | freqtrade/freqai/data_drawer.py | 675 | CODE | |
| LOW | freqtrade/freqai/data_drawer.py | 739 | CODE | |
| LOW | freqtrade/freqai/data_drawer.py | 814 | CODE | |
| LOW | freqtrade/freqai/torch/PyTorchModelTrainer.py | 71 | CODE | |
| LOW | freqtrade/freqai/RL/Base5ActionRLEnv.py | 32 | CODE | |
| LOW | freqtrade/freqai/RL/Base3ActionRLEnv.py | 30 | CODE | |
| LOW | freqtrade/freqai/RL/Base4ActionRLEnv.py | 31 | CODE | |
| LOW | freqtrade/loggers/__init__.py | 126 | CODE | |
| LOW | freqtrade/optimize/backtesting.py | 518 | CODE | |
| LOW | freqtrade/optimize/backtesting.py | 854 | CODE | |
| LOW | freqtrade/optimize/backtesting.py | 1639 | CODE | |
| LOW | freqtrade/optimize/backtesting.py | 1763 | CODE | |
| 63 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/test_misc.py | 90 | # Create a temporary directory and file | COMMENT |
| MEDIUM | tests/test_wallets.py | 662 | # Create a trade and verify the new currency is added to the wallets | COMMENT |
| MEDIUM | tests/util/test_historic_wallets_migration.py | 262 | # Create a trade with a pair that won't be in markets | COMMENT |
| MEDIUM | tests/util/test_historic_wallets_migration.py | 293 | # Create a trade | COMMENT |
| MEDIUM | tests/util/test_historic_wallets_migration.py | 353 | # Create a trade | COMMENT |
| MEDIUM | tests/util/test_historic_wallets_migration.py | 395 | # Create a trade | COMMENT |
| MEDIUM | tests/persistence/test_persistence.py | 2144 | # Create an order with no filled amount | COMMENT |
| MEDIUM | tests/persistence/test_persistence.py | 2171 | # Create an order with filled amount but wrong status | COMMENT |
| MEDIUM | tests/rpc/test_rpc_apiserver.py | 3462 | # Create a temporary directory and file | COMMENT |
| MEDIUM | tests/rpc/test_rpc_apiserver.py | 3493 | # Create a temporary directory and file | COMMENT |
| MEDIUM | tests/rpc/test_rpc_apiserver.py | 3582 | # Create a temporary directory and file | COMMENT |
| MEDIUM | tests/rpc/test_rpc_apiserver.py | 3620 | # Create a temporary directory and file | COMMENT |
| MEDIUM | tests/rpc/test_rpc.py | 866 | # Create a short and a long position wallet directly to avoid depending on position parsing | COMMENT |
| MEDIUM | tests/data/test_converter_orderflow.py | 91 | # Define the configuration for order flow calculation | COMMENT |
| MEDIUM | tests/data/test_converter_orderflow.py | 320 | # Define the bin size for the first test | COMMENT |
| MEDIUM | tests/data/test_converter_orderflow.py | 576 | # Create a sample DataFrame with known imbalances | COMMENT |
| MEDIUM | tests/data/test_trade_parallelism.py | 30 | # Create a minimal trades DataFrame with 4 trades over time | COMMENT |
| MEDIUM | tests/data/test_history.py | 463 | # Create the Json file | COMMENT |
| MEDIUM | freqtrade/exchange/exchange.py | 278 | # Initialize ccxt objects | COMMENT |
| MEDIUM | freqtrade/freqai/torch/PyTorchTransformerModel.py | 43 | # Define the encoder block of the Transformer | COMMENT |
| MEDIUM | freqtrade/optimize/backtesting.py | 550 | # Create a copy of the dataframe before shifting, that way the entry signal/tag | COMMENT |
| MEDIUM | freqtrade/optimize/analysis/lookahead_helpers.py | 104 | # Create a new empty DataFrame with the desired column names and set the index | COMMENT |
| MEDIUM | …ptimize/hyperopt_loss/hyperopt_loss_short_trade_dur.py | 55 | # Create an alias for This to allow the legacy Method to work as well. | COMMENT |
| MEDIUM | freqtrade/plot/plotting.py | 462 | # Define the graph | COMMENT |
| MEDIUM | freqtrade/plot/plotting.py | 705 | # Create an average close price of all the pairs that were involved. | COMMENT |
| MEDIUM⚡ | freqtrade/templates/sample_strategy.py | 39 | # This class is a sample. Feel free to customize it. | COMMENT |
| MEDIUM | freqtrade/commands/optimize_commands.py | 59 | # Initialize backtesting object | COMMENT |
| MEDIUM | freqtrade/commands/optimize_commands.py | 109 | # Initialize backtesting object | COMMENT |
| MEDIUM | freqtrade/rpc/external_message_consumer.py | 156 | # Create a connection to each producer | COMMENT |
| MEDIUM | freqtrade/rpc/external_message_consumer.py | 204 | # Create the message stream for this channel | COMMENT |
| MEDIUM | freqtrade/rpc/api_server/api_backtest.py | 182 | # Initialize backtesting object | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | setup.sh | 284 | # Verify if 3.12+ is installed | COMMENT |
| LOW | tests/test_pip_audit.py | 60 | # Check if pip-audit found any vulnerabilities | COMMENT |
| LOW | tests/test_pip_audit.py | 65 | # Check if it's an actual vulnerability vs an error | COMMENT |
| LOW | tests/optimize/test_hyperopt.py | 495 | # Check if some indicators are generated. We will not test all of them | COMMENT |
| LOW | tests/plugins/test_pairlist.py | 812 | # Set whitelist_result to None if pairlist is invalid and should produce exception | COMMENT |
| LOW | tests/plugins/test_pairlist.py | 2454 | # Set max_open_trades to 4, the filter should empty the whitelist | COMMENT |
| LOW | tests/plugins/test_pairlist.py | 2474 | # Set max_open_trades to 3, the filter should empty the whitelist | COMMENT |
| LOW | tests/exchange_online/conftest.py | 787 | # Set proxy to test in CI. | COMMENT |
| LOW | tests/exchange_online/test_ccxt_compat.py | 272 | # Check if last-timeframe is within the last 2 intervals | COMMENT |
| LOW | tests/exchange_online/test_ccxt_compat.py | 290 | # Check if last-timeframe is within the last 2 intervals | COMMENT |
| LOW | tests/exchange_online/test_ccxt_compat.py | 332 | # Check if first-timeframe is either the start, or start + 1 | COMMENT |
| LOW | tests/persistence/test_migrations.py | 26 | # Check if init create a session | COMMENT |
| LOW | freqtrade/freqtradebot.py | 351 | # Check if we need to adjust our current positions before attempting to enter new trades. | COMMENT |
| LOW | freqtrade/freqtradebot.py | 1516 | # Check if we can exit our current position for this trade | COMMENT |
| LOW | freqtrade/freqtradebot.py | 1878 | # Check if new candle | COMMENT |
| LOW | freqtrade/configuration/configuration.py | 114 | # Check if the exchange set by the user is supported | COMMENT |
| LOW | freqtrade/configuration/environment_vars.py | 56 | # Check if any ccxt config key is in the key parts | COMMENT |
| LOW | freqtrade/exchange/bybit.py | 267 | # Set acknowledged to True to avoid ccxt exception | COMMENT |
| LOW⚡ | freqtrade/exchange/exchange.py | 376 | # Check if timeframe is available | COMMENT |
| LOW⚡ | freqtrade/exchange/exchange.py | 379 | # Check if all pairs are available | COMMENT |
| LOW | freqtrade/exchange/exchange.py | 781 | # Set markets to avoid reloading on websocket api | COMMENT |
| LOW | freqtrade/exchange/exchange.py | 1621 | # Verify if stopPrice works for your exchange, else configure stop_price_param | COMMENT |
| LOW | freqtrade/exchange/exchange.py | 2350 | # Check if cache has been invalidated | COMMENT |
| LOW | freqtrade/exchange/exchange.py | 2816 | # Check if 1 call can get us updated candles without hole in the data. | COMMENT |
| LOW | freqtrade/exchange/exchange_ws.py | 162 | # Check if they're already scheduled | COMMENT |
| LOW | freqtrade/exchange/common.py | 126 | kucoin = args[0].name == "KuCoin" # Check if the exchange is KuCoin. | CODE |
| LOW | freqtrade/loggers/__init__.py | 148 | # Check if we have the module available | COMMENT |
| LOW | freqtrade/optimize/backtesting.py | 344 | # Set stoploss_on_exchange to false for backtesting, | COMMENT |
| LOW | freqtrade/optimize/backtesting.py | 648 | # Set close_rate to stoploss | COMMENT |
| LOW | freqtrade/optimize/backtesting.py | 739 | # Check if we should increase our position | COMMENT |
| LOW | freqtrade/optimize/backtesting.py | 985 | # Check if we need to adjust our current positions | COMMENT |
| LOW | freqtrade/optimize/optimize_reports/bt_output.py | 565 | # Print results | COMMENT |
| LOW | …ptimize/hyperopt_loss/hyperopt_loss_short_trade_dur.py | 14 | # Set TARGET_TRADES to suit your number concurrent trades so its realistic | COMMENT |
| LOW | freqtrade/optimize/hyperopt/hyperopt_interface.py | 39 | # Assign timeframe to be used in hyperopt | COMMENT |
| LOW | freqtrade/plot/plotting.py | 58 | # Set timerange to use | COMMENT |
| LOW | freqtrade/plugins/pairlist/IPairList.py | 385 | # Check if market is active | COMMENT |
| LOW | freqtrade/plugins/pairlist/CrossMarketPairList.py | 82 | # Check if pair quote currency equals to the stake currency. | COMMENT |
| LOW | freqtrade/plugins/pairlist/VolumePairList.py | 146 | # Check if pair quote currency equals to the stake currency. | COMMENT |
| LOW | freqtrade/plugins/pairlist/PercentChangePairList.py | 142 | # Check if pair quote currency equals to the stake currency. | COMMENT |
| LOW | freqtrade/plugins/pairlist/MarketCapPairList.py | 146 | # Check if pair quote currency equals to the stake currency. | COMMENT |
| LOW | freqtrade/resolvers/strategy_resolver.py | 56 | # Check if we need to override configuration | COMMENT |
| LOW | freqtrade/resolvers/hyperopt_resolver.py | 47 | # Assign timeframe to be used in hyperopt | COMMENT |
| LOW | freqtrade/persistence/migrations.py | 431 | # Check if migration necessary | STRING |
| LOW | freqtrade/rpc/telegram.py | 799 | # Check if there's at least one numerical ID provided. | COMMENT |
| LOW | freqtrade/rpc/rpc.py | 1037 | # Check if there is there are open orders | COMMENT |
| LOW | freqtrade/rpc/rpc.py | 1153 | # Check if pair quote currency equals to the stake currency. | COMMENT |
| LOW | freqtrade/rpc/fiat_convert.py | 134 | # Check if the fiat conversion you want is supported | COMMENT |
| LOW | freqtrade/rpc/fiat_convert.py | 164 | # Check if the fiat conversion you want is supported | COMMENT |
| LOW | freqtrade/rpc/api_server/api_auth.py | 64 | # Check if ws_token is/in secret_ws_token | COMMENT |
| LOW | freqtrade/rpc/api_server/api_auth.py | 77 | # Check if ws_token is a JWT | COMMENT |
| LOW⚡ | freqtrade/data/converter/orderflow.py | 28 | # Set columns to object type | COMMENT |
| LOW | freqtrade/data/converter/orderflow.py | 124 | # Check if the trades are already in the cache | COMMENT |
| LOW | freqtrade/data/history/datahandlers/idatahandler.py | 264 | # Check if regex found something and only return these results to avoid exceptions. | COMMENT |
| LOW | freqtrade/strategy/interface.py | 1309 | # Check if dataframe is out of date | COMMENT |
| LOW | freqtrade/strategy/interface.py | 1726 | # Check if time matches and current rate is above threshold | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | ft_client/freqtrade_client/ft_client.py | 116 | except Exception as e: | CODE |
| LOW⚡ | ft_client/freqtrade_client/__init__.py | 27 | except Exception: # pragma: no cover | CODE |
| LOW⚡ | ft_client/freqtrade_client/__init__.py | 34 | except Exception: # noqa: S110 | CODE |
| LOW | tests/conftest.py | 88 | except Exception as e: | CODE |
| LOW | tests/test_configuration.py | 639 | except Exception: | CODE |
| LOW | tests/optimize/test_hyperopt.py | 267 | except Exception: | CODE |
| LOW | docs/strategy-callbacks.md | 1053 | except Exception as exception: | CODE |
| LOW | scripts/ws_client.py | 273 | except Exception as e: | CODE |
| LOW | freqtrade/wallets.py | 536 | except Exception as e: | CODE |
| LOW | freqtrade/freqtradebot.py | 216 | except Exception as e: | CODE |
| LOW | freqtrade/freqtradebot.py | 243 | except Exception as e: | CODE |
| LOW | freqtrade/freqtradebot.py | 259 | except Exception: | CODE |
| LOW | freqtrade/freqtradebot.py | 784 | except Exception: | CODE |
| LOW | freqtrade/__init__.py | 26 | except Exception: # pragma: no cover | CODE |
| LOW | freqtrade/__init__.py | 33 | except Exception: # noqa: S110 | CODE |
| LOW | freqtrade/main.py | 75 | except Exception: | CODE |
| LOW⚡ | freqtrade/configuration/deploy_config.py | 19 | except Exception: | CODE |
| LOW⚡ | freqtrade/configuration/deploy_config.py | 27 | except Exception: | CODE |
| MEDIUM | freqtrade/configuration/deploy_config.py | 15 | def validate_is_int(val): | CODE |
| MEDIUM | freqtrade/configuration/deploy_config.py | 23 | def validate_is_float(val): | CODE |
| LOW | freqtrade/configuration/directory_operations.py | 43 | except Exception: | CODE |
| LOW | freqtrade/exchange/hyperliquid.py | 192 | except Exception as e: | CODE |
| LOW⚡ | freqtrade/exchange/hyperliquid.py | 208 | except Exception as e: | CODE |
| LOW | freqtrade/exchange/binance_public_data.py | 84 | except Exception as e: | CODE |
| LOW | freqtrade/exchange/binance_public_data.py | 161 | except Exception as e: | CODE |
| LOW | freqtrade/exchange/binance_public_data.py | 297 | except Exception as e: | CODE |
| LOW | freqtrade/exchange/binance_public_data.py | 328 | except Exception as e: | CODE |
| LOW | freqtrade/exchange/binance_public_data.py | 432 | except Exception as e: | CODE |
| LOW | freqtrade/exchange/binance_public_data.py | 492 | except Exception as e: | CODE |
| LOW | freqtrade/exchange/exchange.py | 341 | except Exception as e: | CODE |
| LOW | freqtrade/exchange/exchange.py | 3393 | except Exception: | CODE |
| LOW | freqtrade/exchange/exchange.py | 3850 | except Exception: | CODE |
| LOW | freqtrade/exchange/exchange_ws.py | 91 | except Exception: | CODE |
| LOW | freqtrade/exchange/exchange_ws.py | 100 | except Exception: | CODE |
| LOW | freqtrade/exchange/exchange_ws.py | 210 | except Exception: | CODE |
| LOW | freqtrade/exchange/exchange_ws.py | 225 | except Exception: | CODE |
| MEDIUM | freqtrade/exchange/exchange_ws.py | 94 | def _cleanup_async(self) -> None: | CODE |
| LOW | freqtrade/freqai/freqai_interface.py | 257 | except Exception as msg: | CODE |
| LOW | freqtrade/freqai/freqai_interface.py | 375 | except Exception as msg: | CODE |
| LOW | freqtrade/loggers/ft_rich_handler.py | 48 | except Exception: | CODE |
| MEDIUM | freqtrade/loggers/ft_rich_handler.py | 19 | def emit(self, record): | CODE |
| LOW | freqtrade/loggers/std_err_stream_handler.py | 25 | except Exception: | CODE |
| MEDIUM | freqtrade/loggers/std_err_stream_handler.py | 17 | def emit(self, record): | CODE |
| LOW | freqtrade/util/ft_scheduler.py | 22 | except Exception: | CODE |
| LOW | freqtrade/plugins/pairlist/RemotePairList.py | 178 | except Exception as e: | CODE |
| LOW | freqtrade/plugins/pairlist/RemotePairList.py | 232 | except Exception as e: | CODE |
| LOW | freqtrade/plugins/pairlist/RemotePairList.py | 273 | except Exception as e: | CODE |
| LOW | freqtrade/commands/list_commands.py | 278 | except Exception as e: | CODE |
| LOW | freqtrade/rpc/telegram.py | 360 | except Exception as ex: | CODE |
| LOW | freqtrade/rpc/fiat_convert.py | 74 | except Exception as exception: | CODE |
| LOW | freqtrade/rpc/fiat_convert.py | 187 | except Exception as exception: | CODE |
| MEDIUM | freqtrade/rpc/fiat_convert.py | 57 | def _load_cryptomap(self) -> None: | CODE |
| LOW | freqtrade/rpc/external_message_consumer.py | 234 | except Exception as e: | CODE |
| LOW | freqtrade/rpc/external_message_consumer.py | 270 | except Exception as e: | CODE |
| LOW | freqtrade/rpc/external_message_consumer.py | 283 | except Exception as e: | CODE |
| LOW | freqtrade/rpc/rpc_manager.py | 97 | except Exception: | CODE |
| LOW | freqtrade/rpc/api_server/webserver.py | 344 | except Exception: | CODE |
| LOW | freqtrade/rpc/api_server/api_pair_history.py | 46 | except Exception as e: | CODE |
| LOW | freqtrade/rpc/api_server/api_pair_history.py | 79 | except Exception as e: | CODE |
| LOW | freqtrade/rpc/api_server/api_v1.py | 133 | except Exception as e: | CODE |
| 15 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/strategy/strats/strategy_test_v2.py | 75 | # ------------------------------------ | COMMENT |
| MEDIUM | tests/strategy/strats/strategy_test_v3.py | 105 | # ------------------------------------ | COMMENT |
| MEDIUM | docs/includes/strategy-imports.md | 41 | # -------------------------------- | COMMENT |
| MEDIUM | scripts/ws_client.py | 27 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/ws_client.py | 88 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/ws_client.py | 120 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/ws_client.py | 282 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | freqtrade/templates/sample_strategy.py | 33 | # -------------------------------- | COMMENT |
| MEDIUM | freqtrade/templates/sample_strategy.py | 159 | # ------------------------------------ | COMMENT |
| MEDIUM | freqtrade/templates/sample_strategy.py | 240 | # ------------------------------------ | COMMENT |
| MEDIUM | freqtrade/templates/sample_strategy.py | 293 | # ------------------------------------ | COMMENT |
| MEDIUM | freqtrade/templates/sample_strategy.py | 300 | # ------------------------------------ | COMMENT |
| MEDIUM | freqtrade/templates/sample_strategy.py | 315 | # ------------------------------------ | COMMENT |
| MEDIUM | freqtrade/templates/sample_strategy.py | 330 | # ------------------------------------ | COMMENT |
| MEDIUM | freqtrade/templates/sample_strategy.py | 345 | # # ------------------------------------ | COMMENT |
| MEDIUM | freqtrade/templates/sample_strategy.py | 354 | # ------------------------------------ | COMMENT |
| MEDIUM | freqtrade/rpc/api_server/ws_schemas.py | 73 | # -------------------------------------------------------------------------- | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docker-compose.yml | 1 | --- | COMMENT |
| LOW | docker/docker-compose-freqai.yml | 1 | --- | COMMENT |
| LOW | tests/exchange/test_exchange.py | 5241 | # 'BTT/BTC': 'active': True | COMMENT |
| LOW | tests/exchange/test_binance.py | 1081 | exchange = get_patched_exchange(mocker, default_conf_usdt, exchange="binance") | COMMENT |
| LOW | tests/optimize/test_backtesting.py | 641 | # Binance, Long | COMMENT |
| LOW | tests/persistence/test_persistence.py | 801 | # open_rate: 2.00 quote | COMMENT |
| LOW | docs/producer-consumer.md | 121 | producer_pairs = self.dp.get_producer_pairs() | COMMENT |
| LOW | docs/advanced-setup.md | 61 | services: | COMMENT |
| LOW | docs/strategy-customization.md | 761 | ``` python | COMMENT |
| LOW | freqtrade/exchange/hyperliquid.py | 261 | max_leverage = self.markets[pair]["limits"]["leverage"]["max"] | COMMENT |
| LOW | freqtrade/freqai/RL/BaseEnvironment.py | 381 | initialized env for tensorboard callback | COMMENT |
| LOW | freqtrade/freqai/RL/BaseEnvironment.py | 401 | # previous_price = self.add_entry_fee(previous_price) | COMMENT |
| LOW | freqtrade/optimize/hyperopt/hyperopt_interface.py | 81 | # Increase if you need wider ranges in the roi hyperspace, decrease if shorter | COMMENT |
| LOW | freqtrade/templates/FreqaiExampleStrategy.py | 201 | # Classifiers are typically set up with strings as targets: | COMMENT |
| LOW | freqtrade/templates/sample_strategy.py | 161 | # ADX | COMMENT |
| LOW | freqtrade/templates/sample_strategy.py | 181 | # # Keltner Channel | COMMENT |
| LOW | freqtrade/templates/sample_strategy.py | 201 | dataframe["rsi"] = ta.RSI(dataframe) | COMMENT |
| LOW | freqtrade/templates/sample_strategy.py | 221 | # Please read https://github.com/freqtrade/freqtrade/issues/2961 before using this. | COMMENT |
| LOW | freqtrade/templates/sample_strategy.py | 261 | # dataframe["wbb_percent"] = ( | COMMENT |
| LOW | freqtrade/templates/sample_strategy.py | 281 | # dataframe['sma10'] = ta.SMA(dataframe, timeperiod=10) | COMMENT |
| LOW | freqtrade/templates/sample_strategy.py | 301 | # # Hammer: values [0, 100] | COMMENT |
| LOW | freqtrade/templates/sample_strategy.py | 321 | # dataframe['CDLGRAVESTONEDOJI'] = ta.CDLGRAVESTONEDOJI(dataframe) | COMMENT |
| LOW | freqtrade/templates/sample_strategy.py | 341 | # # Three Inside Up/Down: values [0, -100, 100] | COMMENT |
| LOW | freqtrade/rpc/api_server/api_v1.py | 41 | # 1.12: add blacklist delete endpoint | COMMENT |
| LOW | freqtrade/rpc/api_server/api_v1.py | 61 | # 2.33: Additional weekly/monthly metrics | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | build_helpers/create_command_partials.py | 94 | # freqtrade-client still uses subprocess as requested | COMMENT |
| HIGH | freqtrade/freqai/data_kitchen.py | 366 | # ensure we are predicting on exactly same amount of data as requested by user defined | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | freqtrade/exchange/exchange.py | 3239 | CODE | |
| LOW | freqtrade/freqai/RL/BaseEnvironment.py | 47 | CODE | |
| LOW | freqtrade/freqai/RL/BaseReinforcementLearningModel.py | 303 | CODE | |
| LOW | freqtrade/optimize/analysis/lookahead.py | 51 | CODE | |
| LOW | …ptimize/hyperopt_loss/hyperopt_loss_short_trade_dur.py | 52 | CODE | |
| LOW | freqtrade/optimize/hyperopt/hyperopt_optimizer.py | 334 | CODE | |
| LOW | freqtrade/templates/sample_hyperopt_loss.py | 57 | CODE | |
| LOW | freqtrade/rpc/rpc.py | 1444 | CODE | |
| LOW | freqtrade/rpc/rpc.py | 1480 | CODE | |
| LOW | freqtrade/rpc/api_server/api_webserver.py | 109 | CODE | |
| LOW | freqtrade/data/history/history_utils.py | 364 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | setup.sh | 167 | echo_block "Don't forget to activate your virtual environment with 'source .venv/bin/activate'!" | CODE |
| MEDIUM | freqtrade/freqai/RL/BaseReinforcementLearningModel.py | 431 | # you can use feature values from dataframe | COMMENT |
| MEDIUM⚡ | freqtrade/templates/sample_strategy.py | 39 | # This class is a sample. Feel free to customize it. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/freqai/test_freqai_interface.py | 77 | # test the RL guardrails | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docs/installation.md | 379 | # Step 1 - Initialize user folder | COMMENT |
| LOW | docs/installation.md | 382 | # Step 2 - Create a new configuration file | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/freqai/test_freqai_interface.py | 515 | "model_filename": "fake_name", | CODE |