spell corrections

This commit is contained in:
aayush-jain18 2021-06-25 19:15:49 +05:30
parent 2ade3ec7b9
commit a46f60bd94
20 changed files with 33 additions and 33 deletions

View File

@ -183,7 +183,7 @@ def deploy_new_config(config_path: Path, selections: Dict[str, Any]) -> None:
""" """
Applies selections to the template and writes the result to config_path Applies selections to the template and writes the result to config_path
:param config_path: Path object for new config file. Should not exist yet :param config_path: Path object for new config file. Should not exist yet
:param selecions: Dict containing selections taken by the user. :param selections: Dict containing selections taken by the user.
""" """
from jinja2.exceptions import TemplateNotFound from jinja2.exceptions import TemplateNotFound
try: try:
@ -213,7 +213,7 @@ def deploy_new_config(config_path: Path, selections: Dict[str, Any]) -> None:
def start_new_config(args: Dict[str, Any]) -> None: def start_new_config(args: Dict[str, Any]) -> None:
""" """
Create a new strategy from a template Create a new strategy from a template
Asking the user questions to fill out the templateaccordingly. Asking the user questions to fill out the template accordingly.
""" """
config_path = Path(args['config'][0]) config_path = Path(args['config'][0])

View File

@ -460,7 +460,7 @@ class Configuration:
pairs_file = Path(self.args["pairs_file"]) pairs_file = Path(self.args["pairs_file"])
logger.info(f'Reading pairs file "{pairs_file}".') logger.info(f'Reading pairs file "{pairs_file}".')
# Download pairs from the pairs file if no config is specified # Download pairs from the pairs file if no config is specified
# or if pairs file is specified explicitely # or if pairs file is specified explicitly
if not pairs_file.exists(): if not pairs_file.exists():
raise OperationalException(f'No pairs file found with path "{pairs_file}".') raise OperationalException(f'No pairs file found with path "{pairs_file}".')
config['pairs'] = load_file(pairs_file) config['pairs'] = load_file(pairs_file)

View File

