Move plot-options to arguments.py
This commit is contained in:
parent
bf2c0390e7
commit
0300128cb8
@ -55,7 +55,7 @@ class Arguments(object):
|
|||||||
|
|
||||||
# Workaround issue in argparse with action='append' and default value
|
# Workaround issue in argparse with action='append' and default value
|
||||||
# (see https://bugs.python.org/issue16399)
|
# (see https://bugs.python.org/issue16399)
|
||||||
if parsed_arg.config is None and not no_default_config:
|
if not no_default_config and parsed_arg.config is None:
|
||||||
parsed_arg.config = [constants.DEFAULT_CONFIG]
|
parsed_arg.config = [constants.DEFAULT_CONFIG]
|
||||||
|
|
||||||
return parsed_arg
|
return parsed_arg
|
||||||
@ -514,3 +514,33 @@ class Arguments(object):
|
|||||||
dest='erase',
|
dest='erase',
|
||||||
action='store_true'
|
action='store_true'
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def plot_dataframe_options(self) -> None:
|
||||||
|
"""
|
||||||
|
Parses given arguments for plot_dataframe
|
||||||
|
"""
|
||||||
|
self.parser.add_argument(
|
||||||
|
'--indicators1',
|
||||||
|
help='Set indicators from your strategy you want in the first row of the graph. Separate '
|
||||||
|
'them with a comma. E.g: ema3,ema5 (default: %(default)s)',
|
||||||
|
type=str,
|
||||||
|
default='sma,ema3,ema5',
|
||||||
|
dest='indicators1',
|
||||||
|
)
|
||||||
|
|
||||||
|
self.parser.add_argument(
|
||||||
|
'--indicators2',
|
||||||
|
help='Set indicators from your strategy you want in the third row of the graph. Separate '
|
||||||
|
'them with a comma. E.g: macd,fastd,fastk (default: %(default)s)',
|
||||||
|
type=str,
|
||||||
|
default='macd,macdsignal',
|
||||||
|
dest='indicators2',
|
||||||
|
)
|
||||||
|
self.parser.add_argument(
|
||||||
|
'--plot-limit',
|
||||||
|
help='Specify tick limit for plotting - too high values cause huge files - '
|
||||||
|
'Default: %(default)s',
|
||||||
|
dest='plot_limit',
|
||||||
|
default=750,
|
||||||
|
type=int,
|
||||||
|
)
|
||||||
|
@ -186,6 +186,20 @@ def test_download_data_options() -> None:
|
|||||||
assert args.exchange == 'binance'
|
assert args.exchange == 'binance'
|
||||||
|
|
||||||
|
|
||||||
|
def test_plot_dataframe_options() -> None:
|
||||||
|
args = [
|
||||||
|
'--indicators1', 'sma10,sma100',
|
||||||
|
'--indicators2', 'macd,fastd,fastk',
|
||||||
|
'--plot-limit', '30',
|
||||||
|
]
|
||||||
|
arguments = Arguments(args, '')
|
||||||
|
arguments.plot_dataframe_options()
|
||||||
|
args = arguments.parse_args(True)
|
||||||
|
assert args.indicators1 == "sma10,sma100"
|
||||||
|
assert args.indicators2 == "macd,fastd,fastk"
|
||||||
|
assert args.plot_limit == 30
|
||||||
|
|
||||||
|
|
||||||
def test_check_int_positive() -> None:
|
def test_check_int_positive() -> None:
|
||||||
|
|
||||||
assert Arguments.check_int_positive("3") == 3
|
assert Arguments.check_int_positive("3") == 3
|
||||||
|
@ -34,10 +34,10 @@ import pandas as pd
|
|||||||
|
|
||||||
from freqtrade.arguments import Arguments, TimeRange
|
from freqtrade.arguments import Arguments, TimeRange
|
||||||
from freqtrade.data import history
|
from freqtrade.data import history
|
||||||
from freqtrade.data.btanalysis import load_trades
|
from freqtrade.data.btanalysis import load_trades, extract_trades_of_period
|
||||||
from freqtrade.exchange import Exchange
|
from freqtrade.exchange import Exchange
|
||||||
from freqtrade.optimize import setup_configuration
|
from freqtrade.optimize import setup_configuration
|
||||||
from freqtrade.plot.plotting import (extract_trades_of_period, generate_graph,
|
from freqtrade.plot.plotting import (generate_graph,
|
||||||
generate_plot_file)
|
generate_plot_file)
|
||||||
from freqtrade.resolvers import StrategyResolver
|
from freqtrade.resolvers import StrategyResolver
|
||||||
from freqtrade.state import RunMode
|
from freqtrade.state import RunMode
|
||||||
@ -171,31 +171,7 @@ def plot_parse_args(args: List[str]) -> Namespace:
|
|||||||
"""
|
"""
|
||||||
arguments = Arguments(args, 'Graph dataframe')
|
arguments = Arguments(args, 'Graph dataframe')
|
||||||
arguments.scripts_options()
|
arguments.scripts_options()
|
||||||
arguments.parser.add_argument(
|
arguments.plot_dataframe_options()
|
||||||
'--indicators1',
|
|
||||||
help='Set indicators from your strategy you want in the first row of the graph. Separate '
|
|
||||||
'them with a coma. E.g: ema3,ema5 (default: %(default)s)',
|
|
||||||
type=str,
|
|
||||||
default='sma,ema3,ema5',
|
|
||||||
dest='indicators1',
|
|
||||||
)
|
|
||||||
|
|
||||||
arguments.parser.add_argument(
|
|
||||||
'--indicators2',
|
|
||||||
help='Set indicators from your strategy you want in the third row of the graph. Separate '
|
|
||||||
'them with a coma. E.g: fastd,fastk (default: %(default)s)',
|
|
||||||
type=str,
|
|
||||||
default='macd,macdsignal',
|
|
||||||
dest='indicators2',
|
|
||||||
)
|
|
||||||
arguments.parser.add_argument(
|
|
||||||
'--plot-limit',
|
|
||||||
help='Specify tick limit for plotting - too high values cause huge files - '
|
|
||||||
'Default: %(default)s',
|
|
||||||
dest='plot_limit',
|
|
||||||
default=750,
|
|
||||||
type=int,
|
|
||||||
)
|
|
||||||
arguments.common_args_parser()
|
arguments.common_args_parser()
|
||||||
arguments.optimizer_shared_options(arguments.parser)
|
arguments.optimizer_shared_options(arguments.parser)
|
||||||
arguments.backtesting_options(arguments.parser)
|
arguments.backtesting_options(arguments.parser)
|
||||||
|
Loading…
Reference in New Issue
Block a user