引入时间衰减因子
This commit is contained in:
parent
259f1b4f16
commit
6d4cffb2c9
@ -348,19 +348,19 @@ class OKXRegressionStrategy(IStrategy):
|
||||
|
||||
def _dynamic_take_profit(self, dataframe: DataFrame, metadata: dict, atr_col: str = 'ATR_14', multiplier: float = 2.0) -> DataFrame:
|
||||
"""
|
||||
封装动态止盈逻辑,基于入场价和ATR计算止盈线
|
||||
封装动态止盈逻辑,基于入场价、ATR 和 ADX 调整止盈线
|
||||
:param dataframe: 原始DataFrame
|
||||
:param metadata: 策略元数据
|
||||
:param atr_col: 使用的ATR列名
|
||||
:param multiplier: ATR乘数
|
||||
:param multiplier: ATR乘数(基础值)
|
||||
:return: 更新后的DataFrame
|
||||
"""
|
||||
# 获取交易对信息
|
||||
pair = metadata.get('pair', 'unknown')
|
||||
|
||||
|
||||
# 设置默认的止盈倍数
|
||||
take_profit_multiplier = 2.0
|
||||
|
||||
|
||||
# 根据交易对调整止盈倍数(示例:BTC/USDT 更稳定,止盈倍数较高)
|
||||
if pair == "BTC/USDT":
|
||||
take_profit_multiplier = 3.0
|
||||
@ -370,10 +370,41 @@ class OKXRegressionStrategy(IStrategy):
|
||||
take_profit_multiplier = 2.0
|
||||
elif pair == "XRP/USDT":
|
||||
take_profit_multiplier = 2.0
|
||||
|
||||
|
||||
# 计算当前ATR在历史窗口中的百分位
|
||||
historical_atr = dataframe[atr_col].rolling(window=20).mean().dropna().values
|
||||
if len(historical_atr) < 20:
|
||||
return dataframe
|
||||
|
||||
current_atr = dataframe[atr_col].iloc[-1]
|
||||
percentile = (np.sum(historical_atr < current_atr) / len(historical_atr)) * 100
|
||||
|
||||
# 根据波动率百分位调整止盈倍数
|
||||
if percentile > 80: # 高波动市场,缩短止盈距离
|
||||
volatility_adjustment = 0.8
|
||||
elif percentile < 20: # 低波动市场,拉长止盈距离
|
||||
volatility_adjustment = 1.2
|
||||
else: # 正常波动市场,保持默认
|
||||
volatility_adjustment = 1.0
|
||||
|
||||
# 获取ADX指标判断趋势强度
|
||||
dataframe['adx'] = ta.ADX(dataframe["high"], dataframe["low"], dataframe["close"], timeperiod=14)
|
||||
adx_value = dataframe['adx'].iloc[-1]
|
||||
|
||||
# 根据ADX趋势强度调整止盈倍数
|
||||
if adx_value > 25: # 强趋势,延长止盈距离
|
||||
trend_adjustment = 1.3
|
||||
elif adx_value < 15: # 震荡行情,缩短止盈距离
|
||||
trend_adjustment = 0.7
|
||||
else: # 中性趋势,保持默认
|
||||
trend_adjustment = 1.0
|
||||
|
||||
# 综合调整止盈倍数
|
||||
adjusted_multiplier = take_profit_multiplier * volatility_adjustment * trend_adjustment
|
||||
|
||||
# 计算止盈线
|
||||
dataframe['entry_price'] = dataframe['open'].where(dataframe['enter_long'] == 1).ffill()
|
||||
dataframe['take_profit_line'] = dataframe['entry_price'] + dataframe[atr_col] * take_profit_multiplier
|
||||
dataframe['take_profit_line'] = dataframe['entry_price'] + dataframe[atr_col] * adjusted_multiplier
|
||||
|
||||
# 应用止盈逻辑
|
||||
dataframe.loc[
|
||||
@ -382,6 +413,7 @@ class OKXRegressionStrategy(IStrategy):
|
||||
] = 1
|
||||
|
||||
return dataframe
|
||||
|
||||
def populate_exit_trend(self, dataframe: DataFrame, metadata: Dict) -> DataFrame:
|
||||
# 确保 ATR 列存在
|
||||
if 'ATR_14' not in dataframe.columns:
|
||||
@ -405,11 +437,64 @@ class OKXRegressionStrategy(IStrategy):
|
||||
def custom_stoploss(self, pair: str, trade: 'Trade', current_time: datetime,
|
||||
current_rate: float, profit_percent: float,
|
||||
after_fill: bool, **kwargs) -> Optional[float]:
|
||||
|
||||
"""
|
||||
自适应止损:基于市场波动率百分位动态调整ATR乘数
|
||||
"""
|
||||
if trade.enter_tag == 'long':
|
||||
atr_value = self.dp.get_pair_dataframe(pair, timeframe=self.timeframe)['ATR_14'].iloc[-1]
|
||||
trailing_stop = current_rate - atr_value * 1.5
|
||||
return trailing_stop / current_rate - 1 # 返回相对百分比
|
||||
# 获取多个周期的ATR值
|
||||
dataframe = self.dp.get_pair_dataframe(pair, timeframe=self.timeframe)
|
||||
|
||||
# 计算不同周期的ATR
|
||||
dataframe['ATR_7'] = ta.ATR(dataframe['high'], dataframe['low'], dataframe['close'], timeperiod=7)
|
||||
dataframe['ATR_14'] = ta.ATR(dataframe['high'], dataframe['low'], dataframe['close'], timeperiod=14)
|
||||
dataframe['ATR_21'] = ta.ATR(dataframe['high'], dataframe['low'], dataframe['close'], timeperiod=21)
|
||||
|
||||
# 计算20日平均ATR(用于百分位计算)
|
||||
avg_atr_window = 20
|
||||
dataframe['avg_atr'] = dataframe['ATR_14'].rolling(window=avg_atr_window).mean()
|
||||
|
||||
# 获取最新数据
|
||||
latest_row = dataframe.iloc[-1].copy()
|
||||
|
||||
# 计算当前ATR在历史窗口中的百分位
|
||||
historical_atr = dataframe['avg_atr'].dropna().values
|
||||
if len(historical_atr) < avg_atr_window:
|
||||
return None
|
||||
|
||||
current_atr = latest_row['avg_atr']
|
||||
percentile = (np.sum(historical_atr < current_atr) / len(historical_atr)) * 100
|
||||
|
||||
# 根据市场波动率百分位选择ATR乘数
|
||||
if percentile > 80: # 高波动市场
|
||||
atr_multiplier = 1.5
|
||||
elif percentile < 20: # 低波动市场
|
||||
atr_multiplier = 2.5
|
||||
else: # 正常波动市场
|
||||
atr_multiplier = 2.0
|
||||
|
||||
# 根据交易对调整基础ATR值
|
||||
pair_specific_atr = {
|
||||
"BTC/USDT": latest_row['ATR_14'],
|
||||
"ETH/USDT": latest_row['ATR_14'],
|
||||
"OKB/USDT": latest_row['ATR_7'],
|
||||
"TON/USDT": latest_row['ATR_7']
|
||||
}
|
||||
|
||||
if pair in pair_specific_atr:
|
||||
base_atr = pair_specific_atr[pair]
|
||||
else:
|
||||
base_atr = latest_row['ATR_14']
|
||||
|
||||
# 计算追踪止损价格
|
||||
trailing_stop = current_rate - base_atr * atr_multiplier
|
||||
|
||||
# 添加额外条件:确保止损不低于入场价的一定比例
|
||||
min_profit_ratio = 0.005 # 最低盈利0.5%
|
||||
min_stop_price = trade.open_rate * (1 + min_profit_ratio)
|
||||
final_stop_price = max(trailing_stop, min_stop_price)
|
||||
|
||||
return final_stop_price / current_rate - 1 # 返回相对百分比
|
||||
|
||||
return None
|
||||
|
||||
def leverage(self, pair: str, current_time: 'datetime', current_rate: float,
|
||||
|
||||
268
output.log
268
output.log
@ -1,103 +1,103 @@
|
||||
Creating freqtrade_freqtrade_run ...
|
||||
Creating freqtrade_freqtrade_run ... done
|
||||
2025-05-04 10:49:39,348 - freqtrade - INFO - freqtrade docker-2025.4-dev-23e4943b
|
||||
2025-05-04 10:49:39,557 - numexpr.utils - INFO - NumExpr defaulting to 12 threads.
|
||||
2025-05-04 10:49:40,987 - freqtrade.configuration.load_config - INFO - Using config: /freqtrade/config_examples/config_freqai.okx.json ...
|
||||
2025-05-04 10:49:40,989 - freqtrade.loggers - INFO - Enabling colorized output.
|
||||
2025-05-04 10:49:40,989 - root - INFO - Logfile configured
|
||||
2025-05-04 10:49:40,990 - freqtrade.loggers - INFO - Verbosity set to 0
|
||||
2025-05-04 10:49:40,990 - freqtrade.configuration.configuration - INFO - Using additional Strategy lookup path: /freqtrade/templates
|
||||
2025-05-04 10:49:40,990 - freqtrade.configuration.configuration - INFO - Using max_open_trades: 4 ...
|
||||
2025-05-04 10:49:40,991 - freqtrade.configuration.configuration - INFO - Parameter --fee detected, setting fee to: 0.0008 ...
|
||||
2025-05-04 10:49:40,991 - freqtrade.configuration.configuration - INFO - Parameter --timerange detected: 20250407-20250415 ...
|
||||
2025-05-04 10:49:41,020 - freqtrade.configuration.configuration - INFO - Using user-data directory: /freqtrade/user_data ...
|
||||
2025-05-04 10:49:41,021 - freqtrade.configuration.configuration - INFO - Using data directory: /freqtrade/user_data/data/okx ...
|
||||
2025-05-04 10:49:41,022 - freqtrade.configuration.configuration - INFO - Parameter --cache=none detected ...
|
||||
2025-05-04 10:49:41,022 - freqtrade.configuration.configuration - INFO - Filter trades by timerange: 20250407-20250415
|
||||
2025-05-04 10:49:41,022 - freqtrade.configuration.configuration - INFO - Using freqaimodel class name: XGBoostRegressor
|
||||
2025-05-04 10:49:41,024 - freqtrade.exchange.check_exchange - INFO - Checking exchange...
|
||||
2025-05-04 10:49:41,032 - freqtrade.exchange.check_exchange - INFO - Exchange "okx" is officially supported by the Freqtrade development team.
|
||||
2025-05-04 10:49:41,032 - freqtrade.configuration.configuration - INFO - Using pairlist from configuration.
|
||||
2025-05-04 10:49:41,033 - freqtrade.configuration.config_validation - INFO - Validating configuration ...
|
||||
2025-05-04 10:49:41,035 - freqtrade.commands.optimize_commands - INFO - Starting freqtrade in Backtesting mode
|
||||
2025-05-04 10:49:41,036 - freqtrade.exchange.exchange - INFO - Instance is running with dry_run enabled
|
||||
2025-05-04 10:49:41,036 - freqtrade.exchange.exchange - INFO - Using CCXT 4.4.77
|
||||
2025-05-04 10:49:41,036 - freqtrade.exchange.exchange - INFO - Applying additional ccxt config: {'enableRateLimit': True, 'rateLimit': 500, 'options': {'defaultType': 'spot'}}
|
||||
2025-05-04 10:49:41,042 - freqtrade.exchange.exchange - INFO - Applying additional ccxt config: {'enableRateLimit': True, 'rateLimit': 500, 'options': {'defaultType': 'spot'}, 'timeout': 20000}
|
||||
2025-05-04 10:49:41,048 - freqtrade.exchange.exchange - INFO - Using Exchange "OKX"
|
||||
2025-05-04 10:49:43,603 - freqtrade.resolvers.exchange_resolver - INFO - Using resolved exchange 'Okx'...
|
||||
2025-05-04 10:49:43,657 - freqtrade.resolvers.iresolver - INFO - Using resolved strategy OKXRegressionStrategy from '/freqtrade/templates/OKXRegressionStrategy.py'...
|
||||
2025-05-04 10:49:43,658 - freqtrade.strategy.hyper - INFO - Found no parameter file.
|
||||
2025-05-04 10:49:43,658 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'timeframe' with value in config file: 3m.
|
||||
2025-05-04 10:49:43,659 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'stoploss' with value in config file: -0.05.
|
||||
2025-05-04 10:49:43,659 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'stake_currency' with value in config file: USDT.
|
||||
2025-05-04 10:49:43,659 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'stake_amount' with value in config file: 150.
|
||||
2025-05-04 10:49:43,660 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'startup_candle_count' with value in config file: 30.
|
||||
2025-05-04 10:49:43,660 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'unfilledtimeout' with value in config file: {'entry': 5, 'exit': 15, 'exit_timeout_count': 0, 'unit':
|
||||
2025-05-04 11:40:32,235 - freqtrade - INFO - freqtrade docker-2025.4-dev-23e4943b
|
||||
2025-05-04 11:40:32,439 - numexpr.utils - INFO - NumExpr defaulting to 12 threads.
|
||||
2025-05-04 11:40:33,890 - freqtrade.configuration.load_config - INFO - Using config: /freqtrade/config_examples/config_freqai.okx.json ...
|
||||
2025-05-04 11:40:33,893 - freqtrade.loggers - INFO - Enabling colorized output.
|
||||
2025-05-04 11:40:33,893 - root - INFO - Logfile configured
|
||||
2025-05-04 11:40:33,893 - freqtrade.loggers - INFO - Verbosity set to 0
|
||||
2025-05-04 11:40:33,894 - freqtrade.configuration.configuration - INFO - Using additional Strategy lookup path: /freqtrade/templates
|
||||
2025-05-04 11:40:33,894 - freqtrade.configuration.configuration - INFO - Using max_open_trades: 4 ...
|
||||
2025-05-04 11:40:33,894 - freqtrade.configuration.configuration - INFO - Parameter --fee detected, setting fee to: 0.0008 ...
|
||||
2025-05-04 11:40:33,895 - freqtrade.configuration.configuration - INFO - Parameter --timerange detected: 20250407-20250415 ...
|
||||
2025-05-04 11:40:33,920 - freqtrade.configuration.configuration - INFO - Using user-data directory: /freqtrade/user_data ...
|
||||
2025-05-04 11:40:33,921 - freqtrade.configuration.configuration - INFO - Using data directory: /freqtrade/user_data/data/okx ...
|
||||
2025-05-04 11:40:33,921 - freqtrade.configuration.configuration - INFO - Parameter --cache=none detected ...
|
||||
2025-05-04 11:40:33,921 - freqtrade.configuration.configuration - INFO - Filter trades by timerange: 20250407-20250415
|
||||
2025-05-04 11:40:33,922 - freqtrade.configuration.configuration - INFO - Using freqaimodel class name: XGBoostRegressor
|
||||
2025-05-04 11:40:33,923 - freqtrade.exchange.check_exchange - INFO - Checking exchange...
|
||||
2025-05-04 11:40:33,929 - freqtrade.exchange.check_exchange - INFO - Exchange "okx" is officially supported by the Freqtrade development team.
|
||||
2025-05-04 11:40:33,929 - freqtrade.configuration.configuration - INFO - Using pairlist from configuration.
|
||||
2025-05-04 11:40:33,930 - freqtrade.configuration.config_validation - INFO - Validating configuration ...
|
||||
2025-05-04 11:40:33,932 - freqtrade.commands.optimize_commands - INFO - Starting freqtrade in Backtesting mode
|
||||
2025-05-04 11:40:33,932 - freqtrade.exchange.exchange - INFO - Instance is running with dry_run enabled
|
||||
2025-05-04 11:40:33,933 - freqtrade.exchange.exchange - INFO - Using CCXT 4.4.77
|
||||
2025-05-04 11:40:33,933 - freqtrade.exchange.exchange - INFO - Applying additional ccxt config: {'enableRateLimit': True, 'rateLimit': 500, 'options': {'defaultType': 'spot'}}
|
||||
2025-05-04 11:40:33,938 - freqtrade.exchange.exchange - INFO - Applying additional ccxt config: {'enableRateLimit': True, 'rateLimit': 500, 'options': {'defaultType': 'spot'}, 'timeout': 20000}
|
||||
2025-05-04 11:40:33,944 - freqtrade.exchange.exchange - INFO - Using Exchange "OKX"
|
||||
2025-05-04 11:40:36,494 - freqtrade.resolvers.exchange_resolver - INFO - Using resolved exchange 'Okx'...
|
||||
2025-05-04 11:40:36,548 - freqtrade.resolvers.iresolver - INFO - Using resolved strategy OKXRegressionStrategy from '/freqtrade/templates/OKXRegressionStrategy.py'...
|
||||
2025-05-04 11:40:36,549 - freqtrade.strategy.hyper - INFO - Found no parameter file.
|
||||
2025-05-04 11:40:36,549 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'timeframe' with value in config file: 3m.
|
||||
2025-05-04 11:40:36,550 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'stoploss' with value in config file: -0.05.
|
||||
2025-05-04 11:40:36,550 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'stake_currency' with value in config file: USDT.
|
||||
2025-05-04 11:40:36,550 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'stake_amount' with value in config file: 150.
|
||||
2025-05-04 11:40:36,551 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'startup_candle_count' with value in config file: 30.
|
||||
2025-05-04 11:40:36,551 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'unfilledtimeout' with value in config file: {'entry': 5, 'exit': 15, 'exit_timeout_count': 0, 'unit':
|
||||
'minutes'}.
|
||||
2025-05-04 10:49:43,661 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'max_open_trades' with value in config file: 4.
|
||||
2025-05-04 10:49:43,661 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using minimal_roi: {}
|
||||
2025-05-04 10:49:43,661 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using timeframe: 3m
|
||||
2025-05-04 10:49:43,662 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using stoploss: -0.05
|
||||
2025-05-04 10:49:43,662 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using trailing_stop: True
|
||||
2025-05-04 10:49:43,662 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using trailing_stop_positive: 0.01
|
||||
2025-05-04 10:49:43,663 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using trailing_stop_positive_offset: 0.0
|
||||
2025-05-04 10:49:43,663 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using trailing_only_offset_is_reached: False
|
||||
2025-05-04 10:49:43,663 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using use_custom_stoploss: False
|
||||
2025-05-04 10:49:43,664 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using process_only_new_candles: True
|
||||
2025-05-04 10:49:43,664 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using order_types: {'entry': 'limit', 'exit': 'limit', 'stoploss': 'limit', 'stoploss_on_exchange': False,
|
||||
2025-05-04 11:40:36,551 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'max_open_trades' with value in config file: 4.
|
||||
2025-05-04 11:40:36,552 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using minimal_roi: {}
|
||||
2025-05-04 11:40:36,552 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using timeframe: 3m
|
||||
2025-05-04 11:40:36,552 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using stoploss: -0.05
|
||||
2025-05-04 11:40:36,553 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using trailing_stop: True
|
||||
2025-05-04 11:40:36,553 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using trailing_stop_positive: 0.01
|
||||
2025-05-04 11:40:36,553 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using trailing_stop_positive_offset: 0.0
|
||||
2025-05-04 11:40:36,554 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using trailing_only_offset_is_reached: False
|
||||
2025-05-04 11:40:36,554 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using use_custom_stoploss: False
|
||||
2025-05-04 11:40:36,554 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using process_only_new_candles: True
|
||||
2025-05-04 11:40:36,555 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using order_types: {'entry': 'limit', 'exit': 'limit', 'stoploss': 'limit', 'stoploss_on_exchange': False,
|
||||
'stoploss_on_exchange_interval': 60}
|
||||
2025-05-04 10:49:43,665 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using order_time_in_force: {'entry': 'GTC', 'exit': 'GTC'}
|
||||
2025-05-04 10:49:43,665 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using stake_currency: USDT
|
||||
2025-05-04 10:49:43,665 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using stake_amount: 150
|
||||
2025-05-04 10:49:43,666 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using startup_candle_count: 30
|
||||
2025-05-04 10:49:43,666 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using unfilledtimeout: {'entry': 5, 'exit': 15, 'exit_timeout_count': 0, 'unit': 'minutes'}
|
||||
2025-05-04 10:49:43,666 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using use_exit_signal: True
|
||||
2025-05-04 10:49:43,667 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using exit_profit_only: False
|
||||
2025-05-04 10:49:43,667 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using ignore_roi_if_entry_signal: False
|
||||
2025-05-04 10:49:43,667 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using exit_profit_offset: 0.0
|
||||
2025-05-04 10:49:43,668 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using disable_dataframe_checks: False
|
||||
2025-05-04 10:49:43,668 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using ignore_buying_expired_candle_after: 0
|
||||
2025-05-04 10:49:43,668 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using position_adjustment_enable: False
|
||||
2025-05-04 10:49:43,669 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using max_entry_position_adjustment: -1
|
||||
2025-05-04 10:49:43,669 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using max_open_trades: 4
|
||||
2025-05-04 10:49:43,670 - freqtrade.configuration.config_validation - INFO - Validating configuration ...
|
||||
2025-05-04 10:49:43,673 - freqtrade.resolvers.iresolver - INFO - Using resolved pairlist StaticPairList from '/freqtrade/freqtrade/plugins/pairlist/StaticPairList.py'...
|
||||
2025-05-04 10:49:43,679 - freqtrade.optimize.backtesting - INFO - Using fee 0.0800% from config.
|
||||
2025-05-04 10:49:43,680 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 3m to 43250
|
||||
2025-05-04 10:49:43,681 - freqtrade.data.history.history_utils - INFO - Using indicator startup period: 43250 ...
|
||||
2025-05-04 10:49:43,823 - freqtrade.optimize.backtesting - INFO - Loading data from 2025-01-06 21:30:00 up to 2025-04-15 00:00:00 (98 days).
|
||||
2025-05-04 10:49:43,824 - freqtrade.optimize.backtesting - INFO - Dataload complete. Calculating indicators
|
||||
2025-05-04 10:49:43,825 - freqtrade.optimize.backtesting - INFO - Running backtesting for Strategy OKXRegressionStrategy
|
||||
2025-05-04 10:49:45,413 - matplotlib.font_manager - INFO - generated new fontManager
|
||||
2025-05-04 10:49:45,619 - freqtrade.resolvers.iresolver - INFO - Using resolved freqaimodel XGBoostRegressor from '/freqtrade/freqtrade/freqai/prediction_models/XGBoostRegressor.py'...
|
||||
2025-05-04 10:49:45,619 - freqtrade.freqai.data_drawer - INFO - Could not find existing datadrawer, starting from scratch
|
||||
2025-05-04 10:49:45,620 - freqtrade.freqai.data_drawer - INFO - Could not find existing historic_predictions, starting from scratch
|
||||
2025-05-04 10:49:45,620 - freqtrade.freqai.freqai_interface - INFO - Set fresh train queue from whitelist. Queue: ['OKB/USDT', 'TON/USDT']
|
||||
2025-05-04 10:49:45,621 - freqtrade.strategy.hyper - INFO - No params for buy found, using default values.
|
||||
2025-05-04 10:49:45,621 - freqtrade.strategy.hyper - INFO - Strategy Parameter(default): atr_period = 14
|
||||
2025-05-04 10:49:45,621 - freqtrade.strategy.hyper - INFO - No params for sell found, using default values.
|
||||
2025-05-04 10:49:45,622 - freqtrade.strategy.hyper - INFO - Strategy Parameter(default): atr_multiplier = 2.0
|
||||
2025-05-04 10:49:45,622 - freqtrade.strategy.hyper - INFO - No params for protection found, using default values.
|
||||
2025-05-04 10:49:45,627 - freqtrade.freqai.freqai_interface - INFO - Training 1 timeranges
|
||||
2025-05-04 10:49:45,629 - freqtrade.freqai.freqai_interface - INFO - Training OKB/USDT, 1/2 pairs from 2025-01-07 00:00:00 to 2025-04-07 00:00:00, 1/1 trains
|
||||
2025-05-04 10:49:45,629 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at
|
||||
2025-05-04 11:40:36,555 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using order_time_in_force: {'entry': 'GTC', 'exit': 'GTC'}
|
||||
2025-05-04 11:40:36,555 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using stake_currency: USDT
|
||||
2025-05-04 11:40:36,556 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using stake_amount: 150
|
||||
2025-05-04 11:40:36,556 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using startup_candle_count: 30
|
||||
2025-05-04 11:40:36,556 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using unfilledtimeout: {'entry': 5, 'exit': 15, 'exit_timeout_count': 0, 'unit': 'minutes'}
|
||||
2025-05-04 11:40:36,557 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using use_exit_signal: True
|
||||
2025-05-04 11:40:36,557 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using exit_profit_only: False
|
||||
2025-05-04 11:40:36,557 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using ignore_roi_if_entry_signal: False
|
||||
2025-05-04 11:40:36,558 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using exit_profit_offset: 0.0
|
||||
2025-05-04 11:40:36,558 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using disable_dataframe_checks: False
|
||||
2025-05-04 11:40:36,558 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using ignore_buying_expired_candle_after: 0
|
||||
2025-05-04 11:40:36,559 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using position_adjustment_enable: False
|
||||
2025-05-04 11:40:36,559 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using max_entry_position_adjustment: -1
|
||||
2025-05-04 11:40:36,559 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using max_open_trades: 4
|
||||
2025-05-04 11:40:36,560 - freqtrade.configuration.config_validation - INFO - Validating configuration ...
|
||||
2025-05-04 11:40:36,563 - freqtrade.resolvers.iresolver - INFO - Using resolved pairlist StaticPairList from '/freqtrade/freqtrade/plugins/pairlist/StaticPairList.py'...
|
||||
2025-05-04 11:40:36,569 - freqtrade.optimize.backtesting - INFO - Using fee 0.0800% from config.
|
||||
2025-05-04 11:40:36,570 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 3m to 43250
|
||||
2025-05-04 11:40:36,570 - freqtrade.data.history.history_utils - INFO - Using indicator startup period: 43250 ...
|
||||
2025-05-04 11:40:36,708 - freqtrade.optimize.backtesting - INFO - Loading data from 2025-01-06 21:30:00 up to 2025-04-15 00:00:00 (98 days).
|
||||
2025-05-04 11:40:36,708 - freqtrade.optimize.backtesting - INFO - Dataload complete. Calculating indicators
|
||||
2025-05-04 11:40:36,709 - freqtrade.optimize.backtesting - INFO - Running backtesting for Strategy OKXRegressionStrategy
|
||||
2025-05-04 11:40:38,275 - matplotlib.font_manager - INFO - generated new fontManager
|
||||
2025-05-04 11:40:38,479 - freqtrade.resolvers.iresolver - INFO - Using resolved freqaimodel XGBoostRegressor from '/freqtrade/freqtrade/freqai/prediction_models/XGBoostRegressor.py'...
|
||||
2025-05-04 11:40:38,480 - freqtrade.freqai.data_drawer - INFO - Could not find existing datadrawer, starting from scratch
|
||||
2025-05-04 11:40:38,481 - freqtrade.freqai.data_drawer - INFO - Could not find existing historic_predictions, starting from scratch
|
||||
2025-05-04 11:40:38,481 - freqtrade.freqai.freqai_interface - INFO - Set fresh train queue from whitelist. Queue: ['OKB/USDT', 'TON/USDT']
|
||||
2025-05-04 11:40:38,482 - freqtrade.strategy.hyper - INFO - No params for buy found, using default values.
|
||||
2025-05-04 11:40:38,482 - freqtrade.strategy.hyper - INFO - Strategy Parameter(default): atr_period = 14
|
||||
2025-05-04 11:40:38,483 - freqtrade.strategy.hyper - INFO - No params for sell found, using default values.
|
||||
2025-05-04 11:40:38,483 - freqtrade.strategy.hyper - INFO - Strategy Parameter(default): atr_multiplier = 2.0
|
||||
2025-05-04 11:40:38,483 - freqtrade.strategy.hyper - INFO - No params for protection found, using default values.
|
||||
2025-05-04 11:40:38,489 - freqtrade.freqai.freqai_interface - INFO - Training 1 timeranges
|
||||
2025-05-04 11:40:38,491 - freqtrade.freqai.freqai_interface - INFO - Training OKB/USDT, 1/2 pairs from 2025-01-07 00:00:00 to 2025-04-07 00:00:00, 1/1 trains
|
||||
2025-05-04 11:40:38,491 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at
|
||||
/freqtrade/user_data/models/test175/backtesting_predictions/cb_okb_1743984000_prediction.feather
|
||||
2025-05-04 10:49:45,875 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 3m to 43250
|
||||
2025-05-04 10:49:45,875 - freqtrade.data.dataprovider - INFO - Loading data for BTC/USDT 3m from 2025-01-06 21:30:00 to 2025-04-15 00:00:00
|
||||
2025-05-04 10:49:46,073 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 3m to 43250
|
||||
2025-05-04 10:49:46,074 - freqtrade.data.dataprovider - INFO - Loading data for ETH/USDT 3m from 2025-01-06 21:30:00 to 2025-04-15 00:00:00
|
||||
2025-05-04 11:40:38,746 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 3m to 43250
|
||||
2025-05-04 11:40:38,746 - freqtrade.data.dataprovider - INFO - Loading data for BTC/USDT 3m from 2025-01-06 21:30:00 to 2025-04-15 00:00:00
|
||||
2025-05-04 11:40:38,944 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 3m to 43250
|
||||
2025-05-04 11:40:38,945 - freqtrade.data.dataprovider - INFO - Loading data for ETH/USDT 3m from 2025-01-06 21:30:00 to 2025-04-15 00:00:00
|
||||
/freqtrade/templates/OKXRegressionStrategy.py:246: FutureWarning: DataFrame.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
|
||||
dataframe = dataframe.fillna(method="ffill").fillna(0)
|
||||
/freqtrade/templates/OKXRegressionStrategy.py:246: FutureWarning: DataFrame.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
|
||||
dataframe = dataframe.fillna(method="ffill").fillna(0)
|
||||
2025-05-04 10:49:52,079 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-OKB_1743984000/cb_okb_1743984000
|
||||
2025-05-04 10:49:52,080 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training OKB/USDT --------------------
|
||||
2025-05-04 10:49:52,209 - freqtrade.freqai.data_kitchen - INFO - OKB/USDT: dropped 0 training points due to NaNs in populated dataset 43200.
|
||||
2025-05-04 10:49:52,210 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-01-07 to 2025-04-06 --------------------
|
||||
2025-05-04 10:49:52,264 - datasieve.pipeline - INFO - VarianceThreshold will remove 1 features from the dataset.on transform. ['%-hour_of_day']
|
||||
2025-05-04 10:49:52,312 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 181 features
|
||||
2025-05-04 10:49:52,313 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 34560 data points
|
||||
2025-05-04 11:40:45,045 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-OKB_1743984000/cb_okb_1743984000
|
||||
2025-05-04 11:40:45,046 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training OKB/USDT --------------------
|
||||
2025-05-04 11:40:45,176 - freqtrade.freqai.data_kitchen - INFO - OKB/USDT: dropped 0 training points due to NaNs in populated dataset 43200.
|
||||
2025-05-04 11:40:45,176 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-01-07 to 2025-04-06 --------------------
|
||||
2025-05-04 11:40:45,233 - datasieve.pipeline - INFO - VarianceThreshold will remove 1 features from the dataset.on transform. ['%-hour_of_day']
|
||||
2025-05-04 11:40:45,285 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 181 features
|
||||
2025-05-04 11:40:45,285 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 34560 data points
|
||||
[0] validation_0-rmse:0.36629 validation_1-rmse:0.37143
|
||||
[1] validation_0-rmse:0.36088 validation_1-rmse:0.36593
|
||||
[2] validation_0-rmse:0.35557 validation_1-rmse:0.36052
|
||||
@ -398,13 +398,13 @@ Creating freqtrade_freqtrade_run ... done
|
||||
[297] validation_0-rmse:0.03425 validation_1-rmse:0.02814
|
||||
[298] validation_0-rmse:0.03423 validation_1-rmse:0.02811
|
||||
[299] validation_0-rmse:0.03422 validation_1-rmse:0.02808
|
||||
2025-05-04 10:54:39,557 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training OKB/USDT (287.48 secs) --------------------
|
||||
2025-05-04 10:54:39,775 - freqtrade.plot.plotting - INFO - Stored plot as /freqtrade/user_data/models/test175/sub-train-OKB_1743984000/cb_okb_1743984000--s_close.html
|
||||
2025-05-04 10:54:39,776 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk.
|
||||
2025-05-04 10:54:39,838 - datasieve.pipeline - WARNING - Could not find step di in pipeline, returning None
|
||||
2025-05-04 10:54:39,925 - freqtrade.freqai.freqai_interface - INFO - Training 1 timeranges
|
||||
2025-05-04 10:54:39,926 - freqtrade.freqai.freqai_interface - INFO - Training TON/USDT, 2/2 pairs from 2025-01-07 00:00:00 to 2025-04-07 00:00:00, 1/1 trains
|
||||
2025-05-04 10:54:39,927 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at
|
||||
2025-05-04 11:42:53,857 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training OKB/USDT (128.81 secs) --------------------
|
||||
2025-05-04 11:42:54,083 - freqtrade.plot.plotting - INFO - Stored plot as /freqtrade/user_data/models/test175/sub-train-OKB_1743984000/cb_okb_1743984000--s_close.html
|
||||
2025-05-04 11:42:54,084 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk.
|
||||
2025-05-04 11:42:54,146 - datasieve.pipeline - WARNING - Could not find step di in pipeline, returning None
|
||||
2025-05-04 11:42:54,238 - freqtrade.freqai.freqai_interface - INFO - Training 1 timeranges
|
||||
2025-05-04 11:42:54,239 - freqtrade.freqai.freqai_interface - INFO - Training TON/USDT, 2/2 pairs from 2025-01-07 00:00:00 to 2025-04-07 00:00:00, 1/1 trains
|
||||
2025-05-04 11:42:54,239 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at
|
||||
/freqtrade/user_data/models/test175/backtesting_predictions/cb_ton_1743984000_prediction.feather
|
||||
/freqtrade/templates/OKXRegressionStrategy.py:246: FutureWarning:
|
||||
|
||||
@ -414,13 +414,13 @@ DataFrame.fillna with 'method' is deprecated and will raise in a future version.
|
||||
|
||||
DataFrame.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
|
||||
|
||||
2025-05-04 10:54:46,169 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-TON_1743984000/cb_ton_1743984000
|
||||
2025-05-04 10:54:46,169 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training TON/USDT --------------------
|
||||
2025-05-04 10:54:46,285 - freqtrade.freqai.data_kitchen - INFO - TON/USDT: dropped 0 training points due to NaNs in populated dataset 43200.
|
||||
2025-05-04 10:54:46,286 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-01-07 to 2025-04-06 --------------------
|
||||
2025-05-04 10:54:46,340 - datasieve.pipeline - INFO - VarianceThreshold will remove 1 features from the dataset.on transform. ['%-hour_of_day']
|
||||
2025-05-04 10:54:46,388 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 181 features
|
||||
2025-05-04 10:54:46,388 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 34560 data points
|
||||
2025-05-04 11:43:00,429 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-TON_1743984000/cb_ton_1743984000
|
||||
2025-05-04 11:43:00,429 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training TON/USDT --------------------
|
||||
2025-05-04 11:43:00,548 - freqtrade.freqai.data_kitchen - INFO - TON/USDT: dropped 0 training points due to NaNs in populated dataset 43200.
|
||||
2025-05-04 11:43:00,549 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-01-07 to 2025-04-06 --------------------
|
||||
2025-05-04 11:43:00,606 - datasieve.pipeline - INFO - VarianceThreshold will remove 1 features from the dataset.on transform. ['%-hour_of_day']
|
||||
2025-05-04 11:43:00,657 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 181 features
|
||||
2025-05-04 11:43:00,658 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 34560 data points
|
||||
[0] validation_0-rmse:0.52241 validation_1-rmse:0.52534
|
||||
[1] validation_0-rmse:0.51462 validation_1-rmse:0.51751
|
||||
[2] validation_0-rmse:0.50695 validation_1-rmse:0.50980
|
||||
@ -721,20 +721,20 @@ DataFrame.fillna with 'method' is deprecated and will raise in a future version.
|
||||
[297] validation_0-rmse:0.03155 validation_1-rmse:0.02866
|
||||
[298] validation_0-rmse:0.03153 validation_1-rmse:0.02862
|
||||
[299] validation_0-rmse:0.03150 validation_1-rmse:0.02858
|
||||
2025-05-04 10:59:22,550 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training TON/USDT (276.38 secs) --------------------
|
||||
2025-05-04 10:59:22,585 - freqtrade.plot.plotting - INFO - Stored plot as /freqtrade/user_data/models/test175/sub-train-TON_1743984000/cb_ton_1743984000--s_close.html
|
||||
2025-05-04 10:59:22,586 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk.
|
||||
2025-05-04 10:59:22,650 - datasieve.pipeline - WARNING - Could not find step di in pipeline, returning None
|
||||
2025-05-04 10:59:22,731 - freqtrade.optimize.backtesting - INFO - Backtesting with data from 2025-04-07 00:00:00 up to 2025-04-15 00:00:00 (8 days).
|
||||
2025-05-04 10:59:22,926 - freqtrade.misc - INFO - dumping json to "/freqtrade/user_data/backtest_results/backtest-result-2025-05-04_10-59-22.meta.json"
|
||||
2025-05-04 11:46:04,560 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training TON/USDT (184.13 secs) --------------------
|
||||
2025-05-04 11:46:04,595 - freqtrade.plot.plotting - INFO - Stored plot as /freqtrade/user_data/models/test175/sub-train-TON_1743984000/cb_ton_1743984000--s_close.html
|
||||
2025-05-04 11:46:04,596 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk.
|
||||
2025-05-04 11:46:04,661 - datasieve.pipeline - WARNING - Could not find step di in pipeline, returning None
|
||||
2025-05-04 11:46:04,744 - freqtrade.optimize.backtesting - INFO - Backtesting with data from 2025-04-07 00:00:00 up to 2025-04-15 00:00:00 (8 days).
|
||||
2025-05-04 11:46:04,935 - freqtrade.misc - INFO - dumping json to "/freqtrade/user_data/backtest_results/backtest-result-2025-05-04_11-46-04.meta.json"
|
||||
Result for strategy OKXRegressionStrategy
|
||||
BACKTESTING REPORT
|
||||
┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓
|
||||
┃ Pair ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃
|
||||
┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩
|
||||
│ OKB/USDT │ 6 │ 0.55 │ 0.659 │ 0.07 │ 0:28:00 │ 4 0 2 66.7 │
|
||||
│ OKB/USDT │ 6 │ 0.6 │ 0.718 │ 0.07 │ 0:34:00 │ 4 0 2 66.7 │
|
||||
│ TON/USDT │ 3 │ -0.1 │ -0.062 │ -0.01 │ 0:02:00 │ 1 0 2 33.3 │
|
||||
│ TOTAL │ 9 │ 0.33 │ 0.597 │ 0.06 │ 0:19:00 │ 5 0 4 55.6 │
|
||||
│ TOTAL │ 9 │ 0.36 │ 0.656 │ 0.07 │ 0:23:00 │ 5 0 4 55.6 │
|
||||
└──────────┴────────┴──────────────┴─────────────────┴──────────────┴──────────────┴────────────────────────┘
|
||||
LEFT OPEN TRADES REPORT
|
||||
┏━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓
|
||||
@ -746,24 +746,24 @@ Result for strategy OKXRegressionStrategy
|
||||
┏━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓
|
||||
┃ Enter Tag ┃ Entries ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃
|
||||
┡━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩
|
||||
│ OTHER │ 9 │ 0.33 │ 0.597 │ 0.06 │ 0:19:00 │ 5 0 4 55.6 │
|
||||
│ TOTAL │ 9 │ 0.33 │ 0.597 │ 0.06 │ 0:19:00 │ 5 0 4 55.6 │
|
||||
│ OTHER │ 9 │ 0.36 │ 0.656 │ 0.07 │ 0:23:00 │ 5 0 4 55.6 │
|
||||
│ TOTAL │ 9 │ 0.36 │ 0.656 │ 0.07 │ 0:23:00 │ 5 0 4 55.6 │
|
||||
└───────────┴─────────┴──────────────┴─────────────────┴──────────────┴──────────────┴────────────────────────┘
|
||||
EXIT REASON STATS
|
||||
┏━━━━━━━━━━━━━━━━━━━━┳━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓
|
||||
┃ Exit Reason ┃ Exits ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃
|
||||
┡━━━━━━━━━━━━━━━━━━━━╇━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩
|
||||
│ exit_signal │ 3 │ 1.24 │ 0.744 │ 0.07 │ 0:49:00 │ 3 0 0 100 │
|
||||
│ exit_signal │ 3 │ 1.34 │ 0.803 │ 0.08 │ 1:01:00 │ 3 0 0 100 │
|
||||
│ trailing_stop_loss │ 6 │ -0.12 │ -0.147 │ -0.01 │ 0:04:00 │ 2 0 4 33.3 │
|
||||
│ TOTAL │ 9 │ 0.33 │ 0.597 │ 0.06 │ 0:19:00 │ 5 0 4 55.6 │
|
||||
│ TOTAL │ 9 │ 0.36 │ 0.656 │ 0.07 │ 0:23:00 │ 5 0 4 55.6 │
|
||||
└────────────────────┴───────┴──────────────┴─────────────────┴──────────────┴──────────────┴────────────────────────┘
|
||||
MIXED TAG STATS
|
||||
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓
|
||||
┃ Enter Tag ┃ Exit Reason ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃
|
||||
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩
|
||||
│ │ exit_signal │ 3 │ 1.24 │ 0.744 │ 0.07 │ 0:49:00 │ 3 0 0 100 │
|
||||
│ │ exit_signal │ 3 │ 1.34 │ 0.803 │ 0.08 │ 1:01:00 │ 3 0 0 100 │
|
||||
│ │ trailing_stop_loss │ 6 │ -0.12 │ -0.147 │ -0.01 │ 0:04:00 │ 2 0 4 33.3 │
|
||||
│ TOTAL │ │ 9 │ 0.33 │ 0.597 │ 0.06 │ 0:19:00 │ 5 0 4 55.6 │
|
||||
│ TOTAL │ │ 9 │ 0.36 │ 0.656 │ 0.07 │ 0:23:00 │ 5 0 4 55.6 │
|
||||
└───────────┴────────────────────┴────────┴──────────────┴─────────────────┴──────────────┴──────────────┴────────────────────────┘
|
||||
SUMMARY METRICS
|
||||
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┓
|
||||
@ -776,35 +776,35 @@ Result for strategy OKXRegressionStrategy
|
||||
│ │ │
|
||||
│ Total/Daily Avg Trades │ 9 / 1.12 │
|
||||
│ Starting balance │ 1000 USDT │
|
||||
│ Final balance │ 1000.597 USDT │
|
||||
│ Absolute profit │ 0.597 USDT │
|
||||
│ Total profit % │ 0.06% │
|
||||
│ CAGR % │ 2.76% │
|
||||
│ Sortino │ 37.00 │
|
||||
│ Sharpe │ 7.69 │
|
||||
│ Calmar │ 890.73 │
|
||||
│ SQN │ 1.01 │
|
||||
│ Profit factor │ 2.49 │
|
||||
│ Expectancy (Ratio) │ 0.07 (0.66) │
|
||||
│ Final balance │ 1000.656 USDT │
|
||||
│ Absolute profit │ 0.656 USDT │
|
||||
│ Total profit % │ 0.07% │
|
||||
│ CAGR % │ 3.04% │
|
||||
│ Sortino │ 40.69 │
|
||||
│ Sharpe │ 8.15 │
|
||||
│ Calmar │ 979.41 │
|
||||
│ SQN │ 1.07 │
|
||||
│ Profit factor │ 2.64 │
|
||||
│ Expectancy (Ratio) │ 0.07 (0.73) │
|
||||
│ Avg. daily profit % │ 0.01% │
|
||||
│ Avg. stake amount │ 20.003 USDT │
|
||||
│ Total trade volume │ 361.233 USDT │
|
||||
│ Total trade volume │ 361.294 USDT │
|
||||
│ │ │
|
||||
│ Best Pair │ OKB/USDT 0.07% │
|
||||
│ Worst Pair │ TON/USDT -0.01% │
|
||||
│ Best trade │ OKB/USDT 1.95% │
|
||||
│ Best trade │ OKB/USDT 2.13% │
|
||||
│ Worst trade │ OKB/USDT -0.71% │
|
||||
│ Best day │ 0.332 USDT │
|
||||
│ Worst day │ 0 USDT │
|
||||
│ Days win/draw/lose │ 3 / 3 / 0 │
|
||||
│ Avg. Duration Winners │ 0:32:00 │
|
||||
│ Avg. Duration Winners │ 0:39:00 │
|
||||
│ Avg. Duration Loser │ 0:04:00 │
|
||||
│ Max Consecutive Wins / Loss │ 2 / 2 │
|
||||
│ Rejected Entry signals │ 0 │
|
||||
│ Entry/Exit Timeouts │ 0 / 0 │
|
||||
│ │ │
|
||||
│ Min balance │ 999.84 USDT │
|
||||
│ Max balance │ 1000.597 USDT │
|
||||
│ Max balance │ 1000.656 USDT │
|
||||
│ Max % of account underwater │ 0.02% │
|
||||
│ Absolute Drawdown (Account) │ 0.02% │
|
||||
│ Absolute Drawdown │ 0.16 USDT │
|
||||
@ -820,5 +820,5 @@ Backtested 2025-04-07 00:00:00 -> 2025-04-15 00:00:00 | Max open trades : 2
|
||||
┏━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
|
||||
┃ Strategy ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃ Drawdown ┃
|
||||
┡━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
|
||||
│ OKXRegressionStrategy │ 9 │ 0.33 │ 0.597 │ 0.06 │ 0:19:00 │ 5 0 4 55.6 │ 0.16 USDT 0.02% │
|
||||
│ OKXRegressionStrategy │ 9 │ 0.36 │ 0.656 │ 0.07 │ 0:23:00 │ 5 0 4 55.6 │ 0.16 USDT 0.02% │
|
||||
└───────────────────────┴────────┴──────────────┴─────────────────┴──────────────┴──────────────┴────────────────────────┴──────────────────┘
|
||||
|
||||
@ -1,111 +1,111 @@
|
||||
Creating freqtrade_freqtrade_run ...
|
||||
Creating freqtrade_freqtrade_run ... done
|
||||
2025-05-04 10:49:39,348 - freqtrade - INFO - freqtrade docker-2025.4-dev-23e4943b
|
||||
2025-05-04 10:49:39,557 - numexpr.utils - INFO - NumExpr defaulting to 12 threads.
|
||||
2025-05-04 10:49:40,987 - freqtrade.configuration.load_config - INFO - Using config: /freqtrade/config_examples/config_freqai.okx.json ...
|
||||
2025-05-04 10:49:40,989 - freqtrade.loggers - INFO - Enabling colorized output.
|
||||
2025-05-04 10:49:40,989 - root - INFO - Logfile configured
|
||||
2025-05-04 10:49:40,990 - freqtrade.loggers - INFO - Verbosity set to 0
|
||||
2025-05-04 10:49:40,990 - freqtrade.configuration.configuration - INFO - Using additional Strategy lookup path: /freqtrade/templates
|
||||
2025-05-04 10:49:40,990 - freqtrade.configuration.configuration - INFO - Using max_open_trades: 4 ...
|
||||
2025-05-04 10:49:40,991 - freqtrade.configuration.configuration - INFO - Parameter --fee detected, setting fee to: 0.0008 ...
|
||||
2025-05-04 10:49:40,991 - freqtrade.configuration.configuration - INFO - Parameter --timerange detected: 20250407-20250415 ...
|
||||
2025-05-04 10:49:41,020 - freqtrade.configuration.configuration - INFO - Using user-data directory: /freqtrade/user_data ...
|
||||
2025-05-04 10:49:41,021 - freqtrade.configuration.configuration - INFO - Using data directory: /freqtrade/user_data/data/okx ...
|
||||
2025-05-04 10:49:41,022 - freqtrade.configuration.configuration - INFO - Parameter --cache=none detected ...
|
||||
2025-05-04 10:49:41,022 - freqtrade.configuration.configuration - INFO - Filter trades by timerange: 20250407-20250415
|
||||
2025-05-04 10:49:41,022 - freqtrade.configuration.configuration - INFO - Using freqaimodel class name: XGBoostRegressor
|
||||
2025-05-04 10:49:41,024 - freqtrade.exchange.check_exchange - INFO - Checking exchange...
|
||||
2025-05-04 10:49:41,032 - freqtrade.exchange.check_exchange - INFO - Exchange "okx" is officially supported by the Freqtrade development team.
|
||||
2025-05-04 10:49:41,032 - freqtrade.configuration.configuration - INFO - Using pairlist from configuration.
|
||||
2025-05-04 10:49:41,033 - freqtrade.configuration.config_validation - INFO - Validating configuration ...
|
||||
2025-05-04 10:49:41,035 - freqtrade.commands.optimize_commands - INFO - Starting freqtrade in Backtesting mode
|
||||
2025-05-04 10:49:41,036 - freqtrade.exchange.exchange - INFO - Instance is running with dry_run enabled
|
||||
2025-05-04 10:49:41,036 - freqtrade.exchange.exchange - INFO - Using CCXT 4.4.77
|
||||
2025-05-04 10:49:41,036 - freqtrade.exchange.exchange - INFO - Applying additional ccxt config: {'enableRateLimit': True, 'rateLimit': 500, 'options': {'defaultType': 'spot'}}
|
||||
2025-05-04 10:49:41,042 - freqtrade.exchange.exchange - INFO - Applying additional ccxt config: {'enableRateLimit': True, 'rateLimit': 500, 'options': {'defaultType': 'spot'}, 'timeout': 20000}
|
||||
2025-05-04 10:49:41,048 - freqtrade.exchange.exchange - INFO - Using Exchange "OKX"
|
||||
2025-05-04 10:49:43,603 - freqtrade.resolvers.exchange_resolver - INFO - Using resolved exchange 'Okx'...
|
||||
2025-05-04 10:49:43,657 - freqtrade.resolvers.iresolver - INFO - Using resolved strategy OKXRegressionStrategy from '/freqtrade/templates/OKXRegressionStrategy.py'...
|
||||
2025-05-04 10:49:43,658 - freqtrade.strategy.hyper - INFO - Found no parameter file.
|
||||
2025-05-04 10:49:43,658 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'timeframe' with value in config file: 3m.
|
||||
2025-05-04 10:49:43,659 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'stoploss' with value in config file: -0.05.
|
||||
2025-05-04 10:49:43,659 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'stake_currency' with value in config file: USDT.
|
||||
2025-05-04 10:49:43,659 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'stake_amount' with value in config file: 150.
|
||||
2025-05-04 10:49:43,660 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'startup_candle_count' with value in config file: 30.
|
||||
2025-05-04 10:49:43,660 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'unfilledtimeout' with value in config file: {'entry': 5, 'exit': 15, 'exit_timeout_count': 0, 'unit':
|
||||
2025-05-04 11:40:32,235 - freqtrade - INFO - freqtrade docker-2025.4-dev-23e4943b
|
||||
2025-05-04 11:40:32,439 - numexpr.utils - INFO - NumExpr defaulting to 12 threads.
|
||||
2025-05-04 11:40:33,890 - freqtrade.configuration.load_config - INFO - Using config: /freqtrade/config_examples/config_freqai.okx.json ...
|
||||
2025-05-04 11:40:33,893 - freqtrade.loggers - INFO - Enabling colorized output.
|
||||
2025-05-04 11:40:33,893 - root - INFO - Logfile configured
|
||||
2025-05-04 11:40:33,893 - freqtrade.loggers - INFO - Verbosity set to 0
|
||||
2025-05-04 11:40:33,894 - freqtrade.configuration.configuration - INFO - Using additional Strategy lookup path: /freqtrade/templates
|
||||
2025-05-04 11:40:33,894 - freqtrade.configuration.configuration - INFO - Using max_open_trades: 4 ...
|
||||
2025-05-04 11:40:33,894 - freqtrade.configuration.configuration - INFO - Parameter --fee detected, setting fee to: 0.0008 ...
|
||||
2025-05-04 11:40:33,895 - freqtrade.configuration.configuration - INFO - Parameter --timerange detected: 20250407-20250415 ...
|
||||
2025-05-04 11:40:33,920 - freqtrade.configuration.configuration - INFO - Using user-data directory: /freqtrade/user_data ...
|
||||
2025-05-04 11:40:33,921 - freqtrade.configuration.configuration - INFO - Using data directory: /freqtrade/user_data/data/okx ...
|
||||
2025-05-04 11:40:33,921 - freqtrade.configuration.configuration - INFO - Parameter --cache=none detected ...
|
||||
2025-05-04 11:40:33,921 - freqtrade.configuration.configuration - INFO - Filter trades by timerange: 20250407-20250415
|
||||
2025-05-04 11:40:33,922 - freqtrade.configuration.configuration - INFO - Using freqaimodel class name: XGBoostRegressor
|
||||
2025-05-04 11:40:33,923 - freqtrade.exchange.check_exchange - INFO - Checking exchange...
|
||||
2025-05-04 11:40:33,929 - freqtrade.exchange.check_exchange - INFO - Exchange "okx" is officially supported by the Freqtrade development team.
|
||||
2025-05-04 11:40:33,929 - freqtrade.configuration.configuration - INFO - Using pairlist from configuration.
|
||||
2025-05-04 11:40:33,930 - freqtrade.configuration.config_validation - INFO - Validating configuration ...
|
||||
2025-05-04 11:40:33,932 - freqtrade.commands.optimize_commands - INFO - Starting freqtrade in Backtesting mode
|
||||
2025-05-04 11:40:33,932 - freqtrade.exchange.exchange - INFO - Instance is running with dry_run enabled
|
||||
2025-05-04 11:40:33,933 - freqtrade.exchange.exchange - INFO - Using CCXT 4.4.77
|
||||
2025-05-04 11:40:33,933 - freqtrade.exchange.exchange - INFO - Applying additional ccxt config: {'enableRateLimit': True, 'rateLimit': 500, 'options': {'defaultType': 'spot'}}
|
||||
2025-05-04 11:40:33,938 - freqtrade.exchange.exchange - INFO - Applying additional ccxt config: {'enableRateLimit': True, 'rateLimit': 500, 'options': {'defaultType': 'spot'}, 'timeout': 20000}
|
||||
2025-05-04 11:40:33,944 - freqtrade.exchange.exchange - INFO - Using Exchange "OKX"
|
||||
2025-05-04 11:40:36,494 - freqtrade.resolvers.exchange_resolver - INFO - Using resolved exchange 'Okx'...
|
||||
2025-05-04 11:40:36,548 - freqtrade.resolvers.iresolver - INFO - Using resolved strategy OKXRegressionStrategy from '/freqtrade/templates/OKXRegressionStrategy.py'...
|
||||
2025-05-04 11:40:36,549 - freqtrade.strategy.hyper - INFO - Found no parameter file.
|
||||
2025-05-04 11:40:36,549 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'timeframe' with value in config file: 3m.
|
||||
2025-05-04 11:40:36,550 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'stoploss' with value in config file: -0.05.
|
||||
2025-05-04 11:40:36,550 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'stake_currency' with value in config file: USDT.
|
||||
2025-05-04 11:40:36,550 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'stake_amount' with value in config file: 150.
|
||||
2025-05-04 11:40:36,551 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'startup_candle_count' with value in config file: 30.
|
||||
2025-05-04 11:40:36,551 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'unfilledtimeout' with value in config file: {'entry': 5, 'exit': 15, 'exit_timeout_count': 0, 'unit':
|
||||
'minutes'}.
|
||||
2025-05-04 10:49:43,661 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'max_open_trades' with value in config file: 4.
|
||||
2025-05-04 10:49:43,661 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using minimal_roi: {}
|
||||
2025-05-04 10:49:43,661 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using timeframe: 3m
|
||||
2025-05-04 10:49:43,662 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using stoploss: -0.05
|
||||
2025-05-04 10:49:43,662 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using trailing_stop: True
|
||||
2025-05-04 10:49:43,662 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using trailing_stop_positive: 0.01
|
||||
2025-05-04 10:49:43,663 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using trailing_stop_positive_offset: 0.0
|
||||
2025-05-04 10:49:43,663 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using trailing_only_offset_is_reached: False
|
||||
2025-05-04 10:49:43,663 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using use_custom_stoploss: False
|
||||
2025-05-04 10:49:43,664 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using process_only_new_candles: True
|
||||
2025-05-04 10:49:43,664 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using order_types: {'entry': 'limit', 'exit': 'limit', 'stoploss': 'limit', 'stoploss_on_exchange': False,
|
||||
2025-05-04 11:40:36,551 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'max_open_trades' with value in config file: 4.
|
||||
2025-05-04 11:40:36,552 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using minimal_roi: {}
|
||||
2025-05-04 11:40:36,552 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using timeframe: 3m
|
||||
2025-05-04 11:40:36,552 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using stoploss: -0.05
|
||||
2025-05-04 11:40:36,553 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using trailing_stop: True
|
||||
2025-05-04 11:40:36,553 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using trailing_stop_positive: 0.01
|
||||
2025-05-04 11:40:36,553 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using trailing_stop_positive_offset: 0.0
|
||||
2025-05-04 11:40:36,554 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using trailing_only_offset_is_reached: False
|
||||
2025-05-04 11:40:36,554 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using use_custom_stoploss: False
|
||||
2025-05-04 11:40:36,554 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using process_only_new_candles: True
|
||||
2025-05-04 11:40:36,555 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using order_types: {'entry': 'limit', 'exit': 'limit', 'stoploss': 'limit', 'stoploss_on_exchange': False,
|
||||
'stoploss_on_exchange_interval': 60}
|
||||
2025-05-04 10:49:43,665 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using order_time_in_force: {'entry': 'GTC', 'exit': 'GTC'}
|
||||
2025-05-04 10:49:43,665 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using stake_currency: USDT
|
||||
2025-05-04 10:49:43,665 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using stake_amount: 150
|
||||
2025-05-04 10:49:43,666 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using startup_candle_count: 30
|
||||
2025-05-04 10:49:43,666 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using unfilledtimeout: {'entry': 5, 'exit': 15, 'exit_timeout_count': 0, 'unit': 'minutes'}
|
||||
2025-05-04 10:49:43,666 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using use_exit_signal: True
|
||||
2025-05-04 10:49:43,667 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using exit_profit_only: False
|
||||
2025-05-04 10:49:43,667 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using ignore_roi_if_entry_signal: False
|
||||
2025-05-04 10:49:43,667 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using exit_profit_offset: 0.0
|
||||
2025-05-04 10:49:43,668 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using disable_dataframe_checks: False
|
||||
2025-05-04 10:49:43,668 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using ignore_buying_expired_candle_after: 0
|
||||
2025-05-04 10:49:43,668 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using position_adjustment_enable: False
|
||||
2025-05-04 10:49:43,669 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using max_entry_position_adjustment: -1
|
||||
2025-05-04 10:49:43,669 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using max_open_trades: 4
|
||||
2025-05-04 10:49:43,670 - freqtrade.configuration.config_validation - INFO - Validating configuration ...
|
||||
2025-05-04 10:49:43,673 - freqtrade.resolvers.iresolver - INFO - Using resolved pairlist StaticPairList from '/freqtrade/freqtrade/plugins/pairlist/StaticPairList.py'...
|
||||
2025-05-04 10:49:43,679 - freqtrade.optimize.backtesting - INFO - Using fee 0.0800% from config.
|
||||
2025-05-04 10:49:43,680 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 3m to 43250
|
||||
2025-05-04 10:49:43,681 - freqtrade.data.history.history_utils - INFO - Using indicator startup period: 43250 ...
|
||||
2025-05-04 10:49:43,823 - freqtrade.optimize.backtesting - INFO - Loading data from 2025-01-06 21:30:00 up to 2025-04-15 00:00:00 (98 days).
|
||||
2025-05-04 10:49:43,824 - freqtrade.optimize.backtesting - INFO - Dataload complete. Calculating indicators
|
||||
2025-05-04 10:49:43,825 - freqtrade.optimize.backtesting - INFO - Running backtesting for Strategy OKXRegressionStrategy
|
||||
2025-05-04 10:49:45,413 - matplotlib.font_manager - INFO - generated new fontManager
|
||||
2025-05-04 10:49:45,619 - freqtrade.resolvers.iresolver - INFO - Using resolved freqaimodel XGBoostRegressor from '/freqtrade/freqtrade/freqai/prediction_models/XGBoostRegressor.py'...
|
||||
2025-05-04 10:49:45,619 - freqtrade.freqai.data_drawer - INFO - Could not find existing datadrawer, starting from scratch
|
||||
2025-05-04 10:49:45,620 - freqtrade.freqai.data_drawer - INFO - Could not find existing historic_predictions, starting from scratch
|
||||
2025-05-04 10:49:45,620 - freqtrade.freqai.freqai_interface - INFO - Set fresh train queue from whitelist. Queue: ['OKB/USDT', 'TON/USDT']
|
||||
2025-05-04 10:49:45,621 - freqtrade.strategy.hyper - INFO - No params for buy found, using default values.
|
||||
2025-05-04 10:49:45,621 - freqtrade.strategy.hyper - INFO - Strategy Parameter(default): atr_period = 14
|
||||
2025-05-04 10:49:45,621 - freqtrade.strategy.hyper - INFO - No params for sell found, using default values.
|
||||
2025-05-04 10:49:45,622 - freqtrade.strategy.hyper - INFO - Strategy Parameter(default): atr_multiplier = 2.0
|
||||
2025-05-04 10:49:45,622 - freqtrade.strategy.hyper - INFO - No params for protection found, using default values.
|
||||
2025-05-04 10:49:45,627 - freqtrade.freqai.freqai_interface - INFO - Training 1 timeranges
|
||||
2025-05-04 10:49:45,629 - freqtrade.freqai.freqai_interface - INFO - Training OKB/USDT, 1/2 pairs from 2025-01-07 00:00:00 to 2025-04-07 00:00:00, 1/1 trains
|
||||
2025-05-04 10:49:45,629 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at
|
||||
2025-05-04 11:40:36,555 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using order_time_in_force: {'entry': 'GTC', 'exit': 'GTC'}
|
||||
2025-05-04 11:40:36,555 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using stake_currency: USDT
|
||||
2025-05-04 11:40:36,556 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using stake_amount: 150
|
||||
2025-05-04 11:40:36,556 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using startup_candle_count: 30
|
||||
2025-05-04 11:40:36,556 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using unfilledtimeout: {'entry': 5, 'exit': 15, 'exit_timeout_count': 0, 'unit': 'minutes'}
|
||||
2025-05-04 11:40:36,557 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using use_exit_signal: True
|
||||
2025-05-04 11:40:36,557 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using exit_profit_only: False
|
||||
2025-05-04 11:40:36,557 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using ignore_roi_if_entry_signal: False
|
||||
2025-05-04 11:40:36,558 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using exit_profit_offset: 0.0
|
||||
2025-05-04 11:40:36,558 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using disable_dataframe_checks: False
|
||||
2025-05-04 11:40:36,558 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using ignore_buying_expired_candle_after: 0
|
||||
2025-05-04 11:40:36,559 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using position_adjustment_enable: False
|
||||
2025-05-04 11:40:36,559 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using max_entry_position_adjustment: -1
|
||||
2025-05-04 11:40:36,559 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using max_open_trades: 4
|
||||
2025-05-04 11:40:36,560 - freqtrade.configuration.config_validation - INFO - Validating configuration ...
|
||||
2025-05-04 11:40:36,563 - freqtrade.resolvers.iresolver - INFO - Using resolved pairlist StaticPairList from '/freqtrade/freqtrade/plugins/pairlist/StaticPairList.py'...
|
||||
2025-05-04 11:40:36,569 - freqtrade.optimize.backtesting - INFO - Using fee 0.0800% from config.
|
||||
2025-05-04 11:40:36,570 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 3m to 43250
|
||||
2025-05-04 11:40:36,570 - freqtrade.data.history.history_utils - INFO - Using indicator startup period: 43250 ...
|
||||
2025-05-04 11:40:36,708 - freqtrade.optimize.backtesting - INFO - Loading data from 2025-01-06 21:30:00 up to 2025-04-15 00:00:00 (98 days).
|
||||
2025-05-04 11:40:36,708 - freqtrade.optimize.backtesting - INFO - Dataload complete. Calculating indicators
|
||||
2025-05-04 11:40:36,709 - freqtrade.optimize.backtesting - INFO - Running backtesting for Strategy OKXRegressionStrategy
|
||||
2025-05-04 11:40:38,275 - matplotlib.font_manager - INFO - generated new fontManager
|
||||
2025-05-04 11:40:38,479 - freqtrade.resolvers.iresolver - INFO - Using resolved freqaimodel XGBoostRegressor from '/freqtrade/freqtrade/freqai/prediction_models/XGBoostRegressor.py'...
|
||||
2025-05-04 11:40:38,480 - freqtrade.freqai.data_drawer - INFO - Could not find existing datadrawer, starting from scratch
|
||||
2025-05-04 11:40:38,481 - freqtrade.freqai.data_drawer - INFO - Could not find existing historic_predictions, starting from scratch
|
||||
2025-05-04 11:40:38,481 - freqtrade.freqai.freqai_interface - INFO - Set fresh train queue from whitelist. Queue: ['OKB/USDT', 'TON/USDT']
|
||||
2025-05-04 11:40:38,482 - freqtrade.strategy.hyper - INFO - No params for buy found, using default values.
|
||||
2025-05-04 11:40:38,482 - freqtrade.strategy.hyper - INFO - Strategy Parameter(default): atr_period = 14
|
||||
2025-05-04 11:40:38,483 - freqtrade.strategy.hyper - INFO - No params for sell found, using default values.
|
||||
2025-05-04 11:40:38,483 - freqtrade.strategy.hyper - INFO - Strategy Parameter(default): atr_multiplier = 2.0
|
||||
2025-05-04 11:40:38,483 - freqtrade.strategy.hyper - INFO - No params for protection found, using default values.
|
||||
2025-05-04 11:40:38,489 - freqtrade.freqai.freqai_interface - INFO - Training 1 timeranges
|
||||
2025-05-04 11:40:38,491 - freqtrade.freqai.freqai_interface - INFO - Training OKB/USDT, 1/2 pairs from 2025-01-07 00:00:00 to 2025-04-07 00:00:00, 1/1 trains
|
||||
2025-05-04 11:40:38,491 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at
|
||||
/freqtrade/user_data/models/test175/backtesting_predictions/cb_okb_1743984000_prediction.feather
|
||||
2025-05-04 10:49:45,875 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 3m to 43250
|
||||
2025-05-04 10:49:45,875 - freqtrade.data.dataprovider - INFO - Loading data for BTC/USDT 3m from 2025-01-06 21:30:00 to 2025-04-15 00:00:00
|
||||
2025-05-04 10:49:46,073 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 3m to 43250
|
||||
2025-05-04 10:49:46,074 - freqtrade.data.dataprovider - INFO - Loading data for ETH/USDT 3m from 2025-01-06 21:30:00 to 2025-04-15 00:00:00
|
||||
2025-05-04 11:40:38,746 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 3m to 43250
|
||||
2025-05-04 11:40:38,746 - freqtrade.data.dataprovider - INFO - Loading data for BTC/USDT 3m from 2025-01-06 21:30:00 to 2025-04-15 00:00:00
|
||||
2025-05-04 11:40:38,944 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 3m to 43250
|
||||
2025-05-04 11:40:38,945 - freqtrade.data.dataprovider - INFO - Loading data for ETH/USDT 3m from 2025-01-06 21:30:00 to 2025-04-15 00:00:00
|
||||
/freqtrade/templates/OKXRegressionStrategy.py:246: FutureWarning: DataFrame.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
|
||||
dataframe = dataframe.fillna(method="ffill").fillna(0)
|
||||
/freqtrade/templates/OKXRegressionStrategy.py:246: FutureWarning: DataFrame.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
|
||||
dataframe = dataframe.fillna(method="ffill").fillna(0)
|
||||
2025-05-04 10:49:52,079 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-OKB_1743984000/cb_okb_1743984000
|
||||
2025-05-04 10:49:52,080 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training OKB/USDT --------------------
|
||||
2025-05-04 10:49:52,209 - freqtrade.freqai.data_kitchen - INFO - OKB/USDT: dropped 0 training points due to NaNs in populated dataset 43200.
|
||||
2025-05-04 10:49:52,210 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-01-07 to 2025-04-06 --------------------
|
||||
2025-05-04 10:49:52,264 - datasieve.pipeline - INFO - VarianceThreshold will remove 1 features from the dataset.on transform. ['%-hour_of_day']
|
||||
2025-05-04 10:49:52,312 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 181 features
|
||||
2025-05-04 10:49:52,313 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 34560 data points
|
||||
2025-05-04 11:40:45,045 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-OKB_1743984000/cb_okb_1743984000
|
||||
2025-05-04 11:40:45,046 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training OKB/USDT --------------------
|
||||
2025-05-04 11:40:45,176 - freqtrade.freqai.data_kitchen - INFO - OKB/USDT: dropped 0 training points due to NaNs in populated dataset 43200.
|
||||
2025-05-04 11:40:45,176 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-01-07 to 2025-04-06 --------------------
|
||||
2025-05-04 11:40:45,233 - datasieve.pipeline - INFO - VarianceThreshold will remove 1 features from the dataset.on transform. ['%-hour_of_day']
|
||||
2025-05-04 11:40:45,285 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 181 features
|
||||
2025-05-04 11:40:45,285 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 34560 data points
|
||||
[99] validation_0-rmse:0.09103 validation_1-rmse:0.09003
|
||||
2025-05-04 10:54:39,557 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training OKB/USDT (287.48 secs) --------------------
|
||||
2025-05-04 10:54:39,775 - freqtrade.plot.plotting - INFO - Stored plot as /freqtrade/user_data/models/test175/sub-train-OKB_1743984000/cb_okb_1743984000--s_close.html
|
||||
2025-05-04 10:54:39,776 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk.
|
||||
2025-05-04 10:54:39,838 - datasieve.pipeline - WARNING - Could not find step di in pipeline, returning None
|
||||
2025-05-04 10:54:39,925 - freqtrade.freqai.freqai_interface - INFO - Training 1 timeranges
|
||||
2025-05-04 10:54:39,926 - freqtrade.freqai.freqai_interface - INFO - Training TON/USDT, 2/2 pairs from 2025-01-07 00:00:00 to 2025-04-07 00:00:00, 1/1 trains
|
||||
2025-05-04 10:54:39,927 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at
|
||||
2025-05-04 11:42:53,857 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training OKB/USDT (128.81 secs) --------------------
|
||||
2025-05-04 11:42:54,083 - freqtrade.plot.plotting - INFO - Stored plot as /freqtrade/user_data/models/test175/sub-train-OKB_1743984000/cb_okb_1743984000--s_close.html
|
||||
2025-05-04 11:42:54,084 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk.
|
||||
2025-05-04 11:42:54,146 - datasieve.pipeline - WARNING - Could not find step di in pipeline, returning None
|
||||
2025-05-04 11:42:54,238 - freqtrade.freqai.freqai_interface - INFO - Training 1 timeranges
|
||||
2025-05-04 11:42:54,239 - freqtrade.freqai.freqai_interface - INFO - Training TON/USDT, 2/2 pairs from 2025-01-07 00:00:00 to 2025-04-07 00:00:00, 1/1 trains
|
||||
2025-05-04 11:42:54,239 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at
|
||||
/freqtrade/user_data/models/test175/backtesting_predictions/cb_ton_1743984000_prediction.feather
|
||||
/freqtrade/templates/OKXRegressionStrategy.py:246: FutureWarning:
|
||||
|
||||
@ -115,28 +115,28 @@ DataFrame.fillna with 'method' is deprecated and will raise in a future version.
|
||||
|
||||
DataFrame.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
|
||||
|
||||
2025-05-04 10:54:46,169 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-TON_1743984000/cb_ton_1743984000
|
||||
2025-05-04 10:54:46,169 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training TON/USDT --------------------
|
||||
2025-05-04 10:54:46,285 - freqtrade.freqai.data_kitchen - INFO - TON/USDT: dropped 0 training points due to NaNs in populated dataset 43200.
|
||||
2025-05-04 10:54:46,286 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-01-07 to 2025-04-06 --------------------
|
||||
2025-05-04 10:54:46,340 - datasieve.pipeline - INFO - VarianceThreshold will remove 1 features from the dataset.on transform. ['%-hour_of_day']
|
||||
2025-05-04 10:54:46,388 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 181 features
|
||||
2025-05-04 10:54:46,388 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 34560 data points
|
||||
2025-05-04 11:43:00,429 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-TON_1743984000/cb_ton_1743984000
|
||||
2025-05-04 11:43:00,429 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training TON/USDT --------------------
|
||||
2025-05-04 11:43:00,548 - freqtrade.freqai.data_kitchen - INFO - TON/USDT: dropped 0 training points due to NaNs in populated dataset 43200.
|
||||
2025-05-04 11:43:00,549 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-01-07 to 2025-04-06 --------------------
|
||||
2025-05-04 11:43:00,606 - datasieve.pipeline - INFO - VarianceThreshold will remove 1 features from the dataset.on transform. ['%-hour_of_day']
|
||||
2025-05-04 11:43:00,657 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 181 features
|
||||
2025-05-04 11:43:00,658 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 34560 data points
|
||||
[99] validation_0-rmse:0.12193 validation_1-rmse:0.12248
|
||||
2025-05-04 10:59:22,550 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training TON/USDT (276.38 secs) --------------------
|
||||
2025-05-04 10:59:22,585 - freqtrade.plot.plotting - INFO - Stored plot as /freqtrade/user_data/models/test175/sub-train-TON_1743984000/cb_ton_1743984000--s_close.html
|
||||
2025-05-04 10:59:22,586 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk.
|
||||
2025-05-04 10:59:22,650 - datasieve.pipeline - WARNING - Could not find step di in pipeline, returning None
|
||||
2025-05-04 10:59:22,731 - freqtrade.optimize.backtesting - INFO - Backtesting with data from 2025-04-07 00:00:00 up to 2025-04-15 00:00:00 (8 days).
|
||||
2025-05-04 10:59:22,926 - freqtrade.misc - INFO - dumping json to "/freqtrade/user_data/backtest_results/backtest-result-2025-05-04_10-59-22.meta.json"
|
||||
2025-05-04 11:46:04,560 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training TON/USDT (184.13 secs) --------------------
|
||||
2025-05-04 11:46:04,595 - freqtrade.plot.plotting - INFO - Stored plot as /freqtrade/user_data/models/test175/sub-train-TON_1743984000/cb_ton_1743984000--s_close.html
|
||||
2025-05-04 11:46:04,596 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk.
|
||||
2025-05-04 11:46:04,661 - datasieve.pipeline - WARNING - Could not find step di in pipeline, returning None
|
||||
2025-05-04 11:46:04,744 - freqtrade.optimize.backtesting - INFO - Backtesting with data from 2025-04-07 00:00:00 up to 2025-04-15 00:00:00 (8 days).
|
||||
2025-05-04 11:46:04,935 - freqtrade.misc - INFO - dumping json to "/freqtrade/user_data/backtest_results/backtest-result-2025-05-04_11-46-04.meta.json"
|
||||
Result for strategy OKXRegressionStrategy
|
||||
BACKTESTING REPORT
|
||||
┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓
|
||||
┃ Pair ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃
|
||||
┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩
|
||||
│ OKB/USDT │ 6 │ 0.55 │ 0.659 │ 0.07 │ 0:28:00 │ 4 0 2 66.7 │
|
||||
│ OKB/USDT │ 6 │ 0.6 │ 0.718 │ 0.07 │ 0:34:00 │ 4 0 2 66.7 │
|
||||
│ TON/USDT │ 3 │ -0.1 │ -0.062 │ -0.01 │ 0:02:00 │ 1 0 2 33.3 │
|
||||
│ TOTAL │ 9 │ 0.33 │ 0.597 │ 0.06 │ 0:19:00 │ 5 0 4 55.6 │
|
||||
│ TOTAL │ 9 │ 0.36 │ 0.656 │ 0.07 │ 0:23:00 │ 5 0 4 55.6 │
|
||||
└──────────┴────────┴──────────────┴─────────────────┴──────────────┴──────────────┴────────────────────────┘
|
||||
LEFT OPEN TRADES REPORT
|
||||
┏━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓
|
||||
@ -148,24 +148,24 @@ Result for strategy OKXRegressionStrategy
|
||||
┏━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓
|
||||
┃ Enter Tag ┃ Entries ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃
|
||||
┡━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩
|
||||
│ OTHER │ 9 │ 0.33 │ 0.597 │ 0.06 │ 0:19:00 │ 5 0 4 55.6 │
|
||||
│ TOTAL │ 9 │ 0.33 │ 0.597 │ 0.06 │ 0:19:00 │ 5 0 4 55.6 │
|
||||
│ OTHER │ 9 │ 0.36 │ 0.656 │ 0.07 │ 0:23:00 │ 5 0 4 55.6 │
|
||||
│ TOTAL │ 9 │ 0.36 │ 0.656 │ 0.07 │ 0:23:00 │ 5 0 4 55.6 │
|
||||
└───────────┴─────────┴──────────────┴─────────────────┴──────────────┴──────────────┴────────────────────────┘
|
||||
EXIT REASON STATS
|
||||
┏━━━━━━━━━━━━━━━━━━━━┳━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓
|
||||
┃ Exit Reason ┃ Exits ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃
|
||||
┡━━━━━━━━━━━━━━━━━━━━╇━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩
|
||||
│ exit_signal │ 3 │ 1.24 │ 0.744 │ 0.07 │ 0:49:00 │ 3 0 0 100 │
|
||||
│ exit_signal │ 3 │ 1.34 │ 0.803 │ 0.08 │ 1:01:00 │ 3 0 0 100 │
|
||||
│ trailing_stop_loss │ 6 │ -0.12 │ -0.147 │ -0.01 │ 0:04:00 │ 2 0 4 33.3 │
|
||||
│ TOTAL │ 9 │ 0.33 │ 0.597 │ 0.06 │ 0:19:00 │ 5 0 4 55.6 │
|
||||
│ TOTAL │ 9 │ 0.36 │ 0.656 │ 0.07 │ 0:23:00 │ 5 0 4 55.6 │
|
||||
└────────────────────┴───────┴──────────────┴─────────────────┴──────────────┴──────────────┴────────────────────────┘
|
||||
MIXED TAG STATS
|
||||
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓
|
||||
┃ Enter Tag ┃ Exit Reason ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃
|
||||
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩
|
||||
│ │ exit_signal │ 3 │ 1.24 │ 0.744 │ 0.07 │ 0:49:00 │ 3 0 0 100 │
|
||||
│ │ exit_signal │ 3 │ 1.34 │ 0.803 │ 0.08 │ 1:01:00 │ 3 0 0 100 │
|
||||
│ │ trailing_stop_loss │ 6 │ -0.12 │ -0.147 │ -0.01 │ 0:04:00 │ 2 0 4 33.3 │
|
||||
│ TOTAL │ │ 9 │ 0.33 │ 0.597 │ 0.06 │ 0:19:00 │ 5 0 4 55.6 │
|
||||
│ TOTAL │ │ 9 │ 0.36 │ 0.656 │ 0.07 │ 0:23:00 │ 5 0 4 55.6 │
|
||||
└───────────┴────────────────────┴────────┴──────────────┴─────────────────┴──────────────┴──────────────┴────────────────────────┘
|
||||
SUMMARY METRICS
|
||||
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┓
|
||||
@ -178,35 +178,35 @@ Result for strategy OKXRegressionStrategy
|
||||
│ │ │
|
||||
│ Total/Daily Avg Trades │ 9 / 1.12 │
|
||||
│ Starting balance │ 1000 USDT │
|
||||
│ Final balance │ 1000.597 USDT │
|
||||
│ Absolute profit │ 0.597 USDT │
|
||||
│ Total profit % │ 0.06% │
|
||||
│ CAGR % │ 2.76% │
|
||||
│ Sortino │ 37.00 │
|
||||
│ Sharpe │ 7.69 │
|
||||
│ Calmar │ 890.73 │
|
||||
│ SQN │ 1.01 │
|
||||
│ Profit factor │ 2.49 │
|
||||
│ Expectancy (Ratio) │ 0.07 (0.66) │
|
||||
│ Final balance │ 1000.656 USDT │
|
||||
│ Absolute profit │ 0.656 USDT │
|
||||
│ Total profit % │ 0.07% │
|
||||
│ CAGR % │ 3.04% │
|
||||
│ Sortino │ 40.69 │
|
||||
│ Sharpe │ 8.15 │
|
||||
│ Calmar │ 979.41 │
|
||||
│ SQN │ 1.07 │
|
||||
│ Profit factor │ 2.64 │
|
||||
│ Expectancy (Ratio) │ 0.07 (0.73) │
|
||||
│ Avg. daily profit % │ 0.01% │
|
||||
│ Avg. stake amount │ 20.003 USDT │
|
||||
│ Total trade volume │ 361.233 USDT │
|
||||
│ Total trade volume │ 361.294 USDT │
|
||||
│ │ │
|
||||
│ Best Pair │ OKB/USDT 0.07% │
|
||||
│ Worst Pair │ TON/USDT -0.01% │
|
||||
│ Best trade │ OKB/USDT 1.95% │
|
||||
│ Best trade │ OKB/USDT 2.13% │
|
||||
│ Worst trade │ OKB/USDT -0.71% │
|
||||
│ Best day │ 0.332 USDT │
|
||||
│ Worst day │ 0 USDT │
|
||||
│ Days win/draw/lose │ 3 / 3 / 0 │
|
||||
│ Avg. Duration Winners │ 0:32:00 │
|
||||
│ Avg. Duration Winners │ 0:39:00 │
|
||||
│ Avg. Duration Loser │ 0:04:00 │
|
||||
│ Max Consecutive Wins / Loss │ 2 / 2 │
|
||||
│ Rejected Entry signals │ 0 │
|
||||
│ Entry/Exit Timeouts │ 0 / 0 │
|
||||
│ │ │
|
||||
│ Min balance │ 999.84 USDT │
|
||||
│ Max balance │ 1000.597 USDT │
|
||||
│ Max balance │ 1000.656 USDT │
|
||||
│ Max % of account underwater │ 0.02% │
|
||||
│ Absolute Drawdown (Account) │ 0.02% │
|
||||
│ Absolute Drawdown │ 0.16 USDT │
|
||||
@ -222,5 +222,5 @@ Backtested 2025-04-07 00:00:00 -> 2025-04-15 00:00:00 | Max open trades : 2
|
||||
┏━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
|
||||
┃ Strategy ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃ Drawdown ┃
|
||||
┡━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
|
||||
│ OKXRegressionStrategy │ 9 │ 0.33 │ 0.597 │ 0.06 │ 0:19:00 │ 5 0 4 55.6 │ 0.16 USDT 0.02% │
|
||||
│ OKXRegressionStrategy │ 9 │ 0.36 │ 0.656 │ 0.07 │ 0:23:00 │ 5 0 4 55.6 │ 0.16 USDT 0.02% │
|
||||
└───────────────────────┴────────┴──────────────┴─────────────────┴──────────────┴──────────────┴────────────────────────┴──────────────────┘
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -1 +0,0 @@
|
||||
{"OKXRegressionStrategy":{"run_id":"8cd1db235e1aba6c021a92d8cffb370c33e42804","backtest_start_time":1746355783,"timeframe":"3m","timeframe_detail":null,"backtest_start_ts":1743984000,"backtest_end_ts":1744675200}}
|
||||
1
result/backtest-result-2025-05-04_11-46-04.json
Normal file
1
result/backtest-result-2025-05-04_11-46-04.json
Normal file
File diff suppressed because one or more lines are too long
1
result/backtest-result-2025-05-04_11-46-04.meta.json
Normal file
1
result/backtest-result-2025-05-04_11-46-04.meta.json
Normal file
@ -0,0 +1 @@
|
||||
{"OKXRegressionStrategy":{"run_id":"203132ae0c5df1caf5c9fd1791d1721147fe4890","backtest_start_time":1746358836,"timeframe":"3m","timeframe_detail":null,"backtest_start_ts":1743984000,"backtest_end_ts":1744675200}}
|
||||
@ -348,19 +348,19 @@ class OKXRegressionStrategy(IStrategy):
|
||||
|
||||
def _dynamic_take_profit(self, dataframe: DataFrame, metadata: dict, atr_col: str = 'ATR_14', multiplier: float = 2.0) -> DataFrame:
|
||||
"""
|
||||
封装动态止盈逻辑,基于入场价和ATR计算止盈线
|
||||
封装动态止盈逻辑,基于入场价、ATR 和 ADX 调整止盈线
|
||||
:param dataframe: 原始DataFrame
|
||||
:param metadata: 策略元数据
|
||||
:param atr_col: 使用的ATR列名
|
||||
:param multiplier: ATR乘数
|
||||
:param multiplier: ATR乘数(基础值)
|
||||
:return: 更新后的DataFrame
|
||||
"""
|
||||
# 获取交易对信息
|
||||
pair = metadata.get('pair', 'unknown')
|
||||
|
||||
|
||||
# 设置默认的止盈倍数
|
||||
take_profit_multiplier = 2.0
|
||||
|
||||
|
||||
# 根据交易对调整止盈倍数(示例:BTC/USDT 更稳定,止盈倍数较高)
|
||||
if pair == "BTC/USDT":
|
||||
take_profit_multiplier = 3.0
|
||||
@ -370,10 +370,41 @@ class OKXRegressionStrategy(IStrategy):
|
||||
take_profit_multiplier = 2.0
|
||||
elif pair == "XRP/USDT":
|
||||
take_profit_multiplier = 2.0
|
||||
|
||||
|
||||
# 计算当前ATR在历史窗口中的百分位
|
||||
historical_atr = dataframe[atr_col].rolling(window=20).mean().dropna().values
|
||||
if len(historical_atr) < 20:
|
||||
return dataframe
|
||||
|
||||
current_atr = dataframe[atr_col].iloc[-1]
|
||||
percentile = (np.sum(historical_atr < current_atr) / len(historical_atr)) * 100
|
||||
|
||||
# 根据波动率百分位调整止盈倍数
|
||||
if percentile > 80: # 高波动市场,缩短止盈距离
|
||||
volatility_adjustment = 0.8
|
||||
elif percentile < 20: # 低波动市场,拉长止盈距离
|
||||
volatility_adjustment = 1.2
|
||||
else: # 正常波动市场,保持默认
|
||||
volatility_adjustment = 1.0
|
||||
|
||||
# 获取ADX指标判断趋势强度
|
||||
dataframe['adx'] = ta.ADX(dataframe["high"], dataframe["low"], dataframe["close"], timeperiod=14)
|
||||
adx_value = dataframe['adx'].iloc[-1]
|
||||
|
||||
# 根据ADX趋势强度调整止盈倍数
|
||||
if adx_value > 25: # 强趋势,延长止盈距离
|
||||
trend_adjustment = 1.3
|
||||
elif adx_value < 15: # 震荡行情,缩短止盈距离
|
||||
trend_adjustment = 0.7
|
||||
else: # 中性趋势,保持默认
|
||||
trend_adjustment = 1.0
|
||||
|
||||
# 综合调整止盈倍数
|
||||
adjusted_multiplier = take_profit_multiplier * volatility_adjustment * trend_adjustment
|
||||
|
||||
# 计算止盈线
|
||||
dataframe['entry_price'] = dataframe['open'].where(dataframe['enter_long'] == 1).ffill()
|
||||
dataframe['take_profit_line'] = dataframe['entry_price'] + dataframe[atr_col] * take_profit_multiplier
|
||||
dataframe['take_profit_line'] = dataframe['entry_price'] + dataframe[atr_col] * adjusted_multiplier
|
||||
|
||||
# 应用止盈逻辑
|
||||
dataframe.loc[
|
||||
@ -382,6 +413,7 @@ class OKXRegressionStrategy(IStrategy):
|
||||
] = 1
|
||||
|
||||
return dataframe
|
||||
|
||||
def populate_exit_trend(self, dataframe: DataFrame, metadata: Dict) -> DataFrame:
|
||||
# 确保 ATR 列存在
|
||||
if 'ATR_14' not in dataframe.columns:
|
||||
@ -405,11 +437,64 @@ class OKXRegressionStrategy(IStrategy):
|
||||
def custom_stoploss(self, pair: str, trade: 'Trade', current_time: datetime,
|
||||
current_rate: float, profit_percent: float,
|
||||
after_fill: bool, **kwargs) -> Optional[float]:
|
||||
|
||||
"""
|
||||
自适应止损:基于市场波动率百分位动态调整ATR乘数
|
||||
"""
|
||||
if trade.enter_tag == 'long':
|
||||
atr_value = self.dp.get_pair_dataframe(pair, timeframe=self.timeframe)['ATR_14'].iloc[-1]
|
||||
trailing_stop = current_rate - atr_value * 1.5
|
||||
return trailing_stop / current_rate - 1 # 返回相对百分比
|
||||
# 获取多个周期的ATR值
|
||||
dataframe = self.dp.get_pair_dataframe(pair, timeframe=self.timeframe)
|
||||
|
||||
# 计算不同周期的ATR
|
||||
dataframe['ATR_7'] = ta.ATR(dataframe['high'], dataframe['low'], dataframe['close'], timeperiod=7)
|
||||
dataframe['ATR_14'] = ta.ATR(dataframe['high'], dataframe['low'], dataframe['close'], timeperiod=14)
|
||||
dataframe['ATR_21'] = ta.ATR(dataframe['high'], dataframe['low'], dataframe['close'], timeperiod=21)
|
||||
|
||||
# 计算20日平均ATR(用于百分位计算)
|
||||
avg_atr_window = 20
|
||||
dataframe['avg_atr'] = dataframe['ATR_14'].rolling(window=avg_atr_window).mean()
|
||||
|
||||
# 获取最新数据
|
||||
latest_row = dataframe.iloc[-1].copy()
|
||||
|
||||
# 计算当前ATR在历史窗口中的百分位
|
||||
historical_atr = dataframe['avg_atr'].dropna().values
|
||||
if len(historical_atr) < avg_atr_window:
|
||||
return None
|
||||
|
||||
current_atr = latest_row['avg_atr']
|
||||
percentile = (np.sum(historical_atr < current_atr) / len(historical_atr)) * 100
|
||||
|
||||
# 根据市场波动率百分位选择ATR乘数
|
||||
if percentile > 80: # 高波动市场
|
||||
atr_multiplier = 1.5
|
||||
elif percentile < 20: # 低波动市场
|
||||
atr_multiplier = 2.5
|
||||
else: # 正常波动市场
|
||||
atr_multiplier = 2.0
|
||||
|
||||
# 根据交易对调整基础ATR值
|
||||
pair_specific_atr = {
|
||||
"BTC/USDT": latest_row['ATR_14'],
|
||||
"ETH/USDT": latest_row['ATR_14'],
|
||||
"OKB/USDT": latest_row['ATR_7'],
|
||||
"TON/USDT": latest_row['ATR_7']
|
||||
}
|
||||
|
||||
if pair in pair_specific_atr:
|
||||
base_atr = pair_specific_atr[pair]
|
||||
else:
|
||||
base_atr = latest_row['ATR_14']
|
||||
|
||||
# 计算追踪止损价格
|
||||
trailing_stop = current_rate - base_atr * atr_multiplier
|
||||
|
||||
# 添加额外条件:确保止损不低于入场价的一定比例
|
||||
min_profit_ratio = 0.005 # 最低盈利0.5%
|
||||
min_stop_price = trade.open_rate * (1 + min_profit_ratio)
|
||||
final_stop_price = max(trailing_stop, min_stop_price)
|
||||
|
||||
return final_stop_price / current_rate - 1 # 返回相对百分比
|
||||
|
||||
return None
|
||||
|
||||
def leverage(self, pair: str, current_time: 'datetime', current_rate: float,
|
||||
@ -1,111 +1,111 @@
|
||||
Creating freqtrade_freqtrade_run ...
|
||||
Creating freqtrade_freqtrade_run ... done
|
||||
2025-05-04 10:49:39,348 - freqtrade - INFO - freqtrade docker-2025.4-dev-23e4943b
|
||||
2025-05-04 10:49:39,557 - numexpr.utils - INFO - NumExpr defaulting to 12 threads.
|
||||
2025-05-04 10:49:40,987 - freqtrade.configuration.load_config - INFO - Using config: /freqtrade/config_examples/config_freqai.okx.json ...
|
||||
2025-05-04 10:49:40,989 - freqtrade.loggers - INFO - Enabling colorized output.
|
||||
2025-05-04 10:49:40,989 - root - INFO - Logfile configured
|
||||
2025-05-04 10:49:40,990 - freqtrade.loggers - INFO - Verbosity set to 0
|
||||
2025-05-04 10:49:40,990 - freqtrade.configuration.configuration - INFO - Using additional Strategy lookup path: /freqtrade/templates
|
||||
2025-05-04 10:49:40,990 - freqtrade.configuration.configuration - INFO - Using max_open_trades: 4 ...
|
||||
2025-05-04 10:49:40,991 - freqtrade.configuration.configuration - INFO - Parameter --fee detected, setting fee to: 0.0008 ...
|
||||
2025-05-04 10:49:40,991 - freqtrade.configuration.configuration - INFO - Parameter --timerange detected: 20250407-20250415 ...
|
||||
2025-05-04 10:49:41,020 - freqtrade.configuration.configuration - INFO - Using user-data directory: /freqtrade/user_data ...
|
||||
2025-05-04 10:49:41,021 - freqtrade.configuration.configuration - INFO - Using data directory: /freqtrade/user_data/data/okx ...
|
||||
2025-05-04 10:49:41,022 - freqtrade.configuration.configuration - INFO - Parameter --cache=none detected ...
|
||||
2025-05-04 10:49:41,022 - freqtrade.configuration.configuration - INFO - Filter trades by timerange: 20250407-20250415
|
||||
2025-05-04 10:49:41,022 - freqtrade.configuration.configuration - INFO - Using freqaimodel class name: XGBoostRegressor
|
||||
2025-05-04 10:49:41,024 - freqtrade.exchange.check_exchange - INFO - Checking exchange...
|
||||
2025-05-04 10:49:41,032 - freqtrade.exchange.check_exchange - INFO - Exchange "okx" is officially supported by the Freqtrade development team.
|
||||
2025-05-04 10:49:41,032 - freqtrade.configuration.configuration - INFO - Using pairlist from configuration.
|
||||
2025-05-04 10:49:41,033 - freqtrade.configuration.config_validation - INFO - Validating configuration ...
|
||||
2025-05-04 10:49:41,035 - freqtrade.commands.optimize_commands - INFO - Starting freqtrade in Backtesting mode
|
||||
2025-05-04 10:49:41,036 - freqtrade.exchange.exchange - INFO - Instance is running with dry_run enabled
|
||||
2025-05-04 10:49:41,036 - freqtrade.exchange.exchange - INFO - Using CCXT 4.4.77
|
||||
2025-05-04 10:49:41,036 - freqtrade.exchange.exchange - INFO - Applying additional ccxt config: {'enableRateLimit': True, 'rateLimit': 500, 'options': {'defaultType': 'spot'}}
|
||||
2025-05-04 10:49:41,042 - freqtrade.exchange.exchange - INFO - Applying additional ccxt config: {'enableRateLimit': True, 'rateLimit': 500, 'options': {'defaultType': 'spot'}, 'timeout': 20000}
|
||||
2025-05-04 10:49:41,048 - freqtrade.exchange.exchange - INFO - Using Exchange "OKX"
|
||||
2025-05-04 10:49:43,603 - freqtrade.resolvers.exchange_resolver - INFO - Using resolved exchange 'Okx'...
|
||||
2025-05-04 10:49:43,657 - freqtrade.resolvers.iresolver - INFO - Using resolved strategy OKXRegressionStrategy from '/freqtrade/templates/OKXRegressionStrategy.py'...
|
||||
2025-05-04 10:49:43,658 - freqtrade.strategy.hyper - INFO - Found no parameter file.
|
||||
2025-05-04 10:49:43,658 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'timeframe' with value in config file: 3m.
|
||||
2025-05-04 10:49:43,659 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'stoploss' with value in config file: -0.05.
|
||||
2025-05-04 10:49:43,659 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'stake_currency' with value in config file: USDT.
|
||||
2025-05-04 10:49:43,659 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'stake_amount' with value in config file: 150.
|
||||
2025-05-04 10:49:43,660 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'startup_candle_count' with value in config file: 30.
|
||||
2025-05-04 10:49:43,660 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'unfilledtimeout' with value in config file: {'entry': 5, 'exit': 15, 'exit_timeout_count': 0, 'unit':
|
||||
2025-05-04 11:40:32,235 - freqtrade - INFO - freqtrade docker-2025.4-dev-23e4943b
|
||||
2025-05-04 11:40:32,439 - numexpr.utils - INFO - NumExpr defaulting to 12 threads.
|
||||
2025-05-04 11:40:33,890 - freqtrade.configuration.load_config - INFO - Using config: /freqtrade/config_examples/config_freqai.okx.json ...
|
||||
2025-05-04 11:40:33,893 - freqtrade.loggers - INFO - Enabling colorized output.
|
||||
2025-05-04 11:40:33,893 - root - INFO - Logfile configured
|
||||
2025-05-04 11:40:33,893 - freqtrade.loggers - INFO - Verbosity set to 0
|
||||
2025-05-04 11:40:33,894 - freqtrade.configuration.configuration - INFO - Using additional Strategy lookup path: /freqtrade/templates
|
||||
2025-05-04 11:40:33,894 - freqtrade.configuration.configuration - INFO - Using max_open_trades: 4 ...
|
||||
2025-05-04 11:40:33,894 - freqtrade.configuration.configuration - INFO - Parameter --fee detected, setting fee to: 0.0008 ...
|
||||
2025-05-04 11:40:33,895 - freqtrade.configuration.configuration - INFO - Parameter --timerange detected: 20250407-20250415 ...
|
||||
2025-05-04 11:40:33,920 - freqtrade.configuration.configuration - INFO - Using user-data directory: /freqtrade/user_data ...
|
||||
2025-05-04 11:40:33,921 - freqtrade.configuration.configuration - INFO - Using data directory: /freqtrade/user_data/data/okx ...
|
||||
2025-05-04 11:40:33,921 - freqtrade.configuration.configuration - INFO - Parameter --cache=none detected ...
|
||||
2025-05-04 11:40:33,921 - freqtrade.configuration.configuration - INFO - Filter trades by timerange: 20250407-20250415
|
||||
2025-05-04 11:40:33,922 - freqtrade.configuration.configuration - INFO - Using freqaimodel class name: XGBoostRegressor
|
||||
2025-05-04 11:40:33,923 - freqtrade.exchange.check_exchange - INFO - Checking exchange...
|
||||
2025-05-04 11:40:33,929 - freqtrade.exchange.check_exchange - INFO - Exchange "okx" is officially supported by the Freqtrade development team.
|
||||
2025-05-04 11:40:33,929 - freqtrade.configuration.configuration - INFO - Using pairlist from configuration.
|
||||
2025-05-04 11:40:33,930 - freqtrade.configuration.config_validation - INFO - Validating configuration ...
|
||||
2025-05-04 11:40:33,932 - freqtrade.commands.optimize_commands - INFO - Starting freqtrade in Backtesting mode
|
||||
2025-05-04 11:40:33,932 - freqtrade.exchange.exchange - INFO - Instance is running with dry_run enabled
|
||||
2025-05-04 11:40:33,933 - freqtrade.exchange.exchange - INFO - Using CCXT 4.4.77
|
||||
2025-05-04 11:40:33,933 - freqtrade.exchange.exchange - INFO - Applying additional ccxt config: {'enableRateLimit': True, 'rateLimit': 500, 'options': {'defaultType': 'spot'}}
|
||||
2025-05-04 11:40:33,938 - freqtrade.exchange.exchange - INFO - Applying additional ccxt config: {'enableRateLimit': True, 'rateLimit': 500, 'options': {'defaultType': 'spot'}, 'timeout': 20000}
|
||||
2025-05-04 11:40:33,944 - freqtrade.exchange.exchange - INFO - Using Exchange "OKX"
|
||||
2025-05-04 11:40:36,494 - freqtrade.resolvers.exchange_resolver - INFO - Using resolved exchange 'Okx'...
|
||||
2025-05-04 11:40:36,548 - freqtrade.resolvers.iresolver - INFO - Using resolved strategy OKXRegressionStrategy from '/freqtrade/templates/OKXRegressionStrategy.py'...
|
||||
2025-05-04 11:40:36,549 - freqtrade.strategy.hyper - INFO - Found no parameter file.
|
||||
2025-05-04 11:40:36,549 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'timeframe' with value in config file: 3m.
|
||||
2025-05-04 11:40:36,550 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'stoploss' with value in config file: -0.05.
|
||||
2025-05-04 11:40:36,550 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'stake_currency' with value in config file: USDT.
|
||||
2025-05-04 11:40:36,550 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'stake_amount' with value in config file: 150.
|
||||
2025-05-04 11:40:36,551 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'startup_candle_count' with value in config file: 30.
|
||||
2025-05-04 11:40:36,551 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'unfilledtimeout' with value in config file: {'entry': 5, 'exit': 15, 'exit_timeout_count': 0, 'unit':
|
||||
'minutes'}.
|
||||
2025-05-04 10:49:43,661 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'max_open_trades' with value in config file: 4.
|
||||
2025-05-04 10:49:43,661 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using minimal_roi: {}
|
||||
2025-05-04 10:49:43,661 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using timeframe: 3m
|
||||
2025-05-04 10:49:43,662 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using stoploss: -0.05
|
||||
2025-05-04 10:49:43,662 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using trailing_stop: True
|
||||
2025-05-04 10:49:43,662 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using trailing_stop_positive: 0.01
|
||||
2025-05-04 10:49:43,663 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using trailing_stop_positive_offset: 0.0
|
||||
2025-05-04 10:49:43,663 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using trailing_only_offset_is_reached: False
|
||||
2025-05-04 10:49:43,663 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using use_custom_stoploss: False
|
||||
2025-05-04 10:49:43,664 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using process_only_new_candles: True
|
||||
2025-05-04 10:49:43,664 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using order_types: {'entry': 'limit', 'exit': 'limit', 'stoploss': 'limit', 'stoploss_on_exchange': False,
|
||||
2025-05-04 11:40:36,551 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'max_open_trades' with value in config file: 4.
|
||||
2025-05-04 11:40:36,552 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using minimal_roi: {}
|
||||
2025-05-04 11:40:36,552 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using timeframe: 3m
|
||||
2025-05-04 11:40:36,552 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using stoploss: -0.05
|
||||
2025-05-04 11:40:36,553 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using trailing_stop: True
|
||||
2025-05-04 11:40:36,553 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using trailing_stop_positive: 0.01
|
||||
2025-05-04 11:40:36,553 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using trailing_stop_positive_offset: 0.0
|
||||
2025-05-04 11:40:36,554 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using trailing_only_offset_is_reached: False
|
||||
2025-05-04 11:40:36,554 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using use_custom_stoploss: False
|
||||
2025-05-04 11:40:36,554 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using process_only_new_candles: True
|
||||
2025-05-04 11:40:36,555 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using order_types: {'entry': 'limit', 'exit': 'limit', 'stoploss': 'limit', 'stoploss_on_exchange': False,
|
||||
'stoploss_on_exchange_interval': 60}
|
||||
2025-05-04 10:49:43,665 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using order_time_in_force: {'entry': 'GTC', 'exit': 'GTC'}
|
||||
2025-05-04 10:49:43,665 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using stake_currency: USDT
|
||||
2025-05-04 10:49:43,665 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using stake_amount: 150
|
||||
2025-05-04 10:49:43,666 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using startup_candle_count: 30
|
||||
2025-05-04 10:49:43,666 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using unfilledtimeout: {'entry': 5, 'exit': 15, 'exit_timeout_count': 0, 'unit': 'minutes'}
|
||||
2025-05-04 10:49:43,666 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using use_exit_signal: True
|
||||
2025-05-04 10:49:43,667 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using exit_profit_only: False
|
||||
2025-05-04 10:49:43,667 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using ignore_roi_if_entry_signal: False
|
||||
2025-05-04 10:49:43,667 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using exit_profit_offset: 0.0
|
||||
2025-05-04 10:49:43,668 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using disable_dataframe_checks: False
|
||||
2025-05-04 10:49:43,668 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using ignore_buying_expired_candle_after: 0
|
||||
2025-05-04 10:49:43,668 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using position_adjustment_enable: False
|
||||
2025-05-04 10:49:43,669 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using max_entry_position_adjustment: -1
|
||||
2025-05-04 10:49:43,669 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using max_open_trades: 4
|
||||
2025-05-04 10:49:43,670 - freqtrade.configuration.config_validation - INFO - Validating configuration ...
|
||||
2025-05-04 10:49:43,673 - freqtrade.resolvers.iresolver - INFO - Using resolved pairlist StaticPairList from '/freqtrade/freqtrade/plugins/pairlist/StaticPairList.py'...
|
||||
2025-05-04 10:49:43,679 - freqtrade.optimize.backtesting - INFO - Using fee 0.0800% from config.
|
||||
2025-05-04 10:49:43,680 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 3m to 43250
|
||||
2025-05-04 10:49:43,681 - freqtrade.data.history.history_utils - INFO - Using indicator startup period: 43250 ...
|
||||
2025-05-04 10:49:43,823 - freqtrade.optimize.backtesting - INFO - Loading data from 2025-01-06 21:30:00 up to 2025-04-15 00:00:00 (98 days).
|
||||
2025-05-04 10:49:43,824 - freqtrade.optimize.backtesting - INFO - Dataload complete. Calculating indicators
|
||||
2025-05-04 10:49:43,825 - freqtrade.optimize.backtesting - INFO - Running backtesting for Strategy OKXRegressionStrategy
|
||||
2025-05-04 10:49:45,413 - matplotlib.font_manager - INFO - generated new fontManager
|
||||
2025-05-04 10:49:45,619 - freqtrade.resolvers.iresolver - INFO - Using resolved freqaimodel XGBoostRegressor from '/freqtrade/freqtrade/freqai/prediction_models/XGBoostRegressor.py'...
|
||||
2025-05-04 10:49:45,619 - freqtrade.freqai.data_drawer - INFO - Could not find existing datadrawer, starting from scratch
|
||||
2025-05-04 10:49:45,620 - freqtrade.freqai.data_drawer - INFO - Could not find existing historic_predictions, starting from scratch
|
||||
2025-05-04 10:49:45,620 - freqtrade.freqai.freqai_interface - INFO - Set fresh train queue from whitelist. Queue: ['OKB/USDT', 'TON/USDT']
|
||||
2025-05-04 10:49:45,621 - freqtrade.strategy.hyper - INFO - No params for buy found, using default values.
|
||||
2025-05-04 10:49:45,621 - freqtrade.strategy.hyper - INFO - Strategy Parameter(default): atr_period = 14
|
||||
2025-05-04 10:49:45,621 - freqtrade.strategy.hyper - INFO - No params for sell found, using default values.
|
||||
2025-05-04 10:49:45,622 - freqtrade.strategy.hyper - INFO - Strategy Parameter(default): atr_multiplier = 2.0
|
||||
2025-05-04 10:49:45,622 - freqtrade.strategy.hyper - INFO - No params for protection found, using default values.
|
||||
2025-05-04 10:49:45,627 - freqtrade.freqai.freqai_interface - INFO - Training 1 timeranges
|
||||
2025-05-04 10:49:45,629 - freqtrade.freqai.freqai_interface - INFO - Training OKB/USDT, 1/2 pairs from 2025-01-07 00:00:00 to 2025-04-07 00:00:00, 1/1 trains
|
||||
2025-05-04 10:49:45,629 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at
|
||||
2025-05-04 11:40:36,555 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using order_time_in_force: {'entry': 'GTC', 'exit': 'GTC'}
|
||||
2025-05-04 11:40:36,555 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using stake_currency: USDT
|
||||
2025-05-04 11:40:36,556 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using stake_amount: 150
|
||||
2025-05-04 11:40:36,556 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using startup_candle_count: 30
|
||||
2025-05-04 11:40:36,556 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using unfilledtimeout: {'entry': 5, 'exit': 15, 'exit_timeout_count': 0, 'unit': 'minutes'}
|
||||
2025-05-04 11:40:36,557 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using use_exit_signal: True
|
||||
2025-05-04 11:40:36,557 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using exit_profit_only: False
|
||||
2025-05-04 11:40:36,557 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using ignore_roi_if_entry_signal: False
|
||||
2025-05-04 11:40:36,558 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using exit_profit_offset: 0.0
|
||||
2025-05-04 11:40:36,558 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using disable_dataframe_checks: False
|
||||
2025-05-04 11:40:36,558 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using ignore_buying_expired_candle_after: 0
|
||||
2025-05-04 11:40:36,559 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using position_adjustment_enable: False
|
||||
2025-05-04 11:40:36,559 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using max_entry_position_adjustment: -1
|
||||
2025-05-04 11:40:36,559 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using max_open_trades: 4
|
||||
2025-05-04 11:40:36,560 - freqtrade.configuration.config_validation - INFO - Validating configuration ...
|
||||
2025-05-04 11:40:36,563 - freqtrade.resolvers.iresolver - INFO - Using resolved pairlist StaticPairList from '/freqtrade/freqtrade/plugins/pairlist/StaticPairList.py'...
|
||||
2025-05-04 11:40:36,569 - freqtrade.optimize.backtesting - INFO - Using fee 0.0800% from config.
|
||||
2025-05-04 11:40:36,570 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 3m to 43250
|
||||
2025-05-04 11:40:36,570 - freqtrade.data.history.history_utils - INFO - Using indicator startup period: 43250 ...
|
||||
2025-05-04 11:40:36,708 - freqtrade.optimize.backtesting - INFO - Loading data from 2025-01-06 21:30:00 up to 2025-04-15 00:00:00 (98 days).
|
||||
2025-05-04 11:40:36,708 - freqtrade.optimize.backtesting - INFO - Dataload complete. Calculating indicators
|
||||
2025-05-04 11:40:36,709 - freqtrade.optimize.backtesting - INFO - Running backtesting for Strategy OKXRegressionStrategy
|
||||
2025-05-04 11:40:38,275 - matplotlib.font_manager - INFO - generated new fontManager
|
||||
2025-05-04 11:40:38,479 - freqtrade.resolvers.iresolver - INFO - Using resolved freqaimodel XGBoostRegressor from '/freqtrade/freqtrade/freqai/prediction_models/XGBoostRegressor.py'...
|
||||
2025-05-04 11:40:38,480 - freqtrade.freqai.data_drawer - INFO - Could not find existing datadrawer, starting from scratch
|
||||
2025-05-04 11:40:38,481 - freqtrade.freqai.data_drawer - INFO - Could not find existing historic_predictions, starting from scratch
|
||||
2025-05-04 11:40:38,481 - freqtrade.freqai.freqai_interface - INFO - Set fresh train queue from whitelist. Queue: ['OKB/USDT', 'TON/USDT']
|
||||
2025-05-04 11:40:38,482 - freqtrade.strategy.hyper - INFO - No params for buy found, using default values.
|
||||
2025-05-04 11:40:38,482 - freqtrade.strategy.hyper - INFO - Strategy Parameter(default): atr_period = 14
|
||||
2025-05-04 11:40:38,483 - freqtrade.strategy.hyper - INFO - No params for sell found, using default values.
|
||||
2025-05-04 11:40:38,483 - freqtrade.strategy.hyper - INFO - Strategy Parameter(default): atr_multiplier = 2.0
|
||||
2025-05-04 11:40:38,483 - freqtrade.strategy.hyper - INFO - No params for protection found, using default values.
|
||||
2025-05-04 11:40:38,489 - freqtrade.freqai.freqai_interface - INFO - Training 1 timeranges
|
||||
2025-05-04 11:40:38,491 - freqtrade.freqai.freqai_interface - INFO - Training OKB/USDT, 1/2 pairs from 2025-01-07 00:00:00 to 2025-04-07 00:00:00, 1/1 trains
|
||||
2025-05-04 11:40:38,491 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at
|
||||
/freqtrade/user_data/models/test175/backtesting_predictions/cb_okb_1743984000_prediction.feather
|
||||
2025-05-04 10:49:45,875 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 3m to 43250
|
||||
2025-05-04 10:49:45,875 - freqtrade.data.dataprovider - INFO - Loading data for BTC/USDT 3m from 2025-01-06 21:30:00 to 2025-04-15 00:00:00
|
||||
2025-05-04 10:49:46,073 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 3m to 43250
|
||||
2025-05-04 10:49:46,074 - freqtrade.data.dataprovider - INFO - Loading data for ETH/USDT 3m from 2025-01-06 21:30:00 to 2025-04-15 00:00:00
|
||||
2025-05-04 11:40:38,746 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 3m to 43250
|
||||
2025-05-04 11:40:38,746 - freqtrade.data.dataprovider - INFO - Loading data for BTC/USDT 3m from 2025-01-06 21:30:00 to 2025-04-15 00:00:00
|
||||
2025-05-04 11:40:38,944 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 3m to 43250
|
||||
2025-05-04 11:40:38,945 - freqtrade.data.dataprovider - INFO - Loading data for ETH/USDT 3m from 2025-01-06 21:30:00 to 2025-04-15 00:00:00
|
||||
/freqtrade/templates/OKXRegressionStrategy.py:246: FutureWarning: DataFrame.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
|
||||
dataframe = dataframe.fillna(method="ffill").fillna(0)
|
||||
/freqtrade/templates/OKXRegressionStrategy.py:246: FutureWarning: DataFrame.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
|
||||
dataframe = dataframe.fillna(method="ffill").fillna(0)
|
||||
2025-05-04 10:49:52,079 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-OKB_1743984000/cb_okb_1743984000
|
||||
2025-05-04 10:49:52,080 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training OKB/USDT --------------------
|
||||
2025-05-04 10:49:52,209 - freqtrade.freqai.data_kitchen - INFO - OKB/USDT: dropped 0 training points due to NaNs in populated dataset 43200.
|
||||
2025-05-04 10:49:52,210 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-01-07 to 2025-04-06 --------------------
|
||||
2025-05-04 10:49:52,264 - datasieve.pipeline - INFO - VarianceThreshold will remove 1 features from the dataset.on transform. ['%-hour_of_day']
|
||||
2025-05-04 10:49:52,312 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 181 features
|
||||
2025-05-04 10:49:52,313 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 34560 data points
|
||||
2025-05-04 11:40:45,045 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-OKB_1743984000/cb_okb_1743984000
|
||||
2025-05-04 11:40:45,046 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training OKB/USDT --------------------
|
||||
2025-05-04 11:40:45,176 - freqtrade.freqai.data_kitchen - INFO - OKB/USDT: dropped 0 training points due to NaNs in populated dataset 43200.
|
||||
2025-05-04 11:40:45,176 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-01-07 to 2025-04-06 --------------------
|
||||
2025-05-04 11:40:45,233 - datasieve.pipeline - INFO - VarianceThreshold will remove 1 features from the dataset.on transform. ['%-hour_of_day']
|
||||
2025-05-04 11:40:45,285 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 181 features
|
||||
2025-05-04 11:40:45,285 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 34560 data points
|
||||
[99] validation_0-rmse:0.09103 validation_1-rmse:0.09003
|
||||
2025-05-04 10:54:39,557 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training OKB/USDT (287.48 secs) --------------------
|
||||
2025-05-04 10:54:39,775 - freqtrade.plot.plotting - INFO - Stored plot as /freqtrade/user_data/models/test175/sub-train-OKB_1743984000/cb_okb_1743984000--s_close.html
|
||||
2025-05-04 10:54:39,776 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk.
|
||||
2025-05-04 10:54:39,838 - datasieve.pipeline - WARNING - Could not find step di in pipeline, returning None
|
||||
2025-05-04 10:54:39,925 - freqtrade.freqai.freqai_interface - INFO - Training 1 timeranges
|
||||
2025-05-04 10:54:39,926 - freqtrade.freqai.freqai_interface - INFO - Training TON/USDT, 2/2 pairs from 2025-01-07 00:00:00 to 2025-04-07 00:00:00, 1/1 trains
|
||||
2025-05-04 10:54:39,927 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at
|
||||
2025-05-04 11:42:53,857 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training OKB/USDT (128.81 secs) --------------------
|
||||
2025-05-04 11:42:54,083 - freqtrade.plot.plotting - INFO - Stored plot as /freqtrade/user_data/models/test175/sub-train-OKB_1743984000/cb_okb_1743984000--s_close.html
|
||||
2025-05-04 11:42:54,084 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk.
|
||||
2025-05-04 11:42:54,146 - datasieve.pipeline - WARNING - Could not find step di in pipeline, returning None
|
||||
2025-05-04 11:42:54,238 - freqtrade.freqai.freqai_interface - INFO - Training 1 timeranges
|
||||
2025-05-04 11:42:54,239 - freqtrade.freqai.freqai_interface - INFO - Training TON/USDT, 2/2 pairs from 2025-01-07 00:00:00 to 2025-04-07 00:00:00, 1/1 trains
|
||||
2025-05-04 11:42:54,239 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at
|
||||
/freqtrade/user_data/models/test175/backtesting_predictions/cb_ton_1743984000_prediction.feather
|
||||
/freqtrade/templates/OKXRegressionStrategy.py:246: FutureWarning:
|
||||
|
||||
@ -115,28 +115,28 @@ DataFrame.fillna with 'method' is deprecated and will raise in a future version.
|
||||
|
||||
DataFrame.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
|
||||
|
||||
2025-05-04 10:54:46,169 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-TON_1743984000/cb_ton_1743984000
|
||||
2025-05-04 10:54:46,169 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training TON/USDT --------------------
|
||||
2025-05-04 10:54:46,285 - freqtrade.freqai.data_kitchen - INFO - TON/USDT: dropped 0 training points due to NaNs in populated dataset 43200.
|
||||
2025-05-04 10:54:46,286 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-01-07 to 2025-04-06 --------------------
|
||||
2025-05-04 10:54:46,340 - datasieve.pipeline - INFO - VarianceThreshold will remove 1 features from the dataset.on transform. ['%-hour_of_day']
|
||||
2025-05-04 10:54:46,388 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 181 features
|
||||
2025-05-04 10:54:46,388 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 34560 data points
|
||||
2025-05-04 11:43:00,429 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-TON_1743984000/cb_ton_1743984000
|
||||
2025-05-04 11:43:00,429 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training TON/USDT --------------------
|
||||
2025-05-04 11:43:00,548 - freqtrade.freqai.data_kitchen - INFO - TON/USDT: dropped 0 training points due to NaNs in populated dataset 43200.
|
||||
2025-05-04 11:43:00,549 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-01-07 to 2025-04-06 --------------------
|
||||
2025-05-04 11:43:00,606 - datasieve.pipeline - INFO - VarianceThreshold will remove 1 features from the dataset.on transform. ['%-hour_of_day']
|
||||
2025-05-04 11:43:00,657 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 181 features
|
||||
2025-05-04 11:43:00,658 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 34560 data points
|
||||
[99] validation_0-rmse:0.12193 validation_1-rmse:0.12248
|
||||
2025-05-04 10:59:22,550 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training TON/USDT (276.38 secs) --------------------
|
||||
2025-05-04 10:59:22,585 - freqtrade.plot.plotting - INFO - Stored plot as /freqtrade/user_data/models/test175/sub-train-TON_1743984000/cb_ton_1743984000--s_close.html
|
||||
2025-05-04 10:59:22,586 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk.
|
||||
2025-05-04 10:59:22,650 - datasieve.pipeline - WARNING - Could not find step di in pipeline, returning None
|
||||
2025-05-04 10:59:22,731 - freqtrade.optimize.backtesting - INFO - Backtesting with data from 2025-04-07 00:00:00 up to 2025-04-15 00:00:00 (8 days).
|
||||
2025-05-04 10:59:22,926 - freqtrade.misc - INFO - dumping json to "/freqtrade/user_data/backtest_results/backtest-result-2025-05-04_10-59-22.meta.json"
|
||||
2025-05-04 11:46:04,560 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training TON/USDT (184.13 secs) --------------------
|
||||
2025-05-04 11:46:04,595 - freqtrade.plot.plotting - INFO - Stored plot as /freqtrade/user_data/models/test175/sub-train-TON_1743984000/cb_ton_1743984000--s_close.html
|
||||
2025-05-04 11:46:04,596 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk.
|
||||
2025-05-04 11:46:04,661 - datasieve.pipeline - WARNING - Could not find step di in pipeline, returning None
|
||||
2025-05-04 11:46:04,744 - freqtrade.optimize.backtesting - INFO - Backtesting with data from 2025-04-07 00:00:00 up to 2025-04-15 00:00:00 (8 days).
|
||||
2025-05-04 11:46:04,935 - freqtrade.misc - INFO - dumping json to "/freqtrade/user_data/backtest_results/backtest-result-2025-05-04_11-46-04.meta.json"
|
||||
Result for strategy OKXRegressionStrategy
|
||||
BACKTESTING REPORT
|
||||
┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓
|
||||
┃ Pair ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃
|
||||
┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩
|
||||
│ OKB/USDT │ 6 │ 0.55 │ 0.659 │ 0.07 │ 0:28:00 │ 4 0 2 66.7 │
|
||||
│ OKB/USDT │ 6 │ 0.6 │ 0.718 │ 0.07 │ 0:34:00 │ 4 0 2 66.7 │
|
||||
│ TON/USDT │ 3 │ -0.1 │ -0.062 │ -0.01 │ 0:02:00 │ 1 0 2 33.3 │
|
||||
│ TOTAL │ 9 │ 0.33 │ 0.597 │ 0.06 │ 0:19:00 │ 5 0 4 55.6 │
|
||||
│ TOTAL │ 9 │ 0.36 │ 0.656 │ 0.07 │ 0:23:00 │ 5 0 4 55.6 │
|
||||
└──────────┴────────┴──────────────┴─────────────────┴──────────────┴──────────────┴────────────────────────┘
|
||||
LEFT OPEN TRADES REPORT
|
||||
┏━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓
|
||||
@ -148,24 +148,24 @@ Result for strategy OKXRegressionStrategy
|
||||
┏━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓
|
||||
┃ Enter Tag ┃ Entries ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃
|
||||
┡━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩
|
||||
│ OTHER │ 9 │ 0.33 │ 0.597 │ 0.06 │ 0:19:00 │ 5 0 4 55.6 │
|
||||
│ TOTAL │ 9 │ 0.33 │ 0.597 │ 0.06 │ 0:19:00 │ 5 0 4 55.6 │
|
||||
│ OTHER │ 9 │ 0.36 │ 0.656 │ 0.07 │ 0:23:00 │ 5 0 4 55.6 │
|
||||
│ TOTAL │ 9 │ 0.36 │ 0.656 │ 0.07 │ 0:23:00 │ 5 0 4 55.6 │
|
||||
└───────────┴─────────┴──────────────┴─────────────────┴──────────────┴──────────────┴────────────────────────┘
|
||||
EXIT REASON STATS
|
||||
┏━━━━━━━━━━━━━━━━━━━━┳━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓
|
||||
┃ Exit Reason ┃ Exits ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃
|
||||
┡━━━━━━━━━━━━━━━━━━━━╇━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩
|
||||
│ exit_signal │ 3 │ 1.24 │ 0.744 │ 0.07 │ 0:49:00 │ 3 0 0 100 │
|
||||
│ exit_signal │ 3 │ 1.34 │ 0.803 │ 0.08 │ 1:01:00 │ 3 0 0 100 │
|
||||
│ trailing_stop_loss │ 6 │ -0.12 │ -0.147 │ -0.01 │ 0:04:00 │ 2 0 4 33.3 │
|
||||
│ TOTAL │ 9 │ 0.33 │ 0.597 │ 0.06 │ 0:19:00 │ 5 0 4 55.6 │
|
||||
│ TOTAL │ 9 │ 0.36 │ 0.656 │ 0.07 │ 0:23:00 │ 5 0 4 55.6 │
|
||||
└────────────────────┴───────┴──────────────┴─────────────────┴──────────────┴──────────────┴────────────────────────┘
|
||||
MIXED TAG STATS
|
||||
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓
|
||||
┃ Enter Tag ┃ Exit Reason ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃
|
||||
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩
|
||||
│ │ exit_signal │ 3 │ 1.24 │ 0.744 │ 0.07 │ 0:49:00 │ 3 0 0 100 │
|
||||
│ │ exit_signal │ 3 │ 1.34 │ 0.803 │ 0.08 │ 1:01:00 │ 3 0 0 100 │
|
||||
│ │ trailing_stop_loss │ 6 │ -0.12 │ -0.147 │ -0.01 │ 0:04:00 │ 2 0 4 33.3 │
|
||||
│ TOTAL │ │ 9 │ 0.33 │ 0.597 │ 0.06 │ 0:19:00 │ 5 0 4 55.6 │
|
||||
│ TOTAL │ │ 9 │ 0.36 │ 0.656 │ 0.07 │ 0:23:00 │ 5 0 4 55.6 │
|
||||
└───────────┴────────────────────┴────────┴──────────────┴─────────────────┴──────────────┴──────────────┴────────────────────────┘
|
||||
SUMMARY METRICS
|
||||
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┓
|
||||
@ -178,35 +178,35 @@ Result for strategy OKXRegressionStrategy
|
||||
│ │ │
|
||||
│ Total/Daily Avg Trades │ 9 / 1.12 │
|
||||
│ Starting balance │ 1000 USDT │
|
||||
│ Final balance │ 1000.597 USDT │
|
||||
│ Absolute profit │ 0.597 USDT │
|
||||
│ Total profit % │ 0.06% │
|
||||
│ CAGR % │ 2.76% │
|
||||
│ Sortino │ 37.00 │
|
||||
│ Sharpe │ 7.69 │
|
||||
│ Calmar │ 890.73 │
|
||||
│ SQN │ 1.01 │
|
||||
│ Profit factor │ 2.49 │
|
||||
│ Expectancy (Ratio) │ 0.07 (0.66) │
|
||||
│ Final balance │ 1000.656 USDT │
|
||||
│ Absolute profit │ 0.656 USDT │
|
||||
│ Total profit % │ 0.07% │
|
||||
│ CAGR % │ 3.04% │
|
||||
│ Sortino │ 40.69 │
|
||||
│ Sharpe │ 8.15 │
|
||||
│ Calmar │ 979.41 │
|
||||
│ SQN │ 1.07 │
|
||||
│ Profit factor │ 2.64 │
|
||||
│ Expectancy (Ratio) │ 0.07 (0.73) │
|
||||
│ Avg. daily profit % │ 0.01% │
|
||||
│ Avg. stake amount │ 20.003 USDT │
|
||||
│ Total trade volume │ 361.233 USDT │
|
||||
│ Total trade volume │ 361.294 USDT │
|
||||
│ │ │
|
||||
│ Best Pair │ OKB/USDT 0.07% │
|
||||
│ Worst Pair │ TON/USDT -0.01% │
|
||||
│ Best trade │ OKB/USDT 1.95% │
|
||||
│ Best trade │ OKB/USDT 2.13% │
|
||||
│ Worst trade │ OKB/USDT -0.71% │
|
||||
│ Best day │ 0.332 USDT │
|
||||
│ Worst day │ 0 USDT │
|
||||
│ Days win/draw/lose │ 3 / 3 / 0 │
|
||||
│ Avg. Duration Winners │ 0:32:00 │
|
||||
│ Avg. Duration Winners │ 0:39:00 │
|
||||
│ Avg. Duration Loser │ 0:04:00 │
|
||||
│ Max Consecutive Wins / Loss │ 2 / 2 │
|
||||
│ Rejected Entry signals │ 0 │
|
||||
│ Entry/Exit Timeouts │ 0 / 0 │
|
||||
│ │ │
|
||||
│ Min balance │ 999.84 USDT │
|
||||
│ Max balance │ 1000.597 USDT │
|
||||
│ Max balance │ 1000.656 USDT │
|
||||
│ Max % of account underwater │ 0.02% │
|
||||
│ Absolute Drawdown (Account) │ 0.02% │
|
||||
│ Absolute Drawdown │ 0.16 USDT │
|
||||
@ -222,5 +222,5 @@ Backtested 2025-04-07 00:00:00 -> 2025-04-15 00:00:00 | Max open trades : 2
|
||||
┏━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
|
||||
┃ Strategy ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃ Drawdown ┃
|
||||
┡━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
|
||||
│ OKXRegressionStrategy │ 9 │ 0.33 │ 0.597 │ 0.06 │ 0:19:00 │ 5 0 4 55.6 │ 0.16 USDT 0.02% │
|
||||
│ OKXRegressionStrategy │ 9 │ 0.36 │ 0.656 │ 0.07 │ 0:23:00 │ 5 0 4 55.6 │ 0.16 USDT 0.02% │
|
||||
└───────────────────────┴────────┴──────────────┴─────────────────┴──────────────┴──────────────┴────────────────────────┴──────────────────┘
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user