diff --git a/freqtrade/constants.py b/freqtrade/constants.py index a5c07ae1f..807b0888b 100644 --- a/freqtrade/constants.py +++ b/freqtrade/constants.py @@ -71,6 +71,19 @@ DEFAULT_DATAFRAME_COLUMNS = ["date", "open", "high", "low", "close", "volume"] # it has wide consequences for stored trades files DEFAULT_TRADES_COLUMNS = ["timestamp", "id", "type", "side", "price", "amount", "cost"] DEFAULT_ORDERFLOW_COLUMNS = ["level", "bid", "ask", "delta"] +ORDERFLOW_ADDED_COLUMNS = [ + "trades", + "orderflow", + "imbalances", + "stacked_imbalances_bid", + "stacked_imbalances_ask", + "max_delta", + "min_delta", + "bid", + "ask", + "delta", + "total_trades", +] TRADES_DTYPES = { "timestamp": "int64", "id": "str", diff --git a/freqtrade/data/converter/orderflow.py b/freqtrade/data/converter/orderflow.py index 4b4923cfb..2b4a1fc61 100644 --- a/freqtrade/data/converter/orderflow.py +++ b/freqtrade/data/converter/orderflow.py @@ -9,26 +9,12 @@ from datetime import datetime import numpy as np import pandas as pd -from freqtrade.constants import DEFAULT_ORDERFLOW_COLUMNS, Config +from freqtrade.constants import DEFAULT_ORDERFLOW_COLUMNS, ORDERFLOW_ADDED_COLUMNS, Config from freqtrade.exceptions import DependencyException logger = logging.getLogger(__name__) -ORDERFLOW_ADDED_COLUMNS = [ - "trades", - "orderflow", - "imbalances", - "stacked_imbalances_bid", - "stacked_imbalances_ask", - "max_delta", - "min_delta", - "bid", - "ask", - "delta", - "total_trades", -] - def _init_dataframe_with_trades_columns(dataframe: pd.DataFrame): """ diff --git a/freqtrade/freqai/data_kitchen.py b/freqtrade/freqai/data_kitchen.py index 6cb52eb29..c03dbb276 100644 --- a/freqtrade/freqai/data_kitchen.py +++ b/freqtrade/freqai/data_kitchen.py @@ -16,7 +16,7 @@ from pandas import DataFrame from sklearn.model_selection import train_test_split from freqtrade.configuration import TimeRange -from freqtrade.constants import DOCS_LINK, Config +from freqtrade.constants import DOCS_LINK, ORDERFLOW_ADDED_COLUMNS, Config from freqtrade.data.converter import reduce_dataframe_footprint from freqtrade.exceptions import OperationalException from freqtrade.exchange import timeframe_to_seconds @@ -709,6 +709,11 @@ class FreqaiDataKitchen: skip_columns = [ (f"{s}_{suffix}") for s in ["date", "open", "high", "low", "close", "volume"] ] + + for s in ORDERFLOW_ADDED_COLUMNS: + if s in dataframe.columns and f"{s}_{suffix}" in dataframe.columns: + skip_columns.append(f"{s}_{suffix}") + dataframe = dataframe.drop(columns=skip_columns) return dataframe