@ -62,7 +62,7 @@ DUST_PER_COIN = {
} }
# Soure files with destination directories within user-directory # Source files with destination directories within user-directory
USER_DATA_FILES = { USER_DATA_FILES = {
'sample_strategy.py': USERPATH_STRATEGIES, 'sample_strategy.py': USERPATH_STRATEGIES,
'sample_hyperopt_advanced.py': USERPATH_HYPEROPTS, 'sample_hyperopt_advanced.py': USERPATH_HYPEROPTS,

View File

@ -49,7 +49,7 @@ def clean_ohlcv_dataframe(data: DataFrame, timeframe: str, pair: str, *,
fill_missing: bool = True, fill_missing: bool = True,
drop_incomplete: bool = True) -> DataFrame: drop_incomplete: bool = True) -> DataFrame:
""" """
Clense a OHLCV dataframe by Cleanse a OHLCV dataframe by
* Grouping it by date (removes duplicate tics) * Grouping it by date (removes duplicate tics)
* dropping last candles if requested * dropping last candles if requested
* Filling up missing data (if requested) * Filling up missing data (if requested)

View File

@ -301,7 +301,7 @@ class Edge:
def _process_expectancy(self, results: DataFrame) -> Dict[str, Any]: def _process_expectancy(self, results: DataFrame) -> Dict[str, Any]:
""" """
This calculates WinRate, Required Risk Reward, Risk Reward and Expectancy of all pairs This calculates WinRate, Required Risk Reward, Risk Reward and Expectancy of all pairs
The calulation will be done per pair and per strategy. The calculation will be done per pair and per strategy.
""" """
# Removing pairs having less than min_trades_number # Removing pairs having less than min_trades_number
min_trades_number = self.edge_config.get('min_trade_number', 10) min_trades_number = self.edge_config.get('min_trade_number', 10)

View File

@ -47,7 +47,7 @@ class InvalidOrderException(ExchangeError):
class RetryableOrderError(InvalidOrderException): class RetryableOrderError(InvalidOrderException):
""" """
This is returned when the order is not found. This is returned when the order is not found.
This Error will be repeated with increasing backof (in line with DDosError). This Error will be repeated with increasing backoff (in line with DDosError).
""" """
@ -75,6 +75,6 @@ class DDosProtection(TemporaryError):
class StrategyError(FreqtradeException): class StrategyError(FreqtradeException):
""" """
Errors with custom user-code deteced. Errors with custom user-code detected.
Usually caused by errors in the strategy. Usually caused by errors in the strategy.
""" """

View File

@ -235,7 +235,7 @@ class Exchange:
def ohlcv_candle_limit(self, timeframe: str) -> int: def ohlcv_candle_limit(self, timeframe: str) -> int:
""" """
Exchange ohlcv candle limit Exchange ohlcv candle limit
Uses ohlcv_candle_limit_per_timeframe if the exchange has different limts Uses ohlcv_candle_limit_per_timeframe if the exchange has different limits
per timeframe (e.g. bittrex), otherwise falls back to ohlcv_candle_limit per timeframe (e.g. bittrex), otherwise falls back to ohlcv_candle_limit
:param timeframe: Timeframe to check :param timeframe: Timeframe to check
:return: Candle limit as integer :return: Candle limit as integer

View File

@ -49,7 +49,7 @@ class Kraken(Exchange):
orders = self._api.fetch_open_orders() orders = self._api.fetch_open_orders()
order_list = [(x["symbol"].split("/")[0 if x["side"] == "sell" else 1], order_list = [(x["symbol"].split("/")[0 if x["side"] == "sell" else 1],
x["remaining"] if x["side"] == "sell" else x["remaining"] * x["price"], x["remaining"] if x["side"] == "sell" else x["remaining"] * x["price"],
# Don't remove the below comment, this can be important for debuggung # Don't remove the below comment, this can be important for debugging
# x["side"], x["amount"], # x["side"], x["amount"],
) for x in orders] ) for x in orders]
for bal in balances: for bal in balances:

View File

@ -98,7 +98,7 @@ class FreqtradeBot(LoggingMixin):
initial_state = self.config.get('initial_state') initial_state = self.config.get('initial_state')
self.state = State[initial_state.upper()] if initial_state else State.STOPPED self.state = State[initial_state.upper()] if initial_state else State.STOPPED
# Protect sell-logic from forcesell and viceversa # Protect sell-logic from forcesell and vice versa
self._sell_lock = Lock() self._sell_lock = Lock()
LoggingMixin.__init__(self, logger, timeframe_to_seconds(self.strategy.timeframe)) LoggingMixin.__init__(self, logger, timeframe_to_seconds(self.strategy.timeframe))

View File

@ -445,7 +445,7 @@ class Backtesting:
for trade in open_trades[pair]: for trade in open_trades[pair]:
# also check the buying candle for sell conditions. # also check the buying candle for sell conditions.
trade_entry = self._get_sell_trade_entry(trade, row) trade_entry = self._get_sell_trade_entry(trade, row)
# Sell occured # Sell occurred
if trade_entry: if trade_entry:
# logger.debug(f"{pair} - Backtesting sell {trade}") # logger.debug(f"{pair} - Backtesting sell {trade}")
open_trade_count -= 1 open_trade_count -= 1

View File

@ -21,7 +21,7 @@ def store_backtest_stats(recordfilename: Path, stats: Dict[str, DataFrame]) -> N
Stores backtest results Stores backtest results
:param recordfilename: Path object, which can either be a filename or a directory. :param recordfilename: Path object, which can either be a filename or a directory.
Filenames will be appended with a timestamp right before the suffix Filenames will be appended with a timestamp right before the suffix
while for diectories, <directory>/backtest-result-<datetime>.json will be used as filename while for directories, <directory>/backtest-result-<datetime>.json will be used as filename
:param stats: Dataframe containing the backtesting statistics :param stats: Dataframe containing the backtesting statistics
""" """
if recordfilename.is_dir(): if recordfilename.is_dir():
@ -300,7 +300,7 @@ def generate_strategy_stats(btdata: Dict[str, DataFrame],
:param min_date: Backtest start date :param min_date: Backtest start date
:param max_date: Backtest end date :param max_date: Backtest end date
:param market_change: float indicating the market change :param market_change: float indicating the market change
:return: Dictionary containing results per strategy and a stratgy summary. :return: Dictionary containing results per strategy and a strategy summary.
""" """
results: Dict[str, DataFrame] = content['results'] results: Dict[str, DataFrame] = content['results']
if not isinstance(results, DataFrame): if not isinstance(results, DataFrame):
@ -436,7 +436,7 @@ def generate_backtest_stats(btdata: Dict[str, DataFrame],
{ Strategy: {'results: results, 'config: config}}. { Strategy: {'results: results, 'config: config}}.
:param min_date: Backtest start date :param min_date: Backtest start date
:param max_date: Backtest end date :param max_date: Backtest end date
:return: Dictionary containing results per strategy and a stratgy summary. :return: Dictionary containing results per strategy and a strategy summary.
""" """
result: Dict[str, Any] = {'strategy': {}} result: Dict[str, Any] = {'strategy': {}}
market_change = calculate_market_change(btdata, 'close') market_change = calculate_market_change(btdata, 'close')

View File

@ -288,8 +288,8 @@ def plot_area(fig, row: int, data: pd.DataFrame, indicator_a: str,
:param fig: Plot figure to append to :param fig: Plot figure to append to
:param row: row number for this plot :param row: row number for this plot
:param data: candlestick DataFrame :param data: candlestick DataFrame
:param indicator_a: indicator name as populated in stragetie :param indicator_a: indicator name as populated in strategy
:param indicator_b: indicator name as populated in stragetie :param indicator_b: indicator name as populated in strategy
:param label: label for the filled area :param label: label for the filled area
:param fill_color: color to be used for the filled area :param fill_color: color to be used for the filled area
:return: fig with added filled_traces plot :return: fig with added filled_traces plot

View File

@ -19,7 +19,7 @@ class PerformanceFilter(IPairList):
def needstickers(self) -> bool: def needstickers(self) -> bool:
""" """
Boolean property defining if tickers are necessary. Boolean property defining if tickers are necessary.
If no Pairlist requries tickers, an empty List is passed If no Pairlist requires tickers, an empty List is passed
as tickers argument to filter_pairlist as tickers argument to filter_pairlist
""" """
return False return False

View File

@ -163,7 +163,7 @@ class IResolver:
:param directory: Path to search :param directory: Path to search
:param enum_failed: If True, will return None for modules which fail. :param enum_failed: If True, will return None for modules which fail.
Otherwise, failing modules are skipped. Otherwise, failing modules are skipped.
:return: List of dicts containing 'name', 'class' and 'location' entires :return: List of dicts containing 'name', 'class' and 'location' entries
""" """
logger.debug(f"Searching for {cls.object_type.__name__} '{directory}'") logger.debug(f"Searching for {cls.object_type.__name__} '{directory}'")
objects = [] objects = []

View File

@ -102,7 +102,7 @@ class CryptoToFiatConverter:
inverse = True inverse = True
symbol = f"{crypto_symbol}/{fiat_symbol}" symbol = f"{crypto_symbol}/{fiat_symbol}"
# Check if the fiat convertion you want is supported # Check if the fiat conversion you want is supported
if not self._is_supported_fiat(fiat=fiat_symbol): if not self._is_supported_fiat(fiat=fiat_symbol):
raise ValueError(f'The fiat {fiat_symbol} is not supported.') raise ValueError(f'The fiat {fiat_symbol} is not supported.')
@ -135,7 +135,7 @@ class CryptoToFiatConverter:
:param fiat_symbol: FIAT currency you want to convert to (e.g usd) :param fiat_symbol: FIAT currency you want to convert to (e.g usd)
:return: float, price of the crypto-currency in Fiat :return: float, price of the crypto-currency in Fiat
""" """
# Check if the fiat convertion you want is supported # Check if the fiat conversion you want is supported
if not self._is_supported_fiat(fiat=fiat_symbol): if not self._is_supported_fiat(fiat=fiat_symbol):
raise ValueError(f'The fiat {fiat_symbol} is not supported.') raise ValueError(f'The fiat {fiat_symbol} is not supported.')
@ -146,7 +146,7 @@ class CryptoToFiatConverter:
if self._cryptomap == {}: if self._cryptomap == {}:
if self._backoff <= datetime.datetime.now().timestamp(): if self._backoff <= datetime.datetime.now().timestamp():
self._load_cryptomap() self._load_cryptomap()
# return 0.0 if we still dont have data to check, no reason to proceed # return 0.0 if we still don't have data to check, no reason to proceed
if self._cryptomap == {}: if self._cryptomap == {}:
return 0.0 return 0.0
else: else:

View File

@ -180,9 +180,9 @@ class RPC:
base_currency=self._freqtrade.config['stake_currency'], base_currency=self._freqtrade.config['stake_currency'],
close_profit=trade.close_profit if trade.close_profit is not None else None, close_profit=trade.close_profit if trade.close_profit is not None else None,
current_rate=current_rate, current_rate=current_rate,
current_profit=current_profit, # Deprectated current_profit=current_profit, # Deprecated
current_profit_pct=round(current_profit * 100, 2), # Deprectated current_profit_pct=round(current_profit * 100, 2), # Deprecated
current_profit_abs=current_profit_abs, # Deprectated current_profit_abs=current_profit_abs, # Deprecated
profit_ratio=current_profit, profit_ratio=current_profit,
profit_pct=round(current_profit * 100, 2), profit_pct=round(current_profit * 100, 2),
profit_abs=current_profit_abs, profit_abs=current_profit_abs,

View File

@ -103,7 +103,7 @@ class Telegram(RPCHandler):
# do not allow commands with mandatory arguments and critical cmds # do not allow commands with mandatory arguments and critical cmds
# like /forcesell and /forcebuy # like /forcesell and /forcebuy
# TODO: DRY! - its not good to list all valid cmds here. But otherwise # TODO: DRY! - its not good to list all valid cmds here. But otherwise
# this needs refacoring of the whole telegram module (same # this needs refactoring of the whole telegram module (same
# problem in _help()). # problem in _help()).
valid_keys: List[str] = [r'/start$', r'/stop$', r'/status$', r'/status table$', valid_keys: List[str] = [r'/start$', r'/stop$', r'/status$', r'/status table$',
r'/trades$', r'/performance$', r'/daily$', r'/daily \d+$', r'/trades$', r'/performance$', r'/daily$', r'/daily \d+$',
@ -611,7 +611,7 @@ class Telegram(RPCHandler):
curr_output = (f"*{curr['currency']}:* not showing <{balance_dust_level} " curr_output = (f"*{curr['currency']}:* not showing <{balance_dust_level} "
f"{curr['stake']} amount \n") f"{curr['stake']} amount \n")
# Handle overflowing messsage length # Handle overflowing message length
if len(output + curr_output) >= MAX_TELEGRAM_MESSAGE_LENGTH: if len(output + curr_output) >= MAX_TELEGRAM_MESSAGE_LENGTH:
self._send_msg(output) self._send_msg(output)
output = curr_output output = curr_output

View File

@ -242,7 +242,7 @@ class CategoricalParameter(BaseParameter):
class HyperStrategyMixin(object): class HyperStrategyMixin(object):
""" """
A helper base class which allows HyperOptAuto class to reuse implementations of of buy/sell A helper base class which allows HyperOptAuto class to reuse implementations of buy/sell
strategy logic. strategy logic.
""" """
@ -258,7 +258,7 @@ class HyperStrategyMixin(object):
def enumerate_parameters(self, category: str = None) -> Iterator[Tuple[str, BaseParameter]]: def enumerate_parameters(self, category: str = None) -> Iterator[Tuple[str, BaseParameter]]:
""" """
Find all optimizeable parameters and return (name, attr) iterator. Find all optimizable parameters and return (name, attr) iterator.
:param category: :param category:
:return: :return:
""" """
@ -310,7 +310,7 @@ class HyperStrategyMixin(object):
def _load_params(self, params: dict, space: str, hyperopt: bool = False) -> None: def _load_params(self, params: dict, space: str, hyperopt: bool = False) -> None:
""" """
Set optimizeable parameter values. Set optimizable parameter values.
:param params: Dictionary with new parameter values. :param params: Dictionary with new parameter values.
""" """
if not params: if not params:

View File

@ -270,7 +270,7 @@ class IStrategy(ABC, HyperStrategyMixin):
:param current_rate: Rate, calculated based on pricing settings in ask_strategy. :param current_rate: Rate, calculated based on pricing settings in ask_strategy.
:param current_profit: Current profit (as ratio), calculated based on current_rate. :param current_profit: Current profit (as ratio), calculated based on current_rate.
:param **kwargs: Ensure to keep this here so updates to this won't break your strategy. :param **kwargs: Ensure to keep this here so updates to this won't break your strategy.
:return float: New stoploss value, relative to the currentrate :return float: New stoploss value, relative to the current_rate
""" """
return self.stoploss return self.stoploss
@ -301,7 +301,7 @@ class IStrategy(ABC, HyperStrategyMixin):
def informative_pairs(self) -> ListPairsWithTimeframes: def informative_pairs(self) -> ListPairsWithTimeframes:
""" """
Define additional, informative pair/interval combinations to be cached from the exchange. Define additional, informative pair/interval combinations to be cached from the exchange.
These pair/interval combinations are non-tradeable, unless they are part These pair/interval combinations are non-tradable, unless they are part
of the whitelist as well. of the whitelist as well.
For more information, please consult the documentation For more information, please consult the documentation
:return: List of tuples in the format (pair, interval) :return: List of tuples in the format (pair, interval)

View File

@ -61,7 +61,7 @@ class Worker:
def _notify(self, message: str) -> None: def _notify(self, message: str) -> None:
""" """
Removes the need to verify in all occurances if sd_notify is enabled Removes the need to verify in all occurrences if sd_notify is enabled
:param message: Message to send to systemd if it's enabled. :param message: Message to send to systemd if it's enabled.
""" """
if self._sd_notify: if self._sd_notify: