Move config json validation to after strategy loading

Otherwise attributes are mandatory in configuration
while they could be set in the strategy
This commit is contained in:
Matthias
2019-11-23 15:49:46 +01:00
parent 4dc0631a4b
commit af3eea3805
4 changed files with 13 additions and 10 deletions

View File

@@ -61,6 +61,11 @@ def validate_config_consistency(conf: Dict[str, Any]) -> None:
:param conf: Config in JSON format
:return: Returns None if everything is ok, otherwise throw an OperationalException
"""
# validate configuration before returning
logger.info('Validating configuration ...')
validate_config_schema(conf)
# validating trailing stoploss
_validate_trailing_stoploss(conf)
_validate_edge(conf)

View File

@@ -9,8 +9,6 @@ from typing import Any, Callable, Dict, List, Optional
from freqtrade import OperationalException, constants
from freqtrade.configuration.check_exchange import check_exchange
from freqtrade.configuration.config_validation import (validate_config_consistency,
validate_config_schema)
from freqtrade.configuration.deprecated_settings import process_temporary_deprecated_settings
from freqtrade.configuration.directory_operations import (create_datadir,
create_userdata_dir)
@@ -84,10 +82,6 @@ class Configuration:
if 'pairlists' not in config:
config['pairlists'] = []
# validate configuration before returning
logger.info('Validating configuration ...')
validate_config_schema(config)
return config
def load_config(self) -> Dict[str, Any]:
@@ -118,8 +112,6 @@ class Configuration:
process_temporary_deprecated_settings(config)
validate_config_consistency(config)
return config
def _process_logging_options(self, config: Dict[str, Any]) -> None: