diff --git a/freqtrade/arguments.py b/freqtrade/arguments.py index 3075dd0fe..d623b7d7a 100644 --- a/freqtrade/arguments.py +++ b/freqtrade/arguments.py @@ -515,3 +515,10 @@ class Arguments(object): default=750, type=int, ) + parser.add_argument( + '--trade-source', + help='Specify the source for trades (Can be DB or file (backtest file)) Default: %(default)s', + dest='trade_source', + default="file", + choices=["DB", "file"] + ) diff --git a/freqtrade/configuration.py b/freqtrade/configuration.py index b2c35c977..d74b712c3 100644 --- a/freqtrade/configuration.py +++ b/freqtrade/configuration.py @@ -358,7 +358,8 @@ class Configuration(object): self._args_to_config(config, argname='plot_limit', logstring='Limiting plot to: {}') - + self._args_to_config(config, argname='trade_source', + logstring='Using trades from: {}') return config def _validate_config_schema(self, conf: Dict[str, Any]) -> Dict[str, Any]: diff --git a/scripts/plot_dataframe.py b/scripts/plot_dataframe.py index 99ba60d40..828373cb2 100755 --- a/scripts/plot_dataframe.py +++ b/scripts/plot_dataframe.py @@ -33,10 +33,10 @@ import pandas as pd from freqtrade.arguments import Arguments, TimeRange from freqtrade.data import history -from freqtrade.data.btanalysis import load_trades, extract_trades_of_period +from freqtrade.data.btanalysis import (extract_trades_of_period, + load_backtest_data, load_trades_from_db) from freqtrade.optimize import setup_configuration -from freqtrade.plot.plotting import (generate_graph, - generate_plot_file) +from freqtrade.plot.plotting import generate_graph, generate_plot_file from freqtrade.resolvers import ExchangeResolver, StrategyResolver from freqtrade.state import RunMode @@ -124,10 +124,12 @@ def analyse_and_plot_pairs(config: Dict[str, Any]): tickers = {} tickers[pair] = data dataframe = generate_dataframe(strategy, tickers, pair) + trades = None + if config["trade_source"] == "DB": + trades = load_trades_from_db(config["db_url"]) + elif config["trade_source"] == "file": + trades = load_backtest_data(Path(config["exportfilename"])) - trades = load_trades(exportfilename=config["exportfilename"], - db_url=config["db_url"], - ) trades = trades.loc[trades['pair'] == pair] trades = extract_trades_of_period(dataframe, trades)