Extract pair_formating options

This commit is contained in:
Matthias
2023-11-01 10:14:19 +01:00
parent 05ef4f9b6f
commit 1cde980c08
+15 -7
View File
@@ -1,5 +1,5 @@
from dataclasses import dataclass from dataclasses import dataclass
from typing import Any, Callable, Optional, Union from typing import Any, Callable, Dict, Optional, Union
from pandas import DataFrame from pandas import DataFrame
@@ -68,6 +68,19 @@ def informative(timeframe: str, asset: str = '',
return decorator return decorator
def __get_pair_formats(market: Optional[Dict[str, Any]]) -> Dict[str, str]:
if not market:
return {}
base = market['base']
quote = market['quote']
return {
'base': base.lower(),
'BASE': base.upper(),
'quote': quote.lower(),
'QUOTE': quote.upper(),
}
def _format_pair_name(config, pair: str) -> str: def _format_pair_name(config, pair: str) -> str:
return pair.format(stake_currency=config['stake_currency'], return pair.format(stake_currency=config['stake_currency'],
stake=config['stake_currency']).upper() stake=config['stake_currency']).upper()
@@ -93,8 +106,6 @@ def _create_and_merge_informative_pair(strategy, dataframe: DataFrame, metadata:
market = strategy.dp.market(asset) market = strategy.dp.market(asset)
if market is None: if market is None:
raise OperationalException(f'Market {asset} is not available.') raise OperationalException(f'Market {asset} is not available.')
base = market['base']
quote = market['quote']
# Default format. This optimizes for the common case: informative pairs using same stake # Default format. This optimizes for the common case: informative pairs using same stake
# currency. When quote currency matches stake currency, column name will omit base currency. # currency. When quote currency matches stake currency, column name will omit base currency.
@@ -117,10 +128,7 @@ def _create_and_merge_informative_pair(strategy, dataframe: DataFrame, metadata:
formatter = fmt.format # A default string formatter. formatter = fmt.format # A default string formatter.
fmt_args = { fmt_args = {
'BASE': base.upper(), **__get_pair_formats(market),
'QUOTE': quote.upper(),
'base': base.lower(),
'quote': quote.lower(),
'asset': asset, 'asset': asset,
'timeframe': timeframe, 'timeframe': timeframe,
} }