Merge pull request #6128 from wadedyck/futures_fixes

Futures fixes
This commit is contained in:
Matthias 2021-12-28 19:37:13 +01:00 committed by GitHub
commit b9237d2241
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 14 additions and 5 deletions

View File

@ -134,7 +134,7 @@ class DataProvider:
combination. combination.
Returns empty dataframe and Epoch 0 (1970-01-01) if no dataframe was cached. Returns empty dataframe and Epoch 0 (1970-01-01) if no dataframe was cached.
""" """
pair_key = (pair, timeframe, CandleType.SPOT) pair_key = (pair, timeframe, self._config.get('candle_type_def', CandleType.SPOT))
if pair_key in self.__cached_pairs: if pair_key in self.__cached_pairs:
if self.runmode in (RunMode.DRY_RUN, RunMode.LIVE): if self.runmode in (RunMode.DRY_RUN, RunMode.LIVE):
df, date = self.__cached_pairs[pair_key] df, date = self.__cached_pairs[pair_key]

View File

@ -1865,8 +1865,9 @@ class Exchange:
mark_rates = candle_histories[mark_comb] mark_rates = candle_histories[mark_comb]
df = funding_rates.merge(mark_rates, on='date', how="inner", suffixes=["_fund", "_mark"]) df = funding_rates.merge(mark_rates, on='date', how="inner", suffixes=["_fund", "_mark"])
df = df[(df['date'] >= open_date) & (df['date'] <= close_date)] if not df.empty:
fees = sum(df['open_fund'] * df['open_mark'] * amount) df = df[(df['date'] >= open_date) & (df['date'] <= close_date)]
fees = sum(df['open_fund'] * df['open_mark'] * amount)
return fees return fees

View File

@ -139,4 +139,10 @@ class PairListManager():
""" """
Create list of pair tuples with (pair, timeframe) Create list of pair tuples with (pair, timeframe)
""" """
return [(pair, timeframe or self._config['timeframe'], CandleType.SPOT) for pair in pairs] return [
(
pair,
timeframe or self._config['timeframe'],
self._config.get('candle_type_def', CandleType.SPOT)
) for pair in pairs
]

View File

@ -564,7 +564,9 @@ class IStrategy(ABC, HyperStrategyMixin):
""" """
if not self.dp: if not self.dp:
raise OperationalException("DataProvider not found.") raise OperationalException("DataProvider not found.")
dataframe = self.dp.ohlcv(pair, self.timeframe) dataframe = self.dp.ohlcv(
pair, self.timeframe, candle_type=self.config.get('candle_type_def', CandleType.SPOT)
)
if not isinstance(dataframe, DataFrame) or dataframe.empty: if not isinstance(dataframe, DataFrame) or dataframe.empty:
logger.warning('Empty candle (OHLCV) data for pair %s', pair) logger.warning('Empty candle (OHLCV) data for pair %s', pair)
return return