mirror of
https://github.com/freqtrade/freqtrade.git
synced 2026-02-06 14:20:24 +00:00
Add support for {base} and {quote} in informative decorator
This commit is contained in:
@@ -81,9 +81,12 @@ def __get_pair_formats(market: Optional[Dict[str, Any]]) -> Dict[str, str]:
|
||||
}
|
||||
|
||||
|
||||
def _format_pair_name(config, pair: str) -> str:
|
||||
return pair.format(stake_currency=config['stake_currency'],
|
||||
stake=config['stake_currency']).upper()
|
||||
def _format_pair_name(config, pair: str, market: Optional[Dict[str, Any]] = None) -> str:
|
||||
return pair.format(
|
||||
stake_currency=config['stake_currency'],
|
||||
stake=config['stake_currency'],
|
||||
**__get_pair_formats(market),
|
||||
).upper()
|
||||
|
||||
|
||||
def _create_and_merge_informative_pair(strategy, dataframe: DataFrame, metadata: dict,
|
||||
@@ -98,7 +101,8 @@ def _create_and_merge_informative_pair(strategy, dataframe: DataFrame, metadata:
|
||||
|
||||
if asset:
|
||||
# Insert stake currency if needed.
|
||||
asset = _format_pair_name(config, asset)
|
||||
market1 = strategy.dp.market(metadata['pair'])
|
||||
asset = _format_pair_name(config, asset, market1)
|
||||
else:
|
||||
# Not specifying an asset will define informative dataframe for current pair.
|
||||
asset = metadata['pair']
|
||||
|
||||
@@ -756,12 +756,23 @@ class IStrategy(ABC, HyperStrategyMixin):
|
||||
candle_type = (inf_data.candle_type if inf_data.candle_type
|
||||
else self.config.get('candle_type_def', CandleType.SPOT))
|
||||
if inf_data.asset:
|
||||
pair_tf = (
|
||||
_format_pair_name(self.config, inf_data.asset),
|
||||
inf_data.timeframe,
|
||||
candle_type,
|
||||
)
|
||||
informative_pairs.append(pair_tf)
|
||||
if any(s in inf_data.asset for s in ("{BASE}", "{base}")):
|
||||
for pair in self.dp.current_whitelist():
|
||||
|
||||
pair_tf = (
|
||||
_format_pair_name(self.config, inf_data.asset, self.dp.market(pair)),
|
||||
inf_data.timeframe,
|
||||
candle_type,
|
||||
)
|
||||
informative_pairs.append(pair_tf)
|
||||
|
||||
else:
|
||||
pair_tf = (
|
||||
_format_pair_name(self.config, inf_data.asset),
|
||||
inf_data.timeframe,
|
||||
candle_type,
|
||||
)
|
||||
informative_pairs.append(pair_tf)
|
||||
else:
|
||||
for pair in self.dp.current_whitelist():
|
||||
informative_pairs.append((pair, inf_data.timeframe, candle_type))
|
||||
|
||||
Reference in New Issue
Block a user