From cdce4eba5b9fcf3c1544a42524112d1f633a8a9d Mon Sep 17 00:00:00 2001 From: "zhangkun9038@dingtalk.com" Date: Thu, 1 May 2025 12:33:24 +0800 Subject: [PATCH] run.sh --- #### **3. 检查目标变量** | 6 + .gitignore | 2 + config_examples/basic.json | 126 + debug.log | 2334 +++++++++++++ docker-compose.yml | 3 +- e6402d0.diff | 407 +++ filtered_output.log | 888 +++++ freqtrade.log | 3066 +++++++++++++++++ freqtrade/abc.py | 336 ++ freqtrade/new.py | 295 ++ freqtrade/old.py | 336 ++ freqtrade/templates/MyDynamicStrategy.py | 185 + freqtrade/templates/optima.py | 69 + freqtrade_utf8.log | 3066 +++++++++++++++++ output.log | 1232 +++++++ output_filted.log | 450 +-- .../backtest-result-2025-05-01_04-27-37.json | 1 + ...ktest-result-2025-05-01_04-27-37.meta.json | 1 + .../backtest-result-2025-05-01_04-27-37.zip | Bin 0 -> 159024 bytes ...-05-01_04-27-37_FreqaiExampleStrategy.json | 32 + ...25-05-01_04-27-37_FreqaiExampleStrategy.py | 336 ++ ...est-result-2025-05-01_04-27-37_config.json | 1 + ...-2025-05-01_04-27-37_market_change.feather | Bin 0 -> 180842 bytes run.sh | 23 + temp_validation.log | 2202 ++++++++++++ your_output_file.log | 3066 +++++++++++++++++ 26 files changed, 18262 insertions(+), 201 deletions(-) create mode 100644 #### **3. 检查目标变量** create mode 100644 config_examples/basic.json create mode 100644 debug.log create mode 100644 e6402d0.diff create mode 100644 filtered_output.log create mode 100644 freqtrade.log create mode 100644 freqtrade/abc.py create mode 100644 freqtrade/new.py create mode 100644 freqtrade/old.py create mode 100644 freqtrade/templates/MyDynamicStrategy.py create mode 100644 freqtrade/templates/optima.py create mode 100644 freqtrade_utf8.log create mode 100644 output.log create mode 100644 result/backtest-result-2025-05-01_04-27-37.json create mode 100644 result/backtest-result-2025-05-01_04-27-37.meta.json create mode 100644 result/backtest-result-2025-05-01_04-27-37.zip create mode 100644 result/backtest-result-2025-05-01_04-27-37_FreqaiExampleStrategy.json create mode 100644 result/backtest-result-2025-05-01_04-27-37_FreqaiExampleStrategy.py create mode 100644 result/backtest-result-2025-05-01_04-27-37_config.json create mode 100644 result/backtest-result-2025-05-01_04-27-37_market_change.feather create mode 100755 run.sh create mode 100644 temp_validation.log create mode 100644 your_output_file.log diff --git a/#### **3. 检查目标变量** b/#### **3. 检查目标变量** new file mode 100644 index 00000000..63f98aa1 --- /dev/null +++ b/#### **3. 检查目标变量** @@ -0,0 +1,6 @@ + +<<<<<<< HEAD +======= +dataframe['target'] = np.where(short_ma > long_ma, 2, + np.where(short_ma < long_ma, 0, 1)) +>>>>>>> Snippet diff --git a/.gitignore b/.gitignore index 2693995d..824ef289 100644 --- a/.gitignore +++ b/.gitignore @@ -120,3 +120,5 @@ target/ docker-compose-*.yml data/ + +!result/ diff --git a/config_examples/basic.json b/config_examples/basic.json new file mode 100644 index 00000000..0b12b7b9 --- /dev/null +++ b/config_examples/basic.json @@ -0,0 +1,126 @@ +{ + "$schema": "https://schema.freqtrade.io/schema.json", + "trading_mode": "spot", + "margin_mode": "isolated", + "max_open_trades": 4, + "stake_currency": "USDT", + "stake_amount": 150, + "startup_candle_count": 30, + "tradable_balance_ratio": 1, + "fiat_display_currency": "USD", + "dry_run": true, + "timeframe": "3m", + "dry_run_wallet": 1000, + "cancel_open_orders_on_exit": true, + "stoploss": -0.05, + "unfilledtimeout": { + "entry": 5, + "exit": 15 + }, + "exchange": { + "name": "okx", + "key": "eca767d4-fda5-4a1b-bb28-49ae18093307", + "secret": "8CA3628A556ED137977DB298D37BC7F3", + "enable_ws": false, + "ccxt_config": { + "enableRateLimit": true, + "rateLimit": 500, + "options": { + "defaultType": "spot" + } + }, + "ccxt_async_config": { + "enableRateLimit": true, + "rateLimit": 500, + "timeout": 20000 + }, + "pair_whitelist": [ + "BTC/USDT", + "SOL/USDT" + ], + "pair_blacklist": [] + }, + "entry_pricing": { + "price_side": "same", + "use_order_book": true, + "order_book_top": 1, + "price_last_balance": 0.0, + "check_depth_of_market": { + "enabled": false, + "bids_to_ask_delta": 1 + } + }, + "exit_pricing": { + "price_side": "other", + "use_order_book": true, + "order_book_top": 1 + }, + "pairlists": [ + { + "method": "StaticPairList" + } + ], + "freqai": { + "enabled": true, + "data_kitchen": { + "fillna": "ffill", + "feature_parameters": { + "DI_threshold": 0.9, + "weight_factor": 0.9 + } + }, + "freqaimodel": "XGBoostRegressor", + "purge_old_models": 2, + "identifier": "test175", + "train_period_days": 30, + "backtest_period_days": 10, + "live_retrain_hours": 0, + "feature_selection": { + "method": "recursive_elimination", + "threshold": 0.01 + }, + "feature_parameters": { + "include_timeframes": ["5m", "1h"], + "include_corr_pairlist": ["BTC/USDT"], + "label_period_candles": 10, + "use_SVM_to_remove_outliers": true, + "principal_component_analysis": true + }, + "model": "XGBoostRegressor", + "data_split_parameters": { + "test_size": 0.2, + "shuffle": true, + "random_state": 42 + }, + "model_training_parameters": { + "n_estimators": 200, + "learning_rate": 0.05, + "max_depth": 5, + "subsample": 0.8, + "colsample_bytree": 0.8, + "objective": "reg:squarederror", + "eval_metric": "rmse", + "early_stopping_rounds": 50 + } + }, + "api_server": { + "enabled": true, + "listen_ip_address": "0.0.0.0", + "listen_port": 8080, + "verbosity": "error", + "enable_openapi": false, + "jwt_secret_key": "6a599ab046dbb419014807dffd7b8823bfa7e5df56b17d545485deb87331b4ca", + "ws_token": "6O5pBDiRigiZrmIsofaE2rkKMJtf9h8zVQ", + "CORS_origins": [], + "username": "freqAdmin", + "password": "admin" + }, + "bot_name": "freqtrade", + "initial_state": "running", + "force_entry_enable": false, + "internals": { + "process_throttle_secs": 5, + "heartbeat_interval": 20, + "loglevel": "DEBUG" + } +} diff --git a/debug.log b/debug.log new file mode 100644 index 00000000..c574f5c8 --- /dev/null +++ b/debug.log @@ -0,0 +1,2334 @@ +2025-04-29 01:22:03,335 - freqtrade - INFO - freqtrade 2025.3 +2025-04-29 01:22:03,551 - numexpr.utils - INFO - NumExpr defaulting to 12 threads. +2025-04-29 01:22:04,957 - freqtrade.configuration.load_config - INFO - Using config: /freqtrade/config_examples/config_freqai.okx.json ... +2025-04-29 01:22:04,958 - freqtrade.configuration.load_config - INFO - Using config: /freqtrade/templates/FreqaiExampleStrategy.json ... +2025-04-29 01:22:04,960 - freqtrade.loggers - INFO - Enabling colorized output. +2025-04-29 01:22:04,960 - root - INFO - Logfile configured +2025-04-29 01:22:04,960 - freqtrade.loggers - INFO - Verbosity set to 0 +2025-04-29 01:22:04,961 - freqtrade.configuration.configuration - INFO - Using additional Strategy lookup path: /freqtrade/templates +2025-04-29 01:22:04,961 - freqtrade.configuration.configuration - INFO - Using max_open_trades: 4 ... +2025-04-29 01:22:04,961 - freqtrade.configuration.configuration - INFO - Parameter --timerange detected: 20250101-20250420 ... +2025-04-29 01:22:04,998 - freqtrade.configuration.configuration - INFO - Using user-data directory: /freqtrade/user_data ... +2025-04-29 01:22:04,999 - freqtrade.configuration.configuration - INFO - Using data directory: /freqtrade/user_data/data/okx ... +2025-04-29 01:22:05,000 - freqtrade.configuration.configuration - INFO - Parameter --cache=none detected ... +2025-04-29 01:22:05,000 - freqtrade.configuration.configuration - INFO - Filter trades by timerange: 20250101-20250420 +2025-04-29 01:22:05,001 - freqtrade.configuration.configuration - INFO - Using freqaimodel class name: XGBoostRegressor +2025-04-29 01:22:05,002 - freqtrade.exchange.check_exchange - INFO - Checking exchange... +2025-04-29 01:22:05,008 - freqtrade.exchange.check_exchange - INFO - Exchange "okx" is officially supported by the Freqtrade development team. +2025-04-29 01:22:05,008 - freqtrade.configuration.configuration - INFO - Using pairlist from configuration. +2025-04-29 01:22:05,009 - freqtrade.configuration.config_validation - INFO - Validating configuration ... +2025-04-29 01:22:05,011 - freqtrade.commands.optimize_commands - INFO - Starting freqtrade in Backtesting mode +2025-04-29 01:22:05,012 - freqtrade.exchange.exchange - INFO - Instance is running with dry_run enabled +2025-04-29 01:22:05,012 - freqtrade.exchange.exchange - INFO - Using CCXT 4.4.69 +2025-04-29 01:22:05,012 - freqtrade.exchange.exchange - INFO - Applying additional ccxt config: {'enableRateLimit': True, 'rateLimit': 500, 'options': {'defaultType': 'spot'}} +2025-04-29 01:22:05,017 - freqtrade.exchange.exchange - INFO - Applying additional ccxt config: {'enableRateLimit': True, 'rateLimit': 500, 'options': {'defaultType': 'spot'}, 'timeout': 20000} +2025-04-29 01:22:05,023 - freqtrade.exchange.exchange - INFO - Using Exchange "OKX" +2025-04-29 01:22:07,636 - freqtrade.resolvers.exchange_resolver - INFO - Using resolved exchange 'Okx'... +2025-04-29 01:22:07,657 - freqtrade.resolvers.iresolver - INFO - Using resolved strategy FreqaiExampleStrategy from '/freqtrade/templates/FreqaiExampleStrategy.py'... +2025-04-29 01:22:07,657 - freqtrade.strategy.hyper - INFO - Loading parameters from file /freqtrade/templates/FreqaiExampleStrategy.json +2025-04-29 01:22:07,658 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'timeframe' with value in config file: 3m. +2025-04-29 01:22:07,658 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'stoploss' with value in config file: -0.05. +2025-04-29 01:22:07,659 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'stake_currency' with value in config file: USDT. +2025-04-29 01:22:07,659 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'stake_amount' with value in config file: 150. +2025-04-29 01:22:07,659 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'startup_candle_count' with value in config file: 30. +2025-04-29 01:22:07,660 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'unfilledtimeout' with value in config file: {'entry': 5, 'exit': 15, 'exit_timeout_count': 0, 'unit': +'minutes'}. +2025-04-29 01:22:07,660 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'max_open_trades' with value in config file: 4. +2025-04-29 01:22:07,661 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using minimal_roi: {'0': 0.132, '8': 0.047, '14': 0.007, '60': 0} +2025-04-29 01:22:07,661 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using timeframe: 3m +2025-04-29 01:22:07,661 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using stoploss: -0.05 +2025-04-29 01:22:07,662 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using trailing_stop: True +2025-04-29 01:22:07,662 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using trailing_stop_positive: 0.01 +2025-04-29 01:22:07,662 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using trailing_stop_positive_offset: 0.02 +2025-04-29 01:22:07,663 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using trailing_only_offset_is_reached: False +2025-04-29 01:22:07,663 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using use_custom_stoploss: False +2025-04-29 01:22:07,663 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using process_only_new_candles: True +2025-04-29 01:22:07,664 - 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-04-29 01:22:07,664 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using order_time_in_force: {'entry': 'GTC', 'exit': 'GTC'} +2025-04-29 01:22:07,664 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using stake_currency: USDT +2025-04-29 01:22:07,664 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using stake_amount: 150 +2025-04-29 01:22:07,665 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using startup_candle_count: 30 +2025-04-29 01:22:07,665 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using unfilledtimeout: {'entry': 5, 'exit': 15, 'exit_timeout_count': 0, 'unit': 'minutes'} +2025-04-29 01:22:07,665 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using use_exit_signal: True +2025-04-29 01:22:07,666 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using exit_profit_only: False +2025-04-29 01:22:07,666 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using ignore_roi_if_entry_signal: False +2025-04-29 01:22:07,666 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using exit_profit_offset: 0.0 +2025-04-29 01:22:07,666 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using disable_dataframe_checks: False +2025-04-29 01:22:07,667 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using ignore_buying_expired_candle_after: 0 +2025-04-29 01:22:07,667 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using position_adjustment_enable: False +2025-04-29 01:22:07,667 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using max_entry_position_adjustment: -1 +2025-04-29 01:22:07,667 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using max_open_trades: 4 +2025-04-29 01:22:07,668 - freqtrade.configuration.config_validation - INFO - Validating configuration ... +2025-04-29 01:22:07,671 - freqtrade.resolvers.iresolver - INFO - Using resolved pairlist StaticPairList from '/freqtrade/freqtrade/plugins/pairlist/StaticPairList.py'... +2025-04-29 01:22:07,677 - freqtrade.optimize.backtesting - INFO - Using fee 0.1500% - worst case fee from exchange (lowest tier). +2025-04-29 01:22:07,678 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 3m to 14450 +2025-04-29 01:22:07,678 - freqtrade.data.history.history_utils - INFO - Using indicator startup period: 14450 ... +2025-04-29 01:22:07,842 - freqtrade.optimize.backtesting - INFO - Loading data from 2024-12-01 21:30:00 up to 2025-04-20 00:00:00 (139 days). +2025-04-29 01:22:07,843 - freqtrade.optimize.backtesting - INFO - Dataload complete. Calculating indicators +2025-04-29 01:22:07,843 - freqtrade.optimize.backtesting - INFO - Running backtesting for Strategy FreqaiExampleStrategy +2025-04-29 01:22:09,440 - matplotlib.font_manager - INFO - generated new fontManager +2025-04-29 01:22:09,642 - freqtrade.resolvers.iresolver - INFO - Using resolved freqaimodel XGBoostRegressor from '/freqtrade/freqtrade/freqai/prediction_models/XGBoostRegressor.py'... +2025-04-29 01:22:09,643 - freqtrade.freqai.data_drawer - INFO - Could not find existing datadrawer, starting from scratch +2025-04-29 01:22:09,643 - freqtrade.freqai.data_drawer - INFO - Could not find existing historic_predictions, starting from scratch +2025-04-29 01:22:09,643 - freqtrade.freqai.freqai_interface - INFO - Set fresh train queue from whitelist. Queue: ['BTC/USDT', 'SOL/USDT'] +2025-04-29 01:22:09,644 - freqtrade.strategy.hyper - INFO - Strategy Parameter: buy_rsi = 39.92672300850069 +2025-04-29 01:22:09,644 - freqtrade.strategy.hyper - INFO - Strategy Parameter: sell_rsi = 69.92672300850067 +2025-04-29 01:22:09,645 - freqtrade.strategy.hyper - INFO - No params for protection found, using default values. +2025-04-29 01:22:09,650 - FreqaiExampleStrategy - INFO - 处理交易对:BTC/USDT +2025-04-29 01:22:09,652 - freqtrade.freqai.freqai_interface - INFO - Training 11 timeranges +2025-04-29 01:22:09,654 - freqtrade.freqai.freqai_interface - INFO - Training BTC/USDT, 1/2 pairs from 2024-12-02 00:00:00 to 2025-01-01 00:00:00, 1/11 trains +2025-04-29 01:22:09,654 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_btc_1735689600_prediction.feather +2025-04-29 01:22:09,754 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 5m to 8690 +2025-04-29 01:22:09,755 - freqtrade.data.dataprovider - INFO - Loading data for BTC/USDT 5m from 2024-12-01 19:50:00 to 2025-04-20 00:00:00 +2025-04-29 01:22:09,858 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 1h to 770 +2025-04-29 01:22:09,859 - freqtrade.data.dataprovider - INFO - Loading data for BTC/USDT 1h from 2024-11-29 22:00:00 to 2025-04-20 00:00:00 +2025-04-29 01:22:09,960 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 3m to 14450 +2025-04-29 01:22:09,960 - freqtrade.data.dataprovider - INFO - Loading data for ETH/USDT 3m from 2024-12-01 21:30:00 to 2025-04-20 00:00:00 +2025-04-29 01:22:10,084 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 5m to 8690 +2025-04-29 01:22:10,084 - freqtrade.data.dataprovider - INFO - Loading data for ETH/USDT 5m from 2024-12-01 19:50:00 to 2025-04-20 00:00:00 +2025-04-29 01:22:10,182 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 1h to 770 +2025-04-29 01:22:10,182 - freqtrade.data.dataprovider - INFO - Loading data for ETH/USDT 1h from 2024-11-29 22:00:00 to 2025-04-20 00:00:00 +2025-04-29 01:22:10,260 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:22:10,265 - FreqaiExampleStrategy - INFO - 目标列形状:(14450,) +2025-04-29 01:22:10,267 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.152831 +1 0.003285 50.152831 +2 0.001898 50.152831 +3 0.000484 50.152831 +4 0.001688 50.152831 +2025-04-29 01:22:10,270 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:22:10,275 - FreqaiExampleStrategy - INFO - 目标列形状:(19250,) +2025-04-29 01:22:10,277 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.202701 +1 0.003285 50.202701 +2 0.001898 50.202701 +3 0.000484 50.202701 +4 0.001688 50.202701 +2025-04-29 01:22:10,281 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-BTC_1735689600/cb_btc_1735689600 +2025-04-29 01:22:10,281 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training BTC/USDT -------------------- +2025-04-29 01:22:10,297 - freqtrade.freqai.data_kitchen - INFO - BTC/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:22:10,298 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2024-12-02 to 2024-12-31 -------------------- +2025-04-29 01:22:15,331 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 75 features +2025-04-29 01:22:15,332 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.24624 validation_1-rmse:0.26036 +[1] validation_0-rmse:0.24176 validation_1-rmse:0.25460 +[2] validation_0-rmse:0.23782 validation_1-rmse:0.24904 +[3] validation_0-rmse:0.23408 validation_1-rmse:0.24381 +[4] validation_0-rmse:0.23057 validation_1-rmse:0.23882 +[5] validation_0-rmse:0.22701 validation_1-rmse:0.23409 +[6] validation_0-rmse:0.22400 validation_1-rmse:0.22962 +[7] validation_0-rmse:0.22088 validation_1-rmse:0.22533 +[8] validation_0-rmse:0.21817 validation_1-rmse:0.22130 +[9] validation_0-rmse:0.21491 validation_1-rmse:0.21740 +[10] validation_0-rmse:0.21265 validation_1-rmse:0.21347 +[11] validation_0-rmse:0.20982 validation_1-rmse:0.20978 +[12] validation_0-rmse:0.20747 validation_1-rmse:0.20640 +[13] validation_0-rmse:0.20512 validation_1-rmse:0.20299 +[14] validation_0-rmse:0.20280 validation_1-rmse:0.19966 +[15] validation_0-rmse:0.20012 validation_1-rmse:0.19656 +[16] validation_0-rmse:0.19785 validation_1-rmse:0.19346 +[17] validation_0-rmse:0.19572 validation_1-rmse:0.19054 +[18] validation_0-rmse:0.19400 validation_1-rmse:0.18759 +[19] validation_0-rmse:0.19164 validation_1-rmse:0.18488 +[20] validation_0-rmse:0.18956 validation_1-rmse:0.18205 +[21] validation_0-rmse:0.18746 validation_1-rmse:0.17951 +[22] validation_0-rmse:0.18593 validation_1-rmse:0.17696 +[23] validation_0-rmse:0.18395 validation_1-rmse:0.17465 +[24] validation_0-rmse:0.18249 validation_1-rmse:0.17217 +[25] validation_0-rmse:0.18084 validation_1-rmse:0.16993 +[26] validation_0-rmse:0.17928 validation_1-rmse:0.16771 +[27] validation_0-rmse:0.17776 validation_1-rmse:0.16571 +[28] validation_0-rmse:0.17652 validation_1-rmse:0.16356 +[29] validation_0-rmse:0.17499 validation_1-rmse:0.16166 +[30] validation_0-rmse:0.17371 validation_1-rmse:0.15983 +[31] validation_0-rmse:0.17243 validation_1-rmse:0.15792 +[32] validation_0-rmse:0.17110 validation_1-rmse:0.15628 +[33] validation_0-rmse:0.16996 validation_1-rmse:0.15433 +[34] validation_0-rmse:0.16884 validation_1-rmse:0.15277 +[35] validation_0-rmse:0.16785 validation_1-rmse:0.15090 +[36] validation_0-rmse:0.16682 validation_1-rmse:0.14942 +[37] validation_0-rmse:0.16559 validation_1-rmse:0.14774 +[38] validation_0-rmse:0.16459 validation_1-rmse:0.14628 +[39] validation_0-rmse:0.16356 validation_1-rmse:0.14466 +[40] validation_0-rmse:0.16250 validation_1-rmse:0.14330 +[41] validation_0-rmse:0.16153 validation_1-rmse:0.14201 +[42] validation_0-rmse:0.16059 validation_1-rmse:0.14075 +[43] validation_0-rmse:0.15986 validation_1-rmse:0.13938 +[44] validation_0-rmse:0.15908 validation_1-rmse:0.13822 +[45] validation_0-rmse:0.15810 validation_1-rmse:0.13687 +[46] validation_0-rmse:0.15733 validation_1-rmse:0.13577 +[47] validation_0-rmse:0.15655 validation_1-rmse:0.13458 +[48] validation_0-rmse:0.15580 validation_1-rmse:0.13355 +[49] validation_0-rmse:0.15512 validation_1-rmse:0.13228 +[50] validation_0-rmse:0.15434 validation_1-rmse:0.13121 +[51] validation_0-rmse:0.15363 validation_1-rmse:0.13030 +[52] validation_0-rmse:0.15294 validation_1-rmse:0.12937 +[53] validation_0-rmse:0.15243 validation_1-rmse:0.12818 +[54] validation_0-rmse:0.15170 validation_1-rmse:0.12720 +[55] validation_0-rmse:0.15096 validation_1-rmse:0.12632 +[56] validation_0-rmse:0.15035 validation_1-rmse:0.12538 +[57] validation_0-rmse:0.14977 validation_1-rmse:0.12453 +[58] validation_0-rmse:0.14914 validation_1-rmse:0.12363 +[59] validation_0-rmse:0.14867 validation_1-rmse:0.12263 +[60] validation_0-rmse:0.14819 validation_1-rmse:0.12183 +[61] validation_0-rmse:0.14763 validation_1-rmse:0.12108 +[62] validation_0-rmse:0.14706 validation_1-rmse:0.12035 +[63] validation_0-rmse:0.14648 validation_1-rmse:0.11946 +[64] validation_0-rmse:0.14601 validation_1-rmse:0.11876 +[65] validation_0-rmse:0.14553 validation_1-rmse:0.11808 +[66] validation_0-rmse:0.14506 validation_1-rmse:0.11742 +[67] validation_0-rmse:0.14469 validation_1-rmse:0.11671 +[68] validation_0-rmse:0.14422 validation_1-rmse:0.11604 +[69] validation_0-rmse:0.14381 validation_1-rmse:0.11543 +[70] validation_0-rmse:0.14337 validation_1-rmse:0.11485 +[71] validation_0-rmse:0.14294 validation_1-rmse:0.11398 +[72] validation_0-rmse:0.14260 validation_1-rmse:0.11335 +[73] validation_0-rmse:0.14223 validation_1-rmse:0.11278 +[74] validation_0-rmse:0.14190 validation_1-rmse:0.11225 +[75] validation_0-rmse:0.14144 validation_1-rmse:0.11143 +[76] validation_0-rmse:0.14098 validation_1-rmse:0.11052 +[77] validation_0-rmse:0.14062 validation_1-rmse:0.10998 +[78] validation_0-rmse:0.14029 validation_1-rmse:0.10953 +[79] validation_0-rmse:0.13993 validation_1-rmse:0.10888 +[80] validation_0-rmse:0.13958 validation_1-rmse:0.10839 +[81] validation_0-rmse:0.13918 validation_1-rmse:0.10767 +[82] validation_0-rmse:0.13897 validation_1-rmse:0.10720 +[83] validation_0-rmse:0.13864 validation_1-rmse:0.10669 +[84] validation_0-rmse:0.13836 validation_1-rmse:0.10620 +[85] validation_0-rmse:0.13810 validation_1-rmse:0.10573 +[86] validation_0-rmse:0.13782 validation_1-rmse:0.10526 +[87] validation_0-rmse:0.13756 validation_1-rmse:0.10458 +[88] validation_0-rmse:0.13736 validation_1-rmse:0.10420 +[89] validation_0-rmse:0.13708 validation_1-rmse:0.10383 +[90] validation_0-rmse:0.13685 validation_1-rmse:0.10343 +[91] validation_0-rmse:0.13658 validation_1-rmse:0.10298 +[92] validation_0-rmse:0.13646 validation_1-rmse:0.10231 +[93] validation_0-rmse:0.13615 validation_1-rmse:0.10190 +[94] validation_0-rmse:0.13589 validation_1-rmse:0.10154 +[95] validation_0-rmse:0.13572 validation_1-rmse:0.10095 +[96] validation_0-rmse:0.13550 validation_1-rmse:0.10058 +[97] validation_0-rmse:0.13530 validation_1-rmse:0.10026 +[98] validation_0-rmse:0.13513 validation_1-rmse:0.09995 +[99] validation_0-rmse:0.13480 validation_1-rmse:0.09950 +2025-04-29 01:22:16,022 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training BTC/USDT (5.74 secs) -------------------- +2025-04-29 01:22:16,023 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:22:16,682 - freqtrade.freqai.freqai_interface - INFO - Training BTC/USDT, 1/2 pairs from 2024-12-12 00:00:00 to 2025-01-11 00:00:00, 2/11 trains +2025-04-29 01:22:16,683 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_btc_1736553600_prediction.feather +2025-04-29 01:22:16,685 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:22:16,691 - FreqaiExampleStrategy - INFO - 目标列形状:(19250,) +2025-04-29 01:22:16,693 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.202701 +1 0.003285 50.202701 +2 0.001898 50.202701 +3 0.000484 50.202701 +4 0.001688 50.202701 +2025-04-29 01:22:16,697 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:22:16,703 - FreqaiExampleStrategy - INFO - 目标列形状:(24050,) +2025-04-29 01:22:16,704 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.367593 +1 0.003285 50.367593 +2 0.001898 50.367593 +3 0.000484 50.367593 +4 0.001688 50.367593 +2025-04-29 01:22:16,708 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-BTC_1736553600/cb_btc_1736553600 +2025-04-29 01:22:16,709 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training BTC/USDT -------------------- +2025-04-29 01:22:16,726 - freqtrade.freqai.data_kitchen - INFO - BTC/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:22:16,726 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2024-12-12 to 2025-01-10 -------------------- +2025-04-29 01:22:21,650 - datasieve.pipeline - INFO - DI tossed 5 predictions for being too far from training data. +2025-04-29 01:22:21,652 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 75 features +2025-04-29 01:22:21,652 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.26037 validation_1-rmse:0.25324 +[1] validation_0-rmse:0.25572 validation_1-rmse:0.24787 +[2] validation_0-rmse:0.25117 validation_1-rmse:0.24281 +[3] validation_0-rmse:0.24697 validation_1-rmse:0.23802 +[4] validation_0-rmse:0.24328 validation_1-rmse:0.23332 +[5] validation_0-rmse:0.23939 validation_1-rmse:0.22905 +[6] validation_0-rmse:0.23522 validation_1-rmse:0.22484 +[7] validation_0-rmse:0.23148 validation_1-rmse:0.22085 +[8] validation_0-rmse:0.22873 validation_1-rmse:0.21697 +[9] validation_0-rmse:0.22519 validation_1-rmse:0.21317 +[10] validation_0-rmse:0.22206 validation_1-rmse:0.20963 +[11] validation_0-rmse:0.21866 validation_1-rmse:0.20626 +[12] validation_0-rmse:0.21563 validation_1-rmse:0.20296 +[13] validation_0-rmse:0.21313 validation_1-rmse:0.19956 +[14] validation_0-rmse:0.21062 validation_1-rmse:0.19636 +[15] validation_0-rmse:0.20808 validation_1-rmse:0.19339 +[16] validation_0-rmse:0.20570 validation_1-rmse:0.19058 +[17] validation_0-rmse:0.20318 validation_1-rmse:0.18781 +[18] validation_0-rmse:0.20113 validation_1-rmse:0.18518 +[19] validation_0-rmse:0.19934 validation_1-rmse:0.18248 +[20] validation_0-rmse:0.19735 validation_1-rmse:0.18006 +[21] validation_0-rmse:0.19541 validation_1-rmse:0.17744 +[22] validation_0-rmse:0.19336 validation_1-rmse:0.17517 +[23] validation_0-rmse:0.19145 validation_1-rmse:0.17301 +[24] validation_0-rmse:0.18989 validation_1-rmse:0.17058 +[25] validation_0-rmse:0.18782 validation_1-rmse:0.16854 +[26] validation_0-rmse:0.18634 validation_1-rmse:0.16625 +[27] validation_0-rmse:0.18471 validation_1-rmse:0.16430 +[28] validation_0-rmse:0.18312 validation_1-rmse:0.16236 +[29] validation_0-rmse:0.18157 validation_1-rmse:0.16053 +[30] validation_0-rmse:0.17991 validation_1-rmse:0.15849 +[31] validation_0-rmse:0.17839 validation_1-rmse:0.15677 +[32] validation_0-rmse:0.17693 validation_1-rmse:0.15498 +[33] validation_0-rmse:0.17574 validation_1-rmse:0.15336 +[34] validation_0-rmse:0.17469 validation_1-rmse:0.15168 +[35] validation_0-rmse:0.17352 validation_1-rmse:0.15015 +[36] validation_0-rmse:0.17228 validation_1-rmse:0.14868 +[37] validation_0-rmse:0.17127 validation_1-rmse:0.14692 +[38] validation_0-rmse:0.17030 validation_1-rmse:0.14553 +[39] validation_0-rmse:0.16926 validation_1-rmse:0.14420 +[40] validation_0-rmse:0.16821 validation_1-rmse:0.14297 +[41] validation_0-rmse:0.16740 validation_1-rmse:0.14144 +[42] validation_0-rmse:0.16647 validation_1-rmse:0.14020 +[43] validation_0-rmse:0.16548 validation_1-rmse:0.13903 +[44] validation_0-rmse:0.16440 validation_1-rmse:0.13765 +[45] validation_0-rmse:0.16353 validation_1-rmse:0.13652 +[46] validation_0-rmse:0.16269 validation_1-rmse:0.13522 +[47] validation_0-rmse:0.16193 validation_1-rmse:0.13419 +[48] validation_0-rmse:0.16114 validation_1-rmse:0.13311 +[49] validation_0-rmse:0.16043 validation_1-rmse:0.13214 +[50] validation_0-rmse:0.15971 validation_1-rmse:0.13090 +[51] validation_0-rmse:0.15909 validation_1-rmse:0.12992 +[52] validation_0-rmse:0.15834 validation_1-rmse:0.12899 +[53] validation_0-rmse:0.15763 validation_1-rmse:0.12809 +[54] validation_0-rmse:0.15697 validation_1-rmse:0.12724 +[55] validation_0-rmse:0.15631 validation_1-rmse:0.12637 +[56] validation_0-rmse:0.15553 validation_1-rmse:0.12535 +[57] validation_0-rmse:0.15494 validation_1-rmse:0.12456 +[58] validation_0-rmse:0.15452 validation_1-rmse:0.12352 +[59] validation_0-rmse:0.15396 validation_1-rmse:0.12273 +[60] validation_0-rmse:0.15334 validation_1-rmse:0.12196 +[61] validation_0-rmse:0.15274 validation_1-rmse:0.12123 +[62] validation_0-rmse:0.15221 validation_1-rmse:0.12048 +[63] validation_0-rmse:0.15176 validation_1-rmse:0.11953 +[64] validation_0-rmse:0.15133 validation_1-rmse:0.11887 +[65] validation_0-rmse:0.15080 validation_1-rmse:0.11796 +[66] validation_0-rmse:0.15035 validation_1-rmse:0.11734 +[67] validation_0-rmse:0.14995 validation_1-rmse:0.11667 +[68] validation_0-rmse:0.14954 validation_1-rmse:0.11616 +[69] validation_0-rmse:0.14916 validation_1-rmse:0.11535 +[70] validation_0-rmse:0.14887 validation_1-rmse:0.11469 +[71] validation_0-rmse:0.14854 validation_1-rmse:0.11408 +[72] validation_0-rmse:0.14811 validation_1-rmse:0.11334 +[73] validation_0-rmse:0.14766 validation_1-rmse:0.11278 +[74] validation_0-rmse:0.14738 validation_1-rmse:0.11231 +[75] validation_0-rmse:0.14697 validation_1-rmse:0.11184 +[76] validation_0-rmse:0.14663 validation_1-rmse:0.11108 +[77] validation_0-rmse:0.14635 validation_1-rmse:0.11058 +[78] validation_0-rmse:0.14591 validation_1-rmse:0.10984 +[79] validation_0-rmse:0.14561 validation_1-rmse:0.10929 +[80] validation_0-rmse:0.14529 validation_1-rmse:0.10875 +[81] validation_0-rmse:0.14510 validation_1-rmse:0.10826 +[82] validation_0-rmse:0.14471 validation_1-rmse:0.10772 +[83] validation_0-rmse:0.14444 validation_1-rmse:0.10725 +[84] validation_0-rmse:0.14420 validation_1-rmse:0.10652 +[85] validation_0-rmse:0.14393 validation_1-rmse:0.10608 +[86] validation_0-rmse:0.14371 validation_1-rmse:0.10567 +[87] validation_0-rmse:0.14342 validation_1-rmse:0.10528 +[88] validation_0-rmse:0.14314 validation_1-rmse:0.10483 +[89] validation_0-rmse:0.14307 validation_1-rmse:0.10439 +[90] validation_0-rmse:0.14273 validation_1-rmse:0.10395 +[91] validation_0-rmse:0.14237 validation_1-rmse:0.10353 +[92] validation_0-rmse:0.14210 validation_1-rmse:0.10318 +[93] validation_0-rmse:0.14186 validation_1-rmse:0.10279 +[94] validation_0-rmse:0.14175 validation_1-rmse:0.10234 +[95] validation_0-rmse:0.14153 validation_1-rmse:0.10204 +[96] validation_0-rmse:0.14142 validation_1-rmse:0.10160 +[97] validation_0-rmse:0.14124 validation_1-rmse:0.10126 +[98] validation_0-rmse:0.14102 validation_1-rmse:0.10068 +[99] validation_0-rmse:0.14079 validation_1-rmse:0.10036 +2025-04-29 01:22:22,365 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training BTC/USDT (5.66 secs) -------------------- +2025-04-29 01:22:22,366 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:22:22,973 - freqtrade.freqai.freqai_interface - INFO - Training BTC/USDT, 1/2 pairs from 2024-12-22 00:00:00 to 2025-01-21 00:00:00, 3/11 trains +2025-04-29 01:22:22,973 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_btc_1737417600_prediction.feather +2025-04-29 01:22:22,978 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:22:22,983 - FreqaiExampleStrategy - INFO - 目标列形状:(24050,) +2025-04-29 01:22:22,985 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.367593 +1 0.003285 50.367593 +2 0.001898 50.367593 +3 0.000484 50.367593 +4 0.001688 50.367593 +2025-04-29 01:22:22,989 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:22:22,995 - FreqaiExampleStrategy - INFO - 目标列形状:(28850,) +2025-04-29 01:22:22,996 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.305589 +1 0.003285 50.305589 +2 0.001898 50.305589 +3 0.000484 50.305589 +4 0.001688 50.305589 +2025-04-29 01:22:23,001 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-BTC_1737417600/cb_btc_1737417600 +2025-04-29 01:22:23,001 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training BTC/USDT -------------------- +2025-04-29 01:22:23,018 - freqtrade.freqai.data_kitchen - INFO - BTC/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:22:23,019 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2024-12-22 to 2025-01-20 -------------------- +2025-04-29 01:22:27,947 - datasieve.pipeline - INFO - DI tossed 1622 predictions for being too far from training data. +2025-04-29 01:22:27,950 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 75 features +2025-04-29 01:22:27,951 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.25769 validation_1-rmse:0.25549 +[1] validation_0-rmse:0.25314 validation_1-rmse:0.24986 +[2] validation_0-rmse:0.24864 validation_1-rmse:0.24456 +[3] validation_0-rmse:0.24486 validation_1-rmse:0.23955 +[4] validation_0-rmse:0.24144 validation_1-rmse:0.23480 +[5] validation_0-rmse:0.23803 validation_1-rmse:0.23024 +[6] validation_0-rmse:0.23468 validation_1-rmse:0.22599 +[7] validation_0-rmse:0.23134 validation_1-rmse:0.22162 +[8] validation_0-rmse:0.22843 validation_1-rmse:0.21773 +[9] validation_0-rmse:0.22560 validation_1-rmse:0.21396 +[10] validation_0-rmse:0.22402 validation_1-rmse:0.21023 +[11] validation_0-rmse:0.22155 validation_1-rmse:0.20680 +[12] validation_0-rmse:0.21899 validation_1-rmse:0.20342 +[13] validation_0-rmse:0.21654 validation_1-rmse:0.20029 +[14] validation_0-rmse:0.21431 validation_1-rmse:0.19719 +[15] validation_0-rmse:0.21282 validation_1-rmse:0.19411 +[16] validation_0-rmse:0.21076 validation_1-rmse:0.19117 +[17] validation_0-rmse:0.20882 validation_1-rmse:0.18835 +[18] validation_0-rmse:0.20695 validation_1-rmse:0.18547 +[19] validation_0-rmse:0.20538 validation_1-rmse:0.18292 +[20] validation_0-rmse:0.20345 validation_1-rmse:0.18038 +[21] validation_0-rmse:0.20148 validation_1-rmse:0.17799 +[22] validation_0-rmse:0.19991 validation_1-rmse:0.17569 +[23] validation_0-rmse:0.19832 validation_1-rmse:0.17350 +[24] validation_0-rmse:0.19658 validation_1-rmse:0.17096 +[25] validation_0-rmse:0.19474 validation_1-rmse:0.16879 +[26] validation_0-rmse:0.19292 validation_1-rmse:0.16665 +[27] validation_0-rmse:0.19134 validation_1-rmse:0.16470 +[28] validation_0-rmse:0.19034 validation_1-rmse:0.16253 +[29] validation_0-rmse:0.18882 validation_1-rmse:0.16068 +[30] validation_0-rmse:0.18736 validation_1-rmse:0.15892 +[31] validation_0-rmse:0.18605 validation_1-rmse:0.15690 +[32] validation_0-rmse:0.18481 validation_1-rmse:0.15521 +[33] validation_0-rmse:0.18346 validation_1-rmse:0.15356 +[34] validation_0-rmse:0.18222 validation_1-rmse:0.15188 +[35] validation_0-rmse:0.18095 validation_1-rmse:0.15028 +[36] validation_0-rmse:0.18015 validation_1-rmse:0.14857 +[37] validation_0-rmse:0.17915 validation_1-rmse:0.14713 +[38] validation_0-rmse:0.17817 validation_1-rmse:0.14573 +[39] validation_0-rmse:0.17723 validation_1-rmse:0.14437 +[40] validation_0-rmse:0.17619 validation_1-rmse:0.14308 +[41] validation_0-rmse:0.17509 validation_1-rmse:0.14176 +[42] validation_0-rmse:0.17407 validation_1-rmse:0.14047 +[43] validation_0-rmse:0.17340 validation_1-rmse:0.13921 +[44] validation_0-rmse:0.17245 validation_1-rmse:0.13806 +[45] validation_0-rmse:0.17212 validation_1-rmse:0.13685 +[46] validation_0-rmse:0.17133 validation_1-rmse:0.13577 +[47] validation_0-rmse:0.17064 validation_1-rmse:0.13451 +[48] validation_0-rmse:0.17004 validation_1-rmse:0.13331 +[49] validation_0-rmse:0.16941 validation_1-rmse:0.13222 +[50] validation_0-rmse:0.16858 validation_1-rmse:0.13123 +[51] validation_0-rmse:0.16786 validation_1-rmse:0.13007 +[52] validation_0-rmse:0.16718 validation_1-rmse:0.12912 +[53] validation_0-rmse:0.16651 validation_1-rmse:0.12806 +[54] validation_0-rmse:0.16592 validation_1-rmse:0.12709 +[55] validation_0-rmse:0.16542 validation_1-rmse:0.12604 +[56] validation_0-rmse:0.16479 validation_1-rmse:0.12523 +[57] validation_0-rmse:0.16426 validation_1-rmse:0.12439 +[58] validation_0-rmse:0.16363 validation_1-rmse:0.12352 +[59] validation_0-rmse:0.16325 validation_1-rmse:0.12263 +[60] validation_0-rmse:0.16289 validation_1-rmse:0.12173 +[61] validation_0-rmse:0.16226 validation_1-rmse:0.12099 +[62] validation_0-rmse:0.16176 validation_1-rmse:0.12010 +[63] validation_0-rmse:0.16144 validation_1-rmse:0.11936 +[64] validation_0-rmse:0.16088 validation_1-rmse:0.11862 +[65] validation_0-rmse:0.16030 validation_1-rmse:0.11786 +[66] validation_0-rmse:0.15991 validation_1-rmse:0.11714 +[67] validation_0-rmse:0.15947 validation_1-rmse:0.11640 +[68] validation_0-rmse:0.15912 validation_1-rmse:0.11574 +[69] validation_0-rmse:0.15874 validation_1-rmse:0.11507 +[70] validation_0-rmse:0.15837 validation_1-rmse:0.11430 +[71] validation_0-rmse:0.15798 validation_1-rmse:0.11365 +[72] validation_0-rmse:0.15763 validation_1-rmse:0.11305 +[73] validation_0-rmse:0.15713 validation_1-rmse:0.11250 +[74] validation_0-rmse:0.15648 validation_1-rmse:0.11177 +[75] validation_0-rmse:0.15619 validation_1-rmse:0.11122 +[76] validation_0-rmse:0.15593 validation_1-rmse:0.11066 +[77] validation_0-rmse:0.15562 validation_1-rmse:0.11007 +[78] validation_0-rmse:0.15519 validation_1-rmse:0.10953 +[79] validation_0-rmse:0.15500 validation_1-rmse:0.10883 +[80] validation_0-rmse:0.15461 validation_1-rmse:0.10835 +[81] validation_0-rmse:0.15417 validation_1-rmse:0.10780 +[82] validation_0-rmse:0.15393 validation_1-rmse:0.10742 +[83] validation_0-rmse:0.15395 validation_1-rmse:0.10634 +[84] validation_0-rmse:0.15359 validation_1-rmse:0.10588 +[85] validation_0-rmse:0.15315 validation_1-rmse:0.10539 +[86] validation_0-rmse:0.15315 validation_1-rmse:0.10440 +[87] validation_0-rmse:0.15278 validation_1-rmse:0.10400 +[88] validation_0-rmse:0.15239 validation_1-rmse:0.10353 +[89] validation_0-rmse:0.15200 validation_1-rmse:0.10310 +[90] validation_0-rmse:0.15182 validation_1-rmse:0.10245 +[91] validation_0-rmse:0.15175 validation_1-rmse:0.10182 +[92] validation_0-rmse:0.15139 validation_1-rmse:0.10138 +[93] validation_0-rmse:0.15105 validation_1-rmse:0.10095 +[94] validation_0-rmse:0.15091 validation_1-rmse:0.10056 +[95] validation_0-rmse:0.15088 validation_1-rmse:0.09964 +[96] validation_0-rmse:0.15065 validation_1-rmse:0.09927 +[97] validation_0-rmse:0.15036 validation_1-rmse:0.09888 +[98] validation_0-rmse:0.15021 validation_1-rmse:0.09852 +[99] validation_0-rmse:0.15004 validation_1-rmse:0.09815 +2025-04-29 01:22:28,711 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training BTC/USDT (5.71 secs) -------------------- +2025-04-29 01:22:28,712 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:22:29,220 - freqtrade.freqai.freqai_interface - INFO - Training BTC/USDT, 1/2 pairs from 2025-01-01 00:00:00 to 2025-01-31 00:00:00, 4/11 trains +2025-04-29 01:22:29,221 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_btc_1738281600_prediction.feather +2025-04-29 01:22:29,226 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:22:29,231 - FreqaiExampleStrategy - INFO - 目标列形状:(28850,) +2025-04-29 01:22:29,233 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.305589 +1 0.003285 50.305589 +2 0.001898 50.305589 +3 0.000484 50.305589 +4 0.001688 50.305589 +2025-04-29 01:22:29,239 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:22:29,245 - FreqaiExampleStrategy - INFO - 目标列形状:(33650,) +2025-04-29 01:22:29,246 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.168798 +1 0.003285 50.168798 +2 0.001898 50.168798 +3 0.000484 50.168798 +4 0.001688 50.168798 +2025-04-29 01:22:29,251 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-BTC_1738281600/cb_btc_1738281600 +2025-04-29 01:22:29,251 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training BTC/USDT -------------------- +2025-04-29 01:22:29,267 - freqtrade.freqai.data_kitchen - INFO - BTC/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:22:29,268 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-01-01 to 2025-01-30 -------------------- +2025-04-29 01:22:34,207 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 75 features +2025-04-29 01:22:34,208 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.25046 validation_1-rmse:0.26128 +[1] validation_0-rmse:0.24588 validation_1-rmse:0.25570 +[2] validation_0-rmse:0.24156 validation_1-rmse:0.25047 +[3] validation_0-rmse:0.23757 validation_1-rmse:0.24551 +[4] validation_0-rmse:0.23411 validation_1-rmse:0.24075 +[5] validation_0-rmse:0.23029 validation_1-rmse:0.23637 +[6] validation_0-rmse:0.22707 validation_1-rmse:0.23199 +[7] validation_0-rmse:0.22405 validation_1-rmse:0.22801 +[8] validation_0-rmse:0.22083 validation_1-rmse:0.22420 +[9] validation_0-rmse:0.21768 validation_1-rmse:0.22038 +[10] validation_0-rmse:0.21473 validation_1-rmse:0.21674 +[11] validation_0-rmse:0.21187 validation_1-rmse:0.21322 +[12] validation_0-rmse:0.20911 validation_1-rmse:0.20996 +[13] validation_0-rmse:0.20669 validation_1-rmse:0.20679 +[14] validation_0-rmse:0.20441 validation_1-rmse:0.20366 +[15] validation_0-rmse:0.20250 validation_1-rmse:0.20054 +[16] validation_0-rmse:0.20017 validation_1-rmse:0.19757 +[17] validation_0-rmse:0.19804 validation_1-rmse:0.19490 +[18] validation_0-rmse:0.19618 validation_1-rmse:0.19221 +[19] validation_0-rmse:0.19404 validation_1-rmse:0.18954 +[20] validation_0-rmse:0.19209 validation_1-rmse:0.18666 +[21] validation_0-rmse:0.19014 validation_1-rmse:0.18430 +[22] validation_0-rmse:0.18845 validation_1-rmse:0.18197 +[23] validation_0-rmse:0.18653 validation_1-rmse:0.17972 +[24] validation_0-rmse:0.18468 validation_1-rmse:0.17722 +[25] validation_0-rmse:0.18325 validation_1-rmse:0.17491 +[26] validation_0-rmse:0.18152 validation_1-rmse:0.17284 +[27] validation_0-rmse:0.17999 validation_1-rmse:0.17092 +[28] validation_0-rmse:0.17846 validation_1-rmse:0.16892 +[29] validation_0-rmse:0.17696 validation_1-rmse:0.16709 +[30] validation_0-rmse:0.17558 validation_1-rmse:0.16510 +[31] validation_0-rmse:0.17418 validation_1-rmse:0.16335 +[32] validation_0-rmse:0.17293 validation_1-rmse:0.16161 +[33] validation_0-rmse:0.17159 validation_1-rmse:0.16003 +[34] validation_0-rmse:0.17030 validation_1-rmse:0.15831 +[35] validation_0-rmse:0.16907 validation_1-rmse:0.15681 +[36] validation_0-rmse:0.16796 validation_1-rmse:0.15513 +[37] validation_0-rmse:0.16690 validation_1-rmse:0.15349 +[38] validation_0-rmse:0.16580 validation_1-rmse:0.15204 +[39] validation_0-rmse:0.16492 validation_1-rmse:0.15050 +[40] validation_0-rmse:0.16383 validation_1-rmse:0.14918 +[41] validation_0-rmse:0.16281 validation_1-rmse:0.14788 +[42] validation_0-rmse:0.16176 validation_1-rmse:0.14660 +[43] validation_0-rmse:0.16082 validation_1-rmse:0.14516 +[44] validation_0-rmse:0.15990 validation_1-rmse:0.14395 +[45] validation_0-rmse:0.15891 validation_1-rmse:0.14281 +[46] validation_0-rmse:0.15797 validation_1-rmse:0.14168 +[47] validation_0-rmse:0.15712 validation_1-rmse:0.14040 +[48] validation_0-rmse:0.15632 validation_1-rmse:0.13933 +[49] validation_0-rmse:0.15542 validation_1-rmse:0.13821 +[50] validation_0-rmse:0.15458 validation_1-rmse:0.13705 +[51] validation_0-rmse:0.15404 validation_1-rmse:0.13583 +[52] validation_0-rmse:0.15334 validation_1-rmse:0.13483 +[53] validation_0-rmse:0.15256 validation_1-rmse:0.13387 +[54] validation_0-rmse:0.15190 validation_1-rmse:0.13290 +[55] validation_0-rmse:0.15122 validation_1-rmse:0.13174 +[56] validation_0-rmse:0.15065 validation_1-rmse:0.13080 +[57] validation_0-rmse:0.15006 validation_1-rmse:0.12993 +[58] validation_0-rmse:0.14955 validation_1-rmse:0.12897 +[59] validation_0-rmse:0.14893 validation_1-rmse:0.12814 +[60] validation_0-rmse:0.14843 validation_1-rmse:0.12735 +[61] validation_0-rmse:0.14789 validation_1-rmse:0.12642 +[62] validation_0-rmse:0.14718 validation_1-rmse:0.12561 +[63] validation_0-rmse:0.14659 validation_1-rmse:0.12486 +[64] validation_0-rmse:0.14600 validation_1-rmse:0.12397 +[65] validation_0-rmse:0.14547 validation_1-rmse:0.12324 +[66] validation_0-rmse:0.14499 validation_1-rmse:0.12255 +[67] validation_0-rmse:0.14451 validation_1-rmse:0.12188 +[68] validation_0-rmse:0.14393 validation_1-rmse:0.12114 +[69] validation_0-rmse:0.14346 validation_1-rmse:0.12048 +[70] validation_0-rmse:0.14293 validation_1-rmse:0.11974 +[71] validation_0-rmse:0.14256 validation_1-rmse:0.11893 +[72] validation_0-rmse:0.14212 validation_1-rmse:0.11830 +[73] validation_0-rmse:0.14177 validation_1-rmse:0.11748 +[74] validation_0-rmse:0.14134 validation_1-rmse:0.11686 +[75] validation_0-rmse:0.14101 validation_1-rmse:0.11609 +[76] validation_0-rmse:0.14060 validation_1-rmse:0.11536 +[77] validation_0-rmse:0.14020 validation_1-rmse:0.11484 +[78] validation_0-rmse:0.13983 validation_1-rmse:0.11412 +[79] validation_0-rmse:0.13951 validation_1-rmse:0.11357 +[80] validation_0-rmse:0.13928 validation_1-rmse:0.11273 +[81] validation_0-rmse:0.13889 validation_1-rmse:0.11221 +[82] validation_0-rmse:0.13855 validation_1-rmse:0.11166 +[83] validation_0-rmse:0.13824 validation_1-rmse:0.11114 +[84] validation_0-rmse:0.13808 validation_1-rmse:0.11050 +[85] validation_0-rmse:0.13767 validation_1-rmse:0.10998 +[86] validation_0-rmse:0.13731 validation_1-rmse:0.10947 +[87] validation_0-rmse:0.13716 validation_1-rmse:0.10876 +[88] validation_0-rmse:0.13678 validation_1-rmse:0.10832 +[89] validation_0-rmse:0.13659 validation_1-rmse:0.10782 +[90] validation_0-rmse:0.13629 validation_1-rmse:0.10736 +[91] validation_0-rmse:0.13600 validation_1-rmse:0.10662 +[92] validation_0-rmse:0.13577 validation_1-rmse:0.10613 +[93] validation_0-rmse:0.13541 validation_1-rmse:0.10565 +[94] validation_0-rmse:0.13534 validation_1-rmse:0.10501 +[95] validation_0-rmse:0.13511 validation_1-rmse:0.10453 +[96] validation_0-rmse:0.13483 validation_1-rmse:0.10401 +[97] validation_0-rmse:0.13455 validation_1-rmse:0.10362 +[98] validation_0-rmse:0.13425 validation_1-rmse:0.10323 +[99] validation_0-rmse:0.13402 validation_1-rmse:0.10289 +2025-04-29 01:22:35,089 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training BTC/USDT (5.84 secs) -------------------- +2025-04-29 01:22:35,090 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:22:35,631 - freqtrade.freqai.freqai_interface - INFO - Training BTC/USDT, 1/2 pairs from 2025-01-11 00:00:00 to 2025-02-10 00:00:00, 5/11 trains +2025-04-29 01:22:35,632 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_btc_1739145600_prediction.feather +2025-04-29 01:22:35,636 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:22:35,642 - FreqaiExampleStrategy - INFO - 目标列形状:(33650,) +2025-04-29 01:22:35,644 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.168798 +1 0.003285 50.168798 +2 0.001898 50.168798 +3 0.000484 50.168798 +4 0.001688 50.168798 +2025-04-29 01:22:35,648 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:22:35,654 - FreqaiExampleStrategy - INFO - 目标列形状:(38450,) +2025-04-29 01:22:35,656 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.167897 +1 0.003285 50.167897 +2 0.001898 50.167897 +3 0.000484 50.167897 +4 0.001688 50.167897 +2025-04-29 01:22:35,660 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-BTC_1739145600/cb_btc_1739145600 +2025-04-29 01:22:35,660 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training BTC/USDT -------------------- +2025-04-29 01:22:35,677 - freqtrade.freqai.data_kitchen - INFO - BTC/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:22:35,677 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-01-11 to 2025-02-09 -------------------- +2025-04-29 01:22:40,681 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 75 features +2025-04-29 01:22:40,682 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.26428 validation_1-rmse:0.27464 +[1] validation_0-rmse:0.25911 validation_1-rmse:0.26865 +[2] validation_0-rmse:0.25427 validation_1-rmse:0.26296 +[3] validation_0-rmse:0.24970 validation_1-rmse:0.25748 +[4] validation_0-rmse:0.24525 validation_1-rmse:0.25222 +[5] validation_0-rmse:0.24140 validation_1-rmse:0.24725 +[6] validation_0-rmse:0.23748 validation_1-rmse:0.24264 +[7] validation_0-rmse:0.23368 validation_1-rmse:0.23792 +[8] validation_0-rmse:0.23022 validation_1-rmse:0.23363 +[9] validation_0-rmse:0.22695 validation_1-rmse:0.22945 +[10] validation_0-rmse:0.22381 validation_1-rmse:0.22543 +[11] validation_0-rmse:0.22105 validation_1-rmse:0.22154 +[12] validation_0-rmse:0.21818 validation_1-rmse:0.21797 +[13] validation_0-rmse:0.21526 validation_1-rmse:0.21430 +[14] validation_0-rmse:0.21284 validation_1-rmse:0.21101 +[15] validation_0-rmse:0.21034 validation_1-rmse:0.20769 +[16] validation_0-rmse:0.20802 validation_1-rmse:0.20438 +[17] validation_0-rmse:0.20590 validation_1-rmse:0.20136 +[18] validation_0-rmse:0.20386 validation_1-rmse:0.19837 +[19] validation_0-rmse:0.20219 validation_1-rmse:0.19549 +[20] validation_0-rmse:0.20037 validation_1-rmse:0.19283 +[21] validation_0-rmse:0.19826 validation_1-rmse:0.19005 +[22] validation_0-rmse:0.19657 validation_1-rmse:0.18750 +[23] validation_0-rmse:0.19525 validation_1-rmse:0.18498 +[24] validation_0-rmse:0.19373 validation_1-rmse:0.18267 +[25] validation_0-rmse:0.19197 validation_1-rmse:0.18037 +[26] validation_0-rmse:0.19063 validation_1-rmse:0.17799 +[27] validation_0-rmse:0.18897 validation_1-rmse:0.17587 +[28] validation_0-rmse:0.18765 validation_1-rmse:0.17382 +[29] validation_0-rmse:0.18608 validation_1-rmse:0.17185 +[30] validation_0-rmse:0.18456 validation_1-rmse:0.16992 +[31] validation_0-rmse:0.18340 validation_1-rmse:0.16793 +[32] validation_0-rmse:0.18206 validation_1-rmse:0.16616 +[33] validation_0-rmse:0.18077 validation_1-rmse:0.16437 +[34] validation_0-rmse:0.17960 validation_1-rmse:0.16270 +[35] validation_0-rmse:0.17857 validation_1-rmse:0.16105 +[36] validation_0-rmse:0.17748 validation_1-rmse:0.15925 +[37] validation_0-rmse:0.17649 validation_1-rmse:0.15762 +[38] validation_0-rmse:0.17540 validation_1-rmse:0.15611 +[39] validation_0-rmse:0.17427 validation_1-rmse:0.15469 +[40] validation_0-rmse:0.17312 validation_1-rmse:0.15301 +[41] validation_0-rmse:0.17217 validation_1-rmse:0.15169 +[42] validation_0-rmse:0.17119 validation_1-rmse:0.15037 +[43] validation_0-rmse:0.17030 validation_1-rmse:0.14910 +[44] validation_0-rmse:0.16939 validation_1-rmse:0.14786 +[45] validation_0-rmse:0.16851 validation_1-rmse:0.14660 +[46] validation_0-rmse:0.16793 validation_1-rmse:0.14518 +[47] validation_0-rmse:0.16760 validation_1-rmse:0.14365 +[48] validation_0-rmse:0.16674 validation_1-rmse:0.14258 +[49] validation_0-rmse:0.16588 validation_1-rmse:0.14152 +[50] validation_0-rmse:0.16505 validation_1-rmse:0.14051 +[51] validation_0-rmse:0.16437 validation_1-rmse:0.13919 +[52] validation_0-rmse:0.16361 validation_1-rmse:0.13818 +[53] validation_0-rmse:0.16290 validation_1-rmse:0.13715 +[54] validation_0-rmse:0.16217 validation_1-rmse:0.13621 +[55] validation_0-rmse:0.16207 validation_1-rmse:0.13493 +[56] validation_0-rmse:0.16153 validation_1-rmse:0.13395 +[57] validation_0-rmse:0.16077 validation_1-rmse:0.13302 +[58] validation_0-rmse:0.16021 validation_1-rmse:0.13218 +[59] validation_0-rmse:0.15972 validation_1-rmse:0.13117 +[60] validation_0-rmse:0.15954 validation_1-rmse:0.13003 +[61] validation_0-rmse:0.15896 validation_1-rmse:0.12926 +[62] validation_0-rmse:0.15849 validation_1-rmse:0.12848 +[63] validation_0-rmse:0.15801 validation_1-rmse:0.12770 +[64] validation_0-rmse:0.15737 validation_1-rmse:0.12678 +[65] validation_0-rmse:0.15736 validation_1-rmse:0.12578 +[66] validation_0-rmse:0.15684 validation_1-rmse:0.12506 +[67] validation_0-rmse:0.15638 validation_1-rmse:0.12437 +[68] validation_0-rmse:0.15618 validation_1-rmse:0.12336 +[69] validation_0-rmse:0.15581 validation_1-rmse:0.12269 +[70] validation_0-rmse:0.15537 validation_1-rmse:0.12205 +[71] validation_0-rmse:0.15534 validation_1-rmse:0.12117 +[72] validation_0-rmse:0.15485 validation_1-rmse:0.12049 +[73] validation_0-rmse:0.15465 validation_1-rmse:0.11968 +[74] validation_0-rmse:0.15430 validation_1-rmse:0.11906 +[75] validation_0-rmse:0.15386 validation_1-rmse:0.11840 +[76] validation_0-rmse:0.15353 validation_1-rmse:0.11781 +[77] validation_0-rmse:0.15354 validation_1-rmse:0.11697 +[78] validation_0-rmse:0.15325 validation_1-rmse:0.11630 +[79] validation_0-rmse:0.15282 validation_1-rmse:0.11572 +[80] validation_0-rmse:0.15239 validation_1-rmse:0.11514 +[81] validation_0-rmse:0.15226 validation_1-rmse:0.11431 +[82] validation_0-rmse:0.15189 validation_1-rmse:0.11381 +[83] validation_0-rmse:0.15171 validation_1-rmse:0.11316 +[84] validation_0-rmse:0.15136 validation_1-rmse:0.11270 +[85] validation_0-rmse:0.15112 validation_1-rmse:0.11212 +[86] validation_0-rmse:0.15112 validation_1-rmse:0.11140 +[87] validation_0-rmse:0.15074 validation_1-rmse:0.11094 +[88] validation_0-rmse:0.15048 validation_1-rmse:0.11035 +[89] validation_0-rmse:0.15026 validation_1-rmse:0.10983 +[90] validation_0-rmse:0.14989 validation_1-rmse:0.10938 +[91] validation_0-rmse:0.14955 validation_1-rmse:0.10893 +[92] validation_0-rmse:0.14955 validation_1-rmse:0.10815 +[93] validation_0-rmse:0.14933 validation_1-rmse:0.10765 +[94] validation_0-rmse:0.14908 validation_1-rmse:0.10711 +[95] validation_0-rmse:0.14889 validation_1-rmse:0.10668 +[96] validation_0-rmse:0.14853 validation_1-rmse:0.10627 +[97] validation_0-rmse:0.14853 validation_1-rmse:0.10553 +[98] validation_0-rmse:0.14835 validation_1-rmse:0.10513 +[99] validation_0-rmse:0.14818 validation_1-rmse:0.10475 +2025-04-29 01:22:41,413 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training BTC/USDT (5.75 secs) -------------------- +2025-04-29 01:22:41,414 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:22:41,936 - freqtrade.freqai.freqai_interface - INFO - Training BTC/USDT, 1/2 pairs from 2025-01-21 00:00:00 to 2025-02-20 00:00:00, 6/11 trains +2025-04-29 01:22:41,937 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_btc_1740009600_prediction.feather +2025-04-29 01:22:41,941 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:22:41,948 - FreqaiExampleStrategy - INFO - 目标列形状:(38450,) +2025-04-29 01:22:41,949 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.167897 +1 0.003285 50.167897 +2 0.001898 50.167897 +3 0.000484 50.167897 +4 0.001688 50.167897 +2025-04-29 01:22:41,954 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:22:41,961 - FreqaiExampleStrategy - INFO - 目标列形状:(43250,) +2025-04-29 01:22:41,962 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.107698 +1 0.003285 50.107698 +2 0.001898 50.107698 +3 0.000484 50.107698 +4 0.001688 50.107698 +2025-04-29 01:22:41,967 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-BTC_1740009600/cb_btc_1740009600 +2025-04-29 01:22:41,967 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training BTC/USDT -------------------- +2025-04-29 01:22:41,983 - freqtrade.freqai.data_kitchen - INFO - BTC/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:22:41,984 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-01-21 to 2025-02-19 -------------------- +2025-04-29 01:22:47,004 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 75 features +2025-04-29 01:22:47,005 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.27166 validation_1-rmse:0.27726 +[1] validation_0-rmse:0.26708 validation_1-rmse:0.27112 +[2] validation_0-rmse:0.26297 validation_1-rmse:0.26523 +[3] validation_0-rmse:0.25865 validation_1-rmse:0.25959 +[4] validation_0-rmse:0.25494 validation_1-rmse:0.25419 +[5] validation_0-rmse:0.25100 validation_1-rmse:0.24913 +[6] validation_0-rmse:0.24763 validation_1-rmse:0.24437 +[7] validation_0-rmse:0.24441 validation_1-rmse:0.23970 +[8] validation_0-rmse:0.24110 validation_1-rmse:0.23527 +[9] validation_0-rmse:0.23801 validation_1-rmse:0.23102 +[10] validation_0-rmse:0.23492 validation_1-rmse:0.22691 +[11] validation_0-rmse:0.23229 validation_1-rmse:0.22297 +[12] validation_0-rmse:0.22956 validation_1-rmse:0.21923 +[13] validation_0-rmse:0.22707 validation_1-rmse:0.21564 +[14] validation_0-rmse:0.22482 validation_1-rmse:0.21221 +[15] validation_0-rmse:0.22237 validation_1-rmse:0.20891 +[16] validation_0-rmse:0.22030 validation_1-rmse:0.20557 +[17] validation_0-rmse:0.21784 validation_1-rmse:0.20243 +[18] validation_0-rmse:0.21591 validation_1-rmse:0.19949 +[19] validation_0-rmse:0.21399 validation_1-rmse:0.19664 +[20] validation_0-rmse:0.21182 validation_1-rmse:0.19378 +[21] validation_0-rmse:0.20992 validation_1-rmse:0.19110 +[22] validation_0-rmse:0.20821 validation_1-rmse:0.18850 +[23] validation_0-rmse:0.20621 validation_1-rmse:0.18597 +[24] validation_0-rmse:0.20490 validation_1-rmse:0.18353 +[25] validation_0-rmse:0.20318 validation_1-rmse:0.18126 +[26] validation_0-rmse:0.20168 validation_1-rmse:0.17896 +[27] validation_0-rmse:0.19992 validation_1-rmse:0.17679 +[28] validation_0-rmse:0.19865 validation_1-rmse:0.17458 +[29] validation_0-rmse:0.19722 validation_1-rmse:0.17257 +[30] validation_0-rmse:0.19571 validation_1-rmse:0.17039 +[31] validation_0-rmse:0.19429 validation_1-rmse:0.16855 +[32] validation_0-rmse:0.19285 validation_1-rmse:0.16664 +[33] validation_0-rmse:0.19141 validation_1-rmse:0.16488 +[34] validation_0-rmse:0.19022 validation_1-rmse:0.16312 +[35] validation_0-rmse:0.18904 validation_1-rmse:0.16145 +[36] validation_0-rmse:0.18832 validation_1-rmse:0.15973 +[37] validation_0-rmse:0.18723 validation_1-rmse:0.15815 +[38] validation_0-rmse:0.18610 validation_1-rmse:0.15653 +[39] validation_0-rmse:0.18504 validation_1-rmse:0.15503 +[40] validation_0-rmse:0.18402 validation_1-rmse:0.15358 +[41] validation_0-rmse:0.18333 validation_1-rmse:0.15193 +[42] validation_0-rmse:0.18213 validation_1-rmse:0.15058 +[43] validation_0-rmse:0.18176 validation_1-rmse:0.14922 +[44] validation_0-rmse:0.18093 validation_1-rmse:0.14792 +[45] validation_0-rmse:0.18017 validation_1-rmse:0.14667 +[46] validation_0-rmse:0.17928 validation_1-rmse:0.14537 +[47] validation_0-rmse:0.17858 validation_1-rmse:0.14420 +[48] validation_0-rmse:0.17770 validation_1-rmse:0.14306 +[49] validation_0-rmse:0.17695 validation_1-rmse:0.14199 +[50] validation_0-rmse:0.17613 validation_1-rmse:0.14094 +[51] validation_0-rmse:0.17545 validation_1-rmse:0.13979 +[52] validation_0-rmse:0.17490 validation_1-rmse:0.13874 +[53] validation_0-rmse:0.17452 validation_1-rmse:0.13755 +[54] validation_0-rmse:0.17383 validation_1-rmse:0.13663 +[55] validation_0-rmse:0.17327 validation_1-rmse:0.13568 +[56] validation_0-rmse:0.17255 validation_1-rmse:0.13477 +[57] validation_0-rmse:0.17192 validation_1-rmse:0.13382 +[58] validation_0-rmse:0.17138 validation_1-rmse:0.13277 +[59] validation_0-rmse:0.17074 validation_1-rmse:0.13188 +[60] validation_0-rmse:0.17026 validation_1-rmse:0.13089 +[61] validation_0-rmse:0.16969 validation_1-rmse:0.13010 +[62] validation_0-rmse:0.16932 validation_1-rmse:0.12904 +[63] validation_0-rmse:0.16888 validation_1-rmse:0.12818 +[64] validation_0-rmse:0.16849 validation_1-rmse:0.12745 +[65] validation_0-rmse:0.16802 validation_1-rmse:0.12639 +[66] validation_0-rmse:0.16747 validation_1-rmse:0.12567 +[67] validation_0-rmse:0.16710 validation_1-rmse:0.12496 +[68] validation_0-rmse:0.16672 validation_1-rmse:0.12426 +[69] validation_0-rmse:0.16635 validation_1-rmse:0.12331 +[70] validation_0-rmse:0.16597 validation_1-rmse:0.12267 +[71] validation_0-rmse:0.16554 validation_1-rmse:0.12196 +[72] validation_0-rmse:0.16522 validation_1-rmse:0.12121 +[73] validation_0-rmse:0.16481 validation_1-rmse:0.12054 +[74] validation_0-rmse:0.16442 validation_1-rmse:0.11996 +[75] validation_0-rmse:0.16409 validation_1-rmse:0.11939 +[76] validation_0-rmse:0.16375 validation_1-rmse:0.11878 +[77] validation_0-rmse:0.16275 validation_1-rmse:0.11753 +[78] validation_0-rmse:0.16248 validation_1-rmse:0.11692 +[79] validation_0-rmse:0.16215 validation_1-rmse:0.11619 +[80] validation_0-rmse:0.16187 validation_1-rmse:0.11564 +[81] validation_0-rmse:0.16150 validation_1-rmse:0.11493 +[82] validation_0-rmse:0.16123 validation_1-rmse:0.11438 +[83] validation_0-rmse:0.16109 validation_1-rmse:0.11358 +[84] validation_0-rmse:0.16065 validation_1-rmse:0.11304 +[85] validation_0-rmse:0.16038 validation_1-rmse:0.11256 +[86] validation_0-rmse:0.16022 validation_1-rmse:0.11205 +[87] validation_0-rmse:0.16007 validation_1-rmse:0.11158 +[88] validation_0-rmse:0.15945 validation_1-rmse:0.11054 +[89] validation_0-rmse:0.15912 validation_1-rmse:0.11008 +[90] validation_0-rmse:0.15894 validation_1-rmse:0.10937 +[91] validation_0-rmse:0.15868 validation_1-rmse:0.10886 +[92] validation_0-rmse:0.15845 validation_1-rmse:0.10844 +[93] validation_0-rmse:0.15817 validation_1-rmse:0.10803 +[94] validation_0-rmse:0.15789 validation_1-rmse:0.10758 +[95] validation_0-rmse:0.15772 validation_1-rmse:0.10721 +[96] validation_0-rmse:0.15763 validation_1-rmse:0.10676 +[97] validation_0-rmse:0.15751 validation_1-rmse:0.10609 +[98] validation_0-rmse:0.15731 validation_1-rmse:0.10574 +[99] validation_0-rmse:0.15738 validation_1-rmse:0.10531 +2025-04-29 01:22:47,782 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training BTC/USDT (5.81 secs) -------------------- +2025-04-29 01:22:47,783 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:22:48,337 - freqtrade.freqai.freqai_interface - INFO - Training BTC/USDT, 1/2 pairs from 2025-01-31 00:00:00 to 2025-03-02 00:00:00, 7/11 trains +2025-04-29 01:22:48,337 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_btc_1740873600_prediction.feather +2025-04-29 01:22:48,342 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:22:48,349 - FreqaiExampleStrategy - INFO - 目标列形状:(43250,) +2025-04-29 01:22:48,350 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.107698 +1 0.003285 50.107698 +2 0.001898 50.107698 +3 0.000484 50.107698 +4 0.001688 50.107698 +2025-04-29 01:22:48,356 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:22:48,362 - FreqaiExampleStrategy - INFO - 目标列形状:(48050,) +2025-04-29 01:22:48,364 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.079166 +1 0.003285 50.079166 +2 0.001898 50.079166 +3 0.000484 50.079166 +4 0.001688 50.079166 +2025-04-29 01:22:48,368 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-BTC_1740873600/cb_btc_1740873600 +2025-04-29 01:22:48,369 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training BTC/USDT -------------------- +2025-04-29 01:22:48,384 - freqtrade.freqai.data_kitchen - INFO - BTC/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:22:48,385 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-01-31 to 2025-03-01 -------------------- +2025-04-29 01:22:53,444 - datasieve.pipeline - INFO - DI tossed 2275 predictions for being too far from training data. +2025-04-29 01:22:53,447 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 75 features +2025-04-29 01:22:53,448 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.27618 validation_1-rmse:0.28955 +[1] validation_0-rmse:0.27005 validation_1-rmse:0.28323 +[2] validation_0-rmse:0.26414 validation_1-rmse:0.27722 +[3] validation_0-rmse:0.25897 validation_1-rmse:0.27161 +[4] validation_0-rmse:0.25425 validation_1-rmse:0.26622 +[5] validation_0-rmse:0.24886 validation_1-rmse:0.26100 +[6] validation_0-rmse:0.24522 validation_1-rmse:0.25606 +[7] validation_0-rmse:0.24137 validation_1-rmse:0.25132 +[8] validation_0-rmse:0.23765 validation_1-rmse:0.24687 +[9] validation_0-rmse:0.23323 validation_1-rmse:0.24254 +[10] validation_0-rmse:0.22900 validation_1-rmse:0.23827 +[11] validation_0-rmse:0.22588 validation_1-rmse:0.23450 +[12] validation_0-rmse:0.22228 validation_1-rmse:0.23055 +[13] validation_0-rmse:0.21872 validation_1-rmse:0.22698 +[14] validation_0-rmse:0.21492 validation_1-rmse:0.22348 +[15] validation_0-rmse:0.21329 validation_1-rmse:0.22011 +[16] validation_0-rmse:0.21024 validation_1-rmse:0.21686 +[17] validation_0-rmse:0.20823 validation_1-rmse:0.21380 +[18] validation_0-rmse:0.20544 validation_1-rmse:0.21075 +[19] validation_0-rmse:0.20415 validation_1-rmse:0.20787 +[20] validation_0-rmse:0.20143 validation_1-rmse:0.20515 +[21] validation_0-rmse:0.19917 validation_1-rmse:0.20247 +[22] validation_0-rmse:0.19745 validation_1-rmse:0.19994 +[23] validation_0-rmse:0.19508 validation_1-rmse:0.19746 +[24] validation_0-rmse:0.19300 validation_1-rmse:0.19490 +[25] validation_0-rmse:0.19085 validation_1-rmse:0.19254 +[26] validation_0-rmse:0.18898 validation_1-rmse:0.19031 +[27] validation_0-rmse:0.18720 validation_1-rmse:0.18794 +[28] validation_0-rmse:0.18503 validation_1-rmse:0.18584 +[29] validation_0-rmse:0.18314 validation_1-rmse:0.18382 +[30] validation_0-rmse:0.18132 validation_1-rmse:0.18164 +[31] validation_0-rmse:0.17984 validation_1-rmse:0.17967 +[32] validation_0-rmse:0.17818 validation_1-rmse:0.17779 +[33] validation_0-rmse:0.17637 validation_1-rmse:0.17572 +[34] validation_0-rmse:0.17473 validation_1-rmse:0.17399 +[35] validation_0-rmse:0.17338 validation_1-rmse:0.17229 +[36] validation_0-rmse:0.17253 validation_1-rmse:0.17055 +[37] validation_0-rmse:0.17149 validation_1-rmse:0.16883 +[38] validation_0-rmse:0.17030 validation_1-rmse:0.16730 +[39] validation_0-rmse:0.16950 validation_1-rmse:0.16556 +[40] validation_0-rmse:0.16815 validation_1-rmse:0.16412 +[41] validation_0-rmse:0.16704 validation_1-rmse:0.16268 +[42] validation_0-rmse:0.16617 validation_1-rmse:0.16128 +[43] validation_0-rmse:0.16542 validation_1-rmse:0.15970 +[44] validation_0-rmse:0.16438 validation_1-rmse:0.15840 +[45] validation_0-rmse:0.16356 validation_1-rmse:0.15692 +[46] validation_0-rmse:0.16239 validation_1-rmse:0.15574 +[47] validation_0-rmse:0.16153 validation_1-rmse:0.15456 +[48] validation_0-rmse:0.16076 validation_1-rmse:0.15314 +[49] validation_0-rmse:0.15998 validation_1-rmse:0.15201 +[50] validation_0-rmse:0.15946 validation_1-rmse:0.15084 +[51] validation_0-rmse:0.15891 validation_1-rmse:0.14954 +[52] validation_0-rmse:0.15834 validation_1-rmse:0.14847 +[53] validation_0-rmse:0.15764 validation_1-rmse:0.14722 +[54] validation_0-rmse:0.15707 validation_1-rmse:0.14623 +[55] validation_0-rmse:0.15653 validation_1-rmse:0.14527 +[56] validation_0-rmse:0.15583 validation_1-rmse:0.14434 +[57] validation_0-rmse:0.15549 validation_1-rmse:0.14329 +[58] validation_0-rmse:0.15507 validation_1-rmse:0.14241 +[59] validation_0-rmse:0.15468 validation_1-rmse:0.14053 +[60] validation_0-rmse:0.15398 validation_1-rmse:0.13968 +[61] validation_0-rmse:0.15390 validation_1-rmse:0.13864 +[62] validation_0-rmse:0.15360 validation_1-rmse:0.13783 +[63] validation_0-rmse:0.15368 validation_1-rmse:0.13704 +[64] validation_0-rmse:0.15338 validation_1-rmse:0.13624 +[65] validation_0-rmse:0.15273 validation_1-rmse:0.13551 +[66] validation_0-rmse:0.15238 validation_1-rmse:0.13451 +[67] validation_0-rmse:0.15212 validation_1-rmse:0.13290 +[68] validation_0-rmse:0.15191 validation_1-rmse:0.13217 +[69] validation_0-rmse:0.15138 validation_1-rmse:0.13143 +[70] validation_0-rmse:0.15090 validation_1-rmse:0.13071 +[71] validation_0-rmse:0.15082 validation_1-rmse:0.13001 +[72] validation_0-rmse:0.14988 validation_1-rmse:0.12847 +[73] validation_0-rmse:0.14953 validation_1-rmse:0.12783 +[74] validation_0-rmse:0.14924 validation_1-rmse:0.12709 +[75] validation_0-rmse:0.14926 validation_1-rmse:0.12578 +[76] validation_0-rmse:0.14903 validation_1-rmse:0.12499 +[77] validation_0-rmse:0.14851 validation_1-rmse:0.12435 +[78] validation_0-rmse:0.14808 validation_1-rmse:0.12368 +[79] validation_0-rmse:0.14768 validation_1-rmse:0.12305 +[80] validation_0-rmse:0.14741 validation_1-rmse:0.12217 +[81] validation_0-rmse:0.14712 validation_1-rmse:0.12165 +[82] validation_0-rmse:0.14696 validation_1-rmse:0.12110 +[83] validation_0-rmse:0.14686 validation_1-rmse:0.12045 +[84] validation_0-rmse:0.14648 validation_1-rmse:0.11984 +[85] validation_0-rmse:0.14623 validation_1-rmse:0.11923 +[86] validation_0-rmse:0.14606 validation_1-rmse:0.11869 +[87] validation_0-rmse:0.14583 validation_1-rmse:0.11754 +[88] validation_0-rmse:0.14572 validation_1-rmse:0.11710 +[89] validation_0-rmse:0.14537 validation_1-rmse:0.11660 +[90] validation_0-rmse:0.14510 validation_1-rmse:0.11614 +[91] validation_0-rmse:0.14516 validation_1-rmse:0.11514 +[92] validation_0-rmse:0.14480 validation_1-rmse:0.11455 +[93] validation_0-rmse:0.14475 validation_1-rmse:0.11414 +[94] validation_0-rmse:0.14443 validation_1-rmse:0.11374 +[95] validation_0-rmse:0.14409 validation_1-rmse:0.11331 +[96] validation_0-rmse:0.14391 validation_1-rmse:0.11240 +[97] validation_0-rmse:0.14303 validation_1-rmse:0.11154 +[98] validation_0-rmse:0.14274 validation_1-rmse:0.11114 +[99] validation_0-rmse:0.14246 validation_1-rmse:0.11071 +2025-04-29 01:22:54,188 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training BTC/USDT (5.82 secs) -------------------- +2025-04-29 01:22:54,189 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:22:54,678 - freqtrade.freqai.freqai_interface - INFO - Training BTC/USDT, 1/2 pairs from 2025-02-10 00:00:00 to 2025-03-12 00:00:00, 8/11 trains +2025-04-29 01:22:54,678 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_btc_1741737600_prediction.feather +2025-04-29 01:22:54,685 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:22:54,691 - FreqaiExampleStrategy - INFO - 目标列形状:(48050,) +2025-04-29 01:22:54,693 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.079166 +1 0.003285 50.079166 +2 0.001898 50.079166 +3 0.000484 50.079166 +4 0.001688 50.079166 +2025-04-29 01:22:54,699 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:22:54,706 - FreqaiExampleStrategy - INFO - 目标列形状:(52850,) +2025-04-29 01:22:54,707 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.102027 +1 0.003285 50.102027 +2 0.001898 50.102027 +3 0.000484 50.102027 +4 0.001688 50.102027 +2025-04-29 01:22:54,712 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-BTC_1741737600/cb_btc_1741737600 +2025-04-29 01:22:54,712 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training BTC/USDT -------------------- +2025-04-29 01:22:54,728 - freqtrade.freqai.data_kitchen - INFO - BTC/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:22:54,729 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-02-10 to 2025-03-11 -------------------- +2025-04-29 01:22:59,740 - datasieve.pipeline - INFO - DI tossed 18 predictions for being too far from training data. +2025-04-29 01:22:59,743 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 75 features +2025-04-29 01:22:59,743 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.26738 validation_1-rmse:0.26816 +[1] validation_0-rmse:0.26268 validation_1-rmse:0.26258 +[2] validation_0-rmse:0.25808 validation_1-rmse:0.25725 +[3] validation_0-rmse:0.25395 validation_1-rmse:0.25212 +[4] validation_0-rmse:0.24987 validation_1-rmse:0.24723 +[5] validation_0-rmse:0.24633 validation_1-rmse:0.24263 +[6] validation_0-rmse:0.24308 validation_1-rmse:0.23814 +[7] validation_0-rmse:0.23959 validation_1-rmse:0.23402 +[8] validation_0-rmse:0.23612 validation_1-rmse:0.22977 +[9] validation_0-rmse:0.23322 validation_1-rmse:0.22577 +[10] validation_0-rmse:0.23012 validation_1-rmse:0.22207 +[11] validation_0-rmse:0.22730 validation_1-rmse:0.21843 +[12] validation_0-rmse:0.22453 validation_1-rmse:0.21489 +[13] validation_0-rmse:0.22236 validation_1-rmse:0.21145 +[14] validation_0-rmse:0.22000 validation_1-rmse:0.20841 +[15] validation_0-rmse:0.21744 validation_1-rmse:0.20529 +[16] validation_0-rmse:0.21556 validation_1-rmse:0.20225 +[17] validation_0-rmse:0.21331 validation_1-rmse:0.19932 +[18] validation_0-rmse:0.21171 validation_1-rmse:0.19643 +[19] validation_0-rmse:0.21051 validation_1-rmse:0.19382 +[20] validation_0-rmse:0.20880 validation_1-rmse:0.19128 +[21] validation_0-rmse:0.20711 validation_1-rmse:0.18854 +[22] validation_0-rmse:0.20538 validation_1-rmse:0.18612 +[23] validation_0-rmse:0.20350 validation_1-rmse:0.18381 +[24] validation_0-rmse:0.20234 validation_1-rmse:0.18144 +[25] validation_0-rmse:0.20081 validation_1-rmse:0.17917 +[26] validation_0-rmse:0.19918 validation_1-rmse:0.17714 +[27] validation_0-rmse:0.19804 validation_1-rmse:0.17496 +[28] validation_0-rmse:0.19662 validation_1-rmse:0.17304 +[29] validation_0-rmse:0.19580 validation_1-rmse:0.17082 +[30] validation_0-rmse:0.19454 validation_1-rmse:0.16901 +[31] validation_0-rmse:0.19331 validation_1-rmse:0.16691 +[32] validation_0-rmse:0.19234 validation_1-rmse:0.16517 +[33] validation_0-rmse:0.19118 validation_1-rmse:0.16354 +[34] validation_0-rmse:0.19024 validation_1-rmse:0.16175 +[35] validation_0-rmse:0.18915 validation_1-rmse:0.16020 +[36] validation_0-rmse:0.18823 validation_1-rmse:0.15865 +[37] validation_0-rmse:0.18756 validation_1-rmse:0.15712 +[38] validation_0-rmse:0.18698 validation_1-rmse:0.15541 +[39] validation_0-rmse:0.18643 validation_1-rmse:0.15395 +[40] validation_0-rmse:0.18562 validation_1-rmse:0.15265 +[41] validation_0-rmse:0.18516 validation_1-rmse:0.15124 +[42] validation_0-rmse:0.18421 validation_1-rmse:0.14979 +[43] validation_0-rmse:0.18360 validation_1-rmse:0.14850 +[44] validation_0-rmse:0.18275 validation_1-rmse:0.14733 +[45] validation_0-rmse:0.18253 validation_1-rmse:0.14597 +[46] validation_0-rmse:0.18183 validation_1-rmse:0.14470 +[47] validation_0-rmse:0.18111 validation_1-rmse:0.14361 +[48] validation_0-rmse:0.18060 validation_1-rmse:0.14243 +[49] validation_0-rmse:0.18001 validation_1-rmse:0.14134 +[50] validation_0-rmse:0.17953 validation_1-rmse:0.14030 +[51] validation_0-rmse:0.17899 validation_1-rmse:0.13927 +[52] validation_0-rmse:0.17830 validation_1-rmse:0.13817 +[53] validation_0-rmse:0.17770 validation_1-rmse:0.13720 +[54] validation_0-rmse:0.17702 validation_1-rmse:0.13629 +[55] validation_0-rmse:0.17650 validation_1-rmse:0.13531 +[56] validation_0-rmse:0.17625 validation_1-rmse:0.13440 +[57] validation_0-rmse:0.17580 validation_1-rmse:0.13352 +[58] validation_0-rmse:0.17530 validation_1-rmse:0.13268 +[59] validation_0-rmse:0.17486 validation_1-rmse:0.13166 +[60] validation_0-rmse:0.17438 validation_1-rmse:0.13071 +[61] validation_0-rmse:0.17387 validation_1-rmse:0.12991 +[62] validation_0-rmse:0.17356 validation_1-rmse:0.12914 +[63] validation_0-rmse:0.17311 validation_1-rmse:0.12839 +[64] validation_0-rmse:0.17265 validation_1-rmse:0.12767 +[65] validation_0-rmse:0.17209 validation_1-rmse:0.12682 +[66] validation_0-rmse:0.17197 validation_1-rmse:0.12595 +[67] validation_0-rmse:0.17157 validation_1-rmse:0.12506 +[68] validation_0-rmse:0.17131 validation_1-rmse:0.12439 +[69] validation_0-rmse:0.17088 validation_1-rmse:0.12371 +[70] validation_0-rmse:0.17038 validation_1-rmse:0.12298 +[71] validation_0-rmse:0.17009 validation_1-rmse:0.12235 +[72] validation_0-rmse:0.16979 validation_1-rmse:0.12172 +[73] validation_0-rmse:0.16934 validation_1-rmse:0.12118 +[74] validation_0-rmse:0.16902 validation_1-rmse:0.12050 +[75] validation_0-rmse:0.16881 validation_1-rmse:0.11988 +[76] validation_0-rmse:0.16846 validation_1-rmse:0.11928 +[77] validation_0-rmse:0.16809 validation_1-rmse:0.11846 +[78] validation_0-rmse:0.16774 validation_1-rmse:0.11791 +[79] validation_0-rmse:0.16745 validation_1-rmse:0.11738 +[80] validation_0-rmse:0.16717 validation_1-rmse:0.11683 +[81] validation_0-rmse:0.16702 validation_1-rmse:0.11599 +[82] validation_0-rmse:0.16677 validation_1-rmse:0.11535 +[83] validation_0-rmse:0.16649 validation_1-rmse:0.11468 +[84] validation_0-rmse:0.16605 validation_1-rmse:0.11415 +[85] validation_0-rmse:0.16591 validation_1-rmse:0.11350 +[86] validation_0-rmse:0.16560 validation_1-rmse:0.11303 +[87] validation_0-rmse:0.16531 validation_1-rmse:0.11259 +[88] validation_0-rmse:0.16504 validation_1-rmse:0.11185 +[89] validation_0-rmse:0.16485 validation_1-rmse:0.11134 +[90] validation_0-rmse:0.16463 validation_1-rmse:0.11083 +[91] validation_0-rmse:0.16436 validation_1-rmse:0.11041 +[92] validation_0-rmse:0.16412 validation_1-rmse:0.10988 +[93] validation_0-rmse:0.16388 validation_1-rmse:0.10942 +[94] validation_0-rmse:0.16391 validation_1-rmse:0.10881 +[95] validation_0-rmse:0.16357 validation_1-rmse:0.10838 +[96] validation_0-rmse:0.16358 validation_1-rmse:0.10796 +[97] validation_0-rmse:0.16338 validation_1-rmse:0.10756 +[98] validation_0-rmse:0.16339 validation_1-rmse:0.10688 +[99] validation_0-rmse:0.16321 validation_1-rmse:0.10649 +2025-04-29 01:23:00,451 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training BTC/USDT (5.74 secs) -------------------- +2025-04-29 01:23:00,452 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:23:01,085 - freqtrade.freqai.freqai_interface - INFO - Training BTC/USDT, 1/2 pairs from 2025-02-20 00:00:00 to 2025-03-22 00:00:00, 9/11 trains +2025-04-29 01:23:01,086 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_btc_1742601600_prediction.feather +2025-04-29 01:23:01,094 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:23:01,101 - FreqaiExampleStrategy - INFO - 目标列形状:(52850,) +2025-04-29 01:23:01,103 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.102027 +1 0.003285 50.102027 +2 0.001898 50.102027 +3 0.000484 50.102027 +4 0.001688 50.102027 +2025-04-29 01:23:01,113 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:23:01,120 - FreqaiExampleStrategy - INFO - 目标列形状:(57650,) +2025-04-29 01:23:01,122 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.079967 +1 0.003285 50.079967 +2 0.001898 50.079967 +3 0.000484 50.079967 +4 0.001688 50.079967 +2025-04-29 01:23:01,127 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-BTC_1742601600/cb_btc_1742601600 +2025-04-29 01:23:01,128 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training BTC/USDT -------------------- +2025-04-29 01:23:01,152 - freqtrade.freqai.data_kitchen - INFO - BTC/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:23:01,155 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-02-20 to 2025-03-21 -------------------- +2025-04-29 01:23:06,424 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 75 features +2025-04-29 01:23:06,425 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.26992 validation_1-rmse:0.26756 +[1] validation_0-rmse:0.26551 validation_1-rmse:0.26201 +[2] validation_0-rmse:0.26111 validation_1-rmse:0.25656 +[3] validation_0-rmse:0.25690 validation_1-rmse:0.25154 +[4] validation_0-rmse:0.25291 validation_1-rmse:0.24683 +[5] validation_0-rmse:0.24933 validation_1-rmse:0.24228 +[6] validation_0-rmse:0.24598 validation_1-rmse:0.23796 +[7] validation_0-rmse:0.24252 validation_1-rmse:0.23392 +[8] validation_0-rmse:0.23953 validation_1-rmse:0.22978 +[9] validation_0-rmse:0.23634 validation_1-rmse:0.22592 +[10] validation_0-rmse:0.23330 validation_1-rmse:0.22229 +[11] validation_0-rmse:0.23059 validation_1-rmse:0.21875 +[12] validation_0-rmse:0.22799 validation_1-rmse:0.21546 +[13] validation_0-rmse:0.22565 validation_1-rmse:0.21212 +[14] validation_0-rmse:0.22329 validation_1-rmse:0.20904 +[15] validation_0-rmse:0.22111 validation_1-rmse:0.20604 +[16] validation_0-rmse:0.21894 validation_1-rmse:0.20318 +[17] validation_0-rmse:0.21715 validation_1-rmse:0.20021 +[18] validation_0-rmse:0.21499 validation_1-rmse:0.19735 +[19] validation_0-rmse:0.21283 validation_1-rmse:0.19480 +[20] validation_0-rmse:0.21109 validation_1-rmse:0.19209 +[21] validation_0-rmse:0.20904 validation_1-rmse:0.18969 +[22] validation_0-rmse:0.20762 validation_1-rmse:0.18718 +[23] validation_0-rmse:0.20580 validation_1-rmse:0.18498 +[24] validation_0-rmse:0.20434 validation_1-rmse:0.18262 +[25] validation_0-rmse:0.20267 validation_1-rmse:0.18048 +[26] validation_0-rmse:0.20106 validation_1-rmse:0.17844 +[27] validation_0-rmse:0.19945 validation_1-rmse:0.17647 +[28] validation_0-rmse:0.19813 validation_1-rmse:0.17443 +[29] validation_0-rmse:0.19669 validation_1-rmse:0.17264 +[30] validation_0-rmse:0.19541 validation_1-rmse:0.17054 +[31] validation_0-rmse:0.19401 validation_1-rmse:0.16881 +[32] validation_0-rmse:0.19263 validation_1-rmse:0.16719 +[33] validation_0-rmse:0.19134 validation_1-rmse:0.16560 +[34] validation_0-rmse:0.18996 validation_1-rmse:0.16365 +[35] validation_0-rmse:0.18864 validation_1-rmse:0.16211 +[36] validation_0-rmse:0.18752 validation_1-rmse:0.16069 +[37] validation_0-rmse:0.18652 validation_1-rmse:0.15898 +[38] validation_0-rmse:0.18540 validation_1-rmse:0.15751 +[39] validation_0-rmse:0.18429 validation_1-rmse:0.15616 +[40] validation_0-rmse:0.18317 validation_1-rmse:0.15475 +[41] validation_0-rmse:0.18215 validation_1-rmse:0.15324 +[42] validation_0-rmse:0.18119 validation_1-rmse:0.15199 +[43] validation_0-rmse:0.18008 validation_1-rmse:0.15057 +[44] validation_0-rmse:0.17926 validation_1-rmse:0.14942 +[45] validation_0-rmse:0.17841 validation_1-rmse:0.14813 +[46] validation_0-rmse:0.17755 validation_1-rmse:0.14700 +[47] validation_0-rmse:0.17672 validation_1-rmse:0.14572 +[48] validation_0-rmse:0.17586 validation_1-rmse:0.14466 +[49] validation_0-rmse:0.17511 validation_1-rmse:0.14354 +[50] validation_0-rmse:0.17440 validation_1-rmse:0.14236 +[51] validation_0-rmse:0.17354 validation_1-rmse:0.14130 +[52] validation_0-rmse:0.17281 validation_1-rmse:0.14035 +[53] validation_0-rmse:0.17210 validation_1-rmse:0.13942 +[54] validation_0-rmse:0.17136 validation_1-rmse:0.13843 +[55] validation_0-rmse:0.17045 validation_1-rmse:0.13715 +[56] validation_0-rmse:0.16971 validation_1-rmse:0.13629 +[57] validation_0-rmse:0.16900 validation_1-rmse:0.13511 +[58] validation_0-rmse:0.16834 validation_1-rmse:0.13426 +[59] validation_0-rmse:0.16763 validation_1-rmse:0.13323 +[60] validation_0-rmse:0.16702 validation_1-rmse:0.13242 +[61] validation_0-rmse:0.16639 validation_1-rmse:0.13164 +[62] validation_0-rmse:0.16586 validation_1-rmse:0.13079 +[63] validation_0-rmse:0.16527 validation_1-rmse:0.13006 +[64] validation_0-rmse:0.16458 validation_1-rmse:0.12914 +[65] validation_0-rmse:0.16396 validation_1-rmse:0.12841 +[66] validation_0-rmse:0.16332 validation_1-rmse:0.12742 +[67] validation_0-rmse:0.16290 validation_1-rmse:0.12665 +[68] validation_0-rmse:0.16248 validation_1-rmse:0.12584 +[69] validation_0-rmse:0.16192 validation_1-rmse:0.12503 +[70] validation_0-rmse:0.16128 validation_1-rmse:0.12435 +[71] validation_0-rmse:0.16078 validation_1-rmse:0.12371 +[72] validation_0-rmse:0.16032 validation_1-rmse:0.12311 +[73] validation_0-rmse:0.15998 validation_1-rmse:0.12241 +[74] validation_0-rmse:0.15959 validation_1-rmse:0.12184 +[75] validation_0-rmse:0.15922 validation_1-rmse:0.12121 +[76] validation_0-rmse:0.15877 validation_1-rmse:0.12064 +[77] validation_0-rmse:0.15830 validation_1-rmse:0.11981 +[78] validation_0-rmse:0.15791 validation_1-rmse:0.11927 +[79] validation_0-rmse:0.15751 validation_1-rmse:0.11859 +[80] validation_0-rmse:0.15716 validation_1-rmse:0.11795 +[81] validation_0-rmse:0.15680 validation_1-rmse:0.11740 +[82] validation_0-rmse:0.15624 validation_1-rmse:0.11683 +[83] validation_0-rmse:0.15578 validation_1-rmse:0.11632 +[84] validation_0-rmse:0.15553 validation_1-rmse:0.11586 +[85] validation_0-rmse:0.15471 validation_1-rmse:0.11513 +[86] validation_0-rmse:0.15444 validation_1-rmse:0.11465 +[87] validation_0-rmse:0.15417 validation_1-rmse:0.11406 +[88] validation_0-rmse:0.15387 validation_1-rmse:0.11359 +[89] validation_0-rmse:0.15359 validation_1-rmse:0.11319 +[90] validation_0-rmse:0.15332 validation_1-rmse:0.11269 +[91] validation_0-rmse:0.15301 validation_1-rmse:0.11221 +[92] validation_0-rmse:0.15258 validation_1-rmse:0.11176 +[93] validation_0-rmse:0.15231 validation_1-rmse:0.11135 +[94] validation_0-rmse:0.15202 validation_1-rmse:0.11093 +[95] validation_0-rmse:0.15185 validation_1-rmse:0.11041 +[96] validation_0-rmse:0.15173 validation_1-rmse:0.11000 +[97] validation_0-rmse:0.15150 validation_1-rmse:0.10961 +[98] validation_0-rmse:0.15114 validation_1-rmse:0.10917 +[99] validation_0-rmse:0.15096 validation_1-rmse:0.10882 +2025-04-29 01:23:07,093 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training BTC/USDT (5.96 secs) -------------------- +2025-04-29 01:23:07,094 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:23:07,615 - freqtrade.freqai.freqai_interface - INFO - Training BTC/USDT, 1/2 pairs from 2025-03-02 00:00:00 to 2025-04-01 00:00:00, 10/11 trains +2025-04-29 01:23:07,615 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_btc_1743465600_prediction.feather +2025-04-29 01:23:07,624 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:23:07,631 - FreqaiExampleStrategy - INFO - 目标列形状:(57650,) +2025-04-29 01:23:07,633 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.079967 +1 0.003285 50.079967 +2 0.001898 50.079967 +3 0.000484 50.079967 +4 0.001688 50.079967 +2025-04-29 01:23:07,640 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:23:07,647 - FreqaiExampleStrategy - INFO - 目标列形状:(62450,) +2025-04-29 01:23:07,649 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.024153 +1 0.003285 50.024153 +2 0.001898 50.024153 +3 0.000484 50.024153 +4 0.001688 50.024153 +2025-04-29 01:23:07,654 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-BTC_1743465600/cb_btc_1743465600 +2025-04-29 01:23:07,654 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training BTC/USDT -------------------- +2025-04-29 01:23:07,670 - freqtrade.freqai.data_kitchen - INFO - BTC/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:23:07,671 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-03-02 to 2025-03-31 -------------------- +2025-04-29 01:23:12,541 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 75 features +2025-04-29 01:23:12,541 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.28468 validation_1-rmse:0.28491 +[1] validation_0-rmse:0.27961 validation_1-rmse:0.27914 +[2] validation_0-rmse:0.27524 validation_1-rmse:0.27370 +[3] validation_0-rmse:0.27054 validation_1-rmse:0.26858 +[4] validation_0-rmse:0.26601 validation_1-rmse:0.26362 +[5] validation_0-rmse:0.26219 validation_1-rmse:0.25896 +[6] validation_0-rmse:0.25814 validation_1-rmse:0.25450 +[7] validation_0-rmse:0.25500 validation_1-rmse:0.25026 +[8] validation_0-rmse:0.25145 validation_1-rmse:0.24602 +[9] validation_0-rmse:0.24843 validation_1-rmse:0.24213 +[10] validation_0-rmse:0.24527 validation_1-rmse:0.23824 +[11] validation_0-rmse:0.24238 validation_1-rmse:0.23440 +[12] validation_0-rmse:0.23940 validation_1-rmse:0.23096 +[13] validation_0-rmse:0.23630 validation_1-rmse:0.22764 +[14] validation_0-rmse:0.23385 validation_1-rmse:0.22440 +[15] validation_0-rmse:0.23099 validation_1-rmse:0.22128 +[16] validation_0-rmse:0.22865 validation_1-rmse:0.21801 +[17] validation_0-rmse:0.22620 validation_1-rmse:0.21515 +[18] validation_0-rmse:0.22375 validation_1-rmse:0.21210 +[19] validation_0-rmse:0.22142 validation_1-rmse:0.20925 +[20] validation_0-rmse:0.21927 validation_1-rmse:0.20663 +[21] validation_0-rmse:0.21720 validation_1-rmse:0.20416 +[22] validation_0-rmse:0.21528 validation_1-rmse:0.20170 +[23] validation_0-rmse:0.21330 validation_1-rmse:0.19913 +[24] validation_0-rmse:0.21136 validation_1-rmse:0.19693 +[25] validation_0-rmse:0.21002 validation_1-rmse:0.19438 +[26] validation_0-rmse:0.20807 validation_1-rmse:0.19222 +[27] validation_0-rmse:0.20636 validation_1-rmse:0.19016 +[28] validation_0-rmse:0.20439 validation_1-rmse:0.18763 +[29] validation_0-rmse:0.20276 validation_1-rmse:0.18559 +[30] validation_0-rmse:0.20114 validation_1-rmse:0.18380 +[31] validation_0-rmse:0.19965 validation_1-rmse:0.18163 +[32] validation_0-rmse:0.19833 validation_1-rmse:0.17955 +[33] validation_0-rmse:0.19688 validation_1-rmse:0.17782 +[34] validation_0-rmse:0.19558 validation_1-rmse:0.17614 +[35] validation_0-rmse:0.19420 validation_1-rmse:0.17451 +[36] validation_0-rmse:0.19297 validation_1-rmse:0.17293 +[37] validation_0-rmse:0.19169 validation_1-rmse:0.17111 +[38] validation_0-rmse:0.19038 validation_1-rmse:0.16943 +[39] validation_0-rmse:0.18941 validation_1-rmse:0.16798 +[40] validation_0-rmse:0.18828 validation_1-rmse:0.16657 +[41] validation_0-rmse:0.18724 validation_1-rmse:0.16485 +[42] validation_0-rmse:0.18620 validation_1-rmse:0.16347 +[43] validation_0-rmse:0.18525 validation_1-rmse:0.16204 +[44] validation_0-rmse:0.18429 validation_1-rmse:0.16073 +[45] validation_0-rmse:0.18324 validation_1-rmse:0.15951 +[46] validation_0-rmse:0.18250 validation_1-rmse:0.15797 +[47] validation_0-rmse:0.18157 validation_1-rmse:0.15682 +[48] validation_0-rmse:0.18069 validation_1-rmse:0.15566 +[49] validation_0-rmse:0.18002 validation_1-rmse:0.15440 +[50] validation_0-rmse:0.17914 validation_1-rmse:0.15322 +[51] validation_0-rmse:0.17842 validation_1-rmse:0.15220 +[52] validation_0-rmse:0.17756 validation_1-rmse:0.15107 +[53] validation_0-rmse:0.17668 validation_1-rmse:0.15007 +[54] validation_0-rmse:0.17596 validation_1-rmse:0.14866 +[55] validation_0-rmse:0.17525 validation_1-rmse:0.14775 +[56] validation_0-rmse:0.17467 validation_1-rmse:0.14653 +[57] validation_0-rmse:0.17390 validation_1-rmse:0.14564 +[58] validation_0-rmse:0.17326 validation_1-rmse:0.14478 +[59] validation_0-rmse:0.17273 validation_1-rmse:0.14356 +[60] validation_0-rmse:0.17218 validation_1-rmse:0.14269 +[61] validation_0-rmse:0.17157 validation_1-rmse:0.14186 +[62] validation_0-rmse:0.17120 validation_1-rmse:0.14083 +[63] validation_0-rmse:0.17069 validation_1-rmse:0.14002 +[64] validation_0-rmse:0.17012 validation_1-rmse:0.13912 +[65] validation_0-rmse:0.16942 validation_1-rmse:0.13834 +[66] validation_0-rmse:0.16914 validation_1-rmse:0.13720 +[67] validation_0-rmse:0.16856 validation_1-rmse:0.13648 +[68] validation_0-rmse:0.16800 validation_1-rmse:0.13569 +[69] validation_0-rmse:0.16796 validation_1-rmse:0.13472 +[70] validation_0-rmse:0.16737 validation_1-rmse:0.13405 +[71] validation_0-rmse:0.16686 validation_1-rmse:0.13342 +[72] validation_0-rmse:0.16639 validation_1-rmse:0.13270 +[73] validation_0-rmse:0.16648 validation_1-rmse:0.13149 +[74] validation_0-rmse:0.16609 validation_1-rmse:0.13086 +[75] validation_0-rmse:0.16560 validation_1-rmse:0.13025 +[76] validation_0-rmse:0.16530 validation_1-rmse:0.12925 +[77] validation_0-rmse:0.16492 validation_1-rmse:0.12824 +[78] validation_0-rmse:0.16451 validation_1-rmse:0.12770 +[79] validation_0-rmse:0.16414 validation_1-rmse:0.12710 +[80] validation_0-rmse:0.16377 validation_1-rmse:0.12654 +[81] validation_0-rmse:0.16338 validation_1-rmse:0.12595 +[82] validation_0-rmse:0.16317 validation_1-rmse:0.12490 +[83] validation_0-rmse:0.16249 validation_1-rmse:0.12361 +[84] validation_0-rmse:0.16217 validation_1-rmse:0.12307 +[85] validation_0-rmse:0.16178 validation_1-rmse:0.12255 +[86] validation_0-rmse:0.16149 validation_1-rmse:0.12206 +[87] validation_0-rmse:0.16113 validation_1-rmse:0.12155 +[88] validation_0-rmse:0.16049 validation_1-rmse:0.12061 +[89] validation_0-rmse:0.16008 validation_1-rmse:0.11990 +[90] validation_0-rmse:0.15955 validation_1-rmse:0.11882 +[91] validation_0-rmse:0.15927 validation_1-rmse:0.11842 +[92] validation_0-rmse:0.15891 validation_1-rmse:0.11796 +[93] validation_0-rmse:0.15880 validation_1-rmse:0.11730 +[94] validation_0-rmse:0.15829 validation_1-rmse:0.11631 +[95] validation_0-rmse:0.15809 validation_1-rmse:0.11584 +[96] validation_0-rmse:0.15778 validation_1-rmse:0.11544 +[97] validation_0-rmse:0.15763 validation_1-rmse:0.11504 +[98] validation_0-rmse:0.15724 validation_1-rmse:0.11438 +[99] validation_0-rmse:0.15694 validation_1-rmse:0.11396 +2025-04-29 01:23:13,172 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training BTC/USDT (5.52 secs) -------------------- +2025-04-29 01:23:13,173 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:23:13,698 - freqtrade.freqai.freqai_interface - INFO - Training BTC/USDT, 1/2 pairs from 2025-03-12 00:00:00 to 2025-04-11 00:00:00, 11/11 trains +2025-04-29 01:23:13,699 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_btc_1744329600_prediction.feather +2025-04-29 01:23:13,709 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:23:13,717 - FreqaiExampleStrategy - INFO - 目标列形状:(62450,) +2025-04-29 01:23:13,719 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.024153 +1 0.003285 50.024153 +2 0.001898 50.024153 +3 0.000484 50.024153 +4 0.001688 50.024153 +2025-04-29 01:23:13,729 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:23:13,736 - FreqaiExampleStrategy - INFO - 目标列形状:(66770,) +2025-04-29 01:23:13,738 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.093162 +1 0.003285 50.093162 +2 0.001898 50.093162 +3 0.000484 50.093162 +4 0.001688 50.093162 +2025-04-29 01:23:13,742 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-BTC_1744329600/cb_btc_1744329600 +2025-04-29 01:23:13,743 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training BTC/USDT -------------------- +2025-04-29 01:23:13,761 - freqtrade.freqai.data_kitchen - INFO - BTC/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:23:13,761 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-03-12 to 2025-04-10 -------------------- +2025-04-29 01:23:18,729 - datasieve.pipeline - INFO - DI tossed 2001 predictions for being too far from training data. +2025-04-29 01:23:18,732 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 75 features +2025-04-29 01:23:18,732 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.32950 validation_1-rmse:0.29220 +[1] validation_0-rmse:0.32402 validation_1-rmse:0.28580 +[2] validation_0-rmse:0.31922 validation_1-rmse:0.27974 +[3] validation_0-rmse:0.31450 validation_1-rmse:0.27409 +[4] validation_0-rmse:0.30969 validation_1-rmse:0.26866 +[5] validation_0-rmse:0.30585 validation_1-rmse:0.26346 +[6] validation_0-rmse:0.30202 validation_1-rmse:0.25855 +[7] validation_0-rmse:0.29888 validation_1-rmse:0.25375 +[8] validation_0-rmse:0.29520 validation_1-rmse:0.24919 +[9] validation_0-rmse:0.29164 validation_1-rmse:0.24487 +[10] validation_0-rmse:0.28843 validation_1-rmse:0.24072 +[11] validation_0-rmse:0.28514 validation_1-rmse:0.23667 +[12] validation_0-rmse:0.28114 validation_1-rmse:0.23279 +[13] validation_0-rmse:0.27740 validation_1-rmse:0.22909 +[14] validation_0-rmse:0.27421 validation_1-rmse:0.22543 +[15] validation_0-rmse:0.27115 validation_1-rmse:0.22210 +[16] validation_0-rmse:0.26820 validation_1-rmse:0.21859 +[17] validation_0-rmse:0.26549 validation_1-rmse:0.21528 +[18] validation_0-rmse:0.26254 validation_1-rmse:0.21226 +[19] validation_0-rmse:0.25967 validation_1-rmse:0.20927 +[20] validation_0-rmse:0.25735 validation_1-rmse:0.20641 +[21] validation_0-rmse:0.25470 validation_1-rmse:0.20366 +[22] validation_0-rmse:0.25265 validation_1-rmse:0.20073 +[23] validation_0-rmse:0.25054 validation_1-rmse:0.19819 +[24] validation_0-rmse:0.24806 validation_1-rmse:0.19573 +[25] validation_0-rmse:0.24570 validation_1-rmse:0.19304 +[26] validation_0-rmse:0.24361 validation_1-rmse:0.19076 +[27] validation_0-rmse:0.24148 validation_1-rmse:0.18853 +[28] validation_0-rmse:0.24014 validation_1-rmse:0.18621 +[29] validation_0-rmse:0.23792 validation_1-rmse:0.18410 +[30] validation_0-rmse:0.23603 validation_1-rmse:0.18203 +[31] validation_0-rmse:0.23421 validation_1-rmse:0.17990 +[32] validation_0-rmse:0.23264 validation_1-rmse:0.17800 +[33] validation_0-rmse:0.23087 validation_1-rmse:0.17616 +[34] validation_0-rmse:0.22949 validation_1-rmse:0.17427 +[35] validation_0-rmse:0.22857 validation_1-rmse:0.17234 +[36] validation_0-rmse:0.22690 validation_1-rmse:0.17065 +[37] validation_0-rmse:0.22566 validation_1-rmse:0.16898 +[38] validation_0-rmse:0.22462 validation_1-rmse:0.16738 +[39] validation_0-rmse:0.22376 validation_1-rmse:0.16567 +[40] validation_0-rmse:0.22232 validation_1-rmse:0.16410 +[41] validation_0-rmse:0.22105 validation_1-rmse:0.16265 +[42] validation_0-rmse:0.22006 validation_1-rmse:0.16111 +[43] validation_0-rmse:0.21847 validation_1-rmse:0.15976 +[44] validation_0-rmse:0.21782 validation_1-rmse:0.15824 +[45] validation_0-rmse:0.21641 validation_1-rmse:0.15686 +[46] validation_0-rmse:0.21552 validation_1-rmse:0.15554 +[47] validation_0-rmse:0.21459 validation_1-rmse:0.15417 +[48] validation_0-rmse:0.21339 validation_1-rmse:0.15293 +[49] validation_0-rmse:0.21255 validation_1-rmse:0.15176 +[50] validation_0-rmse:0.21192 validation_1-rmse:0.15047 +[51] validation_0-rmse:0.21115 validation_1-rmse:0.14910 +[52] validation_0-rmse:0.21072 validation_1-rmse:0.14774 +[53] validation_0-rmse:0.20992 validation_1-rmse:0.14670 +[54] validation_0-rmse:0.20839 validation_1-rmse:0.14541 +[55] validation_0-rmse:0.20753 validation_1-rmse:0.14442 +[56] validation_0-rmse:0.20648 validation_1-rmse:0.14328 +[57] validation_0-rmse:0.20564 validation_1-rmse:0.14229 +[58] validation_0-rmse:0.20473 validation_1-rmse:0.14137 +[59] validation_0-rmse:0.20418 validation_1-rmse:0.14011 +[60] validation_0-rmse:0.20341 validation_1-rmse:0.13923 +[61] validation_0-rmse:0.20258 validation_1-rmse:0.13839 +[62] validation_0-rmse:0.20230 validation_1-rmse:0.13723 +[63] validation_0-rmse:0.20075 validation_1-rmse:0.13546 +[64] validation_0-rmse:0.20007 validation_1-rmse:0.13467 +[65] validation_0-rmse:0.19937 validation_1-rmse:0.13387 +[66] validation_0-rmse:0.19875 validation_1-rmse:0.13296 +[67] validation_0-rmse:0.19709 validation_1-rmse:0.13137 +[68] validation_0-rmse:0.19675 validation_1-rmse:0.13042 +[69] validation_0-rmse:0.19617 validation_1-rmse:0.12968 +[70] validation_0-rmse:0.19560 validation_1-rmse:0.12900 +[71] validation_0-rmse:0.19492 validation_1-rmse:0.12834 +[72] validation_0-rmse:0.19319 validation_1-rmse:0.12681 +[73] validation_0-rmse:0.19272 validation_1-rmse:0.12612 +[74] validation_0-rmse:0.19230 validation_1-rmse:0.12535 +[75] validation_0-rmse:0.19170 validation_1-rmse:0.12474 +[76] validation_0-rmse:0.19058 validation_1-rmse:0.12338 +[77] validation_0-rmse:0.19010 validation_1-rmse:0.12279 +[78] validation_0-rmse:0.18961 validation_1-rmse:0.12223 +[79] validation_0-rmse:0.18960 validation_1-rmse:0.12156 +[80] validation_0-rmse:0.18882 validation_1-rmse:0.12038 +[81] validation_0-rmse:0.18819 validation_1-rmse:0.11975 +[82] validation_0-rmse:0.18789 validation_1-rmse:0.11916 +[83] validation_0-rmse:0.18738 validation_1-rmse:0.11864 +[84] validation_0-rmse:0.18718 validation_1-rmse:0.11801 +[85] validation_0-rmse:0.18600 validation_1-rmse:0.11698 +[86] validation_0-rmse:0.18572 validation_1-rmse:0.11653 +[87] validation_0-rmse:0.18534 validation_1-rmse:0.11603 +[88] validation_0-rmse:0.18478 validation_1-rmse:0.11508 +[89] validation_0-rmse:0.18430 validation_1-rmse:0.11459 +[90] validation_0-rmse:0.18447 validation_1-rmse:0.11396 +[91] validation_0-rmse:0.18424 validation_1-rmse:0.11352 +[92] validation_0-rmse:0.18367 validation_1-rmse:0.11307 +[93] validation_0-rmse:0.18333 validation_1-rmse:0.11265 +[94] validation_0-rmse:0.18313 validation_1-rmse:0.11216 +[95] validation_0-rmse:0.18275 validation_1-rmse:0.11157 +[96] validation_0-rmse:0.18275 validation_1-rmse:0.11106 +[97] validation_0-rmse:0.18248 validation_1-rmse:0.11068 +[98] validation_0-rmse:0.18220 validation_1-rmse:0.11033 +[99] validation_0-rmse:0.18198 validation_1-rmse:0.10994 +2025-04-29 01:23:19,380 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training BTC/USDT (5.64 secs) -------------------- +2025-04-29 01:23:19,381 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:23:19,963 - FreqaiExampleStrategy - INFO - 动态参数:buy_rsi=39.26145316407591, sell_rsi=59.26145316407591, stoploss=-0.15, trailing_stop_positive=0.05 +2025-04-29 01:23:19,984 - FreqaiExampleStrategy - INFO - up_or_down 值统计: +up_or_down +1 33535 +0 33236 +2025-04-29 01:23:19,985 - FreqaiExampleStrategy - INFO - do_predict 值统计: +do_predict +0.0 35773 +1.0 30998 +2025-04-29 01:23:19,989 - FreqaiExampleStrategy - INFO - 处理交易对:SOL/USDT +2025-04-29 01:23:19,991 - freqtrade.freqai.freqai_interface - INFO - Training 11 timeranges +2025-04-29 01:23:19,992 - freqtrade.freqai.freqai_interface - INFO - Training SOL/USDT, 2/2 pairs from 2024-12-02 00:00:00 to 2025-01-01 00:00:00, 1/11 trains +2025-04-29 01:23:19,992 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_sol_1735689600_prediction.feather +2025-04-29 01:23:20,046 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 5m to 8690 +2025-04-29 01:23:20,047 - freqtrade.data.dataprovider - INFO - Loading data for SOL/USDT 5m from 2024-12-01 19:50:00 to 2025-04-20 00:00:00 +2025-04-29 01:23:20,147 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 1h to 770 +2025-04-29 01:23:20,148 - freqtrade.data.dataprovider - INFO - Loading data for SOL/USDT 1h from 2024-11-29 22:00:00 to 2025-04-20 00:00:00 +2025-04-29 01:23:20,246 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 3m to 14450 +2025-04-29 01:23:20,247 - freqtrade.data.dataprovider - INFO - Loading data for BTC/USDT 3m from 2024-12-01 21:30:00 to 2025-04-20 00:00:00 +2025-04-29 01:23:20,775 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:23:20,780 - FreqaiExampleStrategy - INFO - 目标列形状:(14450,) +2025-04-29 01:23:20,781 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.58814 +1 0.003044 49.58814 +2 0.000465 49.58814 +3 -0.000380 49.58814 +4 0.002829 49.58814 +2025-04-29 01:23:20,785 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:23:20,790 - FreqaiExampleStrategy - INFO - 目标列形状:(19250,) +2025-04-29 01:23:20,792 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.68088 +1 0.003044 49.68088 +2 0.000465 49.68088 +3 -0.000380 49.68088 +4 0.002829 49.68088 +2025-04-29 01:23:20,799 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-SOL_1735689600/cb_sol_1735689600 +2025-04-29 01:23:20,799 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training SOL/USDT -------------------- +2025-04-29 01:23:20,829 - freqtrade.freqai.data_kitchen - INFO - SOL/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:23:20,830 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2024-12-02 to 2024-12-31 -------------------- +2025-04-29 01:23:25,946 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 111 features +2025-04-29 01:23:25,947 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.30164 validation_1-rmse:0.29585 +[1] validation_0-rmse:0.29609 validation_1-rmse:0.28921 +[2] validation_0-rmse:0.29103 validation_1-rmse:0.28298 +[3] validation_0-rmse:0.28604 validation_1-rmse:0.27706 +[4] validation_0-rmse:0.28108 validation_1-rmse:0.27129 +[5] validation_0-rmse:0.27670 validation_1-rmse:0.26609 +[6] validation_0-rmse:0.27234 validation_1-rmse:0.26092 +[7] validation_0-rmse:0.26874 validation_1-rmse:0.25593 +[8] validation_0-rmse:0.26461 validation_1-rmse:0.25118 +[9] validation_0-rmse:0.26074 validation_1-rmse:0.24677 +[10] validation_0-rmse:0.25745 validation_1-rmse:0.24239 +[11] validation_0-rmse:0.25460 validation_1-rmse:0.23832 +[12] validation_0-rmse:0.25121 validation_1-rmse:0.23441 +[13] validation_0-rmse:0.24825 validation_1-rmse:0.23068 +[14] validation_0-rmse:0.24580 validation_1-rmse:0.22694 +[15] validation_0-rmse:0.24286 validation_1-rmse:0.22346 +[16] validation_0-rmse:0.24051 validation_1-rmse:0.22006 +[17] validation_0-rmse:0.23821 validation_1-rmse:0.21690 +[18] validation_0-rmse:0.23549 validation_1-rmse:0.21383 +[19] validation_0-rmse:0.23335 validation_1-rmse:0.21087 +[20] validation_0-rmse:0.23089 validation_1-rmse:0.20804 +[21] validation_0-rmse:0.22918 validation_1-rmse:0.20505 +[22] validation_0-rmse:0.22716 validation_1-rmse:0.20240 +[23] validation_0-rmse:0.22562 validation_1-rmse:0.19981 +[24] validation_0-rmse:0.22385 validation_1-rmse:0.19723 +[25] validation_0-rmse:0.22201 validation_1-rmse:0.19473 +[26] validation_0-rmse:0.22016 validation_1-rmse:0.19245 +[27] validation_0-rmse:0.21834 validation_1-rmse:0.19024 +[28] validation_0-rmse:0.21671 validation_1-rmse:0.18789 +[29] validation_0-rmse:0.21493 validation_1-rmse:0.18579 +[30] validation_0-rmse:0.21385 validation_1-rmse:0.18351 +[31] validation_0-rmse:0.21216 validation_1-rmse:0.18156 +[32] validation_0-rmse:0.21088 validation_1-rmse:0.17941 +[33] validation_0-rmse:0.20953 validation_1-rmse:0.17754 +[34] validation_0-rmse:0.20805 validation_1-rmse:0.17575 +[35] validation_0-rmse:0.20648 validation_1-rmse:0.17399 +[36] validation_0-rmse:0.20515 validation_1-rmse:0.17220 +[37] validation_0-rmse:0.20382 validation_1-rmse:0.17031 +[38] validation_0-rmse:0.20257 validation_1-rmse:0.16871 +[39] validation_0-rmse:0.20125 validation_1-rmse:0.16718 +[40] validation_0-rmse:0.20005 validation_1-rmse:0.16574 +[41] validation_0-rmse:0.19885 validation_1-rmse:0.16415 +[42] validation_0-rmse:0.19789 validation_1-rmse:0.16270 +[43] validation_0-rmse:0.19680 validation_1-rmse:0.16130 +[44] validation_0-rmse:0.19564 validation_1-rmse:0.15993 +[45] validation_0-rmse:0.19480 validation_1-rmse:0.15854 +[46] validation_0-rmse:0.19376 validation_1-rmse:0.15728 +[47] validation_0-rmse:0.19290 validation_1-rmse:0.15568 +[48] validation_0-rmse:0.19223 validation_1-rmse:0.15445 +[49] validation_0-rmse:0.19129 validation_1-rmse:0.15330 +[50] validation_0-rmse:0.19035 validation_1-rmse:0.15194 +[51] validation_0-rmse:0.18948 validation_1-rmse:0.15082 +[52] validation_0-rmse:0.18882 validation_1-rmse:0.14945 +[53] validation_0-rmse:0.18801 validation_1-rmse:0.14840 +[54] validation_0-rmse:0.18707 validation_1-rmse:0.14736 +[55] validation_0-rmse:0.18637 validation_1-rmse:0.14635 +[56] validation_0-rmse:0.18571 validation_1-rmse:0.14542 +[57] validation_0-rmse:0.18497 validation_1-rmse:0.14413 +[58] validation_0-rmse:0.18443 validation_1-rmse:0.14297 +[59] validation_0-rmse:0.18375 validation_1-rmse:0.14203 +[60] validation_0-rmse:0.18319 validation_1-rmse:0.14111 +[61] validation_0-rmse:0.18266 validation_1-rmse:0.14030 +[62] validation_0-rmse:0.18185 validation_1-rmse:0.13914 +[63] validation_0-rmse:0.18145 validation_1-rmse:0.13831 +[64] validation_0-rmse:0.18135 validation_1-rmse:0.13720 +[65] validation_0-rmse:0.18075 validation_1-rmse:0.13643 +[66] validation_0-rmse:0.18020 validation_1-rmse:0.13560 +[67] validation_0-rmse:0.17951 validation_1-rmse:0.13485 +[68] validation_0-rmse:0.17888 validation_1-rmse:0.13414 +[69] validation_0-rmse:0.17850 validation_1-rmse:0.13343 +[70] validation_0-rmse:0.17798 validation_1-rmse:0.13224 +[71] validation_0-rmse:0.17751 validation_1-rmse:0.13133 +[72] validation_0-rmse:0.17711 validation_1-rmse:0.13062 +[73] validation_0-rmse:0.17701 validation_1-rmse:0.12966 +[74] validation_0-rmse:0.17648 validation_1-rmse:0.12872 +[75] validation_0-rmse:0.17611 validation_1-rmse:0.12806 +[76] validation_0-rmse:0.17573 validation_1-rmse:0.12732 +[77] validation_0-rmse:0.17528 validation_1-rmse:0.12664 +[78] validation_0-rmse:0.17478 validation_1-rmse:0.12605 +[79] validation_0-rmse:0.17432 validation_1-rmse:0.12518 +[80] validation_0-rmse:0.17391 validation_1-rmse:0.12466 +[81] validation_0-rmse:0.17358 validation_1-rmse:0.12398 +[82] validation_0-rmse:0.17315 validation_1-rmse:0.12342 +[83] validation_0-rmse:0.17260 validation_1-rmse:0.12276 +[84] validation_0-rmse:0.17220 validation_1-rmse:0.12222 +[85] validation_0-rmse:0.17182 validation_1-rmse:0.12176 +[86] validation_0-rmse:0.17152 validation_1-rmse:0.12124 +[87] validation_0-rmse:0.17103 validation_1-rmse:0.12046 +[88] validation_0-rmse:0.17085 validation_1-rmse:0.11974 +[89] validation_0-rmse:0.17053 validation_1-rmse:0.11930 +[90] validation_0-rmse:0.17018 validation_1-rmse:0.11888 +[91] validation_0-rmse:0.17011 validation_1-rmse:0.11810 +[92] validation_0-rmse:0.16980 validation_1-rmse:0.11762 +[93] validation_0-rmse:0.16956 validation_1-rmse:0.11689 +[94] validation_0-rmse:0.16923 validation_1-rmse:0.11641 +[95] validation_0-rmse:0.16912 validation_1-rmse:0.11579 +[96] validation_0-rmse:0.16878 validation_1-rmse:0.11530 +[97] validation_0-rmse:0.16857 validation_1-rmse:0.11489 +[98] validation_0-rmse:0.16824 validation_1-rmse:0.11442 +[99] validation_0-rmse:0.16824 validation_1-rmse:0.11403 +2025-04-29 01:23:27,063 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training SOL/USDT (6.26 secs) -------------------- +2025-04-29 01:23:27,064 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:23:27,614 - freqtrade.freqai.freqai_interface - INFO - Training SOL/USDT, 2/2 pairs from 2024-12-12 00:00:00 to 2025-01-11 00:00:00, 2/11 trains +2025-04-29 01:23:27,614 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_sol_1736553600_prediction.feather +2025-04-29 01:23:27,618 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:23:27,624 - FreqaiExampleStrategy - INFO - 目标列形状:(19250,) +2025-04-29 01:23:27,625 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.68088 +1 0.003044 49.68088 +2 0.000465 49.68088 +3 -0.000380 49.68088 +4 0.002829 49.68088 +2025-04-29 01:23:27,630 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:23:27,636 - FreqaiExampleStrategy - INFO - 目标列形状:(24050,) +2025-04-29 01:23:27,638 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.97721 +1 0.003044 49.97721 +2 0.000465 49.97721 +3 -0.000380 49.97721 +4 0.002829 49.97721 +2025-04-29 01:23:27,643 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-SOL_1736553600/cb_sol_1736553600 +2025-04-29 01:23:27,644 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training SOL/USDT -------------------- +2025-04-29 01:23:27,670 - freqtrade.freqai.data_kitchen - INFO - SOL/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:23:27,671 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2024-12-12 to 2025-01-10 -------------------- +2025-04-29 01:23:32,840 - datasieve.pipeline - INFO - DI tossed 5 predictions for being too far from training data. +2025-04-29 01:23:32,844 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 111 features +2025-04-29 01:23:32,844 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.29597 validation_1-rmse:0.29016 +[1] validation_0-rmse:0.29075 validation_1-rmse:0.28391 +[2] validation_0-rmse:0.28602 validation_1-rmse:0.27798 +[3] validation_0-rmse:0.28062 validation_1-rmse:0.27213 +[4] validation_0-rmse:0.27647 validation_1-rmse:0.26682 +[5] validation_0-rmse:0.27188 validation_1-rmse:0.26144 +[6] validation_0-rmse:0.26781 validation_1-rmse:0.25655 +[7] validation_0-rmse:0.26412 validation_1-rmse:0.25180 +[8] validation_0-rmse:0.25994 validation_1-rmse:0.24709 +[9] validation_0-rmse:0.25649 validation_1-rmse:0.24277 +[10] validation_0-rmse:0.25332 validation_1-rmse:0.23850 +[11] validation_0-rmse:0.24999 validation_1-rmse:0.23452 +[12] validation_0-rmse:0.24687 validation_1-rmse:0.23072 +[13] validation_0-rmse:0.24432 validation_1-rmse:0.22694 +[14] validation_0-rmse:0.24128 validation_1-rmse:0.22341 +[15] validation_0-rmse:0.23869 validation_1-rmse:0.21969 +[16] validation_0-rmse:0.23628 validation_1-rmse:0.21635 +[17] validation_0-rmse:0.23354 validation_1-rmse:0.21326 +[18] validation_0-rmse:0.23123 validation_1-rmse:0.21007 +[19] validation_0-rmse:0.22919 validation_1-rmse:0.20707 +[20] validation_0-rmse:0.22705 validation_1-rmse:0.20418 +[21] validation_0-rmse:0.22505 validation_1-rmse:0.20149 +[22] validation_0-rmse:0.22285 validation_1-rmse:0.19887 +[23] validation_0-rmse:0.22084 validation_1-rmse:0.19631 +[24] validation_0-rmse:0.21877 validation_1-rmse:0.19389 +[25] validation_0-rmse:0.21748 validation_1-rmse:0.19133 +[26] validation_0-rmse:0.21557 validation_1-rmse:0.18870 +[27] validation_0-rmse:0.21374 validation_1-rmse:0.18648 +[28] validation_0-rmse:0.21183 validation_1-rmse:0.18432 +[29] validation_0-rmse:0.21047 validation_1-rmse:0.18209 +[30] validation_0-rmse:0.20873 validation_1-rmse:0.17990 +[31] validation_0-rmse:0.20717 validation_1-rmse:0.17795 +[32] validation_0-rmse:0.20564 validation_1-rmse:0.17599 +[33] validation_0-rmse:0.20428 validation_1-rmse:0.17421 +[34] validation_0-rmse:0.20290 validation_1-rmse:0.17229 +[35] validation_0-rmse:0.20161 validation_1-rmse:0.17047 +[36] validation_0-rmse:0.20018 validation_1-rmse:0.16878 +[37] validation_0-rmse:0.19923 validation_1-rmse:0.16688 +[38] validation_0-rmse:0.19796 validation_1-rmse:0.16534 +[39] validation_0-rmse:0.19668 validation_1-rmse:0.16355 +[40] validation_0-rmse:0.19543 validation_1-rmse:0.16204 +[41] validation_0-rmse:0.19441 validation_1-rmse:0.16062 +[42] validation_0-rmse:0.19344 validation_1-rmse:0.15910 +[43] validation_0-rmse:0.19256 validation_1-rmse:0.15759 +[44] validation_0-rmse:0.19154 validation_1-rmse:0.15625 +[45] validation_0-rmse:0.19048 validation_1-rmse:0.15494 +[46] validation_0-rmse:0.18937 validation_1-rmse:0.15366 +[47] validation_0-rmse:0.18865 validation_1-rmse:0.15236 +[48] validation_0-rmse:0.18784 validation_1-rmse:0.15112 +[49] validation_0-rmse:0.18704 validation_1-rmse:0.14998 +[50] validation_0-rmse:0.18625 validation_1-rmse:0.14874 +[51] validation_0-rmse:0.18541 validation_1-rmse:0.14763 +[52] validation_0-rmse:0.18456 validation_1-rmse:0.14659 +[53] validation_0-rmse:0.18383 validation_1-rmse:0.14530 +[54] validation_0-rmse:0.18315 validation_1-rmse:0.14420 +[55] validation_0-rmse:0.18234 validation_1-rmse:0.14321 +[56] validation_0-rmse:0.18181 validation_1-rmse:0.14206 +[57] validation_0-rmse:0.18109 validation_1-rmse:0.14106 +[58] validation_0-rmse:0.18033 validation_1-rmse:0.13996 +[59] validation_0-rmse:0.17964 validation_1-rmse:0.13905 +[60] validation_0-rmse:0.17921 validation_1-rmse:0.13820 +[61] validation_0-rmse:0.17865 validation_1-rmse:0.13731 +[62] validation_0-rmse:0.17795 validation_1-rmse:0.13648 +[63] validation_0-rmse:0.17737 validation_1-rmse:0.13559 +[64] validation_0-rmse:0.17680 validation_1-rmse:0.13483 +[65] validation_0-rmse:0.17628 validation_1-rmse:0.13408 +[66] validation_0-rmse:0.17588 validation_1-rmse:0.13303 +[67] validation_0-rmse:0.17530 validation_1-rmse:0.13228 +[68] validation_0-rmse:0.17478 validation_1-rmse:0.13153 +[69] validation_0-rmse:0.17439 validation_1-rmse:0.13081 +[70] validation_0-rmse:0.17401 validation_1-rmse:0.12991 +[71] validation_0-rmse:0.17347 validation_1-rmse:0.12911 +[72] validation_0-rmse:0.17304 validation_1-rmse:0.12838 +[73] validation_0-rmse:0.17254 validation_1-rmse:0.12774 +[74] validation_0-rmse:0.17207 validation_1-rmse:0.12656 +[75] validation_0-rmse:0.17185 validation_1-rmse:0.12571 +[76] validation_0-rmse:0.17126 validation_1-rmse:0.12512 +[77] validation_0-rmse:0.17096 validation_1-rmse:0.12447 +[78] validation_0-rmse:0.17064 validation_1-rmse:0.12381 +[79] validation_0-rmse:0.17024 validation_1-rmse:0.12300 +[80] validation_0-rmse:0.16989 validation_1-rmse:0.12244 +[81] validation_0-rmse:0.16955 validation_1-rmse:0.12180 +[82] validation_0-rmse:0.16924 validation_1-rmse:0.12129 +[83] validation_0-rmse:0.16931 validation_1-rmse:0.12037 +[84] validation_0-rmse:0.16888 validation_1-rmse:0.11970 +[85] validation_0-rmse:0.16845 validation_1-rmse:0.11914 +[86] validation_0-rmse:0.16809 validation_1-rmse:0.11840 +[87] validation_0-rmse:0.16766 validation_1-rmse:0.11760 +[88] validation_0-rmse:0.16741 validation_1-rmse:0.11714 +[89] validation_0-rmse:0.16707 validation_1-rmse:0.11667 +[90] validation_0-rmse:0.16683 validation_1-rmse:0.11592 +[91] validation_0-rmse:0.16643 validation_1-rmse:0.11537 +[92] validation_0-rmse:0.16621 validation_1-rmse:0.11455 +[93] validation_0-rmse:0.16611 validation_1-rmse:0.11396 +[94] validation_0-rmse:0.16587 validation_1-rmse:0.11350 +[95] validation_0-rmse:0.16563 validation_1-rmse:0.11308 +[96] validation_0-rmse:0.16535 validation_1-rmse:0.11237 +[97] validation_0-rmse:0.16487 validation_1-rmse:0.11173 +[98] validation_0-rmse:0.16461 validation_1-rmse:0.11133 +[99] validation_0-rmse:0.16437 validation_1-rmse:0.11096 +2025-04-29 01:23:33,864 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training SOL/USDT (6.22 secs) -------------------- +2025-04-29 01:23:33,865 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:23:34,396 - freqtrade.freqai.freqai_interface - INFO - Training SOL/USDT, 2/2 pairs from 2024-12-22 00:00:00 to 2025-01-21 00:00:00, 3/11 trains +2025-04-29 01:23:34,397 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_sol_1737417600_prediction.feather +2025-04-29 01:23:34,401 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:23:34,407 - FreqaiExampleStrategy - INFO - 目标列形状:(24050,) +2025-04-29 01:23:34,409 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.97721 +1 0.003044 49.97721 +2 0.000465 49.97721 +3 -0.000380 49.97721 +4 0.002829 49.97721 +2025-04-29 01:23:34,416 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:23:34,422 - FreqaiExampleStrategy - INFO - 目标列形状:(28850,) +2025-04-29 01:23:34,424 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.941408 +1 0.003044 49.941408 +2 0.000465 49.941408 +3 -0.000380 49.941408 +4 0.002829 49.941408 +2025-04-29 01:23:34,429 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-SOL_1737417600/cb_sol_1737417600 +2025-04-29 01:23:34,430 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training SOL/USDT -------------------- +2025-04-29 01:23:34,454 - freqtrade.freqai.data_kitchen - INFO - SOL/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:23:34,454 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2024-12-22 to 2025-01-20 -------------------- +2025-04-29 01:23:39,621 - datasieve.pipeline - INFO - DI tossed 1523 predictions for being too far from training data. +2025-04-29 01:23:39,624 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 111 features +2025-04-29 01:23:39,624 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.30838 validation_1-rmse:0.28356 +[1] validation_0-rmse:0.30280 validation_1-rmse:0.27752 +[2] validation_0-rmse:0.29759 validation_1-rmse:0.27179 +[3] validation_0-rmse:0.29330 validation_1-rmse:0.26614 +[4] validation_0-rmse:0.28936 validation_1-rmse:0.26091 +[5] validation_0-rmse:0.28544 validation_1-rmse:0.25581 +[6] validation_0-rmse:0.28151 validation_1-rmse:0.25102 +[7] validation_0-rmse:0.27790 validation_1-rmse:0.24636 +[8] validation_0-rmse:0.27429 validation_1-rmse:0.24196 +[9] validation_0-rmse:0.27104 validation_1-rmse:0.23770 +[10] validation_0-rmse:0.26762 validation_1-rmse:0.23356 +[11] validation_0-rmse:0.26472 validation_1-rmse:0.22966 +[12] validation_0-rmse:0.26219 validation_1-rmse:0.22601 +[13] validation_0-rmse:0.25924 validation_1-rmse:0.22234 +[14] validation_0-rmse:0.25634 validation_1-rmse:0.21888 +[15] validation_0-rmse:0.25379 validation_1-rmse:0.21545 +[16] validation_0-rmse:0.25117 validation_1-rmse:0.21221 +[17] validation_0-rmse:0.24877 validation_1-rmse:0.20902 +[18] validation_0-rmse:0.24653 validation_1-rmse:0.20604 +[19] validation_0-rmse:0.24404 validation_1-rmse:0.20315 +[20] validation_0-rmse:0.24194 validation_1-rmse:0.20032 +[21] validation_0-rmse:0.23966 validation_1-rmse:0.19765 +[22] validation_0-rmse:0.23804 validation_1-rmse:0.19481 +[23] validation_0-rmse:0.23599 validation_1-rmse:0.19230 +[24] validation_0-rmse:0.23384 validation_1-rmse:0.18993 +[25] validation_0-rmse:0.23196 validation_1-rmse:0.18756 +[26] validation_0-rmse:0.23057 validation_1-rmse:0.18506 +[27] validation_0-rmse:0.22854 validation_1-rmse:0.18283 +[28] validation_0-rmse:0.22705 validation_1-rmse:0.18071 +[29] validation_0-rmse:0.22557 validation_1-rmse:0.17851 +[30] validation_0-rmse:0.22394 validation_1-rmse:0.17644 +[31] validation_0-rmse:0.22213 validation_1-rmse:0.17452 +[32] validation_0-rmse:0.22064 validation_1-rmse:0.17267 +[33] validation_0-rmse:0.21905 validation_1-rmse:0.17084 +[34] validation_0-rmse:0.21806 validation_1-rmse:0.16880 +[35] validation_0-rmse:0.21693 validation_1-rmse:0.16700 +[36] validation_0-rmse:0.21537 validation_1-rmse:0.16520 +[37] validation_0-rmse:0.21417 validation_1-rmse:0.16362 +[38] validation_0-rmse:0.21282 validation_1-rmse:0.16204 +[39] validation_0-rmse:0.21137 validation_1-rmse:0.16047 +[40] validation_0-rmse:0.20994 validation_1-rmse:0.15897 +[41] validation_0-rmse:0.20878 validation_1-rmse:0.15747 +[42] validation_0-rmse:0.20766 validation_1-rmse:0.15604 +[43] validation_0-rmse:0.20666 validation_1-rmse:0.15444 +[44] validation_0-rmse:0.20566 validation_1-rmse:0.15316 +[45] validation_0-rmse:0.20496 validation_1-rmse:0.15162 +[46] validation_0-rmse:0.20394 validation_1-rmse:0.15038 +[47] validation_0-rmse:0.20277 validation_1-rmse:0.14909 +[48] validation_0-rmse:0.20176 validation_1-rmse:0.14793 +[49] validation_0-rmse:0.20072 validation_1-rmse:0.14681 +[50] validation_0-rmse:0.20058 validation_1-rmse:0.14528 +[51] validation_0-rmse:0.19970 validation_1-rmse:0.14419 +[52] validation_0-rmse:0.19887 validation_1-rmse:0.14284 +[53] validation_0-rmse:0.19809 validation_1-rmse:0.14182 +[54] validation_0-rmse:0.19725 validation_1-rmse:0.14076 +[55] validation_0-rmse:0.19636 validation_1-rmse:0.13981 +[56] validation_0-rmse:0.19615 validation_1-rmse:0.13853 +[57] validation_0-rmse:0.19540 validation_1-rmse:0.13757 +[58] validation_0-rmse:0.19460 validation_1-rmse:0.13664 +[59] validation_0-rmse:0.19418 validation_1-rmse:0.13553 +[60] validation_0-rmse:0.19382 validation_1-rmse:0.13445 +[61] validation_0-rmse:0.19302 validation_1-rmse:0.13363 +[62] validation_0-rmse:0.19218 validation_1-rmse:0.13270 +[63] validation_0-rmse:0.19154 validation_1-rmse:0.13183 +[64] validation_0-rmse:0.19083 validation_1-rmse:0.13105 +[65] validation_0-rmse:0.19005 validation_1-rmse:0.13008 +[66] validation_0-rmse:0.18929 validation_1-rmse:0.12932 +[67] validation_0-rmse:0.18885 validation_1-rmse:0.12851 +[68] validation_0-rmse:0.18837 validation_1-rmse:0.12781 +[69] validation_0-rmse:0.18790 validation_1-rmse:0.12711 +[70] validation_0-rmse:0.18732 validation_1-rmse:0.12617 +[71] validation_0-rmse:0.18682 validation_1-rmse:0.12552 +[72] validation_0-rmse:0.18669 validation_1-rmse:0.12448 +[73] validation_0-rmse:0.18617 validation_1-rmse:0.12382 +[74] validation_0-rmse:0.18587 validation_1-rmse:0.12322 +[75] validation_0-rmse:0.18544 validation_1-rmse:0.12261 +[76] validation_0-rmse:0.18524 validation_1-rmse:0.12162 +[77] validation_0-rmse:0.18486 validation_1-rmse:0.12098 +[78] validation_0-rmse:0.18443 validation_1-rmse:0.12021 +[79] validation_0-rmse:0.18415 validation_1-rmse:0.11963 +[80] validation_0-rmse:0.18393 validation_1-rmse:0.11866 +[81] validation_0-rmse:0.18344 validation_1-rmse:0.11809 +[82] validation_0-rmse:0.18307 validation_1-rmse:0.11748 +[83] validation_0-rmse:0.18257 validation_1-rmse:0.11699 +[84] validation_0-rmse:0.18216 validation_1-rmse:0.11643 +[85] validation_0-rmse:0.18188 validation_1-rmse:0.11595 +[86] validation_0-rmse:0.18168 validation_1-rmse:0.11502 +[87] validation_0-rmse:0.18148 validation_1-rmse:0.11451 +[88] validation_0-rmse:0.18093 validation_1-rmse:0.11378 +[89] validation_0-rmse:0.18054 validation_1-rmse:0.11332 +[90] validation_0-rmse:0.18024 validation_1-rmse:0.11285 +[91] validation_0-rmse:0.17982 validation_1-rmse:0.11241 +[92] validation_0-rmse:0.17950 validation_1-rmse:0.11185 +[93] validation_0-rmse:0.17918 validation_1-rmse:0.11123 +[94] validation_0-rmse:0.17882 validation_1-rmse:0.11072 +[95] validation_0-rmse:0.17881 validation_1-rmse:0.10986 +[96] validation_0-rmse:0.17832 validation_1-rmse:0.10941 +[97] validation_0-rmse:0.17800 validation_1-rmse:0.10897 +[98] validation_0-rmse:0.17774 validation_1-rmse:0.10859 +[99] validation_0-rmse:0.17746 validation_1-rmse:0.10819 +2025-04-29 01:23:40,890 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training SOL/USDT (6.46 secs) -------------------- +2025-04-29 01:23:40,891 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:23:41,442 - freqtrade.freqai.freqai_interface - INFO - Training SOL/USDT, 2/2 pairs from 2025-01-01 00:00:00 to 2025-01-31 00:00:00, 4/11 trains +2025-04-29 01:23:41,442 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_sol_1738281600_prediction.feather +2025-04-29 01:23:41,447 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:23:41,453 - FreqaiExampleStrategy - INFO - 目标列形状:(28850,) +2025-04-29 01:23:41,454 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.941408 +1 0.003044 49.941408 +2 0.000465 49.941408 +3 -0.000380 49.941408 +4 0.002829 49.941408 +2025-04-29 01:23:41,460 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:23:41,466 - FreqaiExampleStrategy - INFO - 目标列形状:(33650,) +2025-04-29 01:23:41,468 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.830756 +1 0.003044 49.830756 +2 0.000465 49.830756 +3 -0.000380 49.830756 +4 0.002829 49.830756 +2025-04-29 01:23:41,473 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-SOL_1738281600/cb_sol_1738281600 +2025-04-29 01:23:41,474 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training SOL/USDT -------------------- +2025-04-29 01:23:41,497 - freqtrade.freqai.data_kitchen - INFO - SOL/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:23:41,497 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-01-01 to 2025-01-30 -------------------- +2025-04-29 01:23:46,635 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 111 features +2025-04-29 01:23:46,635 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.29494 validation_1-rmse:0.28739 +[1] validation_0-rmse:0.28930 validation_1-rmse:0.28164 +[2] validation_0-rmse:0.28437 validation_1-rmse:0.27613 +[3] validation_0-rmse:0.27990 validation_1-rmse:0.27106 +[4] validation_0-rmse:0.27541 validation_1-rmse:0.26617 +[5] validation_0-rmse:0.27070 validation_1-rmse:0.26147 +[6] validation_0-rmse:0.26683 validation_1-rmse:0.25687 +[7] validation_0-rmse:0.26280 validation_1-rmse:0.25263 +[8] validation_0-rmse:0.25916 validation_1-rmse:0.24830 +[9] validation_0-rmse:0.25540 validation_1-rmse:0.24420 +[10] validation_0-rmse:0.25186 validation_1-rmse:0.24022 +[11] validation_0-rmse:0.24829 validation_1-rmse:0.23647 +[12] validation_0-rmse:0.24504 validation_1-rmse:0.23286 +[13] validation_0-rmse:0.24183 validation_1-rmse:0.22943 +[14] validation_0-rmse:0.23870 validation_1-rmse:0.22619 +[15] validation_0-rmse:0.23587 validation_1-rmse:0.22274 +[16] validation_0-rmse:0.23325 validation_1-rmse:0.21951 +[17] validation_0-rmse:0.23045 validation_1-rmse:0.21650 +[18] validation_0-rmse:0.22792 validation_1-rmse:0.21367 +[19] validation_0-rmse:0.22524 validation_1-rmse:0.21092 +[20] validation_0-rmse:0.22293 validation_1-rmse:0.20804 +[21] validation_0-rmse:0.22055 validation_1-rmse:0.20549 +[22] validation_0-rmse:0.21831 validation_1-rmse:0.20307 +[23] validation_0-rmse:0.21601 validation_1-rmse:0.20062 +[24] validation_0-rmse:0.21372 validation_1-rmse:0.19810 +[25] validation_0-rmse:0.21154 validation_1-rmse:0.19580 +[26] validation_0-rmse:0.20966 validation_1-rmse:0.19369 +[27] validation_0-rmse:0.20790 validation_1-rmse:0.19130 +[28] validation_0-rmse:0.20602 validation_1-rmse:0.18921 +[29] validation_0-rmse:0.20418 validation_1-rmse:0.18723 +[30] validation_0-rmse:0.20236 validation_1-rmse:0.18525 +[31] validation_0-rmse:0.20057 validation_1-rmse:0.18324 +[32] validation_0-rmse:0.19900 validation_1-rmse:0.18144 +[33] validation_0-rmse:0.19744 validation_1-rmse:0.17941 +[34] validation_0-rmse:0.19608 validation_1-rmse:0.17767 +[35] validation_0-rmse:0.19467 validation_1-rmse:0.17605 +[36] validation_0-rmse:0.19313 validation_1-rmse:0.17422 +[37] validation_0-rmse:0.19156 validation_1-rmse:0.17260 +[38] validation_0-rmse:0.19020 validation_1-rmse:0.17103 +[39] validation_0-rmse:0.18884 validation_1-rmse:0.16948 +[40] validation_0-rmse:0.18767 validation_1-rmse:0.16797 +[41] validation_0-rmse:0.18636 validation_1-rmse:0.16647 +[42] validation_0-rmse:0.18512 validation_1-rmse:0.16505 +[43] validation_0-rmse:0.18403 validation_1-rmse:0.16340 +[44] validation_0-rmse:0.18290 validation_1-rmse:0.16210 +[45] validation_0-rmse:0.18189 validation_1-rmse:0.16085 +[46] validation_0-rmse:0.18090 validation_1-rmse:0.15966 +[47] validation_0-rmse:0.17992 validation_1-rmse:0.15841 +[48] validation_0-rmse:0.17901 validation_1-rmse:0.15728 +[49] validation_0-rmse:0.17817 validation_1-rmse:0.15582 +[50] validation_0-rmse:0.17697 validation_1-rmse:0.15458 +[51] validation_0-rmse:0.17607 validation_1-rmse:0.15349 +[52] validation_0-rmse:0.17516 validation_1-rmse:0.15235 +[53] validation_0-rmse:0.17425 validation_1-rmse:0.15131 +[54] validation_0-rmse:0.17347 validation_1-rmse:0.15032 +[55] validation_0-rmse:0.17275 validation_1-rmse:0.14932 +[56] validation_0-rmse:0.17211 validation_1-rmse:0.14834 +[57] validation_0-rmse:0.17131 validation_1-rmse:0.14741 +[58] validation_0-rmse:0.17072 validation_1-rmse:0.14617 +[59] validation_0-rmse:0.16999 validation_1-rmse:0.14528 +[60] validation_0-rmse:0.16934 validation_1-rmse:0.14416 +[61] validation_0-rmse:0.16887 validation_1-rmse:0.14321 +[62] validation_0-rmse:0.16842 validation_1-rmse:0.14213 +[63] validation_0-rmse:0.16765 validation_1-rmse:0.14130 +[64] validation_0-rmse:0.16691 validation_1-rmse:0.14048 +[65] validation_0-rmse:0.16629 validation_1-rmse:0.13956 +[66] validation_0-rmse:0.16565 validation_1-rmse:0.13882 +[67] validation_0-rmse:0.16530 validation_1-rmse:0.13793 +[68] validation_0-rmse:0.16467 validation_1-rmse:0.13710 +[69] validation_0-rmse:0.16436 validation_1-rmse:0.13621 +[70] validation_0-rmse:0.16377 validation_1-rmse:0.13542 +[71] validation_0-rmse:0.16334 validation_1-rmse:0.13463 +[72] validation_0-rmse:0.16280 validation_1-rmse:0.13394 +[73] validation_0-rmse:0.16230 validation_1-rmse:0.13328 +[74] validation_0-rmse:0.16156 validation_1-rmse:0.13246 +[75] validation_0-rmse:0.16122 validation_1-rmse:0.13151 +[76] validation_0-rmse:0.16080 validation_1-rmse:0.13080 +[77] validation_0-rmse:0.16033 validation_1-rmse:0.13015 +[78] validation_0-rmse:0.15992 validation_1-rmse:0.12951 +[79] validation_0-rmse:0.15950 validation_1-rmse:0.12888 +[80] validation_0-rmse:0.15909 validation_1-rmse:0.12822 +[81] validation_0-rmse:0.15875 validation_1-rmse:0.12744 +[82] validation_0-rmse:0.15831 validation_1-rmse:0.12683 +[83] validation_0-rmse:0.15786 validation_1-rmse:0.12626 +[84] validation_0-rmse:0.15747 validation_1-rmse:0.12572 +[85] validation_0-rmse:0.15724 validation_1-rmse:0.12495 +[86] validation_0-rmse:0.15695 validation_1-rmse:0.12442 +[87] validation_0-rmse:0.15664 validation_1-rmse:0.12382 +[88] validation_0-rmse:0.15651 validation_1-rmse:0.12326 +[89] validation_0-rmse:0.15629 validation_1-rmse:0.12256 +[90] validation_0-rmse:0.15596 validation_1-rmse:0.12196 +[91] validation_0-rmse:0.15559 validation_1-rmse:0.12141 +[92] validation_0-rmse:0.15511 validation_1-rmse:0.12088 +[93] validation_0-rmse:0.15487 validation_1-rmse:0.12033 +[94] validation_0-rmse:0.15472 validation_1-rmse:0.11975 +[95] validation_0-rmse:0.15438 validation_1-rmse:0.11924 +[96] validation_0-rmse:0.15408 validation_1-rmse:0.11882 +[97] validation_0-rmse:0.15382 validation_1-rmse:0.11819 +[98] validation_0-rmse:0.15350 validation_1-rmse:0.11777 +[99] validation_0-rmse:0.15331 validation_1-rmse:0.11727 +2025-04-29 01:23:47,608 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training SOL/USDT (6.13 secs) -------------------- +2025-04-29 01:23:47,608 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:23:48,148 - freqtrade.freqai.freqai_interface - INFO - Training SOL/USDT, 2/2 pairs from 2025-01-11 00:00:00 to 2025-02-10 00:00:00, 5/11 trains +2025-04-29 01:23:48,148 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_sol_1739145600_prediction.feather +2025-04-29 01:23:48,156 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:23:48,162 - FreqaiExampleStrategy - INFO - 目标列形状:(33650,) +2025-04-29 01:23:48,163 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.830756 +1 0.003044 49.830756 +2 0.000465 49.830756 +3 -0.000380 49.830756 +4 0.002829 49.830756 +2025-04-29 01:23:48,169 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:23:48,175 - FreqaiExampleStrategy - INFO - 目标列形状:(38450,) +2025-04-29 01:23:48,177 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.714422 +1 0.003044 49.714422 +2 0.000465 49.714422 +3 -0.000380 49.714422 +4 0.002829 49.714422 +2025-04-29 01:23:48,182 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-SOL_1739145600/cb_sol_1739145600 +2025-04-29 01:23:48,183 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training SOL/USDT -------------------- +2025-04-29 01:23:48,205 - freqtrade.freqai.data_kitchen - INFO - SOL/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:23:48,206 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-01-11 to 2025-02-09 -------------------- +2025-04-29 01:23:53,217 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 111 features +2025-04-29 01:23:53,218 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.29889 validation_1-rmse:0.30153 +[1] validation_0-rmse:0.29317 validation_1-rmse:0.29483 +[2] validation_0-rmse:0.28819 validation_1-rmse:0.28860 +[3] validation_0-rmse:0.28336 validation_1-rmse:0.28273 +[4] validation_0-rmse:0.27885 validation_1-rmse:0.27694 +[5] validation_0-rmse:0.27448 validation_1-rmse:0.27155 +[6] validation_0-rmse:0.27020 validation_1-rmse:0.26634 +[7] validation_0-rmse:0.26629 validation_1-rmse:0.26134 +[8] validation_0-rmse:0.26241 validation_1-rmse:0.25653 +[9] validation_0-rmse:0.25876 validation_1-rmse:0.25192 +[10] validation_0-rmse:0.25559 validation_1-rmse:0.24747 +[11] validation_0-rmse:0.25223 validation_1-rmse:0.24337 +[12] validation_0-rmse:0.24904 validation_1-rmse:0.23934 +[13] validation_0-rmse:0.24639 validation_1-rmse:0.23548 +[14] validation_0-rmse:0.24353 validation_1-rmse:0.23187 +[15] validation_0-rmse:0.24076 validation_1-rmse:0.22837 +[16] validation_0-rmse:0.23849 validation_1-rmse:0.22484 +[17] validation_0-rmse:0.23581 validation_1-rmse:0.22147 +[18] validation_0-rmse:0.23342 validation_1-rmse:0.21814 +[19] validation_0-rmse:0.23133 validation_1-rmse:0.21509 +[20] validation_0-rmse:0.22937 validation_1-rmse:0.21187 +[21] validation_0-rmse:0.22713 validation_1-rmse:0.20902 +[22] validation_0-rmse:0.22509 validation_1-rmse:0.20631 +[23] validation_0-rmse:0.22312 validation_1-rmse:0.20373 +[24] validation_0-rmse:0.22123 validation_1-rmse:0.20076 +[25] validation_0-rmse:0.21951 validation_1-rmse:0.19837 +[26] validation_0-rmse:0.21751 validation_1-rmse:0.19562 +[27] validation_0-rmse:0.21589 validation_1-rmse:0.19309 +[28] validation_0-rmse:0.21422 validation_1-rmse:0.19091 +[29] validation_0-rmse:0.21272 validation_1-rmse:0.18879 +[30] validation_0-rmse:0.21119 validation_1-rmse:0.18660 +[31] validation_0-rmse:0.20982 validation_1-rmse:0.18468 +[32] validation_0-rmse:0.20829 validation_1-rmse:0.18239 +[33] validation_0-rmse:0.20681 validation_1-rmse:0.18048 +[34] validation_0-rmse:0.20548 validation_1-rmse:0.17869 +[35] validation_0-rmse:0.20431 validation_1-rmse:0.17665 +[36] validation_0-rmse:0.20297 validation_1-rmse:0.17483 +[37] validation_0-rmse:0.20174 validation_1-rmse:0.17311 +[38] validation_0-rmse:0.20060 validation_1-rmse:0.17153 +[39] validation_0-rmse:0.19951 validation_1-rmse:0.16958 +[40] validation_0-rmse:0.19848 validation_1-rmse:0.16805 +[41] validation_0-rmse:0.19745 validation_1-rmse:0.16652 +[42] validation_0-rmse:0.19647 validation_1-rmse:0.16509 +[43] validation_0-rmse:0.19570 validation_1-rmse:0.16325 +[44] validation_0-rmse:0.19473 validation_1-rmse:0.16187 +[45] validation_0-rmse:0.19397 validation_1-rmse:0.16012 +[46] validation_0-rmse:0.19314 validation_1-rmse:0.15887 +[47] validation_0-rmse:0.19196 validation_1-rmse:0.15723 +[48] validation_0-rmse:0.19096 validation_1-rmse:0.15595 +[49] validation_0-rmse:0.19009 validation_1-rmse:0.15468 +[50] validation_0-rmse:0.18931 validation_1-rmse:0.15355 +[51] validation_0-rmse:0.18864 validation_1-rmse:0.15207 +[52] validation_0-rmse:0.18786 validation_1-rmse:0.15101 +[53] validation_0-rmse:0.18690 validation_1-rmse:0.14960 +[54] validation_0-rmse:0.18614 validation_1-rmse:0.14859 +[55] validation_0-rmse:0.18550 validation_1-rmse:0.14756 +[56] validation_0-rmse:0.18475 validation_1-rmse:0.14647 +[57] validation_0-rmse:0.18405 validation_1-rmse:0.14545 +[58] validation_0-rmse:0.18346 validation_1-rmse:0.14415 +[59] validation_0-rmse:0.18277 validation_1-rmse:0.14321 +[60] validation_0-rmse:0.18219 validation_1-rmse:0.14221 +[61] validation_0-rmse:0.18158 validation_1-rmse:0.14129 +[62] validation_0-rmse:0.18100 validation_1-rmse:0.14043 +[63] validation_0-rmse:0.18059 validation_1-rmse:0.13920 +[64] validation_0-rmse:0.17997 validation_1-rmse:0.13842 +[65] validation_0-rmse:0.17941 validation_1-rmse:0.13754 +[66] validation_0-rmse:0.17881 validation_1-rmse:0.13652 +[67] validation_0-rmse:0.17823 validation_1-rmse:0.13576 +[68] validation_0-rmse:0.17784 validation_1-rmse:0.13468 +[69] validation_0-rmse:0.17735 validation_1-rmse:0.13396 +[70] validation_0-rmse:0.17687 validation_1-rmse:0.13311 +[71] validation_0-rmse:0.17628 validation_1-rmse:0.13225 +[72] validation_0-rmse:0.17599 validation_1-rmse:0.13154 +[73] validation_0-rmse:0.17542 validation_1-rmse:0.13080 +[74] validation_0-rmse:0.17497 validation_1-rmse:0.13013 +[75] validation_0-rmse:0.17456 validation_1-rmse:0.12954 +[76] validation_0-rmse:0.17416 validation_1-rmse:0.12864 +[77] validation_0-rmse:0.17369 validation_1-rmse:0.12802 +[78] validation_0-rmse:0.17345 validation_1-rmse:0.12735 +[79] validation_0-rmse:0.17302 validation_1-rmse:0.12672 +[80] validation_0-rmse:0.17254 validation_1-rmse:0.12609 +[81] validation_0-rmse:0.17248 validation_1-rmse:0.12527 +[82] validation_0-rmse:0.17210 validation_1-rmse:0.12470 +[83] validation_0-rmse:0.17196 validation_1-rmse:0.12398 +[84] validation_0-rmse:0.17189 validation_1-rmse:0.12334 +[85] validation_0-rmse:0.17155 validation_1-rmse:0.12280 +[86] validation_0-rmse:0.17124 validation_1-rmse:0.12230 +[87] validation_0-rmse:0.17103 validation_1-rmse:0.12178 +[88] validation_0-rmse:0.17086 validation_1-rmse:0.12118 +[89] validation_0-rmse:0.17064 validation_1-rmse:0.12049 +[90] validation_0-rmse:0.17029 validation_1-rmse:0.11993 +[91] validation_0-rmse:0.16981 validation_1-rmse:0.11942 +[92] validation_0-rmse:0.16950 validation_1-rmse:0.11894 +[93] validation_0-rmse:0.16937 validation_1-rmse:0.11833 +[94] validation_0-rmse:0.16928 validation_1-rmse:0.11786 +[95] validation_0-rmse:0.16899 validation_1-rmse:0.11735 +[96] validation_0-rmse:0.16869 validation_1-rmse:0.11693 +[97] validation_0-rmse:0.16843 validation_1-rmse:0.11650 +[98] validation_0-rmse:0.16829 validation_1-rmse:0.11591 +[99] validation_0-rmse:0.16802 validation_1-rmse:0.11547 +2025-04-29 01:23:54,194 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training SOL/USDT (6.01 secs) -------------------- +2025-04-29 01:23:54,194 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:23:54,764 - freqtrade.freqai.freqai_interface - INFO - Training SOL/USDT, 2/2 pairs from 2025-01-21 00:00:00 to 2025-02-20 00:00:00, 6/11 trains +2025-04-29 01:23:54,765 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_sol_1740009600_prediction.feather +2025-04-29 01:23:54,773 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:23:54,779 - FreqaiExampleStrategy - INFO - 目标列形状:(38450,) +2025-04-29 01:23:54,780 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.714422 +1 0.003044 49.714422 +2 0.000465 49.714422 +3 -0.000380 49.714422 +4 0.002829 49.714422 +2025-04-29 01:23:54,790 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:23:54,797 - FreqaiExampleStrategy - INFO - 目标列形状:(43250,) +2025-04-29 01:23:54,798 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.626186 +1 0.003044 49.626186 +2 0.000465 49.626186 +3 -0.000380 49.626186 +4 0.002829 49.626186 +2025-04-29 01:23:54,804 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-SOL_1740009600/cb_sol_1740009600 +2025-04-29 01:23:54,804 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training SOL/USDT -------------------- +2025-04-29 01:23:54,827 - freqtrade.freqai.data_kitchen - INFO - SOL/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:23:54,828 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-01-21 to 2025-02-19 -------------------- +2025-04-29 01:23:59,967 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 111 features +2025-04-29 01:23:59,968 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.29357 validation_1-rmse:0.28852 +[1] validation_0-rmse:0.28850 validation_1-rmse:0.28219 +[2] validation_0-rmse:0.28292 validation_1-rmse:0.27618 +[3] validation_0-rmse:0.27862 validation_1-rmse:0.27046 +[4] validation_0-rmse:0.27383 validation_1-rmse:0.26510 +[5] validation_0-rmse:0.27018 validation_1-rmse:0.25989 +[6] validation_0-rmse:0.26615 validation_1-rmse:0.25477 +[7] validation_0-rmse:0.26234 validation_1-rmse:0.25007 +[8] validation_0-rmse:0.25794 validation_1-rmse:0.24560 +[9] validation_0-rmse:0.25417 validation_1-rmse:0.24109 +[10] validation_0-rmse:0.25083 validation_1-rmse:0.23700 +[11] validation_0-rmse:0.24683 validation_1-rmse:0.23303 +[12] validation_0-rmse:0.24384 validation_1-rmse:0.22908 +[13] validation_0-rmse:0.24093 validation_1-rmse:0.22542 +[14] validation_0-rmse:0.23743 validation_1-rmse:0.22186 +[15] validation_0-rmse:0.23484 validation_1-rmse:0.21841 +[16] validation_0-rmse:0.23215 validation_1-rmse:0.21525 +[17] validation_0-rmse:0.22951 validation_1-rmse:0.21206 +[18] validation_0-rmse:0.22658 validation_1-rmse:0.20906 +[19] validation_0-rmse:0.22440 validation_1-rmse:0.20615 +[20] validation_0-rmse:0.22193 validation_1-rmse:0.20314 +[21] validation_0-rmse:0.22009 validation_1-rmse:0.20016 +[22] validation_0-rmse:0.21755 validation_1-rmse:0.19751 +[23] validation_0-rmse:0.21578 validation_1-rmse:0.19498 +[24] validation_0-rmse:0.21440 validation_1-rmse:0.19241 +[25] validation_0-rmse:0.21229 validation_1-rmse:0.19006 +[26] validation_0-rmse:0.21038 validation_1-rmse:0.18780 +[27] validation_0-rmse:0.20897 validation_1-rmse:0.18529 +[28] validation_0-rmse:0.20703 validation_1-rmse:0.18313 +[29] validation_0-rmse:0.20556 validation_1-rmse:0.18091 +[30] validation_0-rmse:0.20384 validation_1-rmse:0.17884 +[31] validation_0-rmse:0.20281 validation_1-rmse:0.17690 +[32] validation_0-rmse:0.20169 validation_1-rmse:0.17483 +[33] validation_0-rmse:0.20012 validation_1-rmse:0.17300 +[34] validation_0-rmse:0.19876 validation_1-rmse:0.17106 +[35] validation_0-rmse:0.19755 validation_1-rmse:0.16934 +[36] validation_0-rmse:0.19649 validation_1-rmse:0.16752 +[37] validation_0-rmse:0.19501 validation_1-rmse:0.16586 +[38] validation_0-rmse:0.19423 validation_1-rmse:0.16418 +[39] validation_0-rmse:0.19297 validation_1-rmse:0.16264 +[40] validation_0-rmse:0.19162 validation_1-rmse:0.16092 +[41] validation_0-rmse:0.19049 validation_1-rmse:0.15952 +[42] validation_0-rmse:0.18925 validation_1-rmse:0.15810 +[43] validation_0-rmse:0.18845 validation_1-rmse:0.15638 +[44] validation_0-rmse:0.18730 validation_1-rmse:0.15506 +[45] validation_0-rmse:0.18661 validation_1-rmse:0.15357 +[46] validation_0-rmse:0.18563 validation_1-rmse:0.15226 +[47] validation_0-rmse:0.18473 validation_1-rmse:0.15101 +[48] validation_0-rmse:0.18399 validation_1-rmse:0.14957 +[49] validation_0-rmse:0.18304 validation_1-rmse:0.14841 +[50] validation_0-rmse:0.18219 validation_1-rmse:0.14717 +[51] validation_0-rmse:0.18131 validation_1-rmse:0.14599 +[52] validation_0-rmse:0.18043 validation_1-rmse:0.14492 +[53] validation_0-rmse:0.17966 validation_1-rmse:0.14388 +[54] validation_0-rmse:0.17901 validation_1-rmse:0.14274 +[55] validation_0-rmse:0.17850 validation_1-rmse:0.14134 +[56] validation_0-rmse:0.17764 validation_1-rmse:0.14035 +[57] validation_0-rmse:0.17682 validation_1-rmse:0.13937 +[58] validation_0-rmse:0.17604 validation_1-rmse:0.13844 +[59] validation_0-rmse:0.17526 validation_1-rmse:0.13754 +[60] validation_0-rmse:0.17488 validation_1-rmse:0.13621 +[61] validation_0-rmse:0.17432 validation_1-rmse:0.13530 +[62] validation_0-rmse:0.17345 validation_1-rmse:0.13439 +[63] validation_0-rmse:0.17284 validation_1-rmse:0.13358 +[64] validation_0-rmse:0.17213 validation_1-rmse:0.13278 +[65] validation_0-rmse:0.17164 validation_1-rmse:0.13175 +[66] validation_0-rmse:0.17098 validation_1-rmse:0.13088 +[67] validation_0-rmse:0.17049 validation_1-rmse:0.13002 +[68] validation_0-rmse:0.17000 validation_1-rmse:0.12918 +[69] validation_0-rmse:0.16969 validation_1-rmse:0.12815 +[70] validation_0-rmse:0.16917 validation_1-rmse:0.12746 +[71] validation_0-rmse:0.16857 validation_1-rmse:0.12678 +[72] validation_0-rmse:0.16830 validation_1-rmse:0.12595 +[73] validation_0-rmse:0.16793 validation_1-rmse:0.12522 +[74] validation_0-rmse:0.16752 validation_1-rmse:0.12457 +[75] validation_0-rmse:0.16704 validation_1-rmse:0.12395 +[76] validation_0-rmse:0.16668 validation_1-rmse:0.12316 +[77] validation_0-rmse:0.16621 validation_1-rmse:0.12251 +[78] validation_0-rmse:0.16591 validation_1-rmse:0.12185 +[79] validation_0-rmse:0.16550 validation_1-rmse:0.12115 +[80] validation_0-rmse:0.16506 validation_1-rmse:0.12055 +[81] validation_0-rmse:0.16467 validation_1-rmse:0.12001 +[82] validation_0-rmse:0.16422 validation_1-rmse:0.11944 +[83] validation_0-rmse:0.16379 validation_1-rmse:0.11892 +[84] validation_0-rmse:0.16344 validation_1-rmse:0.11825 +[85] validation_0-rmse:0.16317 validation_1-rmse:0.11766 +[86] validation_0-rmse:0.16289 validation_1-rmse:0.11712 +[87] validation_0-rmse:0.16271 validation_1-rmse:0.11639 +[88] validation_0-rmse:0.16236 validation_1-rmse:0.11591 +[89] validation_0-rmse:0.16210 validation_1-rmse:0.11515 +[90] validation_0-rmse:0.16170 validation_1-rmse:0.11457 +[91] validation_0-rmse:0.16149 validation_1-rmse:0.11411 +[92] validation_0-rmse:0.16132 validation_1-rmse:0.11360 +[93] validation_0-rmse:0.16108 validation_1-rmse:0.11292 +[94] validation_0-rmse:0.16077 validation_1-rmse:0.11247 +[95] validation_0-rmse:0.16040 validation_1-rmse:0.11205 +[96] validation_0-rmse:0.16017 validation_1-rmse:0.11157 +[97] validation_0-rmse:0.15988 validation_1-rmse:0.11117 +[98] validation_0-rmse:0.15964 validation_1-rmse:0.11074 +[99] validation_0-rmse:0.15958 validation_1-rmse:0.11029 +2025-04-29 01:24:01,761 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training SOL/USDT (6.96 secs) -------------------- +2025-04-29 01:24:01,762 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:24:02,314 - freqtrade.freqai.freqai_interface - INFO - Training SOL/USDT, 2/2 pairs from 2025-01-31 00:00:00 to 2025-03-02 00:00:00, 7/11 trains +2025-04-29 01:24:02,315 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_sol_1740873600_prediction.feather +2025-04-29 01:24:02,321 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:24:02,328 - FreqaiExampleStrategy - INFO - 目标列形状:(43250,) +2025-04-29 01:24:02,329 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.626186 +1 0.003044 49.626186 +2 0.000465 49.626186 +3 -0.000380 49.626186 +4 0.002829 49.626186 +2025-04-29 01:24:02,337 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:24:02,344 - FreqaiExampleStrategy - INFO - 目标列形状:(48050,) +2025-04-29 01:24:02,345 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.568812 +1 0.003044 49.568812 +2 0.000465 49.568812 +3 -0.000380 49.568812 +4 0.002829 49.568812 +2025-04-29 01:24:02,351 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-SOL_1740873600/cb_sol_1740873600 +2025-04-29 01:24:02,352 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training SOL/USDT -------------------- +2025-04-29 01:24:02,376 - freqtrade.freqai.data_kitchen - INFO - SOL/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:24:02,376 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-01-31 to 2025-03-01 -------------------- + + +^Z^C2025-04-29 01:24:05,324 - freqtrade - INFO - SIGINT received, aborting ... diff --git a/docker-compose.yml b/docker-compose.yml index 3dee57d1..1056856b 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -60,13 +60,14 @@ services: # --hyperopt-loss SharpeHyperOptLoss # --spaces roi stoploss # -e 200 + + #--config /freqtrade/templates/FreqaiExampleStrategy.json command: > backtesting --logfile /freqtrade/user_data/logs/freqtrade.log --freqaimodel XGBoostRegressor --config /freqtrade/config_examples/config_freqai.okx.json - --config /freqtrade/templates/FreqaiExampleStrategy.json --strategy-path /freqtrade/templates --strategy FreqaiExampleStrategy --timerange 20250401-20250420 diff --git a/e6402d0.diff b/e6402d0.diff new file mode 100644 index 00000000..06a60c49 --- /dev/null +++ b/e6402d0.diff @@ -0,0 +1,407 @@ +diff --git a/freqtrade/templates/FreqaiExampleStrategy.py b/freqtrade/templates/FreqaiExampleStrategy.py +index 00ff1d2..40a1adc 100644 +--- a/freqtrade/templates/FreqaiExampleStrategy.py ++++ b/freqtrade/templates/FreqaiExampleStrategy.py +@@ -9,44 +9,47 @@ from freqtrade.strategy import IStrategy, IntParameter, DecimalParameter + logger = logging.getLogger(__name__) + + class FreqaiExampleStrategy(IStrategy): +- # 移除硬编码的 minimal_roi 和 stoploss,改为动态适配 +- minimal_roi = {} # 将在 populate_indicators 中动态生成 +- stoploss = 0.0 # 将在 populate_indicators 中动态设置 ++ # 动态适配 minimal_roi 和 stoploss ++ minimal_roi = {} # populate_indicators 中动态设定 ++ stoploss = -0.15 # 默认固定止损 + trailing_stop = True ++ trailing_stop_positive = 0.05 ++ trailing_stop_positive_offset = 0.1 + process_only_new_candles = True + use_exit_signal = True + startup_candle_count: int = 40 + can_short = False + +- # 参数定义:FreqAI 动态适配 buy_rsi 和 sell_rsi,禁用 Hyperopt 优化 ++ # 可训练参数(用于 Hyperopt) + buy_rsi = IntParameter(low=10, high=50, default=27, space="buy", optimize=False, load=True) + sell_rsi = IntParameter(low=50, high=90, default=59, space="sell", optimize=False, load=True) + +- # 为 Hyperopt 优化添加 ROI 和 stoploss 参数 + roi_0 = DecimalParameter(low=0.01, high=0.2, default=0.038, space="roi", optimize=True, load=True) + roi_15 = DecimalParameter(low=0.005, high=0.1, default=0.027, space="roi", optimize=True, load=True) + roi_30 = DecimalParameter(low=0.001, high=0.05, default=0.009, space="roi", optimize=True, load=True) +- stoploss_param = DecimalParameter(low=-0.35, high=-0.1, default=-0.182, space="stoploss", optimize=True, load=True) ++ stoploss_param = DecimalParameter( ++ low=-0.35, high=-0.1, default=-0.182, space="stoploss", optimize=True, load=True ++ ) + + # FreqAI 配置 + freqai_info = { +- "model": "CatboostClassifier", # 与config保持一致 ++ "model": "CatboostClassifier", + "feature_parameters": { +- "include_timeframes": ["3m", "15m", "1h"], # 与config一致 +- "include_corr_pairlist": ["BTC/USDT", "SOL/USDT"], # 添加相关交易对 +- "label_period_candles": 20, # 与config一致 +- "include_shifted_candles": 2, # 与config一致 ++ "include_timeframes": ["3m", "15m", "1h"], ++ "include_corr_pairlist": ["BTC/USDT", "SOL/USDT"], ++ "label_period_candles": 20, ++ "include_shifted_candles": 2, + }, + "data_split_parameters": { + "test_size": 0.2, +- "shuffle": True, # 启用shuffle ++ "shuffle": True, + }, + "model_training_parameters": { +- "n_estimators": 100, # 减少树的数量 +- "learning_rate": 0.1, # 提高学习率 +- "max_depth": 6, # 限制树深度 +- "subsample": 0.8, # 添加子采样 +- "colsample_bytree": 0.8, # 添加特征采样 ++ "n_estimators": 100, ++ "learning_rate": 0.1, ++ "max_depth": 6, ++ "subsample": 0.8, ++ "colsample_bytree": 0.8, + "objective": "reg:squarederror", + "eval_metric": "rmse", + "early_stopping_rounds": 20, +@@ -54,8 +57,8 @@ class FreqaiExampleStrategy(IStrategy): + }, + "data_kitchen": { + "feature_parameters": { +- "DI_threshold": 1.5, # 降低异常值过滤阈值 +- "use_DBSCAN_to_remove_outliers": False # 禁用DBSCAN ++ "DI_threshold": 1.5, ++ "use_DBSCAN_to_remove_outliers": False + } + } + } +@@ -72,265 +75,113 @@ class FreqaiExampleStrategy(IStrategy): + } + + def feature_engineering_expand_all(self, dataframe: DataFrame, period: int, metadata: dict, **kwargs) -> DataFrame: +- # 保留关键的技术指标 ++ # RSI 计算 + dataframe["rsi"] = ta.RSI(dataframe, timeperiod=14) + +- # 确保 MACD 列被正确计算并保留 ++ # MACD 计算并容错 + try: + macd = ta.MACD(dataframe, fastperiod=12, slowperiod=26, signalperiod=9) + dataframe["macd"] = macd["macd"] + dataframe["macdsignal"] = macd["macdsignal"] + except Exception as e: +- logger.error(f"计算 MACD 列时出错:{str(e)}") ++ logger.error(f"MACD 计算失败: {e}") + dataframe["macd"] = np.nan + dataframe["macdsignal"] = np.nan + +- # 检查 MACD 列是否存在 +- if "macd" not in dataframe.columns or "macdsignal" not in dataframe.columns: +- logger.error("MACD 或 MACD 信号列缺失,无法生成买入信号") +- raise ValueError("DataFrame 缺少必要的 MACD 列") +- +- # 确保 MACD 列存在 +- if "macd" not in dataframe.columns or "macdsignal" not in dataframe.columns: +- logger.error("MACD 或 MACD 信号列缺失,无法生成买入信号") +- raise ValueError("DataFrame 缺少必要的 MACD 列") +- +- # 保留布林带相关特征 ++ # 布林带 + bollinger = qtpylib.bollinger_bands(qtpylib.typical_price(dataframe), window=20, stds=2) + dataframe["bb_lowerband"] = bollinger["lower"] + dataframe["bb_middleband"] = bollinger["mid"] + dataframe["bb_upperband"] = bollinger["upper"] + +- # 保留成交量相关特征 ++ # 成交量均线 + dataframe["volume_ma"] = dataframe["volume"].rolling(window=20).mean() + +- # 数据清理 ++ # 清理无穷大值 + for col in dataframe.columns: + if dataframe[col].dtype in ["float64", "int64"]: + dataframe[col] = dataframe[col].replace([np.inf, -np.inf], np.nan) +- dataframe[col] = dataframe[col].ffill().fillna(0) +- +- logger.info(f"特征工程完成,特征数量:{len(dataframe.columns)}") ++ dataframe[col] = dataframe[col].fillna(0) ++ + return dataframe + + def feature_engineering_expand_basic(self, dataframe: DataFrame, metadata: dict, **kwargs) -> DataFrame: + dataframe["%-pct-change"] = dataframe["close"].pct_change() + dataframe["%-raw_volume"] = dataframe["volume"] + dataframe["%-raw_price"] = dataframe["close"] +-# 数据清理逻辑 ++ ++ # 数据清理 + for col in dataframe.columns: + if dataframe[col].dtype in ["float64", "int64"]: + dataframe[col] = dataframe[col].replace([np.inf, -np.inf], 0) +- dataframe[col] = dataframe[col].ffill() +- dataframe[col] = dataframe[col].fillna(0) +- +- # 检查是否仍有无效值 +- if dataframe[col].isna().any() or np.isinf(dataframe[col]).any(): +- logger.warning(f"列 {col} 仍包含无效值,已填充为默认值") +- dataframe[col] = dataframe[col].fillna(0) +- return dataframe +- +- def feature_engineering_standard(self, dataframe: DataFrame, metadata: dict, **kwargs) -> DataFrame: +- dataframe["%-day_of_week"] = dataframe["date"].dt.dayofweek +- dataframe["%-hour_of_day"] = dataframe["date"].dt.hour +- dataframe.replace([np.inf, -np.inf], 0, inplace=True) +- dataframe.ffill(inplace=True) +- dataframe.fillna(0, inplace=True) +- return dataframe +- +- def set_freqai_targets(self, dataframe: DataFrame, metadata: dict, **kwargs) -> DataFrame: +- logger.info(f"设置 FreqAI 目标,交易对:{metadata['pair']}") +- if "close" not in dataframe.columns: +- logger.error("数据框缺少必要的 'close' 列") +- raise ValueError("数据框缺少必要的 'close' 列") +- +- try: +- label_period = self.freqai_info["feature_parameters"]["label_period_candles"] +- +- # 定义目标变量为未来价格变化百分比(连续值) +- dataframe["up_or_down"] = ( +- dataframe["close"].shift(-label_period) - dataframe["close"] +- ) / dataframe["close"] +- +- # 数据清理:处理 NaN 和 Inf 值 +- dataframe["up_or_down"] = dataframe["up_or_down"].replace([np.inf, -np.inf], np.nan) +- dataframe["up_or_down"] = dataframe["up_or_down"].ffill().fillna(0) +- +- # 确保目标变量是二维数组 +- if dataframe["up_or_down"].ndim == 1: +- dataframe["up_or_down"] = dataframe["up_or_down"].values.reshape(-1, 1) +- +- # 检查并处理 NaN 或无限值 +- dataframe["up_or_down"] = dataframe["up_or_down"].replace([np.inf, -np.inf], np.nan) +- dataframe["up_or_down"] = dataframe["up_or_down"].ffill().fillna(0) +- +- # 生成 %-volatility 特征 +- dataframe["%-volatility"] = dataframe["close"].pct_change().rolling(20).std() +- +- # 确保 &-buy_rsi 列的值计算正确 +- dataframe["&-buy_rsi"] = ta.RSI(dataframe, timeperiod=14) +- +- # 数据清理 +- for col in ["&-buy_rsi", "up_or_down", "%-volatility"]: +- # 使用直接操作避免链式赋值 +- dataframe[col] = dataframe[col].replace([np.inf, -np.inf], np.nan) +- dataframe[col] = dataframe[col].ffill() # 替代 fillna(method='ffill') +- dataframe[col] = dataframe[col].fillna(dataframe[col].mean()) # 使用均值填充 NaN 值 +- if dataframe[col].isna().any(): +- logger.warning(f"目标列 {col} 仍包含 NaN,填充为默认值") +- +- except Exception as e: +- logger.error(f"创建 FreqAI 目标失败:{str(e)}") +- raise ++ dataframe[col] = dataframe[col].ffill().fillna(0) + +- # Log the shape of the target variable for debugging +- logger.info(f"目标列形状:{dataframe['up_or_down'].shape}") +- logger.info(f"目标列预览:\n{dataframe[['up_or_down', '&-buy_rsi']].head().to_string()}") + return dataframe + +- def populate_indicators(self, dataframe: DataFrame, metadata: dict) -> DataFrame: +- logger.info(f"处理交易对:{metadata['pair']}") +- dataframe = self.freqai.start(dataframe, metadata, self) +- +- # 计算传统指标 +- dataframe["rsi"] = ta.RSI(dataframe, timeperiod=14) +- bollinger = qtpylib.bollinger_bands(qtpylib.typical_price(dataframe), window=20, stds=2) +- dataframe["bb_lowerband"] = bollinger["lower"] +- dataframe["bb_middleband"] = bollinger["mid"] +- dataframe["bb_upperband"] = bollinger["upper"] +- dataframe["tema"] = ta.TEMA(dataframe, timeperiod=9) +- +- # 生成 up_or_down 信号(非 FreqAI 目标) +- label_period = self.freqai_info["feature_parameters"]["label_period_candles"] +- # 使用未来价格变化方向生成 up_or_down 信号 +- label_period = self.freqai_info["feature_parameters"]["label_period_candles"] +- dataframe["up_or_down"] = np.where( +- dataframe["close"].shift(-label_period) > dataframe["close"], 1, 0 +- ) +- +- # 动态设置参数 +- if "&-buy_rsi" in dataframe.columns: +- # 派生其他目标 +- dataframe["&-sell_rsi"] = dataframe["&-buy_rsi"] + 30 +- dataframe["%-volatility"] = dataframe["close"].pct_change().rolling(20).std() +- # Ensure proper calculation and handle potential NaN values +- dataframe["&-stoploss"] = (-0.1 - (dataframe["%-volatility"] * 10).clip(0, 0.25)).fillna(-0.1) +- dataframe["&-roi_0"] = ((dataframe["close"] / dataframe["close"].shift(label_period) - 1).clip(0, 0.2)).fillna(0) ++ def set_freqai_targets(self, df: DataFrame, metadata: dict) -> DataFrame: ++ """定义标签""" ++ df["&-up_or_down"] = np.where(df["close"].shift(-20) > df["close"], 1, 0) ++ return df + +- # Additional check to ensure no NaN values remain +- for col in ["&-stoploss", "&-roi_0"]: +- if dataframe[col].isna().any(): +- logger.warning(f"列 {col} 仍包含 NaN,填充为默认值") +- dataframe[col] = dataframe[col].fillna(-0.1 if col == "&-stoploss" else 0) +- +- # 简化动态参数生成逻辑 +- # 放松 buy_rsi 和 sell_rsi 的生成逻辑 +- # 计算 buy_rsi_pred 并清理 NaN 值 +- dataframe["buy_rsi_pred"] = dataframe["rsi"].rolling(window=10).mean().clip(30, 50) +- dataframe["buy_rsi_pred"] = dataframe["buy_rsi_pred"].fillna(dataframe["buy_rsi_pred"].median()) ++ def populate_indicators(self, df: DataFrame, metadata: dict) -> DataFrame: ++ # 特征工程调用 ++ df = self.feature_engineering_expand_all(df, period=14, metadata=metadata) ++ df = self.feature_engineering_expand_basic(df, metadata=metadata) ++ df = self.set_freqai_targets(df, metadata) ++ ++ # 动态参数预测 ++ df["buy_rsi_pred"] = df["rsi"].rolling(window=10).median().clip(20, 45) ++ df["sell_rsi_pred"] = df["buy_rsi_pred"] + 20 ++ df["stoploss_pred"] = -0.1 - (df["%-pct-change"].abs().rolling(20).std() * 10).clip(0.05, 0.25) ++ df["roi_0_pred"] = self.roi_0.value * 1.2 ++ # 添加 do_predict 列(示例:每5个周期中使用3个进行预测) ++ df['do_predict'] = 0 ++ df.loc[df.index % 5 <= 2, 'do_predict'] = 1 # 每5根K线中前3根设为1 ++ ++ df.fillna(0, inplace=True) ++ ++ # 更新策略参数 ++ self.buy_rsi.value = float(df["buy_rsi_pred"].iloc[-1]) ++ self.sell_rsi.value = float(df["sell_rsi_pred"].iloc[-1]) ++ self.stoploss = float(df["stoploss_pred"].iloc[-1]) ++ ++ self.minimal_roi = { ++ 0: float(self.roi_0.value), ++ 15: float(self.roi_15.value), ++ 30: float(self.roi_30.value), ++ 60: 0 ++ } + +- # 计算 sell_rsi_pred 并清理 NaN 值 +- dataframe["sell_rsi_pred"] = dataframe["buy_rsi_pred"] + 20 +- dataframe["sell_rsi_pred"] = dataframe["sell_rsi_pred"].fillna(dataframe["sell_rsi_pred"].median()) ++ return df + +- # 计算 stoploss_pred 并清理 NaN 值 +- dataframe["stoploss_pred"] = -0.1 - (dataframe["%-volatility"] * 10).clip(0, 0.25) +- dataframe["stoploss_pred"] = dataframe["stoploss_pred"].fillna(dataframe["stoploss_pred"].mean()) ++ def populate_entry_trend(self, df: DataFrame, metadata: dict) -> DataFrame: ++ conditions = [ ++ (df["rsi"] < df["buy_rsi_pred"]), ++ (df["volume"] > df["volume_ma"] * 1.2), ++ (df["close"] > df["bb_middleband"]), ++ (df["macd"] > df["macdsignal"]), ++ (df["do_predict"] == 1), ++ ] + +- # 计算 roi_0_pred 并清理 NaN 值 +- dataframe["roi_0_pred"] = dataframe["&-roi_0"].clip(0.01, 0.2) +- dataframe["roi_0_pred"] = dataframe["roi_0_pred"].fillna(dataframe["roi_0_pred"].mean()) +- +- # 检查预测值 +- for col in ["buy_rsi_pred", "sell_rsi_pred", "stoploss_pred", "roi_0_pred", "&-sell_rsi", "&-stoploss", "&-roi_0"]: +- if dataframe[col].isna().any(): +- logger.warning(f"列 {col} 包含 NaN,填充为默认值") +- dataframe[col] = dataframe[col].fillna(dataframe[col].mean()) +- +- # 更保守的止损和止盈设置 +- dataframe["trailing_stop_positive"] = (dataframe["roi_0_pred"] * 0.3).clip(0.01, 0.2) +- dataframe["trailing_stop_positive_offset"] = (dataframe["roi_0_pred"] * 0.5).clip(0.01, 0.3) +- +- # 设置策略级参数 +- self.buy_rsi.value = float(dataframe["buy_rsi_pred"].iloc[-1]) +- self.sell_rsi.value = float(dataframe["sell_rsi_pred"].iloc[-1]) +-# 更保守的止损设置 +- self.stoploss = -0.15 # 固定止损 15% +- self.minimal_roi = { +- 0: float(self.roi_0.value), +- 15: float(self.roi_15.value), +- 30: float(self.roi_30.value), +- 60: 0 +- } +-# 更保守的追踪止损设置 +- self.trailing_stop_positive = 0.05 # 追踪止损触发点 +- self.trailing_stop_positive_offset = 0.1 # 追踪止损偏移量 +- +- logger.info(f"动态参数:buy_rsi={self.buy_rsi.value}, sell_rsi={self.sell_rsi.value}, " +- f"stoploss={self.stoploss}, trailing_stop_positive={self.trailing_stop_positive}") +- +- dataframe.replace([np.inf, -np.inf], 0, inplace=True) +- dataframe.ffill(inplace=True) +- dataframe.fillna(0, inplace=True) +- +- logger.info(f"up_or_down 值统计:\n{dataframe['up_or_down'].value_counts().to_string()}") +- logger.info(f"do_predict 值统计:\n{dataframe['do_predict'].value_counts().to_string()}") +- +- return dataframe ++ df.loc[reduce(lambda x, y: x & y, conditions), ['enter_long', 'enter_tag']] = (1, 'long_entry') ++ return df + + def populate_exit_trend(self, df: DataFrame, metadata: dict) -> DataFrame: +-# 改进卖出信号条件 +- exit_long_conditions = [ +- (df["rsi"] > df["sell_rsi_pred"]), # RSI 高于卖出阈值 +- (df["volume"] > df["volume"].rolling(window=10).mean()), # 成交量高于近期均值 +- (df["close"] < df["bb_middleband"]) # 价格低于布林带中轨 ++ conditions = [ ++ (df["rsi"] > df["sell_rsi_pred"]), ++ (df["close"] < df["bb_middleband"]), ++ (df["do_predict"] == 0), + ] +- if exit_long_conditions: +- df.loc[ +- reduce(lambda x, y: x & y, exit_long_conditions), +- "exit_long" +- ] = 1 ++ df.loc[reduce(lambda x, y: x & y, conditions), 'exit_long'] = 1 + return df +- def populate_entry_trend(self, df: DataFrame, metadata: dict) -> DataFrame: +- # 改进买入信号条件 +- # 检查 MACD 列是否存在 +- if "macd" not in df.columns or "macdsignal" not in df.columns: +- logger.error("MACD 或 MACD 信号列缺失,无法生成买入信号。尝试重新计算 MACD 列。") +- +- try: +- macd = ta.MACD(df, fastperiod=12, slowperiod=26, signalperiod=9) +- df["macd"] = macd["macd"] +- df["macdsignal"] = macd["macdsignal"] +- logger.info("MACD 列已成功重新计算。") +- except Exception as e: +- logger.error(f"重新计算 MACD 列时出错:{str(e)}") +- raise ValueError("DataFrame 缺少必要的 MACD 列且无法重新计算。") + +- enter_long_conditions = [ +- (df["rsi"] < df["buy_rsi_pred"]), # RSI 低于买入阈值 +- (df["volume"] > df["volume"].rolling(window=10).mean() * 1.2), # 成交量高于近期均值20% +- (df["close"] > df["bb_middleband"]) # 价格高于布林带中轨 +- ] +- +- # 如果 MACD 列存在,则添加 MACD 金叉条件 +- if "macd" in df.columns and "macdsignal" in df.columns: +- enter_long_conditions.append((df["macd"] > df["macdsignal"])) +- +- # 确保模型预测为买入 +- enter_long_conditions.append((df["do_predict"] == 1)) +- if enter_long_conditions: +- df.loc[ +- reduce(lambda x, y: x & y, enter_long_conditions), +- ["enter_long", "enter_tag"] +- ] = (1, "long") +- return df + def confirm_trade_entry( + self, pair: str, order_type: str, amount: float, rate: float, + time_in_force: str, current_time, entry_tag, side: str, **kwargs + ) -> bool: + df, _ = self.dp.get_analyzed_dataframe(pair, self.timeframe) +- last_candle = df.iloc[-1].squeeze() ++ last_candle = df.iloc[-1] + if side == "long": +- if rate > (last_candle["close"] * (1 + 0.0025)): ++ if rate > (last_candle["close"] * 1.0025): # 价格超过最新价 0.25% 则拒绝下单 + return False + return True diff --git a/filtered_output.log b/filtered_output.log new file mode 100644 index 00000000..443a5acf --- /dev/null +++ b/filtered_output.log @@ -0,0 +1,888 @@ +[99] validation_0-rmse:0.13480 validation_1-rmse:0.09950 +[99] validation_0-rmse:0.14079 validation_1-rmse:0.10036 +[99] validation_0-rmse:0.15004 validation_1-rmse:0.09815 +[99] validation_0-rmse:0.13402 validation_1-rmse:0.10289 +[99] validation_0-rmse:0.14818 validation_1-rmse:0.10475 +[99] validation_0-rmse:0.15738 validation_1-rmse:0.10531 +[99] validation_0-rmse:0.14246 validation_1-rmse:0.11071 +[99] validation_0-rmse:0.16321 validation_1-rmse:0.10649 +[99] validation_0-rmse:0.15096 validation_1-rmse:0.10882 +[99] validation_0-rmse:0.15694 validation_1-rmse:0.11396 +[99] validation_0-rmse:0.18198 validation_1-rmse:0.10994 +[99] validation_0-rmse:0.16824 validation_1-rmse:0.11403 +[99] validation_0-rmse:0.16437 validation_1-rmse:0.11096 +[99] validation_0-rmse:0.17746 validation_1-rmse:0.10819 +[99] validation_0-rmse:0.15331 validation_1-rmse:0.11727 +[99] validation_0-rmse:0.16802 validation_1-rmse:0.11547 +[99] validation_0-rmse:0.15958 validation_1-rmse:0.11029 +[99] validation_0-rmse:0.18742 validation_1-rmse:0.11149 +[99] validation_0-rmse:0.15075 validation_1-rmse:0.09770 +[99] validation_0-rmse:0.13818 validation_1-rmse:0.10038 +[99] validation_0-rmse:0.12954 validation_1-rmse:0.09825 +[99] validation_0-rmse:0.14837 validation_1-rmse:0.10398 +Creating freqtrade_freqtrade_run ... +Creating freqtrade_freqtrade_run ... done +2025-04-29 01:54:55,246 - freqtrade - INFO - freqtrade 2025.3 +2025-04-29 01:54:55,464 - numexpr.utils - INFO - NumExpr defaulting to 12 threads. +2025-04-29 01:54:56,878 - freqtrade.configuration.load_config - INFO - Using config: /freqtrade/config_examples/config_freqai.okx.json ... +2025-04-29 01:54:56,879 - freqtrade.configuration.load_config - INFO - Using config: /freqtrade/templates/FreqaiExampleStrategy.json ... +2025-04-29 01:54:56,881 - freqtrade.loggers - INFO - Enabling colorized output. +2025-04-29 01:54:56,881 - root - INFO - Logfile configured +2025-04-29 01:54:56,882 - freqtrade.loggers - INFO - Verbosity set to 0 +2025-04-29 01:54:56,882 - freqtrade.configuration.configuration - INFO - Using additional Strategy lookup path: /freqtrade/templates +2025-04-29 01:54:56,883 - freqtrade.configuration.configuration - INFO - Using max_open_trades: 4 ... +2025-04-29 01:54:56,883 - freqtrade.configuration.configuration - INFO - Parameter --timerange detected: 20250101-20250420 ... +2025-04-29 01:54:56,907 - freqtrade.configuration.configuration - INFO - Using user-data directory: /freqtrade/user_data ... +2025-04-29 01:54:56,908 - freqtrade.configuration.configuration - INFO - Using data directory: /freqtrade/user_data/data/okx ... +2025-04-29 01:54:56,908 - freqtrade.configuration.configuration - INFO - Parameter --cache=none detected ... +2025-04-29 01:54:56,908 - freqtrade.configuration.configuration - INFO - Filter trades by timerange: 20250101-20250420 +2025-04-29 01:54:56,909 - freqtrade.configuration.configuration - INFO - Using freqaimodel class name: XGBoostRegressor +2025-04-29 01:54:56,910 - freqtrade.exchange.check_exchange - INFO - Checking exchange... +2025-04-29 01:54:56,916 - freqtrade.exchange.check_exchange - INFO - Exchange "okx" is officially supported by the Freqtrade development team. +2025-04-29 01:54:56,916 - freqtrade.configuration.configuration - INFO - Using pairlist from configuration. +2025-04-29 01:54:56,917 - freqtrade.configuration.config_validation - INFO - Validating configuration ... +2025-04-29 01:54:56,919 - freqtrade.commands.optimize_commands - INFO - Starting freqtrade in Backtesting mode +2025-04-29 01:54:56,919 - freqtrade.exchange.exchange - INFO - Instance is running with dry_run enabled +2025-04-29 01:54:56,920 - freqtrade.exchange.exchange - INFO - Using CCXT 4.4.69 +2025-04-29 01:54:56,920 - freqtrade.exchange.exchange - INFO - Applying additional ccxt config: {'enableRateLimit': True, 'rateLimit': 500, 'options': {'defaultType': 'spot'}} +2025-04-29 01:54:56,925 - freqtrade.exchange.exchange - INFO - Applying additional ccxt config: {'enableRateLimit': True, 'rateLimit': 500, 'options': {'defaultType': 'spot'}, 'timeout': 20000} +2025-04-29 01:54:56,931 - freqtrade.exchange.exchange - INFO - Using Exchange "OKX" +2025-04-29 01:54:59,471 - freqtrade.resolvers.exchange_resolver - INFO - Using resolved exchange 'Okx'... +2025-04-29 01:54:59,491 - freqtrade.resolvers.iresolver - INFO - Using resolved strategy FreqaiExampleStrategy from '/freqtrade/templates/FreqaiExampleStrategy.py'... +2025-04-29 01:54:59,491 - freqtrade.strategy.hyper - INFO - Loading parameters from file /freqtrade/templates/FreqaiExampleStrategy.json +2025-04-29 01:54:59,492 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'timeframe' with value in config file: 3m. +2025-04-29 01:54:59,492 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'stoploss' with value in config file: -0.05. +2025-04-29 01:54:59,493 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'stake_currency' with value in config file: USDT. +2025-04-29 01:54:59,493 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'stake_amount' with value in config file: 150. +2025-04-29 01:54:59,493 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'startup_candle_count' with value in config file: 30. +2025-04-29 01:54:59,494 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'unfilledtimeout' with value in config file: {'entry': 5, 'exit': 15, 'exit_timeout_count': 0, 'unit': +'minutes'}. +2025-04-29 01:54:59,494 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'max_open_trades' with value in config file: 4. +2025-04-29 01:54:59,494 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using minimal_roi: {'0': 0.132, '8': 0.047, '14': 0.007, '60': 0} +2025-04-29 01:54:59,495 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using timeframe: 3m +2025-04-29 01:54:59,495 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using stoploss: -0.05 +2025-04-29 01:54:59,495 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using trailing_stop: True +2025-04-29 01:54:59,495 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using trailing_stop_positive: 0.01 +2025-04-29 01:54:59,496 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using trailing_stop_positive_offset: 0.02 +2025-04-29 01:54:59,496 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using trailing_only_offset_is_reached: False +2025-04-29 01:54:59,496 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using use_custom_stoploss: False +2025-04-29 01:54:59,497 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using process_only_new_candles: True +2025-04-29 01:54:59,497 - 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-04-29 01:54:59,497 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using order_time_in_force: {'entry': 'GTC', 'exit': 'GTC'} +2025-04-29 01:54:59,498 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using stake_currency: USDT +2025-04-29 01:54:59,498 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using stake_amount: 150 +2025-04-29 01:54:59,498 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using startup_candle_count: 30 +2025-04-29 01:54:59,499 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using unfilledtimeout: {'entry': 5, 'exit': 15, 'exit_timeout_count': 0, 'unit': 'minutes'} +2025-04-29 01:54:59,499 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using use_exit_signal: True +2025-04-29 01:54:59,499 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using exit_profit_only: False +2025-04-29 01:54:59,500 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using ignore_roi_if_entry_signal: False +2025-04-29 01:54:59,500 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using exit_profit_offset: 0.0 +2025-04-29 01:54:59,500 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using disable_dataframe_checks: False +2025-04-29 01:54:59,500 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using ignore_buying_expired_candle_after: 0 +2025-04-29 01:54:59,501 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using position_adjustment_enable: False +2025-04-29 01:54:59,501 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using max_entry_position_adjustment: -1 +2025-04-29 01:54:59,501 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using max_open_trades: 4 +2025-04-29 01:54:59,502 - freqtrade.configuration.config_validation - INFO - Validating configuration ... +2025-04-29 01:54:59,505 - freqtrade.resolvers.iresolver - INFO - Using resolved pairlist StaticPairList from '/freqtrade/freqtrade/plugins/pairlist/StaticPairList.py'... +2025-04-29 01:54:59,512 - freqtrade.optimize.backtesting - INFO - Using fee 0.1500% - worst case fee from exchange (lowest tier). +2025-04-29 01:54:59,512 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 3m to 14450 +2025-04-29 01:54:59,513 - freqtrade.data.history.history_utils - INFO - Using indicator startup period: 14450 ... +2025-04-29 01:54:59,672 - freqtrade.optimize.backtesting - INFO - Loading data from 2024-12-01 21:30:00 up to 2025-04-20 00:00:00 (139 days). +2025-04-29 01:54:59,672 - freqtrade.optimize.backtesting - INFO - Dataload complete. Calculating indicators +2025-04-29 01:54:59,673 - freqtrade.optimize.backtesting - INFO - Running backtesting for Strategy FreqaiExampleStrategy +2025-04-29 01:55:01,274 - matplotlib.font_manager - INFO - generated new fontManager +2025-04-29 01:55:01,489 - freqtrade.resolvers.iresolver - INFO - Using resolved freqaimodel XGBoostRegressor from '/freqtrade/freqtrade/freqai/prediction_models/XGBoostRegressor.py'... +2025-04-29 01:55:01,490 - freqtrade.freqai.data_drawer - INFO - Could not find existing datadrawer, starting from scratch +2025-04-29 01:55:01,491 - freqtrade.freqai.data_drawer - INFO - Could not find existing historic_predictions, starting from scratch +2025-04-29 01:55:01,491 - freqtrade.freqai.freqai_interface - INFO - Set fresh train queue from whitelist. Queue: ['BTC/USDT', 'SOL/USDT'] +2025-04-29 01:55:01,492 - freqtrade.strategy.hyper - INFO - Strategy Parameter: buy_rsi = 39.92672300850069 +2025-04-29 01:55:01,492 - freqtrade.strategy.hyper - INFO - Strategy Parameter: sell_rsi = 69.92672300850067 +2025-04-29 01:55:01,493 - freqtrade.strategy.hyper - INFO - No params for protection found, using default values. +2025-04-29 01:55:01,498 - FreqaiExampleStrategy - INFO - 处理交易对:BTC/USDT +2025-04-29 01:55:01,500 - freqtrade.freqai.freqai_interface - INFO - Training 11 timeranges +2025-04-29 01:55:01,501 - freqtrade.freqai.freqai_interface - INFO - Training BTC/USDT, 1/2 pairs from 2024-12-02 00:00:00 to 2025-01-01 00:00:00, 1/11 trains +2025-04-29 01:55:01,502 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_btc_1735689600_prediction.feather +2025-04-29 01:55:01,602 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 5m to 8690 +2025-04-29 01:55:01,603 - freqtrade.data.dataprovider - INFO - Loading data for BTC/USDT 5m from 2024-12-01 19:50:00 to 2025-04-20 00:00:00 +2025-04-29 01:55:01,705 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 1h to 770 +2025-04-29 01:55:01,706 - freqtrade.data.dataprovider - INFO - Loading data for BTC/USDT 1h from 2024-11-29 22:00:00 to 2025-04-20 00:00:00 +2025-04-29 01:55:01,814 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 3m to 14450 +2025-04-29 01:55:01,815 - freqtrade.data.dataprovider - INFO - Loading data for ETH/USDT 3m from 2024-12-01 21:30:00 to 2025-04-20 00:00:00 +2025-04-29 01:55:01,942 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 5m to 8690 +2025-04-29 01:55:01,943 - freqtrade.data.dataprovider - INFO - Loading data for ETH/USDT 5m from 2024-12-01 19:50:00 to 2025-04-20 00:00:00 +2025-04-29 01:55:02,037 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 1h to 770 +2025-04-29 01:55:02,038 - freqtrade.data.dataprovider - INFO - Loading data for ETH/USDT 1h from 2024-11-29 22:00:00 to 2025-04-20 00:00:00 +2025-04-29 01:55:02,113 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:02,118 - FreqaiExampleStrategy - INFO - 目标列形状:(14450,) +2025-04-29 01:55:02,121 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.152831 +1 0.003285 50.152831 +2 0.001898 50.152831 +3 0.000484 50.152831 +4 0.001688 50.152831 +2025-04-29 01:55:02,123 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:02,129 - FreqaiExampleStrategy - INFO - 目标列形状:(19250,) +2025-04-29 01:55:02,130 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.202701 +1 0.003285 50.202701 +2 0.001898 50.202701 +3 0.000484 50.202701 +4 0.001688 50.202701 +2025-04-29 01:55:02,134 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-BTC_1735689600/cb_btc_1735689600 +2025-04-29 01:55:02,135 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training BTC/USDT -------------------- +2025-04-29 01:55:02,151 - freqtrade.freqai.data_kitchen - INFO - BTC/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:55:02,152 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2024-12-02 to 2024-12-31 -------------------- +2025-04-29 01:55:07,277 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 75 features +2025-04-29 01:55:07,278 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +2025-04-29 01:55:08,221 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training BTC/USDT (6.09 secs) -------------------- +2025-04-29 01:55:08,222 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:55:08,903 - freqtrade.freqai.freqai_interface - INFO - Training BTC/USDT, 1/2 pairs from 2024-12-12 00:00:00 to 2025-01-11 00:00:00, 2/11 trains +2025-04-29 01:55:08,904 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_btc_1736553600_prediction.feather +2025-04-29 01:55:08,907 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:08,912 - FreqaiExampleStrategy - INFO - 目标列形状:(19250,) +2025-04-29 01:55:08,914 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.202701 +1 0.003285 50.202701 +2 0.001898 50.202701 +3 0.000484 50.202701 +4 0.001688 50.202701 +2025-04-29 01:55:08,917 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:08,924 - FreqaiExampleStrategy - INFO - 目标列形状:(24050,) +2025-04-29 01:55:08,925 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.367593 +1 0.003285 50.367593 +2 0.001898 50.367593 +3 0.000484 50.367593 +4 0.001688 50.367593 +2025-04-29 01:55:08,929 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-BTC_1736553600/cb_btc_1736553600 +2025-04-29 01:55:08,930 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training BTC/USDT -------------------- +2025-04-29 01:55:08,946 - freqtrade.freqai.data_kitchen - INFO - BTC/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:55:08,947 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2024-12-12 to 2025-01-10 -------------------- +2025-04-29 01:55:13,908 - datasieve.pipeline - INFO - DI tossed 5 predictions for being too far from training data. +2025-04-29 01:55:13,911 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 75 features +2025-04-29 01:55:13,912 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +2025-04-29 01:55:14,692 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training BTC/USDT (5.76 secs) -------------------- +2025-04-29 01:55:14,693 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:55:15,250 - freqtrade.freqai.freqai_interface - INFO - Training BTC/USDT, 1/2 pairs from 2024-12-22 00:00:00 to 2025-01-21 00:00:00, 3/11 trains +2025-04-29 01:55:15,250 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_btc_1737417600_prediction.feather +2025-04-29 01:55:15,254 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:15,261 - FreqaiExampleStrategy - INFO - 目标列形状:(24050,) +2025-04-29 01:55:15,262 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.367593 +1 0.003285 50.367593 +2 0.001898 50.367593 +3 0.000484 50.367593 +4 0.001688 50.367593 +2025-04-29 01:55:15,268 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:15,275 - FreqaiExampleStrategy - INFO - 目标列形状:(28850,) +2025-04-29 01:55:15,276 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.305589 +1 0.003285 50.305589 +2 0.001898 50.305589 +3 0.000484 50.305589 +4 0.001688 50.305589 +2025-04-29 01:55:15,281 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-BTC_1737417600/cb_btc_1737417600 +2025-04-29 01:55:15,281 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training BTC/USDT -------------------- +2025-04-29 01:55:15,297 - freqtrade.freqai.data_kitchen - INFO - BTC/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:55:15,298 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2024-12-22 to 2025-01-20 -------------------- +2025-04-29 01:55:20,324 - datasieve.pipeline - INFO - DI tossed 1622 predictions for being too far from training data. +2025-04-29 01:55:20,327 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 75 features +2025-04-29 01:55:20,327 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +2025-04-29 01:55:21,007 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training BTC/USDT (5.73 secs) -------------------- +2025-04-29 01:55:21,008 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:55:21,504 - freqtrade.freqai.freqai_interface - INFO - Training BTC/USDT, 1/2 pairs from 2025-01-01 00:00:00 to 2025-01-31 00:00:00, 4/11 trains +2025-04-29 01:55:21,505 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_btc_1738281600_prediction.feather +2025-04-29 01:55:21,510 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:21,516 - FreqaiExampleStrategy - INFO - 目标列形状:(28850,) +2025-04-29 01:55:21,517 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.305589 +1 0.003285 50.305589 +2 0.001898 50.305589 +3 0.000484 50.305589 +4 0.001688 50.305589 +2025-04-29 01:55:21,522 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:21,528 - FreqaiExampleStrategy - INFO - 目标列形状:(33650,) +2025-04-29 01:55:21,529 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.168798 +1 0.003285 50.168798 +2 0.001898 50.168798 +3 0.000484 50.168798 +4 0.001688 50.168798 +2025-04-29 01:55:21,533 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-BTC_1738281600/cb_btc_1738281600 +2025-04-29 01:55:21,534 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training BTC/USDT -------------------- +2025-04-29 01:55:21,550 - freqtrade.freqai.data_kitchen - INFO - BTC/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:55:21,550 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-01-01 to 2025-01-30 -------------------- +2025-04-29 01:55:26,605 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 75 features +2025-04-29 01:55:26,606 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +2025-04-29 01:55:27,556 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training BTC/USDT (6.02 secs) -------------------- +2025-04-29 01:55:27,557 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:55:28,076 - freqtrade.freqai.freqai_interface - INFO - Training BTC/USDT, 1/2 pairs from 2025-01-11 00:00:00 to 2025-02-10 00:00:00, 5/11 trains +2025-04-29 01:55:28,077 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_btc_1739145600_prediction.feather +2025-04-29 01:55:28,081 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:28,088 - FreqaiExampleStrategy - INFO - 目标列形状:(33650,) +2025-04-29 01:55:28,089 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.168798 +1 0.003285 50.168798 +2 0.001898 50.168798 +3 0.000484 50.168798 +4 0.001688 50.168798 +2025-04-29 01:55:28,094 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:28,100 - FreqaiExampleStrategy - INFO - 目标列形状:(38450,) +2025-04-29 01:55:28,102 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.167897 +1 0.003285 50.167897 +2 0.001898 50.167897 +3 0.000484 50.167897 +4 0.001688 50.167897 +2025-04-29 01:55:28,106 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-BTC_1739145600/cb_btc_1739145600 +2025-04-29 01:55:28,107 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training BTC/USDT -------------------- +2025-04-29 01:55:28,123 - freqtrade.freqai.data_kitchen - INFO - BTC/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:55:28,124 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-01-11 to 2025-02-09 -------------------- +2025-04-29 01:55:33,123 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 75 features +2025-04-29 01:55:33,124 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +2025-04-29 01:55:33,929 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training BTC/USDT (5.82 secs) -------------------- +2025-04-29 01:55:33,930 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:55:34,433 - freqtrade.freqai.freqai_interface - INFO - Training BTC/USDT, 1/2 pairs from 2025-01-21 00:00:00 to 2025-02-20 00:00:00, 6/11 trains +2025-04-29 01:55:34,434 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_btc_1740009600_prediction.feather +2025-04-29 01:55:34,440 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:34,447 - FreqaiExampleStrategy - INFO - 目标列形状:(38450,) +2025-04-29 01:55:34,448 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.167897 +1 0.003285 50.167897 +2 0.001898 50.167897 +3 0.000484 50.167897 +4 0.001688 50.167897 +2025-04-29 01:55:34,453 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:34,459 - FreqaiExampleStrategy - INFO - 目标列形状:(43250,) +2025-04-29 01:55:34,461 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.107698 +1 0.003285 50.107698 +2 0.001898 50.107698 +3 0.000484 50.107698 +4 0.001688 50.107698 +2025-04-29 01:55:34,465 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-BTC_1740009600/cb_btc_1740009600 +2025-04-29 01:55:34,466 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training BTC/USDT -------------------- +2025-04-29 01:55:34,482 - freqtrade.freqai.data_kitchen - INFO - BTC/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:55:34,483 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-01-21 to 2025-02-19 -------------------- +2025-04-29 01:55:39,369 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 75 features +2025-04-29 01:55:39,370 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +2025-04-29 01:55:40,266 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training BTC/USDT (5.80 secs) -------------------- +2025-04-29 01:55:40,267 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:55:40,801 - freqtrade.freqai.freqai_interface - INFO - Training BTC/USDT, 1/2 pairs from 2025-01-31 00:00:00 to 2025-03-02 00:00:00, 7/11 trains +2025-04-29 01:55:40,802 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_btc_1740873600_prediction.feather +2025-04-29 01:55:40,807 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:40,814 - FreqaiExampleStrategy - INFO - 目标列形状:(43250,) +2025-04-29 01:55:40,816 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.107698 +1 0.003285 50.107698 +2 0.001898 50.107698 +3 0.000484 50.107698 +4 0.001688 50.107698 +2025-04-29 01:55:40,821 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:40,827 - FreqaiExampleStrategy - INFO - 目标列形状:(48050,) +2025-04-29 01:55:40,829 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.079166 +1 0.003285 50.079166 +2 0.001898 50.079166 +3 0.000484 50.079166 +4 0.001688 50.079166 +2025-04-29 01:55:40,833 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-BTC_1740873600/cb_btc_1740873600 +2025-04-29 01:55:40,834 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training BTC/USDT -------------------- +2025-04-29 01:55:40,849 - freqtrade.freqai.data_kitchen - INFO - BTC/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:55:40,850 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-01-31 to 2025-03-01 -------------------- +2025-04-29 01:55:45,643 - datasieve.pipeline - INFO - DI tossed 2275 predictions for being too far from training data. +2025-04-29 01:55:45,646 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 75 features +2025-04-29 01:55:45,647 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +2025-04-29 01:55:46,544 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training BTC/USDT (5.71 secs) -------------------- +2025-04-29 01:55:46,544 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:55:47,092 - freqtrade.freqai.freqai_interface - INFO - Training BTC/USDT, 1/2 pairs from 2025-02-10 00:00:00 to 2025-03-12 00:00:00, 8/11 trains +2025-04-29 01:55:47,092 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_btc_1741737600_prediction.feather +2025-04-29 01:55:47,100 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:47,107 - FreqaiExampleStrategy - INFO - 目标列形状:(48050,) +2025-04-29 01:55:47,109 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.079166 +1 0.003285 50.079166 +2 0.001898 50.079166 +3 0.000484 50.079166 +4 0.001688 50.079166 +2025-04-29 01:55:47,115 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:47,122 - FreqaiExampleStrategy - INFO - 目标列形状:(52850,) +2025-04-29 01:55:47,123 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.102027 +1 0.003285 50.102027 +2 0.001898 50.102027 +3 0.000484 50.102027 +4 0.001688 50.102027 +2025-04-29 01:55:47,128 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-BTC_1741737600/cb_btc_1741737600 +2025-04-29 01:55:47,129 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training BTC/USDT -------------------- +2025-04-29 01:55:47,145 - freqtrade.freqai.data_kitchen - INFO - BTC/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:55:47,145 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-02-10 to 2025-03-11 -------------------- +2025-04-29 01:55:51,987 - datasieve.pipeline - INFO - DI tossed 18 predictions for being too far from training data. +2025-04-29 01:55:51,989 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 75 features +2025-04-29 01:55:51,989 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +2025-04-29 01:55:52,741 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training BTC/USDT (5.61 secs) -------------------- +2025-04-29 01:55:52,742 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:55:53,285 - freqtrade.freqai.freqai_interface - INFO - Training BTC/USDT, 1/2 pairs from 2025-02-20 00:00:00 to 2025-03-22 00:00:00, 9/11 trains +2025-04-29 01:55:53,286 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_btc_1742601600_prediction.feather +2025-04-29 01:55:53,291 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:53,298 - FreqaiExampleStrategy - INFO - 目标列形状:(52850,) +2025-04-29 01:55:53,300 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.102027 +1 0.003285 50.102027 +2 0.001898 50.102027 +3 0.000484 50.102027 +4 0.001688 50.102027 +2025-04-29 01:55:53,309 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:53,316 - FreqaiExampleStrategy - INFO - 目标列形状:(57650,) +2025-04-29 01:55:53,318 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.079967 +1 0.003285 50.079967 +2 0.001898 50.079967 +3 0.000484 50.079967 +4 0.001688 50.079967 +2025-04-29 01:55:53,322 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-BTC_1742601600/cb_btc_1742601600 +2025-04-29 01:55:53,323 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training BTC/USDT -------------------- +2025-04-29 01:55:53,339 - freqtrade.freqai.data_kitchen - INFO - BTC/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:55:53,340 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-02-20 to 2025-03-21 -------------------- +2025-04-29 01:55:58,184 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 75 features +2025-04-29 01:55:58,185 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +2025-04-29 01:55:59,097 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training BTC/USDT (5.77 secs) -------------------- +2025-04-29 01:55:59,098 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:55:59,706 - freqtrade.freqai.freqai_interface - INFO - Training BTC/USDT, 1/2 pairs from 2025-03-02 00:00:00 to 2025-04-01 00:00:00, 10/11 trains +2025-04-29 01:55:59,706 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_btc_1743465600_prediction.feather +2025-04-29 01:55:59,715 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:59,723 - FreqaiExampleStrategy - INFO - 目标列形状:(57650,) +2025-04-29 01:55:59,725 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.079967 +1 0.003285 50.079967 +2 0.001898 50.079967 +3 0.000484 50.079967 +4 0.001688 50.079967 +2025-04-29 01:55:59,732 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:59,739 - FreqaiExampleStrategy - INFO - 目标列形状:(62450,) +2025-04-29 01:55:59,741 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.024153 +1 0.003285 50.024153 +2 0.001898 50.024153 +3 0.000484 50.024153 +4 0.001688 50.024153 +2025-04-29 01:55:59,745 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-BTC_1743465600/cb_btc_1743465600 +2025-04-29 01:55:59,746 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training BTC/USDT -------------------- +2025-04-29 01:55:59,762 - freqtrade.freqai.data_kitchen - INFO - BTC/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:55:59,762 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-03-02 to 2025-03-31 -------------------- +2025-04-29 01:56:04,571 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 75 features +2025-04-29 01:56:04,571 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +2025-04-29 01:56:05,520 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training BTC/USDT (5.77 secs) -------------------- +2025-04-29 01:56:05,521 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:56:06,027 - freqtrade.freqai.freqai_interface - INFO - Training BTC/USDT, 1/2 pairs from 2025-03-12 00:00:00 to 2025-04-11 00:00:00, 11/11 trains +2025-04-29 01:56:06,027 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_btc_1744329600_prediction.feather +2025-04-29 01:56:06,037 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:56:06,045 - FreqaiExampleStrategy - INFO - 目标列形状:(62450,) +2025-04-29 01:56:06,046 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.024153 +1 0.003285 50.024153 +2 0.001898 50.024153 +3 0.000484 50.024153 +4 0.001688 50.024153 +2025-04-29 01:56:06,057 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:56:06,064 - FreqaiExampleStrategy - INFO - 目标列形状:(66770,) +2025-04-29 01:56:06,065 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.093162 +1 0.003285 50.093162 +2 0.001898 50.093162 +3 0.000484 50.093162 +4 0.001688 50.093162 +2025-04-29 01:56:06,070 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-BTC_1744329600/cb_btc_1744329600 +2025-04-29 01:56:06,071 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training BTC/USDT -------------------- +2025-04-29 01:56:06,087 - freqtrade.freqai.data_kitchen - INFO - BTC/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:56:06,088 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-03-12 to 2025-04-10 -------------------- +2025-04-29 01:56:10,904 - datasieve.pipeline - INFO - DI tossed 2001 predictions for being too far from training data. +2025-04-29 01:56:10,907 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 75 features +2025-04-29 01:56:10,907 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +2025-04-29 01:56:11,705 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training BTC/USDT (5.63 secs) -------------------- +2025-04-29 01:56:11,706 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:56:12,255 - FreqaiExampleStrategy - INFO - 动态参数:buy_rsi=39.26145316407591, sell_rsi=59.26145316407591, stoploss=-0.15, trailing_stop_positive=0.05 +2025-04-29 01:56:12,275 - FreqaiExampleStrategy - INFO - up_or_down 值统计: +up_or_down +1 33535 +0 33236 +2025-04-29 01:56:12,276 - FreqaiExampleStrategy - INFO - do_predict 值统计: +do_predict +0.0 35773 +1.0 30998 +2025-04-29 01:56:12,279 - FreqaiExampleStrategy - INFO - 处理交易对:SOL/USDT +2025-04-29 01:56:12,281 - freqtrade.freqai.freqai_interface - INFO - Training 11 timeranges +2025-04-29 01:56:12,282 - freqtrade.freqai.freqai_interface - INFO - Training SOL/USDT, 2/2 pairs from 2024-12-02 00:00:00 to 2025-01-01 00:00:00, 1/11 trains +2025-04-29 01:56:12,283 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_sol_1735689600_prediction.feather +2025-04-29 01:56:12,334 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 5m to 8690 +2025-04-29 01:56:12,335 - freqtrade.data.dataprovider - INFO - Loading data for SOL/USDT 5m from 2024-12-01 19:50:00 to 2025-04-20 00:00:00 +2025-04-29 01:56:12,422 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 1h to 770 +2025-04-29 01:56:12,422 - freqtrade.data.dataprovider - INFO - Loading data for SOL/USDT 1h from 2024-11-29 22:00:00 to 2025-04-20 00:00:00 +2025-04-29 01:56:12,518 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 3m to 14450 +2025-04-29 01:56:12,519 - freqtrade.data.dataprovider - INFO - Loading data for BTC/USDT 3m from 2024-12-01 21:30:00 to 2025-04-20 00:00:00 +2025-04-29 01:56:13,040 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:56:13,046 - FreqaiExampleStrategy - INFO - 目标列形状:(14450,) +2025-04-29 01:56:13,047 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.58814 +1 0.003044 49.58814 +2 0.000465 49.58814 +3 -0.000380 49.58814 +4 0.002829 49.58814 +2025-04-29 01:56:13,052 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:56:13,057 - FreqaiExampleStrategy - INFO - 目标列形状:(19250,) +2025-04-29 01:56:13,059 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.68088 +1 0.003044 49.68088 +2 0.000465 49.68088 +3 -0.000380 49.68088 +4 0.002829 49.68088 +2025-04-29 01:56:13,066 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-SOL_1735689600/cb_sol_1735689600 +2025-04-29 01:56:13,066 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training SOL/USDT -------------------- +2025-04-29 01:56:13,095 - freqtrade.freqai.data_kitchen - INFO - SOL/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:56:13,096 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2024-12-02 to 2024-12-31 -------------------- +2025-04-29 01:56:18,126 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 111 features +2025-04-29 01:56:18,126 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +2025-04-29 01:56:19,586 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training SOL/USDT (6.52 secs) -------------------- +2025-04-29 01:56:19,587 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:56:20,174 - freqtrade.freqai.freqai_interface - INFO - Training SOL/USDT, 2/2 pairs from 2024-12-12 00:00:00 to 2025-01-11 00:00:00, 2/11 trains +2025-04-29 01:56:20,175 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_sol_1736553600_prediction.feather +2025-04-29 01:56:20,179 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:56:20,185 - FreqaiExampleStrategy - INFO - 目标列形状:(19250,) +2025-04-29 01:56:20,186 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.68088 +1 0.003044 49.68088 +2 0.000465 49.68088 +3 -0.000380 49.68088 +4 0.002829 49.68088 +2025-04-29 01:56:20,192 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:56:20,197 - FreqaiExampleStrategy - INFO - 目标列形状:(24050,) +2025-04-29 01:56:20,199 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.97721 +1 0.003044 49.97721 +2 0.000465 49.97721 +3 -0.000380 49.97721 +4 0.002829 49.97721 +2025-04-29 01:56:20,204 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-SOL_1736553600/cb_sol_1736553600 +2025-04-29 01:56:20,205 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training SOL/USDT -------------------- +2025-04-29 01:56:20,227 - freqtrade.freqai.data_kitchen - INFO - SOL/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:56:20,228 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2024-12-12 to 2025-01-10 -------------------- +2025-04-29 01:56:25,109 - datasieve.pipeline - INFO - DI tossed 5 predictions for being too far from training data. +2025-04-29 01:56:25,112 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 111 features +2025-04-29 01:56:25,112 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +2025-04-29 01:56:26,510 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training SOL/USDT (6.30 secs) -------------------- +2025-04-29 01:56:26,511 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:56:27,072 - freqtrade.freqai.freqai_interface - INFO - Training SOL/USDT, 2/2 pairs from 2024-12-22 00:00:00 to 2025-01-21 00:00:00, 3/11 trains +2025-04-29 01:56:27,073 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_sol_1737417600_prediction.feather +2025-04-29 01:56:27,079 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:56:27,085 - FreqaiExampleStrategy - INFO - 目标列形状:(24050,) +2025-04-29 01:56:27,086 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.97721 +1 0.003044 49.97721 +2 0.000465 49.97721 +3 -0.000380 49.97721 +4 0.002829 49.97721 +2025-04-29 01:56:27,094 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:56:27,100 - FreqaiExampleStrategy - INFO - 目标列形状:(28850,) +2025-04-29 01:56:27,102 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.941408 +1 0.003044 49.941408 +2 0.000465 49.941408 +3 -0.000380 49.941408 +4 0.002829 49.941408 +2025-04-29 01:56:27,108 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-SOL_1737417600/cb_sol_1737417600 +2025-04-29 01:56:27,109 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training SOL/USDT -------------------- +2025-04-29 01:56:27,130 - freqtrade.freqai.data_kitchen - INFO - SOL/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:56:27,131 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2024-12-22 to 2025-01-20 -------------------- +2025-04-29 01:56:32,206 - datasieve.pipeline - INFO - DI tossed 1523 predictions for being too far from training data. +2025-04-29 01:56:32,209 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 111 features +2025-04-29 01:56:32,210 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +2025-04-29 01:56:33,558 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training SOL/USDT (6.45 secs) -------------------- +2025-04-29 01:56:33,558 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:56:34,118 - freqtrade.freqai.freqai_interface - INFO - Training SOL/USDT, 2/2 pairs from 2025-01-01 00:00:00 to 2025-01-31 00:00:00, 4/11 trains +2025-04-29 01:56:34,119 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_sol_1738281600_prediction.feather +2025-04-29 01:56:34,124 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:56:34,130 - FreqaiExampleStrategy - INFO - 目标列形状:(28850,) +2025-04-29 01:56:34,131 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.941408 +1 0.003044 49.941408 +2 0.000465 49.941408 +3 -0.000380 49.941408 +4 0.002829 49.941408 +2025-04-29 01:56:34,137 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:56:34,143 - FreqaiExampleStrategy - INFO - 目标列形状:(33650,) +2025-04-29 01:56:34,144 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.830756 +1 0.003044 49.830756 +2 0.000465 49.830756 +3 -0.000380 49.830756 +4 0.002829 49.830756 +2025-04-29 01:56:34,149 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-SOL_1738281600/cb_sol_1738281600 +2025-04-29 01:56:34,150 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training SOL/USDT -------------------- +2025-04-29 01:56:34,173 - freqtrade.freqai.data_kitchen - INFO - SOL/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:56:34,173 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-01-01 to 2025-01-30 -------------------- +2025-04-29 01:56:39,271 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 111 features +2025-04-29 01:56:39,271 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +2025-04-29 01:56:40,600 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training SOL/USDT (6.45 secs) -------------------- +2025-04-29 01:56:40,601 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:56:41,171 - freqtrade.freqai.freqai_interface - INFO - Training SOL/USDT, 2/2 pairs from 2025-01-11 00:00:00 to 2025-02-10 00:00:00, 5/11 trains +2025-04-29 01:56:41,172 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_sol_1739145600_prediction.feather +2025-04-29 01:56:41,177 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:56:41,183 - FreqaiExampleStrategy - INFO - 目标列形状:(33650,) +2025-04-29 01:56:41,185 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.830756 +1 0.003044 49.830756 +2 0.000465 49.830756 +3 -0.000380 49.830756 +4 0.002829 49.830756 +2025-04-29 01:56:41,193 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:56:41,200 - FreqaiExampleStrategy - INFO - 目标列形状:(38450,) +2025-04-29 01:56:41,201 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.714422 +1 0.003044 49.714422 +2 0.000465 49.714422 +3 -0.000380 49.714422 +4 0.002829 49.714422 +2025-04-29 01:56:41,206 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-SOL_1739145600/cb_sol_1739145600 +2025-04-29 01:56:41,207 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training SOL/USDT -------------------- +2025-04-29 01:56:41,228 - freqtrade.freqai.data_kitchen - INFO - SOL/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:56:41,229 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-01-11 to 2025-02-09 -------------------- +2025-04-29 01:56:46,277 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 111 features +2025-04-29 01:56:46,278 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +2025-04-29 01:56:47,778 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training SOL/USDT (6.57 secs) -------------------- +2025-04-29 01:56:47,779 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:56:48,320 - freqtrade.freqai.freqai_interface - INFO - Training SOL/USDT, 2/2 pairs from 2025-01-21 00:00:00 to 2025-02-20 00:00:00, 6/11 trains +2025-04-29 01:56:48,321 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_sol_1740009600_prediction.feather +2025-04-29 01:56:48,327 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:56:48,333 - FreqaiExampleStrategy - INFO - 目标列形状:(38450,) +2025-04-29 01:56:48,334 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.714422 +1 0.003044 49.714422 +2 0.000465 49.714422 +3 -0.000380 49.714422 +4 0.002829 49.714422 +2025-04-29 01:56:48,346 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:56:48,353 - FreqaiExampleStrategy - INFO - 目标列形状:(43250,) +2025-04-29 01:56:48,354 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.626186 +1 0.003044 49.626186 +2 0.000465 49.626186 +3 -0.000380 49.626186 +4 0.002829 49.626186 +2025-04-29 01:56:48,361 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-SOL_1740009600/cb_sol_1740009600 +2025-04-29 01:56:48,361 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training SOL/USDT -------------------- +2025-04-29 01:56:48,383 - freqtrade.freqai.data_kitchen - INFO - SOL/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:56:48,383 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-01-21 to 2025-02-19 -------------------- +2025-04-29 01:56:53,532 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 111 features +2025-04-29 01:56:53,533 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +2025-04-29 01:56:54,862 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training SOL/USDT (6.50 secs) -------------------- +2025-04-29 01:56:54,863 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:56:55,419 - freqtrade.freqai.freqai_interface - INFO - Training SOL/USDT, 2/2 pairs from 2025-01-31 00:00:00 to 2025-03-02 00:00:00, 7/11 trains +2025-04-29 01:56:55,420 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_sol_1740873600_prediction.feather +2025-04-29 01:56:55,426 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:56:55,433 - FreqaiExampleStrategy - INFO - 目标列形状:(43250,) +2025-04-29 01:56:55,435 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.626186 +1 0.003044 49.626186 +2 0.000465 49.626186 +3 -0.000380 49.626186 +4 0.002829 49.626186 +2025-04-29 01:56:55,445 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:56:55,452 - FreqaiExampleStrategy - INFO - 目标列形状:(48050,) +2025-04-29 01:56:55,453 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.568812 +1 0.003044 49.568812 +2 0.000465 49.568812 +3 -0.000380 49.568812 +4 0.002829 49.568812 +2025-04-29 01:56:55,459 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-SOL_1740873600/cb_sol_1740873600 +2025-04-29 01:56:55,459 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training SOL/USDT -------------------- +2025-04-29 01:56:55,481 - freqtrade.freqai.data_kitchen - INFO - SOL/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:56:55,482 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-01-31 to 2025-03-01 -------------------- +2025-04-29 01:57:00,566 - datasieve.pipeline - INFO - DI tossed 2417 predictions for being too far from training data. +2025-04-29 01:57:00,569 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 111 features +2025-04-29 01:57:00,570 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +2025-04-29 01:57:02,441 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training SOL/USDT (6.98 secs) -------------------- +2025-04-29 01:57:02,442 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:57:02,968 - freqtrade.freqai.freqai_interface - INFO - Training SOL/USDT, 2/2 pairs from 2025-02-10 00:00:00 to 2025-03-12 00:00:00, 8/11 trains +2025-04-29 01:57:02,968 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_sol_1741737600_prediction.feather +2025-04-29 01:57:02,980 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:57:02,987 - FreqaiExampleStrategy - INFO - 目标列形状:(48050,) +2025-04-29 01:57:02,989 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.568812 +1 0.003044 49.568812 +2 0.000465 49.568812 +3 -0.000380 49.568812 +4 0.002829 49.568812 +2025-04-29 01:57:03,001 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:57:03,007 - FreqaiExampleStrategy - INFO - 目标列形状:(52850,) +2025-04-29 01:57:03,009 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.623338 +1 0.003044 49.623338 +2 0.000465 49.623338 +3 -0.000380 49.623338 +4 0.002829 49.623338 +2025-04-29 01:57:03,014 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-SOL_1741737600/cb_sol_1741737600 +2025-04-29 01:57:03,015 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training SOL/USDT -------------------- +2025-04-29 01:57:03,042 - freqtrade.freqai.data_kitchen - INFO - SOL/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:57:03,042 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-02-10 to 2025-03-11 -------------------- +2025-04-29 01:57:08,138 - datasieve.pipeline - INFO - DI tossed 3 predictions for being too far from training data. +2025-04-29 01:57:08,141 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 111 features +2025-04-29 01:57:08,141 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +2025-04-29 01:57:09,614 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training SOL/USDT (6.60 secs) -------------------- +2025-04-29 01:57:09,615 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:57:10,150 - freqtrade.freqai.freqai_interface - INFO - Training SOL/USDT, 2/2 pairs from 2025-02-20 00:00:00 to 2025-03-22 00:00:00, 9/11 trains +2025-04-29 01:57:10,151 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_sol_1742601600_prediction.feather +2025-04-29 01:57:10,159 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:57:10,167 - FreqaiExampleStrategy - INFO - 目标列形状:(52850,) +2025-04-29 01:57:10,168 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.623338 +1 0.003044 49.623338 +2 0.000465 49.623338 +3 -0.000380 49.623338 +4 0.002829 49.623338 +2025-04-29 01:57:10,181 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:57:10,188 - FreqaiExampleStrategy - INFO - 目标列形状:(57650,) +2025-04-29 01:57:10,190 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.644115 +1 0.003044 49.644115 +2 0.000465 49.644115 +3 -0.000380 49.644115 +4 0.002829 49.644115 +2025-04-29 01:57:10,195 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-SOL_1742601600/cb_sol_1742601600 +2025-04-29 01:57:10,196 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training SOL/USDT -------------------- +2025-04-29 01:57:10,218 - freqtrade.freqai.data_kitchen - INFO - SOL/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:57:10,218 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-02-20 to 2025-03-21 -------------------- +2025-04-29 01:57:15,185 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 111 features +2025-04-29 01:57:15,186 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +2025-04-29 01:57:16,538 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training SOL/USDT (6.34 secs) -------------------- +2025-04-29 01:57:16,539 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:57:17,068 - freqtrade.freqai.freqai_interface - INFO - Training SOL/USDT, 2/2 pairs from 2025-03-02 00:00:00 to 2025-04-01 00:00:00, 10/11 trains +2025-04-29 01:57:17,069 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_sol_1743465600_prediction.feather +2025-04-29 01:57:17,084 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:57:17,092 - FreqaiExampleStrategy - INFO - 目标列形状:(57650,) +2025-04-29 01:57:17,094 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.644115 +1 0.003044 49.644115 +2 0.000465 49.644115 +3 -0.000380 49.644115 +4 0.002829 49.644115 +2025-04-29 01:57:17,108 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:57:17,115 - FreqaiExampleStrategy - INFO - 目标列形状:(62450,) +2025-04-29 01:57:17,117 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.601082 +1 0.003044 49.601082 +2 0.000465 49.601082 +3 -0.000380 49.601082 +4 0.002829 49.601082 +2025-04-29 01:57:17,124 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-SOL_1743465600/cb_sol_1743465600 +2025-04-29 01:57:17,125 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training SOL/USDT -------------------- +2025-04-29 01:57:17,151 - freqtrade.freqai.data_kitchen - INFO - SOL/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:57:17,151 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-03-02 to 2025-03-31 -------------------- +2025-04-29 01:57:22,430 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 111 features +2025-04-29 01:57:22,430 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +2025-04-29 01:57:23,725 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training SOL/USDT (6.60 secs) -------------------- +2025-04-29 01:57:23,726 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:57:24,305 - freqtrade.freqai.freqai_interface - INFO - Training SOL/USDT, 2/2 pairs from 2025-03-12 00:00:00 to 2025-04-11 00:00:00, 11/11 trains +2025-04-29 01:57:24,305 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_sol_1744329600_prediction.feather +2025-04-29 01:57:24,318 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:57:24,325 - FreqaiExampleStrategy - INFO - 目标列形状:(62450,) +2025-04-29 01:57:24,327 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.601082 +1 0.003044 49.601082 +2 0.000465 49.601082 +3 -0.000380 49.601082 +4 0.002829 49.601082 +2025-04-29 01:57:24,337 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:57:24,345 - FreqaiExampleStrategy - INFO - 目标列形状:(66770,) +2025-04-29 01:57:24,346 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.729824 +1 0.003044 49.729824 +2 0.000465 49.729824 +3 -0.000380 49.729824 +4 0.002829 49.729824 +2025-04-29 01:57:24,352 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-SOL_1744329600/cb_sol_1744329600 +2025-04-29 01:57:24,353 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training SOL/USDT -------------------- +2025-04-29 01:57:24,376 - freqtrade.freqai.data_kitchen - INFO - SOL/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:57:24,376 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-03-12 to 2025-04-10 -------------------- +2025-04-29 01:57:29,392 - datasieve.pipeline - INFO - DI tossed 1948 predictions for being too far from training data. +2025-04-29 01:57:29,396 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 111 features +2025-04-29 01:57:29,396 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +2025-04-29 01:57:30,474 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training SOL/USDT (6.12 secs) -------------------- +2025-04-29 01:57:30,475 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:57:31,077 - FreqaiExampleStrategy - INFO - 动态参数:buy_rsi=50.0, sell_rsi=70.0, stoploss=-0.15, trailing_stop_positive=0.05 +2025-04-29 01:57:31,096 - FreqaiExampleStrategy - INFO - up_or_down 值统计: +up_or_down +0 33825 +1 32946 +2025-04-29 01:57:31,097 - FreqaiExampleStrategy - INFO - do_predict 值统计: +do_predict +0.0 36730 +1.0 30041 +2025-04-29 01:57:31,105 - freqtrade.optimize.backtesting - INFO - Backtesting with data from 2025-01-01 00:00:00 up to 2025-04-20 00:00:00 (109 days). +2025-04-29 01:57:31,109 - FreqaiExampleStrategy - ERROR - MACD 或 MACD 信号列缺失,无法生成买入信号。尝试重新计算 MACD 列。 +2025-04-29 01:57:31,111 - FreqaiExampleStrategy - INFO - MACD 列已成功重新计算。 +2025-04-29 01:57:31,193 - FreqaiExampleStrategy - ERROR - MACD 或 MACD 信号列缺失,无法生成买入信号。尝试重新计算 MACD 列。 +2025-04-29 01:57:31,195 - FreqaiExampleStrategy - INFO - MACD 列已成功重新计算。 +2025-04-29 01:57:33,776 - freqtrade.misc - INFO - dumping json to "/freqtrade/user_data/backtest_results/backtest-result-2025-04-29_01-57-33.meta.json" +Result for strategy FreqaiExampleStrategy + BACKTESTING REPORT +┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃ Pair ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃ +┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩ +│ BTC/USDT │ 38 │ -0.39 │ -22.029 │ -2.2 │ 22:13:00 │ 5 32 1 13.2 │ +│ SOL/USDT │ 44 │ -1.94 │ -128.236 │ -12.82 │ 16:35:00 │ 12 26 6 27.3 │ +│ TOTAL │ 82 │ -1.22 │ -150.265 │ -15.03 │ 19:12:00 │ 17 58 7 20.7 │ +└──────────┴────────┴──────────────┴─────────────────┴──────────────┴──────────────┴────────────────────────┘ + LEFT OPEN TRADES REPORT +┏━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃ Pair ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃ +┡━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩ +│ TOTAL │ 0 │ 0.0 │ 0.000 │ 0.0 │ 0:00 │ 0 0 0 0 │ +└───────┴────────┴──────────────┴─────────────────┴──────────────┴──────────────┴────────────────────────┘ + ENTER TAG STATS +┏━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃ Enter Tag ┃ Entries ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃ +┡━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩ +│ long │ 82 │ -1.22 │ -150.265 │ -15.03 │ 19:12:00 │ 17 58 7 20.7 │ +│ TOTAL │ 82 │ -1.22 │ -150.265 │ -15.03 │ 19:12:00 │ 17 58 7 20.7 │ +└───────────┴─────────┴──────────────┴─────────────────┴──────────────┴──────────────┴────────────────────────┘ + EXIT REASON STATS +┏━━━━━━━━━━━━━━━━━━━━┳━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃ Exit Reason ┃ Exits ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃ +┡━━━━━━━━━━━━━━━━━━━━╇━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩ +│ roi │ 75 │ 0.07 │ 7.926 │ 0.79 │ 14:48:00 │ 17 58 0 100 │ +│ trailing_stop_loss │ 7 │ -15.04 │ -158.191 │ -15.82 │ 2 days, 18:13:00 │ 0 0 7 0 │ +│ TOTAL │ 82 │ -1.22 │ -150.265 │ -15.03 │ 19:12:00 │ 17 58 7 20.7 │ +└────────────────────┴───────┴──────────────┴─────────────────┴──────────────┴──────────────────┴────────────────────────┘ + MIXED TAG STATS +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃ Enter Tag ┃ Exit Reason ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃ +┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩ +│ ('long', 'roi') │ │ 75 │ 0.07 │ 7.926 │ 0.79 │ 14:48:00 │ 17 58 0 100 │ +│ ('long', 'trailing_stop_loss') │ │ 7 │ -15.04 │ -158.191 │ -15.82 │ 2 days, 18:13:00 │ 0 0 7 0 │ +│ TOTAL │ │ 82 │ -1.22 │ -150.265 │ -15.03 │ 19:12:00 │ 17 58 7 20.7 │ +└────────────────────────────────┴─────────────┴────────┴──────────────┴─────────────────┴──────────────┴──────────────────┴────────────────────────┘ + SUMMARY METRICS +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┓ +┃ Metric ┃ Value ┃ +┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━┩ +│ Backtesting from │ 2025-01-01 00:00:00 │ +│ Backtesting to │ 2025-04-20 00:00:00 │ +│ Trading Mode │ Spot │ +│ Max open trades │ 2 │ +│ │ │ +│ Total/Daily Avg Trades │ 82 / 0.75 │ +│ Starting balance │ 1000 USDT │ +│ Final balance │ 849.735 USDT │ +│ Absolute profit │ -150.265 USDT │ +│ Total profit % │ -15.03% │ +│ CAGR % │ -42.03% │ +│ Sortino │ -252.56 │ +│ Sharpe │ -4.15 │ +│ Calmar │ -17.48 │ +│ SQN │ -2.60 │ +│ Profit factor │ 0.05 │ +│ Expectancy (Ratio) │ -1.83 (-0.79) │ +│ Avg. daily profit % │ -0.14% │ +│ Avg. stake amount │ 150 USDT │ +│ Total trade volume │ 24523.15 USDT │ +│ │ │ +│ Best Pair │ BTC/USDT -2.20% │ +│ Worst Pair │ SOL/USDT -12.82% │ +│ Best trade │ SOL/USDT 0.90% │ +│ Worst trade │ SOL/USDT -15.19% │ +│ Best day │ 1.76 USDT │ +│ Worst day │ -22.827 USDT │ +│ Days win/draw/lose │ 14 / 80 / 7 │ +│ Avg. Duration Winners │ 0:55:00 │ +│ Avg. Duration Loser │ 2 days, 18:13:00 │ +│ Max Consecutive Wins / Loss │ 2 / 16 │ +│ Rejected Entry signals │ 0 │ +│ Entry/Exit Timeouts │ 0 / 0 │ +│ │ │ +│ Min balance │ 849.735 USDT │ +│ Max balance │ 1000.508 USDT │ +│ Max % of account underwater │ 15.07% │ +│ Absolute Drawdown (Account) │ 15.07% │ +│ Absolute Drawdown │ 150.773 USDT │ +│ Drawdown high │ 0.508 USDT │ +│ Drawdown low │ -150.265 USDT │ +│ Drawdown Start │ 2025-01-06 19:48:00 │ +│ Drawdown End │ 2025-04-06 23:15:00 │ +│ Market change │ -26.79% │ +└─────────────────────────────┴─────────────────────┘ + +Backtested 2025-01-01 00:00:00 -> 2025-04-20 00:00:00 | Max open trades : 2 + STRATEGY SUMMARY +┏━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━┓ +┃ Strategy ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃ Drawdown ┃ +┡━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━┩ +│ FreqaiExampleStrategy │ 82 │ -1.22 │ -150.265 │ -15.03 │ 19:12:00 │ 17 58 7 20.7 │ 150.773 USDT 15.07% │ +└───────────────────────┴────────┴──────────────┴─────────────────┴──────────────┴──────────────┴────────────────────────┴──────────────────────┘ diff --git a/freqtrade.log b/freqtrade.log new file mode 100644 index 00000000..13c51d31 --- /dev/null +++ b/freqtrade.log @@ -0,0 +1,3066 @@ +Creating freqtrade_freqtrade_run ... +Creating freqtrade_freqtrade_run ... done +2025-04-29 01:54:55,246 - freqtrade - INFO - freqtrade 2025.3 +2025-04-29 01:54:55,464 - numexpr.utils - INFO - NumExpr defaulting to 12 threads. +2025-04-29 01:54:56,878 - freqtrade.configuration.load_config - INFO - Using config: /freqtrade/config_examples/config_freqai.okx.json ... +2025-04-29 01:54:56,879 - freqtrade.configuration.load_config - INFO - Using config: /freqtrade/templates/FreqaiExampleStrategy.json ... +2025-04-29 01:54:56,881 - freqtrade.loggers - INFO - Enabling colorized output. +2025-04-29 01:54:56,881 - root - INFO - Logfile configured +2025-04-29 01:54:56,882 - freqtrade.loggers - INFO - Verbosity set to 0 +2025-04-29 01:54:56,882 - freqtrade.configuration.configuration - INFO - Using additional Strategy lookup path: /freqtrade/templates +2025-04-29 01:54:56,883 - freqtrade.configuration.configuration - INFO - Using max_open_trades: 4 ... +2025-04-29 01:54:56,883 - freqtrade.configuration.configuration - INFO - Parameter --timerange detected: 20250101-20250420 ... +2025-04-29 01:54:56,907 - freqtrade.configuration.configuration - INFO - Using user-data directory: /freqtrade/user_data ... +2025-04-29 01:54:56,908 - freqtrade.configuration.configuration - INFO - Using data directory: /freqtrade/user_data/data/okx ... +2025-04-29 01:54:56,908 - freqtrade.configuration.configuration - INFO - Parameter --cache=none detected ... +2025-04-29 01:54:56,908 - freqtrade.configuration.configuration - INFO - Filter trades by timerange: 20250101-20250420 +2025-04-29 01:54:56,909 - freqtrade.configuration.configuration - INFO - Using freqaimodel class name: XGBoostRegressor +2025-04-29 01:54:56,910 - freqtrade.exchange.check_exchange - INFO - Checking exchange... +2025-04-29 01:54:56,916 - freqtrade.exchange.check_exchange - INFO - Exchange "okx" is officially supported by the Freqtrade development team. +2025-04-29 01:54:56,916 - freqtrade.configuration.configuration - INFO - Using pairlist from configuration. +2025-04-29 01:54:56,917 - freqtrade.configuration.config_validation - INFO - Validating configuration ... +2025-04-29 01:54:56,919 - freqtrade.commands.optimize_commands - INFO - Starting freqtrade in Backtesting mode +2025-04-29 01:54:56,919 - freqtrade.exchange.exchange - INFO - Instance is running with dry_run enabled +2025-04-29 01:54:56,920 - freqtrade.exchange.exchange - INFO - Using CCXT 4.4.69 +2025-04-29 01:54:56,920 - freqtrade.exchange.exchange - INFO - Applying additional ccxt config: {'enableRateLimit': True, 'rateLimit': 500, 'options': {'defaultType': 'spot'}} +2025-04-29 01:54:56,925 - freqtrade.exchange.exchange - INFO - Applying additional ccxt config: {'enableRateLimit': True, 'rateLimit': 500, 'options': {'defaultType': 'spot'}, 'timeout': 20000} +2025-04-29 01:54:56,931 - freqtrade.exchange.exchange - INFO - Using Exchange "OKX" +2025-04-29 01:54:59,471 - freqtrade.resolvers.exchange_resolver - INFO - Using resolved exchange 'Okx'... +2025-04-29 01:54:59,491 - freqtrade.resolvers.iresolver - INFO - Using resolved strategy FreqaiExampleStrategy from '/freqtrade/templates/FreqaiExampleStrategy.py'... +2025-04-29 01:54:59,491 - freqtrade.strategy.hyper - INFO - Loading parameters from file /freqtrade/templates/FreqaiExampleStrategy.json +2025-04-29 01:54:59,492 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'timeframe' with value in config file: 3m. +2025-04-29 01:54:59,492 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'stoploss' with value in config file: -0.05. +2025-04-29 01:54:59,493 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'stake_currency' with value in config file: USDT. +2025-04-29 01:54:59,493 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'stake_amount' with value in config file: 150. +2025-04-29 01:54:59,493 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'startup_candle_count' with value in config file: 30. +2025-04-29 01:54:59,494 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'unfilledtimeout' with value in config file: {'entry': 5, 'exit': 15, 'exit_timeout_count': 0, 'unit': +'minutes'}. +2025-04-29 01:54:59,494 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'max_open_trades' with value in config file: 4. +2025-04-29 01:54:59,494 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using minimal_roi: {'0': 0.132, '8': 0.047, '14': 0.007, '60': 0} +2025-04-29 01:54:59,495 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using timeframe: 3m +2025-04-29 01:54:59,495 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using stoploss: -0.05 +2025-04-29 01:54:59,495 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using trailing_stop: True +2025-04-29 01:54:59,495 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using trailing_stop_positive: 0.01 +2025-04-29 01:54:59,496 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using trailing_stop_positive_offset: 0.02 +2025-04-29 01:54:59,496 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using trailing_only_offset_is_reached: False +2025-04-29 01:54:59,496 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using use_custom_stoploss: False +2025-04-29 01:54:59,497 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using process_only_new_candles: True +2025-04-29 01:54:59,497 - 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-04-29 01:54:59,497 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using order_time_in_force: {'entry': 'GTC', 'exit': 'GTC'} +2025-04-29 01:54:59,498 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using stake_currency: USDT +2025-04-29 01:54:59,498 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using stake_amount: 150 +2025-04-29 01:54:59,498 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using startup_candle_count: 30 +2025-04-29 01:54:59,499 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using unfilledtimeout: {'entry': 5, 'exit': 15, 'exit_timeout_count': 0, 'unit': 'minutes'} +2025-04-29 01:54:59,499 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using use_exit_signal: True +2025-04-29 01:54:59,499 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using exit_profit_only: False +2025-04-29 01:54:59,500 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using ignore_roi_if_entry_signal: False +2025-04-29 01:54:59,500 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using exit_profit_offset: 0.0 +2025-04-29 01:54:59,500 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using disable_dataframe_checks: False +2025-04-29 01:54:59,500 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using ignore_buying_expired_candle_after: 0 +2025-04-29 01:54:59,501 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using position_adjustment_enable: False +2025-04-29 01:54:59,501 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using max_entry_position_adjustment: -1 +2025-04-29 01:54:59,501 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using max_open_trades: 4 +2025-04-29 01:54:59,502 - freqtrade.configuration.config_validation - INFO - Validating configuration ... +2025-04-29 01:54:59,505 - freqtrade.resolvers.iresolver - INFO - Using resolved pairlist StaticPairList from '/freqtrade/freqtrade/plugins/pairlist/StaticPairList.py'... +2025-04-29 01:54:59,512 - freqtrade.optimize.backtesting - INFO - Using fee 0.1500% - worst case fee from exchange (lowest tier). +2025-04-29 01:54:59,512 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 3m to 14450 +2025-04-29 01:54:59,513 - freqtrade.data.history.history_utils - INFO - Using indicator startup period: 14450 ... +2025-04-29 01:54:59,672 - freqtrade.optimize.backtesting - INFO - Loading data from 2024-12-01 21:30:00 up to 2025-04-20 00:00:00 (139 days). +2025-04-29 01:54:59,672 - freqtrade.optimize.backtesting - INFO - Dataload complete. Calculating indicators +2025-04-29 01:54:59,673 - freqtrade.optimize.backtesting - INFO - Running backtesting for Strategy FreqaiExampleStrategy +2025-04-29 01:55:01,274 - matplotlib.font_manager - INFO - generated new fontManager +2025-04-29 01:55:01,489 - freqtrade.resolvers.iresolver - INFO - Using resolved freqaimodel XGBoostRegressor from '/freqtrade/freqtrade/freqai/prediction_models/XGBoostRegressor.py'... +2025-04-29 01:55:01,490 - freqtrade.freqai.data_drawer - INFO - Could not find existing datadrawer, starting from scratch +2025-04-29 01:55:01,491 - freqtrade.freqai.data_drawer - INFO - Could not find existing historic_predictions, starting from scratch +2025-04-29 01:55:01,491 - freqtrade.freqai.freqai_interface - INFO - Set fresh train queue from whitelist. Queue: ['BTC/USDT', 'SOL/USDT'] +2025-04-29 01:55:01,492 - freqtrade.strategy.hyper - INFO - Strategy Parameter: buy_rsi = 39.92672300850069 +2025-04-29 01:55:01,492 - freqtrade.strategy.hyper - INFO - Strategy Parameter: sell_rsi = 69.92672300850067 +2025-04-29 01:55:01,493 - freqtrade.strategy.hyper - INFO - No params for protection found, using default values. +2025-04-29 01:55:01,498 - FreqaiExampleStrategy - INFO - 处理交易对:BTC/USDT +2025-04-29 01:55:01,500 - freqtrade.freqai.freqai_interface - INFO - Training 11 timeranges +2025-04-29 01:55:01,501 - freqtrade.freqai.freqai_interface - INFO - Training BTC/USDT, 1/2 pairs from 2024-12-02 00:00:00 to 2025-01-01 00:00:00, 1/11 trains +2025-04-29 01:55:01,502 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_btc_1735689600_prediction.feather +2025-04-29 01:55:01,602 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 5m to 8690 +2025-04-29 01:55:01,603 - freqtrade.data.dataprovider - INFO - Loading data for BTC/USDT 5m from 2024-12-01 19:50:00 to 2025-04-20 00:00:00 +2025-04-29 01:55:01,705 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 1h to 770 +2025-04-29 01:55:01,706 - freqtrade.data.dataprovider - INFO - Loading data for BTC/USDT 1h from 2024-11-29 22:00:00 to 2025-04-20 00:00:00 +2025-04-29 01:55:01,814 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 3m to 14450 +2025-04-29 01:55:01,815 - freqtrade.data.dataprovider - INFO - Loading data for ETH/USDT 3m from 2024-12-01 21:30:00 to 2025-04-20 00:00:00 +2025-04-29 01:55:01,942 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 5m to 8690 +2025-04-29 01:55:01,943 - freqtrade.data.dataprovider - INFO - Loading data for ETH/USDT 5m from 2024-12-01 19:50:00 to 2025-04-20 00:00:00 +2025-04-29 01:55:02,037 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 1h to 770 +2025-04-29 01:55:02,038 - freqtrade.data.dataprovider - INFO - Loading data for ETH/USDT 1h from 2024-11-29 22:00:00 to 2025-04-20 00:00:00 +2025-04-29 01:55:02,113 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:02,118 - FreqaiExampleStrategy - INFO - 目标列形状:(14450,) +2025-04-29 01:55:02,121 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.152831 +1 0.003285 50.152831 +2 0.001898 50.152831 +3 0.000484 50.152831 +4 0.001688 50.152831 +2025-04-29 01:55:02,123 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:02,129 - FreqaiExampleStrategy - INFO - 目标列形状:(19250,) +2025-04-29 01:55:02,130 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.202701 +1 0.003285 50.202701 +2 0.001898 50.202701 +3 0.000484 50.202701 +4 0.001688 50.202701 +2025-04-29 01:55:02,134 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-BTC_1735689600/cb_btc_1735689600 +2025-04-29 01:55:02,135 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training BTC/USDT -------------------- +2025-04-29 01:55:02,151 - freqtrade.freqai.data_kitchen - INFO - BTC/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:55:02,152 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2024-12-02 to 2024-12-31 -------------------- +2025-04-29 01:55:07,277 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 75 features +2025-04-29 01:55:07,278 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.24624 validation_1-rmse:0.26036 +[1] validation_0-rmse:0.24176 validation_1-rmse:0.25460 +[2] validation_0-rmse:0.23782 validation_1-rmse:0.24904 +[3] validation_0-rmse:0.23408 validation_1-rmse:0.24381 +[4] validation_0-rmse:0.23057 validation_1-rmse:0.23882 +[5] validation_0-rmse:0.22701 validation_1-rmse:0.23409 +[6] validation_0-rmse:0.22400 validation_1-rmse:0.22962 +[7] validation_0-rmse:0.22088 validation_1-rmse:0.22533 +[8] validation_0-rmse:0.21817 validation_1-rmse:0.22130 +[9] validation_0-rmse:0.21491 validation_1-rmse:0.21740 +[10] validation_0-rmse:0.21265 validation_1-rmse:0.21347 +[11] validation_0-rmse:0.20982 validation_1-rmse:0.20978 +[12] validation_0-rmse:0.20747 validation_1-rmse:0.20640 +[13] validation_0-rmse:0.20512 validation_1-rmse:0.20299 +[14] validation_0-rmse:0.20280 validation_1-rmse:0.19966 +[15] validation_0-rmse:0.20012 validation_1-rmse:0.19656 +[16] validation_0-rmse:0.19785 validation_1-rmse:0.19346 +[17] validation_0-rmse:0.19572 validation_1-rmse:0.19054 +[18] validation_0-rmse:0.19400 validation_1-rmse:0.18759 +[19] validation_0-rmse:0.19164 validation_1-rmse:0.18488 +[20] validation_0-rmse:0.18956 validation_1-rmse:0.18205 +[21] validation_0-rmse:0.18746 validation_1-rmse:0.17951 +[22] validation_0-rmse:0.18593 validation_1-rmse:0.17696 +[23] validation_0-rmse:0.18395 validation_1-rmse:0.17465 +[24] validation_0-rmse:0.18249 validation_1-rmse:0.17217 +[25] validation_0-rmse:0.18084 validation_1-rmse:0.16993 +[26] validation_0-rmse:0.17928 validation_1-rmse:0.16771 +[27] validation_0-rmse:0.17776 validation_1-rmse:0.16571 +[28] validation_0-rmse:0.17652 validation_1-rmse:0.16356 +[29] validation_0-rmse:0.17499 validation_1-rmse:0.16166 +[30] validation_0-rmse:0.17371 validation_1-rmse:0.15983 +[31] validation_0-rmse:0.17243 validation_1-rmse:0.15792 +[32] validation_0-rmse:0.17110 validation_1-rmse:0.15628 +[33] validation_0-rmse:0.16996 validation_1-rmse:0.15433 +[34] validation_0-rmse:0.16884 validation_1-rmse:0.15277 +[35] validation_0-rmse:0.16785 validation_1-rmse:0.15090 +[36] validation_0-rmse:0.16682 validation_1-rmse:0.14942 +[37] validation_0-rmse:0.16559 validation_1-rmse:0.14774 +[38] validation_0-rmse:0.16459 validation_1-rmse:0.14628 +[39] validation_0-rmse:0.16356 validation_1-rmse:0.14466 +[40] validation_0-rmse:0.16250 validation_1-rmse:0.14330 +[41] validation_0-rmse:0.16153 validation_1-rmse:0.14201 +[42] validation_0-rmse:0.16059 validation_1-rmse:0.14075 +[43] validation_0-rmse:0.15986 validation_1-rmse:0.13938 +[44] validation_0-rmse:0.15908 validation_1-rmse:0.13822 +[45] validation_0-rmse:0.15810 validation_1-rmse:0.13687 +[46] validation_0-rmse:0.15733 validation_1-rmse:0.13577 +[47] validation_0-rmse:0.15655 validation_1-rmse:0.13458 +[48] validation_0-rmse:0.15580 validation_1-rmse:0.13355 +[49] validation_0-rmse:0.15512 validation_1-rmse:0.13228 +[50] validation_0-rmse:0.15434 validation_1-rmse:0.13121 +[51] validation_0-rmse:0.15363 validation_1-rmse:0.13030 +[52] validation_0-rmse:0.15294 validation_1-rmse:0.12937 +[53] validation_0-rmse:0.15243 validation_1-rmse:0.12818 +[54] validation_0-rmse:0.15170 validation_1-rmse:0.12720 +[55] validation_0-rmse:0.15096 validation_1-rmse:0.12632 +[56] validation_0-rmse:0.15035 validation_1-rmse:0.12538 +[57] validation_0-rmse:0.14977 validation_1-rmse:0.12453 +[58] validation_0-rmse:0.14914 validation_1-rmse:0.12363 +[59] validation_0-rmse:0.14867 validation_1-rmse:0.12263 +[60] validation_0-rmse:0.14819 validation_1-rmse:0.12183 +[61] validation_0-rmse:0.14763 validation_1-rmse:0.12108 +[62] validation_0-rmse:0.14706 validation_1-rmse:0.12035 +[63] validation_0-rmse:0.14648 validation_1-rmse:0.11946 +[64] validation_0-rmse:0.14601 validation_1-rmse:0.11876 +[65] validation_0-rmse:0.14553 validation_1-rmse:0.11808 +[66] validation_0-rmse:0.14506 validation_1-rmse:0.11742 +[67] validation_0-rmse:0.14469 validation_1-rmse:0.11671 +[68] validation_0-rmse:0.14422 validation_1-rmse:0.11604 +[69] validation_0-rmse:0.14381 validation_1-rmse:0.11543 +[70] validation_0-rmse:0.14337 validation_1-rmse:0.11485 +[71] validation_0-rmse:0.14294 validation_1-rmse:0.11398 +[72] validation_0-rmse:0.14260 validation_1-rmse:0.11335 +[73] validation_0-rmse:0.14223 validation_1-rmse:0.11278 +[74] validation_0-rmse:0.14190 validation_1-rmse:0.11225 +[75] validation_0-rmse:0.14144 validation_1-rmse:0.11143 +[76] validation_0-rmse:0.14098 validation_1-rmse:0.11052 +[77] validation_0-rmse:0.14062 validation_1-rmse:0.10998 +[78] validation_0-rmse:0.14029 validation_1-rmse:0.10953 +[79] validation_0-rmse:0.13993 validation_1-rmse:0.10888 +[80] validation_0-rmse:0.13958 validation_1-rmse:0.10839 +[81] validation_0-rmse:0.13918 validation_1-rmse:0.10767 +[82] validation_0-rmse:0.13897 validation_1-rmse:0.10720 +[83] validation_0-rmse:0.13864 validation_1-rmse:0.10669 +[84] validation_0-rmse:0.13836 validation_1-rmse:0.10620 +[85] validation_0-rmse:0.13810 validation_1-rmse:0.10573 +[86] validation_0-rmse:0.13782 validation_1-rmse:0.10526 +[87] validation_0-rmse:0.13756 validation_1-rmse:0.10458 +[88] validation_0-rmse:0.13736 validation_1-rmse:0.10420 +[89] validation_0-rmse:0.13708 validation_1-rmse:0.10383 +[90] validation_0-rmse:0.13685 validation_1-rmse:0.10343 +[91] validation_0-rmse:0.13658 validation_1-rmse:0.10298 +[92] validation_0-rmse:0.13646 validation_1-rmse:0.10231 +[93] validation_0-rmse:0.13615 validation_1-rmse:0.10190 +[94] validation_0-rmse:0.13589 validation_1-rmse:0.10154 +[95] validation_0-rmse:0.13572 validation_1-rmse:0.10095 +[96] validation_0-rmse:0.13550 validation_1-rmse:0.10058 +[97] validation_0-rmse:0.13530 validation_1-rmse:0.10026 +[98] validation_0-rmse:0.13513 validation_1-rmse:0.09995 +[99] validation_0-rmse:0.13480 validation_1-rmse:0.09950 +2025-04-29 01:55:08,221 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training BTC/USDT (6.09 secs) -------------------- +2025-04-29 01:55:08,222 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:55:08,903 - freqtrade.freqai.freqai_interface - INFO - Training BTC/USDT, 1/2 pairs from 2024-12-12 00:00:00 to 2025-01-11 00:00:00, 2/11 trains +2025-04-29 01:55:08,904 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_btc_1736553600_prediction.feather +2025-04-29 01:55:08,907 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:08,912 - FreqaiExampleStrategy - INFO - 目标列形状:(19250,) +2025-04-29 01:55:08,914 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.202701 +1 0.003285 50.202701 +2 0.001898 50.202701 +3 0.000484 50.202701 +4 0.001688 50.202701 +2025-04-29 01:55:08,917 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:08,924 - FreqaiExampleStrategy - INFO - 目标列形状:(24050,) +2025-04-29 01:55:08,925 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.367593 +1 0.003285 50.367593 +2 0.001898 50.367593 +3 0.000484 50.367593 +4 0.001688 50.367593 +2025-04-29 01:55:08,929 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-BTC_1736553600/cb_btc_1736553600 +2025-04-29 01:55:08,930 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training BTC/USDT -------------------- +2025-04-29 01:55:08,946 - freqtrade.freqai.data_kitchen - INFO - BTC/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:55:08,947 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2024-12-12 to 2025-01-10 -------------------- +2025-04-29 01:55:13,908 - datasieve.pipeline - INFO - DI tossed 5 predictions for being too far from training data. +2025-04-29 01:55:13,911 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 75 features +2025-04-29 01:55:13,912 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.26037 validation_1-rmse:0.25324 +[1] validation_0-rmse:0.25572 validation_1-rmse:0.24787 +[2] validation_0-rmse:0.25117 validation_1-rmse:0.24281 +[3] validation_0-rmse:0.24697 validation_1-rmse:0.23802 +[4] validation_0-rmse:0.24328 validation_1-rmse:0.23332 +[5] validation_0-rmse:0.23939 validation_1-rmse:0.22905 +[6] validation_0-rmse:0.23522 validation_1-rmse:0.22484 +[7] validation_0-rmse:0.23148 validation_1-rmse:0.22085 +[8] validation_0-rmse:0.22873 validation_1-rmse:0.21697 +[9] validation_0-rmse:0.22519 validation_1-rmse:0.21317 +[10] validation_0-rmse:0.22206 validation_1-rmse:0.20963 +[11] validation_0-rmse:0.21866 validation_1-rmse:0.20626 +[12] validation_0-rmse:0.21563 validation_1-rmse:0.20296 +[13] validation_0-rmse:0.21313 validation_1-rmse:0.19956 +[14] validation_0-rmse:0.21062 validation_1-rmse:0.19636 +[15] validation_0-rmse:0.20808 validation_1-rmse:0.19339 +[16] validation_0-rmse:0.20570 validation_1-rmse:0.19058 +[17] validation_0-rmse:0.20318 validation_1-rmse:0.18781 +[18] validation_0-rmse:0.20113 validation_1-rmse:0.18518 +[19] validation_0-rmse:0.19934 validation_1-rmse:0.18248 +[20] validation_0-rmse:0.19735 validation_1-rmse:0.18006 +[21] validation_0-rmse:0.19541 validation_1-rmse:0.17744 +[22] validation_0-rmse:0.19336 validation_1-rmse:0.17517 +[23] validation_0-rmse:0.19145 validation_1-rmse:0.17301 +[24] validation_0-rmse:0.18989 validation_1-rmse:0.17058 +[25] validation_0-rmse:0.18782 validation_1-rmse:0.16854 +[26] validation_0-rmse:0.18634 validation_1-rmse:0.16625 +[27] validation_0-rmse:0.18471 validation_1-rmse:0.16430 +[28] validation_0-rmse:0.18312 validation_1-rmse:0.16236 +[29] validation_0-rmse:0.18157 validation_1-rmse:0.16053 +[30] validation_0-rmse:0.17991 validation_1-rmse:0.15849 +[31] validation_0-rmse:0.17839 validation_1-rmse:0.15677 +[32] validation_0-rmse:0.17693 validation_1-rmse:0.15498 +[33] validation_0-rmse:0.17574 validation_1-rmse:0.15336 +[34] validation_0-rmse:0.17469 validation_1-rmse:0.15168 +[35] validation_0-rmse:0.17352 validation_1-rmse:0.15015 +[36] validation_0-rmse:0.17228 validation_1-rmse:0.14868 +[37] validation_0-rmse:0.17127 validation_1-rmse:0.14692 +[38] validation_0-rmse:0.17030 validation_1-rmse:0.14553 +[39] validation_0-rmse:0.16926 validation_1-rmse:0.14420 +[40] validation_0-rmse:0.16821 validation_1-rmse:0.14297 +[41] validation_0-rmse:0.16740 validation_1-rmse:0.14144 +[42] validation_0-rmse:0.16647 validation_1-rmse:0.14020 +[43] validation_0-rmse:0.16548 validation_1-rmse:0.13903 +[44] validation_0-rmse:0.16440 validation_1-rmse:0.13765 +[45] validation_0-rmse:0.16353 validation_1-rmse:0.13652 +[46] validation_0-rmse:0.16269 validation_1-rmse:0.13522 +[47] validation_0-rmse:0.16193 validation_1-rmse:0.13419 +[48] validation_0-rmse:0.16114 validation_1-rmse:0.13311 +[49] validation_0-rmse:0.16043 validation_1-rmse:0.13214 +[50] validation_0-rmse:0.15971 validation_1-rmse:0.13090 +[51] validation_0-rmse:0.15909 validation_1-rmse:0.12992 +[52] validation_0-rmse:0.15834 validation_1-rmse:0.12899 +[53] validation_0-rmse:0.15763 validation_1-rmse:0.12809 +[54] validation_0-rmse:0.15697 validation_1-rmse:0.12724 +[55] validation_0-rmse:0.15631 validation_1-rmse:0.12637 +[56] validation_0-rmse:0.15553 validation_1-rmse:0.12535 +[57] validation_0-rmse:0.15494 validation_1-rmse:0.12456 +[58] validation_0-rmse:0.15452 validation_1-rmse:0.12352 +[59] validation_0-rmse:0.15396 validation_1-rmse:0.12273 +[60] validation_0-rmse:0.15334 validation_1-rmse:0.12196 +[61] validation_0-rmse:0.15274 validation_1-rmse:0.12123 +[62] validation_0-rmse:0.15221 validation_1-rmse:0.12048 +[63] validation_0-rmse:0.15176 validation_1-rmse:0.11953 +[64] validation_0-rmse:0.15133 validation_1-rmse:0.11887 +[65] validation_0-rmse:0.15080 validation_1-rmse:0.11796 +[66] validation_0-rmse:0.15035 validation_1-rmse:0.11734 +[67] validation_0-rmse:0.14995 validation_1-rmse:0.11667 +[68] validation_0-rmse:0.14954 validation_1-rmse:0.11616 +[69] validation_0-rmse:0.14916 validation_1-rmse:0.11535 +[70] validation_0-rmse:0.14887 validation_1-rmse:0.11469 +[71] validation_0-rmse:0.14854 validation_1-rmse:0.11408 +[72] validation_0-rmse:0.14811 validation_1-rmse:0.11334 +[73] validation_0-rmse:0.14766 validation_1-rmse:0.11278 +[74] validation_0-rmse:0.14738 validation_1-rmse:0.11231 +[75] validation_0-rmse:0.14697 validation_1-rmse:0.11184 +[76] validation_0-rmse:0.14663 validation_1-rmse:0.11108 +[77] validation_0-rmse:0.14635 validation_1-rmse:0.11058 +[78] validation_0-rmse:0.14591 validation_1-rmse:0.10984 +[79] validation_0-rmse:0.14561 validation_1-rmse:0.10929 +[80] validation_0-rmse:0.14529 validation_1-rmse:0.10875 +[81] validation_0-rmse:0.14510 validation_1-rmse:0.10826 +[82] validation_0-rmse:0.14471 validation_1-rmse:0.10772 +[83] validation_0-rmse:0.14444 validation_1-rmse:0.10725 +[84] validation_0-rmse:0.14420 validation_1-rmse:0.10652 +[85] validation_0-rmse:0.14393 validation_1-rmse:0.10608 +[86] validation_0-rmse:0.14371 validation_1-rmse:0.10567 +[87] validation_0-rmse:0.14342 validation_1-rmse:0.10528 +[88] validation_0-rmse:0.14314 validation_1-rmse:0.10483 +[89] validation_0-rmse:0.14307 validation_1-rmse:0.10439 +[90] validation_0-rmse:0.14273 validation_1-rmse:0.10395 +[91] validation_0-rmse:0.14237 validation_1-rmse:0.10353 +[92] validation_0-rmse:0.14210 validation_1-rmse:0.10318 +[93] validation_0-rmse:0.14186 validation_1-rmse:0.10279 +[94] validation_0-rmse:0.14175 validation_1-rmse:0.10234 +[95] validation_0-rmse:0.14153 validation_1-rmse:0.10204 +[96] validation_0-rmse:0.14142 validation_1-rmse:0.10160 +[97] validation_0-rmse:0.14124 validation_1-rmse:0.10126 +[98] validation_0-rmse:0.14102 validation_1-rmse:0.10068 +[99] validation_0-rmse:0.14079 validation_1-rmse:0.10036 +2025-04-29 01:55:14,692 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training BTC/USDT (5.76 secs) -------------------- +2025-04-29 01:55:14,693 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:55:15,250 - freqtrade.freqai.freqai_interface - INFO - Training BTC/USDT, 1/2 pairs from 2024-12-22 00:00:00 to 2025-01-21 00:00:00, 3/11 trains +2025-04-29 01:55:15,250 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_btc_1737417600_prediction.feather +2025-04-29 01:55:15,254 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:15,261 - FreqaiExampleStrategy - INFO - 目标列形状:(24050,) +2025-04-29 01:55:15,262 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.367593 +1 0.003285 50.367593 +2 0.001898 50.367593 +3 0.000484 50.367593 +4 0.001688 50.367593 +2025-04-29 01:55:15,268 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:15,275 - FreqaiExampleStrategy - INFO - 目标列形状:(28850,) +2025-04-29 01:55:15,276 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.305589 +1 0.003285 50.305589 +2 0.001898 50.305589 +3 0.000484 50.305589 +4 0.001688 50.305589 +2025-04-29 01:55:15,281 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-BTC_1737417600/cb_btc_1737417600 +2025-04-29 01:55:15,281 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training BTC/USDT -------------------- +2025-04-29 01:55:15,297 - freqtrade.freqai.data_kitchen - INFO - BTC/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:55:15,298 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2024-12-22 to 2025-01-20 -------------------- +2025-04-29 01:55:20,324 - datasieve.pipeline - INFO - DI tossed 1622 predictions for being too far from training data. +2025-04-29 01:55:20,327 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 75 features +2025-04-29 01:55:20,327 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.25769 validation_1-rmse:0.25549 +[1] validation_0-rmse:0.25314 validation_1-rmse:0.24986 +[2] validation_0-rmse:0.24864 validation_1-rmse:0.24456 +[3] validation_0-rmse:0.24486 validation_1-rmse:0.23955 +[4] validation_0-rmse:0.24144 validation_1-rmse:0.23480 +[5] validation_0-rmse:0.23803 validation_1-rmse:0.23024 +[6] validation_0-rmse:0.23468 validation_1-rmse:0.22599 +[7] validation_0-rmse:0.23134 validation_1-rmse:0.22162 +[8] validation_0-rmse:0.22843 validation_1-rmse:0.21773 +[9] validation_0-rmse:0.22560 validation_1-rmse:0.21396 +[10] validation_0-rmse:0.22402 validation_1-rmse:0.21023 +[11] validation_0-rmse:0.22155 validation_1-rmse:0.20680 +[12] validation_0-rmse:0.21899 validation_1-rmse:0.20342 +[13] validation_0-rmse:0.21654 validation_1-rmse:0.20029 +[14] validation_0-rmse:0.21431 validation_1-rmse:0.19719 +[15] validation_0-rmse:0.21282 validation_1-rmse:0.19411 +[16] validation_0-rmse:0.21076 validation_1-rmse:0.19117 +[17] validation_0-rmse:0.20882 validation_1-rmse:0.18835 +[18] validation_0-rmse:0.20695 validation_1-rmse:0.18547 +[19] validation_0-rmse:0.20538 validation_1-rmse:0.18292 +[20] validation_0-rmse:0.20345 validation_1-rmse:0.18038 +[21] validation_0-rmse:0.20148 validation_1-rmse:0.17799 +[22] validation_0-rmse:0.19991 validation_1-rmse:0.17569 +[23] validation_0-rmse:0.19832 validation_1-rmse:0.17350 +[24] validation_0-rmse:0.19658 validation_1-rmse:0.17096 +[25] validation_0-rmse:0.19474 validation_1-rmse:0.16879 +[26] validation_0-rmse:0.19292 validation_1-rmse:0.16665 +[27] validation_0-rmse:0.19134 validation_1-rmse:0.16470 +[28] validation_0-rmse:0.19034 validation_1-rmse:0.16253 +[29] validation_0-rmse:0.18882 validation_1-rmse:0.16068 +[30] validation_0-rmse:0.18736 validation_1-rmse:0.15892 +[31] validation_0-rmse:0.18605 validation_1-rmse:0.15690 +[32] validation_0-rmse:0.18481 validation_1-rmse:0.15521 +[33] validation_0-rmse:0.18346 validation_1-rmse:0.15356 +[34] validation_0-rmse:0.18222 validation_1-rmse:0.15188 +[35] validation_0-rmse:0.18095 validation_1-rmse:0.15028 +[36] validation_0-rmse:0.18015 validation_1-rmse:0.14857 +[37] validation_0-rmse:0.17915 validation_1-rmse:0.14713 +[38] validation_0-rmse:0.17817 validation_1-rmse:0.14573 +[39] validation_0-rmse:0.17723 validation_1-rmse:0.14437 +[40] validation_0-rmse:0.17619 validation_1-rmse:0.14308 +[41] validation_0-rmse:0.17509 validation_1-rmse:0.14176 +[42] validation_0-rmse:0.17407 validation_1-rmse:0.14047 +[43] validation_0-rmse:0.17340 validation_1-rmse:0.13921 +[44] validation_0-rmse:0.17245 validation_1-rmse:0.13806 +[45] validation_0-rmse:0.17212 validation_1-rmse:0.13685 +[46] validation_0-rmse:0.17133 validation_1-rmse:0.13577 +[47] validation_0-rmse:0.17064 validation_1-rmse:0.13451 +[48] validation_0-rmse:0.17004 validation_1-rmse:0.13331 +[49] validation_0-rmse:0.16941 validation_1-rmse:0.13222 +[50] validation_0-rmse:0.16858 validation_1-rmse:0.13123 +[51] validation_0-rmse:0.16786 validation_1-rmse:0.13007 +[52] validation_0-rmse:0.16718 validation_1-rmse:0.12912 +[53] validation_0-rmse:0.16651 validation_1-rmse:0.12806 +[54] validation_0-rmse:0.16592 validation_1-rmse:0.12709 +[55] validation_0-rmse:0.16542 validation_1-rmse:0.12604 +[56] validation_0-rmse:0.16479 validation_1-rmse:0.12523 +[57] validation_0-rmse:0.16426 validation_1-rmse:0.12439 +[58] validation_0-rmse:0.16363 validation_1-rmse:0.12352 +[59] validation_0-rmse:0.16325 validation_1-rmse:0.12263 +[60] validation_0-rmse:0.16289 validation_1-rmse:0.12173 +[61] validation_0-rmse:0.16226 validation_1-rmse:0.12099 +[62] validation_0-rmse:0.16176 validation_1-rmse:0.12010 +[63] validation_0-rmse:0.16144 validation_1-rmse:0.11936 +[64] validation_0-rmse:0.16088 validation_1-rmse:0.11862 +[65] validation_0-rmse:0.16030 validation_1-rmse:0.11786 +[66] validation_0-rmse:0.15991 validation_1-rmse:0.11714 +[67] validation_0-rmse:0.15947 validation_1-rmse:0.11640 +[68] validation_0-rmse:0.15912 validation_1-rmse:0.11574 +[69] validation_0-rmse:0.15874 validation_1-rmse:0.11507 +[70] validation_0-rmse:0.15837 validation_1-rmse:0.11430 +[71] validation_0-rmse:0.15798 validation_1-rmse:0.11365 +[72] validation_0-rmse:0.15763 validation_1-rmse:0.11305 +[73] validation_0-rmse:0.15713 validation_1-rmse:0.11250 +[74] validation_0-rmse:0.15648 validation_1-rmse:0.11177 +[75] validation_0-rmse:0.15619 validation_1-rmse:0.11122 +[76] validation_0-rmse:0.15593 validation_1-rmse:0.11066 +[77] validation_0-rmse:0.15562 validation_1-rmse:0.11007 +[78] validation_0-rmse:0.15519 validation_1-rmse:0.10953 +[79] validation_0-rmse:0.15500 validation_1-rmse:0.10883 +[80] validation_0-rmse:0.15461 validation_1-rmse:0.10835 +[81] validation_0-rmse:0.15417 validation_1-rmse:0.10780 +[82] validation_0-rmse:0.15393 validation_1-rmse:0.10742 +[83] validation_0-rmse:0.15395 validation_1-rmse:0.10634 +[84] validation_0-rmse:0.15359 validation_1-rmse:0.10588 +[85] validation_0-rmse:0.15315 validation_1-rmse:0.10539 +[86] validation_0-rmse:0.15315 validation_1-rmse:0.10440 +[87] validation_0-rmse:0.15278 validation_1-rmse:0.10400 +[88] validation_0-rmse:0.15239 validation_1-rmse:0.10353 +[89] validation_0-rmse:0.15200 validation_1-rmse:0.10310 +[90] validation_0-rmse:0.15182 validation_1-rmse:0.10245 +[91] validation_0-rmse:0.15175 validation_1-rmse:0.10182 +[92] validation_0-rmse:0.15139 validation_1-rmse:0.10138 +[93] validation_0-rmse:0.15105 validation_1-rmse:0.10095 +[94] validation_0-rmse:0.15091 validation_1-rmse:0.10056 +[95] validation_0-rmse:0.15088 validation_1-rmse:0.09964 +[96] validation_0-rmse:0.15065 validation_1-rmse:0.09927 +[97] validation_0-rmse:0.15036 validation_1-rmse:0.09888 +[98] validation_0-rmse:0.15021 validation_1-rmse:0.09852 +[99] validation_0-rmse:0.15004 validation_1-rmse:0.09815 +2025-04-29 01:55:21,007 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training BTC/USDT (5.73 secs) -------------------- +2025-04-29 01:55:21,008 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:55:21,504 - freqtrade.freqai.freqai_interface - INFO - Training BTC/USDT, 1/2 pairs from 2025-01-01 00:00:00 to 2025-01-31 00:00:00, 4/11 trains +2025-04-29 01:55:21,505 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_btc_1738281600_prediction.feather +2025-04-29 01:55:21,510 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:21,516 - FreqaiExampleStrategy - INFO - 目标列形状:(28850,) +2025-04-29 01:55:21,517 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.305589 +1 0.003285 50.305589 +2 0.001898 50.305589 +3 0.000484 50.305589 +4 0.001688 50.305589 +2025-04-29 01:55:21,522 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:21,528 - FreqaiExampleStrategy - INFO - 目标列形状:(33650,) +2025-04-29 01:55:21,529 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.168798 +1 0.003285 50.168798 +2 0.001898 50.168798 +3 0.000484 50.168798 +4 0.001688 50.168798 +2025-04-29 01:55:21,533 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-BTC_1738281600/cb_btc_1738281600 +2025-04-29 01:55:21,534 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training BTC/USDT -------------------- +2025-04-29 01:55:21,550 - freqtrade.freqai.data_kitchen - INFO - BTC/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:55:21,550 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-01-01 to 2025-01-30 -------------------- +2025-04-29 01:55:26,605 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 75 features +2025-04-29 01:55:26,606 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.25046 validation_1-rmse:0.26128 +[1] validation_0-rmse:0.24588 validation_1-rmse:0.25570 +[2] validation_0-rmse:0.24156 validation_1-rmse:0.25047 +[3] validation_0-rmse:0.23757 validation_1-rmse:0.24551 +[4] validation_0-rmse:0.23411 validation_1-rmse:0.24075 +[5] validation_0-rmse:0.23029 validation_1-rmse:0.23637 +[6] validation_0-rmse:0.22707 validation_1-rmse:0.23199 +[7] validation_0-rmse:0.22405 validation_1-rmse:0.22801 +[8] validation_0-rmse:0.22083 validation_1-rmse:0.22420 +[9] validation_0-rmse:0.21768 validation_1-rmse:0.22038 +[10] validation_0-rmse:0.21473 validation_1-rmse:0.21674 +[11] validation_0-rmse:0.21187 validation_1-rmse:0.21322 +[12] validation_0-rmse:0.20911 validation_1-rmse:0.20996 +[13] validation_0-rmse:0.20669 validation_1-rmse:0.20679 +[14] validation_0-rmse:0.20441 validation_1-rmse:0.20366 +[15] validation_0-rmse:0.20250 validation_1-rmse:0.20054 +[16] validation_0-rmse:0.20017 validation_1-rmse:0.19757 +[17] validation_0-rmse:0.19804 validation_1-rmse:0.19490 +[18] validation_0-rmse:0.19618 validation_1-rmse:0.19221 +[19] validation_0-rmse:0.19404 validation_1-rmse:0.18954 +[20] validation_0-rmse:0.19209 validation_1-rmse:0.18666 +[21] validation_0-rmse:0.19014 validation_1-rmse:0.18430 +[22] validation_0-rmse:0.18845 validation_1-rmse:0.18197 +[23] validation_0-rmse:0.18653 validation_1-rmse:0.17972 +[24] validation_0-rmse:0.18468 validation_1-rmse:0.17722 +[25] validation_0-rmse:0.18325 validation_1-rmse:0.17491 +[26] validation_0-rmse:0.18152 validation_1-rmse:0.17284 +[27] validation_0-rmse:0.17999 validation_1-rmse:0.17092 +[28] validation_0-rmse:0.17846 validation_1-rmse:0.16892 +[29] validation_0-rmse:0.17696 validation_1-rmse:0.16709 +[30] validation_0-rmse:0.17558 validation_1-rmse:0.16510 +[31] validation_0-rmse:0.17418 validation_1-rmse:0.16335 +[32] validation_0-rmse:0.17293 validation_1-rmse:0.16161 +[33] validation_0-rmse:0.17159 validation_1-rmse:0.16003 +[34] validation_0-rmse:0.17030 validation_1-rmse:0.15831 +[35] validation_0-rmse:0.16907 validation_1-rmse:0.15681 +[36] validation_0-rmse:0.16796 validation_1-rmse:0.15513 +[37] validation_0-rmse:0.16690 validation_1-rmse:0.15349 +[38] validation_0-rmse:0.16580 validation_1-rmse:0.15204 +[39] validation_0-rmse:0.16492 validation_1-rmse:0.15050 +[40] validation_0-rmse:0.16383 validation_1-rmse:0.14918 +[41] validation_0-rmse:0.16281 validation_1-rmse:0.14788 +[42] validation_0-rmse:0.16176 validation_1-rmse:0.14660 +[43] validation_0-rmse:0.16082 validation_1-rmse:0.14516 +[44] validation_0-rmse:0.15990 validation_1-rmse:0.14395 +[45] validation_0-rmse:0.15891 validation_1-rmse:0.14281 +[46] validation_0-rmse:0.15797 validation_1-rmse:0.14168 +[47] validation_0-rmse:0.15712 validation_1-rmse:0.14040 +[48] validation_0-rmse:0.15632 validation_1-rmse:0.13933 +[49] validation_0-rmse:0.15542 validation_1-rmse:0.13821 +[50] validation_0-rmse:0.15458 validation_1-rmse:0.13705 +[51] validation_0-rmse:0.15404 validation_1-rmse:0.13583 +[52] validation_0-rmse:0.15334 validation_1-rmse:0.13483 +[53] validation_0-rmse:0.15256 validation_1-rmse:0.13387 +[54] validation_0-rmse:0.15190 validation_1-rmse:0.13290 +[55] validation_0-rmse:0.15122 validation_1-rmse:0.13174 +[56] validation_0-rmse:0.15065 validation_1-rmse:0.13080 +[57] validation_0-rmse:0.15006 validation_1-rmse:0.12993 +[58] validation_0-rmse:0.14955 validation_1-rmse:0.12897 +[59] validation_0-rmse:0.14893 validation_1-rmse:0.12814 +[60] validation_0-rmse:0.14843 validation_1-rmse:0.12735 +[61] validation_0-rmse:0.14789 validation_1-rmse:0.12642 +[62] validation_0-rmse:0.14718 validation_1-rmse:0.12561 +[63] validation_0-rmse:0.14659 validation_1-rmse:0.12486 +[64] validation_0-rmse:0.14600 validation_1-rmse:0.12397 +[65] validation_0-rmse:0.14547 validation_1-rmse:0.12324 +[66] validation_0-rmse:0.14499 validation_1-rmse:0.12255 +[67] validation_0-rmse:0.14451 validation_1-rmse:0.12188 +[68] validation_0-rmse:0.14393 validation_1-rmse:0.12114 +[69] validation_0-rmse:0.14346 validation_1-rmse:0.12048 +[70] validation_0-rmse:0.14293 validation_1-rmse:0.11974 +[71] validation_0-rmse:0.14256 validation_1-rmse:0.11893 +[72] validation_0-rmse:0.14212 validation_1-rmse:0.11830 +[73] validation_0-rmse:0.14177 validation_1-rmse:0.11748 +[74] validation_0-rmse:0.14134 validation_1-rmse:0.11686 +[75] validation_0-rmse:0.14101 validation_1-rmse:0.11609 +[76] validation_0-rmse:0.14060 validation_1-rmse:0.11536 +[77] validation_0-rmse:0.14020 validation_1-rmse:0.11484 +[78] validation_0-rmse:0.13983 validation_1-rmse:0.11412 +[79] validation_0-rmse:0.13951 validation_1-rmse:0.11357 +[80] validation_0-rmse:0.13928 validation_1-rmse:0.11273 +[81] validation_0-rmse:0.13889 validation_1-rmse:0.11221 +[82] validation_0-rmse:0.13855 validation_1-rmse:0.11166 +[83] validation_0-rmse:0.13824 validation_1-rmse:0.11114 +[84] validation_0-rmse:0.13808 validation_1-rmse:0.11050 +[85] validation_0-rmse:0.13767 validation_1-rmse:0.10998 +[86] validation_0-rmse:0.13731 validation_1-rmse:0.10947 +[87] validation_0-rmse:0.13716 validation_1-rmse:0.10876 +[88] validation_0-rmse:0.13678 validation_1-rmse:0.10832 +[89] validation_0-rmse:0.13659 validation_1-rmse:0.10782 +[90] validation_0-rmse:0.13629 validation_1-rmse:0.10736 +[91] validation_0-rmse:0.13600 validation_1-rmse:0.10662 +[92] validation_0-rmse:0.13577 validation_1-rmse:0.10613 +[93] validation_0-rmse:0.13541 validation_1-rmse:0.10565 +[94] validation_0-rmse:0.13534 validation_1-rmse:0.10501 +[95] validation_0-rmse:0.13511 validation_1-rmse:0.10453 +[96] validation_0-rmse:0.13483 validation_1-rmse:0.10401 +[97] validation_0-rmse:0.13455 validation_1-rmse:0.10362 +[98] validation_0-rmse:0.13425 validation_1-rmse:0.10323 +[99] validation_0-rmse:0.13402 validation_1-rmse:0.10289 +2025-04-29 01:55:27,556 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training BTC/USDT (6.02 secs) -------------------- +2025-04-29 01:55:27,557 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:55:28,076 - freqtrade.freqai.freqai_interface - INFO - Training BTC/USDT, 1/2 pairs from 2025-01-11 00:00:00 to 2025-02-10 00:00:00, 5/11 trains +2025-04-29 01:55:28,077 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_btc_1739145600_prediction.feather +2025-04-29 01:55:28,081 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:28,088 - FreqaiExampleStrategy - INFO - 目标列形状:(33650,) +2025-04-29 01:55:28,089 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.168798 +1 0.003285 50.168798 +2 0.001898 50.168798 +3 0.000484 50.168798 +4 0.001688 50.168798 +2025-04-29 01:55:28,094 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:28,100 - FreqaiExampleStrategy - INFO - 目标列形状:(38450,) +2025-04-29 01:55:28,102 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.167897 +1 0.003285 50.167897 +2 0.001898 50.167897 +3 0.000484 50.167897 +4 0.001688 50.167897 +2025-04-29 01:55:28,106 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-BTC_1739145600/cb_btc_1739145600 +2025-04-29 01:55:28,107 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training BTC/USDT -------------------- +2025-04-29 01:55:28,123 - freqtrade.freqai.data_kitchen - INFO - BTC/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:55:28,124 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-01-11 to 2025-02-09 -------------------- +2025-04-29 01:55:33,123 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 75 features +2025-04-29 01:55:33,124 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.26428 validation_1-rmse:0.27464 +[1] validation_0-rmse:0.25911 validation_1-rmse:0.26865 +[2] validation_0-rmse:0.25427 validation_1-rmse:0.26296 +[3] validation_0-rmse:0.24970 validation_1-rmse:0.25748 +[4] validation_0-rmse:0.24525 validation_1-rmse:0.25222 +[5] validation_0-rmse:0.24140 validation_1-rmse:0.24725 +[6] validation_0-rmse:0.23748 validation_1-rmse:0.24264 +[7] validation_0-rmse:0.23368 validation_1-rmse:0.23792 +[8] validation_0-rmse:0.23022 validation_1-rmse:0.23363 +[9] validation_0-rmse:0.22695 validation_1-rmse:0.22945 +[10] validation_0-rmse:0.22381 validation_1-rmse:0.22543 +[11] validation_0-rmse:0.22105 validation_1-rmse:0.22154 +[12] validation_0-rmse:0.21818 validation_1-rmse:0.21797 +[13] validation_0-rmse:0.21526 validation_1-rmse:0.21430 +[14] validation_0-rmse:0.21284 validation_1-rmse:0.21101 +[15] validation_0-rmse:0.21034 validation_1-rmse:0.20769 +[16] validation_0-rmse:0.20802 validation_1-rmse:0.20438 +[17] validation_0-rmse:0.20590 validation_1-rmse:0.20136 +[18] validation_0-rmse:0.20386 validation_1-rmse:0.19837 +[19] validation_0-rmse:0.20219 validation_1-rmse:0.19549 +[20] validation_0-rmse:0.20037 validation_1-rmse:0.19283 +[21] validation_0-rmse:0.19826 validation_1-rmse:0.19005 +[22] validation_0-rmse:0.19657 validation_1-rmse:0.18750 +[23] validation_0-rmse:0.19525 validation_1-rmse:0.18498 +[24] validation_0-rmse:0.19373 validation_1-rmse:0.18267 +[25] validation_0-rmse:0.19197 validation_1-rmse:0.18037 +[26] validation_0-rmse:0.19063 validation_1-rmse:0.17799 +[27] validation_0-rmse:0.18897 validation_1-rmse:0.17587 +[28] validation_0-rmse:0.18765 validation_1-rmse:0.17382 +[29] validation_0-rmse:0.18608 validation_1-rmse:0.17185 +[30] validation_0-rmse:0.18456 validation_1-rmse:0.16992 +[31] validation_0-rmse:0.18340 validation_1-rmse:0.16793 +[32] validation_0-rmse:0.18206 validation_1-rmse:0.16616 +[33] validation_0-rmse:0.18077 validation_1-rmse:0.16437 +[34] validation_0-rmse:0.17960 validation_1-rmse:0.16270 +[35] validation_0-rmse:0.17857 validation_1-rmse:0.16105 +[36] validation_0-rmse:0.17748 validation_1-rmse:0.15925 +[37] validation_0-rmse:0.17649 validation_1-rmse:0.15762 +[38] validation_0-rmse:0.17540 validation_1-rmse:0.15611 +[39] validation_0-rmse:0.17427 validation_1-rmse:0.15469 +[40] validation_0-rmse:0.17312 validation_1-rmse:0.15301 +[41] validation_0-rmse:0.17217 validation_1-rmse:0.15169 +[42] validation_0-rmse:0.17119 validation_1-rmse:0.15037 +[43] validation_0-rmse:0.17030 validation_1-rmse:0.14910 +[44] validation_0-rmse:0.16939 validation_1-rmse:0.14786 +[45] validation_0-rmse:0.16851 validation_1-rmse:0.14660 +[46] validation_0-rmse:0.16793 validation_1-rmse:0.14518 +[47] validation_0-rmse:0.16760 validation_1-rmse:0.14365 +[48] validation_0-rmse:0.16674 validation_1-rmse:0.14258 +[49] validation_0-rmse:0.16588 validation_1-rmse:0.14152 +[50] validation_0-rmse:0.16505 validation_1-rmse:0.14051 +[51] validation_0-rmse:0.16437 validation_1-rmse:0.13919 +[52] validation_0-rmse:0.16361 validation_1-rmse:0.13818 +[53] validation_0-rmse:0.16290 validation_1-rmse:0.13715 +[54] validation_0-rmse:0.16217 validation_1-rmse:0.13621 +[55] validation_0-rmse:0.16207 validation_1-rmse:0.13493 +[56] validation_0-rmse:0.16153 validation_1-rmse:0.13395 +[57] validation_0-rmse:0.16077 validation_1-rmse:0.13302 +[58] validation_0-rmse:0.16021 validation_1-rmse:0.13218 +[59] validation_0-rmse:0.15972 validation_1-rmse:0.13117 +[60] validation_0-rmse:0.15954 validation_1-rmse:0.13003 +[61] validation_0-rmse:0.15896 validation_1-rmse:0.12926 +[62] validation_0-rmse:0.15849 validation_1-rmse:0.12848 +[63] validation_0-rmse:0.15801 validation_1-rmse:0.12770 +[64] validation_0-rmse:0.15737 validation_1-rmse:0.12678 +[65] validation_0-rmse:0.15736 validation_1-rmse:0.12578 +[66] validation_0-rmse:0.15684 validation_1-rmse:0.12506 +[67] validation_0-rmse:0.15638 validation_1-rmse:0.12437 +[68] validation_0-rmse:0.15618 validation_1-rmse:0.12336 +[69] validation_0-rmse:0.15581 validation_1-rmse:0.12269 +[70] validation_0-rmse:0.15537 validation_1-rmse:0.12205 +[71] validation_0-rmse:0.15534 validation_1-rmse:0.12117 +[72] validation_0-rmse:0.15485 validation_1-rmse:0.12049 +[73] validation_0-rmse:0.15465 validation_1-rmse:0.11968 +[74] validation_0-rmse:0.15430 validation_1-rmse:0.11906 +[75] validation_0-rmse:0.15386 validation_1-rmse:0.11840 +[76] validation_0-rmse:0.15353 validation_1-rmse:0.11781 +[77] validation_0-rmse:0.15354 validation_1-rmse:0.11697 +[78] validation_0-rmse:0.15325 validation_1-rmse:0.11630 +[79] validation_0-rmse:0.15282 validation_1-rmse:0.11572 +[80] validation_0-rmse:0.15239 validation_1-rmse:0.11514 +[81] validation_0-rmse:0.15226 validation_1-rmse:0.11431 +[82] validation_0-rmse:0.15189 validation_1-rmse:0.11381 +[83] validation_0-rmse:0.15171 validation_1-rmse:0.11316 +[84] validation_0-rmse:0.15136 validation_1-rmse:0.11270 +[85] validation_0-rmse:0.15112 validation_1-rmse:0.11212 +[86] validation_0-rmse:0.15112 validation_1-rmse:0.11140 +[87] validation_0-rmse:0.15074 validation_1-rmse:0.11094 +[88] validation_0-rmse:0.15048 validation_1-rmse:0.11035 +[89] validation_0-rmse:0.15026 validation_1-rmse:0.10983 +[90] validation_0-rmse:0.14989 validation_1-rmse:0.10938 +[91] validation_0-rmse:0.14955 validation_1-rmse:0.10893 +[92] validation_0-rmse:0.14955 validation_1-rmse:0.10815 +[93] validation_0-rmse:0.14933 validation_1-rmse:0.10765 +[94] validation_0-rmse:0.14908 validation_1-rmse:0.10711 +[95] validation_0-rmse:0.14889 validation_1-rmse:0.10668 +[96] validation_0-rmse:0.14853 validation_1-rmse:0.10627 +[97] validation_0-rmse:0.14853 validation_1-rmse:0.10553 +[98] validation_0-rmse:0.14835 validation_1-rmse:0.10513 +[99] validation_0-rmse:0.14818 validation_1-rmse:0.10475 +2025-04-29 01:55:33,929 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training BTC/USDT (5.82 secs) -------------------- +2025-04-29 01:55:33,930 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:55:34,433 - freqtrade.freqai.freqai_interface - INFO - Training BTC/USDT, 1/2 pairs from 2025-01-21 00:00:00 to 2025-02-20 00:00:00, 6/11 trains +2025-04-29 01:55:34,434 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_btc_1740009600_prediction.feather +2025-04-29 01:55:34,440 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:34,447 - FreqaiExampleStrategy - INFO - 目标列形状:(38450,) +2025-04-29 01:55:34,448 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.167897 +1 0.003285 50.167897 +2 0.001898 50.167897 +3 0.000484 50.167897 +4 0.001688 50.167897 +2025-04-29 01:55:34,453 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:34,459 - FreqaiExampleStrategy - INFO - 目标列形状:(43250,) +2025-04-29 01:55:34,461 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.107698 +1 0.003285 50.107698 +2 0.001898 50.107698 +3 0.000484 50.107698 +4 0.001688 50.107698 +2025-04-29 01:55:34,465 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-BTC_1740009600/cb_btc_1740009600 +2025-04-29 01:55:34,466 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training BTC/USDT -------------------- +2025-04-29 01:55:34,482 - freqtrade.freqai.data_kitchen - INFO - BTC/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:55:34,483 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-01-21 to 2025-02-19 -------------------- +2025-04-29 01:55:39,369 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 75 features +2025-04-29 01:55:39,370 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.27166 validation_1-rmse:0.27726 +[1] validation_0-rmse:0.26708 validation_1-rmse:0.27112 +[2] validation_0-rmse:0.26297 validation_1-rmse:0.26523 +[3] validation_0-rmse:0.25865 validation_1-rmse:0.25959 +[4] validation_0-rmse:0.25494 validation_1-rmse:0.25419 +[5] validation_0-rmse:0.25100 validation_1-rmse:0.24913 +[6] validation_0-rmse:0.24763 validation_1-rmse:0.24437 +[7] validation_0-rmse:0.24441 validation_1-rmse:0.23970 +[8] validation_0-rmse:0.24110 validation_1-rmse:0.23527 +[9] validation_0-rmse:0.23801 validation_1-rmse:0.23102 +[10] validation_0-rmse:0.23492 validation_1-rmse:0.22691 +[11] validation_0-rmse:0.23229 validation_1-rmse:0.22297 +[12] validation_0-rmse:0.22956 validation_1-rmse:0.21923 +[13] validation_0-rmse:0.22707 validation_1-rmse:0.21564 +[14] validation_0-rmse:0.22482 validation_1-rmse:0.21221 +[15] validation_0-rmse:0.22237 validation_1-rmse:0.20891 +[16] validation_0-rmse:0.22030 validation_1-rmse:0.20557 +[17] validation_0-rmse:0.21784 validation_1-rmse:0.20243 +[18] validation_0-rmse:0.21591 validation_1-rmse:0.19949 +[19] validation_0-rmse:0.21399 validation_1-rmse:0.19664 +[20] validation_0-rmse:0.21182 validation_1-rmse:0.19378 +[21] validation_0-rmse:0.20992 validation_1-rmse:0.19110 +[22] validation_0-rmse:0.20821 validation_1-rmse:0.18850 +[23] validation_0-rmse:0.20621 validation_1-rmse:0.18597 +[24] validation_0-rmse:0.20490 validation_1-rmse:0.18353 +[25] validation_0-rmse:0.20318 validation_1-rmse:0.18126 +[26] validation_0-rmse:0.20168 validation_1-rmse:0.17896 +[27] validation_0-rmse:0.19992 validation_1-rmse:0.17679 +[28] validation_0-rmse:0.19865 validation_1-rmse:0.17458 +[29] validation_0-rmse:0.19722 validation_1-rmse:0.17257 +[30] validation_0-rmse:0.19571 validation_1-rmse:0.17039 +[31] validation_0-rmse:0.19429 validation_1-rmse:0.16855 +[32] validation_0-rmse:0.19285 validation_1-rmse:0.16664 +[33] validation_0-rmse:0.19141 validation_1-rmse:0.16488 +[34] validation_0-rmse:0.19022 validation_1-rmse:0.16312 +[35] validation_0-rmse:0.18904 validation_1-rmse:0.16145 +[36] validation_0-rmse:0.18832 validation_1-rmse:0.15973 +[37] validation_0-rmse:0.18723 validation_1-rmse:0.15815 +[38] validation_0-rmse:0.18610 validation_1-rmse:0.15653 +[39] validation_0-rmse:0.18504 validation_1-rmse:0.15503 +[40] validation_0-rmse:0.18402 validation_1-rmse:0.15358 +[41] validation_0-rmse:0.18333 validation_1-rmse:0.15193 +[42] validation_0-rmse:0.18213 validation_1-rmse:0.15058 +[43] validation_0-rmse:0.18176 validation_1-rmse:0.14922 +[44] validation_0-rmse:0.18093 validation_1-rmse:0.14792 +[45] validation_0-rmse:0.18017 validation_1-rmse:0.14667 +[46] validation_0-rmse:0.17928 validation_1-rmse:0.14537 +[47] validation_0-rmse:0.17858 validation_1-rmse:0.14420 +[48] validation_0-rmse:0.17770 validation_1-rmse:0.14306 +[49] validation_0-rmse:0.17695 validation_1-rmse:0.14199 +[50] validation_0-rmse:0.17613 validation_1-rmse:0.14094 +[51] validation_0-rmse:0.17545 validation_1-rmse:0.13979 +[52] validation_0-rmse:0.17490 validation_1-rmse:0.13874 +[53] validation_0-rmse:0.17452 validation_1-rmse:0.13755 +[54] validation_0-rmse:0.17383 validation_1-rmse:0.13663 +[55] validation_0-rmse:0.17327 validation_1-rmse:0.13568 +[56] validation_0-rmse:0.17255 validation_1-rmse:0.13477 +[57] validation_0-rmse:0.17192 validation_1-rmse:0.13382 +[58] validation_0-rmse:0.17138 validation_1-rmse:0.13277 +[59] validation_0-rmse:0.17074 validation_1-rmse:0.13188 +[60] validation_0-rmse:0.17026 validation_1-rmse:0.13089 +[61] validation_0-rmse:0.16969 validation_1-rmse:0.13010 +[62] validation_0-rmse:0.16932 validation_1-rmse:0.12904 +[63] validation_0-rmse:0.16888 validation_1-rmse:0.12818 +[64] validation_0-rmse:0.16849 validation_1-rmse:0.12745 +[65] validation_0-rmse:0.16802 validation_1-rmse:0.12639 +[66] validation_0-rmse:0.16747 validation_1-rmse:0.12567 +[67] validation_0-rmse:0.16710 validation_1-rmse:0.12496 +[68] validation_0-rmse:0.16672 validation_1-rmse:0.12426 +[69] validation_0-rmse:0.16635 validation_1-rmse:0.12331 +[70] validation_0-rmse:0.16597 validation_1-rmse:0.12267 +[71] validation_0-rmse:0.16554 validation_1-rmse:0.12196 +[72] validation_0-rmse:0.16522 validation_1-rmse:0.12121 +[73] validation_0-rmse:0.16481 validation_1-rmse:0.12054 +[74] validation_0-rmse:0.16442 validation_1-rmse:0.11996 +[75] validation_0-rmse:0.16409 validation_1-rmse:0.11939 +[76] validation_0-rmse:0.16375 validation_1-rmse:0.11878 +[77] validation_0-rmse:0.16275 validation_1-rmse:0.11753 +[78] validation_0-rmse:0.16248 validation_1-rmse:0.11692 +[79] validation_0-rmse:0.16215 validation_1-rmse:0.11619 +[80] validation_0-rmse:0.16187 validation_1-rmse:0.11564 +[81] validation_0-rmse:0.16150 validation_1-rmse:0.11493 +[82] validation_0-rmse:0.16123 validation_1-rmse:0.11438 +[83] validation_0-rmse:0.16109 validation_1-rmse:0.11358 +[84] validation_0-rmse:0.16065 validation_1-rmse:0.11304 +[85] validation_0-rmse:0.16038 validation_1-rmse:0.11256 +[86] validation_0-rmse:0.16022 validation_1-rmse:0.11205 +[87] validation_0-rmse:0.16007 validation_1-rmse:0.11158 +[88] validation_0-rmse:0.15945 validation_1-rmse:0.11054 +[89] validation_0-rmse:0.15912 validation_1-rmse:0.11008 +[90] validation_0-rmse:0.15894 validation_1-rmse:0.10937 +[91] validation_0-rmse:0.15868 validation_1-rmse:0.10886 +[92] validation_0-rmse:0.15845 validation_1-rmse:0.10844 +[93] validation_0-rmse:0.15817 validation_1-rmse:0.10803 +[94] validation_0-rmse:0.15789 validation_1-rmse:0.10758 +[95] validation_0-rmse:0.15772 validation_1-rmse:0.10721 +[96] validation_0-rmse:0.15763 validation_1-rmse:0.10676 +[97] validation_0-rmse:0.15751 validation_1-rmse:0.10609 +[98] validation_0-rmse:0.15731 validation_1-rmse:0.10574 +[99] validation_0-rmse:0.15738 validation_1-rmse:0.10531 +2025-04-29 01:55:40,266 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training BTC/USDT (5.80 secs) -------------------- +2025-04-29 01:55:40,267 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:55:40,801 - freqtrade.freqai.freqai_interface - INFO - Training BTC/USDT, 1/2 pairs from 2025-01-31 00:00:00 to 2025-03-02 00:00:00, 7/11 trains +2025-04-29 01:55:40,802 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_btc_1740873600_prediction.feather +2025-04-29 01:55:40,807 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:40,814 - FreqaiExampleStrategy - INFO - 目标列形状:(43250,) +2025-04-29 01:55:40,816 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.107698 +1 0.003285 50.107698 +2 0.001898 50.107698 +3 0.000484 50.107698 +4 0.001688 50.107698 +2025-04-29 01:55:40,821 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:40,827 - FreqaiExampleStrategy - INFO - 目标列形状:(48050,) +2025-04-29 01:55:40,829 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.079166 +1 0.003285 50.079166 +2 0.001898 50.079166 +3 0.000484 50.079166 +4 0.001688 50.079166 +2025-04-29 01:55:40,833 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-BTC_1740873600/cb_btc_1740873600 +2025-04-29 01:55:40,834 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training BTC/USDT -------------------- +2025-04-29 01:55:40,849 - freqtrade.freqai.data_kitchen - INFO - BTC/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:55:40,850 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-01-31 to 2025-03-01 -------------------- +2025-04-29 01:55:45,643 - datasieve.pipeline - INFO - DI tossed 2275 predictions for being too far from training data. +2025-04-29 01:55:45,646 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 75 features +2025-04-29 01:55:45,647 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.27618 validation_1-rmse:0.28955 +[1] validation_0-rmse:0.27005 validation_1-rmse:0.28323 +[2] validation_0-rmse:0.26414 validation_1-rmse:0.27722 +[3] validation_0-rmse:0.25897 validation_1-rmse:0.27161 +[4] validation_0-rmse:0.25425 validation_1-rmse:0.26622 +[5] validation_0-rmse:0.24886 validation_1-rmse:0.26100 +[6] validation_0-rmse:0.24522 validation_1-rmse:0.25606 +[7] validation_0-rmse:0.24137 validation_1-rmse:0.25132 +[8] validation_0-rmse:0.23765 validation_1-rmse:0.24687 +[9] validation_0-rmse:0.23323 validation_1-rmse:0.24254 +[10] validation_0-rmse:0.22900 validation_1-rmse:0.23827 +[11] validation_0-rmse:0.22588 validation_1-rmse:0.23450 +[12] validation_0-rmse:0.22228 validation_1-rmse:0.23055 +[13] validation_0-rmse:0.21872 validation_1-rmse:0.22698 +[14] validation_0-rmse:0.21492 validation_1-rmse:0.22348 +[15] validation_0-rmse:0.21329 validation_1-rmse:0.22011 +[16] validation_0-rmse:0.21024 validation_1-rmse:0.21686 +[17] validation_0-rmse:0.20823 validation_1-rmse:0.21380 +[18] validation_0-rmse:0.20544 validation_1-rmse:0.21075 +[19] validation_0-rmse:0.20415 validation_1-rmse:0.20787 +[20] validation_0-rmse:0.20143 validation_1-rmse:0.20515 +[21] validation_0-rmse:0.19917 validation_1-rmse:0.20247 +[22] validation_0-rmse:0.19745 validation_1-rmse:0.19994 +[23] validation_0-rmse:0.19508 validation_1-rmse:0.19746 +[24] validation_0-rmse:0.19300 validation_1-rmse:0.19490 +[25] validation_0-rmse:0.19085 validation_1-rmse:0.19254 +[26] validation_0-rmse:0.18898 validation_1-rmse:0.19031 +[27] validation_0-rmse:0.18720 validation_1-rmse:0.18794 +[28] validation_0-rmse:0.18503 validation_1-rmse:0.18584 +[29] validation_0-rmse:0.18314 validation_1-rmse:0.18382 +[30] validation_0-rmse:0.18132 validation_1-rmse:0.18164 +[31] validation_0-rmse:0.17984 validation_1-rmse:0.17967 +[32] validation_0-rmse:0.17818 validation_1-rmse:0.17779 +[33] validation_0-rmse:0.17637 validation_1-rmse:0.17572 +[34] validation_0-rmse:0.17473 validation_1-rmse:0.17399 +[35] validation_0-rmse:0.17338 validation_1-rmse:0.17229 +[36] validation_0-rmse:0.17253 validation_1-rmse:0.17055 +[37] validation_0-rmse:0.17149 validation_1-rmse:0.16883 +[38] validation_0-rmse:0.17030 validation_1-rmse:0.16730 +[39] validation_0-rmse:0.16950 validation_1-rmse:0.16556 +[40] validation_0-rmse:0.16815 validation_1-rmse:0.16412 +[41] validation_0-rmse:0.16704 validation_1-rmse:0.16268 +[42] validation_0-rmse:0.16617 validation_1-rmse:0.16128 +[43] validation_0-rmse:0.16542 validation_1-rmse:0.15970 +[44] validation_0-rmse:0.16438 validation_1-rmse:0.15840 +[45] validation_0-rmse:0.16356 validation_1-rmse:0.15692 +[46] validation_0-rmse:0.16239 validation_1-rmse:0.15574 +[47] validation_0-rmse:0.16153 validation_1-rmse:0.15456 +[48] validation_0-rmse:0.16076 validation_1-rmse:0.15314 +[49] validation_0-rmse:0.15998 validation_1-rmse:0.15201 +[50] validation_0-rmse:0.15946 validation_1-rmse:0.15084 +[51] validation_0-rmse:0.15891 validation_1-rmse:0.14954 +[52] validation_0-rmse:0.15834 validation_1-rmse:0.14847 +[53] validation_0-rmse:0.15764 validation_1-rmse:0.14722 +[54] validation_0-rmse:0.15707 validation_1-rmse:0.14623 +[55] validation_0-rmse:0.15653 validation_1-rmse:0.14527 +[56] validation_0-rmse:0.15583 validation_1-rmse:0.14434 +[57] validation_0-rmse:0.15549 validation_1-rmse:0.14329 +[58] validation_0-rmse:0.15507 validation_1-rmse:0.14241 +[59] validation_0-rmse:0.15468 validation_1-rmse:0.14053 +[60] validation_0-rmse:0.15398 validation_1-rmse:0.13968 +[61] validation_0-rmse:0.15390 validation_1-rmse:0.13864 +[62] validation_0-rmse:0.15360 validation_1-rmse:0.13783 +[63] validation_0-rmse:0.15368 validation_1-rmse:0.13704 +[64] validation_0-rmse:0.15338 validation_1-rmse:0.13624 +[65] validation_0-rmse:0.15273 validation_1-rmse:0.13551 +[66] validation_0-rmse:0.15238 validation_1-rmse:0.13451 +[67] validation_0-rmse:0.15212 validation_1-rmse:0.13290 +[68] validation_0-rmse:0.15191 validation_1-rmse:0.13217 +[69] validation_0-rmse:0.15138 validation_1-rmse:0.13143 +[70] validation_0-rmse:0.15090 validation_1-rmse:0.13071 +[71] validation_0-rmse:0.15082 validation_1-rmse:0.13001 +[72] validation_0-rmse:0.14988 validation_1-rmse:0.12847 +[73] validation_0-rmse:0.14953 validation_1-rmse:0.12783 +[74] validation_0-rmse:0.14924 validation_1-rmse:0.12709 +[75] validation_0-rmse:0.14926 validation_1-rmse:0.12578 +[76] validation_0-rmse:0.14903 validation_1-rmse:0.12499 +[77] validation_0-rmse:0.14851 validation_1-rmse:0.12435 +[78] validation_0-rmse:0.14808 validation_1-rmse:0.12368 +[79] validation_0-rmse:0.14768 validation_1-rmse:0.12305 +[80] validation_0-rmse:0.14741 validation_1-rmse:0.12217 +[81] validation_0-rmse:0.14712 validation_1-rmse:0.12165 +[82] validation_0-rmse:0.14696 validation_1-rmse:0.12110 +[83] validation_0-rmse:0.14686 validation_1-rmse:0.12045 +[84] validation_0-rmse:0.14648 validation_1-rmse:0.11984 +[85] validation_0-rmse:0.14623 validation_1-rmse:0.11923 +[86] validation_0-rmse:0.14606 validation_1-rmse:0.11869 +[87] validation_0-rmse:0.14583 validation_1-rmse:0.11754 +[88] validation_0-rmse:0.14572 validation_1-rmse:0.11710 +[89] validation_0-rmse:0.14537 validation_1-rmse:0.11660 +[90] validation_0-rmse:0.14510 validation_1-rmse:0.11614 +[91] validation_0-rmse:0.14516 validation_1-rmse:0.11514 +[92] validation_0-rmse:0.14480 validation_1-rmse:0.11455 +[93] validation_0-rmse:0.14475 validation_1-rmse:0.11414 +[94] validation_0-rmse:0.14443 validation_1-rmse:0.11374 +[95] validation_0-rmse:0.14409 validation_1-rmse:0.11331 +[96] validation_0-rmse:0.14391 validation_1-rmse:0.11240 +[97] validation_0-rmse:0.14303 validation_1-rmse:0.11154 +[98] validation_0-rmse:0.14274 validation_1-rmse:0.11114 +[99] validation_0-rmse:0.14246 validation_1-rmse:0.11071 +2025-04-29 01:55:46,544 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training BTC/USDT (5.71 secs) -------------------- +2025-04-29 01:55:46,544 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:55:47,092 - freqtrade.freqai.freqai_interface - INFO - Training BTC/USDT, 1/2 pairs from 2025-02-10 00:00:00 to 2025-03-12 00:00:00, 8/11 trains +2025-04-29 01:55:47,092 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_btc_1741737600_prediction.feather +2025-04-29 01:55:47,100 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:47,107 - FreqaiExampleStrategy - INFO - 目标列形状:(48050,) +2025-04-29 01:55:47,109 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.079166 +1 0.003285 50.079166 +2 0.001898 50.079166 +3 0.000484 50.079166 +4 0.001688 50.079166 +2025-04-29 01:55:47,115 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:47,122 - FreqaiExampleStrategy - INFO - 目标列形状:(52850,) +2025-04-29 01:55:47,123 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.102027 +1 0.003285 50.102027 +2 0.001898 50.102027 +3 0.000484 50.102027 +4 0.001688 50.102027 +2025-04-29 01:55:47,128 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-BTC_1741737600/cb_btc_1741737600 +2025-04-29 01:55:47,129 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training BTC/USDT -------------------- +2025-04-29 01:55:47,145 - freqtrade.freqai.data_kitchen - INFO - BTC/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:55:47,145 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-02-10 to 2025-03-11 -------------------- +2025-04-29 01:55:51,987 - datasieve.pipeline - INFO - DI tossed 18 predictions for being too far from training data. +2025-04-29 01:55:51,989 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 75 features +2025-04-29 01:55:51,989 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.26738 validation_1-rmse:0.26816 +[1] validation_0-rmse:0.26268 validation_1-rmse:0.26258 +[2] validation_0-rmse:0.25808 validation_1-rmse:0.25725 +[3] validation_0-rmse:0.25395 validation_1-rmse:0.25212 +[4] validation_0-rmse:0.24987 validation_1-rmse:0.24723 +[5] validation_0-rmse:0.24633 validation_1-rmse:0.24263 +[6] validation_0-rmse:0.24308 validation_1-rmse:0.23814 +[7] validation_0-rmse:0.23959 validation_1-rmse:0.23402 +[8] validation_0-rmse:0.23612 validation_1-rmse:0.22977 +[9] validation_0-rmse:0.23322 validation_1-rmse:0.22577 +[10] validation_0-rmse:0.23012 validation_1-rmse:0.22207 +[11] validation_0-rmse:0.22730 validation_1-rmse:0.21843 +[12] validation_0-rmse:0.22453 validation_1-rmse:0.21489 +[13] validation_0-rmse:0.22236 validation_1-rmse:0.21145 +[14] validation_0-rmse:0.22000 validation_1-rmse:0.20841 +[15] validation_0-rmse:0.21744 validation_1-rmse:0.20529 +[16] validation_0-rmse:0.21556 validation_1-rmse:0.20225 +[17] validation_0-rmse:0.21331 validation_1-rmse:0.19932 +[18] validation_0-rmse:0.21171 validation_1-rmse:0.19643 +[19] validation_0-rmse:0.21051 validation_1-rmse:0.19382 +[20] validation_0-rmse:0.20880 validation_1-rmse:0.19128 +[21] validation_0-rmse:0.20711 validation_1-rmse:0.18854 +[22] validation_0-rmse:0.20538 validation_1-rmse:0.18612 +[23] validation_0-rmse:0.20350 validation_1-rmse:0.18381 +[24] validation_0-rmse:0.20234 validation_1-rmse:0.18144 +[25] validation_0-rmse:0.20081 validation_1-rmse:0.17917 +[26] validation_0-rmse:0.19918 validation_1-rmse:0.17714 +[27] validation_0-rmse:0.19804 validation_1-rmse:0.17496 +[28] validation_0-rmse:0.19662 validation_1-rmse:0.17304 +[29] validation_0-rmse:0.19580 validation_1-rmse:0.17082 +[30] validation_0-rmse:0.19454 validation_1-rmse:0.16901 +[31] validation_0-rmse:0.19331 validation_1-rmse:0.16691 +[32] validation_0-rmse:0.19234 validation_1-rmse:0.16517 +[33] validation_0-rmse:0.19118 validation_1-rmse:0.16354 +[34] validation_0-rmse:0.19024 validation_1-rmse:0.16175 +[35] validation_0-rmse:0.18915 validation_1-rmse:0.16020 +[36] validation_0-rmse:0.18823 validation_1-rmse:0.15865 +[37] validation_0-rmse:0.18756 validation_1-rmse:0.15712 +[38] validation_0-rmse:0.18698 validation_1-rmse:0.15541 +[39] validation_0-rmse:0.18643 validation_1-rmse:0.15395 +[40] validation_0-rmse:0.18562 validation_1-rmse:0.15265 +[41] validation_0-rmse:0.18516 validation_1-rmse:0.15124 +[42] validation_0-rmse:0.18421 validation_1-rmse:0.14979 +[43] validation_0-rmse:0.18360 validation_1-rmse:0.14850 +[44] validation_0-rmse:0.18275 validation_1-rmse:0.14733 +[45] validation_0-rmse:0.18253 validation_1-rmse:0.14597 +[46] validation_0-rmse:0.18183 validation_1-rmse:0.14470 +[47] validation_0-rmse:0.18111 validation_1-rmse:0.14361 +[48] validation_0-rmse:0.18060 validation_1-rmse:0.14243 +[49] validation_0-rmse:0.18001 validation_1-rmse:0.14134 +[50] validation_0-rmse:0.17953 validation_1-rmse:0.14030 +[51] validation_0-rmse:0.17899 validation_1-rmse:0.13927 +[52] validation_0-rmse:0.17830 validation_1-rmse:0.13817 +[53] validation_0-rmse:0.17770 validation_1-rmse:0.13720 +[54] validation_0-rmse:0.17702 validation_1-rmse:0.13629 +[55] validation_0-rmse:0.17650 validation_1-rmse:0.13531 +[56] validation_0-rmse:0.17625 validation_1-rmse:0.13440 +[57] validation_0-rmse:0.17580 validation_1-rmse:0.13352 +[58] validation_0-rmse:0.17530 validation_1-rmse:0.13268 +[59] validation_0-rmse:0.17486 validation_1-rmse:0.13166 +[60] validation_0-rmse:0.17438 validation_1-rmse:0.13071 +[61] validation_0-rmse:0.17387 validation_1-rmse:0.12991 +[62] validation_0-rmse:0.17356 validation_1-rmse:0.12914 +[63] validation_0-rmse:0.17311 validation_1-rmse:0.12839 +[64] validation_0-rmse:0.17265 validation_1-rmse:0.12767 +[65] validation_0-rmse:0.17209 validation_1-rmse:0.12682 +[66] validation_0-rmse:0.17197 validation_1-rmse:0.12595 +[67] validation_0-rmse:0.17157 validation_1-rmse:0.12506 +[68] validation_0-rmse:0.17131 validation_1-rmse:0.12439 +[69] validation_0-rmse:0.17088 validation_1-rmse:0.12371 +[70] validation_0-rmse:0.17038 validation_1-rmse:0.12298 +[71] validation_0-rmse:0.17009 validation_1-rmse:0.12235 +[72] validation_0-rmse:0.16979 validation_1-rmse:0.12172 +[73] validation_0-rmse:0.16934 validation_1-rmse:0.12118 +[74] validation_0-rmse:0.16902 validation_1-rmse:0.12050 +[75] validation_0-rmse:0.16881 validation_1-rmse:0.11988 +[76] validation_0-rmse:0.16846 validation_1-rmse:0.11928 +[77] validation_0-rmse:0.16809 validation_1-rmse:0.11846 +[78] validation_0-rmse:0.16774 validation_1-rmse:0.11791 +[79] validation_0-rmse:0.16745 validation_1-rmse:0.11738 +[80] validation_0-rmse:0.16717 validation_1-rmse:0.11683 +[81] validation_0-rmse:0.16702 validation_1-rmse:0.11599 +[82] validation_0-rmse:0.16677 validation_1-rmse:0.11535 +[83] validation_0-rmse:0.16649 validation_1-rmse:0.11468 +[84] validation_0-rmse:0.16605 validation_1-rmse:0.11415 +[85] validation_0-rmse:0.16591 validation_1-rmse:0.11350 +[86] validation_0-rmse:0.16560 validation_1-rmse:0.11303 +[87] validation_0-rmse:0.16531 validation_1-rmse:0.11259 +[88] validation_0-rmse:0.16504 validation_1-rmse:0.11185 +[89] validation_0-rmse:0.16485 validation_1-rmse:0.11134 +[90] validation_0-rmse:0.16463 validation_1-rmse:0.11083 +[91] validation_0-rmse:0.16436 validation_1-rmse:0.11041 +[92] validation_0-rmse:0.16412 validation_1-rmse:0.10988 +[93] validation_0-rmse:0.16388 validation_1-rmse:0.10942 +[94] validation_0-rmse:0.16391 validation_1-rmse:0.10881 +[95] validation_0-rmse:0.16357 validation_1-rmse:0.10838 +[96] validation_0-rmse:0.16358 validation_1-rmse:0.10796 +[97] validation_0-rmse:0.16338 validation_1-rmse:0.10756 +[98] validation_0-rmse:0.16339 validation_1-rmse:0.10688 +[99] validation_0-rmse:0.16321 validation_1-rmse:0.10649 +2025-04-29 01:55:52,741 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training BTC/USDT (5.61 secs) -------------------- +2025-04-29 01:55:52,742 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:55:53,285 - freqtrade.freqai.freqai_interface - INFO - Training BTC/USDT, 1/2 pairs from 2025-02-20 00:00:00 to 2025-03-22 00:00:00, 9/11 trains +2025-04-29 01:55:53,286 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_btc_1742601600_prediction.feather +2025-04-29 01:55:53,291 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:53,298 - FreqaiExampleStrategy - INFO - 目标列形状:(52850,) +2025-04-29 01:55:53,300 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.102027 +1 0.003285 50.102027 +2 0.001898 50.102027 +3 0.000484 50.102027 +4 0.001688 50.102027 +2025-04-29 01:55:53,309 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:53,316 - FreqaiExampleStrategy - INFO - 目标列形状:(57650,) +2025-04-29 01:55:53,318 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.079967 +1 0.003285 50.079967 +2 0.001898 50.079967 +3 0.000484 50.079967 +4 0.001688 50.079967 +2025-04-29 01:55:53,322 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-BTC_1742601600/cb_btc_1742601600 +2025-04-29 01:55:53,323 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training BTC/USDT -------------------- +2025-04-29 01:55:53,339 - freqtrade.freqai.data_kitchen - INFO - BTC/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:55:53,340 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-02-20 to 2025-03-21 -------------------- +2025-04-29 01:55:58,184 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 75 features +2025-04-29 01:55:58,185 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.26992 validation_1-rmse:0.26756 +[1] validation_0-rmse:0.26551 validation_1-rmse:0.26201 +[2] validation_0-rmse:0.26111 validation_1-rmse:0.25656 +[3] validation_0-rmse:0.25690 validation_1-rmse:0.25154 +[4] validation_0-rmse:0.25291 validation_1-rmse:0.24683 +[5] validation_0-rmse:0.24933 validation_1-rmse:0.24228 +[6] validation_0-rmse:0.24598 validation_1-rmse:0.23796 +[7] validation_0-rmse:0.24252 validation_1-rmse:0.23392 +[8] validation_0-rmse:0.23953 validation_1-rmse:0.22978 +[9] validation_0-rmse:0.23634 validation_1-rmse:0.22592 +[10] validation_0-rmse:0.23330 validation_1-rmse:0.22229 +[11] validation_0-rmse:0.23059 validation_1-rmse:0.21875 +[12] validation_0-rmse:0.22799 validation_1-rmse:0.21546 +[13] validation_0-rmse:0.22565 validation_1-rmse:0.21212 +[14] validation_0-rmse:0.22329 validation_1-rmse:0.20904 +[15] validation_0-rmse:0.22111 validation_1-rmse:0.20604 +[16] validation_0-rmse:0.21894 validation_1-rmse:0.20318 +[17] validation_0-rmse:0.21715 validation_1-rmse:0.20021 +[18] validation_0-rmse:0.21499 validation_1-rmse:0.19735 +[19] validation_0-rmse:0.21283 validation_1-rmse:0.19480 +[20] validation_0-rmse:0.21109 validation_1-rmse:0.19209 +[21] validation_0-rmse:0.20904 validation_1-rmse:0.18969 +[22] validation_0-rmse:0.20762 validation_1-rmse:0.18718 +[23] validation_0-rmse:0.20580 validation_1-rmse:0.18498 +[24] validation_0-rmse:0.20434 validation_1-rmse:0.18262 +[25] validation_0-rmse:0.20267 validation_1-rmse:0.18048 +[26] validation_0-rmse:0.20106 validation_1-rmse:0.17844 +[27] validation_0-rmse:0.19945 validation_1-rmse:0.17647 +[28] validation_0-rmse:0.19813 validation_1-rmse:0.17443 +[29] validation_0-rmse:0.19669 validation_1-rmse:0.17264 +[30] validation_0-rmse:0.19541 validation_1-rmse:0.17054 +[31] validation_0-rmse:0.19401 validation_1-rmse:0.16881 +[32] validation_0-rmse:0.19263 validation_1-rmse:0.16719 +[33] validation_0-rmse:0.19134 validation_1-rmse:0.16560 +[34] validation_0-rmse:0.18996 validation_1-rmse:0.16365 +[35] validation_0-rmse:0.18864 validation_1-rmse:0.16211 +[36] validation_0-rmse:0.18752 validation_1-rmse:0.16069 +[37] validation_0-rmse:0.18652 validation_1-rmse:0.15898 +[38] validation_0-rmse:0.18540 validation_1-rmse:0.15751 +[39] validation_0-rmse:0.18429 validation_1-rmse:0.15616 +[40] validation_0-rmse:0.18317 validation_1-rmse:0.15475 +[41] validation_0-rmse:0.18215 validation_1-rmse:0.15324 +[42] validation_0-rmse:0.18119 validation_1-rmse:0.15199 +[43] validation_0-rmse:0.18008 validation_1-rmse:0.15057 +[44] validation_0-rmse:0.17926 validation_1-rmse:0.14942 +[45] validation_0-rmse:0.17841 validation_1-rmse:0.14813 +[46] validation_0-rmse:0.17755 validation_1-rmse:0.14700 +[47] validation_0-rmse:0.17672 validation_1-rmse:0.14572 +[48] validation_0-rmse:0.17586 validation_1-rmse:0.14466 +[49] validation_0-rmse:0.17511 validation_1-rmse:0.14354 +[50] validation_0-rmse:0.17440 validation_1-rmse:0.14236 +[51] validation_0-rmse:0.17354 validation_1-rmse:0.14130 +[52] validation_0-rmse:0.17281 validation_1-rmse:0.14035 +[53] validation_0-rmse:0.17210 validation_1-rmse:0.13942 +[54] validation_0-rmse:0.17136 validation_1-rmse:0.13843 +[55] validation_0-rmse:0.17045 validation_1-rmse:0.13715 +[56] validation_0-rmse:0.16971 validation_1-rmse:0.13629 +[57] validation_0-rmse:0.16900 validation_1-rmse:0.13511 +[58] validation_0-rmse:0.16834 validation_1-rmse:0.13426 +[59] validation_0-rmse:0.16763 validation_1-rmse:0.13323 +[60] validation_0-rmse:0.16702 validation_1-rmse:0.13242 +[61] validation_0-rmse:0.16639 validation_1-rmse:0.13164 +[62] validation_0-rmse:0.16586 validation_1-rmse:0.13079 +[63] validation_0-rmse:0.16527 validation_1-rmse:0.13006 +[64] validation_0-rmse:0.16458 validation_1-rmse:0.12914 +[65] validation_0-rmse:0.16396 validation_1-rmse:0.12841 +[66] validation_0-rmse:0.16332 validation_1-rmse:0.12742 +[67] validation_0-rmse:0.16290 validation_1-rmse:0.12665 +[68] validation_0-rmse:0.16248 validation_1-rmse:0.12584 +[69] validation_0-rmse:0.16192 validation_1-rmse:0.12503 +[70] validation_0-rmse:0.16128 validation_1-rmse:0.12435 +[71] validation_0-rmse:0.16078 validation_1-rmse:0.12371 +[72] validation_0-rmse:0.16032 validation_1-rmse:0.12311 +[73] validation_0-rmse:0.15998 validation_1-rmse:0.12241 +[74] validation_0-rmse:0.15959 validation_1-rmse:0.12184 +[75] validation_0-rmse:0.15922 validation_1-rmse:0.12121 +[76] validation_0-rmse:0.15877 validation_1-rmse:0.12064 +[77] validation_0-rmse:0.15830 validation_1-rmse:0.11981 +[78] validation_0-rmse:0.15791 validation_1-rmse:0.11927 +[79] validation_0-rmse:0.15751 validation_1-rmse:0.11859 +[80] validation_0-rmse:0.15716 validation_1-rmse:0.11795 +[81] validation_0-rmse:0.15680 validation_1-rmse:0.11740 +[82] validation_0-rmse:0.15624 validation_1-rmse:0.11683 +[83] validation_0-rmse:0.15578 validation_1-rmse:0.11632 +[84] validation_0-rmse:0.15553 validation_1-rmse:0.11586 +[85] validation_0-rmse:0.15471 validation_1-rmse:0.11513 +[86] validation_0-rmse:0.15444 validation_1-rmse:0.11465 +[87] validation_0-rmse:0.15417 validation_1-rmse:0.11406 +[88] validation_0-rmse:0.15387 validation_1-rmse:0.11359 +[89] validation_0-rmse:0.15359 validation_1-rmse:0.11319 +[90] validation_0-rmse:0.15332 validation_1-rmse:0.11269 +[91] validation_0-rmse:0.15301 validation_1-rmse:0.11221 +[92] validation_0-rmse:0.15258 validation_1-rmse:0.11176 +[93] validation_0-rmse:0.15231 validation_1-rmse:0.11135 +[94] validation_0-rmse:0.15202 validation_1-rmse:0.11093 +[95] validation_0-rmse:0.15185 validation_1-rmse:0.11041 +[96] validation_0-rmse:0.15173 validation_1-rmse:0.11000 +[97] validation_0-rmse:0.15150 validation_1-rmse:0.10961 +[98] validation_0-rmse:0.15114 validation_1-rmse:0.10917 +[99] validation_0-rmse:0.15096 validation_1-rmse:0.10882 +2025-04-29 01:55:59,097 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training BTC/USDT (5.77 secs) -------------------- +2025-04-29 01:55:59,098 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:55:59,706 - freqtrade.freqai.freqai_interface - INFO - Training BTC/USDT, 1/2 pairs from 2025-03-02 00:00:00 to 2025-04-01 00:00:00, 10/11 trains +2025-04-29 01:55:59,706 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_btc_1743465600_prediction.feather +2025-04-29 01:55:59,715 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:59,723 - FreqaiExampleStrategy - INFO - 目标列形状:(57650,) +2025-04-29 01:55:59,725 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.079967 +1 0.003285 50.079967 +2 0.001898 50.079967 +3 0.000484 50.079967 +4 0.001688 50.079967 +2025-04-29 01:55:59,732 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:59,739 - FreqaiExampleStrategy - INFO - 目标列形状:(62450,) +2025-04-29 01:55:59,741 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.024153 +1 0.003285 50.024153 +2 0.001898 50.024153 +3 0.000484 50.024153 +4 0.001688 50.024153 +2025-04-29 01:55:59,745 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-BTC_1743465600/cb_btc_1743465600 +2025-04-29 01:55:59,746 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training BTC/USDT -------------------- +2025-04-29 01:55:59,762 - freqtrade.freqai.data_kitchen - INFO - BTC/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:55:59,762 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-03-02 to 2025-03-31 -------------------- +2025-04-29 01:56:04,571 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 75 features +2025-04-29 01:56:04,571 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.28468 validation_1-rmse:0.28491 +[1] validation_0-rmse:0.27961 validation_1-rmse:0.27914 +[2] validation_0-rmse:0.27524 validation_1-rmse:0.27370 +[3] validation_0-rmse:0.27054 validation_1-rmse:0.26858 +[4] validation_0-rmse:0.26601 validation_1-rmse:0.26362 +[5] validation_0-rmse:0.26219 validation_1-rmse:0.25896 +[6] validation_0-rmse:0.25814 validation_1-rmse:0.25450 +[7] validation_0-rmse:0.25500 validation_1-rmse:0.25026 +[8] validation_0-rmse:0.25145 validation_1-rmse:0.24602 +[9] validation_0-rmse:0.24843 validation_1-rmse:0.24213 +[10] validation_0-rmse:0.24527 validation_1-rmse:0.23824 +[11] validation_0-rmse:0.24238 validation_1-rmse:0.23440 +[12] validation_0-rmse:0.23940 validation_1-rmse:0.23096 +[13] validation_0-rmse:0.23630 validation_1-rmse:0.22764 +[14] validation_0-rmse:0.23385 validation_1-rmse:0.22440 +[15] validation_0-rmse:0.23099 validation_1-rmse:0.22128 +[16] validation_0-rmse:0.22865 validation_1-rmse:0.21801 +[17] validation_0-rmse:0.22620 validation_1-rmse:0.21515 +[18] validation_0-rmse:0.22375 validation_1-rmse:0.21210 +[19] validation_0-rmse:0.22142 validation_1-rmse:0.20925 +[20] validation_0-rmse:0.21927 validation_1-rmse:0.20663 +[21] validation_0-rmse:0.21720 validation_1-rmse:0.20416 +[22] validation_0-rmse:0.21528 validation_1-rmse:0.20170 +[23] validation_0-rmse:0.21330 validation_1-rmse:0.19913 +[24] validation_0-rmse:0.21136 validation_1-rmse:0.19693 +[25] validation_0-rmse:0.21002 validation_1-rmse:0.19438 +[26] validation_0-rmse:0.20807 validation_1-rmse:0.19222 +[27] validation_0-rmse:0.20636 validation_1-rmse:0.19016 +[28] validation_0-rmse:0.20439 validation_1-rmse:0.18763 +[29] validation_0-rmse:0.20276 validation_1-rmse:0.18559 +[30] validation_0-rmse:0.20114 validation_1-rmse:0.18380 +[31] validation_0-rmse:0.19965 validation_1-rmse:0.18163 +[32] validation_0-rmse:0.19833 validation_1-rmse:0.17955 +[33] validation_0-rmse:0.19688 validation_1-rmse:0.17782 +[34] validation_0-rmse:0.19558 validation_1-rmse:0.17614 +[35] validation_0-rmse:0.19420 validation_1-rmse:0.17451 +[36] validation_0-rmse:0.19297 validation_1-rmse:0.17293 +[37] validation_0-rmse:0.19169 validation_1-rmse:0.17111 +[38] validation_0-rmse:0.19038 validation_1-rmse:0.16943 +[39] validation_0-rmse:0.18941 validation_1-rmse:0.16798 +[40] validation_0-rmse:0.18828 validation_1-rmse:0.16657 +[41] validation_0-rmse:0.18724 validation_1-rmse:0.16485 +[42] validation_0-rmse:0.18620 validation_1-rmse:0.16347 +[43] validation_0-rmse:0.18525 validation_1-rmse:0.16204 +[44] validation_0-rmse:0.18429 validation_1-rmse:0.16073 +[45] validation_0-rmse:0.18324 validation_1-rmse:0.15951 +[46] validation_0-rmse:0.18250 validation_1-rmse:0.15797 +[47] validation_0-rmse:0.18157 validation_1-rmse:0.15682 +[48] validation_0-rmse:0.18069 validation_1-rmse:0.15566 +[49] validation_0-rmse:0.18002 validation_1-rmse:0.15440 +[50] validation_0-rmse:0.17914 validation_1-rmse:0.15322 +[51] validation_0-rmse:0.17842 validation_1-rmse:0.15220 +[52] validation_0-rmse:0.17756 validation_1-rmse:0.15107 +[53] validation_0-rmse:0.17668 validation_1-rmse:0.15007 +[54] validation_0-rmse:0.17596 validation_1-rmse:0.14866 +[55] validation_0-rmse:0.17525 validation_1-rmse:0.14775 +[56] validation_0-rmse:0.17467 validation_1-rmse:0.14653 +[57] validation_0-rmse:0.17390 validation_1-rmse:0.14564 +[58] validation_0-rmse:0.17326 validation_1-rmse:0.14478 +[59] validation_0-rmse:0.17273 validation_1-rmse:0.14356 +[60] validation_0-rmse:0.17218 validation_1-rmse:0.14269 +[61] validation_0-rmse:0.17157 validation_1-rmse:0.14186 +[62] validation_0-rmse:0.17120 validation_1-rmse:0.14083 +[63] validation_0-rmse:0.17069 validation_1-rmse:0.14002 +[64] validation_0-rmse:0.17012 validation_1-rmse:0.13912 +[65] validation_0-rmse:0.16942 validation_1-rmse:0.13834 +[66] validation_0-rmse:0.16914 validation_1-rmse:0.13720 +[67] validation_0-rmse:0.16856 validation_1-rmse:0.13648 +[68] validation_0-rmse:0.16800 validation_1-rmse:0.13569 +[69] validation_0-rmse:0.16796 validation_1-rmse:0.13472 +[70] validation_0-rmse:0.16737 validation_1-rmse:0.13405 +[71] validation_0-rmse:0.16686 validation_1-rmse:0.13342 +[72] validation_0-rmse:0.16639 validation_1-rmse:0.13270 +[73] validation_0-rmse:0.16648 validation_1-rmse:0.13149 +[74] validation_0-rmse:0.16609 validation_1-rmse:0.13086 +[75] validation_0-rmse:0.16560 validation_1-rmse:0.13025 +[76] validation_0-rmse:0.16530 validation_1-rmse:0.12925 +[77] validation_0-rmse:0.16492 validation_1-rmse:0.12824 +[78] validation_0-rmse:0.16451 validation_1-rmse:0.12770 +[79] validation_0-rmse:0.16414 validation_1-rmse:0.12710 +[80] validation_0-rmse:0.16377 validation_1-rmse:0.12654 +[81] validation_0-rmse:0.16338 validation_1-rmse:0.12595 +[82] validation_0-rmse:0.16317 validation_1-rmse:0.12490 +[83] validation_0-rmse:0.16249 validation_1-rmse:0.12361 +[84] validation_0-rmse:0.16217 validation_1-rmse:0.12307 +[85] validation_0-rmse:0.16178 validation_1-rmse:0.12255 +[86] validation_0-rmse:0.16149 validation_1-rmse:0.12206 +[87] validation_0-rmse:0.16113 validation_1-rmse:0.12155 +[88] validation_0-rmse:0.16049 validation_1-rmse:0.12061 +[89] validation_0-rmse:0.16008 validation_1-rmse:0.11990 +[90] validation_0-rmse:0.15955 validation_1-rmse:0.11882 +[91] validation_0-rmse:0.15927 validation_1-rmse:0.11842 +[92] validation_0-rmse:0.15891 validation_1-rmse:0.11796 +[93] validation_0-rmse:0.15880 validation_1-rmse:0.11730 +[94] validation_0-rmse:0.15829 validation_1-rmse:0.11631 +[95] validation_0-rmse:0.15809 validation_1-rmse:0.11584 +[96] validation_0-rmse:0.15778 validation_1-rmse:0.11544 +[97] validation_0-rmse:0.15763 validation_1-rmse:0.11504 +[98] validation_0-rmse:0.15724 validation_1-rmse:0.11438 +[99] validation_0-rmse:0.15694 validation_1-rmse:0.11396 +2025-04-29 01:56:05,520 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training BTC/USDT (5.77 secs) -------------------- +2025-04-29 01:56:05,521 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:56:06,027 - freqtrade.freqai.freqai_interface - INFO - Training BTC/USDT, 1/2 pairs from 2025-03-12 00:00:00 to 2025-04-11 00:00:00, 11/11 trains +2025-04-29 01:56:06,027 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_btc_1744329600_prediction.feather +2025-04-29 01:56:06,037 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:56:06,045 - FreqaiExampleStrategy - INFO - 目标列形状:(62450,) +2025-04-29 01:56:06,046 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.024153 +1 0.003285 50.024153 +2 0.001898 50.024153 +3 0.000484 50.024153 +4 0.001688 50.024153 +2025-04-29 01:56:06,057 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:56:06,064 - FreqaiExampleStrategy - INFO - 目标列形状:(66770,) +2025-04-29 01:56:06,065 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.093162 +1 0.003285 50.093162 +2 0.001898 50.093162 +3 0.000484 50.093162 +4 0.001688 50.093162 +2025-04-29 01:56:06,070 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-BTC_1744329600/cb_btc_1744329600 +2025-04-29 01:56:06,071 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training BTC/USDT -------------------- +2025-04-29 01:56:06,087 - freqtrade.freqai.data_kitchen - INFO - BTC/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:56:06,088 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-03-12 to 2025-04-10 -------------------- +2025-04-29 01:56:10,904 - datasieve.pipeline - INFO - DI tossed 2001 predictions for being too far from training data. +2025-04-29 01:56:10,907 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 75 features +2025-04-29 01:56:10,907 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.32950 validation_1-rmse:0.29220 +[1] validation_0-rmse:0.32402 validation_1-rmse:0.28580 +[2] validation_0-rmse:0.31922 validation_1-rmse:0.27974 +[3] validation_0-rmse:0.31450 validation_1-rmse:0.27409 +[4] validation_0-rmse:0.30969 validation_1-rmse:0.26866 +[5] validation_0-rmse:0.30585 validation_1-rmse:0.26346 +[6] validation_0-rmse:0.30202 validation_1-rmse:0.25855 +[7] validation_0-rmse:0.29888 validation_1-rmse:0.25375 +[8] validation_0-rmse:0.29520 validation_1-rmse:0.24919 +[9] validation_0-rmse:0.29164 validation_1-rmse:0.24487 +[10] validation_0-rmse:0.28843 validation_1-rmse:0.24072 +[11] validation_0-rmse:0.28514 validation_1-rmse:0.23667 +[12] validation_0-rmse:0.28114 validation_1-rmse:0.23279 +[13] validation_0-rmse:0.27740 validation_1-rmse:0.22909 +[14] validation_0-rmse:0.27421 validation_1-rmse:0.22543 +[15] validation_0-rmse:0.27115 validation_1-rmse:0.22210 +[16] validation_0-rmse:0.26820 validation_1-rmse:0.21859 +[17] validation_0-rmse:0.26549 validation_1-rmse:0.21528 +[18] validation_0-rmse:0.26254 validation_1-rmse:0.21226 +[19] validation_0-rmse:0.25967 validation_1-rmse:0.20927 +[20] validation_0-rmse:0.25735 validation_1-rmse:0.20641 +[21] validation_0-rmse:0.25470 validation_1-rmse:0.20366 +[22] validation_0-rmse:0.25265 validation_1-rmse:0.20073 +[23] validation_0-rmse:0.25054 validation_1-rmse:0.19819 +[24] validation_0-rmse:0.24806 validation_1-rmse:0.19573 +[25] validation_0-rmse:0.24570 validation_1-rmse:0.19304 +[26] validation_0-rmse:0.24361 validation_1-rmse:0.19076 +[27] validation_0-rmse:0.24148 validation_1-rmse:0.18853 +[28] validation_0-rmse:0.24014 validation_1-rmse:0.18621 +[29] validation_0-rmse:0.23792 validation_1-rmse:0.18410 +[30] validation_0-rmse:0.23603 validation_1-rmse:0.18203 +[31] validation_0-rmse:0.23421 validation_1-rmse:0.17990 +[32] validation_0-rmse:0.23264 validation_1-rmse:0.17800 +[33] validation_0-rmse:0.23087 validation_1-rmse:0.17616 +[34] validation_0-rmse:0.22949 validation_1-rmse:0.17427 +[35] validation_0-rmse:0.22857 validation_1-rmse:0.17234 +[36] validation_0-rmse:0.22690 validation_1-rmse:0.17065 +[37] validation_0-rmse:0.22566 validation_1-rmse:0.16898 +[38] validation_0-rmse:0.22462 validation_1-rmse:0.16738 +[39] validation_0-rmse:0.22376 validation_1-rmse:0.16567 +[40] validation_0-rmse:0.22232 validation_1-rmse:0.16410 +[41] validation_0-rmse:0.22105 validation_1-rmse:0.16265 +[42] validation_0-rmse:0.22006 validation_1-rmse:0.16111 +[43] validation_0-rmse:0.21847 validation_1-rmse:0.15976 +[44] validation_0-rmse:0.21782 validation_1-rmse:0.15824 +[45] validation_0-rmse:0.21641 validation_1-rmse:0.15686 +[46] validation_0-rmse:0.21552 validation_1-rmse:0.15554 +[47] validation_0-rmse:0.21459 validation_1-rmse:0.15417 +[48] validation_0-rmse:0.21339 validation_1-rmse:0.15293 +[49] validation_0-rmse:0.21255 validation_1-rmse:0.15176 +[50] validation_0-rmse:0.21192 validation_1-rmse:0.15047 +[51] validation_0-rmse:0.21115 validation_1-rmse:0.14910 +[52] validation_0-rmse:0.21072 validation_1-rmse:0.14774 +[53] validation_0-rmse:0.20992 validation_1-rmse:0.14670 +[54] validation_0-rmse:0.20839 validation_1-rmse:0.14541 +[55] validation_0-rmse:0.20753 validation_1-rmse:0.14442 +[56] validation_0-rmse:0.20648 validation_1-rmse:0.14328 +[57] validation_0-rmse:0.20564 validation_1-rmse:0.14229 +[58] validation_0-rmse:0.20473 validation_1-rmse:0.14137 +[59] validation_0-rmse:0.20418 validation_1-rmse:0.14011 +[60] validation_0-rmse:0.20341 validation_1-rmse:0.13923 +[61] validation_0-rmse:0.20258 validation_1-rmse:0.13839 +[62] validation_0-rmse:0.20230 validation_1-rmse:0.13723 +[63] validation_0-rmse:0.20075 validation_1-rmse:0.13546 +[64] validation_0-rmse:0.20007 validation_1-rmse:0.13467 +[65] validation_0-rmse:0.19937 validation_1-rmse:0.13387 +[66] validation_0-rmse:0.19875 validation_1-rmse:0.13296 +[67] validation_0-rmse:0.19709 validation_1-rmse:0.13137 +[68] validation_0-rmse:0.19675 validation_1-rmse:0.13042 +[69] validation_0-rmse:0.19617 validation_1-rmse:0.12968 +[70] validation_0-rmse:0.19560 validation_1-rmse:0.12900 +[71] validation_0-rmse:0.19492 validation_1-rmse:0.12834 +[72] validation_0-rmse:0.19319 validation_1-rmse:0.12681 +[73] validation_0-rmse:0.19272 validation_1-rmse:0.12612 +[74] validation_0-rmse:0.19230 validation_1-rmse:0.12535 +[75] validation_0-rmse:0.19170 validation_1-rmse:0.12474 +[76] validation_0-rmse:0.19058 validation_1-rmse:0.12338 +[77] validation_0-rmse:0.19010 validation_1-rmse:0.12279 +[78] validation_0-rmse:0.18961 validation_1-rmse:0.12223 +[79] validation_0-rmse:0.18960 validation_1-rmse:0.12156 +[80] validation_0-rmse:0.18882 validation_1-rmse:0.12038 +[81] validation_0-rmse:0.18819 validation_1-rmse:0.11975 +[82] validation_0-rmse:0.18789 validation_1-rmse:0.11916 +[83] validation_0-rmse:0.18738 validation_1-rmse:0.11864 +[84] validation_0-rmse:0.18718 validation_1-rmse:0.11801 +[85] validation_0-rmse:0.18600 validation_1-rmse:0.11698 +[86] validation_0-rmse:0.18572 validation_1-rmse:0.11653 +[87] validation_0-rmse:0.18534 validation_1-rmse:0.11603 +[88] validation_0-rmse:0.18478 validation_1-rmse:0.11508 +[89] validation_0-rmse:0.18430 validation_1-rmse:0.11459 +[90] validation_0-rmse:0.18447 validation_1-rmse:0.11396 +[91] validation_0-rmse:0.18424 validation_1-rmse:0.11352 +[92] validation_0-rmse:0.18367 validation_1-rmse:0.11307 +[93] validation_0-rmse:0.18333 validation_1-rmse:0.11265 +[94] validation_0-rmse:0.18313 validation_1-rmse:0.11216 +[95] validation_0-rmse:0.18275 validation_1-rmse:0.11157 +[96] validation_0-rmse:0.18275 validation_1-rmse:0.11106 +[97] validation_0-rmse:0.18248 validation_1-rmse:0.11068 +[98] validation_0-rmse:0.18220 validation_1-rmse:0.11033 +[99] validation_0-rmse:0.18198 validation_1-rmse:0.10994 +2025-04-29 01:56:11,705 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training BTC/USDT (5.63 secs) -------------------- +2025-04-29 01:56:11,706 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:56:12,255 - FreqaiExampleStrategy - INFO - 动态参数:buy_rsi=39.26145316407591, sell_rsi=59.26145316407591, stoploss=-0.15, trailing_stop_positive=0.05 +2025-04-29 01:56:12,275 - FreqaiExampleStrategy - INFO - up_or_down 值统计: +up_or_down +1 33535 +0 33236 +2025-04-29 01:56:12,276 - FreqaiExampleStrategy - INFO - do_predict 值统计: +do_predict +0.0 35773 +1.0 30998 +2025-04-29 01:56:12,279 - FreqaiExampleStrategy - INFO - 处理交易对:SOL/USDT +2025-04-29 01:56:12,281 - freqtrade.freqai.freqai_interface - INFO - Training 11 timeranges +2025-04-29 01:56:12,282 - freqtrade.freqai.freqai_interface - INFO - Training SOL/USDT, 2/2 pairs from 2024-12-02 00:00:00 to 2025-01-01 00:00:00, 1/11 trains +2025-04-29 01:56:12,283 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_sol_1735689600_prediction.feather +2025-04-29 01:56:12,334 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 5m to 8690 +2025-04-29 01:56:12,335 - freqtrade.data.dataprovider - INFO - Loading data for SOL/USDT 5m from 2024-12-01 19:50:00 to 2025-04-20 00:00:00 +2025-04-29 01:56:12,422 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 1h to 770 +2025-04-29 01:56:12,422 - freqtrade.data.dataprovider - INFO - Loading data for SOL/USDT 1h from 2024-11-29 22:00:00 to 2025-04-20 00:00:00 +2025-04-29 01:56:12,518 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 3m to 14450 +2025-04-29 01:56:12,519 - freqtrade.data.dataprovider - INFO - Loading data for BTC/USDT 3m from 2024-12-01 21:30:00 to 2025-04-20 00:00:00 +2025-04-29 01:56:13,040 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:56:13,046 - FreqaiExampleStrategy - INFO - 目标列形状:(14450,) +2025-04-29 01:56:13,047 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.58814 +1 0.003044 49.58814 +2 0.000465 49.58814 +3 -0.000380 49.58814 +4 0.002829 49.58814 +2025-04-29 01:56:13,052 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:56:13,057 - FreqaiExampleStrategy - INFO - 目标列形状:(19250,) +2025-04-29 01:56:13,059 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.68088 +1 0.003044 49.68088 +2 0.000465 49.68088 +3 -0.000380 49.68088 +4 0.002829 49.68088 +2025-04-29 01:56:13,066 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-SOL_1735689600/cb_sol_1735689600 +2025-04-29 01:56:13,066 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training SOL/USDT -------------------- +2025-04-29 01:56:13,095 - freqtrade.freqai.data_kitchen - INFO - SOL/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:56:13,096 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2024-12-02 to 2024-12-31 -------------------- +2025-04-29 01:56:18,126 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 111 features +2025-04-29 01:56:18,126 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.30164 validation_1-rmse:0.29585 +[1] validation_0-rmse:0.29609 validation_1-rmse:0.28921 +[2] validation_0-rmse:0.29103 validation_1-rmse:0.28298 +[3] validation_0-rmse:0.28604 validation_1-rmse:0.27706 +[4] validation_0-rmse:0.28108 validation_1-rmse:0.27129 +[5] validation_0-rmse:0.27670 validation_1-rmse:0.26609 +[6] validation_0-rmse:0.27234 validation_1-rmse:0.26092 +[7] validation_0-rmse:0.26874 validation_1-rmse:0.25593 +[8] validation_0-rmse:0.26461 validation_1-rmse:0.25118 +[9] validation_0-rmse:0.26074 validation_1-rmse:0.24677 +[10] validation_0-rmse:0.25745 validation_1-rmse:0.24239 +[11] validation_0-rmse:0.25460 validation_1-rmse:0.23832 +[12] validation_0-rmse:0.25121 validation_1-rmse:0.23441 +[13] validation_0-rmse:0.24825 validation_1-rmse:0.23068 +[14] validation_0-rmse:0.24580 validation_1-rmse:0.22694 +[15] validation_0-rmse:0.24286 validation_1-rmse:0.22346 +[16] validation_0-rmse:0.24051 validation_1-rmse:0.22006 +[17] validation_0-rmse:0.23821 validation_1-rmse:0.21690 +[18] validation_0-rmse:0.23549 validation_1-rmse:0.21383 +[19] validation_0-rmse:0.23335 validation_1-rmse:0.21087 +[20] validation_0-rmse:0.23089 validation_1-rmse:0.20804 +[21] validation_0-rmse:0.22918 validation_1-rmse:0.20505 +[22] validation_0-rmse:0.22716 validation_1-rmse:0.20240 +[23] validation_0-rmse:0.22562 validation_1-rmse:0.19981 +[24] validation_0-rmse:0.22385 validation_1-rmse:0.19723 +[25] validation_0-rmse:0.22201 validation_1-rmse:0.19473 +[26] validation_0-rmse:0.22016 validation_1-rmse:0.19245 +[27] validation_0-rmse:0.21834 validation_1-rmse:0.19024 +[28] validation_0-rmse:0.21671 validation_1-rmse:0.18789 +[29] validation_0-rmse:0.21493 validation_1-rmse:0.18579 +[30] validation_0-rmse:0.21385 validation_1-rmse:0.18351 +[31] validation_0-rmse:0.21216 validation_1-rmse:0.18156 +[32] validation_0-rmse:0.21088 validation_1-rmse:0.17941 +[33] validation_0-rmse:0.20953 validation_1-rmse:0.17754 +[34] validation_0-rmse:0.20805 validation_1-rmse:0.17575 +[35] validation_0-rmse:0.20648 validation_1-rmse:0.17399 +[36] validation_0-rmse:0.20515 validation_1-rmse:0.17220 +[37] validation_0-rmse:0.20382 validation_1-rmse:0.17031 +[38] validation_0-rmse:0.20257 validation_1-rmse:0.16871 +[39] validation_0-rmse:0.20125 validation_1-rmse:0.16718 +[40] validation_0-rmse:0.20005 validation_1-rmse:0.16574 +[41] validation_0-rmse:0.19885 validation_1-rmse:0.16415 +[42] validation_0-rmse:0.19789 validation_1-rmse:0.16270 +[43] validation_0-rmse:0.19680 validation_1-rmse:0.16130 +[44] validation_0-rmse:0.19564 validation_1-rmse:0.15993 +[45] validation_0-rmse:0.19480 validation_1-rmse:0.15854 +[46] validation_0-rmse:0.19376 validation_1-rmse:0.15728 +[47] validation_0-rmse:0.19290 validation_1-rmse:0.15568 +[48] validation_0-rmse:0.19223 validation_1-rmse:0.15445 +[49] validation_0-rmse:0.19129 validation_1-rmse:0.15330 +[50] validation_0-rmse:0.19035 validation_1-rmse:0.15194 +[51] validation_0-rmse:0.18948 validation_1-rmse:0.15082 +[52] validation_0-rmse:0.18882 validation_1-rmse:0.14945 +[53] validation_0-rmse:0.18801 validation_1-rmse:0.14840 +[54] validation_0-rmse:0.18707 validation_1-rmse:0.14736 +[55] validation_0-rmse:0.18637 validation_1-rmse:0.14635 +[56] validation_0-rmse:0.18571 validation_1-rmse:0.14542 +[57] validation_0-rmse:0.18497 validation_1-rmse:0.14413 +[58] validation_0-rmse:0.18443 validation_1-rmse:0.14297 +[59] validation_0-rmse:0.18375 validation_1-rmse:0.14203 +[60] validation_0-rmse:0.18319 validation_1-rmse:0.14111 +[61] validation_0-rmse:0.18266 validation_1-rmse:0.14030 +[62] validation_0-rmse:0.18185 validation_1-rmse:0.13914 +[63] validation_0-rmse:0.18145 validation_1-rmse:0.13831 +[64] validation_0-rmse:0.18135 validation_1-rmse:0.13720 +[65] validation_0-rmse:0.18075 validation_1-rmse:0.13643 +[66] validation_0-rmse:0.18020 validation_1-rmse:0.13560 +[67] validation_0-rmse:0.17951 validation_1-rmse:0.13485 +[68] validation_0-rmse:0.17888 validation_1-rmse:0.13414 +[69] validation_0-rmse:0.17850 validation_1-rmse:0.13343 +[70] validation_0-rmse:0.17798 validation_1-rmse:0.13224 +[71] validation_0-rmse:0.17751 validation_1-rmse:0.13133 +[72] validation_0-rmse:0.17711 validation_1-rmse:0.13062 +[73] validation_0-rmse:0.17701 validation_1-rmse:0.12966 +[74] validation_0-rmse:0.17648 validation_1-rmse:0.12872 +[75] validation_0-rmse:0.17611 validation_1-rmse:0.12806 +[76] validation_0-rmse:0.17573 validation_1-rmse:0.12732 +[77] validation_0-rmse:0.17528 validation_1-rmse:0.12664 +[78] validation_0-rmse:0.17478 validation_1-rmse:0.12605 +[79] validation_0-rmse:0.17432 validation_1-rmse:0.12518 +[80] validation_0-rmse:0.17391 validation_1-rmse:0.12466 +[81] validation_0-rmse:0.17358 validation_1-rmse:0.12398 +[82] validation_0-rmse:0.17315 validation_1-rmse:0.12342 +[83] validation_0-rmse:0.17260 validation_1-rmse:0.12276 +[84] validation_0-rmse:0.17220 validation_1-rmse:0.12222 +[85] validation_0-rmse:0.17182 validation_1-rmse:0.12176 +[86] validation_0-rmse:0.17152 validation_1-rmse:0.12124 +[87] validation_0-rmse:0.17103 validation_1-rmse:0.12046 +[88] validation_0-rmse:0.17085 validation_1-rmse:0.11974 +[89] validation_0-rmse:0.17053 validation_1-rmse:0.11930 +[90] validation_0-rmse:0.17018 validation_1-rmse:0.11888 +[91] validation_0-rmse:0.17011 validation_1-rmse:0.11810 +[92] validation_0-rmse:0.16980 validation_1-rmse:0.11762 +[93] validation_0-rmse:0.16956 validation_1-rmse:0.11689 +[94] validation_0-rmse:0.16923 validation_1-rmse:0.11641 +[95] validation_0-rmse:0.16912 validation_1-rmse:0.11579 +[96] validation_0-rmse:0.16878 validation_1-rmse:0.11530 +[97] validation_0-rmse:0.16857 validation_1-rmse:0.11489 +[98] validation_0-rmse:0.16824 validation_1-rmse:0.11442 +[99] validation_0-rmse:0.16824 validation_1-rmse:0.11403 +2025-04-29 01:56:19,586 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training SOL/USDT (6.52 secs) -------------------- +2025-04-29 01:56:19,587 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:56:20,174 - freqtrade.freqai.freqai_interface - INFO - Training SOL/USDT, 2/2 pairs from 2024-12-12 00:00:00 to 2025-01-11 00:00:00, 2/11 trains +2025-04-29 01:56:20,175 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_sol_1736553600_prediction.feather +2025-04-29 01:56:20,179 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:56:20,185 - FreqaiExampleStrategy - INFO - 目标列形状:(19250,) +2025-04-29 01:56:20,186 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.68088 +1 0.003044 49.68088 +2 0.000465 49.68088 +3 -0.000380 49.68088 +4 0.002829 49.68088 +2025-04-29 01:56:20,192 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:56:20,197 - FreqaiExampleStrategy - INFO - 目标列形状:(24050,) +2025-04-29 01:56:20,199 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.97721 +1 0.003044 49.97721 +2 0.000465 49.97721 +3 -0.000380 49.97721 +4 0.002829 49.97721 +2025-04-29 01:56:20,204 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-SOL_1736553600/cb_sol_1736553600 +2025-04-29 01:56:20,205 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training SOL/USDT -------------------- +2025-04-29 01:56:20,227 - freqtrade.freqai.data_kitchen - INFO - SOL/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:56:20,228 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2024-12-12 to 2025-01-10 -------------------- +2025-04-29 01:56:25,109 - datasieve.pipeline - INFO - DI tossed 5 predictions for being too far from training data. +2025-04-29 01:56:25,112 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 111 features +2025-04-29 01:56:25,112 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.29597 validation_1-rmse:0.29016 +[1] validation_0-rmse:0.29075 validation_1-rmse:0.28391 +[2] validation_0-rmse:0.28602 validation_1-rmse:0.27798 +[3] validation_0-rmse:0.28062 validation_1-rmse:0.27213 +[4] validation_0-rmse:0.27647 validation_1-rmse:0.26682 +[5] validation_0-rmse:0.27188 validation_1-rmse:0.26144 +[6] validation_0-rmse:0.26781 validation_1-rmse:0.25655 +[7] validation_0-rmse:0.26412 validation_1-rmse:0.25180 +[8] validation_0-rmse:0.25994 validation_1-rmse:0.24709 +[9] validation_0-rmse:0.25649 validation_1-rmse:0.24277 +[10] validation_0-rmse:0.25332 validation_1-rmse:0.23850 +[11] validation_0-rmse:0.24999 validation_1-rmse:0.23452 +[12] validation_0-rmse:0.24687 validation_1-rmse:0.23072 +[13] validation_0-rmse:0.24432 validation_1-rmse:0.22694 +[14] validation_0-rmse:0.24128 validation_1-rmse:0.22341 +[15] validation_0-rmse:0.23869 validation_1-rmse:0.21969 +[16] validation_0-rmse:0.23628 validation_1-rmse:0.21635 +[17] validation_0-rmse:0.23354 validation_1-rmse:0.21326 +[18] validation_0-rmse:0.23123 validation_1-rmse:0.21007 +[19] validation_0-rmse:0.22919 validation_1-rmse:0.20707 +[20] validation_0-rmse:0.22705 validation_1-rmse:0.20418 +[21] validation_0-rmse:0.22505 validation_1-rmse:0.20149 +[22] validation_0-rmse:0.22285 validation_1-rmse:0.19887 +[23] validation_0-rmse:0.22084 validation_1-rmse:0.19631 +[24] validation_0-rmse:0.21877 validation_1-rmse:0.19389 +[25] validation_0-rmse:0.21748 validation_1-rmse:0.19133 +[26] validation_0-rmse:0.21557 validation_1-rmse:0.18870 +[27] validation_0-rmse:0.21374 validation_1-rmse:0.18648 +[28] validation_0-rmse:0.21183 validation_1-rmse:0.18432 +[29] validation_0-rmse:0.21047 validation_1-rmse:0.18209 +[30] validation_0-rmse:0.20873 validation_1-rmse:0.17990 +[31] validation_0-rmse:0.20717 validation_1-rmse:0.17795 +[32] validation_0-rmse:0.20564 validation_1-rmse:0.17599 +[33] validation_0-rmse:0.20428 validation_1-rmse:0.17421 +[34] validation_0-rmse:0.20290 validation_1-rmse:0.17229 +[35] validation_0-rmse:0.20161 validation_1-rmse:0.17047 +[36] validation_0-rmse:0.20018 validation_1-rmse:0.16878 +[37] validation_0-rmse:0.19923 validation_1-rmse:0.16688 +[38] validation_0-rmse:0.19796 validation_1-rmse:0.16534 +[39] validation_0-rmse:0.19668 validation_1-rmse:0.16355 +[40] validation_0-rmse:0.19543 validation_1-rmse:0.16204 +[41] validation_0-rmse:0.19441 validation_1-rmse:0.16062 +[42] validation_0-rmse:0.19344 validation_1-rmse:0.15910 +[43] validation_0-rmse:0.19256 validation_1-rmse:0.15759 +[44] validation_0-rmse:0.19154 validation_1-rmse:0.15625 +[45] validation_0-rmse:0.19048 validation_1-rmse:0.15494 +[46] validation_0-rmse:0.18937 validation_1-rmse:0.15366 +[47] validation_0-rmse:0.18865 validation_1-rmse:0.15236 +[48] validation_0-rmse:0.18784 validation_1-rmse:0.15112 +[49] validation_0-rmse:0.18704 validation_1-rmse:0.14998 +[50] validation_0-rmse:0.18625 validation_1-rmse:0.14874 +[51] validation_0-rmse:0.18541 validation_1-rmse:0.14763 +[52] validation_0-rmse:0.18456 validation_1-rmse:0.14659 +[53] validation_0-rmse:0.18383 validation_1-rmse:0.14530 +[54] validation_0-rmse:0.18315 validation_1-rmse:0.14420 +[55] validation_0-rmse:0.18234 validation_1-rmse:0.14321 +[56] validation_0-rmse:0.18181 validation_1-rmse:0.14206 +[57] validation_0-rmse:0.18109 validation_1-rmse:0.14106 +[58] validation_0-rmse:0.18033 validation_1-rmse:0.13996 +[59] validation_0-rmse:0.17964 validation_1-rmse:0.13905 +[60] validation_0-rmse:0.17921 validation_1-rmse:0.13820 +[61] validation_0-rmse:0.17865 validation_1-rmse:0.13731 +[62] validation_0-rmse:0.17795 validation_1-rmse:0.13648 +[63] validation_0-rmse:0.17737 validation_1-rmse:0.13559 +[64] validation_0-rmse:0.17680 validation_1-rmse:0.13483 +[65] validation_0-rmse:0.17628 validation_1-rmse:0.13408 +[66] validation_0-rmse:0.17588 validation_1-rmse:0.13303 +[67] validation_0-rmse:0.17530 validation_1-rmse:0.13228 +[68] validation_0-rmse:0.17478 validation_1-rmse:0.13153 +[69] validation_0-rmse:0.17439 validation_1-rmse:0.13081 +[70] validation_0-rmse:0.17401 validation_1-rmse:0.12991 +[71] validation_0-rmse:0.17347 validation_1-rmse:0.12911 +[72] validation_0-rmse:0.17304 validation_1-rmse:0.12838 +[73] validation_0-rmse:0.17254 validation_1-rmse:0.12774 +[74] validation_0-rmse:0.17207 validation_1-rmse:0.12656 +[75] validation_0-rmse:0.17185 validation_1-rmse:0.12571 +[76] validation_0-rmse:0.17126 validation_1-rmse:0.12512 +[77] validation_0-rmse:0.17096 validation_1-rmse:0.12447 +[78] validation_0-rmse:0.17064 validation_1-rmse:0.12381 +[79] validation_0-rmse:0.17024 validation_1-rmse:0.12300 +[80] validation_0-rmse:0.16989 validation_1-rmse:0.12244 +[81] validation_0-rmse:0.16955 validation_1-rmse:0.12180 +[82] validation_0-rmse:0.16924 validation_1-rmse:0.12129 +[83] validation_0-rmse:0.16931 validation_1-rmse:0.12037 +[84] validation_0-rmse:0.16888 validation_1-rmse:0.11970 +[85] validation_0-rmse:0.16845 validation_1-rmse:0.11914 +[86] validation_0-rmse:0.16809 validation_1-rmse:0.11840 +[87] validation_0-rmse:0.16766 validation_1-rmse:0.11760 +[88] validation_0-rmse:0.16741 validation_1-rmse:0.11714 +[89] validation_0-rmse:0.16707 validation_1-rmse:0.11667 +[90] validation_0-rmse:0.16683 validation_1-rmse:0.11592 +[91] validation_0-rmse:0.16643 validation_1-rmse:0.11537 +[92] validation_0-rmse:0.16621 validation_1-rmse:0.11455 +[93] validation_0-rmse:0.16611 validation_1-rmse:0.11396 +[94] validation_0-rmse:0.16587 validation_1-rmse:0.11350 +[95] validation_0-rmse:0.16563 validation_1-rmse:0.11308 +[96] validation_0-rmse:0.16535 validation_1-rmse:0.11237 +[97] validation_0-rmse:0.16487 validation_1-rmse:0.11173 +[98] validation_0-rmse:0.16461 validation_1-rmse:0.11133 +[99] validation_0-rmse:0.16437 validation_1-rmse:0.11096 +2025-04-29 01:56:26,510 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training SOL/USDT (6.30 secs) -------------------- +2025-04-29 01:56:26,511 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:56:27,072 - freqtrade.freqai.freqai_interface - INFO - Training SOL/USDT, 2/2 pairs from 2024-12-22 00:00:00 to 2025-01-21 00:00:00, 3/11 trains +2025-04-29 01:56:27,073 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_sol_1737417600_prediction.feather +2025-04-29 01:56:27,079 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:56:27,085 - FreqaiExampleStrategy - INFO - 目标列形状:(24050,) +2025-04-29 01:56:27,086 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.97721 +1 0.003044 49.97721 +2 0.000465 49.97721 +3 -0.000380 49.97721 +4 0.002829 49.97721 +2025-04-29 01:56:27,094 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:56:27,100 - FreqaiExampleStrategy - INFO - 目标列形状:(28850,) +2025-04-29 01:56:27,102 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.941408 +1 0.003044 49.941408 +2 0.000465 49.941408 +3 -0.000380 49.941408 +4 0.002829 49.941408 +2025-04-29 01:56:27,108 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-SOL_1737417600/cb_sol_1737417600 +2025-04-29 01:56:27,109 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training SOL/USDT -------------------- +2025-04-29 01:56:27,130 - freqtrade.freqai.data_kitchen - INFO - SOL/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:56:27,131 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2024-12-22 to 2025-01-20 -------------------- +2025-04-29 01:56:32,206 - datasieve.pipeline - INFO - DI tossed 1523 predictions for being too far from training data. +2025-04-29 01:56:32,209 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 111 features +2025-04-29 01:56:32,210 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.30838 validation_1-rmse:0.28356 +[1] validation_0-rmse:0.30280 validation_1-rmse:0.27752 +[2] validation_0-rmse:0.29759 validation_1-rmse:0.27179 +[3] validation_0-rmse:0.29330 validation_1-rmse:0.26614 +[4] validation_0-rmse:0.28936 validation_1-rmse:0.26091 +[5] validation_0-rmse:0.28544 validation_1-rmse:0.25581 +[6] validation_0-rmse:0.28151 validation_1-rmse:0.25102 +[7] validation_0-rmse:0.27790 validation_1-rmse:0.24636 +[8] validation_0-rmse:0.27429 validation_1-rmse:0.24196 +[9] validation_0-rmse:0.27104 validation_1-rmse:0.23770 +[10] validation_0-rmse:0.26762 validation_1-rmse:0.23356 +[11] validation_0-rmse:0.26472 validation_1-rmse:0.22966 +[12] validation_0-rmse:0.26219 validation_1-rmse:0.22601 +[13] validation_0-rmse:0.25924 validation_1-rmse:0.22234 +[14] validation_0-rmse:0.25634 validation_1-rmse:0.21888 +[15] validation_0-rmse:0.25379 validation_1-rmse:0.21545 +[16] validation_0-rmse:0.25117 validation_1-rmse:0.21221 +[17] validation_0-rmse:0.24877 validation_1-rmse:0.20902 +[18] validation_0-rmse:0.24653 validation_1-rmse:0.20604 +[19] validation_0-rmse:0.24404 validation_1-rmse:0.20315 +[20] validation_0-rmse:0.24194 validation_1-rmse:0.20032 +[21] validation_0-rmse:0.23966 validation_1-rmse:0.19765 +[22] validation_0-rmse:0.23804 validation_1-rmse:0.19481 +[23] validation_0-rmse:0.23599 validation_1-rmse:0.19230 +[24] validation_0-rmse:0.23384 validation_1-rmse:0.18993 +[25] validation_0-rmse:0.23196 validation_1-rmse:0.18756 +[26] validation_0-rmse:0.23057 validation_1-rmse:0.18506 +[27] validation_0-rmse:0.22854 validation_1-rmse:0.18283 +[28] validation_0-rmse:0.22705 validation_1-rmse:0.18071 +[29] validation_0-rmse:0.22557 validation_1-rmse:0.17851 +[30] validation_0-rmse:0.22394 validation_1-rmse:0.17644 +[31] validation_0-rmse:0.22213 validation_1-rmse:0.17452 +[32] validation_0-rmse:0.22064 validation_1-rmse:0.17267 +[33] validation_0-rmse:0.21905 validation_1-rmse:0.17084 +[34] validation_0-rmse:0.21806 validation_1-rmse:0.16880 +[35] validation_0-rmse:0.21693 validation_1-rmse:0.16700 +[36] validation_0-rmse:0.21537 validation_1-rmse:0.16520 +[37] validation_0-rmse:0.21417 validation_1-rmse:0.16362 +[38] validation_0-rmse:0.21282 validation_1-rmse:0.16204 +[39] validation_0-rmse:0.21137 validation_1-rmse:0.16047 +[40] validation_0-rmse:0.20994 validation_1-rmse:0.15897 +[41] validation_0-rmse:0.20878 validation_1-rmse:0.15747 +[42] validation_0-rmse:0.20766 validation_1-rmse:0.15604 +[43] validation_0-rmse:0.20666 validation_1-rmse:0.15444 +[44] validation_0-rmse:0.20566 validation_1-rmse:0.15316 +[45] validation_0-rmse:0.20496 validation_1-rmse:0.15162 +[46] validation_0-rmse:0.20394 validation_1-rmse:0.15038 +[47] validation_0-rmse:0.20277 validation_1-rmse:0.14909 +[48] validation_0-rmse:0.20176 validation_1-rmse:0.14793 +[49] validation_0-rmse:0.20072 validation_1-rmse:0.14681 +[50] validation_0-rmse:0.20058 validation_1-rmse:0.14528 +[51] validation_0-rmse:0.19970 validation_1-rmse:0.14419 +[52] validation_0-rmse:0.19887 validation_1-rmse:0.14284 +[53] validation_0-rmse:0.19809 validation_1-rmse:0.14182 +[54] validation_0-rmse:0.19725 validation_1-rmse:0.14076 +[55] validation_0-rmse:0.19636 validation_1-rmse:0.13981 +[56] validation_0-rmse:0.19615 validation_1-rmse:0.13853 +[57] validation_0-rmse:0.19540 validation_1-rmse:0.13757 +[58] validation_0-rmse:0.19460 validation_1-rmse:0.13664 +[59] validation_0-rmse:0.19418 validation_1-rmse:0.13553 +[60] validation_0-rmse:0.19382 validation_1-rmse:0.13445 +[61] validation_0-rmse:0.19302 validation_1-rmse:0.13363 +[62] validation_0-rmse:0.19218 validation_1-rmse:0.13270 +[63] validation_0-rmse:0.19154 validation_1-rmse:0.13183 +[64] validation_0-rmse:0.19083 validation_1-rmse:0.13105 +[65] validation_0-rmse:0.19005 validation_1-rmse:0.13008 +[66] validation_0-rmse:0.18929 validation_1-rmse:0.12932 +[67] validation_0-rmse:0.18885 validation_1-rmse:0.12851 +[68] validation_0-rmse:0.18837 validation_1-rmse:0.12781 +[69] validation_0-rmse:0.18790 validation_1-rmse:0.12711 +[70] validation_0-rmse:0.18732 validation_1-rmse:0.12617 +[71] validation_0-rmse:0.18682 validation_1-rmse:0.12552 +[72] validation_0-rmse:0.18669 validation_1-rmse:0.12448 +[73] validation_0-rmse:0.18617 validation_1-rmse:0.12382 +[74] validation_0-rmse:0.18587 validation_1-rmse:0.12322 +[75] validation_0-rmse:0.18544 validation_1-rmse:0.12261 +[76] validation_0-rmse:0.18524 validation_1-rmse:0.12162 +[77] validation_0-rmse:0.18486 validation_1-rmse:0.12098 +[78] validation_0-rmse:0.18443 validation_1-rmse:0.12021 +[79] validation_0-rmse:0.18415 validation_1-rmse:0.11963 +[80] validation_0-rmse:0.18393 validation_1-rmse:0.11866 +[81] validation_0-rmse:0.18344 validation_1-rmse:0.11809 +[82] validation_0-rmse:0.18307 validation_1-rmse:0.11748 +[83] validation_0-rmse:0.18257 validation_1-rmse:0.11699 +[84] validation_0-rmse:0.18216 validation_1-rmse:0.11643 +[85] validation_0-rmse:0.18188 validation_1-rmse:0.11595 +[86] validation_0-rmse:0.18168 validation_1-rmse:0.11502 +[87] validation_0-rmse:0.18148 validation_1-rmse:0.11451 +[88] validation_0-rmse:0.18093 validation_1-rmse:0.11378 +[89] validation_0-rmse:0.18054 validation_1-rmse:0.11332 +[90] validation_0-rmse:0.18024 validation_1-rmse:0.11285 +[91] validation_0-rmse:0.17982 validation_1-rmse:0.11241 +[92] validation_0-rmse:0.17950 validation_1-rmse:0.11185 +[93] validation_0-rmse:0.17918 validation_1-rmse:0.11123 +[94] validation_0-rmse:0.17882 validation_1-rmse:0.11072 +[95] validation_0-rmse:0.17881 validation_1-rmse:0.10986 +[96] validation_0-rmse:0.17832 validation_1-rmse:0.10941 +[97] validation_0-rmse:0.17800 validation_1-rmse:0.10897 +[98] validation_0-rmse:0.17774 validation_1-rmse:0.10859 +[99] validation_0-rmse:0.17746 validation_1-rmse:0.10819 +2025-04-29 01:56:33,558 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training SOL/USDT (6.45 secs) -------------------- +2025-04-29 01:56:33,558 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:56:34,118 - freqtrade.freqai.freqai_interface - INFO - Training SOL/USDT, 2/2 pairs from 2025-01-01 00:00:00 to 2025-01-31 00:00:00, 4/11 trains +2025-04-29 01:56:34,119 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_sol_1738281600_prediction.feather +2025-04-29 01:56:34,124 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:56:34,130 - FreqaiExampleStrategy - INFO - 目标列形状:(28850,) +2025-04-29 01:56:34,131 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.941408 +1 0.003044 49.941408 +2 0.000465 49.941408 +3 -0.000380 49.941408 +4 0.002829 49.941408 +2025-04-29 01:56:34,137 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:56:34,143 - FreqaiExampleStrategy - INFO - 目标列形状:(33650,) +2025-04-29 01:56:34,144 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.830756 +1 0.003044 49.830756 +2 0.000465 49.830756 +3 -0.000380 49.830756 +4 0.002829 49.830756 +2025-04-29 01:56:34,149 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-SOL_1738281600/cb_sol_1738281600 +2025-04-29 01:56:34,150 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training SOL/USDT -------------------- +2025-04-29 01:56:34,173 - freqtrade.freqai.data_kitchen - INFO - SOL/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:56:34,173 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-01-01 to 2025-01-30 -------------------- +2025-04-29 01:56:39,271 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 111 features +2025-04-29 01:56:39,271 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.29494 validation_1-rmse:0.28739 +[1] validation_0-rmse:0.28930 validation_1-rmse:0.28164 +[2] validation_0-rmse:0.28437 validation_1-rmse:0.27613 +[3] validation_0-rmse:0.27990 validation_1-rmse:0.27106 +[4] validation_0-rmse:0.27541 validation_1-rmse:0.26617 +[5] validation_0-rmse:0.27070 validation_1-rmse:0.26147 +[6] validation_0-rmse:0.26683 validation_1-rmse:0.25687 +[7] validation_0-rmse:0.26280 validation_1-rmse:0.25263 +[8] validation_0-rmse:0.25916 validation_1-rmse:0.24830 +[9] validation_0-rmse:0.25540 validation_1-rmse:0.24420 +[10] validation_0-rmse:0.25186 validation_1-rmse:0.24022 +[11] validation_0-rmse:0.24829 validation_1-rmse:0.23647 +[12] validation_0-rmse:0.24504 validation_1-rmse:0.23286 +[13] validation_0-rmse:0.24183 validation_1-rmse:0.22943 +[14] validation_0-rmse:0.23870 validation_1-rmse:0.22619 +[15] validation_0-rmse:0.23587 validation_1-rmse:0.22274 +[16] validation_0-rmse:0.23325 validation_1-rmse:0.21951 +[17] validation_0-rmse:0.23045 validation_1-rmse:0.21650 +[18] validation_0-rmse:0.22792 validation_1-rmse:0.21367 +[19] validation_0-rmse:0.22524 validation_1-rmse:0.21092 +[20] validation_0-rmse:0.22293 validation_1-rmse:0.20804 +[21] validation_0-rmse:0.22055 validation_1-rmse:0.20549 +[22] validation_0-rmse:0.21831 validation_1-rmse:0.20307 +[23] validation_0-rmse:0.21601 validation_1-rmse:0.20062 +[24] validation_0-rmse:0.21372 validation_1-rmse:0.19810 +[25] validation_0-rmse:0.21154 validation_1-rmse:0.19580 +[26] validation_0-rmse:0.20966 validation_1-rmse:0.19369 +[27] validation_0-rmse:0.20790 validation_1-rmse:0.19130 +[28] validation_0-rmse:0.20602 validation_1-rmse:0.18921 +[29] validation_0-rmse:0.20418 validation_1-rmse:0.18723 +[30] validation_0-rmse:0.20236 validation_1-rmse:0.18525 +[31] validation_0-rmse:0.20057 validation_1-rmse:0.18324 +[32] validation_0-rmse:0.19900 validation_1-rmse:0.18144 +[33] validation_0-rmse:0.19744 validation_1-rmse:0.17941 +[34] validation_0-rmse:0.19608 validation_1-rmse:0.17767 +[35] validation_0-rmse:0.19467 validation_1-rmse:0.17605 +[36] validation_0-rmse:0.19313 validation_1-rmse:0.17422 +[37] validation_0-rmse:0.19156 validation_1-rmse:0.17260 +[38] validation_0-rmse:0.19020 validation_1-rmse:0.17103 +[39] validation_0-rmse:0.18884 validation_1-rmse:0.16948 +[40] validation_0-rmse:0.18767 validation_1-rmse:0.16797 +[41] validation_0-rmse:0.18636 validation_1-rmse:0.16647 +[42] validation_0-rmse:0.18512 validation_1-rmse:0.16505 +[43] validation_0-rmse:0.18403 validation_1-rmse:0.16340 +[44] validation_0-rmse:0.18290 validation_1-rmse:0.16210 +[45] validation_0-rmse:0.18189 validation_1-rmse:0.16085 +[46] validation_0-rmse:0.18090 validation_1-rmse:0.15966 +[47] validation_0-rmse:0.17992 validation_1-rmse:0.15841 +[48] validation_0-rmse:0.17901 validation_1-rmse:0.15728 +[49] validation_0-rmse:0.17817 validation_1-rmse:0.15582 +[50] validation_0-rmse:0.17697 validation_1-rmse:0.15458 +[51] validation_0-rmse:0.17607 validation_1-rmse:0.15349 +[52] validation_0-rmse:0.17516 validation_1-rmse:0.15235 +[53] validation_0-rmse:0.17425 validation_1-rmse:0.15131 +[54] validation_0-rmse:0.17347 validation_1-rmse:0.15032 +[55] validation_0-rmse:0.17275 validation_1-rmse:0.14932 +[56] validation_0-rmse:0.17211 validation_1-rmse:0.14834 +[57] validation_0-rmse:0.17131 validation_1-rmse:0.14741 +[58] validation_0-rmse:0.17072 validation_1-rmse:0.14617 +[59] validation_0-rmse:0.16999 validation_1-rmse:0.14528 +[60] validation_0-rmse:0.16934 validation_1-rmse:0.14416 +[61] validation_0-rmse:0.16887 validation_1-rmse:0.14321 +[62] validation_0-rmse:0.16842 validation_1-rmse:0.14213 +[63] validation_0-rmse:0.16765 validation_1-rmse:0.14130 +[64] validation_0-rmse:0.16691 validation_1-rmse:0.14048 +[65] validation_0-rmse:0.16629 validation_1-rmse:0.13956 +[66] validation_0-rmse:0.16565 validation_1-rmse:0.13882 +[67] validation_0-rmse:0.16530 validation_1-rmse:0.13793 +[68] validation_0-rmse:0.16467 validation_1-rmse:0.13710 +[69] validation_0-rmse:0.16436 validation_1-rmse:0.13621 +[70] validation_0-rmse:0.16377 validation_1-rmse:0.13542 +[71] validation_0-rmse:0.16334 validation_1-rmse:0.13463 +[72] validation_0-rmse:0.16280 validation_1-rmse:0.13394 +[73] validation_0-rmse:0.16230 validation_1-rmse:0.13328 +[74] validation_0-rmse:0.16156 validation_1-rmse:0.13246 +[75] validation_0-rmse:0.16122 validation_1-rmse:0.13151 +[76] validation_0-rmse:0.16080 validation_1-rmse:0.13080 +[77] validation_0-rmse:0.16033 validation_1-rmse:0.13015 +[78] validation_0-rmse:0.15992 validation_1-rmse:0.12951 +[79] validation_0-rmse:0.15950 validation_1-rmse:0.12888 +[80] validation_0-rmse:0.15909 validation_1-rmse:0.12822 +[81] validation_0-rmse:0.15875 validation_1-rmse:0.12744 +[82] validation_0-rmse:0.15831 validation_1-rmse:0.12683 +[83] validation_0-rmse:0.15786 validation_1-rmse:0.12626 +[84] validation_0-rmse:0.15747 validation_1-rmse:0.12572 +[85] validation_0-rmse:0.15724 validation_1-rmse:0.12495 +[86] validation_0-rmse:0.15695 validation_1-rmse:0.12442 +[87] validation_0-rmse:0.15664 validation_1-rmse:0.12382 +[88] validation_0-rmse:0.15651 validation_1-rmse:0.12326 +[89] validation_0-rmse:0.15629 validation_1-rmse:0.12256 +[90] validation_0-rmse:0.15596 validation_1-rmse:0.12196 +[91] validation_0-rmse:0.15559 validation_1-rmse:0.12141 +[92] validation_0-rmse:0.15511 validation_1-rmse:0.12088 +[93] validation_0-rmse:0.15487 validation_1-rmse:0.12033 +[94] validation_0-rmse:0.15472 validation_1-rmse:0.11975 +[95] validation_0-rmse:0.15438 validation_1-rmse:0.11924 +[96] validation_0-rmse:0.15408 validation_1-rmse:0.11882 +[97] validation_0-rmse:0.15382 validation_1-rmse:0.11819 +[98] validation_0-rmse:0.15350 validation_1-rmse:0.11777 +[99] validation_0-rmse:0.15331 validation_1-rmse:0.11727 +2025-04-29 01:56:40,600 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training SOL/USDT (6.45 secs) -------------------- +2025-04-29 01:56:40,601 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:56:41,171 - freqtrade.freqai.freqai_interface - INFO - Training SOL/USDT, 2/2 pairs from 2025-01-11 00:00:00 to 2025-02-10 00:00:00, 5/11 trains +2025-04-29 01:56:41,172 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_sol_1739145600_prediction.feather +2025-04-29 01:56:41,177 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:56:41,183 - FreqaiExampleStrategy - INFO - 目标列形状:(33650,) +2025-04-29 01:56:41,185 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.830756 +1 0.003044 49.830756 +2 0.000465 49.830756 +3 -0.000380 49.830756 +4 0.002829 49.830756 +2025-04-29 01:56:41,193 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:56:41,200 - FreqaiExampleStrategy - INFO - 目标列形状:(38450,) +2025-04-29 01:56:41,201 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.714422 +1 0.003044 49.714422 +2 0.000465 49.714422 +3 -0.000380 49.714422 +4 0.002829 49.714422 +2025-04-29 01:56:41,206 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-SOL_1739145600/cb_sol_1739145600 +2025-04-29 01:56:41,207 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training SOL/USDT -------------------- +2025-04-29 01:56:41,228 - freqtrade.freqai.data_kitchen - INFO - SOL/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:56:41,229 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-01-11 to 2025-02-09 -------------------- +2025-04-29 01:56:46,277 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 111 features +2025-04-29 01:56:46,278 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.29889 validation_1-rmse:0.30153 +[1] validation_0-rmse:0.29317 validation_1-rmse:0.29483 +[2] validation_0-rmse:0.28819 validation_1-rmse:0.28860 +[3] validation_0-rmse:0.28336 validation_1-rmse:0.28273 +[4] validation_0-rmse:0.27885 validation_1-rmse:0.27694 +[5] validation_0-rmse:0.27448 validation_1-rmse:0.27155 +[6] validation_0-rmse:0.27020 validation_1-rmse:0.26634 +[7] validation_0-rmse:0.26629 validation_1-rmse:0.26134 +[8] validation_0-rmse:0.26241 validation_1-rmse:0.25653 +[9] validation_0-rmse:0.25876 validation_1-rmse:0.25192 +[10] validation_0-rmse:0.25559 validation_1-rmse:0.24747 +[11] validation_0-rmse:0.25223 validation_1-rmse:0.24337 +[12] validation_0-rmse:0.24904 validation_1-rmse:0.23934 +[13] validation_0-rmse:0.24639 validation_1-rmse:0.23548 +[14] validation_0-rmse:0.24353 validation_1-rmse:0.23187 +[15] validation_0-rmse:0.24076 validation_1-rmse:0.22837 +[16] validation_0-rmse:0.23849 validation_1-rmse:0.22484 +[17] validation_0-rmse:0.23581 validation_1-rmse:0.22147 +[18] validation_0-rmse:0.23342 validation_1-rmse:0.21814 +[19] validation_0-rmse:0.23133 validation_1-rmse:0.21509 +[20] validation_0-rmse:0.22937 validation_1-rmse:0.21187 +[21] validation_0-rmse:0.22713 validation_1-rmse:0.20902 +[22] validation_0-rmse:0.22509 validation_1-rmse:0.20631 +[23] validation_0-rmse:0.22312 validation_1-rmse:0.20373 +[24] validation_0-rmse:0.22123 validation_1-rmse:0.20076 +[25] validation_0-rmse:0.21951 validation_1-rmse:0.19837 +[26] validation_0-rmse:0.21751 validation_1-rmse:0.19562 +[27] validation_0-rmse:0.21589 validation_1-rmse:0.19309 +[28] validation_0-rmse:0.21422 validation_1-rmse:0.19091 +[29] validation_0-rmse:0.21272 validation_1-rmse:0.18879 +[30] validation_0-rmse:0.21119 validation_1-rmse:0.18660 +[31] validation_0-rmse:0.20982 validation_1-rmse:0.18468 +[32] validation_0-rmse:0.20829 validation_1-rmse:0.18239 +[33] validation_0-rmse:0.20681 validation_1-rmse:0.18048 +[34] validation_0-rmse:0.20548 validation_1-rmse:0.17869 +[35] validation_0-rmse:0.20431 validation_1-rmse:0.17665 +[36] validation_0-rmse:0.20297 validation_1-rmse:0.17483 +[37] validation_0-rmse:0.20174 validation_1-rmse:0.17311 +[38] validation_0-rmse:0.20060 validation_1-rmse:0.17153 +[39] validation_0-rmse:0.19951 validation_1-rmse:0.16958 +[40] validation_0-rmse:0.19848 validation_1-rmse:0.16805 +[41] validation_0-rmse:0.19745 validation_1-rmse:0.16652 +[42] validation_0-rmse:0.19647 validation_1-rmse:0.16509 +[43] validation_0-rmse:0.19570 validation_1-rmse:0.16325 +[44] validation_0-rmse:0.19473 validation_1-rmse:0.16187 +[45] validation_0-rmse:0.19397 validation_1-rmse:0.16012 +[46] validation_0-rmse:0.19314 validation_1-rmse:0.15887 +[47] validation_0-rmse:0.19196 validation_1-rmse:0.15723 +[48] validation_0-rmse:0.19096 validation_1-rmse:0.15595 +[49] validation_0-rmse:0.19009 validation_1-rmse:0.15468 +[50] validation_0-rmse:0.18931 validation_1-rmse:0.15355 +[51] validation_0-rmse:0.18864 validation_1-rmse:0.15207 +[52] validation_0-rmse:0.18786 validation_1-rmse:0.15101 +[53] validation_0-rmse:0.18690 validation_1-rmse:0.14960 +[54] validation_0-rmse:0.18614 validation_1-rmse:0.14859 +[55] validation_0-rmse:0.18550 validation_1-rmse:0.14756 +[56] validation_0-rmse:0.18475 validation_1-rmse:0.14647 +[57] validation_0-rmse:0.18405 validation_1-rmse:0.14545 +[58] validation_0-rmse:0.18346 validation_1-rmse:0.14415 +[59] validation_0-rmse:0.18277 validation_1-rmse:0.14321 +[60] validation_0-rmse:0.18219 validation_1-rmse:0.14221 +[61] validation_0-rmse:0.18158 validation_1-rmse:0.14129 +[62] validation_0-rmse:0.18100 validation_1-rmse:0.14043 +[63] validation_0-rmse:0.18059 validation_1-rmse:0.13920 +[64] validation_0-rmse:0.17997 validation_1-rmse:0.13842 +[65] validation_0-rmse:0.17941 validation_1-rmse:0.13754 +[66] validation_0-rmse:0.17881 validation_1-rmse:0.13652 +[67] validation_0-rmse:0.17823 validation_1-rmse:0.13576 +[68] validation_0-rmse:0.17784 validation_1-rmse:0.13468 +[69] validation_0-rmse:0.17735 validation_1-rmse:0.13396 +[70] validation_0-rmse:0.17687 validation_1-rmse:0.13311 +[71] validation_0-rmse:0.17628 validation_1-rmse:0.13225 +[72] validation_0-rmse:0.17599 validation_1-rmse:0.13154 +[73] validation_0-rmse:0.17542 validation_1-rmse:0.13080 +[74] validation_0-rmse:0.17497 validation_1-rmse:0.13013 +[75] validation_0-rmse:0.17456 validation_1-rmse:0.12954 +[76] validation_0-rmse:0.17416 validation_1-rmse:0.12864 +[77] validation_0-rmse:0.17369 validation_1-rmse:0.12802 +[78] validation_0-rmse:0.17345 validation_1-rmse:0.12735 +[79] validation_0-rmse:0.17302 validation_1-rmse:0.12672 +[80] validation_0-rmse:0.17254 validation_1-rmse:0.12609 +[81] validation_0-rmse:0.17248 validation_1-rmse:0.12527 +[82] validation_0-rmse:0.17210 validation_1-rmse:0.12470 +[83] validation_0-rmse:0.17196 validation_1-rmse:0.12398 +[84] validation_0-rmse:0.17189 validation_1-rmse:0.12334 +[85] validation_0-rmse:0.17155 validation_1-rmse:0.12280 +[86] validation_0-rmse:0.17124 validation_1-rmse:0.12230 +[87] validation_0-rmse:0.17103 validation_1-rmse:0.12178 +[88] validation_0-rmse:0.17086 validation_1-rmse:0.12118 +[89] validation_0-rmse:0.17064 validation_1-rmse:0.12049 +[90] validation_0-rmse:0.17029 validation_1-rmse:0.11993 +[91] validation_0-rmse:0.16981 validation_1-rmse:0.11942 +[92] validation_0-rmse:0.16950 validation_1-rmse:0.11894 +[93] validation_0-rmse:0.16937 validation_1-rmse:0.11833 +[94] validation_0-rmse:0.16928 validation_1-rmse:0.11786 +[95] validation_0-rmse:0.16899 validation_1-rmse:0.11735 +[96] validation_0-rmse:0.16869 validation_1-rmse:0.11693 +[97] validation_0-rmse:0.16843 validation_1-rmse:0.11650 +[98] validation_0-rmse:0.16829 validation_1-rmse:0.11591 +[99] validation_0-rmse:0.16802 validation_1-rmse:0.11547 +2025-04-29 01:56:47,778 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training SOL/USDT (6.57 secs) -------------------- +2025-04-29 01:56:47,779 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:56:48,320 - freqtrade.freqai.freqai_interface - INFO - Training SOL/USDT, 2/2 pairs from 2025-01-21 00:00:00 to 2025-02-20 00:00:00, 6/11 trains +2025-04-29 01:56:48,321 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_sol_1740009600_prediction.feather +2025-04-29 01:56:48,327 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:56:48,333 - FreqaiExampleStrategy - INFO - 目标列形状:(38450,) +2025-04-29 01:56:48,334 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.714422 +1 0.003044 49.714422 +2 0.000465 49.714422 +3 -0.000380 49.714422 +4 0.002829 49.714422 +2025-04-29 01:56:48,346 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:56:48,353 - FreqaiExampleStrategy - INFO - 目标列形状:(43250,) +2025-04-29 01:56:48,354 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.626186 +1 0.003044 49.626186 +2 0.000465 49.626186 +3 -0.000380 49.626186 +4 0.002829 49.626186 +2025-04-29 01:56:48,361 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-SOL_1740009600/cb_sol_1740009600 +2025-04-29 01:56:48,361 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training SOL/USDT -------------------- +2025-04-29 01:56:48,383 - freqtrade.freqai.data_kitchen - INFO - SOL/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:56:48,383 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-01-21 to 2025-02-19 -------------------- +2025-04-29 01:56:53,532 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 111 features +2025-04-29 01:56:53,533 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.29357 validation_1-rmse:0.28852 +[1] validation_0-rmse:0.28850 validation_1-rmse:0.28219 +[2] validation_0-rmse:0.28292 validation_1-rmse:0.27618 +[3] validation_0-rmse:0.27862 validation_1-rmse:0.27046 +[4] validation_0-rmse:0.27383 validation_1-rmse:0.26510 +[5] validation_0-rmse:0.27018 validation_1-rmse:0.25989 +[6] validation_0-rmse:0.26615 validation_1-rmse:0.25477 +[7] validation_0-rmse:0.26234 validation_1-rmse:0.25007 +[8] validation_0-rmse:0.25794 validation_1-rmse:0.24560 +[9] validation_0-rmse:0.25417 validation_1-rmse:0.24109 +[10] validation_0-rmse:0.25083 validation_1-rmse:0.23700 +[11] validation_0-rmse:0.24683 validation_1-rmse:0.23303 +[12] validation_0-rmse:0.24384 validation_1-rmse:0.22908 +[13] validation_0-rmse:0.24093 validation_1-rmse:0.22542 +[14] validation_0-rmse:0.23743 validation_1-rmse:0.22186 +[15] validation_0-rmse:0.23484 validation_1-rmse:0.21841 +[16] validation_0-rmse:0.23215 validation_1-rmse:0.21525 +[17] validation_0-rmse:0.22951 validation_1-rmse:0.21206 +[18] validation_0-rmse:0.22658 validation_1-rmse:0.20906 +[19] validation_0-rmse:0.22440 validation_1-rmse:0.20615 +[20] validation_0-rmse:0.22193 validation_1-rmse:0.20314 +[21] validation_0-rmse:0.22009 validation_1-rmse:0.20016 +[22] validation_0-rmse:0.21755 validation_1-rmse:0.19751 +[23] validation_0-rmse:0.21578 validation_1-rmse:0.19498 +[24] validation_0-rmse:0.21440 validation_1-rmse:0.19241 +[25] validation_0-rmse:0.21229 validation_1-rmse:0.19006 +[26] validation_0-rmse:0.21038 validation_1-rmse:0.18780 +[27] validation_0-rmse:0.20897 validation_1-rmse:0.18529 +[28] validation_0-rmse:0.20703 validation_1-rmse:0.18313 +[29] validation_0-rmse:0.20556 validation_1-rmse:0.18091 +[30] validation_0-rmse:0.20384 validation_1-rmse:0.17884 +[31] validation_0-rmse:0.20281 validation_1-rmse:0.17690 +[32] validation_0-rmse:0.20169 validation_1-rmse:0.17483 +[33] validation_0-rmse:0.20012 validation_1-rmse:0.17300 +[34] validation_0-rmse:0.19876 validation_1-rmse:0.17106 +[35] validation_0-rmse:0.19755 validation_1-rmse:0.16934 +[36] validation_0-rmse:0.19649 validation_1-rmse:0.16752 +[37] validation_0-rmse:0.19501 validation_1-rmse:0.16586 +[38] validation_0-rmse:0.19423 validation_1-rmse:0.16418 +[39] validation_0-rmse:0.19297 validation_1-rmse:0.16264 +[40] validation_0-rmse:0.19162 validation_1-rmse:0.16092 +[41] validation_0-rmse:0.19049 validation_1-rmse:0.15952 +[42] validation_0-rmse:0.18925 validation_1-rmse:0.15810 +[43] validation_0-rmse:0.18845 validation_1-rmse:0.15638 +[44] validation_0-rmse:0.18730 validation_1-rmse:0.15506 +[45] validation_0-rmse:0.18661 validation_1-rmse:0.15357 +[46] validation_0-rmse:0.18563 validation_1-rmse:0.15226 +[47] validation_0-rmse:0.18473 validation_1-rmse:0.15101 +[48] validation_0-rmse:0.18399 validation_1-rmse:0.14957 +[49] validation_0-rmse:0.18304 validation_1-rmse:0.14841 +[50] validation_0-rmse:0.18219 validation_1-rmse:0.14717 +[51] validation_0-rmse:0.18131 validation_1-rmse:0.14599 +[52] validation_0-rmse:0.18043 validation_1-rmse:0.14492 +[53] validation_0-rmse:0.17966 validation_1-rmse:0.14388 +[54] validation_0-rmse:0.17901 validation_1-rmse:0.14274 +[55] validation_0-rmse:0.17850 validation_1-rmse:0.14134 +[56] validation_0-rmse:0.17764 validation_1-rmse:0.14035 +[57] validation_0-rmse:0.17682 validation_1-rmse:0.13937 +[58] validation_0-rmse:0.17604 validation_1-rmse:0.13844 +[59] validation_0-rmse:0.17526 validation_1-rmse:0.13754 +[60] validation_0-rmse:0.17488 validation_1-rmse:0.13621 +[61] validation_0-rmse:0.17432 validation_1-rmse:0.13530 +[62] validation_0-rmse:0.17345 validation_1-rmse:0.13439 +[63] validation_0-rmse:0.17284 validation_1-rmse:0.13358 +[64] validation_0-rmse:0.17213 validation_1-rmse:0.13278 +[65] validation_0-rmse:0.17164 validation_1-rmse:0.13175 +[66] validation_0-rmse:0.17098 validation_1-rmse:0.13088 +[67] validation_0-rmse:0.17049 validation_1-rmse:0.13002 +[68] validation_0-rmse:0.17000 validation_1-rmse:0.12918 +[69] validation_0-rmse:0.16969 validation_1-rmse:0.12815 +[70] validation_0-rmse:0.16917 validation_1-rmse:0.12746 +[71] validation_0-rmse:0.16857 validation_1-rmse:0.12678 +[72] validation_0-rmse:0.16830 validation_1-rmse:0.12595 +[73] validation_0-rmse:0.16793 validation_1-rmse:0.12522 +[74] validation_0-rmse:0.16752 validation_1-rmse:0.12457 +[75] validation_0-rmse:0.16704 validation_1-rmse:0.12395 +[76] validation_0-rmse:0.16668 validation_1-rmse:0.12316 +[77] validation_0-rmse:0.16621 validation_1-rmse:0.12251 +[78] validation_0-rmse:0.16591 validation_1-rmse:0.12185 +[79] validation_0-rmse:0.16550 validation_1-rmse:0.12115 +[80] validation_0-rmse:0.16506 validation_1-rmse:0.12055 +[81] validation_0-rmse:0.16467 validation_1-rmse:0.12001 +[82] validation_0-rmse:0.16422 validation_1-rmse:0.11944 +[83] validation_0-rmse:0.16379 validation_1-rmse:0.11892 +[84] validation_0-rmse:0.16344 validation_1-rmse:0.11825 +[85] validation_0-rmse:0.16317 validation_1-rmse:0.11766 +[86] validation_0-rmse:0.16289 validation_1-rmse:0.11712 +[87] validation_0-rmse:0.16271 validation_1-rmse:0.11639 +[88] validation_0-rmse:0.16236 validation_1-rmse:0.11591 +[89] validation_0-rmse:0.16210 validation_1-rmse:0.11515 +[90] validation_0-rmse:0.16170 validation_1-rmse:0.11457 +[91] validation_0-rmse:0.16149 validation_1-rmse:0.11411 +[92] validation_0-rmse:0.16132 validation_1-rmse:0.11360 +[93] validation_0-rmse:0.16108 validation_1-rmse:0.11292 +[94] validation_0-rmse:0.16077 validation_1-rmse:0.11247 +[95] validation_0-rmse:0.16040 validation_1-rmse:0.11205 +[96] validation_0-rmse:0.16017 validation_1-rmse:0.11157 +[97] validation_0-rmse:0.15988 validation_1-rmse:0.11117 +[98] validation_0-rmse:0.15964 validation_1-rmse:0.11074 +[99] validation_0-rmse:0.15958 validation_1-rmse:0.11029 +2025-04-29 01:56:54,862 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training SOL/USDT (6.50 secs) -------------------- +2025-04-29 01:56:54,863 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:56:55,419 - freqtrade.freqai.freqai_interface - INFO - Training SOL/USDT, 2/2 pairs from 2025-01-31 00:00:00 to 2025-03-02 00:00:00, 7/11 trains +2025-04-29 01:56:55,420 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_sol_1740873600_prediction.feather +2025-04-29 01:56:55,426 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:56:55,433 - FreqaiExampleStrategy - INFO - 目标列形状:(43250,) +2025-04-29 01:56:55,435 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.626186 +1 0.003044 49.626186 +2 0.000465 49.626186 +3 -0.000380 49.626186 +4 0.002829 49.626186 +2025-04-29 01:56:55,445 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:56:55,452 - FreqaiExampleStrategy - INFO - 目标列形状:(48050,) +2025-04-29 01:56:55,453 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.568812 +1 0.003044 49.568812 +2 0.000465 49.568812 +3 -0.000380 49.568812 +4 0.002829 49.568812 +2025-04-29 01:56:55,459 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-SOL_1740873600/cb_sol_1740873600 +2025-04-29 01:56:55,459 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training SOL/USDT -------------------- +2025-04-29 01:56:55,481 - freqtrade.freqai.data_kitchen - INFO - SOL/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:56:55,482 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-01-31 to 2025-03-01 -------------------- +2025-04-29 01:57:00,566 - datasieve.pipeline - INFO - DI tossed 2417 predictions for being too far from training data. +2025-04-29 01:57:00,569 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 111 features +2025-04-29 01:57:00,570 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.33058 validation_1-rmse:0.29214 +[1] validation_0-rmse:0.32414 validation_1-rmse:0.28558 +[2] validation_0-rmse:0.31832 validation_1-rmse:0.27962 +[3] validation_0-rmse:0.31280 validation_1-rmse:0.27380 +[4] validation_0-rmse:0.30679 validation_1-rmse:0.26829 +[5] validation_0-rmse:0.30182 validation_1-rmse:0.26306 +[6] validation_0-rmse:0.29686 validation_1-rmse:0.25797 +[7] validation_0-rmse:0.29291 validation_1-rmse:0.25323 +[8] validation_0-rmse:0.28868 validation_1-rmse:0.24871 +[9] validation_0-rmse:0.28559 validation_1-rmse:0.24437 +[10] validation_0-rmse:0.28262 validation_1-rmse:0.24018 +[11] validation_0-rmse:0.27890 validation_1-rmse:0.23606 +[12] validation_0-rmse:0.27663 validation_1-rmse:0.23225 +[13] validation_0-rmse:0.27306 validation_1-rmse:0.22870 +[14] validation_0-rmse:0.26948 validation_1-rmse:0.22493 +[15] validation_0-rmse:0.26663 validation_1-rmse:0.22157 +[16] validation_0-rmse:0.26427 validation_1-rmse:0.21817 +[17] validation_0-rmse:0.26195 validation_1-rmse:0.21492 +[18] validation_0-rmse:0.25856 validation_1-rmse:0.21177 +[19] validation_0-rmse:0.25606 validation_1-rmse:0.20861 +[20] validation_0-rmse:0.25343 validation_1-rmse:0.20580 +[21] validation_0-rmse:0.25243 validation_1-rmse:0.20301 +[22] validation_0-rmse:0.25066 validation_1-rmse:0.20027 +[23] validation_0-rmse:0.24864 validation_1-rmse:0.19761 +[24] validation_0-rmse:0.24630 validation_1-rmse:0.19522 +[25] validation_0-rmse:0.24491 validation_1-rmse:0.19283 +[26] validation_0-rmse:0.24339 validation_1-rmse:0.19036 +[27] validation_0-rmse:0.24108 validation_1-rmse:0.18818 +[28] validation_0-rmse:0.23976 validation_1-rmse:0.18592 +[29] validation_0-rmse:0.23882 validation_1-rmse:0.18348 +[30] validation_0-rmse:0.23676 validation_1-rmse:0.18142 +[31] validation_0-rmse:0.23520 validation_1-rmse:0.17945 +[32] validation_0-rmse:0.23395 validation_1-rmse:0.17754 +[33] validation_0-rmse:0.23229 validation_1-rmse:0.17545 +[34] validation_0-rmse:0.23073 validation_1-rmse:0.17360 +[35] validation_0-rmse:0.22951 validation_1-rmse:0.17182 +[36] validation_0-rmse:0.22806 validation_1-rmse:0.16995 +[37] validation_0-rmse:0.22713 validation_1-rmse:0.16834 +[38] validation_0-rmse:0.22541 validation_1-rmse:0.16668 +[39] validation_0-rmse:0.22393 validation_1-rmse:0.16509 +[40] validation_0-rmse:0.22282 validation_1-rmse:0.16343 +[41] validation_0-rmse:0.22168 validation_1-rmse:0.16185 +[42] validation_0-rmse:0.22085 validation_1-rmse:0.16046 +[43] validation_0-rmse:0.21991 validation_1-rmse:0.15907 +[44] validation_0-rmse:0.21833 validation_1-rmse:0.15756 +[45] validation_0-rmse:0.21710 validation_1-rmse:0.15618 +[46] validation_0-rmse:0.21619 validation_1-rmse:0.15490 +[47] validation_0-rmse:0.21518 validation_1-rmse:0.15345 +[48] validation_0-rmse:0.21402 validation_1-rmse:0.15221 +[49] validation_0-rmse:0.21305 validation_1-rmse:0.15086 +[50] validation_0-rmse:0.21229 validation_1-rmse:0.14968 +[51] validation_0-rmse:0.21119 validation_1-rmse:0.14854 +[52] validation_0-rmse:0.21019 validation_1-rmse:0.14745 +[53] validation_0-rmse:0.20924 validation_1-rmse:0.14637 +[54] validation_0-rmse:0.20982 validation_1-rmse:0.14517 +[55] validation_0-rmse:0.20888 validation_1-rmse:0.14405 +[56] validation_0-rmse:0.20806 validation_1-rmse:0.14305 +[57] validation_0-rmse:0.20822 validation_1-rmse:0.14169 +[58] validation_0-rmse:0.20741 validation_1-rmse:0.14071 +[59] validation_0-rmse:0.20663 validation_1-rmse:0.13976 +[60] validation_0-rmse:0.20602 validation_1-rmse:0.13882 +[61] validation_0-rmse:0.20523 validation_1-rmse:0.13776 +[62] validation_0-rmse:0.20558 validation_1-rmse:0.13689 +[63] validation_0-rmse:0.20501 validation_1-rmse:0.13605 +[64] validation_0-rmse:0.20348 validation_1-rmse:0.13462 +[65] validation_0-rmse:0.20273 validation_1-rmse:0.13382 +[66] validation_0-rmse:0.20203 validation_1-rmse:0.13306 +[67] validation_0-rmse:0.20166 validation_1-rmse:0.13228 +[68] validation_0-rmse:0.20002 validation_1-rmse:0.13102 +[69] validation_0-rmse:0.19928 validation_1-rmse:0.13021 +[70] validation_0-rmse:0.19870 validation_1-rmse:0.12946 +[71] validation_0-rmse:0.19830 validation_1-rmse:0.12876 +[72] validation_0-rmse:0.19814 validation_1-rmse:0.12801 +[73] validation_0-rmse:0.19798 validation_1-rmse:0.12711 +[74] validation_0-rmse:0.19746 validation_1-rmse:0.12649 +[75] validation_0-rmse:0.19701 validation_1-rmse:0.12588 +[76] validation_0-rmse:0.19555 validation_1-rmse:0.12467 +[77] validation_0-rmse:0.19514 validation_1-rmse:0.12407 +[78] validation_0-rmse:0.19468 validation_1-rmse:0.12347 +[79] validation_0-rmse:0.19439 validation_1-rmse:0.12277 +[80] validation_0-rmse:0.19473 validation_1-rmse:0.12220 +[81] validation_0-rmse:0.19448 validation_1-rmse:0.12154 +[82] validation_0-rmse:0.19418 validation_1-rmse:0.12086 +[83] validation_0-rmse:0.19370 validation_1-rmse:0.12030 +[84] validation_0-rmse:0.19346 validation_1-rmse:0.11976 +[85] validation_0-rmse:0.19322 validation_1-rmse:0.11879 +[86] validation_0-rmse:0.19282 validation_1-rmse:0.11819 +[87] validation_0-rmse:0.19226 validation_1-rmse:0.11770 +[88] validation_0-rmse:0.19187 validation_1-rmse:0.11719 +[89] validation_0-rmse:0.19145 validation_1-rmse:0.11671 +[90] validation_0-rmse:0.19134 validation_1-rmse:0.11619 +[91] validation_0-rmse:0.19030 validation_1-rmse:0.11531 +[92] validation_0-rmse:0.18998 validation_1-rmse:0.11487 +[93] validation_0-rmse:0.18945 validation_1-rmse:0.11445 +[94] validation_0-rmse:0.18919 validation_1-rmse:0.11395 +[95] validation_0-rmse:0.18862 validation_1-rmse:0.11324 +[96] validation_0-rmse:0.18824 validation_1-rmse:0.11283 +[97] validation_0-rmse:0.18778 validation_1-rmse:0.11225 +[98] validation_0-rmse:0.18755 validation_1-rmse:0.11186 +[99] validation_0-rmse:0.18742 validation_1-rmse:0.11149 +2025-04-29 01:57:02,441 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training SOL/USDT (6.98 secs) -------------------- +2025-04-29 01:57:02,442 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:57:02,968 - freqtrade.freqai.freqai_interface - INFO - Training SOL/USDT, 2/2 pairs from 2025-02-10 00:00:00 to 2025-03-12 00:00:00, 8/11 trains +2025-04-29 01:57:02,968 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_sol_1741737600_prediction.feather +2025-04-29 01:57:02,980 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:57:02,987 - FreqaiExampleStrategy - INFO - 目标列形状:(48050,) +2025-04-29 01:57:02,989 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.568812 +1 0.003044 49.568812 +2 0.000465 49.568812 +3 -0.000380 49.568812 +4 0.002829 49.568812 +2025-04-29 01:57:03,001 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:57:03,007 - FreqaiExampleStrategy - INFO - 目标列形状:(52850,) +2025-04-29 01:57:03,009 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.623338 +1 0.003044 49.623338 +2 0.000465 49.623338 +3 -0.000380 49.623338 +4 0.002829 49.623338 +2025-04-29 01:57:03,014 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-SOL_1741737600/cb_sol_1741737600 +2025-04-29 01:57:03,015 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training SOL/USDT -------------------- +2025-04-29 01:57:03,042 - freqtrade.freqai.data_kitchen - INFO - SOL/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:57:03,042 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-02-10 to 2025-03-11 -------------------- +2025-04-29 01:57:08,138 - datasieve.pipeline - INFO - DI tossed 3 predictions for being too far from training data. +2025-04-29 01:57:08,141 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 111 features +2025-04-29 01:57:08,141 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.25025 validation_1-rmse:0.24842 +[1] validation_0-rmse:0.24557 validation_1-rmse:0.24302 +[2] validation_0-rmse:0.24132 validation_1-rmse:0.23806 +[3] validation_0-rmse:0.23733 validation_1-rmse:0.23332 +[4] validation_0-rmse:0.23376 validation_1-rmse:0.22859 +[5] validation_0-rmse:0.23049 validation_1-rmse:0.22444 +[6] validation_0-rmse:0.22702 validation_1-rmse:0.22025 +[7] validation_0-rmse:0.22380 validation_1-rmse:0.21631 +[8] validation_0-rmse:0.22066 validation_1-rmse:0.21250 +[9] validation_0-rmse:0.21772 validation_1-rmse:0.20892 +[10] validation_0-rmse:0.21473 validation_1-rmse:0.20536 +[11] validation_0-rmse:0.21219 validation_1-rmse:0.20211 +[12] validation_0-rmse:0.20968 validation_1-rmse:0.19897 +[13] validation_0-rmse:0.20730 validation_1-rmse:0.19597 +[14] validation_0-rmse:0.20552 validation_1-rmse:0.19281 +[15] validation_0-rmse:0.20361 validation_1-rmse:0.18992 +[16] validation_0-rmse:0.20165 validation_1-rmse:0.18721 +[17] validation_0-rmse:0.19948 validation_1-rmse:0.18463 +[18] validation_0-rmse:0.19807 validation_1-rmse:0.18193 +[19] validation_0-rmse:0.19703 validation_1-rmse:0.17939 +[20] validation_0-rmse:0.19569 validation_1-rmse:0.17683 +[21] validation_0-rmse:0.19388 validation_1-rmse:0.17462 +[22] validation_0-rmse:0.19219 validation_1-rmse:0.17240 +[23] validation_0-rmse:0.19062 validation_1-rmse:0.17026 +[24] validation_0-rmse:0.18933 validation_1-rmse:0.16813 +[25] validation_0-rmse:0.18829 validation_1-rmse:0.16598 +[26] validation_0-rmse:0.18704 validation_1-rmse:0.16411 +[27] validation_0-rmse:0.18563 validation_1-rmse:0.16221 +[28] validation_0-rmse:0.18446 validation_1-rmse:0.16034 +[29] validation_0-rmse:0.18316 validation_1-rmse:0.15841 +[30] validation_0-rmse:0.18192 validation_1-rmse:0.15674 +[31] validation_0-rmse:0.18091 validation_1-rmse:0.15479 +[32] validation_0-rmse:0.18003 validation_1-rmse:0.15312 +[33] validation_0-rmse:0.17886 validation_1-rmse:0.15150 +[34] validation_0-rmse:0.17786 validation_1-rmse:0.14997 +[35] validation_0-rmse:0.17692 validation_1-rmse:0.14855 +[36] validation_0-rmse:0.17613 validation_1-rmse:0.14709 +[37] validation_0-rmse:0.17547 validation_1-rmse:0.14549 +[38] validation_0-rmse:0.17467 validation_1-rmse:0.14404 +[39] validation_0-rmse:0.17393 validation_1-rmse:0.14267 +[40] validation_0-rmse:0.17348 validation_1-rmse:0.14118 +[41] validation_0-rmse:0.17258 validation_1-rmse:0.13993 +[42] validation_0-rmse:0.17168 validation_1-rmse:0.13871 +[43] validation_0-rmse:0.17077 validation_1-rmse:0.13757 +[44] validation_0-rmse:0.17015 validation_1-rmse:0.13621 +[45] validation_0-rmse:0.16924 validation_1-rmse:0.13509 +[46] validation_0-rmse:0.16833 validation_1-rmse:0.13401 +[47] validation_0-rmse:0.16756 validation_1-rmse:0.13297 +[48] validation_0-rmse:0.16717 validation_1-rmse:0.13198 +[49] validation_0-rmse:0.16664 validation_1-rmse:0.13081 +[50] validation_0-rmse:0.16615 validation_1-rmse:0.12979 +[51] validation_0-rmse:0.16541 validation_1-rmse:0.12879 +[52] validation_0-rmse:0.16478 validation_1-rmse:0.12767 +[53] validation_0-rmse:0.16408 validation_1-rmse:0.12675 +[54] validation_0-rmse:0.16363 validation_1-rmse:0.12571 +[55] validation_0-rmse:0.16320 validation_1-rmse:0.12485 +[56] validation_0-rmse:0.16253 validation_1-rmse:0.12398 +[57] validation_0-rmse:0.16192 validation_1-rmse:0.12307 +[58] validation_0-rmse:0.16149 validation_1-rmse:0.12229 +[59] validation_0-rmse:0.16137 validation_1-rmse:0.12128 +[60] validation_0-rmse:0.16117 validation_1-rmse:0.12045 +[61] validation_0-rmse:0.16064 validation_1-rmse:0.11966 +[62] validation_0-rmse:0.16050 validation_1-rmse:0.11890 +[63] validation_0-rmse:0.16003 validation_1-rmse:0.11809 +[64] validation_0-rmse:0.15969 validation_1-rmse:0.11739 +[65] validation_0-rmse:0.15922 validation_1-rmse:0.11661 +[66] validation_0-rmse:0.15868 validation_1-rmse:0.11577 +[67] validation_0-rmse:0.15830 validation_1-rmse:0.11509 +[68] validation_0-rmse:0.15789 validation_1-rmse:0.11446 +[69] validation_0-rmse:0.15733 validation_1-rmse:0.11372 +[70] validation_0-rmse:0.15694 validation_1-rmse:0.11307 +[71] validation_0-rmse:0.15692 validation_1-rmse:0.11224 +[72] validation_0-rmse:0.15659 validation_1-rmse:0.11166 +[73] validation_0-rmse:0.15634 validation_1-rmse:0.11111 +[74] validation_0-rmse:0.15595 validation_1-rmse:0.11056 +[75] validation_0-rmse:0.15579 validation_1-rmse:0.10985 +[76] validation_0-rmse:0.15543 validation_1-rmse:0.10903 +[77] validation_0-rmse:0.15500 validation_1-rmse:0.10848 +[78] validation_0-rmse:0.15499 validation_1-rmse:0.10778 +[79] validation_0-rmse:0.15471 validation_1-rmse:0.10721 +[80] validation_0-rmse:0.15442 validation_1-rmse:0.10666 +[81] validation_0-rmse:0.15416 validation_1-rmse:0.10608 +[82] validation_0-rmse:0.15388 validation_1-rmse:0.10560 +[83] validation_0-rmse:0.15368 validation_1-rmse:0.10498 +[84] validation_0-rmse:0.15346 validation_1-rmse:0.10449 +[85] validation_0-rmse:0.15329 validation_1-rmse:0.10392 +[86] validation_0-rmse:0.15302 validation_1-rmse:0.10347 +[87] validation_0-rmse:0.15270 validation_1-rmse:0.10303 +[88] validation_0-rmse:0.15259 validation_1-rmse:0.10258 +[89] validation_0-rmse:0.15269 validation_1-rmse:0.10204 +[90] validation_0-rmse:0.15239 validation_1-rmse:0.10159 +[91] validation_0-rmse:0.15204 validation_1-rmse:0.10116 +[92] validation_0-rmse:0.15175 validation_1-rmse:0.10070 +[93] validation_0-rmse:0.15167 validation_1-rmse:0.10017 +[94] validation_0-rmse:0.15154 validation_1-rmse:0.09982 +[95] validation_0-rmse:0.15122 validation_1-rmse:0.09932 +[96] validation_0-rmse:0.15119 validation_1-rmse:0.09880 +[97] validation_0-rmse:0.15112 validation_1-rmse:0.09842 +[98] validation_0-rmse:0.15095 validation_1-rmse:0.09807 +[99] validation_0-rmse:0.15075 validation_1-rmse:0.09770 +2025-04-29 01:57:09,614 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training SOL/USDT (6.60 secs) -------------------- +2025-04-29 01:57:09,615 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:57:10,150 - freqtrade.freqai.freqai_interface - INFO - Training SOL/USDT, 2/2 pairs from 2025-02-20 00:00:00 to 2025-03-22 00:00:00, 9/11 trains +2025-04-29 01:57:10,151 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_sol_1742601600_prediction.feather +2025-04-29 01:57:10,159 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:57:10,167 - FreqaiExampleStrategy - INFO - 目标列形状:(52850,) +2025-04-29 01:57:10,168 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.623338 +1 0.003044 49.623338 +2 0.000465 49.623338 +3 -0.000380 49.623338 +4 0.002829 49.623338 +2025-04-29 01:57:10,181 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:57:10,188 - FreqaiExampleStrategy - INFO - 目标列形状:(57650,) +2025-04-29 01:57:10,190 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.644115 +1 0.003044 49.644115 +2 0.000465 49.644115 +3 -0.000380 49.644115 +4 0.002829 49.644115 +2025-04-29 01:57:10,195 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-SOL_1742601600/cb_sol_1742601600 +2025-04-29 01:57:10,196 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training SOL/USDT -------------------- +2025-04-29 01:57:10,218 - freqtrade.freqai.data_kitchen - INFO - SOL/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:57:10,218 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-02-20 to 2025-03-21 -------------------- +2025-04-29 01:57:15,185 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 111 features +2025-04-29 01:57:15,186 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.24126 validation_1-rmse:0.24985 +[1] validation_0-rmse:0.23710 validation_1-rmse:0.24457 +[2] validation_0-rmse:0.23323 validation_1-rmse:0.23968 +[3] validation_0-rmse:0.22960 validation_1-rmse:0.23491 +[4] validation_0-rmse:0.22600 validation_1-rmse:0.23038 +[5] validation_0-rmse:0.22255 validation_1-rmse:0.22616 +[6] validation_0-rmse:0.21946 validation_1-rmse:0.22213 +[7] validation_0-rmse:0.21640 validation_1-rmse:0.21827 +[8] validation_0-rmse:0.21381 validation_1-rmse:0.21453 +[9] validation_0-rmse:0.21110 validation_1-rmse:0.21092 +[10] validation_0-rmse:0.20854 validation_1-rmse:0.20742 +[11] validation_0-rmse:0.20586 validation_1-rmse:0.20418 +[12] validation_0-rmse:0.20373 validation_1-rmse:0.20097 +[13] validation_0-rmse:0.20156 validation_1-rmse:0.19779 +[14] validation_0-rmse:0.19934 validation_1-rmse:0.19493 +[15] validation_0-rmse:0.19739 validation_1-rmse:0.19211 +[16] validation_0-rmse:0.19537 validation_1-rmse:0.18929 +[17] validation_0-rmse:0.19333 validation_1-rmse:0.18671 +[18] validation_0-rmse:0.19163 validation_1-rmse:0.18396 +[19] validation_0-rmse:0.18975 validation_1-rmse:0.18157 +[20] validation_0-rmse:0.18799 validation_1-rmse:0.17903 +[21] validation_0-rmse:0.18612 validation_1-rmse:0.17673 +[22] validation_0-rmse:0.18451 validation_1-rmse:0.17454 +[23] validation_0-rmse:0.18299 validation_1-rmse:0.17225 +[24] validation_0-rmse:0.18150 validation_1-rmse:0.17025 +[25] validation_0-rmse:0.18016 validation_1-rmse:0.16803 +[26] validation_0-rmse:0.17866 validation_1-rmse:0.16614 +[27] validation_0-rmse:0.17732 validation_1-rmse:0.16429 +[28] validation_0-rmse:0.17619 validation_1-rmse:0.16247 +[29] validation_0-rmse:0.17494 validation_1-rmse:0.16080 +[30] validation_0-rmse:0.17391 validation_1-rmse:0.15889 +[31] validation_0-rmse:0.17282 validation_1-rmse:0.15724 +[32] validation_0-rmse:0.17156 validation_1-rmse:0.15548 +[33] validation_0-rmse:0.17054 validation_1-rmse:0.15393 +[34] validation_0-rmse:0.16943 validation_1-rmse:0.15244 +[35] validation_0-rmse:0.16841 validation_1-rmse:0.15088 +[36] validation_0-rmse:0.16736 validation_1-rmse:0.14950 +[37] validation_0-rmse:0.16647 validation_1-rmse:0.14797 +[38] validation_0-rmse:0.16544 validation_1-rmse:0.14641 +[39] validation_0-rmse:0.16454 validation_1-rmse:0.14508 +[40] validation_0-rmse:0.16357 validation_1-rmse:0.14380 +[41] validation_0-rmse:0.16266 validation_1-rmse:0.14261 +[42] validation_0-rmse:0.16198 validation_1-rmse:0.14134 +[43] validation_0-rmse:0.16105 validation_1-rmse:0.14019 +[44] validation_0-rmse:0.16046 validation_1-rmse:0.13896 +[45] validation_0-rmse:0.15963 validation_1-rmse:0.13773 +[46] validation_0-rmse:0.15899 validation_1-rmse:0.13662 +[47] validation_0-rmse:0.15822 validation_1-rmse:0.13555 +[48] validation_0-rmse:0.15757 validation_1-rmse:0.13452 +[49] validation_0-rmse:0.15688 validation_1-rmse:0.13322 +[50] validation_0-rmse:0.15627 validation_1-rmse:0.13206 +[51] validation_0-rmse:0.15558 validation_1-rmse:0.13110 +[52] validation_0-rmse:0.15493 validation_1-rmse:0.13017 +[53] validation_0-rmse:0.15429 validation_1-rmse:0.12924 +[54] validation_0-rmse:0.15365 validation_1-rmse:0.12838 +[55] validation_0-rmse:0.15303 validation_1-rmse:0.12741 +[56] validation_0-rmse:0.15258 validation_1-rmse:0.12653 +[57] validation_0-rmse:0.15202 validation_1-rmse:0.12569 +[58] validation_0-rmse:0.15142 validation_1-rmse:0.12478 +[59] validation_0-rmse:0.15106 validation_1-rmse:0.12392 +[60] validation_0-rmse:0.15049 validation_1-rmse:0.12297 +[61] validation_0-rmse:0.14990 validation_1-rmse:0.12223 +[62] validation_0-rmse:0.14932 validation_1-rmse:0.12144 +[63] validation_0-rmse:0.14876 validation_1-rmse:0.12071 +[64] validation_0-rmse:0.14826 validation_1-rmse:0.12000 +[65] validation_0-rmse:0.14788 validation_1-rmse:0.11931 +[66] validation_0-rmse:0.14753 validation_1-rmse:0.11842 +[67] validation_0-rmse:0.14714 validation_1-rmse:0.11776 +[68] validation_0-rmse:0.14665 validation_1-rmse:0.11706 +[69] validation_0-rmse:0.14655 validation_1-rmse:0.11614 +[70] validation_0-rmse:0.14616 validation_1-rmse:0.11556 +[71] validation_0-rmse:0.14579 validation_1-rmse:0.11478 +[72] validation_0-rmse:0.14533 validation_1-rmse:0.11418 +[73] validation_0-rmse:0.14491 validation_1-rmse:0.11358 +[74] validation_0-rmse:0.14448 validation_1-rmse:0.11300 +[75] validation_0-rmse:0.14446 validation_1-rmse:0.11235 +[76] validation_0-rmse:0.14414 validation_1-rmse:0.11173 +[77] validation_0-rmse:0.14371 validation_1-rmse:0.11116 +[78] validation_0-rmse:0.14344 validation_1-rmse:0.11066 +[79] validation_0-rmse:0.14321 validation_1-rmse:0.10996 +[80] validation_0-rmse:0.14280 validation_1-rmse:0.10942 +[81] validation_0-rmse:0.14250 validation_1-rmse:0.10885 +[82] validation_0-rmse:0.14222 validation_1-rmse:0.10837 +[83] validation_0-rmse:0.14184 validation_1-rmse:0.10787 +[84] validation_0-rmse:0.14140 validation_1-rmse:0.10731 +[85] validation_0-rmse:0.14114 validation_1-rmse:0.10683 +[86] validation_0-rmse:0.14100 validation_1-rmse:0.10625 +[87] validation_0-rmse:0.14077 validation_1-rmse:0.10574 +[88] validation_0-rmse:0.14048 validation_1-rmse:0.10534 +[89] validation_0-rmse:0.14010 validation_1-rmse:0.10485 +[90] validation_0-rmse:0.13990 validation_1-rmse:0.10443 +[91] validation_0-rmse:0.13956 validation_1-rmse:0.10400 +[92] validation_0-rmse:0.13949 validation_1-rmse:0.10341 +[93] validation_0-rmse:0.13930 validation_1-rmse:0.10298 +[94] validation_0-rmse:0.13905 validation_1-rmse:0.10254 +[95] validation_0-rmse:0.13884 validation_1-rmse:0.10211 +[96] validation_0-rmse:0.13867 validation_1-rmse:0.10167 +[97] validation_0-rmse:0.13859 validation_1-rmse:0.10114 +[98] validation_0-rmse:0.13839 validation_1-rmse:0.10078 +[99] validation_0-rmse:0.13818 validation_1-rmse:0.10038 +2025-04-29 01:57:16,538 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training SOL/USDT (6.34 secs) -------------------- +2025-04-29 01:57:16,539 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:57:17,068 - freqtrade.freqai.freqai_interface - INFO - Training SOL/USDT, 2/2 pairs from 2025-03-02 00:00:00 to 2025-04-01 00:00:00, 10/11 trains +2025-04-29 01:57:17,069 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_sol_1743465600_prediction.feather +2025-04-29 01:57:17,084 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:57:17,092 - FreqaiExampleStrategy - INFO - 目标列形状:(57650,) +2025-04-29 01:57:17,094 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.644115 +1 0.003044 49.644115 +2 0.000465 49.644115 +3 -0.000380 49.644115 +4 0.002829 49.644115 +2025-04-29 01:57:17,108 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:57:17,115 - FreqaiExampleStrategy - INFO - 目标列形状:(62450,) +2025-04-29 01:57:17,117 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.601082 +1 0.003044 49.601082 +2 0.000465 49.601082 +3 -0.000380 49.601082 +4 0.002829 49.601082 +2025-04-29 01:57:17,124 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-SOL_1743465600/cb_sol_1743465600 +2025-04-29 01:57:17,125 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training SOL/USDT -------------------- +2025-04-29 01:57:17,151 - freqtrade.freqai.data_kitchen - INFO - SOL/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:57:17,151 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-03-02 to 2025-03-31 -------------------- +2025-04-29 01:57:22,430 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 111 features +2025-04-29 01:57:22,430 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.23717 validation_1-rmse:0.24954 +[1] validation_0-rmse:0.23311 validation_1-rmse:0.24432 +[2] validation_0-rmse:0.22894 validation_1-rmse:0.23928 +[3] validation_0-rmse:0.22483 validation_1-rmse:0.23452 +[4] validation_0-rmse:0.22141 validation_1-rmse:0.23005 +[5] validation_0-rmse:0.21750 validation_1-rmse:0.22575 +[6] validation_0-rmse:0.21419 validation_1-rmse:0.22161 +[7] validation_0-rmse:0.21074 validation_1-rmse:0.21764 +[8] validation_0-rmse:0.20776 validation_1-rmse:0.21374 +[9] validation_0-rmse:0.20479 validation_1-rmse:0.21020 +[10] validation_0-rmse:0.20193 validation_1-rmse:0.20664 +[11] validation_0-rmse:0.19915 validation_1-rmse:0.20326 +[12] validation_0-rmse:0.19683 validation_1-rmse:0.20013 +[13] validation_0-rmse:0.19459 validation_1-rmse:0.19705 +[14] validation_0-rmse:0.19243 validation_1-rmse:0.19415 +[15] validation_0-rmse:0.19013 validation_1-rmse:0.19115 +[16] validation_0-rmse:0.18828 validation_1-rmse:0.18836 +[17] validation_0-rmse:0.18621 validation_1-rmse:0.18557 +[18] validation_0-rmse:0.18402 validation_1-rmse:0.18302 +[19] validation_0-rmse:0.18198 validation_1-rmse:0.18050 +[20] validation_0-rmse:0.18015 validation_1-rmse:0.17803 +[21] validation_0-rmse:0.17857 validation_1-rmse:0.17575 +[22] validation_0-rmse:0.17681 validation_1-rmse:0.17350 +[23] validation_0-rmse:0.17537 validation_1-rmse:0.17132 +[24] validation_0-rmse:0.17377 validation_1-rmse:0.16919 +[25] validation_0-rmse:0.17225 validation_1-rmse:0.16720 +[26] validation_0-rmse:0.17072 validation_1-rmse:0.16529 +[27] validation_0-rmse:0.16931 validation_1-rmse:0.16310 +[28] validation_0-rmse:0.16784 validation_1-rmse:0.16126 +[29] validation_0-rmse:0.16650 validation_1-rmse:0.15940 +[30] validation_0-rmse:0.16512 validation_1-rmse:0.15771 +[31] validation_0-rmse:0.16392 validation_1-rmse:0.15605 +[32] validation_0-rmse:0.16287 validation_1-rmse:0.15428 +[33] validation_0-rmse:0.16159 validation_1-rmse:0.15277 +[34] validation_0-rmse:0.16033 validation_1-rmse:0.15125 +[35] validation_0-rmse:0.15910 validation_1-rmse:0.14974 +[36] validation_0-rmse:0.15821 validation_1-rmse:0.14832 +[37] validation_0-rmse:0.15733 validation_1-rmse:0.14664 +[38] validation_0-rmse:0.15624 validation_1-rmse:0.14525 +[39] validation_0-rmse:0.15518 validation_1-rmse:0.14395 +[40] validation_0-rmse:0.15451 validation_1-rmse:0.14267 +[41] validation_0-rmse:0.15396 validation_1-rmse:0.14127 +[42] validation_0-rmse:0.15309 validation_1-rmse:0.14006 +[43] validation_0-rmse:0.15219 validation_1-rmse:0.13890 +[44] validation_0-rmse:0.15156 validation_1-rmse:0.13749 +[45] validation_0-rmse:0.15061 validation_1-rmse:0.13637 +[46] validation_0-rmse:0.14982 validation_1-rmse:0.13528 +[47] validation_0-rmse:0.14918 validation_1-rmse:0.13414 +[48] validation_0-rmse:0.14840 validation_1-rmse:0.13312 +[49] validation_0-rmse:0.14802 validation_1-rmse:0.13212 +[50] validation_0-rmse:0.14738 validation_1-rmse:0.13089 +[51] validation_0-rmse:0.14671 validation_1-rmse:0.12994 +[52] validation_0-rmse:0.14604 validation_1-rmse:0.12894 +[53] validation_0-rmse:0.14534 validation_1-rmse:0.12802 +[54] validation_0-rmse:0.14464 validation_1-rmse:0.12718 +[55] validation_0-rmse:0.14423 validation_1-rmse:0.12625 +[56] validation_0-rmse:0.14371 validation_1-rmse:0.12531 +[57] validation_0-rmse:0.14321 validation_1-rmse:0.12446 +[58] validation_0-rmse:0.14279 validation_1-rmse:0.12346 +[59] validation_0-rmse:0.14234 validation_1-rmse:0.12257 +[60] validation_0-rmse:0.14194 validation_1-rmse:0.12181 +[61] validation_0-rmse:0.14176 validation_1-rmse:0.12077 +[62] validation_0-rmse:0.14120 validation_1-rmse:0.12003 +[63] validation_0-rmse:0.14073 validation_1-rmse:0.11932 +[64] validation_0-rmse:0.14023 validation_1-rmse:0.11862 +[65] validation_0-rmse:0.14001 validation_1-rmse:0.11791 +[66] validation_0-rmse:0.13966 validation_1-rmse:0.11720 +[67] validation_0-rmse:0.13920 validation_1-rmse:0.11644 +[68] validation_0-rmse:0.13872 validation_1-rmse:0.11560 +[69] validation_0-rmse:0.13831 validation_1-rmse:0.11494 +[70] validation_0-rmse:0.13808 validation_1-rmse:0.11425 +[71] validation_0-rmse:0.13762 validation_1-rmse:0.11348 +[72] validation_0-rmse:0.13725 validation_1-rmse:0.11284 +[73] validation_0-rmse:0.13681 validation_1-rmse:0.11225 +[74] validation_0-rmse:0.13629 validation_1-rmse:0.11165 +[75] validation_0-rmse:0.13595 validation_1-rmse:0.11109 +[76] validation_0-rmse:0.13585 validation_1-rmse:0.11023 +[77] validation_0-rmse:0.13541 validation_1-rmse:0.10972 +[78] validation_0-rmse:0.13505 validation_1-rmse:0.10920 +[79] validation_0-rmse:0.13465 validation_1-rmse:0.10861 +[80] validation_0-rmse:0.13433 validation_1-rmse:0.10810 +[81] validation_0-rmse:0.13409 validation_1-rmse:0.10744 +[82] validation_0-rmse:0.13377 validation_1-rmse:0.10695 +[83] validation_0-rmse:0.13353 validation_1-rmse:0.10641 +[84] validation_0-rmse:0.13337 validation_1-rmse:0.10588 +[85] validation_0-rmse:0.13329 validation_1-rmse:0.10533 +[86] validation_0-rmse:0.13296 validation_1-rmse:0.10488 +[87] validation_0-rmse:0.13264 validation_1-rmse:0.10442 +[88] validation_0-rmse:0.13247 validation_1-rmse:0.10394 +[89] validation_0-rmse:0.13216 validation_1-rmse:0.10351 +[90] validation_0-rmse:0.13188 validation_1-rmse:0.10297 +[91] validation_0-rmse:0.13145 validation_1-rmse:0.10203 +[92] validation_0-rmse:0.13122 validation_1-rmse:0.10157 +[93] validation_0-rmse:0.13102 validation_1-rmse:0.10118 +[94] validation_0-rmse:0.13060 validation_1-rmse:0.10033 +[95] validation_0-rmse:0.13033 validation_1-rmse:0.09981 +[96] validation_0-rmse:0.13016 validation_1-rmse:0.09933 +[97] validation_0-rmse:0.12995 validation_1-rmse:0.09894 +[98] validation_0-rmse:0.12972 validation_1-rmse:0.09860 +[99] validation_0-rmse:0.12954 validation_1-rmse:0.09825 +2025-04-29 01:57:23,725 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training SOL/USDT (6.60 secs) -------------------- +2025-04-29 01:57:23,726 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:57:24,305 - freqtrade.freqai.freqai_interface - INFO - Training SOL/USDT, 2/2 pairs from 2025-03-12 00:00:00 to 2025-04-11 00:00:00, 11/11 trains +2025-04-29 01:57:24,305 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_sol_1744329600_prediction.feather +2025-04-29 01:57:24,318 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:57:24,325 - FreqaiExampleStrategy - INFO - 目标列形状:(62450,) +2025-04-29 01:57:24,327 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.601082 +1 0.003044 49.601082 +2 0.000465 49.601082 +3 -0.000380 49.601082 +4 0.002829 49.601082 +2025-04-29 01:57:24,337 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:57:24,345 - FreqaiExampleStrategy - INFO - 目标列形状:(66770,) +2025-04-29 01:57:24,346 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.729824 +1 0.003044 49.729824 +2 0.000465 49.729824 +3 -0.000380 49.729824 +4 0.002829 49.729824 +2025-04-29 01:57:24,352 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-SOL_1744329600/cb_sol_1744329600 +2025-04-29 01:57:24,353 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training SOL/USDT -------------------- +2025-04-29 01:57:24,376 - freqtrade.freqai.data_kitchen - INFO - SOL/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:57:24,376 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-03-12 to 2025-04-10 -------------------- +2025-04-29 01:57:29,392 - datasieve.pipeline - INFO - DI tossed 1948 predictions for being too far from training data. +2025-04-29 01:57:29,396 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 111 features +2025-04-29 01:57:29,396 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.30616 validation_1-rmse:0.27906 +[1] validation_0-rmse:0.30021 validation_1-rmse:0.27322 +[2] validation_0-rmse:0.29443 validation_1-rmse:0.26757 +[3] validation_0-rmse:0.28911 validation_1-rmse:0.26205 +[4] validation_0-rmse:0.28365 validation_1-rmse:0.25699 +[5] validation_0-rmse:0.27823 validation_1-rmse:0.25219 +[6] validation_0-rmse:0.27295 validation_1-rmse:0.24748 +[7] validation_0-rmse:0.26797 validation_1-rmse:0.24295 +[8] validation_0-rmse:0.26320 validation_1-rmse:0.23854 +[9] validation_0-rmse:0.25898 validation_1-rmse:0.23437 +[10] validation_0-rmse:0.25517 validation_1-rmse:0.23021 +[11] validation_0-rmse:0.25113 validation_1-rmse:0.22639 +[12] validation_0-rmse:0.24762 validation_1-rmse:0.22270 +[13] validation_0-rmse:0.24393 validation_1-rmse:0.21915 +[14] validation_0-rmse:0.24169 validation_1-rmse:0.21579 +[15] validation_0-rmse:0.23898 validation_1-rmse:0.21236 +[16] validation_0-rmse:0.23539 validation_1-rmse:0.20924 +[17] validation_0-rmse:0.23364 validation_1-rmse:0.20621 +[18] validation_0-rmse:0.23062 validation_1-rmse:0.20322 +[19] validation_0-rmse:0.22764 validation_1-rmse:0.20024 +[20] validation_0-rmse:0.22488 validation_1-rmse:0.19731 +[21] validation_0-rmse:0.22211 validation_1-rmse:0.19445 +[22] validation_0-rmse:0.21952 validation_1-rmse:0.19188 +[23] validation_0-rmse:0.21699 validation_1-rmse:0.18935 +[24] validation_0-rmse:0.21549 validation_1-rmse:0.18686 +[25] validation_0-rmse:0.21310 validation_1-rmse:0.18454 +[26] validation_0-rmse:0.21118 validation_1-rmse:0.18198 +[27] validation_0-rmse:0.20904 validation_1-rmse:0.17979 +[28] validation_0-rmse:0.20726 validation_1-rmse:0.17755 +[29] validation_0-rmse:0.20511 validation_1-rmse:0.17547 +[30] validation_0-rmse:0.20336 validation_1-rmse:0.17335 +[31] validation_0-rmse:0.20172 validation_1-rmse:0.17144 +[32] validation_0-rmse:0.19983 validation_1-rmse:0.16961 +[33] validation_0-rmse:0.19794 validation_1-rmse:0.16759 +[34] validation_0-rmse:0.19658 validation_1-rmse:0.16581 +[35] validation_0-rmse:0.19492 validation_1-rmse:0.16409 +[36] validation_0-rmse:0.19347 validation_1-rmse:0.16229 +[37] validation_0-rmse:0.19225 validation_1-rmse:0.16064 +[38] validation_0-rmse:0.19083 validation_1-rmse:0.15877 +[39] validation_0-rmse:0.18921 validation_1-rmse:0.15720 +[40] validation_0-rmse:0.18766 validation_1-rmse:0.15572 +[41] validation_0-rmse:0.18652 validation_1-rmse:0.15414 +[42] validation_0-rmse:0.18519 validation_1-rmse:0.15277 +[43] validation_0-rmse:0.18396 validation_1-rmse:0.15125 +[44] validation_0-rmse:0.18264 validation_1-rmse:0.14968 +[45] validation_0-rmse:0.18134 validation_1-rmse:0.14841 +[46] validation_0-rmse:0.18026 validation_1-rmse:0.14717 +[47] validation_0-rmse:0.17900 validation_1-rmse:0.14594 +[48] validation_0-rmse:0.17815 validation_1-rmse:0.14460 +[49] validation_0-rmse:0.17713 validation_1-rmse:0.14344 +[50] validation_0-rmse:0.17609 validation_1-rmse:0.14232 +[51] validation_0-rmse:0.17502 validation_1-rmse:0.14112 +[52] validation_0-rmse:0.17414 validation_1-rmse:0.13991 +[53] validation_0-rmse:0.17317 validation_1-rmse:0.13889 +[54] validation_0-rmse:0.17267 validation_1-rmse:0.13770 +[55] validation_0-rmse:0.17175 validation_1-rmse:0.13665 +[56] validation_0-rmse:0.17087 validation_1-rmse:0.13573 +[57] validation_0-rmse:0.17001 validation_1-rmse:0.13483 +[58] validation_0-rmse:0.16920 validation_1-rmse:0.13384 +[59] validation_0-rmse:0.16869 validation_1-rmse:0.13280 +[60] validation_0-rmse:0.16790 validation_1-rmse:0.13189 +[61] validation_0-rmse:0.16689 validation_1-rmse:0.13093 +[62] validation_0-rmse:0.16600 validation_1-rmse:0.13007 +[63] validation_0-rmse:0.16548 validation_1-rmse:0.12921 +[64] validation_0-rmse:0.16482 validation_1-rmse:0.12837 +[65] validation_0-rmse:0.16397 validation_1-rmse:0.12747 +[66] validation_0-rmse:0.16316 validation_1-rmse:0.12669 +[67] validation_0-rmse:0.16267 validation_1-rmse:0.12587 +[68] validation_0-rmse:0.16204 validation_1-rmse:0.12501 +[69] validation_0-rmse:0.16159 validation_1-rmse:0.12422 +[70] validation_0-rmse:0.16090 validation_1-rmse:0.12354 +[71] validation_0-rmse:0.16026 validation_1-rmse:0.12282 +[72] validation_0-rmse:0.15986 validation_1-rmse:0.12206 +[73] validation_0-rmse:0.15919 validation_1-rmse:0.12129 +[74] validation_0-rmse:0.15875 validation_1-rmse:0.12061 +[75] validation_0-rmse:0.15829 validation_1-rmse:0.11966 +[76] validation_0-rmse:0.15790 validation_1-rmse:0.11864 +[77] validation_0-rmse:0.15732 validation_1-rmse:0.11802 +[78] validation_0-rmse:0.15696 validation_1-rmse:0.11739 +[79] validation_0-rmse:0.15615 validation_1-rmse:0.11660 +[80] validation_0-rmse:0.15556 validation_1-rmse:0.11593 +[81] validation_0-rmse:0.15516 validation_1-rmse:0.11531 +[82] validation_0-rmse:0.15466 validation_1-rmse:0.11437 +[83] validation_0-rmse:0.15422 validation_1-rmse:0.11383 +[84] validation_0-rmse:0.15382 validation_1-rmse:0.11332 +[85] validation_0-rmse:0.15350 validation_1-rmse:0.11244 +[86] validation_0-rmse:0.15310 validation_1-rmse:0.11180 +[87] validation_0-rmse:0.15277 validation_1-rmse:0.11119 +[88] validation_0-rmse:0.15228 validation_1-rmse:0.11060 +[89] validation_0-rmse:0.15192 validation_1-rmse:0.11011 +[90] validation_0-rmse:0.15144 validation_1-rmse:0.10956 +[91] validation_0-rmse:0.15092 validation_1-rmse:0.10913 +[92] validation_0-rmse:0.15058 validation_1-rmse:0.10847 +[93] validation_0-rmse:0.15017 validation_1-rmse:0.10803 +[94] validation_0-rmse:0.14984 validation_1-rmse:0.10702 +[95] validation_0-rmse:0.14967 validation_1-rmse:0.10629 +[96] validation_0-rmse:0.14914 validation_1-rmse:0.10587 +[97] validation_0-rmse:0.14882 validation_1-rmse:0.10545 +[98] validation_0-rmse:0.14853 validation_1-rmse:0.10454 +[99] validation_0-rmse:0.14837 validation_1-rmse:0.10398 +2025-04-29 01:57:30,474 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training SOL/USDT (6.12 secs) -------------------- +2025-04-29 01:57:30,475 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:57:31,077 - FreqaiExampleStrategy - INFO - 动态参数:buy_rsi=50.0, sell_rsi=70.0, stoploss=-0.15, trailing_stop_positive=0.05 +2025-04-29 01:57:31,096 - FreqaiExampleStrategy - INFO - up_or_down 值统计: +up_or_down +0 33825 +1 32946 +2025-04-29 01:57:31,097 - FreqaiExampleStrategy - INFO - do_predict 值统计: +do_predict +0.0 36730 +1.0 30041 +2025-04-29 01:57:31,105 - freqtrade.optimize.backtesting - INFO - Backtesting with data from 2025-01-01 00:00:00 up to 2025-04-20 00:00:00 (109 days). +2025-04-29 01:57:31,109 - FreqaiExampleStrategy - ERROR - MACD 或 MACD 信号列缺失,无法生成买入信号。尝试重新计算 MACD 列。 +2025-04-29 01:57:31,111 - FreqaiExampleStrategy - INFO - MACD 列已成功重新计算。 +2025-04-29 01:57:31,193 - FreqaiExampleStrategy - ERROR - MACD 或 MACD 信号列缺失,无法生成买入信号。尝试重新计算 MACD 列。 +2025-04-29 01:57:31,195 - FreqaiExampleStrategy - INFO - MACD 列已成功重新计算。 +2025-04-29 01:57:33,776 - freqtrade.misc - INFO - dumping json to "/freqtrade/user_data/backtest_results/backtest-result-2025-04-29_01-57-33.meta.json" +Result for strategy FreqaiExampleStrategy + BACKTESTING REPORT +┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃ Pair ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃ +┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩ +│ BTC/USDT │ 38 │ -0.39 │ -22.029 │ -2.2 │ 22:13:00 │ 5 32 1 13.2 │ +│ SOL/USDT │ 44 │ -1.94 │ -128.236 │ -12.82 │ 16:35:00 │ 12 26 6 27.3 │ +│ TOTAL │ 82 │ -1.22 │ -150.265 │ -15.03 │ 19:12:00 │ 17 58 7 20.7 │ +└──────────┴────────┴──────────────┴─────────────────┴──────────────┴──────────────┴────────────────────────┘ + LEFT OPEN TRADES REPORT +┏━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃ Pair ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃ +┡━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩ +│ TOTAL │ 0 │ 0.0 │ 0.000 │ 0.0 │ 0:00 │ 0 0 0 0 │ +└───────┴────────┴──────────────┴─────────────────┴──────────────┴──────────────┴────────────────────────┘ + ENTER TAG STATS +┏━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃ Enter Tag ┃ Entries ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃ +┡━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩ +│ long │ 82 │ -1.22 │ -150.265 │ -15.03 │ 19:12:00 │ 17 58 7 20.7 │ +│ TOTAL │ 82 │ -1.22 │ -150.265 │ -15.03 │ 19:12:00 │ 17 58 7 20.7 │ +└───────────┴─────────┴──────────────┴─────────────────┴──────────────┴──────────────┴────────────────────────┘ + EXIT REASON STATS +┏━━━━━━━━━━━━━━━━━━━━┳━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃ Exit Reason ┃ Exits ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃ +┡━━━━━━━━━━━━━━━━━━━━╇━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩ +│ roi │ 75 │ 0.07 │ 7.926 │ 0.79 │ 14:48:00 │ 17 58 0 100 │ +│ trailing_stop_loss │ 7 │ -15.04 │ -158.191 │ -15.82 │ 2 days, 18:13:00 │ 0 0 7 0 │ +│ TOTAL │ 82 │ -1.22 │ -150.265 │ -15.03 │ 19:12:00 │ 17 58 7 20.7 │ +└────────────────────┴───────┴──────────────┴─────────────────┴──────────────┴──────────────────┴────────────────────────┘ + MIXED TAG STATS +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃ Enter Tag ┃ Exit Reason ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃ +┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩ +│ ('long', 'roi') │ │ 75 │ 0.07 │ 7.926 │ 0.79 │ 14:48:00 │ 17 58 0 100 │ +│ ('long', 'trailing_stop_loss') │ │ 7 │ -15.04 │ -158.191 │ -15.82 │ 2 days, 18:13:00 │ 0 0 7 0 │ +│ TOTAL │ │ 82 │ -1.22 │ -150.265 │ -15.03 │ 19:12:00 │ 17 58 7 20.7 │ +└────────────────────────────────┴─────────────┴────────┴──────────────┴─────────────────┴──────────────┴──────────────────┴────────────────────────┘ + SUMMARY METRICS +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┓ +┃ Metric ┃ Value ┃ +┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━┩ +│ Backtesting from │ 2025-01-01 00:00:00 │ +│ Backtesting to │ 2025-04-20 00:00:00 │ +│ Trading Mode │ Spot │ +│ Max open trades │ 2 │ +│ │ │ +│ Total/Daily Avg Trades │ 82 / 0.75 │ +│ Starting balance │ 1000 USDT │ +│ Final balance │ 849.735 USDT │ +│ Absolute profit │ -150.265 USDT │ +│ Total profit % │ -15.03% │ +│ CAGR % │ -42.03% │ +│ Sortino │ -252.56 │ +│ Sharpe │ -4.15 │ +│ Calmar │ -17.48 │ +│ SQN │ -2.60 │ +│ Profit factor │ 0.05 │ +│ Expectancy (Ratio) │ -1.83 (-0.79) │ +│ Avg. daily profit % │ -0.14% │ +│ Avg. stake amount │ 150 USDT │ +│ Total trade volume │ 24523.15 USDT │ +│ │ │ +│ Best Pair │ BTC/USDT -2.20% │ +│ Worst Pair │ SOL/USDT -12.82% │ +│ Best trade │ SOL/USDT 0.90% │ +│ Worst trade │ SOL/USDT -15.19% │ +│ Best day │ 1.76 USDT │ +│ Worst day │ -22.827 USDT │ +│ Days win/draw/lose │ 14 / 80 / 7 │ +│ Avg. Duration Winners │ 0:55:00 │ +│ Avg. Duration Loser │ 2 days, 18:13:00 │ +│ Max Consecutive Wins / Loss │ 2 / 16 │ +│ Rejected Entry signals │ 0 │ +│ Entry/Exit Timeouts │ 0 / 0 │ +│ │ │ +│ Min balance │ 849.735 USDT │ +│ Max balance │ 1000.508 USDT │ +│ Max % of account underwater │ 15.07% │ +│ Absolute Drawdown (Account) │ 15.07% │ +│ Absolute Drawdown │ 150.773 USDT │ +│ Drawdown high │ 0.508 USDT │ +│ Drawdown low │ -150.265 USDT │ +│ Drawdown Start │ 2025-01-06 19:48:00 │ +│ Drawdown End │ 2025-04-06 23:15:00 │ +│ Market change │ -26.79% │ +└─────────────────────────────┴─────────────────────┘ + +Backtested 2025-01-01 00:00:00 -> 2025-04-20 00:00:00 | Max open trades : 2 + STRATEGY SUMMARY +┏━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━┓ +┃ Strategy ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃ Drawdown ┃ +┡━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━┩ +│ FreqaiExampleStrategy │ 82 │ -1.22 │ -150.265 │ -15.03 │ 19:12:00 │ 17 58 7 20.7 │ 150.773 USDT 15.07% │ +└───────────────────────┴────────┴──────────────┴─────────────────┴──────────────┴──────────────┴────────────────────────┴──────────────────────┘ diff --git a/freqtrade/abc.py b/freqtrade/abc.py new file mode 100644 index 00000000..a1d8d2c5 --- /dev/null +++ b/freqtrade/abc.py @@ -0,0 +1,336 @@ +import logging +import numpy as np +from functools import reduce +import talib.abstract as ta +from pandas import DataFrame +from technical import qtpylib +from freqtrade.strategy import IStrategy, IntParameter, DecimalParameter + +logger = logging.getLogger(__name__) + +class FreqaiExampleStrategy(IStrategy): + # 移除硬编码的 minimal_roi 和 stoploss,改为动态适配 + minimal_roi = {} # 将在 populate_indicators 中动态生成 + stoploss = 0.0 # 将在 populate_indicators 中动态设置 + trailing_stop = True + process_only_new_candles = True + use_exit_signal = True + startup_candle_count: int = 40 + can_short = False + + # 参数定义:FreqAI 动态适配 buy_rsi 和 sell_rsi,禁用 Hyperopt 优化 + buy_rsi = IntParameter(low=10, high=50, default=27, space="buy", optimize=False, load=True) + sell_rsi = IntParameter(low=50, high=90, default=59, space="sell", optimize=False, load=True) + + # 为 Hyperopt 优化添加 ROI 和 stoploss 参数 + roi_0 = DecimalParameter(low=0.01, high=0.2, default=0.038, space="roi", optimize=True, load=True) + roi_15 = DecimalParameter(low=0.005, high=0.1, default=0.027, space="roi", optimize=True, load=True) + roi_30 = DecimalParameter(low=0.001, high=0.05, default=0.009, space="roi", optimize=True, load=True) + stoploss_param = DecimalParameter(low=-0.35, high=-0.1, default=-0.182, space="stoploss", optimize=True, load=True) + + # FreqAI 配置 + freqai_info = { + "model": "CatboostClassifier", # 与config保持一致 + "feature_parameters": { + "include_timeframes": ["3m", "15m", "1h"], # 与config一致 + "include_corr_pairlist": ["BTC/USDT", "SOL/USDT"], # 添加相关交易对 + "label_period_candles": 20, # 与config一致 + "include_shifted_candles": 2, # 与config一致 + }, + "data_split_parameters": { + "test_size": 0.2, + "shuffle": True, # 启用shuffle + }, + "model_training_parameters": { + "n_estimators": 100, # 减少树的数量 + "learning_rate": 0.1, # 提高学习率 + "max_depth": 6, # 限制树深度 + "subsample": 0.8, # 添加子采样 + "colsample_bytree": 0.8, # 添加特征采样 + "objective": "reg:squarederror", + "eval_metric": "rmse", + "early_stopping_rounds": 20, + "verbose": 0, + }, + "data_kitchen": { + "feature_parameters": { + "DI_threshold": 1.5, # 降低异常值过滤阈值 + "use_DBSCAN_to_remove_outliers": False # 禁用DBSCAN + } + } + } + + plot_config = { + "main_plot": {}, + "subplots": { + "&-buy_rsi": {"&-buy_rsi": {"color": "green"}}, + "&-sell_rsi": {"&-sell_rsi": {"color": "red"}}, + "&-stoploss": {"&-stoploss": {"color": "purple"}}, + "&-roi_0": {"&-roi_0": {"color": "orange"}}, + "do_predict": {"do_predict": {"color": "brown"}}, + }, + } + + def feature_engineering_expand_all(self, dataframe: DataFrame, period: int, metadata: dict, **kwargs) -> DataFrame: + # 保留关键的技术指标 + dataframe["rsi"] = ta.RSI(dataframe, timeperiod=14) + + # 确保 MACD 列被正确计算并保留 + try: + macd = ta.MACD(dataframe, fastperiod=12, slowperiod=26, signalperiod=9) + dataframe["macd"] = macd["macd"] + dataframe["macdsignal"] = macd["macdsignal"] + except Exception as e: + logger.error(f"计算 MACD 列时出错:{str(e)}") + dataframe["macd"] = np.nan + dataframe["macdsignal"] = np.nan + + # 检查 MACD 列是否存在 + if "macd" not in dataframe.columns or "macdsignal" not in dataframe.columns: + logger.error("MACD 或 MACD 信号列缺失,无法生成买入信号") + raise ValueError("DataFrame 缺少必要的 MACD 列") + + # 确保 MACD 列存在 + if "macd" not in dataframe.columns or "macdsignal" not in dataframe.columns: + logger.error("MACD 或 MACD 信号列缺失,无法生成买入信号") + raise ValueError("DataFrame 缺少必要的 MACD 列") + + # 保留布林带相关特征 + bollinger = qtpylib.bollinger_bands(qtpylib.typical_price(dataframe), window=20, stds=2) + dataframe["bb_lowerband"] = bollinger["lower"] + dataframe["bb_middleband"] = bollinger["mid"] + dataframe["bb_upperband"] = bollinger["upper"] + + # 保留成交量相关特征 + dataframe["volume_ma"] = dataframe["volume"].rolling(window=20).mean() + + # 数据清理 + for col in dataframe.columns: + if dataframe[col].dtype in ["float64", "int64"]: + dataframe[col] = dataframe[col].replace([np.inf, -np.inf], np.nan) + dataframe[col] = dataframe[col].ffill().fillna(0) + + logger.info(f"特征工程完成,特征数量:{len(dataframe.columns)}") + return dataframe + + def feature_engineering_expand_basic(self, dataframe: DataFrame, metadata: dict, **kwargs) -> DataFrame: + dataframe["%-pct-change"] = dataframe["close"].pct_change() + dataframe["%-raw_volume"] = dataframe["volume"] + dataframe["%-raw_price"] = dataframe["close"] +# 数据清理逻辑 + for col in dataframe.columns: + if dataframe[col].dtype in ["float64", "int64"]: + dataframe[col] = dataframe[col].replace([np.inf, -np.inf], 0) + dataframe[col] = dataframe[col].ffill() + dataframe[col] = dataframe[col].fillna(0) + + # 检查是否仍有无效值 + if dataframe[col].isna().any() or np.isinf(dataframe[col]).any(): + logger.warning(f"列 {col} 仍包含无效值,已填充为默认值") + dataframe[col] = dataframe[col].fillna(0) + return dataframe + + def feature_engineering_standard(self, dataframe: DataFrame, metadata: dict, **kwargs) -> DataFrame: + dataframe["%-day_of_week"] = dataframe["date"].dt.dayofweek + dataframe["%-hour_of_day"] = dataframe["date"].dt.hour + dataframe.replace([np.inf, -np.inf], 0, inplace=True) + dataframe.ffill(inplace=True) + dataframe.fillna(0, inplace=True) + return dataframe + + def set_freqai_targets(self, dataframe: DataFrame, metadata: dict, **kwargs) -> DataFrame: + logger.info(f"设置 FreqAI 目标,交易对:{metadata['pair']}") + if "close" not in dataframe.columns: + logger.error("数据框缺少必要的 'close' 列") + raise ValueError("数据框缺少必要的 'close' 列") + + try: + label_period = self.freqai_info["feature_parameters"]["label_period_candles"] + + # 定义目标变量为未来价格变化百分比(连续值) + dataframe["up_or_down"] = ( + dataframe["close"].shift(-label_period) - dataframe["close"] + ) / dataframe["close"] + + # 数据清理:处理 NaN 和 Inf 值 + dataframe["up_or_down"] = dataframe["up_or_down"].replace([np.inf, -np.inf], np.nan) + dataframe["up_or_down"] = dataframe["up_or_down"].ffill().fillna(0) + + # 确保目标变量是二维数组 + if dataframe["up_or_down"].ndim == 1: + dataframe["up_or_down"] = dataframe["up_or_down"].values.reshape(-1, 1) + + # 检查并处理 NaN 或无限值 + dataframe["up_or_down"] = dataframe["up_or_down"].replace([np.inf, -np.inf], np.nan) + dataframe["up_or_down"] = dataframe["up_or_down"].ffill().fillna(0) + + # 生成 %-volatility 特征 + dataframe["%-volatility"] = dataframe["close"].pct_change().rolling(20).std() + + # 确保 &-buy_rsi 列的值计算正确 + dataframe["&-buy_rsi"] = ta.RSI(dataframe, timeperiod=14) + + # 数据清理 + for col in ["&-buy_rsi", "up_or_down", "%-volatility"]: + # 使用直接操作避免链式赋值 + dataframe[col] = dataframe[col].replace([np.inf, -np.inf], np.nan) + dataframe[col] = dataframe[col].ffill() # 替代 fillna(method='ffill') + dataframe[col] = dataframe[col].fillna(dataframe[col].mean()) # 使用均值填充 NaN 值 + if dataframe[col].isna().any(): + logger.warning(f"目标列 {col} 仍包含 NaN,填充为默认值") + + except Exception as e: + logger.error(f"创建 FreqAI 目标失败:{str(e)}") + raise + + # Log the shape of the target variable for debugging + logger.info(f"目标列形状:{dataframe['up_or_down'].shape}") + logger.info(f"目标列预览:\n{dataframe[['up_or_down', '&-buy_rsi']].head().to_string()}") + return dataframe + + def populate_indicators(self, dataframe: DataFrame, metadata: dict) -> DataFrame: + logger.info(f"处理交易对:{metadata['pair']}") + dataframe = self.freqai.start(dataframe, metadata, self) + + # 计算传统指标 + dataframe["rsi"] = ta.RSI(dataframe, timeperiod=14) + bollinger = qtpylib.bollinger_bands(qtpylib.typical_price(dataframe), window=20, stds=2) + dataframe["bb_lowerband"] = bollinger["lower"] + dataframe["bb_middleband"] = bollinger["mid"] + dataframe["bb_upperband"] = bollinger["upper"] + dataframe["tema"] = ta.TEMA(dataframe, timeperiod=9) + + # 生成 up_or_down 信号(非 FreqAI 目标) + label_period = self.freqai_info["feature_parameters"]["label_period_candles"] + # 使用未来价格变化方向生成 up_or_down 信号 + label_period = self.freqai_info["feature_parameters"]["label_period_candles"] + dataframe["up_or_down"] = np.where( + dataframe["close"].shift(-label_period) > dataframe["close"], 1, 0 + ) + + # 动态设置参数 + if "&-buy_rsi" in dataframe.columns: + # 派生其他目标 + dataframe["&-sell_rsi"] = dataframe["&-buy_rsi"] + 30 + dataframe["%-volatility"] = dataframe["close"].pct_change().rolling(20).std() + # Ensure proper calculation and handle potential NaN values + dataframe["&-stoploss"] = (-0.1 - (dataframe["%-volatility"] * 10).clip(0, 0.25)).fillna(-0.1) + dataframe["&-roi_0"] = ((dataframe["close"] / dataframe["close"].shift(label_period) - 1).clip(0, 0.2)).fillna(0) + + # Additional check to ensure no NaN values remain + for col in ["&-stoploss", "&-roi_0"]: + if dataframe[col].isna().any(): + logger.warning(f"列 {col} 仍包含 NaN,填充为默认值") + dataframe[col] = dataframe[col].fillna(-0.1 if col == "&-stoploss" else 0) + + # 简化动态参数生成逻辑 + # 放松 buy_rsi 和 sell_rsi 的生成逻辑 + # 计算 buy_rsi_pred 并清理 NaN 值 + dataframe["buy_rsi_pred"] = dataframe["rsi"].rolling(window=10).mean().clip(30, 50) + dataframe["buy_rsi_pred"] = dataframe["buy_rsi_pred"].fillna(dataframe["buy_rsi_pred"].median()) + + # 计算 sell_rsi_pred 并清理 NaN 值 + dataframe["sell_rsi_pred"] = dataframe["buy_rsi_pred"] + 20 + dataframe["sell_rsi_pred"] = dataframe["sell_rsi_pred"].fillna(dataframe["sell_rsi_pred"].median()) + + # 计算 stoploss_pred 并清理 NaN 值 + dataframe["stoploss_pred"] = -0.1 - (dataframe["%-volatility"] * 10).clip(0, 0.25) + dataframe["stoploss_pred"] = dataframe["stoploss_pred"].fillna(dataframe["stoploss_pred"].mean()) + + # 计算 roi_0_pred 并清理 NaN 值 + dataframe["roi_0_pred"] = dataframe["&-roi_0"].clip(0.01, 0.2) + dataframe["roi_0_pred"] = dataframe["roi_0_pred"].fillna(dataframe["roi_0_pred"].mean()) + + # 检查预测值 + for col in ["buy_rsi_pred", "sell_rsi_pred", "stoploss_pred", "roi_0_pred", "&-sell_rsi", "&-stoploss", "&-roi_0"]: + if dataframe[col].isna().any(): + logger.warning(f"列 {col} 包含 NaN,填充为默认值") + dataframe[col] = dataframe[col].fillna(dataframe[col].mean()) + + # 更保守的止损和止盈设置 + dataframe["trailing_stop_positive"] = (dataframe["roi_0_pred"] * 0.3).clip(0.01, 0.2) + dataframe["trailing_stop_positive_offset"] = (dataframe["roi_0_pred"] * 0.5).clip(0.01, 0.3) + + # 设置策略级参数 + self.buy_rsi.value = float(dataframe["buy_rsi_pred"].iloc[-1]) + self.sell_rsi.value = float(dataframe["sell_rsi_pred"].iloc[-1]) +# 更保守的止损设置 + self.stoploss = -0.15 # 固定止损 15% + self.minimal_roi = { + 0: float(self.roi_0.value), + 15: float(self.roi_15.value), + 30: float(self.roi_30.value), + 60: 0 + } +# 更保守的追踪止损设置 + self.trailing_stop_positive = 0.05 # 追踪止损触发点 + self.trailing_stop_positive_offset = 0.1 # 追踪止损偏移量 + + logger.info(f"动态参数:buy_rsi={self.buy_rsi.value}, sell_rsi={self.sell_rsi.value}, " + f"stoploss={self.stoploss}, trailing_stop_positive={self.trailing_stop_positive}") + + dataframe.replace([np.inf, -np.inf], 0, inplace=True) + dataframe.ffill(inplace=True) + dataframe.fillna(0, inplace=True) + + logger.info(f"up_or_down 值统计:\n{dataframe['up_or_down'].value_counts().to_string()}") + logger.info(f"do_predict 值统计:\n{dataframe['do_predict'].value_counts().to_string()}") + + return dataframe + + def populate_exit_trend(self, df: DataFrame, metadata: dict) -> DataFrame: +# 改进卖出信号条件 + exit_long_conditions = [ + (df["rsi"] > df["sell_rsi_pred"]), # RSI 高于卖出阈值 + (df["volume"] > df["volume"].rolling(window=10).mean()), # 成交量高于近期均值 + (df["close"] < df["bb_middleband"]) # 价格低于布林带中轨 + ] + if exit_long_conditions: + df.loc[ + reduce(lambda x, y: x & y, exit_long_conditions), + "exit_long" + ] = 1 + return df + def populate_entry_trend(self, df: DataFrame, metadata: dict) -> DataFrame: + # 改进买入信号条件 + # 检查 MACD 列是否存在 + if "macd" not in df.columns or "macdsignal" not in df.columns: + logger.error("MACD 或 MACD 信号列缺失,无法生成买入信号。尝试重新计算 MACD 列。") + + try: + macd = ta.MACD(df, fastperiod=12, slowperiod=26, signalperiod=9) + df["macd"] = macd["macd"] + df["macdsignal"] = macd["macdsignal"] + logger.info("MACD 列已成功重新计算。") + except Exception as e: + logger.error(f"重新计算 MACD 列时出错:{str(e)}") + raise ValueError("DataFrame 缺少必要的 MACD 列且无法重新计算。") + + enter_long_conditions = [ + (df["rsi"] < df["buy_rsi_pred"]), # RSI 低于买入阈值 + (df["volume"] > df["volume"].rolling(window=10).mean() * 1.2), # 成交量高于近期均值20% + (df["close"] > df["bb_middleband"]) # 价格高于布林带中轨 + ] + + # 如果 MACD 列存在,则添加 MACD 金叉条件 + if "macd" in df.columns and "macdsignal" in df.columns: + enter_long_conditions.append((df["macd"] > df["macdsignal"])) + + # 确保模型预测为买入 + enter_long_conditions.append((df["do_predict"] == 1)) + if enter_long_conditions: + df.loc[ + reduce(lambda x, y: x & y, enter_long_conditions), + ["enter_long", "enter_tag"] + ] = (1, "long") + return df + def confirm_trade_entry( + self, pair: str, order_type: str, amount: float, rate: float, + time_in_force: str, current_time, entry_tag, side: str, **kwargs + ) -> bool: + df, _ = self.dp.get_analyzed_dataframe(pair, self.timeframe) + last_candle = df.iloc[-1].squeeze() + if side == "long": + if rate > (last_candle["close"] * (1 + 0.0025)): + return False + return True diff --git a/freqtrade/new.py b/freqtrade/new.py new file mode 100644 index 00000000..6c92c207 --- /dev/null +++ b/freqtrade/new.py @@ -0,0 +1,295 @@ +import logging +import numpy as np +from functools import reduce +import talib.abstract as ta +from pandas import DataFrame +from technical import qtpylib +from freqtrade.strategy import IStrategy, IntParameter, DecimalParameter + +logger = logging.getLogger(__name__) + +class FreqaiExampleStrategy(IStrategy): + # 移除硬编码的 minimal_roi 和 stoploss,改为动态适配 + minimal_roi = {} # 将在 populate_indicators 中动态生成 + stoploss = 0.0 # 将在 populate_indicators 中动态设置 + trailing_stop = True + process_only_new_candles = True + use_exit_signal = True + startup_candle_count: int = 40 + can_short = False + + # 可训练参数(用于 Hyperopt) + buy_rsi = IntParameter(low=10, high=50, default=27, space="buy", optimize=False, load=True) + sell_rsi = IntParameter(low=50, high=90, default=59, space="sell", optimize=False, load=True) + + roi_0 = DecimalParameter(low=0.01, high=0.2, default=0.038, space="roi", optimize=True, load=True) + roi_15 = DecimalParameter(low=0.005, high=0.1, default=0.027, space="roi", optimize=True, load=True) + roi_30 = DecimalParameter(low=0.001, high=0.05, default=0.009, space="roi", optimize=True, load=True) + + stoploss_param = DecimalParameter(low=-0.35, high=-0.1, default=-0.182, space="stoploss", optimize=True, load=True) + + # FreqAI 配置 + freqai_info = { + "model": "CatboostClassifier", + "feature_parameters": { + "include_timeframes": ["3m", "15m", "1h"], # 与config一致 + "include_corr_pairlist": ["BTC/USDT", "SOL/USDT"], # 添加相关交易对 + "label_period_candles": 20, # 与config一致 + "include_shifted_candles": 2, # 与config一致 + }, + "data_split_parameters": { + "test_size": 0.2, + "shuffle": True, + }, + "model_training_parameters": { + "n_estimators": 100, # 减少树的数量 + "learning_rate": 0.1, # 提高学习率 + "max_depth": 6, # 限制树深度 + "subsample": 0.8, # 添加子采样 + "colsample_bytree": 0.8, # 添加特征采样 + "objective": "reg:squarederror", + "eval_metric": "rmse", + "early_stopping_rounds": 20, + "verbose": 0, + }, + "data_kitchen": { + "feature_parameters": { + "DI_threshold": 1.5, + "use_DBSCAN_to_remove_outliers": False + } + } + } + + plot_config = { + "main_plot": {}, + "subplots": { + "&-buy_rsi": {"&-buy_rsi": {"color": "green"}}, + "&-sell_rsi": {"&-sell_rsi": {"color": "red"}}, + "&-stoploss": {"&-stoploss": {"color": "purple"}}, + "&-roi_0": {"&-roi_0": {"color": "orange"}}, + "do_predict": {"do_predict": {"color": "brown"}}, + }, + } + + def feature_engineering_expand_all(self, dataframe: DataFrame, period: int, metadata: dict, **kwargs) -> DataFrame: + # RSI 计算 + dataframe["rsi"] = ta.RSI(dataframe, timeperiod=14) + + # MACD 计算并容错 + try: + macd = ta.MACD(dataframe, fastperiod=12, slowperiod=26, signalperiod=9) + dataframe["macd"] = macd["macd"] + dataframe["macdsignal"] = macd["macdsignal"] + except Exception as e: + logger.error(f"MACD 计算失败: {e}") + dataframe["macd"] = np.nan + dataframe["macdsignal"] = np.nan + + # 检查 MACD 列是否存在 + if "macd" not in dataframe.columns or "macdsignal" not in dataframe.columns: + logger.error("MACD 或 MACD 信号列缺失,无法生成买入信号") + raise ValueError("DataFrame 缺少必要的 MACD 列") + + # 确保 MACD 列存在 + if "macd" not in dataframe.columns or "macdsignal" not in dataframe.columns: + logger.error("MACD 或 MACD 信号列缺失,无法生成买入信号") + raise ValueError("DataFrame 缺少必要的 MACD 列") + + # 保留布林带相关特征 + bollinger = qtpylib.bollinger_bands(qtpylib.typical_price(dataframe), window=20, stds=2) + dataframe["bb_lowerband"] = bollinger["lower"] + dataframe["bb_middleband"] = bollinger["mid"] + dataframe["bb_upperband"] = bollinger["upper"] + + # 成交量均线 + dataframe["volume_ma"] = dataframe["volume"].rolling(window=20).mean() + + # 清理无穷大值 + for col in dataframe.columns: + if dataframe[col].dtype in ["float64", "int64"]: + dataframe[col] = dataframe[col].replace([np.inf, -np.inf], np.nan) + dataframe[col] = dataframe[col].ffill().fillna(0) + + return dataframe + + def feature_engineering_expand_basic(self, dataframe: DataFrame, metadata: dict, **kwargs) -> DataFrame: + dataframe["%-pct-change"] = dataframe["close"].pct_change() + dataframe["%-raw_volume"] = dataframe["volume"] + dataframe["%-raw_price"] = dataframe["close"] + +# 数据清理逻辑 + for col in dataframe.columns: + if dataframe[col].dtype in ["float64", "int64"]: + dataframe[col] = dataframe[col].replace([np.inf, -np.inf], 0) + dataframe[col] = dataframe[col].ffill() + dataframe[col] = dataframe[col].fillna(0) + + # 检查是否仍有无效值 + if dataframe[col].isna().any() or np.isinf(dataframe[col]).any(): + logger.warning(f"列 {col} 仍包含无效值,已填充为默认值") + dataframe[col] = dataframe[col].fillna(0) + return dataframe + + def feature_engineering_standard(self, dataframe: DataFrame, metadata: dict, **kwargs) -> DataFrame: + dataframe["%-day_of_week"] = dataframe["date"].dt.dayofweek + dataframe["%-hour_of_day"] = dataframe["date"].dt.hour + dataframe.replace([np.inf, -np.inf], 0, inplace=True) + dataframe.ffill(inplace=True) + dataframe.fillna(0, inplace=True) + return dataframe + + def set_freqai_targets(self, dataframe: DataFrame, metadata: dict, **kwargs) -> DataFrame: + logger.info(f"设置 FreqAI 目标,交易对:{metadata['pair']}") + if "close" not in dataframe.columns: + logger.error("数据框缺少必要的 'close' 列") + raise ValueError("数据框缺少必要的 'close' 列") + + try: + label_period = self.freqai_info["feature_parameters"]["label_period_candles"] + + # 定义目标变量为未来价格变化百分比(连续值) + dataframe["up_or_down"] = ( + dataframe["close"].shift(-label_period) - dataframe["close"] + ) / dataframe["close"] + + # 数据清理:处理 NaN 和 Inf 值 + dataframe["up_or_down"] = dataframe["up_or_down"].replace([np.inf, -np.inf], np.nan) + dataframe["up_or_down"] = dataframe["up_or_down"].ffill().fillna(0) + + # 确保目标变量是二维数组 + if dataframe["up_or_down"].ndim == 1: + dataframe["up_or_down"] = dataframe["up_or_down"].values.reshape(-1, 1) + + # 检查并处理 NaN 或无限值 + dataframe["up_or_down"] = dataframe["up_or_down"].replace([np.inf, -np.inf], np.nan) + dataframe["up_or_down"] = dataframe["up_or_down"].ffill().fillna(0) + + # 生成 %-volatility 特征 + dataframe["%-volatility"] = dataframe["close"].pct_change().rolling(20).std() + + # 确保 &-buy_rsi 列的值计算正确 + dataframe["&-buy_rsi"] = ta.RSI(dataframe, timeperiod=14) + + # 数据清理 + for col in ["&-buy_rsi", "up_or_down", "%-volatility"]: + # 使用直接操作避免链式赋值 + dataframe[col] = dataframe[col].replace([np.inf, -np.inf], np.nan) + dataframe[col] = dataframe[col].ffill() # 替代 fillna(method='ffill') + dataframe[col] = dataframe[col].fillna(dataframe[col].mean()) # 使用均值填充 NaN 值 + if dataframe[col].isna().any(): + logger.warning(f"目标列 {col} 仍包含 NaN,填充为默认值") + + except Exception as e: + logger.error(f"创建 FreqAI 目标失败:{str(e)}") + raise + + return dataframe + + def populate_indicators(self, dataframe: DataFrame, metadata: dict) -> DataFrame: + logger.info(f"处理交易对:{metadata['pair']}") + dataframe = self.freqai.start(dataframe, metadata, self) + + # 计算传统指标 + dataframe["rsi"] = ta.RSI(dataframe, timeperiod=14) + bollinger = qtpylib.bollinger_bands(qtpylib.typical_price(dataframe), window=20, stds=2) + dataframe["bb_lowerband"] = bollinger["lower"] + dataframe["bb_middleband"] = bollinger["mid"] + dataframe["bb_upperband"] = bollinger["upper"] + dataframe["tema"] = ta.TEMA(dataframe, timeperiod=9) + + # 生成 up_or_down 信号(非 FreqAI 目标) + label_period = self.freqai_info["feature_parameters"]["label_period_candles"] + # 使用未来价格变化方向生成 up_or_down 信号 + label_period = self.freqai_info["feature_parameters"]["label_period_candles"] + dataframe["up_or_down"] = np.where( + dataframe["close"].shift(-label_period) > dataframe["close"], 1, 0 + ) + + # 动态设置参数 + if "&-buy_rsi" in dataframe.columns: + # 派生其他目标 + dataframe["&-sell_rsi"] = dataframe["&-buy_rsi"] + 30 + dataframe["%-volatility"] = dataframe["close"].pct_change().rolling(20).std() + # Ensure proper calculation and handle potential NaN values + dataframe["&-stoploss"] = (-0.1 - (dataframe["%-volatility"] * 10).clip(0, 0.25)).fillna(-0.1) + dataframe["&-roi_0"] = ((dataframe["close"] / dataframe["close"].shift(label_period) - 1).clip(0, 0.2)).fillna(0) + + # Additional check to ensure no NaN values remain + for col in ["&-stoploss", "&-roi_0"]: + if dataframe[col].isna().any(): + logger.warning(f"列 {col} 仍包含 NaN,填充为默认值") + dataframe[col] = dataframe[col].fillna(-0.1 if col == "&-stoploss" else 0) + + # 简化动态参数生成逻辑 + # 放松 buy_rsi 和 sell_rsi 的生成逻辑 + # 计算 buy_rsi_pred 并清理 NaN 值 + dataframe["buy_rsi_pred"] = dataframe["rsi"].rolling(window=10).mean().clip(30, 50) + dataframe["buy_rsi_pred"] = dataframe["buy_rsi_pred"].fillna(dataframe["buy_rsi_pred"].median()) + + # 计算 sell_rsi_pred 并清理 NaN 值 + dataframe["sell_rsi_pred"] = dataframe["buy_rsi_pred"] + 20 + dataframe["sell_rsi_pred"] = dataframe["sell_rsi_pred"].fillna(dataframe["sell_rsi_pred"].median()) + + # 计算 stoploss_pred 并清理 NaN 值 + dataframe["stoploss_pred"] = -0.1 - (dataframe["%-volatility"] * 10).clip(0, 0.25) + dataframe["stoploss_pred"] = dataframe["stoploss_pred"].fillna(dataframe["stoploss_pred"].mean()) + + # 计算 roi_0_pred 并清理 NaN 值 + dataframe["roi_0_pred"] = dataframe["&-roi_0"].clip(0.01, 0.2) + dataframe["roi_0_pred"] = dataframe["roi_0_pred"].fillna(dataframe["roi_0_pred"].mean()) + + # 检查预测值 + for col in ["buy_rsi_pred", "sell_rsi_pred", "stoploss_pred", "roi_0_pred", "&-sell_rsi", "&-stoploss", "&-roi_0"]: + if dataframe[col].isna().any(): + logger.warning(f"列 {col} 包含 NaN,填充为默认值") + dataframe[col] = dataframe[col].fillna(dataframe[col].mean()) + + # 更保守的止损和止盈设置 + dataframe["trailing_stop_positive"] = (dataframe["roi_0_pred"] * 0.3).clip(0.01, 0.2) + dataframe["trailing_stop_positive_offset"] = (dataframe["roi_0_pred"] * 0.5).clip(0.01, 0.3) + + # 设置策略级参数 + self.buy_rsi.value = float(dataframe["buy_rsi_pred"].iloc[-1]) + self.sell_rsi.value = float(dataframe["sell_rsi_pred"].iloc[-1]) +# 更保守的止损设置 + self.stoploss = -0.15 # 固定止损 15% + self.minimal_roi = { + 0: float(self.roi_0.value), + 15: float(self.roi_15.value), + 30: float(self.roi_30.value), + 60: 0 + } +# 更保守的追踪止损设置 + self.trailing_stop_positive = 0.05 # 追踪止损触发点 + self.trailing_stop_positive_offset = 0.1 # 追踪止损偏移量 + + logger.info(f"动态参数:buy_rsi={self.buy_rsi.value}, sell_rsi={self.sell_rsi.value}, " + f"stoploss={self.stoploss}, trailing_stop_positive={self.trailing_stop_positive}") + + dataframe.replace([np.inf, -np.inf], 0, inplace=True) + dataframe.ffill(inplace=True) + dataframe.fillna(0, inplace=True) + + logger.info(f"up_or_down 值统计:\n{dataframe['up_or_down'].value_counts().to_string()}") + logger.info(f"do_predict 值统计:\n{dataframe['do_predict'].value_counts().to_string()}") + + return dataframe + def populate_exit_trend(self, df: DataFrame, metadata: dict) -> DataFrame: +# 改进卖出信号条件 + exit_long_conditions = [ + (df["rsi"] > df["sell_rsi_pred"]), # RSI 高于卖出阈值 + (df["volume"] > df["volume"].rolling(window=10).mean()), # 成交量高于近期均值 + (df["close"] < df["bb_middleband"]) # 价格低于布林带中轨 + df.loc[reduce(lambda x, y: x & y, conditions), 'exit_long'] = 1 + return df + + def confirm_trade_entry( + self, pair: str, order_type: str, amount: float, rate: float, + time_in_force: str, current_time, entry_tag, side: str, **kwargs + ) -> bool: + df, _ = self.dp.get_analyzed_dataframe(pair, self.timeframe) + last_candle = df.iloc[-1] + if side == "long": + if rate > (last_candle["close"] * 1.0025): # 价格超过最新价 0.25% 则拒绝下单 + return False + return True diff --git a/freqtrade/old.py b/freqtrade/old.py new file mode 100644 index 00000000..a1d8d2c5 --- /dev/null +++ b/freqtrade/old.py @@ -0,0 +1,336 @@ +import logging +import numpy as np +from functools import reduce +import talib.abstract as ta +from pandas import DataFrame +from technical import qtpylib +from freqtrade.strategy import IStrategy, IntParameter, DecimalParameter + +logger = logging.getLogger(__name__) + +class FreqaiExampleStrategy(IStrategy): + # 移除硬编码的 minimal_roi 和 stoploss,改为动态适配 + minimal_roi = {} # 将在 populate_indicators 中动态生成 + stoploss = 0.0 # 将在 populate_indicators 中动态设置 + trailing_stop = True + process_only_new_candles = True + use_exit_signal = True + startup_candle_count: int = 40 + can_short = False + + # 参数定义:FreqAI 动态适配 buy_rsi 和 sell_rsi,禁用 Hyperopt 优化 + buy_rsi = IntParameter(low=10, high=50, default=27, space="buy", optimize=False, load=True) + sell_rsi = IntParameter(low=50, high=90, default=59, space="sell", optimize=False, load=True) + + # 为 Hyperopt 优化添加 ROI 和 stoploss 参数 + roi_0 = DecimalParameter(low=0.01, high=0.2, default=0.038, space="roi", optimize=True, load=True) + roi_15 = DecimalParameter(low=0.005, high=0.1, default=0.027, space="roi", optimize=True, load=True) + roi_30 = DecimalParameter(low=0.001, high=0.05, default=0.009, space="roi", optimize=True, load=True) + stoploss_param = DecimalParameter(low=-0.35, high=-0.1, default=-0.182, space="stoploss", optimize=True, load=True) + + # FreqAI 配置 + freqai_info = { + "model": "CatboostClassifier", # 与config保持一致 + "feature_parameters": { + "include_timeframes": ["3m", "15m", "1h"], # 与config一致 + "include_corr_pairlist": ["BTC/USDT", "SOL/USDT"], # 添加相关交易对 + "label_period_candles": 20, # 与config一致 + "include_shifted_candles": 2, # 与config一致 + }, + "data_split_parameters": { + "test_size": 0.2, + "shuffle": True, # 启用shuffle + }, + "model_training_parameters": { + "n_estimators": 100, # 减少树的数量 + "learning_rate": 0.1, # 提高学习率 + "max_depth": 6, # 限制树深度 + "subsample": 0.8, # 添加子采样 + "colsample_bytree": 0.8, # 添加特征采样 + "objective": "reg:squarederror", + "eval_metric": "rmse", + "early_stopping_rounds": 20, + "verbose": 0, + }, + "data_kitchen": { + "feature_parameters": { + "DI_threshold": 1.5, # 降低异常值过滤阈值 + "use_DBSCAN_to_remove_outliers": False # 禁用DBSCAN + } + } + } + + plot_config = { + "main_plot": {}, + "subplots": { + "&-buy_rsi": {"&-buy_rsi": {"color": "green"}}, + "&-sell_rsi": {"&-sell_rsi": {"color": "red"}}, + "&-stoploss": {"&-stoploss": {"color": "purple"}}, + "&-roi_0": {"&-roi_0": {"color": "orange"}}, + "do_predict": {"do_predict": {"color": "brown"}}, + }, + } + + def feature_engineering_expand_all(self, dataframe: DataFrame, period: int, metadata: dict, **kwargs) -> DataFrame: + # 保留关键的技术指标 + dataframe["rsi"] = ta.RSI(dataframe, timeperiod=14) + + # 确保 MACD 列被正确计算并保留 + try: + macd = ta.MACD(dataframe, fastperiod=12, slowperiod=26, signalperiod=9) + dataframe["macd"] = macd["macd"] + dataframe["macdsignal"] = macd["macdsignal"] + except Exception as e: + logger.error(f"计算 MACD 列时出错:{str(e)}") + dataframe["macd"] = np.nan + dataframe["macdsignal"] = np.nan + + # 检查 MACD 列是否存在 + if "macd" not in dataframe.columns or "macdsignal" not in dataframe.columns: + logger.error("MACD 或 MACD 信号列缺失,无法生成买入信号") + raise ValueError("DataFrame 缺少必要的 MACD 列") + + # 确保 MACD 列存在 + if "macd" not in dataframe.columns or "macdsignal" not in dataframe.columns: + logger.error("MACD 或 MACD 信号列缺失,无法生成买入信号") + raise ValueError("DataFrame 缺少必要的 MACD 列") + + # 保留布林带相关特征 + bollinger = qtpylib.bollinger_bands(qtpylib.typical_price(dataframe), window=20, stds=2) + dataframe["bb_lowerband"] = bollinger["lower"] + dataframe["bb_middleband"] = bollinger["mid"] + dataframe["bb_upperband"] = bollinger["upper"] + + # 保留成交量相关特征 + dataframe["volume_ma"] = dataframe["volume"].rolling(window=20).mean() + + # 数据清理 + for col in dataframe.columns: + if dataframe[col].dtype in ["float64", "int64"]: + dataframe[col] = dataframe[col].replace([np.inf, -np.inf], np.nan) + dataframe[col] = dataframe[col].ffill().fillna(0) + + logger.info(f"特征工程完成,特征数量:{len(dataframe.columns)}") + return dataframe + + def feature_engineering_expand_basic(self, dataframe: DataFrame, metadata: dict, **kwargs) -> DataFrame: + dataframe["%-pct-change"] = dataframe["close"].pct_change() + dataframe["%-raw_volume"] = dataframe["volume"] + dataframe["%-raw_price"] = dataframe["close"] +# 数据清理逻辑 + for col in dataframe.columns: + if dataframe[col].dtype in ["float64", "int64"]: + dataframe[col] = dataframe[col].replace([np.inf, -np.inf], 0) + dataframe[col] = dataframe[col].ffill() + dataframe[col] = dataframe[col].fillna(0) + + # 检查是否仍有无效值 + if dataframe[col].isna().any() or np.isinf(dataframe[col]).any(): + logger.warning(f"列 {col} 仍包含无效值,已填充为默认值") + dataframe[col] = dataframe[col].fillna(0) + return dataframe + + def feature_engineering_standard(self, dataframe: DataFrame, metadata: dict, **kwargs) -> DataFrame: + dataframe["%-day_of_week"] = dataframe["date"].dt.dayofweek + dataframe["%-hour_of_day"] = dataframe["date"].dt.hour + dataframe.replace([np.inf, -np.inf], 0, inplace=True) + dataframe.ffill(inplace=True) + dataframe.fillna(0, inplace=True) + return dataframe + + def set_freqai_targets(self, dataframe: DataFrame, metadata: dict, **kwargs) -> DataFrame: + logger.info(f"设置 FreqAI 目标,交易对:{metadata['pair']}") + if "close" not in dataframe.columns: + logger.error("数据框缺少必要的 'close' 列") + raise ValueError("数据框缺少必要的 'close' 列") + + try: + label_period = self.freqai_info["feature_parameters"]["label_period_candles"] + + # 定义目标变量为未来价格变化百分比(连续值) + dataframe["up_or_down"] = ( + dataframe["close"].shift(-label_period) - dataframe["close"] + ) / dataframe["close"] + + # 数据清理:处理 NaN 和 Inf 值 + dataframe["up_or_down"] = dataframe["up_or_down"].replace([np.inf, -np.inf], np.nan) + dataframe["up_or_down"] = dataframe["up_or_down"].ffill().fillna(0) + + # 确保目标变量是二维数组 + if dataframe["up_or_down"].ndim == 1: + dataframe["up_or_down"] = dataframe["up_or_down"].values.reshape(-1, 1) + + # 检查并处理 NaN 或无限值 + dataframe["up_or_down"] = dataframe["up_or_down"].replace([np.inf, -np.inf], np.nan) + dataframe["up_or_down"] = dataframe["up_or_down"].ffill().fillna(0) + + # 生成 %-volatility 特征 + dataframe["%-volatility"] = dataframe["close"].pct_change().rolling(20).std() + + # 确保 &-buy_rsi 列的值计算正确 + dataframe["&-buy_rsi"] = ta.RSI(dataframe, timeperiod=14) + + # 数据清理 + for col in ["&-buy_rsi", "up_or_down", "%-volatility"]: + # 使用直接操作避免链式赋值 + dataframe[col] = dataframe[col].replace([np.inf, -np.inf], np.nan) + dataframe[col] = dataframe[col].ffill() # 替代 fillna(method='ffill') + dataframe[col] = dataframe[col].fillna(dataframe[col].mean()) # 使用均值填充 NaN 值 + if dataframe[col].isna().any(): + logger.warning(f"目标列 {col} 仍包含 NaN,填充为默认值") + + except Exception as e: + logger.error(f"创建 FreqAI 目标失败:{str(e)}") + raise + + # Log the shape of the target variable for debugging + logger.info(f"目标列形状:{dataframe['up_or_down'].shape}") + logger.info(f"目标列预览:\n{dataframe[['up_or_down', '&-buy_rsi']].head().to_string()}") + return dataframe + + def populate_indicators(self, dataframe: DataFrame, metadata: dict) -> DataFrame: + logger.info(f"处理交易对:{metadata['pair']}") + dataframe = self.freqai.start(dataframe, metadata, self) + + # 计算传统指标 + dataframe["rsi"] = ta.RSI(dataframe, timeperiod=14) + bollinger = qtpylib.bollinger_bands(qtpylib.typical_price(dataframe), window=20, stds=2) + dataframe["bb_lowerband"] = bollinger["lower"] + dataframe["bb_middleband"] = bollinger["mid"] + dataframe["bb_upperband"] = bollinger["upper"] + dataframe["tema"] = ta.TEMA(dataframe, timeperiod=9) + + # 生成 up_or_down 信号(非 FreqAI 目标) + label_period = self.freqai_info["feature_parameters"]["label_period_candles"] + # 使用未来价格变化方向生成 up_or_down 信号 + label_period = self.freqai_info["feature_parameters"]["label_period_candles"] + dataframe["up_or_down"] = np.where( + dataframe["close"].shift(-label_period) > dataframe["close"], 1, 0 + ) + + # 动态设置参数 + if "&-buy_rsi" in dataframe.columns: + # 派生其他目标 + dataframe["&-sell_rsi"] = dataframe["&-buy_rsi"] + 30 + dataframe["%-volatility"] = dataframe["close"].pct_change().rolling(20).std() + # Ensure proper calculation and handle potential NaN values + dataframe["&-stoploss"] = (-0.1 - (dataframe["%-volatility"] * 10).clip(0, 0.25)).fillna(-0.1) + dataframe["&-roi_0"] = ((dataframe["close"] / dataframe["close"].shift(label_period) - 1).clip(0, 0.2)).fillna(0) + + # Additional check to ensure no NaN values remain + for col in ["&-stoploss", "&-roi_0"]: + if dataframe[col].isna().any(): + logger.warning(f"列 {col} 仍包含 NaN,填充为默认值") + dataframe[col] = dataframe[col].fillna(-0.1 if col == "&-stoploss" else 0) + + # 简化动态参数生成逻辑 + # 放松 buy_rsi 和 sell_rsi 的生成逻辑 + # 计算 buy_rsi_pred 并清理 NaN 值 + dataframe["buy_rsi_pred"] = dataframe["rsi"].rolling(window=10).mean().clip(30, 50) + dataframe["buy_rsi_pred"] = dataframe["buy_rsi_pred"].fillna(dataframe["buy_rsi_pred"].median()) + + # 计算 sell_rsi_pred 并清理 NaN 值 + dataframe["sell_rsi_pred"] = dataframe["buy_rsi_pred"] + 20 + dataframe["sell_rsi_pred"] = dataframe["sell_rsi_pred"].fillna(dataframe["sell_rsi_pred"].median()) + + # 计算 stoploss_pred 并清理 NaN 值 + dataframe["stoploss_pred"] = -0.1 - (dataframe["%-volatility"] * 10).clip(0, 0.25) + dataframe["stoploss_pred"] = dataframe["stoploss_pred"].fillna(dataframe["stoploss_pred"].mean()) + + # 计算 roi_0_pred 并清理 NaN 值 + dataframe["roi_0_pred"] = dataframe["&-roi_0"].clip(0.01, 0.2) + dataframe["roi_0_pred"] = dataframe["roi_0_pred"].fillna(dataframe["roi_0_pred"].mean()) + + # 检查预测值 + for col in ["buy_rsi_pred", "sell_rsi_pred", "stoploss_pred", "roi_0_pred", "&-sell_rsi", "&-stoploss", "&-roi_0"]: + if dataframe[col].isna().any(): + logger.warning(f"列 {col} 包含 NaN,填充为默认值") + dataframe[col] = dataframe[col].fillna(dataframe[col].mean()) + + # 更保守的止损和止盈设置 + dataframe["trailing_stop_positive"] = (dataframe["roi_0_pred"] * 0.3).clip(0.01, 0.2) + dataframe["trailing_stop_positive_offset"] = (dataframe["roi_0_pred"] * 0.5).clip(0.01, 0.3) + + # 设置策略级参数 + self.buy_rsi.value = float(dataframe["buy_rsi_pred"].iloc[-1]) + self.sell_rsi.value = float(dataframe["sell_rsi_pred"].iloc[-1]) +# 更保守的止损设置 + self.stoploss = -0.15 # 固定止损 15% + self.minimal_roi = { + 0: float(self.roi_0.value), + 15: float(self.roi_15.value), + 30: float(self.roi_30.value), + 60: 0 + } +# 更保守的追踪止损设置 + self.trailing_stop_positive = 0.05 # 追踪止损触发点 + self.trailing_stop_positive_offset = 0.1 # 追踪止损偏移量 + + logger.info(f"动态参数:buy_rsi={self.buy_rsi.value}, sell_rsi={self.sell_rsi.value}, " + f"stoploss={self.stoploss}, trailing_stop_positive={self.trailing_stop_positive}") + + dataframe.replace([np.inf, -np.inf], 0, inplace=True) + dataframe.ffill(inplace=True) + dataframe.fillna(0, inplace=True) + + logger.info(f"up_or_down 值统计:\n{dataframe['up_or_down'].value_counts().to_string()}") + logger.info(f"do_predict 值统计:\n{dataframe['do_predict'].value_counts().to_string()}") + + return dataframe + + def populate_exit_trend(self, df: DataFrame, metadata: dict) -> DataFrame: +# 改进卖出信号条件 + exit_long_conditions = [ + (df["rsi"] > df["sell_rsi_pred"]), # RSI 高于卖出阈值 + (df["volume"] > df["volume"].rolling(window=10).mean()), # 成交量高于近期均值 + (df["close"] < df["bb_middleband"]) # 价格低于布林带中轨 + ] + if exit_long_conditions: + df.loc[ + reduce(lambda x, y: x & y, exit_long_conditions), + "exit_long" + ] = 1 + return df + def populate_entry_trend(self, df: DataFrame, metadata: dict) -> DataFrame: + # 改进买入信号条件 + # 检查 MACD 列是否存在 + if "macd" not in df.columns or "macdsignal" not in df.columns: + logger.error("MACD 或 MACD 信号列缺失,无法生成买入信号。尝试重新计算 MACD 列。") + + try: + macd = ta.MACD(df, fastperiod=12, slowperiod=26, signalperiod=9) + df["macd"] = macd["macd"] + df["macdsignal"] = macd["macdsignal"] + logger.info("MACD 列已成功重新计算。") + except Exception as e: + logger.error(f"重新计算 MACD 列时出错:{str(e)}") + raise ValueError("DataFrame 缺少必要的 MACD 列且无法重新计算。") + + enter_long_conditions = [ + (df["rsi"] < df["buy_rsi_pred"]), # RSI 低于买入阈值 + (df["volume"] > df["volume"].rolling(window=10).mean() * 1.2), # 成交量高于近期均值20% + (df["close"] > df["bb_middleband"]) # 价格高于布林带中轨 + ] + + # 如果 MACD 列存在,则添加 MACD 金叉条件 + if "macd" in df.columns and "macdsignal" in df.columns: + enter_long_conditions.append((df["macd"] > df["macdsignal"])) + + # 确保模型预测为买入 + enter_long_conditions.append((df["do_predict"] == 1)) + if enter_long_conditions: + df.loc[ + reduce(lambda x, y: x & y, enter_long_conditions), + ["enter_long", "enter_tag"] + ] = (1, "long") + return df + def confirm_trade_entry( + self, pair: str, order_type: str, amount: float, rate: float, + time_in_force: str, current_time, entry_tag, side: str, **kwargs + ) -> bool: + df, _ = self.dp.get_analyzed_dataframe(pair, self.timeframe) + last_candle = df.iloc[-1].squeeze() + if side == "long": + if rate > (last_candle["close"] * (1 + 0.0025)): + return False + return True diff --git a/freqtrade/templates/MyDynamicStrategy.py b/freqtrade/templates/MyDynamicStrategy.py new file mode 100644 index 00000000..2b99187a --- /dev/null +++ b/freqtrade/templates/MyDynamicStrategy.py @@ -0,0 +1,185 @@ +from freqtrade.strategy import IStrategy +import talib.abstract as ta +import pandas as pd +import numpy as np +import logging +from technical import qtpylib +from functools import reduce +from freqtrade.strategy import IStrategy, IntParameter, DecimalParameter + +class MyDynamicStrategy(IStrategy): + + # --- 参数空间 --- + buy_rsi = IntParameter(10, 50, default=30) + sell_rsi = IntParameter(50, 90, default=70) + roi_0 = DecimalParameter(0.01, 0.2, default=0.03) + roi_1 = DecimalParameter(0.005, 0.1, default=0.015) + stoploss_param = DecimalParameter(-0.3, -0.1, default=-0.15) + + trailing_stop = True + trailing_stop_positive = 0.05 + trailing_stop_positive_offset = 0.1 + can_short = False + + process_only_new_candles = True + use_exit_signal = True + stoploss = -0.15 + minimal_roi = {"0": 0.03, "30": 0.01, "60": 0} + + # --- Plotting config --- + plot_config = { + "main_plot": {}, + "subplots": { + "RSI Buy Threshold": { + "&-buy_rsi": {"color": "green"} + }, + "ROI and Stoploss": { + "&-roi_0": {"color": "orange"}, + "&-stoploss": {"color": "red"} + } + } + } + + # --- FreqAI 配置 --- + freqai_info = { + "model": "CatboostClassifier", + "feature_parameters": { + "include_timeframes": ["5m", "1h"], + "indicator_periods_candles": [10, 20, 50], + "include_corr_pairlist": ["BTC/USDT"], + "target_classifier": "value", + "label_period_candles": 20, + }, + "training_settings": { + "train_period_days": 30, + "startup_candle_count": 200 + } + } + + def feature_engineering_expand_all(self, dataframe, period, **kwargs): + df = dataframe.copy() + df[f'rsi_{period}'] = ta.RSI(df, timeperiod=period) + df[f'sma_diff_{period}'] = df['close'] - ta.SMA(df, timeperiod=period) + df[f'macd_{period}'], _, _ = ta.MACD(df, fastperiod=12, slowperiod=26, signalperiod=9) + df[f'stoch_rsi_{period}'] = ta.STOCHRSI(df, timeperiod=period) + df[f'cci_{period}'] = ta.CCI(df, timeperiod=period) + df[f'willr_{period}'] = ta.WILLR(df, timeperiod=period) + df[f'atr_{period}'] = ta.ATR(df, timeperiod=period) + df[f'price_change_rate_{period}'] = df['close'].pct_change(period) + df[f'volatility_{period}'] = df['close'].pct_change().rolling(window=period).std() + return df + + def set_freqai_targets(self, dataframe: pd.DataFrame, metadata: dict) -> pd.DataFrame: + # 使用短期和长期均线交叉作为目标标签 + short_ma = ta.SMA(dataframe, timeperiod=10) + long_ma = ta.SMA(dataframe, timeperiod=50) + dataframe['target'] = np.where(short_ma > long_ma, 2, + np.where(short_ma < long_ma, 0, 1)) + return dataframe + + def populate_indicators(self, dataframe: pd.DataFrame, metadata: dict) -> pd.DataFrame: + # 示例:使用简单未来N周期涨跌作为目标变量 + # 使用短期均线趋势代替未来价格 + # 计算短期和长期均线 + short_ma = ta.SMA(dataframe, timeperiod=10) + long_ma = ta.SMA(dataframe, timeperiod=50) + dataframe['short_ma'] = short_ma + dataframe['long_ma'] = long_ma + + # 计算 RSI 和其他动态参数 + dataframe['rsi'] = ta.RSI(dataframe, timeperiod=14) + dataframe['&-buy_rsi'] = self.buy_rsi.value + dataframe['&-sell_rsi'] = self.sell_rsi.value + dataframe['&-roi_0'] = self.roi_0.value + dataframe['&-stoploss'] = self.stoploss_param.value + + # 添加调试日志 + logging.info(f"Feature columns after feature engineering: {list(dataframe.columns)}") + + # 使用短期和长期均线交叉作为目标标签 + dataframe['target'] = np.where(short_ma > long_ma, 2, + np.where(short_ma < long_ma, 1, 0)) + + # 动态设置 minimal_roi + # 平滑处理 ROI 参数 + # 基于波动率动态调整 ROI 参数 + # 使用指数加权移动平均 (EWMA) 计算波动率 + volatility = dataframe['close'].pct_change().ewm(span=20, adjust=False).std().mean() + roi_0_dynamic = max(0.01, min(0.2, self.roi_0.value * (1 + volatility))) + roi_1_dynamic = max(0.005, min(0.1, self.roi_1.value * (1 + volatility))) + self.minimal_roi = { + 0: roi_0_dynamic, + 30: roi_1_dynamic, + 60: 0 + } + # 动态调整止损距离 + volatility_multiplier = max(1.5, min(3.0, 2.0 + volatility)) # 波动率倍数 + self.stoploss = -0.15 * volatility_multiplier + + # 计算 Bollinger Bands 并添加到 dataframe + bollinger = qtpylib.bollinger_bands(qtpylib.typical_price(dataframe), window=20, stds=2) + dataframe['bollinger_upper'] = bollinger['upper'] + dataframe['bollinger_mid'] = bollinger['mid'] + dataframe['bollinger_lower'] = bollinger['lower'] + + # 计算 MACD 并添加到 dataframe + macd, macdsignal, _ = ta.MACD(dataframe, fastperiod=12, slowperiod=26, signalperiod=9) + dataframe['macd'] = macd + dataframe['macdsignal'] = macdsignal + + # 添加调试日志 + logging.info(f"RSI condition: {(dataframe['rsi'] < dataframe['&-buy_rsi']).sum()}") + logging.info(f"Volume condition: {(dataframe['volume'] > dataframe['volume'].rolling(window=20).mean() * 1.05).sum()}") + logging.info(f"MACD condition: {((dataframe['close'] <= dataframe['bollinger_lower'] * 1.01) & (dataframe['macd'] > dataframe['macdsignal'])).sum()}") + + + # 添加 ADX 趋势过滤器 + dataframe['adx'] = ta.ADX(dataframe, timeperiod=14) + is_strong_trend = dataframe['adx'].iloc[-1] > 25 + # MACD 穿越信号条件 + (dataframe["close"] < dataframe['bollinger_lower']) & (dataframe['macd'] > dataframe['macdsignal']), + + # 基于趋势强度动态调整追踪止损 + trend_strength = (dataframe['short_ma'] - dataframe['long_ma']).mean() + if is_strong_trend: + self.trailing_stop_positive = max(0.01, min(0.1, abs(trend_strength) * 0.3)) + self.trailing_stop_positive_offset = max(0.01, min(0.2, abs(trend_strength) * 0.6)) + else: + self.trailing_stop_positive = 0.05 + self.trailing_stop_positive_offset = 0.1 + trend_strength = (dataframe['short_ma'] - dataframe['long_ma']).mean() + self.trailing_stop_positive = max(0.01, min(0.1, abs(trend_strength) * 0.3)) + + return dataframe + def populate_entry_trend(self, df: pd.DataFrame, metadata: dict) -> pd.DataFrame: + # 增加成交量过滤和 Bollinger Bands 信号 + # 计算 MACD + macd, macdsignal, _ = ta.MACD(df, fastperiod=12, slowperiod=26, signalperiod=9) + df['macd'] = macd + df['macdsignal'] = macdsignal + + bollinger = qtpylib.bollinger_bands(qtpylib.typical_price(df), window=20, stds=2) + conditions = [ + (df["rsi"] < df["&-buy_rsi"]), # RSI 低于买入阈值 + (df["volume"] > df["volume"].rolling(window=20).mean() * 1.1), # 成交量增长超过 10% + (df["close"] < df['bollinger_lower']) & (df['macd'] > df['macdsignal']), # MACD 穿越信号 + ] + df.loc[reduce(lambda x, y: x & y, conditions), 'enter_long'] = 1 + return df + + def populate_exit_trend(self, df: pd.DataFrame, metadata: dict) -> pd.DataFrame: + # 增加 Bollinger Bands 中轨信号 + bollinger = qtpylib.bollinger_bands(qtpylib.typical_price(df), window=20, stds=2) + exit_long_conditions = [ + (df["rsi"] > df["&-sell_rsi"]), + (df["close"] > df['bollinger_mid']) # Bollinger Bands 中轨信号 + ] + df.loc[reduce(lambda x, y: x & y, exit_long_conditions), 'exit_long'] = 1 + return df + def confirm_trade_entry(self, pair, order_type, amount, rate, time_in_force, current_time, entry_tag, side, **kwargs): + df, _ = self.dp.get_analyzed_dataframe(pair, self.timeframe) + last_candle = df.iloc[-1] + if rate > last_candle["close"] * 1.0025: + return False + return True + diff --git a/freqtrade/templates/optima.py b/freqtrade/templates/optima.py new file mode 100644 index 00000000..d2a4c241 --- /dev/null +++ b/freqtrade/templates/optima.py @@ -0,0 +1,69 @@ +from freqtrade.strategy.interface import IStrategy +import pandas as pd +import numpy as np +import talib as ta +import logging +import datetime +from freqtrade.strategy import IStrategy, IntParameter, DecimalParameter + +logger = logging.getLogger(__name__) + +class MyOptimizedStrategy(IStrategy): + # --- Hyperoptables --- + buy_rsi = IntParameter(20, 50, default=30, space="buy") + sell_rsi = IntParameter(50, 80, default=70, space="sell") + + # --- FreqAI 相关 --- + minimal_roi = {"0": 0.05, "30": 0.02, "60": 0} + stoploss = -0.1 + trailing_stop = True + trailing_stop_positive = 0.03 + trailing_stop_positive_offset = 0.05 + + def populate_indicators(self, dataframe: pd.DataFrame, metadata: dict) -> pd.DataFrame: + label_period = self.freqai_info["feature_parameters"]["label_period_candles"] + dataframe["up_or_down"] = np.where( + dataframe["close"].shift(-label_period) > dataframe["close"], 1, 0 + ) + dataframe["rsi"] = ta.RSI(dataframe, timeperiod=14) + + # 添加 volume_ma + dataframe["volume_ma"] = dataframe["volume"].rolling(window=20).mean() + + # Bollinger Bands + bollinger = qtpylib.bollinger_bands(qtpylib.typical_price(dataframe), window=20, stds=2) + dataframe["bb_lowerband"] = bollinger["lower"] + dataframe["bb_middleband"] = bollinger["mid"] + dataframe["bb_upperband"] = bollinger["upper"] + + dataframe.replace([np.inf, -np.inf], 0, inplace=True) + dataframe.ffill(inplace=True) + dataframe.fillna(0, inplace=True) + + return dataframe + + def populate_entry_trend(self, dataframe: pd.DataFrame, metadata: dict) -> pd.DataFrame: + conditions = [ + (dataframe['do_predict'] == 1), + (dataframe['rsi'] < dataframe['&-buy_rsi_pred']), + (dataframe['close'] < dataframe['bb_lowerband']) + ] + dataframe.loc[reduce(np.logical_and, conditions), 'enter_long'] = 1 + return dataframe + + def populate_exit_trend(self, dataframe: pd.DataFrame, metadata: dict) -> pd.DataFrame: + conditions = [ + (dataframe['do_predict'] == 1), + (dataframe['rsi'] > dataframe['&-sell_rsi_pred']) + ] + dataframe.loc[reduce(np.logical_and, conditions), 'exit_long'] = 1 + return dataframe + + def custom_stoploss(self, pair: str, trade: 'Trade', current_time: datetime, current_rate: float, + current_profit: float, **kwargs) -> float: + dataframe, _ = self.dp.get_analyzed_dataframe(pair, self.timeframe) + last_row = dataframe.iloc[-1] + if "&-stoploss" in last_row: + return float(last_row["&-stoploss"]) + return self.stoploss + diff --git a/freqtrade_utf8.log b/freqtrade_utf8.log new file mode 100644 index 00000000..4aaafe69 --- /dev/null +++ b/freqtrade_utf8.log @@ -0,0 +1,3066 @@ +Creating freqtrade_freqtrade_run ... +Creating freqtrade_freqtrade_run ... done +2025-04-29 01:54:55,246 - freqtrade - INFO - freqtrade 2025.3 +2025-04-29 01:54:55,464 - numexpr.utils - INFO - NumExpr defaulting to 12 threads. +2025-04-29 01:54:56,878 - freqtrade.configuration.load_config - INFO - Using config: /freqtrade/config_examples/config_freqai.okx.json ... +2025-04-29 01:54:56,879 - freqtrade.configuration.load_config - INFO - Using config: /freqtrade/templates/FreqaiExampleStrategy.json ... +2025-04-29 01:54:56,881 - freqtrade.loggers - INFO - Enabling colorized output. +2025-04-29 01:54:56,881 - root - INFO - Logfile configured +2025-04-29 01:54:56,882 - freqtrade.loggers - INFO - Verbosity set to 0 +2025-04-29 01:54:56,882 - freqtrade.configuration.configuration - INFO - Using additional Strategy lookup path: /freqtrade/templates +2025-04-29 01:54:56,883 - freqtrade.configuration.configuration - INFO - Using max_open_trades: 4 ... +2025-04-29 01:54:56,883 - freqtrade.configuration.configuration - INFO - Parameter --timerange detected: 20250101-20250420 ... +2025-04-29 01:54:56,907 - freqtrade.configuration.configuration - INFO - Using user-data directory: /freqtrade/user_data ... +2025-04-29 01:54:56,908 - freqtrade.configuration.configuration - INFO - Using data directory: /freqtrade/user_data/data/okx ... +2025-04-29 01:54:56,908 - freqtrade.configuration.configuration - INFO - Parameter --cache=none detected ... +2025-04-29 01:54:56,908 - freqtrade.configuration.configuration - INFO - Filter trades by timerange: 20250101-20250420 +2025-04-29 01:54:56,909 - freqtrade.configuration.configuration - INFO - Using freqaimodel class name: XGBoostRegressor +2025-04-29 01:54:56,910 - freqtrade.exchange.check_exchange - INFO - Checking exchange... +2025-04-29 01:54:56,916 - freqtrade.exchange.check_exchange - INFO - Exchange "okx" is officially supported by the Freqtrade development team. +2025-04-29 01:54:56,916 - freqtrade.configuration.configuration - INFO - Using pairlist from configuration. +2025-04-29 01:54:56,917 - freqtrade.configuration.config_validation - INFO - Validating configuration ... +2025-04-29 01:54:56,919 - freqtrade.commands.optimize_commands - INFO - Starting freqtrade in Backtesting mode +2025-04-29 01:54:56,919 - freqtrade.exchange.exchange - INFO - Instance is running with dry_run enabled +2025-04-29 01:54:56,920 - freqtrade.exchange.exchange - INFO - Using CCXT 4.4.69 +2025-04-29 01:54:56,920 - freqtrade.exchange.exchange - INFO - Applying additional ccxt config: {'enableRateLimit': True, 'rateLimit': 500, 'options': {'defaultType': 'spot'}} +2025-04-29 01:54:56,925 - freqtrade.exchange.exchange - INFO - Applying additional ccxt config: {'enableRateLimit': True, 'rateLimit': 500, 'options': {'defaultType': 'spot'}, 'timeout': 20000} +2025-04-29 01:54:56,931 - freqtrade.exchange.exchange - INFO - Using Exchange "OKX" +2025-04-29 01:54:59,471 - freqtrade.resolvers.exchange_resolver - INFO - Using resolved exchange 'Okx'... +2025-04-29 01:54:59,491 - freqtrade.resolvers.iresolver - INFO - Using resolved strategy FreqaiExampleStrategy from '/freqtrade/templates/FreqaiExampleStrategy.py'... +2025-04-29 01:54:59,491 - freqtrade.strategy.hyper - INFO - Loading parameters from file /freqtrade/templates/FreqaiExampleStrategy.json +2025-04-29 01:54:59,492 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'timeframe' with value in config file: 3m. +2025-04-29 01:54:59,492 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'stoploss' with value in config file: -0.05. +2025-04-29 01:54:59,493 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'stake_currency' with value in config file: USDT. +2025-04-29 01:54:59,493 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'stake_amount' with value in config file: 150. +2025-04-29 01:54:59,493 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'startup_candle_count' with value in config file: 30. +2025-04-29 01:54:59,494 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'unfilledtimeout' with value in config file: {'entry': 5, 'exit': 15, 'exit_timeout_count': 0, 'unit': +'minutes'}. +2025-04-29 01:54:59,494 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'max_open_trades' with value in config file: 4. +2025-04-29 01:54:59,494 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using minimal_roi: {'0': 0.132, '8': 0.047, '14': 0.007, '60': 0} +2025-04-29 01:54:59,495 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using timeframe: 3m +2025-04-29 01:54:59,495 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using stoploss: -0.05 +2025-04-29 01:54:59,495 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using trailing_stop: True +2025-04-29 01:54:59,495 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using trailing_stop_positive: 0.01 +2025-04-29 01:54:59,496 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using trailing_stop_positive_offset: 0.02 +2025-04-29 01:54:59,496 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using trailing_only_offset_is_reached: False +2025-04-29 01:54:59,496 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using use_custom_stoploss: False +2025-04-29 01:54:59,497 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using process_only_new_candles: True +2025-04-29 01:54:59,497 - 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-04-29 01:54:59,497 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using order_time_in_force: {'entry': 'GTC', 'exit': 'GTC'} +2025-04-29 01:54:59,498 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using stake_currency: USDT +2025-04-29 01:54:59,498 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using stake_amount: 150 +2025-04-29 01:54:59,498 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using startup_candle_count: 30 +2025-04-29 01:54:59,499 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using unfilledtimeout: {'entry': 5, 'exit': 15, 'exit_timeout_count': 0, 'unit': 'minutes'} +2025-04-29 01:54:59,499 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using use_exit_signal: True +2025-04-29 01:54:59,499 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using exit_profit_only: False +2025-04-29 01:54:59,500 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using ignore_roi_if_entry_signal: False +2025-04-29 01:54:59,500 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using exit_profit_offset: 0.0 +2025-04-29 01:54:59,500 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using disable_dataframe_checks: False +2025-04-29 01:54:59,500 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using ignore_buying_expired_candle_after: 0 +2025-04-29 01:54:59,501 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using position_adjustment_enable: False +2025-04-29 01:54:59,501 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using max_entry_position_adjustment: -1 +2025-04-29 01:54:59,501 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using max_open_trades: 4 +2025-04-29 01:54:59,502 - freqtrade.configuration.config_validation - INFO - Validating configuration ... +2025-04-29 01:54:59,505 - freqtrade.resolvers.iresolver - INFO - Using resolved pairlist StaticPairList from '/freqtrade/freqtrade/plugins/pairlist/StaticPairList.py'... +2025-04-29 01:54:59,512 - freqtrade.optimize.backtesting - INFO - Using fee 0.1500% - worst case fee from exchange (lowest tier). +2025-04-29 01:54:59,512 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 3m to 14450 +2025-04-29 01:54:59,513 - freqtrade.data.history.history_utils - INFO - Using indicator startup period: 14450 ... +2025-04-29 01:54:59,672 - freqtrade.optimize.backtesting - INFO - Loading data from 2024-12-01 21:30:00 up to 2025-04-20 00:00:00 (139 days). +2025-04-29 01:54:59,672 - freqtrade.optimize.backtesting - INFO - Dataload complete. Calculating indicators +2025-04-29 01:54:59,673 - freqtrade.optimize.backtesting - INFO - Running backtesting for Strategy FreqaiExampleStrategy +2025-04-29 01:55:01,274 - matplotlib.font_manager - INFO - generated new fontManager +2025-04-29 01:55:01,489 - freqtrade.resolvers.iresolver - INFO - Using resolved freqaimodel XGBoostRegressor from '/freqtrade/freqtrade/freqai/prediction_models/XGBoostRegressor.py'... +2025-04-29 01:55:01,490 - freqtrade.freqai.data_drawer - INFO - Could not find existing datadrawer, starting from scratch +2025-04-29 01:55:01,491 - freqtrade.freqai.data_drawer - INFO - Could not find existing historic_predictions, starting from scratch +2025-04-29 01:55:01,491 - freqtrade.freqai.freqai_interface - INFO - Set fresh train queue from whitelist. Queue: ['BTC/USDT', 'SOL/USDT'] +2025-04-29 01:55:01,492 - freqtrade.strategy.hyper - INFO - Strategy Parameter: buy_rsi = 39.92672300850069 +2025-04-29 01:55:01,492 - freqtrade.strategy.hyper - INFO - Strategy Parameter: sell_rsi = 69.92672300850067 +2025-04-29 01:55:01,493 - freqtrade.strategy.hyper - INFO - No params for protection found, using default values. +2025-04-29 01:55:01,498 - FreqaiExampleStrategy - INFO - 处理交易对:BTC/USDT +2025-04-29 01:55:01,500 - freqtrade.freqai.freqai_interface - INFO - Training 11 timeranges +2025-04-29 01:55:01,501 - freqtrade.freqai.freqai_interface - INFO - Training BTC/USDT, 1/2 pairs from 2024-12-02 00:00:00 to 2025-01-01 00:00:00, 1/11 trains +2025-04-29 01:55:01,502 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_btc_1735689600_prediction.feather +2025-04-29 01:55:01,602 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 5m to 8690 +2025-04-29 01:55:01,603 - freqtrade.data.dataprovider - INFO - Loading data for BTC/USDT 5m from 2024-12-01 19:50:00 to 2025-04-20 00:00:00 +2025-04-29 01:55:01,705 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 1h to 770 +2025-04-29 01:55:01,706 - freqtrade.data.dataprovider - INFO - Loading data for BTC/USDT 1h from 2024-11-29 22:00:00 to 2025-04-20 00:00:00 +2025-04-29 01:55:01,814 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 3m to 14450 +2025-04-29 01:55:01,815 - freqtrade.data.dataprovider - INFO - Loading data for ETH/USDT 3m from 2024-12-01 21:30:00 to 2025-04-20 00:00:00 +2025-04-29 01:55:01,942 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 5m to 8690 +2025-04-29 01:55:01,943 - freqtrade.data.dataprovider - INFO - Loading data for ETH/USDT 5m from 2024-12-01 19:50:00 to 2025-04-20 00:00:00 +2025-04-29 01:55:02,037 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 1h to 770 +2025-04-29 01:55:02,038 - freqtrade.data.dataprovider - INFO - Loading data for ETH/USDT 1h from 2024-11-29 22:00:00 to 2025-04-20 00:00:00 +2025-04-29 01:55:02,113 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:02,118 - FreqaiExampleStrategy - INFO - 目标列形状:(14450,) +2025-04-29 01:55:02,121 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.152831 +1 0.003285 50.152831 +2 0.001898 50.152831 +3 0.000484 50.152831 +4 0.001688 50.152831 +2025-04-29 01:55:02,123 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:02,129 - FreqaiExampleStrategy - INFO - 目标列形状:(19250,) +2025-04-29 01:55:02,130 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.202701 +1 0.003285 50.202701 +2 0.001898 50.202701 +3 0.000484 50.202701 +4 0.001688 50.202701 +2025-04-29 01:55:02,134 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-BTC_1735689600/cb_btc_1735689600 +2025-04-29 01:55:02,135 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training BTC/USDT -------------------- +2025-04-29 01:55:02,151 - freqtrade.freqai.data_kitchen - INFO - BTC/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:55:02,152 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2024-12-02 to 2024-12-31 -------------------- +2025-04-29 01:55:07,277 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 75 features +2025-04-29 01:55:07,278 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.24624 validation_1-rmse:0.26036 +[1] validation_0-rmse:0.24176 validation_1-rmse:0.25460 +[2] validation_0-rmse:0.23782 validation_1-rmse:0.24904 +[3] validation_0-rmse:0.23408 validation_1-rmse:0.24381 +[4] validation_0-rmse:0.23057 validation_1-rmse:0.23882 +[5] validation_0-rmse:0.22701 validation_1-rmse:0.23409 +[6] validation_0-rmse:0.22400 validation_1-rmse:0.22962 +[7] validation_0-rmse:0.22088 validation_1-rmse:0.22533 +[8] validation_0-rmse:0.21817 validation_1-rmse:0.22130 +[9] validation_0-rmse:0.21491 validation_1-rmse:0.21740 +[10] validation_0-rmse:0.21265 validation_1-rmse:0.21347 +[11] validation_0-rmse:0.20982 validation_1-rmse:0.20978 +[12] validation_0-rmse:0.20747 validation_1-rmse:0.20640 +[13] validation_0-rmse:0.20512 validation_1-rmse:0.20299 +[14] validation_0-rmse:0.20280 validation_1-rmse:0.19966 +[15] validation_0-rmse:0.20012 validation_1-rmse:0.19656 +[16] validation_0-rmse:0.19785 validation_1-rmse:0.19346 +[17] validation_0-rmse:0.19572 validation_1-rmse:0.19054 +[18] validation_0-rmse:0.19400 validation_1-rmse:0.18759 +[19] validation_0-rmse:0.19164 validation_1-rmse:0.18488 +[20] validation_0-rmse:0.18956 validation_1-rmse:0.18205 +[21] validation_0-rmse:0.18746 validation_1-rmse:0.17951 +[22] validation_0-rmse:0.18593 validation_1-rmse:0.17696 +[23] validation_0-rmse:0.18395 validation_1-rmse:0.17465 +[24] validation_0-rmse:0.18249 validation_1-rmse:0.17217 +[25] validation_0-rmse:0.18084 validation_1-rmse:0.16993 +[26] validation_0-rmse:0.17928 validation_1-rmse:0.16771 +[27] validation_0-rmse:0.17776 validation_1-rmse:0.16571 +[28] validation_0-rmse:0.17652 validation_1-rmse:0.16356 +[29] validation_0-rmse:0.17499 validation_1-rmse:0.16166 +[30] validation_0-rmse:0.17371 validation_1-rmse:0.15983 +[31] validation_0-rmse:0.17243 validation_1-rmse:0.15792 +[32] validation_0-rmse:0.17110 validation_1-rmse:0.15628 +[33] validation_0-rmse:0.16996 validation_1-rmse:0.15433 +[34] validation_0-rmse:0.16884 validation_1-rmse:0.15277 +[35] validation_0-rmse:0.16785 validation_1-rmse:0.15090 +[36] validation_0-rmse:0.16682 validation_1-rmse:0.14942 +[37] validation_0-rmse:0.16559 validation_1-rmse:0.14774 +[38] validation_0-rmse:0.16459 validation_1-rmse:0.14628 +[39] validation_0-rmse:0.16356 validation_1-rmse:0.14466 +[40] validation_0-rmse:0.16250 validation_1-rmse:0.14330 +[41] validation_0-rmse:0.16153 validation_1-rmse:0.14201 +[42] validation_0-rmse:0.16059 validation_1-rmse:0.14075 +[43] validation_0-rmse:0.15986 validation_1-rmse:0.13938 +[44] validation_0-rmse:0.15908 validation_1-rmse:0.13822 +[45] validation_0-rmse:0.15810 validation_1-rmse:0.13687 +[46] validation_0-rmse:0.15733 validation_1-rmse:0.13577 +[47] validation_0-rmse:0.15655 validation_1-rmse:0.13458 +[48] validation_0-rmse:0.15580 validation_1-rmse:0.13355 +[49] validation_0-rmse:0.15512 validation_1-rmse:0.13228 +[50] validation_0-rmse:0.15434 validation_1-rmse:0.13121 +[51] validation_0-rmse:0.15363 validation_1-rmse:0.13030 +[52] validation_0-rmse:0.15294 validation_1-rmse:0.12937 +[53] validation_0-rmse:0.15243 validation_1-rmse:0.12818 +[54] validation_0-rmse:0.15170 validation_1-rmse:0.12720 +[55] validation_0-rmse:0.15096 validation_1-rmse:0.12632 +[56] validation_0-rmse:0.15035 validation_1-rmse:0.12538 +[57] validation_0-rmse:0.14977 validation_1-rmse:0.12453 +[58] validation_0-rmse:0.14914 validation_1-rmse:0.12363 +[59] validation_0-rmse:0.14867 validation_1-rmse:0.12263 +[60] validation_0-rmse:0.14819 validation_1-rmse:0.12183 +[61] validation_0-rmse:0.14763 validation_1-rmse:0.12108 +[62] validation_0-rmse:0.14706 validation_1-rmse:0.12035 +[63] validation_0-rmse:0.14648 validation_1-rmse:0.11946 +[64] validation_0-rmse:0.14601 validation_1-rmse:0.11876 +[65] validation_0-rmse:0.14553 validation_1-rmse:0.11808 +[66] validation_0-rmse:0.14506 validation_1-rmse:0.11742 +[67] validation_0-rmse:0.14469 validation_1-rmse:0.11671 +[68] validation_0-rmse:0.14422 validation_1-rmse:0.11604 +[69] validation_0-rmse:0.14381 validation_1-rmse:0.11543 +[70] validation_0-rmse:0.14337 validation_1-rmse:0.11485 +[71] validation_0-rmse:0.14294 validation_1-rmse:0.11398 +[72] validation_0-rmse:0.14260 validation_1-rmse:0.11335 +[73] validation_0-rmse:0.14223 validation_1-rmse:0.11278 +[74] validation_0-rmse:0.14190 validation_1-rmse:0.11225 +[75] validation_0-rmse:0.14144 validation_1-rmse:0.11143 +[76] validation_0-rmse:0.14098 validation_1-rmse:0.11052 +[77] validation_0-rmse:0.14062 validation_1-rmse:0.10998 +[78] validation_0-rmse:0.14029 validation_1-rmse:0.10953 +[79] validation_0-rmse:0.13993 validation_1-rmse:0.10888 +[80] validation_0-rmse:0.13958 validation_1-rmse:0.10839 +[81] validation_0-rmse:0.13918 validation_1-rmse:0.10767 +[82] validation_0-rmse:0.13897 validation_1-rmse:0.10720 +[83] validation_0-rmse:0.13864 validation_1-rmse:0.10669 +[84] validation_0-rmse:0.13836 validation_1-rmse:0.10620 +[85] validation_0-rmse:0.13810 validation_1-rmse:0.10573 +[86] validation_0-rmse:0.13782 validation_1-rmse:0.10526 +[87] validation_0-rmse:0.13756 validation_1-rmse:0.10458 +[88] validation_0-rmse:0.13736 validation_1-rmse:0.10420 +[89] validation_0-rmse:0.13708 validation_1-rmse:0.10383 +[90] validation_0-rmse:0.13685 validation_1-rmse:0.10343 +[91] validation_0-rmse:0.13658 validation_1-rmse:0.10298 +[92] validation_0-rmse:0.13646 validation_1-rmse:0.10231 +[93] validation_0-rmse:0.13615 validation_1-rmse:0.10190 +[94] validation_0-rmse:0.13589 validation_1-rmse:0.10154 +[95] validation_0-rmse:0.13572 validation_1-rmse:0.10095 +[96] validation_0-rmse:0.13550 validation_1-rmse:0.10058 +[97] validation_0-rmse:0.13530 validation_1-rmse:0.10026 +[98] validation_0-rmse:0.13513 validation_1-rmse:0.09995 +[99] validation_0-rmse:0.13480 validation_1-rmse:0.09950 +2025-04-29 01:55:08,221 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training BTC/USDT (6.09 secs) -------------------- +2025-04-29 01:55:08,222 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:55:08,903 - freqtrade.freqai.freqai_interface - INFO - Training BTC/USDT, 1/2 pairs from 2024-12-12 00:00:00 to 2025-01-11 00:00:00, 2/11 trains +2025-04-29 01:55:08,904 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_btc_1736553600_prediction.feather +2025-04-29 01:55:08,907 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:08,912 - FreqaiExampleStrategy - INFO - 目标列形状:(19250,) +2025-04-29 01:55:08,914 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.202701 +1 0.003285 50.202701 +2 0.001898 50.202701 +3 0.000484 50.202701 +4 0.001688 50.202701 +2025-04-29 01:55:08,917 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:08,924 - FreqaiExampleStrategy - INFO - 目标列形状:(24050,) +2025-04-29 01:55:08,925 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.367593 +1 0.003285 50.367593 +2 0.001898 50.367593 +3 0.000484 50.367593 +4 0.001688 50.367593 +2025-04-29 01:55:08,929 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-BTC_1736553600/cb_btc_1736553600 +2025-04-29 01:55:08,930 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training BTC/USDT -------------------- +2025-04-29 01:55:08,946 - freqtrade.freqai.data_kitchen - INFO - BTC/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:55:08,947 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2024-12-12 to 2025-01-10 -------------------- +2025-04-29 01:55:13,908 - datasieve.pipeline - INFO - DI tossed 5 predictions for being too far from training data. +2025-04-29 01:55:13,911 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 75 features +2025-04-29 01:55:13,912 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.26037 validation_1-rmse:0.25324 +[1] validation_0-rmse:0.25572 validation_1-rmse:0.24787 +[2] validation_0-rmse:0.25117 validation_1-rmse:0.24281 +[3] validation_0-rmse:0.24697 validation_1-rmse:0.23802 +[4] validation_0-rmse:0.24328 validation_1-rmse:0.23332 +[5] validation_0-rmse:0.23939 validation_1-rmse:0.22905 +[6] validation_0-rmse:0.23522 validation_1-rmse:0.22484 +[7] validation_0-rmse:0.23148 validation_1-rmse:0.22085 +[8] validation_0-rmse:0.22873 validation_1-rmse:0.21697 +[9] validation_0-rmse:0.22519 validation_1-rmse:0.21317 +[10] validation_0-rmse:0.22206 validation_1-rmse:0.20963 +[11] validation_0-rmse:0.21866 validation_1-rmse:0.20626 +[12] validation_0-rmse:0.21563 validation_1-rmse:0.20296 +[13] validation_0-rmse:0.21313 validation_1-rmse:0.19956 +[14] validation_0-rmse:0.21062 validation_1-rmse:0.19636 +[15] validation_0-rmse:0.20808 validation_1-rmse:0.19339 +[16] validation_0-rmse:0.20570 validation_1-rmse:0.19058 +[17] validation_0-rmse:0.20318 validation_1-rmse:0.18781 +[18] validation_0-rmse:0.20113 validation_1-rmse:0.18518 +[19] validation_0-rmse:0.19934 validation_1-rmse:0.18248 +[20] validation_0-rmse:0.19735 validation_1-rmse:0.18006 +[21] validation_0-rmse:0.19541 validation_1-rmse:0.17744 +[22] validation_0-rmse:0.19336 validation_1-rmse:0.17517 +[23] validation_0-rmse:0.19145 validation_1-rmse:0.17301 +[24] validation_0-rmse:0.18989 validation_1-rmse:0.17058 +[25] validation_0-rmse:0.18782 validation_1-rmse:0.16854 +[26] validation_0-rmse:0.18634 validation_1-rmse:0.16625 +[27] validation_0-rmse:0.18471 validation_1-rmse:0.16430 +[28] validation_0-rmse:0.18312 validation_1-rmse:0.16236 +[29] validation_0-rmse:0.18157 validation_1-rmse:0.16053 +[30] validation_0-rmse:0.17991 validation_1-rmse:0.15849 +[31] validation_0-rmse:0.17839 validation_1-rmse:0.15677 +[32] validation_0-rmse:0.17693 validation_1-rmse:0.15498 +[33] validation_0-rmse:0.17574 validation_1-rmse:0.15336 +[34] validation_0-rmse:0.17469 validation_1-rmse:0.15168 +[35] validation_0-rmse:0.17352 validation_1-rmse:0.15015 +[36] validation_0-rmse:0.17228 validation_1-rmse:0.14868 +[37] validation_0-rmse:0.17127 validation_1-rmse:0.14692 +[38] validation_0-rmse:0.17030 validation_1-rmse:0.14553 +[39] validation_0-rmse:0.16926 validation_1-rmse:0.14420 +[40] validation_0-rmse:0.16821 validation_1-rmse:0.14297 +[41] validation_0-rmse:0.16740 validation_1-rmse:0.14144 +[42] validation_0-rmse:0.16647 validation_1-rmse:0.14020 +[43] validation_0-rmse:0.16548 validation_1-rmse:0.13903 +[44] validation_0-rmse:0.16440 validation_1-rmse:0.13765 +[45] validation_0-rmse:0.16353 validation_1-rmse:0.13652 +[46] validation_0-rmse:0.16269 validation_1-rmse:0.13522 +[47] validation_0-rmse:0.16193 validation_1-rmse:0.13419 +[48] validation_0-rmse:0.16114 validation_1-rmse:0.13311 +[49] validation_0-rmse:0.16043 validation_1-rmse:0.13214 +[50] validation_0-rmse:0.15971 validation_1-rmse:0.13090 +[51] validation_0-rmse:0.15909 validation_1-rmse:0.12992 +[52] validation_0-rmse:0.15834 validation_1-rmse:0.12899 +[53] validation_0-rmse:0.15763 validation_1-rmse:0.12809 +[54] validation_0-rmse:0.15697 validation_1-rmse:0.12724 +[55] validation_0-rmse:0.15631 validation_1-rmse:0.12637 +[56] validation_0-rmse:0.15553 validation_1-rmse:0.12535 +[57] validation_0-rmse:0.15494 validation_1-rmse:0.12456 +[58] validation_0-rmse:0.15452 validation_1-rmse:0.12352 +[59] validation_0-rmse:0.15396 validation_1-rmse:0.12273 +[60] validation_0-rmse:0.15334 validation_1-rmse:0.12196 +[61] validation_0-rmse:0.15274 validation_1-rmse:0.12123 +[62] validation_0-rmse:0.15221 validation_1-rmse:0.12048 +[63] validation_0-rmse:0.15176 validation_1-rmse:0.11953 +[64] validation_0-rmse:0.15133 validation_1-rmse:0.11887 +[65] validation_0-rmse:0.15080 validation_1-rmse:0.11796 +[66] validation_0-rmse:0.15035 validation_1-rmse:0.11734 +[67] validation_0-rmse:0.14995 validation_1-rmse:0.11667 +[68] validation_0-rmse:0.14954 validation_1-rmse:0.11616 +[69] validation_0-rmse:0.14916 validation_1-rmse:0.11535 +[70] validation_0-rmse:0.14887 validation_1-rmse:0.11469 +[71] validation_0-rmse:0.14854 validation_1-rmse:0.11408 +[72] validation_0-rmse:0.14811 validation_1-rmse:0.11334 +[73] validation_0-rmse:0.14766 validation_1-rmse:0.11278 +[74] validation_0-rmse:0.14738 validation_1-rmse:0.11231 +[75] validation_0-rmse:0.14697 validation_1-rmse:0.11184 +[76] validation_0-rmse:0.14663 validation_1-rmse:0.11108 +[77] validation_0-rmse:0.14635 validation_1-rmse:0.11058 +[78] validation_0-rmse:0.14591 validation_1-rmse:0.10984 +[79] validation_0-rmse:0.14561 validation_1-rmse:0.10929 +[80] validation_0-rmse:0.14529 validation_1-rmse:0.10875 +[81] validation_0-rmse:0.14510 validation_1-rmse:0.10826 +[82] validation_0-rmse:0.14471 validation_1-rmse:0.10772 +[83] validation_0-rmse:0.14444 validation_1-rmse:0.10725 +[84] validation_0-rmse:0.14420 validation_1-rmse:0.10652 +[85] validation_0-rmse:0.14393 validation_1-rmse:0.10608 +[86] validation_0-rmse:0.14371 validation_1-rmse:0.10567 +[87] validation_0-rmse:0.14342 validation_1-rmse:0.10528 +[88] validation_0-rmse:0.14314 validation_1-rmse:0.10483 +[89] validation_0-rmse:0.14307 validation_1-rmse:0.10439 +[90] validation_0-rmse:0.14273 validation_1-rmse:0.10395 +[91] validation_0-rmse:0.14237 validation_1-rmse:0.10353 +[92] validation_0-rmse:0.14210 validation_1-rmse:0.10318 +[93] validation_0-rmse:0.14186 validation_1-rmse:0.10279 +[94] validation_0-rmse:0.14175 validation_1-rmse:0.10234 +[95] validation_0-rmse:0.14153 validation_1-rmse:0.10204 +[96] validation_0-rmse:0.14142 validation_1-rmse:0.10160 +[97] validation_0-rmse:0.14124 validation_1-rmse:0.10126 +[98] validation_0-rmse:0.14102 validation_1-rmse:0.10068 +[99] validation_0-rmse:0.14079 validation_1-rmse:0.10036 +2025-04-29 01:55:14,692 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training BTC/USDT (5.76 secs) -------------------- +2025-04-29 01:55:14,693 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:55:15,250 - freqtrade.freqai.freqai_interface - INFO - Training BTC/USDT, 1/2 pairs from 2024-12-22 00:00:00 to 2025-01-21 00:00:00, 3/11 trains +2025-04-29 01:55:15,250 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_btc_1737417600_prediction.feather +2025-04-29 01:55:15,254 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:15,261 - FreqaiExampleStrategy - INFO - 目标列形状:(24050,) +2025-04-29 01:55:15,262 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.367593 +1 0.003285 50.367593 +2 0.001898 50.367593 +3 0.000484 50.367593 +4 0.001688 50.367593 +2025-04-29 01:55:15,268 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:15,275 - FreqaiExampleStrategy - INFO - 目标列形状:(28850,) +2025-04-29 01:55:15,276 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.305589 +1 0.003285 50.305589 +2 0.001898 50.305589 +3 0.000484 50.305589 +4 0.001688 50.305589 +2025-04-29 01:55:15,281 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-BTC_1737417600/cb_btc_1737417600 +2025-04-29 01:55:15,281 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training BTC/USDT -------------------- +2025-04-29 01:55:15,297 - freqtrade.freqai.data_kitchen - INFO - BTC/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:55:15,298 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2024-12-22 to 2025-01-20 -------------------- +2025-04-29 01:55:20,324 - datasieve.pipeline - INFO - DI tossed 1622 predictions for being too far from training data. +2025-04-29 01:55:20,327 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 75 features +2025-04-29 01:55:20,327 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.25769 validation_1-rmse:0.25549 +[1] validation_0-rmse:0.25314 validation_1-rmse:0.24986 +[2] validation_0-rmse:0.24864 validation_1-rmse:0.24456 +[3] validation_0-rmse:0.24486 validation_1-rmse:0.23955 +[4] validation_0-rmse:0.24144 validation_1-rmse:0.23480 +[5] validation_0-rmse:0.23803 validation_1-rmse:0.23024 +[6] validation_0-rmse:0.23468 validation_1-rmse:0.22599 +[7] validation_0-rmse:0.23134 validation_1-rmse:0.22162 +[8] validation_0-rmse:0.22843 validation_1-rmse:0.21773 +[9] validation_0-rmse:0.22560 validation_1-rmse:0.21396 +[10] validation_0-rmse:0.22402 validation_1-rmse:0.21023 +[11] validation_0-rmse:0.22155 validation_1-rmse:0.20680 +[12] validation_0-rmse:0.21899 validation_1-rmse:0.20342 +[13] validation_0-rmse:0.21654 validation_1-rmse:0.20029 +[14] validation_0-rmse:0.21431 validation_1-rmse:0.19719 +[15] validation_0-rmse:0.21282 validation_1-rmse:0.19411 +[16] validation_0-rmse:0.21076 validation_1-rmse:0.19117 +[17] validation_0-rmse:0.20882 validation_1-rmse:0.18835 +[18] validation_0-rmse:0.20695 validation_1-rmse:0.18547 +[19] validation_0-rmse:0.20538 validation_1-rmse:0.18292 +[20] validation_0-rmse:0.20345 validation_1-rmse:0.18038 +[21] validation_0-rmse:0.20148 validation_1-rmse:0.17799 +[22] validation_0-rmse:0.19991 validation_1-rmse:0.17569 +[23] validation_0-rmse:0.19832 validation_1-rmse:0.17350 +[24] validation_0-rmse:0.19658 validation_1-rmse:0.17096 +[25] validation_0-rmse:0.19474 validation_1-rmse:0.16879 +[26] validation_0-rmse:0.19292 validation_1-rmse:0.16665 +[27] validation_0-rmse:0.19134 validation_1-rmse:0.16470 +[28] validation_0-rmse:0.19034 validation_1-rmse:0.16253 +[29] validation_0-rmse:0.18882 validation_1-rmse:0.16068 +[30] validation_0-rmse:0.18736 validation_1-rmse:0.15892 +[31] validation_0-rmse:0.18605 validation_1-rmse:0.15690 +[32] validation_0-rmse:0.18481 validation_1-rmse:0.15521 +[33] validation_0-rmse:0.18346 validation_1-rmse:0.15356 +[34] validation_0-rmse:0.18222 validation_1-rmse:0.15188 +[35] validation_0-rmse:0.18095 validation_1-rmse:0.15028 +[36] validation_0-rmse:0.18015 validation_1-rmse:0.14857 +[37] validation_0-rmse:0.17915 validation_1-rmse:0.14713 +[38] validation_0-rmse:0.17817 validation_1-rmse:0.14573 +[39] validation_0-rmse:0.17723 validation_1-rmse:0.14437 +[40] validation_0-rmse:0.17619 validation_1-rmse:0.14308 +[41] validation_0-rmse:0.17509 validation_1-rmse:0.14176 +[42] validation_0-rmse:0.17407 validation_1-rmse:0.14047 +[43] validation_0-rmse:0.17340 validation_1-rmse:0.13921 +[44] validation_0-rmse:0.17245 validation_1-rmse:0.13806 +[45] validation_0-rmse:0.17212 validation_1-rmse:0.13685 +[46] validation_0-rmse:0.17133 validation_1-rmse:0.13577 +[47] validation_0-rmse:0.17064 validation_1-rmse:0.13451 +[48] validation_0-rmse:0.17004 validation_1-rmse:0.13331 +[49] validation_0-rmse:0.16941 validation_1-rmse:0.13222 +[50] validation_0-rmse:0.16858 validation_1-rmse:0.13123 +[51] validation_0-rmse:0.16786 validation_1-rmse:0.13007 +[52] validation_0-rmse:0.16718 validation_1-rmse:0.12912 +[53] validation_0-rmse:0.16651 validation_1-rmse:0.12806 +[54] validation_0-rmse:0.16592 validation_1-rmse:0.12709 +[55] validation_0-rmse:0.16542 validation_1-rmse:0.12604 +[56] validation_0-rmse:0.16479 validation_1-rmse:0.12523 +[57] validation_0-rmse:0.16426 validation_1-rmse:0.12439 +[58] validation_0-rmse:0.16363 validation_1-rmse:0.12352 +[59] validation_0-rmse:0.16325 validation_1-rmse:0.12263 +[60] validation_0-rmse:0.16289 validation_1-rmse:0.12173 +[61] validation_0-rmse:0.16226 validation_1-rmse:0.12099 +[62] validation_0-rmse:0.16176 validation_1-rmse:0.12010 +[63] validation_0-rmse:0.16144 validation_1-rmse:0.11936 +[64] validation_0-rmse:0.16088 validation_1-rmse:0.11862 +[65] validation_0-rmse:0.16030 validation_1-rmse:0.11786 +[66] validation_0-rmse:0.15991 validation_1-rmse:0.11714 +[67] validation_0-rmse:0.15947 validation_1-rmse:0.11640 +[68] validation_0-rmse:0.15912 validation_1-rmse:0.11574 +[69] validation_0-rmse:0.15874 validation_1-rmse:0.11507 +[70] validation_0-rmse:0.15837 validation_1-rmse:0.11430 +[71] validation_0-rmse:0.15798 validation_1-rmse:0.11365 +[72] validation_0-rmse:0.15763 validation_1-rmse:0.11305 +[73] validation_0-rmse:0.15713 validation_1-rmse:0.11250 +[74] validation_0-rmse:0.15648 validation_1-rmse:0.11177 +[75] validation_0-rmse:0.15619 validation_1-rmse:0.11122 +[76] validation_0-rmse:0.15593 validation_1-rmse:0.11066 +[77] validation_0-rmse:0.15562 validation_1-rmse:0.11007 +[78] validation_0-rmse:0.15519 validation_1-rmse:0.10953 +[79] validation_0-rmse:0.15500 validation_1-rmse:0.10883 +[80] validation_0-rmse:0.15461 validation_1-rmse:0.10835 +[81] validation_0-rmse:0.15417 validation_1-rmse:0.10780 +[82] validation_0-rmse:0.15393 validation_1-rmse:0.10742 +[83] validation_0-rmse:0.15395 validation_1-rmse:0.10634 +[84] validation_0-rmse:0.15359 validation_1-rmse:0.10588 +[85] validation_0-rmse:0.15315 validation_1-rmse:0.10539 +[86] validation_0-rmse:0.15315 validation_1-rmse:0.10440 +[87] validation_0-rmse:0.15278 validation_1-rmse:0.10400 +[88] validation_0-rmse:0.15239 validation_1-rmse:0.10353 +[89] validation_0-rmse:0.15200 validation_1-rmse:0.10310 +[90] validation_0-rmse:0.15182 validation_1-rmse:0.10245 +[91] validation_0-rmse:0.15175 validation_1-rmse:0.10182 +[92] validation_0-rmse:0.15139 validation_1-rmse:0.10138 +[93] validation_0-rmse:0.15105 validation_1-rmse:0.10095 +[94] validation_0-rmse:0.15091 validation_1-rmse:0.10056 +[95] validation_0-rmse:0.15088 validation_1-rmse:0.09964 +[96] validation_0-rmse:0.15065 validation_1-rmse:0.09927 +[97] validation_0-rmse:0.15036 validation_1-rmse:0.09888 +[98] validation_0-rmse:0.15021 validation_1-rmse:0.09852 +[99] validation_0-rmse:0.15004 validation_1-rmse:0.09815 +2025-04-29 01:55:21,007 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training BTC/USDT (5.73 secs) -------------------- +2025-04-29 01:55:21,008 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:55:21,504 - freqtrade.freqai.freqai_interface - INFO - Training BTC/USDT, 1/2 pairs from 2025-01-01 00:00:00 to 2025-01-31 00:00:00, 4/11 trains +2025-04-29 01:55:21,505 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_btc_1738281600_prediction.feather +2025-04-29 01:55:21,510 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:21,516 - FreqaiExampleStrategy - INFO - 目标列形状:(28850,) +2025-04-29 01:55:21,517 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.305589 +1 0.003285 50.305589 +2 0.001898 50.305589 +3 0.000484 50.305589 +4 0.001688 50.305589 +2025-04-29 01:55:21,522 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:21,528 - FreqaiExampleStrategy - INFO - 目标列形状:(33650,) +2025-04-29 01:55:21,529 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.168798 +1 0.003285 50.168798 +2 0.001898 50.168798 +3 0.000484 50.168798 +4 0.001688 50.168798 +2025-04-29 01:55:21,533 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-BTC_1738281600/cb_btc_1738281600 +2025-04-29 01:55:21,534 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training BTC/USDT -------------------- +2025-04-29 01:55:21,550 - freqtrade.freqai.data_kitchen - INFO - BTC/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:55:21,550 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-01-01 to 2025-01-30 -------------------- +2025-04-29 01:55:26,605 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 75 features +2025-04-29 01:55:26,606 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.25046 validation_1-rmse:0.26128 +[1] validation_0-rmse:0.24588 validation_1-rmse:0.25570 +[2] validation_0-rmse:0.24156 validation_1-rmse:0.25047 +[3] validation_0-rmse:0.23757 validation_1-rmse:0.24551 +[4] validation_0-rmse:0.23411 validation_1-rmse:0.24075 +[5] validation_0-rmse:0.23029 validation_1-rmse:0.23637 +[6] validation_0-rmse:0.22707 validation_1-rmse:0.23199 +[7] validation_0-rmse:0.22405 validation_1-rmse:0.22801 +[8] validation_0-rmse:0.22083 validation_1-rmse:0.22420 +[9] validation_0-rmse:0.21768 validation_1-rmse:0.22038 +[10] validation_0-rmse:0.21473 validation_1-rmse:0.21674 +[11] validation_0-rmse:0.21187 validation_1-rmse:0.21322 +[12] validation_0-rmse:0.20911 validation_1-rmse:0.20996 +[13] validation_0-rmse:0.20669 validation_1-rmse:0.20679 +[14] validation_0-rmse:0.20441 validation_1-rmse:0.20366 +[15] validation_0-rmse:0.20250 validation_1-rmse:0.20054 +[16] validation_0-rmse:0.20017 validation_1-rmse:0.19757 +[17] validation_0-rmse:0.19804 validation_1-rmse:0.19490 +[18] validation_0-rmse:0.19618 validation_1-rmse:0.19221 +[19] validation_0-rmse:0.19404 validation_1-rmse:0.18954 +[20] validation_0-rmse:0.19209 validation_1-rmse:0.18666 +[21] validation_0-rmse:0.19014 validation_1-rmse:0.18430 +[22] validation_0-rmse:0.18845 validation_1-rmse:0.18197 +[23] validation_0-rmse:0.18653 validation_1-rmse:0.17972 +[24] validation_0-rmse:0.18468 validation_1-rmse:0.17722 +[25] validation_0-rmse:0.18325 validation_1-rmse:0.17491 +[26] validation_0-rmse:0.18152 validation_1-rmse:0.17284 +[27] validation_0-rmse:0.17999 validation_1-rmse:0.17092 +[28] validation_0-rmse:0.17846 validation_1-rmse:0.16892 +[29] validation_0-rmse:0.17696 validation_1-rmse:0.16709 +[30] validation_0-rmse:0.17558 validation_1-rmse:0.16510 +[31] validation_0-rmse:0.17418 validation_1-rmse:0.16335 +[32] validation_0-rmse:0.17293 validation_1-rmse:0.16161 +[33] validation_0-rmse:0.17159 validation_1-rmse:0.16003 +[34] validation_0-rmse:0.17030 validation_1-rmse:0.15831 +[35] validation_0-rmse:0.16907 validation_1-rmse:0.15681 +[36] validation_0-rmse:0.16796 validation_1-rmse:0.15513 +[37] validation_0-rmse:0.16690 validation_1-rmse:0.15349 +[38] validation_0-rmse:0.16580 validation_1-rmse:0.15204 +[39] validation_0-rmse:0.16492 validation_1-rmse:0.15050 +[40] validation_0-rmse:0.16383 validation_1-rmse:0.14918 +[41] validation_0-rmse:0.16281 validation_1-rmse:0.14788 +[42] validation_0-rmse:0.16176 validation_1-rmse:0.14660 +[43] validation_0-rmse:0.16082 validation_1-rmse:0.14516 +[44] validation_0-rmse:0.15990 validation_1-rmse:0.14395 +[45] validation_0-rmse:0.15891 validation_1-rmse:0.14281 +[46] validation_0-rmse:0.15797 validation_1-rmse:0.14168 +[47] validation_0-rmse:0.15712 validation_1-rmse:0.14040 +[48] validation_0-rmse:0.15632 validation_1-rmse:0.13933 +[49] validation_0-rmse:0.15542 validation_1-rmse:0.13821 +[50] validation_0-rmse:0.15458 validation_1-rmse:0.13705 +[51] validation_0-rmse:0.15404 validation_1-rmse:0.13583 +[52] validation_0-rmse:0.15334 validation_1-rmse:0.13483 +[53] validation_0-rmse:0.15256 validation_1-rmse:0.13387 +[54] validation_0-rmse:0.15190 validation_1-rmse:0.13290 +[55] validation_0-rmse:0.15122 validation_1-rmse:0.13174 +[56] validation_0-rmse:0.15065 validation_1-rmse:0.13080 +[57] validation_0-rmse:0.15006 validation_1-rmse:0.12993 +[58] validation_0-rmse:0.14955 validation_1-rmse:0.12897 +[59] validation_0-rmse:0.14893 validation_1-rmse:0.12814 +[60] validation_0-rmse:0.14843 validation_1-rmse:0.12735 +[61] validation_0-rmse:0.14789 validation_1-rmse:0.12642 +[62] validation_0-rmse:0.14718 validation_1-rmse:0.12561 +[63] validation_0-rmse:0.14659 validation_1-rmse:0.12486 +[64] validation_0-rmse:0.14600 validation_1-rmse:0.12397 +[65] validation_0-rmse:0.14547 validation_1-rmse:0.12324 +[66] validation_0-rmse:0.14499 validation_1-rmse:0.12255 +[67] validation_0-rmse:0.14451 validation_1-rmse:0.12188 +[68] validation_0-rmse:0.14393 validation_1-rmse:0.12114 +[69] validation_0-rmse:0.14346 validation_1-rmse:0.12048 +[70] validation_0-rmse:0.14293 validation_1-rmse:0.11974 +[71] validation_0-rmse:0.14256 validation_1-rmse:0.11893 +[72] validation_0-rmse:0.14212 validation_1-rmse:0.11830 +[73] validation_0-rmse:0.14177 validation_1-rmse:0.11748 +[74] validation_0-rmse:0.14134 validation_1-rmse:0.11686 +[75] validation_0-rmse:0.14101 validation_1-rmse:0.11609 +[76] validation_0-rmse:0.14060 validation_1-rmse:0.11536 +[77] validation_0-rmse:0.14020 validation_1-rmse:0.11484 +[78] validation_0-rmse:0.13983 validation_1-rmse:0.11412 +[79] validation_0-rmse:0.13951 validation_1-rmse:0.11357 +[80] validation_0-rmse:0.13928 validation_1-rmse:0.11273 +[81] validation_0-rmse:0.13889 validation_1-rmse:0.11221 +[82] validation_0-rmse:0.13855 validation_1-rmse:0.11166 +[83] validation_0-rmse:0.13824 validation_1-rmse:0.11114 +[84] validation_0-rmse:0.13808 validation_1-rmse:0.11050 +[85] validation_0-rmse:0.13767 validation_1-rmse:0.10998 +[86] validation_0-rmse:0.13731 validation_1-rmse:0.10947 +[87] validation_0-rmse:0.13716 validation_1-rmse:0.10876 +[88] validation_0-rmse:0.13678 validation_1-rmse:0.10832 +[89] validation_0-rmse:0.13659 validation_1-rmse:0.10782 +[90] validation_0-rmse:0.13629 validation_1-rmse:0.10736 +[91] validation_0-rmse:0.13600 validation_1-rmse:0.10662 +[92] validation_0-rmse:0.13577 validation_1-rmse:0.10613 +[93] validation_0-rmse:0.13541 validation_1-rmse:0.10565 +[94] validation_0-rmse:0.13534 validation_1-rmse:0.10501 +[95] validation_0-rmse:0.13511 validation_1-rmse:0.10453 +[96] validation_0-rmse:0.13483 validation_1-rmse:0.10401 +[97] validation_0-rmse:0.13455 validation_1-rmse:0.10362 +[98] validation_0-rmse:0.13425 validation_1-rmse:0.10323 +[99] validation_0-rmse:0.13402 validation_1-rmse:0.10289 +2025-04-29 01:55:27,556 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training BTC/USDT (6.02 secs) -------------------- +2025-04-29 01:55:27,557 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:55:28,076 - freqtrade.freqai.freqai_interface - INFO - Training BTC/USDT, 1/2 pairs from 2025-01-11 00:00:00 to 2025-02-10 00:00:00, 5/11 trains +2025-04-29 01:55:28,077 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_btc_1739145600_prediction.feather +2025-04-29 01:55:28,081 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:28,088 - FreqaiExampleStrategy - INFO - 目标列形状:(33650,) +2025-04-29 01:55:28,089 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.168798 +1 0.003285 50.168798 +2 0.001898 50.168798 +3 0.000484 50.168798 +4 0.001688 50.168798 +2025-04-29 01:55:28,094 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:28,100 - FreqaiExampleStrategy - INFO - 目标列形状:(38450,) +2025-04-29 01:55:28,102 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.167897 +1 0.003285 50.167897 +2 0.001898 50.167897 +3 0.000484 50.167897 +4 0.001688 50.167897 +2025-04-29 01:55:28,106 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-BTC_1739145600/cb_btc_1739145600 +2025-04-29 01:55:28,107 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training BTC/USDT -------------------- +2025-04-29 01:55:28,123 - freqtrade.freqai.data_kitchen - INFO - BTC/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:55:28,124 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-01-11 to 2025-02-09 -------------------- +2025-04-29 01:55:33,123 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 75 features +2025-04-29 01:55:33,124 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.26428 validation_1-rmse:0.27464 +[1] validation_0-rmse:0.25911 validation_1-rmse:0.26865 +[2] validation_0-rmse:0.25427 validation_1-rmse:0.26296 +[3] validation_0-rmse:0.24970 validation_1-rmse:0.25748 +[4] validation_0-rmse:0.24525 validation_1-rmse:0.25222 +[5] validation_0-rmse:0.24140 validation_1-rmse:0.24725 +[6] validation_0-rmse:0.23748 validation_1-rmse:0.24264 +[7] validation_0-rmse:0.23368 validation_1-rmse:0.23792 +[8] validation_0-rmse:0.23022 validation_1-rmse:0.23363 +[9] validation_0-rmse:0.22695 validation_1-rmse:0.22945 +[10] validation_0-rmse:0.22381 validation_1-rmse:0.22543 +[11] validation_0-rmse:0.22105 validation_1-rmse:0.22154 +[12] validation_0-rmse:0.21818 validation_1-rmse:0.21797 +[13] validation_0-rmse:0.21526 validation_1-rmse:0.21430 +[14] validation_0-rmse:0.21284 validation_1-rmse:0.21101 +[15] validation_0-rmse:0.21034 validation_1-rmse:0.20769 +[16] validation_0-rmse:0.20802 validation_1-rmse:0.20438 +[17] validation_0-rmse:0.20590 validation_1-rmse:0.20136 +[18] validation_0-rmse:0.20386 validation_1-rmse:0.19837 +[19] validation_0-rmse:0.20219 validation_1-rmse:0.19549 +[20] validation_0-rmse:0.20037 validation_1-rmse:0.19283 +[21] validation_0-rmse:0.19826 validation_1-rmse:0.19005 +[22] validation_0-rmse:0.19657 validation_1-rmse:0.18750 +[23] validation_0-rmse:0.19525 validation_1-rmse:0.18498 +[24] validation_0-rmse:0.19373 validation_1-rmse:0.18267 +[25] validation_0-rmse:0.19197 validation_1-rmse:0.18037 +[26] validation_0-rmse:0.19063 validation_1-rmse:0.17799 +[27] validation_0-rmse:0.18897 validation_1-rmse:0.17587 +[28] validation_0-rmse:0.18765 validation_1-rmse:0.17382 +[29] validation_0-rmse:0.18608 validation_1-rmse:0.17185 +[30] validation_0-rmse:0.18456 validation_1-rmse:0.16992 +[31] validation_0-rmse:0.18340 validation_1-rmse:0.16793 +[32] validation_0-rmse:0.18206 validation_1-rmse:0.16616 +[33] validation_0-rmse:0.18077 validation_1-rmse:0.16437 +[34] validation_0-rmse:0.17960 validation_1-rmse:0.16270 +[35] validation_0-rmse:0.17857 validation_1-rmse:0.16105 +[36] validation_0-rmse:0.17748 validation_1-rmse:0.15925 +[37] validation_0-rmse:0.17649 validation_1-rmse:0.15762 +[38] validation_0-rmse:0.17540 validation_1-rmse:0.15611 +[39] validation_0-rmse:0.17427 validation_1-rmse:0.15469 +[40] validation_0-rmse:0.17312 validation_1-rmse:0.15301 +[41] validation_0-rmse:0.17217 validation_1-rmse:0.15169 +[42] validation_0-rmse:0.17119 validation_1-rmse:0.15037 +[43] validation_0-rmse:0.17030 validation_1-rmse:0.14910 +[44] validation_0-rmse:0.16939 validation_1-rmse:0.14786 +[45] validation_0-rmse:0.16851 validation_1-rmse:0.14660 +[46] validation_0-rmse:0.16793 validation_1-rmse:0.14518 +[47] validation_0-rmse:0.16760 validation_1-rmse:0.14365 +[48] validation_0-rmse:0.16674 validation_1-rmse:0.14258 +[49] validation_0-rmse:0.16588 validation_1-rmse:0.14152 +[50] validation_0-rmse:0.16505 validation_1-rmse:0.14051 +[51] validation_0-rmse:0.16437 validation_1-rmse:0.13919 +[52] validation_0-rmse:0.16361 validation_1-rmse:0.13818 +[53] validation_0-rmse:0.16290 validation_1-rmse:0.13715 +[54] validation_0-rmse:0.16217 validation_1-rmse:0.13621 +[55] validation_0-rmse:0.16207 validation_1-rmse:0.13493 +[56] validation_0-rmse:0.16153 validation_1-rmse:0.13395 +[57] validation_0-rmse:0.16077 validation_1-rmse:0.13302 +[58] validation_0-rmse:0.16021 validation_1-rmse:0.13218 +[59] validation_0-rmse:0.15972 validation_1-rmse:0.13117 +[60] validation_0-rmse:0.15954 validation_1-rmse:0.13003 +[61] validation_0-rmse:0.15896 validation_1-rmse:0.12926 +[62] validation_0-rmse:0.15849 validation_1-rmse:0.12848 +[63] validation_0-rmse:0.15801 validation_1-rmse:0.12770 +[64] validation_0-rmse:0.15737 validation_1-rmse:0.12678 +[65] validation_0-rmse:0.15736 validation_1-rmse:0.12578 +[66] validation_0-rmse:0.15684 validation_1-rmse:0.12506 +[67] validation_0-rmse:0.15638 validation_1-rmse:0.12437 +[68] validation_0-rmse:0.15618 validation_1-rmse:0.12336 +[69] validation_0-rmse:0.15581 validation_1-rmse:0.12269 +[70] validation_0-rmse:0.15537 validation_1-rmse:0.12205 +[71] validation_0-rmse:0.15534 validation_1-rmse:0.12117 +[72] validation_0-rmse:0.15485 validation_1-rmse:0.12049 +[73] validation_0-rmse:0.15465 validation_1-rmse:0.11968 +[74] validation_0-rmse:0.15430 validation_1-rmse:0.11906 +[75] validation_0-rmse:0.15386 validation_1-rmse:0.11840 +[76] validation_0-rmse:0.15353 validation_1-rmse:0.11781 +[77] validation_0-rmse:0.15354 validation_1-rmse:0.11697 +[78] validation_0-rmse:0.15325 validation_1-rmse:0.11630 +[79] validation_0-rmse:0.15282 validation_1-rmse:0.11572 +[80] validation_0-rmse:0.15239 validation_1-rmse:0.11514 +[81] validation_0-rmse:0.15226 validation_1-rmse:0.11431 +[82] validation_0-rmse:0.15189 validation_1-rmse:0.11381 +[83] validation_0-rmse:0.15171 validation_1-rmse:0.11316 +[84] validation_0-rmse:0.15136 validation_1-rmse:0.11270 +[85] validation_0-rmse:0.15112 validation_1-rmse:0.11212 +[86] validation_0-rmse:0.15112 validation_1-rmse:0.11140 +[87] validation_0-rmse:0.15074 validation_1-rmse:0.11094 +[88] validation_0-rmse:0.15048 validation_1-rmse:0.11035 +[89] validation_0-rmse:0.15026 validation_1-rmse:0.10983 +[90] validation_0-rmse:0.14989 validation_1-rmse:0.10938 +[91] validation_0-rmse:0.14955 validation_1-rmse:0.10893 +[92] validation_0-rmse:0.14955 validation_1-rmse:0.10815 +[93] validation_0-rmse:0.14933 validation_1-rmse:0.10765 +[94] validation_0-rmse:0.14908 validation_1-rmse:0.10711 +[95] validation_0-rmse:0.14889 validation_1-rmse:0.10668 +[96] validation_0-rmse:0.14853 validation_1-rmse:0.10627 +[97] validation_0-rmse:0.14853 validation_1-rmse:0.10553 +[98] validation_0-rmse:0.14835 validation_1-rmse:0.10513 +[99] validation_0-rmse:0.14818 validation_1-rmse:0.10475 +2025-04-29 01:55:33,929 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training BTC/USDT (5.82 secs) -------------------- +2025-04-29 01:55:33,930 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:55:34,433 - freqtrade.freqai.freqai_interface - INFO - Training BTC/USDT, 1/2 pairs from 2025-01-21 00:00:00 to 2025-02-20 00:00:00, 6/11 trains +2025-04-29 01:55:34,434 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_btc_1740009600_prediction.feather +2025-04-29 01:55:34,440 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:34,447 - FreqaiExampleStrategy - INFO - 目标列形状:(38450,) +2025-04-29 01:55:34,448 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.167897 +1 0.003285 50.167897 +2 0.001898 50.167897 +3 0.000484 50.167897 +4 0.001688 50.167897 +2025-04-29 01:55:34,453 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:34,459 - FreqaiExampleStrategy - INFO - 目标列形状:(43250,) +2025-04-29 01:55:34,461 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.107698 +1 0.003285 50.107698 +2 0.001898 50.107698 +3 0.000484 50.107698 +4 0.001688 50.107698 +2025-04-29 01:55:34,465 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-BTC_1740009600/cb_btc_1740009600 +2025-04-29 01:55:34,466 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training BTC/USDT -------------------- +2025-04-29 01:55:34,482 - freqtrade.freqai.data_kitchen - INFO - BTC/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:55:34,483 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-01-21 to 2025-02-19 -------------------- +2025-04-29 01:55:39,369 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 75 features +2025-04-29 01:55:39,370 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.27166 validation_1-rmse:0.27726 +[1] validation_0-rmse:0.26708 validation_1-rmse:0.27112 +[2] validation_0-rmse:0.26297 validation_1-rmse:0.26523 +[3] validation_0-rmse:0.25865 validation_1-rmse:0.25959 +[4] validation_0-rmse:0.25494 validation_1-rmse:0.25419 +[5] validation_0-rmse:0.25100 validation_1-rmse:0.24913 +[6] validation_0-rmse:0.24763 validation_1-rmse:0.24437 +[7] validation_0-rmse:0.24441 validation_1-rmse:0.23970 +[8] validation_0-rmse:0.24110 validation_1-rmse:0.23527 +[9] validation_0-rmse:0.23801 validation_1-rmse:0.23102 +[10] validation_0-rmse:0.23492 validation_1-rmse:0.22691 +[11] validation_0-rmse:0.23229 validation_1-rmse:0.22297 +[12] validation_0-rmse:0.22956 validation_1-rmse:0.21923 +[13] validation_0-rmse:0.22707 validation_1-rmse:0.21564 +[14] validation_0-rmse:0.22482 validation_1-rmse:0.21221 +[15] validation_0-rmse:0.22237 validation_1-rmse:0.20891 +[16] validation_0-rmse:0.22030 validation_1-rmse:0.20557 +[17] validation_0-rmse:0.21784 validation_1-rmse:0.20243 +[18] validation_0-rmse:0.21591 validation_1-rmse:0.19949 +[19] validation_0-rmse:0.21399 validation_1-rmse:0.19664 +[20] validation_0-rmse:0.21182 validation_1-rmse:0.19378 +[21] validation_0-rmse:0.20992 validation_1-rmse:0.19110 +[22] validation_0-rmse:0.20821 validation_1-rmse:0.18850 +[23] validation_0-rmse:0.20621 validation_1-rmse:0.18597 +[24] validation_0-rmse:0.20490 validation_1-rmse:0.18353 +[25] validation_0-rmse:0.20318 validation_1-rmse:0.18126 +[26] validation_0-rmse:0.20168 validation_1-rmse:0.17896 +[27] validation_0-rmse:0.19992 validation_1-rmse:0.17679 +[28] validation_0-rmse:0.19865 validation_1-rmse:0.17458 +[29] validation_0-rmse:0.19722 validation_1-rmse:0.17257 +[30] validation_0-rmse:0.19571 validation_1-rmse:0.17039 +[31] validation_0-rmse:0.19429 validation_1-rmse:0.16855 +[32] validation_0-rmse:0.19285 validation_1-rmse:0.16664 +[33] validation_0-rmse:0.19141 validation_1-rmse:0.16488 +[34] validation_0-rmse:0.19022 validation_1-rmse:0.16312 +[35] validation_0-rmse:0.18904 validation_1-rmse:0.16145 +[36] validation_0-rmse:0.18832 validation_1-rmse:0.15973 +[37] validation_0-rmse:0.18723 validation_1-rmse:0.15815 +[38] validation_0-rmse:0.18610 validation_1-rmse:0.15653 +[39] validation_0-rmse:0.18504 validation_1-rmse:0.15503 +[40] validation_0-rmse:0.18402 validation_1-rmse:0.15358 +[41] validation_0-rmse:0.18333 validation_1-rmse:0.15193 +[42] validation_0-rmse:0.18213 validation_1-rmse:0.15058 +[43] validation_0-rmse:0.18176 validation_1-rmse:0.14922 +[44] validation_0-rmse:0.18093 validation_1-rmse:0.14792 +[45] validation_0-rmse:0.18017 validation_1-rmse:0.14667 +[46] validation_0-rmse:0.17928 validation_1-rmse:0.14537 +[47] validation_0-rmse:0.17858 validation_1-rmse:0.14420 +[48] validation_0-rmse:0.17770 validation_1-rmse:0.14306 +[49] validation_0-rmse:0.17695 validation_1-rmse:0.14199 +[50] validation_0-rmse:0.17613 validation_1-rmse:0.14094 +[51] validation_0-rmse:0.17545 validation_1-rmse:0.13979 +[52] validation_0-rmse:0.17490 validation_1-rmse:0.13874 +[53] validation_0-rmse:0.17452 validation_1-rmse:0.13755 +[54] validation_0-rmse:0.17383 validation_1-rmse:0.13663 +[55] validation_0-rmse:0.17327 validation_1-rmse:0.13568 +[56] validation_0-rmse:0.17255 validation_1-rmse:0.13477 +[57] validation_0-rmse:0.17192 validation_1-rmse:0.13382 +[58] validation_0-rmse:0.17138 validation_1-rmse:0.13277 +[59] validation_0-rmse:0.17074 validation_1-rmse:0.13188 +[60] validation_0-rmse:0.17026 validation_1-rmse:0.13089 +[61] validation_0-rmse:0.16969 validation_1-rmse:0.13010 +[62] validation_0-rmse:0.16932 validation_1-rmse:0.12904 +[63] validation_0-rmse:0.16888 validation_1-rmse:0.12818 +[64] validation_0-rmse:0.16849 validation_1-rmse:0.12745 +[65] validation_0-rmse:0.16802 validation_1-rmse:0.12639 +[66] validation_0-rmse:0.16747 validation_1-rmse:0.12567 +[67] validation_0-rmse:0.16710 validation_1-rmse:0.12496 +[68] validation_0-rmse:0.16672 validation_1-rmse:0.12426 +[69] validation_0-rmse:0.16635 validation_1-rmse:0.12331 +[70] validation_0-rmse:0.16597 validation_1-rmse:0.12267 +[71] validation_0-rmse:0.16554 validation_1-rmse:0.12196 +[72] validation_0-rmse:0.16522 validation_1-rmse:0.12121 +[73] validation_0-rmse:0.16481 validation_1-rmse:0.12054 +[74] validation_0-rmse:0.16442 validation_1-rmse:0.11996 +[75] validation_0-rmse:0.16409 validation_1-rmse:0.11939 +[76] validation_0-rmse:0.16375 validation_1-rmse:0.11878 +[77] validation_0-rmse:0.16275 validation_1-rmse:0.11753 +[78] validation_0-rmse:0.16248 validation_1-rmse:0.11692 +[79] validation_0-rmse:0.16215 validation_1-rmse:0.11619 +[80] validation_0-rmse:0.16187 validation_1-rmse:0.11564 +[81] validation_0-rmse:0.16150 validation_1-rmse:0.11493 +[82] validation_0-rmse:0.16123 validation_1-rmse:0.11438 +[83] validation_0-rmse:0.16109 validation_1-rmse:0.11358 +[84] validation_0-rmse:0.16065 validation_1-rmse:0.11304 +[85] validation_0-rmse:0.16038 validation_1-rmse:0.11256 +[86] validation_0-rmse:0.16022 validation_1-rmse:0.11205 +[87] validation_0-rmse:0.16007 validation_1-rmse:0.11158 +[88] validation_0-rmse:0.15945 validation_1-rmse:0.11054 +[89] validation_0-rmse:0.15912 validation_1-rmse:0.11008 +[90] validation_0-rmse:0.15894 validation_1-rmse:0.10937 +[91] validation_0-rmse:0.15868 validation_1-rmse:0.10886 +[92] validation_0-rmse:0.15845 validation_1-rmse:0.10844 +[93] validation_0-rmse:0.15817 validation_1-rmse:0.10803 +[94] validation_0-rmse:0.15789 validation_1-rmse:0.10758 +[95] validation_0-rmse:0.15772 validation_1-rmse:0.10721 +[96] validation_0-rmse:0.15763 validation_1-rmse:0.10676 +[97] validation_0-rmse:0.15751 validation_1-rmse:0.10609 +[98] validation_0-rmse:0.15731 validation_1-rmse:0.10574 +[99] validation_0-rmse:0.15738 validation_1-rmse:0.10531 +2025-04-29 01:55:40,266 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training BTC/USDT (5.80 secs) -------------------- +2025-04-29 01:55:40,267 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:55:40,801 - freqtrade.freqai.freqai_interface - INFO - Training BTC/USDT, 1/2 pairs from 2025-01-31 00:00:00 to 2025-03-02 00:00:00, 7/11 trains +2025-04-29 01:55:40,802 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_btc_1740873600_prediction.feather +2025-04-29 01:55:40,807 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:40,814 - FreqaiExampleStrategy - INFO - 目标列形状:(43250,) +2025-04-29 01:55:40,816 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.107698 +1 0.003285 50.107698 +2 0.001898 50.107698 +3 0.000484 50.107698 +4 0.001688 50.107698 +2025-04-29 01:55:40,821 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:40,827 - FreqaiExampleStrategy - INFO - 目标列形状:(48050,) +2025-04-29 01:55:40,829 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.079166 +1 0.003285 50.079166 +2 0.001898 50.079166 +3 0.000484 50.079166 +4 0.001688 50.079166 +2025-04-29 01:55:40,833 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-BTC_1740873600/cb_btc_1740873600 +2025-04-29 01:55:40,834 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training BTC/USDT -------------------- +2025-04-29 01:55:40,849 - freqtrade.freqai.data_kitchen - INFO - BTC/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:55:40,850 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-01-31 to 2025-03-01 -------------------- +2025-04-29 01:55:45,643 - datasieve.pipeline - INFO - DI tossed 2275 predictions for being too far from training data. +2025-04-29 01:55:45,646 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 75 features +2025-04-29 01:55:45,647 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.27618 validation_1-rmse:0.28955 +[1] validation_0-rmse:0.27005 validation_1-rmse:0.28323 +[2] validation_0-rmse:0.26414 validation_1-rmse:0.27722 +[3] validation_0-rmse:0.25897 validation_1-rmse:0.27161 +[4] validation_0-rmse:0.25425 validation_1-rmse:0.26622 +[5] validation_0-rmse:0.24886 validation_1-rmse:0.26100 +[6] validation_0-rmse:0.24522 validation_1-rmse:0.25606 +[7] validation_0-rmse:0.24137 validation_1-rmse:0.25132 +[8] validation_0-rmse:0.23765 validation_1-rmse:0.24687 +[9] validation_0-rmse:0.23323 validation_1-rmse:0.24254 +[10] validation_0-rmse:0.22900 validation_1-rmse:0.23827 +[11] validation_0-rmse:0.22588 validation_1-rmse:0.23450 +[12] validation_0-rmse:0.22228 validation_1-rmse:0.23055 +[13] validation_0-rmse:0.21872 validation_1-rmse:0.22698 +[14] validation_0-rmse:0.21492 validation_1-rmse:0.22348 +[15] validation_0-rmse:0.21329 validation_1-rmse:0.22011 +[16] validation_0-rmse:0.21024 validation_1-rmse:0.21686 +[17] validation_0-rmse:0.20823 validation_1-rmse:0.21380 +[18] validation_0-rmse:0.20544 validation_1-rmse:0.21075 +[19] validation_0-rmse:0.20415 validation_1-rmse:0.20787 +[20] validation_0-rmse:0.20143 validation_1-rmse:0.20515 +[21] validation_0-rmse:0.19917 validation_1-rmse:0.20247 +[22] validation_0-rmse:0.19745 validation_1-rmse:0.19994 +[23] validation_0-rmse:0.19508 validation_1-rmse:0.19746 +[24] validation_0-rmse:0.19300 validation_1-rmse:0.19490 +[25] validation_0-rmse:0.19085 validation_1-rmse:0.19254 +[26] validation_0-rmse:0.18898 validation_1-rmse:0.19031 +[27] validation_0-rmse:0.18720 validation_1-rmse:0.18794 +[28] validation_0-rmse:0.18503 validation_1-rmse:0.18584 +[29] validation_0-rmse:0.18314 validation_1-rmse:0.18382 +[30] validation_0-rmse:0.18132 validation_1-rmse:0.18164 +[31] validation_0-rmse:0.17984 validation_1-rmse:0.17967 +[32] validation_0-rmse:0.17818 validation_1-rmse:0.17779 +[33] validation_0-rmse:0.17637 validation_1-rmse:0.17572 +[34] validation_0-rmse:0.17473 validation_1-rmse:0.17399 +[35] validation_0-rmse:0.17338 validation_1-rmse:0.17229 +[36] validation_0-rmse:0.17253 validation_1-rmse:0.17055 +[37] validation_0-rmse:0.17149 validation_1-rmse:0.16883 +[38] validation_0-rmse:0.17030 validation_1-rmse:0.16730 +[39] validation_0-rmse:0.16950 validation_1-rmse:0.16556 +[40] validation_0-rmse:0.16815 validation_1-rmse:0.16412 +[41] validation_0-rmse:0.16704 validation_1-rmse:0.16268 +[42] validation_0-rmse:0.16617 validation_1-rmse:0.16128 +[43] validation_0-rmse:0.16542 validation_1-rmse:0.15970 +[44] validation_0-rmse:0.16438 validation_1-rmse:0.15840 +[45] validation_0-rmse:0.16356 validation_1-rmse:0.15692 +[46] validation_0-rmse:0.16239 validation_1-rmse:0.15574 +[47] validation_0-rmse:0.16153 validation_1-rmse:0.15456 +[48] validation_0-rmse:0.16076 validation_1-rmse:0.15314 +[49] validation_0-rmse:0.15998 validation_1-rmse:0.15201 +[50] validation_0-rmse:0.15946 validation_1-rmse:0.15084 +[51] validation_0-rmse:0.15891 validation_1-rmse:0.14954 +[52] validation_0-rmse:0.15834 validation_1-rmse:0.14847 +[53] validation_0-rmse:0.15764 validation_1-rmse:0.14722 +[54] validation_0-rmse:0.15707 validation_1-rmse:0.14623 +[55] validation_0-rmse:0.15653 validation_1-rmse:0.14527 +[56] validation_0-rmse:0.15583 validation_1-rmse:0.14434 +[57] validation_0-rmse:0.15549 validation_1-rmse:0.14329 +[58] validation_0-rmse:0.15507 validation_1-rmse:0.14241 +[59] validation_0-rmse:0.15468 validation_1-rmse:0.14053 +[60] validation_0-rmse:0.15398 validation_1-rmse:0.13968 +[61] validation_0-rmse:0.15390 validation_1-rmse:0.13864 +[62] validation_0-rmse:0.15360 validation_1-rmse:0.13783 +[63] validation_0-rmse:0.15368 validation_1-rmse:0.13704 +[64] validation_0-rmse:0.15338 validation_1-rmse:0.13624 +[65] validation_0-rmse:0.15273 validation_1-rmse:0.13551 +[66] validation_0-rmse:0.15238 validation_1-rmse:0.13451 +[67] validation_0-rmse:0.15212 validation_1-rmse:0.13290 +[68] validation_0-rmse:0.15191 validation_1-rmse:0.13217 +[69] validation_0-rmse:0.15138 validation_1-rmse:0.13143 +[70] validation_0-rmse:0.15090 validation_1-rmse:0.13071 +[71] validation_0-rmse:0.15082 validation_1-rmse:0.13001 +[72] validation_0-rmse:0.14988 validation_1-rmse:0.12847 +[73] validation_0-rmse:0.14953 validation_1-rmse:0.12783 +[74] validation_0-rmse:0.14924 validation_1-rmse:0.12709 +[75] validation_0-rmse:0.14926 validation_1-rmse:0.12578 +[76] validation_0-rmse:0.14903 validation_1-rmse:0.12499 +[77] validation_0-rmse:0.14851 validation_1-rmse:0.12435 +[78] validation_0-rmse:0.14808 validation_1-rmse:0.12368 +[79] validation_0-rmse:0.14768 validation_1-rmse:0.12305 +[80] validation_0-rmse:0.14741 validation_1-rmse:0.12217 +[81] validation_0-rmse:0.14712 validation_1-rmse:0.12165 +[82] validation_0-rmse:0.14696 validation_1-rmse:0.12110 +[83] validation_0-rmse:0.14686 validation_1-rmse:0.12045 +[84] validation_0-rmse:0.14648 validation_1-rmse:0.11984 +[85] validation_0-rmse:0.14623 validation_1-rmse:0.11923 +[86] validation_0-rmse:0.14606 validation_1-rmse:0.11869 +[87] validation_0-rmse:0.14583 validation_1-rmse:0.11754 +[88] validation_0-rmse:0.14572 validation_1-rmse:0.11710 +[89] validation_0-rmse:0.14537 validation_1-rmse:0.11660 +[90] validation_0-rmse:0.14510 validation_1-rmse:0.11614 +[91] validation_0-rmse:0.14516 validation_1-rmse:0.11514 +[92] validation_0-rmse:0.14480 validation_1-rmse:0.11455 +[93] validation_0-rmse:0.14475 validation_1-rmse:0.11414 +[94] validation_0-rmse:0.14443 validation_1-rmse:0.11374 +[95] validation_0-rmse:0.14409 validation_1-rmse:0.11331 +[96] validation_0-rmse:0.14391 validation_1-rmse:0.11240 +[97] validation_0-rmse:0.14303 validation_1-rmse:0.11154 +[98] validation_0-rmse:0.14274 validation_1-rmse:0.11114 +[99] validation_0-rmse:0.14246 validation_1-rmse:0.11071 +2025-04-29 01:55:46,544 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training BTC/USDT (5.71 secs) -------------------- +2025-04-29 01:55:46,544 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:55:47,092 - freqtrade.freqai.freqai_interface - INFO - Training BTC/USDT, 1/2 pairs from 2025-02-10 00:00:00 to 2025-03-12 00:00:00, 8/11 trains +2025-04-29 01:55:47,092 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_btc_1741737600_prediction.feather +2025-04-29 01:55:47,100 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:47,107 - FreqaiExampleStrategy - INFO - 目标列形状:(48050,) +2025-04-29 01:55:47,109 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.079166 +1 0.003285 50.079166 +2 0.001898 50.079166 +3 0.000484 50.079166 +4 0.001688 50.079166 +2025-04-29 01:55:47,115 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:47,122 - FreqaiExampleStrategy - INFO - 目标列形状:(52850,) +2025-04-29 01:55:47,123 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.102027 +1 0.003285 50.102027 +2 0.001898 50.102027 +3 0.000484 50.102027 +4 0.001688 50.102027 +2025-04-29 01:55:47,128 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-BTC_1741737600/cb_btc_1741737600 +2025-04-29 01:55:47,129 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training BTC/USDT -------------------- +2025-04-29 01:55:47,145 - freqtrade.freqai.data_kitchen - INFO - BTC/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:55:47,145 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-02-10 to 2025-03-11 -------------------- +2025-04-29 01:55:51,987 - datasieve.pipeline - INFO - DI tossed 18 predictions for being too far from training data. +2025-04-29 01:55:51,989 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 75 features +2025-04-29 01:55:51,989 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.26738 validation_1-rmse:0.26816 +[1] validation_0-rmse:0.26268 validation_1-rmse:0.26258 +[2] validation_0-rmse:0.25808 validation_1-rmse:0.25725 +[3] validation_0-rmse:0.25395 validation_1-rmse:0.25212 +[4] validation_0-rmse:0.24987 validation_1-rmse:0.24723 +[5] validation_0-rmse:0.24633 validation_1-rmse:0.24263 +[6] validation_0-rmse:0.24308 validation_1-rmse:0.23814 +[7] validation_0-rmse:0.23959 validation_1-rmse:0.23402 +[8] validation_0-rmse:0.23612 validation_1-rmse:0.22977 +[9] validation_0-rmse:0.23322 validation_1-rmse:0.22577 +[10] validation_0-rmse:0.23012 validation_1-rmse:0.22207 +[11] validation_0-rmse:0.22730 validation_1-rmse:0.21843 +[12] validation_0-rmse:0.22453 validation_1-rmse:0.21489 +[13] validation_0-rmse:0.22236 validation_1-rmse:0.21145 +[14] validation_0-rmse:0.22000 validation_1-rmse:0.20841 +[15] validation_0-rmse:0.21744 validation_1-rmse:0.20529 +[16] validation_0-rmse:0.21556 validation_1-rmse:0.20225 +[17] validation_0-rmse:0.21331 validation_1-rmse:0.19932 +[18] validation_0-rmse:0.21171 validation_1-rmse:0.19643 +[19] validation_0-rmse:0.21051 validation_1-rmse:0.19382 +[20] validation_0-rmse:0.20880 validation_1-rmse:0.19128 +[21] validation_0-rmse:0.20711 validation_1-rmse:0.18854 +[22] validation_0-rmse:0.20538 validation_1-rmse:0.18612 +[23] validation_0-rmse:0.20350 validation_1-rmse:0.18381 +[24] validation_0-rmse:0.20234 validation_1-rmse:0.18144 +[25] validation_0-rmse:0.20081 validation_1-rmse:0.17917 +[26] validation_0-rmse:0.19918 validation_1-rmse:0.17714 +[27] validation_0-rmse:0.19804 validation_1-rmse:0.17496 +[28] validation_0-rmse:0.19662 validation_1-rmse:0.17304 +[29] validation_0-rmse:0.19580 validation_1-rmse:0.17082 +[30] validation_0-rmse:0.19454 validation_1-rmse:0.16901 +[31] validation_0-rmse:0.19331 validation_1-rmse:0.16691 +[32] validation_0-rmse:0.19234 validation_1-rmse:0.16517 +[33] validation_0-rmse:0.19118 validation_1-rmse:0.16354 +[34] validation_0-rmse:0.19024 validation_1-rmse:0.16175 +[35] validation_0-rmse:0.18915 validation_1-rmse:0.16020 +[36] validation_0-rmse:0.18823 validation_1-rmse:0.15865 +[37] validation_0-rmse:0.18756 validation_1-rmse:0.15712 +[38] validation_0-rmse:0.18698 validation_1-rmse:0.15541 +[39] validation_0-rmse:0.18643 validation_1-rmse:0.15395 +[40] validation_0-rmse:0.18562 validation_1-rmse:0.15265 +[41] validation_0-rmse:0.18516 validation_1-rmse:0.15124 +[42] validation_0-rmse:0.18421 validation_1-rmse:0.14979 +[43] validation_0-rmse:0.18360 validation_1-rmse:0.14850 +[44] validation_0-rmse:0.18275 validation_1-rmse:0.14733 +[45] validation_0-rmse:0.18253 validation_1-rmse:0.14597 +[46] validation_0-rmse:0.18183 validation_1-rmse:0.14470 +[47] validation_0-rmse:0.18111 validation_1-rmse:0.14361 +[48] validation_0-rmse:0.18060 validation_1-rmse:0.14243 +[49] validation_0-rmse:0.18001 validation_1-rmse:0.14134 +[50] validation_0-rmse:0.17953 validation_1-rmse:0.14030 +[51] validation_0-rmse:0.17899 validation_1-rmse:0.13927 +[52] validation_0-rmse:0.17830 validation_1-rmse:0.13817 +[53] validation_0-rmse:0.17770 validation_1-rmse:0.13720 +[54] validation_0-rmse:0.17702 validation_1-rmse:0.13629 +[55] validation_0-rmse:0.17650 validation_1-rmse:0.13531 +[56] validation_0-rmse:0.17625 validation_1-rmse:0.13440 +[57] validation_0-rmse:0.17580 validation_1-rmse:0.13352 +[58] validation_0-rmse:0.17530 validation_1-rmse:0.13268 +[59] validation_0-rmse:0.17486 validation_1-rmse:0.13166 +[60] validation_0-rmse:0.17438 validation_1-rmse:0.13071 +[61] validation_0-rmse:0.17387 validation_1-rmse:0.12991 +[62] validation_0-rmse:0.17356 validation_1-rmse:0.12914 +[63] validation_0-rmse:0.17311 validation_1-rmse:0.12839 +[64] validation_0-rmse:0.17265 validation_1-rmse:0.12767 +[65] validation_0-rmse:0.17209 validation_1-rmse:0.12682 +[66] validation_0-rmse:0.17197 validation_1-rmse:0.12595 +[67] validation_0-rmse:0.17157 validation_1-rmse:0.12506 +[68] validation_0-rmse:0.17131 validation_1-rmse:0.12439 +[69] validation_0-rmse:0.17088 validation_1-rmse:0.12371 +[70] validation_0-rmse:0.17038 validation_1-rmse:0.12298 +[71] validation_0-rmse:0.17009 validation_1-rmse:0.12235 +[72] validation_0-rmse:0.16979 validation_1-rmse:0.12172 +[73] validation_0-rmse:0.16934 validation_1-rmse:0.12118 +[74] validation_0-rmse:0.16902 validation_1-rmse:0.12050 +[75] validation_0-rmse:0.16881 validation_1-rmse:0.11988 +[76] validation_0-rmse:0.16846 validation_1-rmse:0.11928 +[77] validation_0-rmse:0.16809 validation_1-rmse:0.11846 +[78] validation_0-rmse:0.16774 validation_1-rmse:0.11791 +[79] validation_0-rmse:0.16745 validation_1-rmse:0.11738 +[80] validation_0-rmse:0.16717 validation_1-rmse:0.11683 +[81] validation_0-rmse:0.16702 validation_1-rmse:0.11599 +[82] validation_0-rmse:0.16677 validation_1-rmse:0.11535 +[83] validation_0-rmse:0.16649 validation_1-rmse:0.11468 +[84] validation_0-rmse:0.16605 validation_1-rmse:0.11415 +[85] validation_0-rmse:0.16591 validation_1-rmse:0.11350 +[86] validation_0-rmse:0.16560 validation_1-rmse:0.11303 +[87] validation_0-rmse:0.16531 validation_1-rmse:0.11259 +[88] validation_0-rmse:0.16504 validation_1-rmse:0.11185 +[89] validation_0-rmse:0.16485 validation_1-rmse:0.11134 +[90] validation_0-rmse:0.16463 validation_1-rmse:0.11083 +[91] validation_0-rmse:0.16436 validation_1-rmse:0.11041 +[92] validation_0-rmse:0.16412 validation_1-rmse:0.10988 +[93] validation_0-rmse:0.16388 validation_1-rmse:0.10942 +[94] validation_0-rmse:0.16391 validation_1-rmse:0.10881 +[95] validation_0-rmse:0.16357 validation_1-rmse:0.10838 +[96] validation_0-rmse:0.16358 validation_1-rmse:0.10796 +[97] validation_0-rmse:0.16338 validation_1-rmse:0.10756 +[98] validation_0-rmse:0.16339 validation_1-rmse:0.10688 +[99] validation_0-rmse:0.16321 validation_1-rmse:0.10649 +2025-04-29 01:55:52,741 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training BTC/USDT (5.61 secs) -------------------- +2025-04-29 01:55:52,742 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:55:53,285 - freqtrade.freqai.freqai_interface - INFO - Training BTC/USDT, 1/2 pairs from 2025-02-20 00:00:00 to 2025-03-22 00:00:00, 9/11 trains +2025-04-29 01:55:53,286 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_btc_1742601600_prediction.feather +2025-04-29 01:55:53,291 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:53,298 - FreqaiExampleStrategy - INFO - 目标列形状:(52850,) +2025-04-29 01:55:53,300 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.102027 +1 0.003285 50.102027 +2 0.001898 50.102027 +3 0.000484 50.102027 +4 0.001688 50.102027 +2025-04-29 01:55:53,309 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:53,316 - FreqaiExampleStrategy - INFO - 目标列形状:(57650,) +2025-04-29 01:55:53,318 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.079967 +1 0.003285 50.079967 +2 0.001898 50.079967 +3 0.000484 50.079967 +4 0.001688 50.079967 +2025-04-29 01:55:53,322 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-BTC_1742601600/cb_btc_1742601600 +2025-04-29 01:55:53,323 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training BTC/USDT -------------------- +2025-04-29 01:55:53,339 - freqtrade.freqai.data_kitchen - INFO - BTC/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:55:53,340 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-02-20 to 2025-03-21 -------------------- +2025-04-29 01:55:58,184 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 75 features +2025-04-29 01:55:58,185 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.26992 validation_1-rmse:0.26756 +[1] validation_0-rmse:0.26551 validation_1-rmse:0.26201 +[2] validation_0-rmse:0.26111 validation_1-rmse:0.25656 +[3] validation_0-rmse:0.25690 validation_1-rmse:0.25154 +[4] validation_0-rmse:0.25291 validation_1-rmse:0.24683 +[5] validation_0-rmse:0.24933 validation_1-rmse:0.24228 +[6] validation_0-rmse:0.24598 validation_1-rmse:0.23796 +[7] validation_0-rmse:0.24252 validation_1-rmse:0.23392 +[8] validation_0-rmse:0.23953 validation_1-rmse:0.22978 +[9] validation_0-rmse:0.23634 validation_1-rmse:0.22592 +[10] validation_0-rmse:0.23330 validation_1-rmse:0.22229 +[11] validation_0-rmse:0.23059 validation_1-rmse:0.21875 +[12] validation_0-rmse:0.22799 validation_1-rmse:0.21546 +[13] validation_0-rmse:0.22565 validation_1-rmse:0.21212 +[14] validation_0-rmse:0.22329 validation_1-rmse:0.20904 +[15] validation_0-rmse:0.22111 validation_1-rmse:0.20604 +[16] validation_0-rmse:0.21894 validation_1-rmse:0.20318 +[17] validation_0-rmse:0.21715 validation_1-rmse:0.20021 +[18] validation_0-rmse:0.21499 validation_1-rmse:0.19735 +[19] validation_0-rmse:0.21283 validation_1-rmse:0.19480 +[20] validation_0-rmse:0.21109 validation_1-rmse:0.19209 +[21] validation_0-rmse:0.20904 validation_1-rmse:0.18969 +[22] validation_0-rmse:0.20762 validation_1-rmse:0.18718 +[23] validation_0-rmse:0.20580 validation_1-rmse:0.18498 +[24] validation_0-rmse:0.20434 validation_1-rmse:0.18262 +[25] validation_0-rmse:0.20267 validation_1-rmse:0.18048 +[26] validation_0-rmse:0.20106 validation_1-rmse:0.17844 +[27] validation_0-rmse:0.19945 validation_1-rmse:0.17647 +[28] validation_0-rmse:0.19813 validation_1-rmse:0.17443 +[29] validation_0-rmse:0.19669 validation_1-rmse:0.17264 +[30] validation_0-rmse:0.19541 validation_1-rmse:0.17054 +[31] validation_0-rmse:0.19401 validation_1-rmse:0.16881 +[32] validation_0-rmse:0.19263 validation_1-rmse:0.16719 +[33] validation_0-rmse:0.19134 validation_1-rmse:0.16560 +[34] validation_0-rmse:0.18996 validation_1-rmse:0.16365 +[35] validation_0-rmse:0.18864 validation_1-rmse:0.16211 +[36] validation_0-rmse:0.18752 validation_1-rmse:0.16069 +[37] validation_0-rmse:0.18652 validation_1-rmse:0.15898 +[38] validation_0-rmse:0.18540 validation_1-rmse:0.15751 +[39] validation_0-rmse:0.18429 validation_1-rmse:0.15616 +[40] validation_0-rmse:0.18317 validation_1-rmse:0.15475 +[41] validation_0-rmse:0.18215 validation_1-rmse:0.15324 +[42] validation_0-rmse:0.18119 validation_1-rmse:0.15199 +[43] validation_0-rmse:0.18008 validation_1-rmse:0.15057 +[44] validation_0-rmse:0.17926 validation_1-rmse:0.14942 +[45] validation_0-rmse:0.17841 validation_1-rmse:0.14813 +[46] validation_0-rmse:0.17755 validation_1-rmse:0.14700 +[47] validation_0-rmse:0.17672 validation_1-rmse:0.14572 +[48] validation_0-rmse:0.17586 validation_1-rmse:0.14466 +[49] validation_0-rmse:0.17511 validation_1-rmse:0.14354 +[50] validation_0-rmse:0.17440 validation_1-rmse:0.14236 +[51] validation_0-rmse:0.17354 validation_1-rmse:0.14130 +[52] validation_0-rmse:0.17281 validation_1-rmse:0.14035 +[53] validation_0-rmse:0.17210 validation_1-rmse:0.13942 +[54] validation_0-rmse:0.17136 validation_1-rmse:0.13843 +[55] validation_0-rmse:0.17045 validation_1-rmse:0.13715 +[56] validation_0-rmse:0.16971 validation_1-rmse:0.13629 +[57] validation_0-rmse:0.16900 validation_1-rmse:0.13511 +[58] validation_0-rmse:0.16834 validation_1-rmse:0.13426 +[59] validation_0-rmse:0.16763 validation_1-rmse:0.13323 +[60] validation_0-rmse:0.16702 validation_1-rmse:0.13242 +[61] validation_0-rmse:0.16639 validation_1-rmse:0.13164 +[62] validation_0-rmse:0.16586 validation_1-rmse:0.13079 +[63] validation_0-rmse:0.16527 validation_1-rmse:0.13006 +[64] validation_0-rmse:0.16458 validation_1-rmse:0.12914 +[65] validation_0-rmse:0.16396 validation_1-rmse:0.12841 +[66] validation_0-rmse:0.16332 validation_1-rmse:0.12742 +[67] validation_0-rmse:0.16290 validation_1-rmse:0.12665 +[68] validation_0-rmse:0.16248 validation_1-rmse:0.12584 +[69] validation_0-rmse:0.16192 validation_1-rmse:0.12503 +[70] validation_0-rmse:0.16128 validation_1-rmse:0.12435 +[71] validation_0-rmse:0.16078 validation_1-rmse:0.12371 +[72] validation_0-rmse:0.16032 validation_1-rmse:0.12311 +[73] validation_0-rmse:0.15998 validation_1-rmse:0.12241 +[74] validation_0-rmse:0.15959 validation_1-rmse:0.12184 +[75] validation_0-rmse:0.15922 validation_1-rmse:0.12121 +[76] validation_0-rmse:0.15877 validation_1-rmse:0.12064 +[77] validation_0-rmse:0.15830 validation_1-rmse:0.11981 +[78] validation_0-rmse:0.15791 validation_1-rmse:0.11927 +[79] validation_0-rmse:0.15751 validation_1-rmse:0.11859 +[80] validation_0-rmse:0.15716 validation_1-rmse:0.11795 +[81] validation_0-rmse:0.15680 validation_1-rmse:0.11740 +[82] validation_0-rmse:0.15624 validation_1-rmse:0.11683 +[83] validation_0-rmse:0.15578 validation_1-rmse:0.11632 +[84] validation_0-rmse:0.15553 validation_1-rmse:0.11586 +[85] validation_0-rmse:0.15471 validation_1-rmse:0.11513 +[86] validation_0-rmse:0.15444 validation_1-rmse:0.11465 +[87] validation_0-rmse:0.15417 validation_1-rmse:0.11406 +[88] validation_0-rmse:0.15387 validation_1-rmse:0.11359 +[89] validation_0-rmse:0.15359 validation_1-rmse:0.11319 +[90] validation_0-rmse:0.15332 validation_1-rmse:0.11269 +[91] validation_0-rmse:0.15301 validation_1-rmse:0.11221 +[92] validation_0-rmse:0.15258 validation_1-rmse:0.11176 +[93] validation_0-rmse:0.15231 validation_1-rmse:0.11135 +[94] validation_0-rmse:0.15202 validation_1-rmse:0.11093 +[95] validation_0-rmse:0.15185 validation_1-rmse:0.11041 +[96] validation_0-rmse:0.15173 validation_1-rmse:0.11000 +[97] validation_0-rmse:0.15150 validation_1-rmse:0.10961 +[98] validation_0-rmse:0.15114 validation_1-rmse:0.10917 +[99] validation_0-rmse:0.15096 validation_1-rmse:0.10882 +2025-04-29 01:55:59,097 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training BTC/USDT (5.77 secs) -------------------- +2025-04-29 01:55:59,098 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:55:59,706 - freqtrade.freqai.freqai_interface - INFO - Training BTC/USDT, 1/2 pairs from 2025-03-02 00:00:00 to 2025-04-01 00:00:00, 10/11 trains +2025-04-29 01:55:59,706 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_btc_1743465600_prediction.feather +2025-04-29 01:55:59,715 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:59,723 - FreqaiExampleStrategy - INFO - 目标列形状:(57650,) +2025-04-29 01:55:59,725 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.079967 +1 0.003285 50.079967 +2 0.001898 50.079967 +3 0.000484 50.079967 +4 0.001688 50.079967 +2025-04-29 01:55:59,732 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:59,739 - FreqaiExampleStrategy - INFO - 目标列形状:(62450,) +2025-04-29 01:55:59,741 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.024153 +1 0.003285 50.024153 +2 0.001898 50.024153 +3 0.000484 50.024153 +4 0.001688 50.024153 +2025-04-29 01:55:59,745 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-BTC_1743465600/cb_btc_1743465600 +2025-04-29 01:55:59,746 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training BTC/USDT -------------------- +2025-04-29 01:55:59,762 - freqtrade.freqai.data_kitchen - INFO - BTC/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:55:59,762 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-03-02 to 2025-03-31 -------------------- +2025-04-29 01:56:04,571 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 75 features +2025-04-29 01:56:04,571 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.28468 validation_1-rmse:0.28491 +[1] validation_0-rmse:0.27961 validation_1-rmse:0.27914 +[2] validation_0-rmse:0.27524 validation_1-rmse:0.27370 +[3] validation_0-rmse:0.27054 validation_1-rmse:0.26858 +[4] validation_0-rmse:0.26601 validation_1-rmse:0.26362 +[5] validation_0-rmse:0.26219 validation_1-rmse:0.25896 +[6] validation_0-rmse:0.25814 validation_1-rmse:0.25450 +[7] validation_0-rmse:0.25500 validation_1-rmse:0.25026 +[8] validation_0-rmse:0.25145 validation_1-rmse:0.24602 +[9] validation_0-rmse:0.24843 validation_1-rmse:0.24213 +[10] validation_0-rmse:0.24527 validation_1-rmse:0.23824 +[11] validation_0-rmse:0.24238 validation_1-rmse:0.23440 +[12] validation_0-rmse:0.23940 validation_1-rmse:0.23096 +[13] validation_0-rmse:0.23630 validation_1-rmse:0.22764 +[14] validation_0-rmse:0.23385 validation_1-rmse:0.22440 +[15] validation_0-rmse:0.23099 validation_1-rmse:0.22128 +[16] validation_0-rmse:0.22865 validation_1-rmse:0.21801 +[17] validation_0-rmse:0.22620 validation_1-rmse:0.21515 +[18] validation_0-rmse:0.22375 validation_1-rmse:0.21210 +[19] validation_0-rmse:0.22142 validation_1-rmse:0.20925 +[20] validation_0-rmse:0.21927 validation_1-rmse:0.20663 +[21] validation_0-rmse:0.21720 validation_1-rmse:0.20416 +[22] validation_0-rmse:0.21528 validation_1-rmse:0.20170 +[23] validation_0-rmse:0.21330 validation_1-rmse:0.19913 +[24] validation_0-rmse:0.21136 validation_1-rmse:0.19693 +[25] validation_0-rmse:0.21002 validation_1-rmse:0.19438 +[26] validation_0-rmse:0.20807 validation_1-rmse:0.19222 +[27] validation_0-rmse:0.20636 validation_1-rmse:0.19016 +[28] validation_0-rmse:0.20439 validation_1-rmse:0.18763 +[29] validation_0-rmse:0.20276 validation_1-rmse:0.18559 +[30] validation_0-rmse:0.20114 validation_1-rmse:0.18380 +[31] validation_0-rmse:0.19965 validation_1-rmse:0.18163 +[32] validation_0-rmse:0.19833 validation_1-rmse:0.17955 +[33] validation_0-rmse:0.19688 validation_1-rmse:0.17782 +[34] validation_0-rmse:0.19558 validation_1-rmse:0.17614 +[35] validation_0-rmse:0.19420 validation_1-rmse:0.17451 +[36] validation_0-rmse:0.19297 validation_1-rmse:0.17293 +[37] validation_0-rmse:0.19169 validation_1-rmse:0.17111 +[38] validation_0-rmse:0.19038 validation_1-rmse:0.16943 +[39] validation_0-rmse:0.18941 validation_1-rmse:0.16798 +[40] validation_0-rmse:0.18828 validation_1-rmse:0.16657 +[41] validation_0-rmse:0.18724 validation_1-rmse:0.16485 +[42] validation_0-rmse:0.18620 validation_1-rmse:0.16347 +[43] validation_0-rmse:0.18525 validation_1-rmse:0.16204 +[44] validation_0-rmse:0.18429 validation_1-rmse:0.16073 +[45] validation_0-rmse:0.18324 validation_1-rmse:0.15951 +[46] validation_0-rmse:0.18250 validation_1-rmse:0.15797 +[47] validation_0-rmse:0.18157 validation_1-rmse:0.15682 +[48] validation_0-rmse:0.18069 validation_1-rmse:0.15566 +[49] validation_0-rmse:0.18002 validation_1-rmse:0.15440 +[50] validation_0-rmse:0.17914 validation_1-rmse:0.15322 +[51] validation_0-rmse:0.17842 validation_1-rmse:0.15220 +[52] validation_0-rmse:0.17756 validation_1-rmse:0.15107 +[53] validation_0-rmse:0.17668 validation_1-rmse:0.15007 +[54] validation_0-rmse:0.17596 validation_1-rmse:0.14866 +[55] validation_0-rmse:0.17525 validation_1-rmse:0.14775 +[56] validation_0-rmse:0.17467 validation_1-rmse:0.14653 +[57] validation_0-rmse:0.17390 validation_1-rmse:0.14564 +[58] validation_0-rmse:0.17326 validation_1-rmse:0.14478 +[59] validation_0-rmse:0.17273 validation_1-rmse:0.14356 +[60] validation_0-rmse:0.17218 validation_1-rmse:0.14269 +[61] validation_0-rmse:0.17157 validation_1-rmse:0.14186 +[62] validation_0-rmse:0.17120 validation_1-rmse:0.14083 +[63] validation_0-rmse:0.17069 validation_1-rmse:0.14002 +[64] validation_0-rmse:0.17012 validation_1-rmse:0.13912 +[65] validation_0-rmse:0.16942 validation_1-rmse:0.13834 +[66] validation_0-rmse:0.16914 validation_1-rmse:0.13720 +[67] validation_0-rmse:0.16856 validation_1-rmse:0.13648 +[68] validation_0-rmse:0.16800 validation_1-rmse:0.13569 +[69] validation_0-rmse:0.16796 validation_1-rmse:0.13472 +[70] validation_0-rmse:0.16737 validation_1-rmse:0.13405 +[71] validation_0-rmse:0.16686 validation_1-rmse:0.13342 +[72] validation_0-rmse:0.16639 validation_1-rmse:0.13270 +[73] validation_0-rmse:0.16648 validation_1-rmse:0.13149 +[74] validation_0-rmse:0.16609 validation_1-rmse:0.13086 +[75] validation_0-rmse:0.16560 validation_1-rmse:0.13025 +[76] validation_0-rmse:0.16530 validation_1-rmse:0.12925 +[77] validation_0-rmse:0.16492 validation_1-rmse:0.12824 +[78] validation_0-rmse:0.16451 validation_1-rmse:0.12770 +[79] validation_0-rmse:0.16414 validation_1-rmse:0.12710 +[80] validation_0-rmse:0.16377 validation_1-rmse:0.12654 +[81] validation_0-rmse:0.16338 validation_1-rmse:0.12595 +[82] validation_0-rmse:0.16317 validation_1-rmse:0.12490 +[83] validation_0-rmse:0.16249 validation_1-rmse:0.12361 +[84] validation_0-rmse:0.16217 validation_1-rmse:0.12307 +[85] validation_0-rmse:0.16178 validation_1-rmse:0.12255 +[86] validation_0-rmse:0.16149 validation_1-rmse:0.12206 +[87] validation_0-rmse:0.16113 validation_1-rmse:0.12155 +[88] validation_0-rmse:0.16049 validation_1-rmse:0.12061 +[89] validation_0-rmse:0.16008 validation_1-rmse:0.11990 +[90] validation_0-rmse:0.15955 validation_1-rmse:0.11882 +[91] validation_0-rmse:0.15927 validation_1-rmse:0.11842 +[92] validation_0-rmse:0.15891 validation_1-rmse:0.11796 +[93] validation_0-rmse:0.15880 validation_1-rmse:0.11730 +[94] validation_0-rmse:0.15829 validation_1-rmse:0.11631 +[95] validation_0-rmse:0.15809 validation_1-rmse:0.11584 +[96] validation_0-rmse:0.15778 validation_1-rmse:0.11544 +[97] validation_0-rmse:0.15763 validation_1-rmse:0.11504 +[98] validation_0-rmse:0.15724 validation_1-rmse:0.11438 +[99] validation_0-rmse:0.15694 validation_1-rmse:0.11396 +2025-04-29 01:56:05,520 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training BTC/USDT (5.77 secs) -------------------- +2025-04-29 01:56:05,521 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:56:06,027 - freqtrade.freqai.freqai_interface - INFO - Training BTC/USDT, 1/2 pairs from 2025-03-12 00:00:00 to 2025-04-11 00:00:00, 11/11 trains +2025-04-29 01:56:06,027 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_btc_1744329600_prediction.feather +2025-04-29 01:56:06,037 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:56:06,045 - FreqaiExampleStrategy - INFO - 目标列形状:(62450,) +2025-04-29 01:56:06,046 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.024153 +1 0.003285 50.024153 +2 0.001898 50.024153 +3 0.000484 50.024153 +4 0.001688 50.024153 +2025-04-29 01:56:06,057 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:56:06,064 - FreqaiExampleStrategy - INFO - 目标列形状:(66770,) +2025-04-29 01:56:06,065 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.093162 +1 0.003285 50.093162 +2 0.001898 50.093162 +3 0.000484 50.093162 +4 0.001688 50.093162 +2025-04-29 01:56:06,070 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-BTC_1744329600/cb_btc_1744329600 +2025-04-29 01:56:06,071 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training BTC/USDT -------------------- +2025-04-29 01:56:06,087 - freqtrade.freqai.data_kitchen - INFO - BTC/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:56:06,088 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-03-12 to 2025-04-10 -------------------- +2025-04-29 01:56:10,904 - datasieve.pipeline - INFO - DI tossed 2001 predictions for being too far from training data. +2025-04-29 01:56:10,907 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 75 features +2025-04-29 01:56:10,907 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.32950 validation_1-rmse:0.29220 +[1] validation_0-rmse:0.32402 validation_1-rmse:0.28580 +[2] validation_0-rmse:0.31922 validation_1-rmse:0.27974 +[3] validation_0-rmse:0.31450 validation_1-rmse:0.27409 +[4] validation_0-rmse:0.30969 validation_1-rmse:0.26866 +[5] validation_0-rmse:0.30585 validation_1-rmse:0.26346 +[6] validation_0-rmse:0.30202 validation_1-rmse:0.25855 +[7] validation_0-rmse:0.29888 validation_1-rmse:0.25375 +[8] validation_0-rmse:0.29520 validation_1-rmse:0.24919 +[9] validation_0-rmse:0.29164 validation_1-rmse:0.24487 +[10] validation_0-rmse:0.28843 validation_1-rmse:0.24072 +[11] validation_0-rmse:0.28514 validation_1-rmse:0.23667 +[12] validation_0-rmse:0.28114 validation_1-rmse:0.23279 +[13] validation_0-rmse:0.27740 validation_1-rmse:0.22909 +[14] validation_0-rmse:0.27421 validation_1-rmse:0.22543 +[15] validation_0-rmse:0.27115 validation_1-rmse:0.22210 +[16] validation_0-rmse:0.26820 validation_1-rmse:0.21859 +[17] validation_0-rmse:0.26549 validation_1-rmse:0.21528 +[18] validation_0-rmse:0.26254 validation_1-rmse:0.21226 +[19] validation_0-rmse:0.25967 validation_1-rmse:0.20927 +[20] validation_0-rmse:0.25735 validation_1-rmse:0.20641 +[21] validation_0-rmse:0.25470 validation_1-rmse:0.20366 +[22] validation_0-rmse:0.25265 validation_1-rmse:0.20073 +[23] validation_0-rmse:0.25054 validation_1-rmse:0.19819 +[24] validation_0-rmse:0.24806 validation_1-rmse:0.19573 +[25] validation_0-rmse:0.24570 validation_1-rmse:0.19304 +[26] validation_0-rmse:0.24361 validation_1-rmse:0.19076 +[27] validation_0-rmse:0.24148 validation_1-rmse:0.18853 +[28] validation_0-rmse:0.24014 validation_1-rmse:0.18621 +[29] validation_0-rmse:0.23792 validation_1-rmse:0.18410 +[30] validation_0-rmse:0.23603 validation_1-rmse:0.18203 +[31] validation_0-rmse:0.23421 validation_1-rmse:0.17990 +[32] validation_0-rmse:0.23264 validation_1-rmse:0.17800 +[33] validation_0-rmse:0.23087 validation_1-rmse:0.17616 +[34] validation_0-rmse:0.22949 validation_1-rmse:0.17427 +[35] validation_0-rmse:0.22857 validation_1-rmse:0.17234 +[36] validation_0-rmse:0.22690 validation_1-rmse:0.17065 +[37] validation_0-rmse:0.22566 validation_1-rmse:0.16898 +[38] validation_0-rmse:0.22462 validation_1-rmse:0.16738 +[39] validation_0-rmse:0.22376 validation_1-rmse:0.16567 +[40] validation_0-rmse:0.22232 validation_1-rmse:0.16410 +[41] validation_0-rmse:0.22105 validation_1-rmse:0.16265 +[42] validation_0-rmse:0.22006 validation_1-rmse:0.16111 +[43] validation_0-rmse:0.21847 validation_1-rmse:0.15976 +[44] validation_0-rmse:0.21782 validation_1-rmse:0.15824 +[45] validation_0-rmse:0.21641 validation_1-rmse:0.15686 +[46] validation_0-rmse:0.21552 validation_1-rmse:0.15554 +[47] validation_0-rmse:0.21459 validation_1-rmse:0.15417 +[48] validation_0-rmse:0.21339 validation_1-rmse:0.15293 +[49] validation_0-rmse:0.21255 validation_1-rmse:0.15176 +[50] validation_0-rmse:0.21192 validation_1-rmse:0.15047 +[51] validation_0-rmse:0.21115 validation_1-rmse:0.14910 +[52] validation_0-rmse:0.21072 validation_1-rmse:0.14774 +[53] validation_0-rmse:0.20992 validation_1-rmse:0.14670 +[54] validation_0-rmse:0.20839 validation_1-rmse:0.14541 +[55] validation_0-rmse:0.20753 validation_1-rmse:0.14442 +[56] validation_0-rmse:0.20648 validation_1-rmse:0.14328 +[57] validation_0-rmse:0.20564 validation_1-rmse:0.14229 +[58] validation_0-rmse:0.20473 validation_1-rmse:0.14137 +[59] validation_0-rmse:0.20418 validation_1-rmse:0.14011 +[60] validation_0-rmse:0.20341 validation_1-rmse:0.13923 +[61] validation_0-rmse:0.20258 validation_1-rmse:0.13839 +[62] validation_0-rmse:0.20230 validation_1-rmse:0.13723 +[63] validation_0-rmse:0.20075 validation_1-rmse:0.13546 +[64] validation_0-rmse:0.20007 validation_1-rmse:0.13467 +[65] validation_0-rmse:0.19937 validation_1-rmse:0.13387 +[66] validation_0-rmse:0.19875 validation_1-rmse:0.13296 +[67] validation_0-rmse:0.19709 validation_1-rmse:0.13137 +[68] validation_0-rmse:0.19675 validation_1-rmse:0.13042 +[69] validation_0-rmse:0.19617 validation_1-rmse:0.12968 +[70] validation_0-rmse:0.19560 validation_1-rmse:0.12900 +[71] validation_0-rmse:0.19492 validation_1-rmse:0.12834 +[72] validation_0-rmse:0.19319 validation_1-rmse:0.12681 +[73] validation_0-rmse:0.19272 validation_1-rmse:0.12612 +[74] validation_0-rmse:0.19230 validation_1-rmse:0.12535 +[75] validation_0-rmse:0.19170 validation_1-rmse:0.12474 +[76] validation_0-rmse:0.19058 validation_1-rmse:0.12338 +[77] validation_0-rmse:0.19010 validation_1-rmse:0.12279 +[78] validation_0-rmse:0.18961 validation_1-rmse:0.12223 +[79] validation_0-rmse:0.18960 validation_1-rmse:0.12156 +[80] validation_0-rmse:0.18882 validation_1-rmse:0.12038 +[81] validation_0-rmse:0.18819 validation_1-rmse:0.11975 +[82] validation_0-rmse:0.18789 validation_1-rmse:0.11916 +[83] validation_0-rmse:0.18738 validation_1-rmse:0.11864 +[84] validation_0-rmse:0.18718 validation_1-rmse:0.11801 +[85] validation_0-rmse:0.18600 validation_1-rmse:0.11698 +[86] validation_0-rmse:0.18572 validation_1-rmse:0.11653 +[87] validation_0-rmse:0.18534 validation_1-rmse:0.11603 +[88] validation_0-rmse:0.18478 validation_1-rmse:0.11508 +[89] validation_0-rmse:0.18430 validation_1-rmse:0.11459 +[90] validation_0-rmse:0.18447 validation_1-rmse:0.11396 +[91] validation_0-rmse:0.18424 validation_1-rmse:0.11352 +[92] validation_0-rmse:0.18367 validation_1-rmse:0.11307 +[93] validation_0-rmse:0.18333 validation_1-rmse:0.11265 +[94] validation_0-rmse:0.18313 validation_1-rmse:0.11216 +[95] validation_0-rmse:0.18275 validation_1-rmse:0.11157 +[96] validation_0-rmse:0.18275 validation_1-rmse:0.11106 +[97] validation_0-rmse:0.18248 validation_1-rmse:0.11068 +[98] validation_0-rmse:0.18220 validation_1-rmse:0.11033 +[99] validation_0-rmse:0.18198 validation_1-rmse:0.10994 +2025-04-29 01:56:11,705 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training BTC/USDT (5.63 secs) -------------------- +2025-04-29 01:56:11,706 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:56:12,255 - FreqaiExampleStrategy - INFO - 动态参数:buy_rsi=39.26145316407591, sell_rsi=59.26145316407591, stoploss=-0.15, trailing_stop_positive=0.05 +2025-04-29 01:56:12,275 - FreqaiExampleStrategy - INFO - up_or_down 值统计: +up_or_down +1 33535 +0 33236 +2025-04-29 01:56:12,276 - FreqaiExampleStrategy - INFO - do_predict 值统计: +do_predict +0.0 35773 +1.0 30998 +2025-04-29 01:56:12,279 - FreqaiExampleStrategy - INFO - 处理交易对:SOL/USDT +2025-04-29 01:56:12,281 - freqtrade.freqai.freqai_interface - INFO - Training 11 timeranges +2025-04-29 01:56:12,282 - freqtrade.freqai.freqai_interface - INFO - Training SOL/USDT, 2/2 pairs from 2024-12-02 00:00:00 to 2025-01-01 00:00:00, 1/11 trains +2025-04-29 01:56:12,283 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_sol_1735689600_prediction.feather +2025-04-29 01:56:12,334 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 5m to 8690 +2025-04-29 01:56:12,335 - freqtrade.data.dataprovider - INFO - Loading data for SOL/USDT 5m from 2024-12-01 19:50:00 to 2025-04-20 00:00:00 +2025-04-29 01:56:12,422 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 1h to 770 +2025-04-29 01:56:12,422 - freqtrade.data.dataprovider - INFO - Loading data for SOL/USDT 1h from 2024-11-29 22:00:00 to 2025-04-20 00:00:00 +2025-04-29 01:56:12,518 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 3m to 14450 +2025-04-29 01:56:12,519 - freqtrade.data.dataprovider - INFO - Loading data for BTC/USDT 3m from 2024-12-01 21:30:00 to 2025-04-20 00:00:00 +2025-04-29 01:56:13,040 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:56:13,046 - FreqaiExampleStrategy - INFO - 目标列形状:(14450,) +2025-04-29 01:56:13,047 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.58814 +1 0.003044 49.58814 +2 0.000465 49.58814 +3 -0.000380 49.58814 +4 0.002829 49.58814 +2025-04-29 01:56:13,052 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:56:13,057 - FreqaiExampleStrategy - INFO - 目标列形状:(19250,) +2025-04-29 01:56:13,059 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.68088 +1 0.003044 49.68088 +2 0.000465 49.68088 +3 -0.000380 49.68088 +4 0.002829 49.68088 +2025-04-29 01:56:13,066 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-SOL_1735689600/cb_sol_1735689600 +2025-04-29 01:56:13,066 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training SOL/USDT -------------------- +2025-04-29 01:56:13,095 - freqtrade.freqai.data_kitchen - INFO - SOL/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:56:13,096 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2024-12-02 to 2024-12-31 -------------------- +2025-04-29 01:56:18,126 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 111 features +2025-04-29 01:56:18,126 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.30164 validation_1-rmse:0.29585 +[1] validation_0-rmse:0.29609 validation_1-rmse:0.28921 +[2] validation_0-rmse:0.29103 validation_1-rmse:0.28298 +[3] validation_0-rmse:0.28604 validation_1-rmse:0.27706 +[4] validation_0-rmse:0.28108 validation_1-rmse:0.27129 +[5] validation_0-rmse:0.27670 validation_1-rmse:0.26609 +[6] validation_0-rmse:0.27234 validation_1-rmse:0.26092 +[7] validation_0-rmse:0.26874 validation_1-rmse:0.25593 +[8] validation_0-rmse:0.26461 validation_1-rmse:0.25118 +[9] validation_0-rmse:0.26074 validation_1-rmse:0.24677 +[10] validation_0-rmse:0.25745 validation_1-rmse:0.24239 +[11] validation_0-rmse:0.25460 validation_1-rmse:0.23832 +[12] validation_0-rmse:0.25121 validation_1-rmse:0.23441 +[13] validation_0-rmse:0.24825 validation_1-rmse:0.23068 +[14] validation_0-rmse:0.24580 validation_1-rmse:0.22694 +[15] validation_0-rmse:0.24286 validation_1-rmse:0.22346 +[16] validation_0-rmse:0.24051 validation_1-rmse:0.22006 +[17] validation_0-rmse:0.23821 validation_1-rmse:0.21690 +[18] validation_0-rmse:0.23549 validation_1-rmse:0.21383 +[19] validation_0-rmse:0.23335 validation_1-rmse:0.21087 +[20] validation_0-rmse:0.23089 validation_1-rmse:0.20804 +[21] validation_0-rmse:0.22918 validation_1-rmse:0.20505 +[22] validation_0-rmse:0.22716 validation_1-rmse:0.20240 +[23] validation_0-rmse:0.22562 validation_1-rmse:0.19981 +[24] validation_0-rmse:0.22385 validation_1-rmse:0.19723 +[25] validation_0-rmse:0.22201 validation_1-rmse:0.19473 +[26] validation_0-rmse:0.22016 validation_1-rmse:0.19245 +[27] validation_0-rmse:0.21834 validation_1-rmse:0.19024 +[28] validation_0-rmse:0.21671 validation_1-rmse:0.18789 +[29] validation_0-rmse:0.21493 validation_1-rmse:0.18579 +[30] validation_0-rmse:0.21385 validation_1-rmse:0.18351 +[31] validation_0-rmse:0.21216 validation_1-rmse:0.18156 +[32] validation_0-rmse:0.21088 validation_1-rmse:0.17941 +[33] validation_0-rmse:0.20953 validation_1-rmse:0.17754 +[34] validation_0-rmse:0.20805 validation_1-rmse:0.17575 +[35] validation_0-rmse:0.20648 validation_1-rmse:0.17399 +[36] validation_0-rmse:0.20515 validation_1-rmse:0.17220 +[37] validation_0-rmse:0.20382 validation_1-rmse:0.17031 +[38] validation_0-rmse:0.20257 validation_1-rmse:0.16871 +[39] validation_0-rmse:0.20125 validation_1-rmse:0.16718 +[40] validation_0-rmse:0.20005 validation_1-rmse:0.16574 +[41] validation_0-rmse:0.19885 validation_1-rmse:0.16415 +[42] validation_0-rmse:0.19789 validation_1-rmse:0.16270 +[43] validation_0-rmse:0.19680 validation_1-rmse:0.16130 +[44] validation_0-rmse:0.19564 validation_1-rmse:0.15993 +[45] validation_0-rmse:0.19480 validation_1-rmse:0.15854 +[46] validation_0-rmse:0.19376 validation_1-rmse:0.15728 +[47] validation_0-rmse:0.19290 validation_1-rmse:0.15568 +[48] validation_0-rmse:0.19223 validation_1-rmse:0.15445 +[49] validation_0-rmse:0.19129 validation_1-rmse:0.15330 +[50] validation_0-rmse:0.19035 validation_1-rmse:0.15194 +[51] validation_0-rmse:0.18948 validation_1-rmse:0.15082 +[52] validation_0-rmse:0.18882 validation_1-rmse:0.14945 +[53] validation_0-rmse:0.18801 validation_1-rmse:0.14840 +[54] validation_0-rmse:0.18707 validation_1-rmse:0.14736 +[55] validation_0-rmse:0.18637 validation_1-rmse:0.14635 +[56] validation_0-rmse:0.18571 validation_1-rmse:0.14542 +[57] validation_0-rmse:0.18497 validation_1-rmse:0.14413 +[58] validation_0-rmse:0.18443 validation_1-rmse:0.14297 +[59] validation_0-rmse:0.18375 validation_1-rmse:0.14203 +[60] validation_0-rmse:0.18319 validation_1-rmse:0.14111 +[61] validation_0-rmse:0.18266 validation_1-rmse:0.14030 +[62] validation_0-rmse:0.18185 validation_1-rmse:0.13914 +[63] validation_0-rmse:0.18145 validation_1-rmse:0.13831 +[64] validation_0-rmse:0.18135 validation_1-rmse:0.13720 +[65] validation_0-rmse:0.18075 validation_1-rmse:0.13643 +[66] validation_0-rmse:0.18020 validation_1-rmse:0.13560 +[67] validation_0-rmse:0.17951 validation_1-rmse:0.13485 +[68] validation_0-rmse:0.17888 validation_1-rmse:0.13414 +[69] validation_0-rmse:0.17850 validation_1-rmse:0.13343 +[70] validation_0-rmse:0.17798 validation_1-rmse:0.13224 +[71] validation_0-rmse:0.17751 validation_1-rmse:0.13133 +[72] validation_0-rmse:0.17711 validation_1-rmse:0.13062 +[73] validation_0-rmse:0.17701 validation_1-rmse:0.12966 +[74] validation_0-rmse:0.17648 validation_1-rmse:0.12872 +[75] validation_0-rmse:0.17611 validation_1-rmse:0.12806 +[76] validation_0-rmse:0.17573 validation_1-rmse:0.12732 +[77] validation_0-rmse:0.17528 validation_1-rmse:0.12664 +[78] validation_0-rmse:0.17478 validation_1-rmse:0.12605 +[79] validation_0-rmse:0.17432 validation_1-rmse:0.12518 +[80] validation_0-rmse:0.17391 validation_1-rmse:0.12466 +[81] validation_0-rmse:0.17358 validation_1-rmse:0.12398 +[82] validation_0-rmse:0.17315 validation_1-rmse:0.12342 +[83] validation_0-rmse:0.17260 validation_1-rmse:0.12276 +[84] validation_0-rmse:0.17220 validation_1-rmse:0.12222 +[85] validation_0-rmse:0.17182 validation_1-rmse:0.12176 +[86] validation_0-rmse:0.17152 validation_1-rmse:0.12124 +[87] validation_0-rmse:0.17103 validation_1-rmse:0.12046 +[88] validation_0-rmse:0.17085 validation_1-rmse:0.11974 +[89] validation_0-rmse:0.17053 validation_1-rmse:0.11930 +[90] validation_0-rmse:0.17018 validation_1-rmse:0.11888 +[91] validation_0-rmse:0.17011 validation_1-rmse:0.11810 +[92] validation_0-rmse:0.16980 validation_1-rmse:0.11762 +[93] validation_0-rmse:0.16956 validation_1-rmse:0.11689 +[94] validation_0-rmse:0.16923 validation_1-rmse:0.11641 +[95] validation_0-rmse:0.16912 validation_1-rmse:0.11579 +[96] validation_0-rmse:0.16878 validation_1-rmse:0.11530 +[97] validation_0-rmse:0.16857 validation_1-rmse:0.11489 +[98] validation_0-rmse:0.16824 validation_1-rmse:0.11442 +[99] validation_0-rmse:0.16824 validation_1-rmse:0.11403 +2025-04-29 01:56:19,586 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training SOL/USDT (6.52 secs) -------------------- +2025-04-29 01:56:19,587 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:56:20,174 - freqtrade.freqai.freqai_interface - INFO - Training SOL/USDT, 2/2 pairs from 2024-12-12 00:00:00 to 2025-01-11 00:00:00, 2/11 trains +2025-04-29 01:56:20,175 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_sol_1736553600_prediction.feather +2025-04-29 01:56:20,179 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:56:20,185 - FreqaiExampleStrategy - INFO - 目标列形状:(19250,) +2025-04-29 01:56:20,186 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.68088 +1 0.003044 49.68088 +2 0.000465 49.68088 +3 -0.000380 49.68088 +4 0.002829 49.68088 +2025-04-29 01:56:20,192 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:56:20,197 - FreqaiExampleStrategy - INFO - 目标列形状:(24050,) +2025-04-29 01:56:20,199 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.97721 +1 0.003044 49.97721 +2 0.000465 49.97721 +3 -0.000380 49.97721 +4 0.002829 49.97721 +2025-04-29 01:56:20,204 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-SOL_1736553600/cb_sol_1736553600 +2025-04-29 01:56:20,205 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training SOL/USDT -------------------- +2025-04-29 01:56:20,227 - freqtrade.freqai.data_kitchen - INFO - SOL/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:56:20,228 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2024-12-12 to 2025-01-10 -------------------- +2025-04-29 01:56:25,109 - datasieve.pipeline - INFO - DI tossed 5 predictions for being too far from training data. +2025-04-29 01:56:25,112 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 111 features +2025-04-29 01:56:25,112 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.29597 validation_1-rmse:0.29016 +[1] validation_0-rmse:0.29075 validation_1-rmse:0.28391 +[2] validation_0-rmse:0.28602 validation_1-rmse:0.27798 +[3] validation_0-rmse:0.28062 validation_1-rmse:0.27213 +[4] validation_0-rmse:0.27647 validation_1-rmse:0.26682 +[5] validation_0-rmse:0.27188 validation_1-rmse:0.26144 +[6] validation_0-rmse:0.26781 validation_1-rmse:0.25655 +[7] validation_0-rmse:0.26412 validation_1-rmse:0.25180 +[8] validation_0-rmse:0.25994 validation_1-rmse:0.24709 +[9] validation_0-rmse:0.25649 validation_1-rmse:0.24277 +[10] validation_0-rmse:0.25332 validation_1-rmse:0.23850 +[11] validation_0-rmse:0.24999 validation_1-rmse:0.23452 +[12] validation_0-rmse:0.24687 validation_1-rmse:0.23072 +[13] validation_0-rmse:0.24432 validation_1-rmse:0.22694 +[14] validation_0-rmse:0.24128 validation_1-rmse:0.22341 +[15] validation_0-rmse:0.23869 validation_1-rmse:0.21969 +[16] validation_0-rmse:0.23628 validation_1-rmse:0.21635 +[17] validation_0-rmse:0.23354 validation_1-rmse:0.21326 +[18] validation_0-rmse:0.23123 validation_1-rmse:0.21007 +[19] validation_0-rmse:0.22919 validation_1-rmse:0.20707 +[20] validation_0-rmse:0.22705 validation_1-rmse:0.20418 +[21] validation_0-rmse:0.22505 validation_1-rmse:0.20149 +[22] validation_0-rmse:0.22285 validation_1-rmse:0.19887 +[23] validation_0-rmse:0.22084 validation_1-rmse:0.19631 +[24] validation_0-rmse:0.21877 validation_1-rmse:0.19389 +[25] validation_0-rmse:0.21748 validation_1-rmse:0.19133 +[26] validation_0-rmse:0.21557 validation_1-rmse:0.18870 +[27] validation_0-rmse:0.21374 validation_1-rmse:0.18648 +[28] validation_0-rmse:0.21183 validation_1-rmse:0.18432 +[29] validation_0-rmse:0.21047 validation_1-rmse:0.18209 +[30] validation_0-rmse:0.20873 validation_1-rmse:0.17990 +[31] validation_0-rmse:0.20717 validation_1-rmse:0.17795 +[32] validation_0-rmse:0.20564 validation_1-rmse:0.17599 +[33] validation_0-rmse:0.20428 validation_1-rmse:0.17421 +[34] validation_0-rmse:0.20290 validation_1-rmse:0.17229 +[35] validation_0-rmse:0.20161 validation_1-rmse:0.17047 +[36] validation_0-rmse:0.20018 validation_1-rmse:0.16878 +[37] validation_0-rmse:0.19923 validation_1-rmse:0.16688 +[38] validation_0-rmse:0.19796 validation_1-rmse:0.16534 +[39] validation_0-rmse:0.19668 validation_1-rmse:0.16355 +[40] validation_0-rmse:0.19543 validation_1-rmse:0.16204 +[41] validation_0-rmse:0.19441 validation_1-rmse:0.16062 +[42] validation_0-rmse:0.19344 validation_1-rmse:0.15910 +[43] validation_0-rmse:0.19256 validation_1-rmse:0.15759 +[44] validation_0-rmse:0.19154 validation_1-rmse:0.15625 +[45] validation_0-rmse:0.19048 validation_1-rmse:0.15494 +[46] validation_0-rmse:0.18937 validation_1-rmse:0.15366 +[47] validation_0-rmse:0.18865 validation_1-rmse:0.15236 +[48] validation_0-rmse:0.18784 validation_1-rmse:0.15112 +[49] validation_0-rmse:0.18704 validation_1-rmse:0.14998 +[50] validation_0-rmse:0.18625 validation_1-rmse:0.14874 +[51] validation_0-rmse:0.18541 validation_1-rmse:0.14763 +[52] validation_0-rmse:0.18456 validation_1-rmse:0.14659 +[53] validation_0-rmse:0.18383 validation_1-rmse:0.14530 +[54] validation_0-rmse:0.18315 validation_1-rmse:0.14420 +[55] validation_0-rmse:0.18234 validation_1-rmse:0.14321 +[56] validation_0-rmse:0.18181 validation_1-rmse:0.14206 +[57] validation_0-rmse:0.18109 validation_1-rmse:0.14106 +[58] validation_0-rmse:0.18033 validation_1-rmse:0.13996 +[59] validation_0-rmse:0.17964 validation_1-rmse:0.13905 +[60] validation_0-rmse:0.17921 validation_1-rmse:0.13820 +[61] validation_0-rmse:0.17865 validation_1-rmse:0.13731 +[62] validation_0-rmse:0.17795 validation_1-rmse:0.13648 +[63] validation_0-rmse:0.17737 validation_1-rmse:0.13559 +[64] validation_0-rmse:0.17680 validation_1-rmse:0.13483 +[65] validation_0-rmse:0.17628 validation_1-rmse:0.13408 +[66] validation_0-rmse:0.17588 validation_1-rmse:0.13303 +[67] validation_0-rmse:0.17530 validation_1-rmse:0.13228 +[68] validation_0-rmse:0.17478 validation_1-rmse:0.13153 +[69] validation_0-rmse:0.17439 validation_1-rmse:0.13081 +[70] validation_0-rmse:0.17401 validation_1-rmse:0.12991 +[71] validation_0-rmse:0.17347 validation_1-rmse:0.12911 +[72] validation_0-rmse:0.17304 validation_1-rmse:0.12838 +[73] validation_0-rmse:0.17254 validation_1-rmse:0.12774 +[74] validation_0-rmse:0.17207 validation_1-rmse:0.12656 +[75] validation_0-rmse:0.17185 validation_1-rmse:0.12571 +[76] validation_0-rmse:0.17126 validation_1-rmse:0.12512 +[77] validation_0-rmse:0.17096 validation_1-rmse:0.12447 +[78] validation_0-rmse:0.17064 validation_1-rmse:0.12381 +[79] validation_0-rmse:0.17024 validation_1-rmse:0.12300 +[80] validation_0-rmse:0.16989 validation_1-rmse:0.12244 +[81] validation_0-rmse:0.16955 validation_1-rmse:0.12180 +[82] validation_0-rmse:0.16924 validation_1-rmse:0.12129 +[83] validation_0-rmse:0.16931 validation_1-rmse:0.12037 +[84] validation_0-rmse:0.16888 validation_1-rmse:0.11970 +[85] validation_0-rmse:0.16845 validation_1-rmse:0.11914 +[86] validation_0-rmse:0.16809 validation_1-rmse:0.11840 +[87] validation_0-rmse:0.16766 validation_1-rmse:0.11760 +[88] validation_0-rmse:0.16741 validation_1-rmse:0.11714 +[89] validation_0-rmse:0.16707 validation_1-rmse:0.11667 +[90] validation_0-rmse:0.16683 validation_1-rmse:0.11592 +[91] validation_0-rmse:0.16643 validation_1-rmse:0.11537 +[92] validation_0-rmse:0.16621 validation_1-rmse:0.11455 +[93] validation_0-rmse:0.16611 validation_1-rmse:0.11396 +[94] validation_0-rmse:0.16587 validation_1-rmse:0.11350 +[95] validation_0-rmse:0.16563 validation_1-rmse:0.11308 +[96] validation_0-rmse:0.16535 validation_1-rmse:0.11237 +[97] validation_0-rmse:0.16487 validation_1-rmse:0.11173 +[98] validation_0-rmse:0.16461 validation_1-rmse:0.11133 +[99] validation_0-rmse:0.16437 validation_1-rmse:0.11096 +2025-04-29 01:56:26,510 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training SOL/USDT (6.30 secs) -------------------- +2025-04-29 01:56:26,511 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:56:27,072 - freqtrade.freqai.freqai_interface - INFO - Training SOL/USDT, 2/2 pairs from 2024-12-22 00:00:00 to 2025-01-21 00:00:00, 3/11 trains +2025-04-29 01:56:27,073 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_sol_1737417600_prediction.feather +2025-04-29 01:56:27,079 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:56:27,085 - FreqaiExampleStrategy - INFO - 目标列形状:(24050,) +2025-04-29 01:56:27,086 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.97721 +1 0.003044 49.97721 +2 0.000465 49.97721 +3 -0.000380 49.97721 +4 0.002829 49.97721 +2025-04-29 01:56:27,094 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:56:27,100 - FreqaiExampleStrategy - INFO - 目标列形状:(28850,) +2025-04-29 01:56:27,102 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.941408 +1 0.003044 49.941408 +2 0.000465 49.941408 +3 -0.000380 49.941408 +4 0.002829 49.941408 +2025-04-29 01:56:27,108 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-SOL_1737417600/cb_sol_1737417600 +2025-04-29 01:56:27,109 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training SOL/USDT -------------------- +2025-04-29 01:56:27,130 - freqtrade.freqai.data_kitchen - INFO - SOL/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:56:27,131 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2024-12-22 to 2025-01-20 -------------------- +2025-04-29 01:56:32,206 - datasieve.pipeline - INFO - DI tossed 1523 predictions for being too far from training data. +2025-04-29 01:56:32,209 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 111 features +2025-04-29 01:56:32,210 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.30838 validation_1-rmse:0.28356 +[1] validation_0-rmse:0.30280 validation_1-rmse:0.27752 +[2] validation_0-rmse:0.29759 validation_1-rmse:0.27179 +[3] validation_0-rmse:0.29330 validation_1-rmse:0.26614 +[4] validation_0-rmse:0.28936 validation_1-rmse:0.26091 +[5] validation_0-rmse:0.28544 validation_1-rmse:0.25581 +[6] validation_0-rmse:0.28151 validation_1-rmse:0.25102 +[7] validation_0-rmse:0.27790 validation_1-rmse:0.24636 +[8] validation_0-rmse:0.27429 validation_1-rmse:0.24196 +[9] validation_0-rmse:0.27104 validation_1-rmse:0.23770 +[10] validation_0-rmse:0.26762 validation_1-rmse:0.23356 +[11] validation_0-rmse:0.26472 validation_1-rmse:0.22966 +[12] validation_0-rmse:0.26219 validation_1-rmse:0.22601 +[13] validation_0-rmse:0.25924 validation_1-rmse:0.22234 +[14] validation_0-rmse:0.25634 validation_1-rmse:0.21888 +[15] validation_0-rmse:0.25379 validation_1-rmse:0.21545 +[16] validation_0-rmse:0.25117 validation_1-rmse:0.21221 +[17] validation_0-rmse:0.24877 validation_1-rmse:0.20902 +[18] validation_0-rmse:0.24653 validation_1-rmse:0.20604 +[19] validation_0-rmse:0.24404 validation_1-rmse:0.20315 +[20] validation_0-rmse:0.24194 validation_1-rmse:0.20032 +[21] validation_0-rmse:0.23966 validation_1-rmse:0.19765 +[22] validation_0-rmse:0.23804 validation_1-rmse:0.19481 +[23] validation_0-rmse:0.23599 validation_1-rmse:0.19230 +[24] validation_0-rmse:0.23384 validation_1-rmse:0.18993 +[25] validation_0-rmse:0.23196 validation_1-rmse:0.18756 +[26] validation_0-rmse:0.23057 validation_1-rmse:0.18506 +[27] validation_0-rmse:0.22854 validation_1-rmse:0.18283 +[28] validation_0-rmse:0.22705 validation_1-rmse:0.18071 +[29] validation_0-rmse:0.22557 validation_1-rmse:0.17851 +[30] validation_0-rmse:0.22394 validation_1-rmse:0.17644 +[31] validation_0-rmse:0.22213 validation_1-rmse:0.17452 +[32] validation_0-rmse:0.22064 validation_1-rmse:0.17267 +[33] validation_0-rmse:0.21905 validation_1-rmse:0.17084 +[34] validation_0-rmse:0.21806 validation_1-rmse:0.16880 +[35] validation_0-rmse:0.21693 validation_1-rmse:0.16700 +[36] validation_0-rmse:0.21537 validation_1-rmse:0.16520 +[37] validation_0-rmse:0.21417 validation_1-rmse:0.16362 +[38] validation_0-rmse:0.21282 validation_1-rmse:0.16204 +[39] validation_0-rmse:0.21137 validation_1-rmse:0.16047 +[40] validation_0-rmse:0.20994 validation_1-rmse:0.15897 +[41] validation_0-rmse:0.20878 validation_1-rmse:0.15747 +[42] validation_0-rmse:0.20766 validation_1-rmse:0.15604 +[43] validation_0-rmse:0.20666 validation_1-rmse:0.15444 +[44] validation_0-rmse:0.20566 validation_1-rmse:0.15316 +[45] validation_0-rmse:0.20496 validation_1-rmse:0.15162 +[46] validation_0-rmse:0.20394 validation_1-rmse:0.15038 +[47] validation_0-rmse:0.20277 validation_1-rmse:0.14909 +[48] validation_0-rmse:0.20176 validation_1-rmse:0.14793 +[49] validation_0-rmse:0.20072 validation_1-rmse:0.14681 +[50] validation_0-rmse:0.20058 validation_1-rmse:0.14528 +[51] validation_0-rmse:0.19970 validation_1-rmse:0.14419 +[52] validation_0-rmse:0.19887 validation_1-rmse:0.14284 +[53] validation_0-rmse:0.19809 validation_1-rmse:0.14182 +[54] validation_0-rmse:0.19725 validation_1-rmse:0.14076 +[55] validation_0-rmse:0.19636 validation_1-rmse:0.13981 +[56] validation_0-rmse:0.19615 validation_1-rmse:0.13853 +[57] validation_0-rmse:0.19540 validation_1-rmse:0.13757 +[58] validation_0-rmse:0.19460 validation_1-rmse:0.13664 +[59] validation_0-rmse:0.19418 validation_1-rmse:0.13553 +[60] validation_0-rmse:0.19382 validation_1-rmse:0.13445 +[61] validation_0-rmse:0.19302 validation_1-rmse:0.13363 +[62] validation_0-rmse:0.19218 validation_1-rmse:0.13270 +[63] validation_0-rmse:0.19154 validation_1-rmse:0.13183 +[64] validation_0-rmse:0.19083 validation_1-rmse:0.13105 +[65] validation_0-rmse:0.19005 validation_1-rmse:0.13008 +[66] validation_0-rmse:0.18929 validation_1-rmse:0.12932 +[67] validation_0-rmse:0.18885 validation_1-rmse:0.12851 +[68] validation_0-rmse:0.18837 validation_1-rmse:0.12781 +[69] validation_0-rmse:0.18790 validation_1-rmse:0.12711 +[70] validation_0-rmse:0.18732 validation_1-rmse:0.12617 +[71] validation_0-rmse:0.18682 validation_1-rmse:0.12552 +[72] validation_0-rmse:0.18669 validation_1-rmse:0.12448 +[73] validation_0-rmse:0.18617 validation_1-rmse:0.12382 +[74] validation_0-rmse:0.18587 validation_1-rmse:0.12322 +[75] validation_0-rmse:0.18544 validation_1-rmse:0.12261 +[76] validation_0-rmse:0.18524 validation_1-rmse:0.12162 +[77] validation_0-rmse:0.18486 validation_1-rmse:0.12098 +[78] validation_0-rmse:0.18443 validation_1-rmse:0.12021 +[79] validation_0-rmse:0.18415 validation_1-rmse:0.11963 +[80] validation_0-rmse:0.18393 validation_1-rmse:0.11866 +[81] validation_0-rmse:0.18344 validation_1-rmse:0.11809 +[82] validation_0-rmse:0.18307 validation_1-rmse:0.11748 +[83] validation_0-rmse:0.18257 validation_1-rmse:0.11699 +[84] validation_0-rmse:0.18216 validation_1-rmse:0.11643 +[85] validation_0-rmse:0.18188 validation_1-rmse:0.11595 +[86] validation_0-rmse:0.18168 validation_1-rmse:0.11502 +[87] validation_0-rmse:0.18148 validation_1-rmse:0.11451 +[88] validation_0-rmse:0.18093 validation_1-rmse:0.11378 +[89] validation_0-rmse:0.18054 validation_1-rmse:0.11332 +[90] validation_0-rmse:0.18024 validation_1-rmse:0.11285 +[91] validation_0-rmse:0.17982 validation_1-rmse:0.11241 +[92] validation_0-rmse:0.17950 validation_1-rmse:0.11185 +[93] validation_0-rmse:0.17918 validation_1-rmse:0.11123 +[94] validation_0-rmse:0.17882 validation_1-rmse:0.11072 +[95] validation_0-rmse:0.17881 validation_1-rmse:0.10986 +[96] validation_0-rmse:0.17832 validation_1-rmse:0.10941 +[97] validation_0-rmse:0.17800 validation_1-rmse:0.10897 +[98] validation_0-rmse:0.17774 validation_1-rmse:0.10859 +[99] validation_0-rmse:0.17746 validation_1-rmse:0.10819 +2025-04-29 01:56:33,558 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training SOL/USDT (6.45 secs) -------------------- +2025-04-29 01:56:33,558 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:56:34,118 - freqtrade.freqai.freqai_interface - INFO - Training SOL/USDT, 2/2 pairs from 2025-01-01 00:00:00 to 2025-01-31 00:00:00, 4/11 trains +2025-04-29 01:56:34,119 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_sol_1738281600_prediction.feather +2025-04-29 01:56:34,124 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:56:34,130 - FreqaiExampleStrategy - INFO - 目标列形状:(28850,) +2025-04-29 01:56:34,131 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.941408 +1 0.003044 49.941408 +2 0.000465 49.941408 +3 -0.000380 49.941408 +4 0.002829 49.941408 +2025-04-29 01:56:34,137 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:56:34,143 - FreqaiExampleStrategy - INFO - 目标列形状:(33650,) +2025-04-29 01:56:34,144 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.830756 +1 0.003044 49.830756 +2 0.000465 49.830756 +3 -0.000380 49.830756 +4 0.002829 49.830756 +2025-04-29 01:56:34,149 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-SOL_1738281600/cb_sol_1738281600 +2025-04-29 01:56:34,150 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training SOL/USDT -------------------- +2025-04-29 01:56:34,173 - freqtrade.freqai.data_kitchen - INFO - SOL/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:56:34,173 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-01-01 to 2025-01-30 -------------------- +2025-04-29 01:56:39,271 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 111 features +2025-04-29 01:56:39,271 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.29494 validation_1-rmse:0.28739 +[1] validation_0-rmse:0.28930 validation_1-rmse:0.28164 +[2] validation_0-rmse:0.28437 validation_1-rmse:0.27613 +[3] validation_0-rmse:0.27990 validation_1-rmse:0.27106 +[4] validation_0-rmse:0.27541 validation_1-rmse:0.26617 +[5] validation_0-rmse:0.27070 validation_1-rmse:0.26147 +[6] validation_0-rmse:0.26683 validation_1-rmse:0.25687 +[7] validation_0-rmse:0.26280 validation_1-rmse:0.25263 +[8] validation_0-rmse:0.25916 validation_1-rmse:0.24830 +[9] validation_0-rmse:0.25540 validation_1-rmse:0.24420 +[10] validation_0-rmse:0.25186 validation_1-rmse:0.24022 +[11] validation_0-rmse:0.24829 validation_1-rmse:0.23647 +[12] validation_0-rmse:0.24504 validation_1-rmse:0.23286 +[13] validation_0-rmse:0.24183 validation_1-rmse:0.22943 +[14] validation_0-rmse:0.23870 validation_1-rmse:0.22619 +[15] validation_0-rmse:0.23587 validation_1-rmse:0.22274 +[16] validation_0-rmse:0.23325 validation_1-rmse:0.21951 +[17] validation_0-rmse:0.23045 validation_1-rmse:0.21650 +[18] validation_0-rmse:0.22792 validation_1-rmse:0.21367 +[19] validation_0-rmse:0.22524 validation_1-rmse:0.21092 +[20] validation_0-rmse:0.22293 validation_1-rmse:0.20804 +[21] validation_0-rmse:0.22055 validation_1-rmse:0.20549 +[22] validation_0-rmse:0.21831 validation_1-rmse:0.20307 +[23] validation_0-rmse:0.21601 validation_1-rmse:0.20062 +[24] validation_0-rmse:0.21372 validation_1-rmse:0.19810 +[25] validation_0-rmse:0.21154 validation_1-rmse:0.19580 +[26] validation_0-rmse:0.20966 validation_1-rmse:0.19369 +[27] validation_0-rmse:0.20790 validation_1-rmse:0.19130 +[28] validation_0-rmse:0.20602 validation_1-rmse:0.18921 +[29] validation_0-rmse:0.20418 validation_1-rmse:0.18723 +[30] validation_0-rmse:0.20236 validation_1-rmse:0.18525 +[31] validation_0-rmse:0.20057 validation_1-rmse:0.18324 +[32] validation_0-rmse:0.19900 validation_1-rmse:0.18144 +[33] validation_0-rmse:0.19744 validation_1-rmse:0.17941 +[34] validation_0-rmse:0.19608 validation_1-rmse:0.17767 +[35] validation_0-rmse:0.19467 validation_1-rmse:0.17605 +[36] validation_0-rmse:0.19313 validation_1-rmse:0.17422 +[37] validation_0-rmse:0.19156 validation_1-rmse:0.17260 +[38] validation_0-rmse:0.19020 validation_1-rmse:0.17103 +[39] validation_0-rmse:0.18884 validation_1-rmse:0.16948 +[40] validation_0-rmse:0.18767 validation_1-rmse:0.16797 +[41] validation_0-rmse:0.18636 validation_1-rmse:0.16647 +[42] validation_0-rmse:0.18512 validation_1-rmse:0.16505 +[43] validation_0-rmse:0.18403 validation_1-rmse:0.16340 +[44] validation_0-rmse:0.18290 validation_1-rmse:0.16210 +[45] validation_0-rmse:0.18189 validation_1-rmse:0.16085 +[46] validation_0-rmse:0.18090 validation_1-rmse:0.15966 +[47] validation_0-rmse:0.17992 validation_1-rmse:0.15841 +[48] validation_0-rmse:0.17901 validation_1-rmse:0.15728 +[49] validation_0-rmse:0.17817 validation_1-rmse:0.15582 +[50] validation_0-rmse:0.17697 validation_1-rmse:0.15458 +[51] validation_0-rmse:0.17607 validation_1-rmse:0.15349 +[52] validation_0-rmse:0.17516 validation_1-rmse:0.15235 +[53] validation_0-rmse:0.17425 validation_1-rmse:0.15131 +[54] validation_0-rmse:0.17347 validation_1-rmse:0.15032 +[55] validation_0-rmse:0.17275 validation_1-rmse:0.14932 +[56] validation_0-rmse:0.17211 validation_1-rmse:0.14834 +[57] validation_0-rmse:0.17131 validation_1-rmse:0.14741 +[58] validation_0-rmse:0.17072 validation_1-rmse:0.14617 +[59] validation_0-rmse:0.16999 validation_1-rmse:0.14528 +[60] validation_0-rmse:0.16934 validation_1-rmse:0.14416 +[61] validation_0-rmse:0.16887 validation_1-rmse:0.14321 +[62] validation_0-rmse:0.16842 validation_1-rmse:0.14213 +[63] validation_0-rmse:0.16765 validation_1-rmse:0.14130 +[64] validation_0-rmse:0.16691 validation_1-rmse:0.14048 +[65] validation_0-rmse:0.16629 validation_1-rmse:0.13956 +[66] validation_0-rmse:0.16565 validation_1-rmse:0.13882 +[67] validation_0-rmse:0.16530 validation_1-rmse:0.13793 +[68] validation_0-rmse:0.16467 validation_1-rmse:0.13710 +[69] validation_0-rmse:0.16436 validation_1-rmse:0.13621 +[70] validation_0-rmse:0.16377 validation_1-rmse:0.13542 +[71] validation_0-rmse:0.16334 validation_1-rmse:0.13463 +[72] validation_0-rmse:0.16280 validation_1-rmse:0.13394 +[73] validation_0-rmse:0.16230 validation_1-rmse:0.13328 +[74] validation_0-rmse:0.16156 validation_1-rmse:0.13246 +[75] validation_0-rmse:0.16122 validation_1-rmse:0.13151 +[76] validation_0-rmse:0.16080 validation_1-rmse:0.13080 +[77] validation_0-rmse:0.16033 validation_1-rmse:0.13015 +[78] validation_0-rmse:0.15992 validation_1-rmse:0.12951 +[79] validation_0-rmse:0.15950 validation_1-rmse:0.12888 +[80] validation_0-rmse:0.15909 validation_1-rmse:0.12822 +[81] validation_0-rmse:0.15875 validation_1-rmse:0.12744 +[82] validation_0-rmse:0.15831 validation_1-rmse:0.12683 +[83] validation_0-rmse:0.15786 validation_1-rmse:0.12626 +[84] validation_0-rmse:0.15747 validation_1-rmse:0.12572 +[85] validation_0-rmse:0.15724 validation_1-rmse:0.12495 +[86] validation_0-rmse:0.15695 validation_1-rmse:0.12442 +[87] validation_0-rmse:0.15664 validation_1-rmse:0.12382 +[88] validation_0-rmse:0.15651 validation_1-rmse:0.12326 +[89] validation_0-rmse:0.15629 validation_1-rmse:0.12256 +[90] validation_0-rmse:0.15596 validation_1-rmse:0.12196 +[91] validation_0-rmse:0.15559 validation_1-rmse:0.12141 +[92] validation_0-rmse:0.15511 validation_1-rmse:0.12088 +[93] validation_0-rmse:0.15487 validation_1-rmse:0.12033 +[94] validation_0-rmse:0.15472 validation_1-rmse:0.11975 +[95] validation_0-rmse:0.15438 validation_1-rmse:0.11924 +[96] validation_0-rmse:0.15408 validation_1-rmse:0.11882 +[97] validation_0-rmse:0.15382 validation_1-rmse:0.11819 +[98] validation_0-rmse:0.15350 validation_1-rmse:0.11777 +[99] validation_0-rmse:0.15331 validation_1-rmse:0.11727 +2025-04-29 01:56:40,600 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training SOL/USDT (6.45 secs) -------------------- +2025-04-29 01:56:40,601 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:56:41,171 - freqtrade.freqai.freqai_interface - INFO - Training SOL/USDT, 2/2 pairs from 2025-01-11 00:00:00 to 2025-02-10 00:00:00, 5/11 trains +2025-04-29 01:56:41,172 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_sol_1739145600_prediction.feather +2025-04-29 01:56:41,177 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:56:41,183 - FreqaiExampleStrategy - INFO - 目标列形状:(33650,) +2025-04-29 01:56:41,185 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.830756 +1 0.003044 49.830756 +2 0.000465 49.830756 +3 -0.000380 49.830756 +4 0.002829 49.830756 +2025-04-29 01:56:41,193 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:56:41,200 - FreqaiExampleStrategy - INFO - 目标列形状:(38450,) +2025-04-29 01:56:41,201 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.714422 +1 0.003044 49.714422 +2 0.000465 49.714422 +3 -0.000380 49.714422 +4 0.002829 49.714422 +2025-04-29 01:56:41,206 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-SOL_1739145600/cb_sol_1739145600 +2025-04-29 01:56:41,207 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training SOL/USDT -------------------- +2025-04-29 01:56:41,228 - freqtrade.freqai.data_kitchen - INFO - SOL/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:56:41,229 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-01-11 to 2025-02-09 -------------------- +2025-04-29 01:56:46,277 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 111 features +2025-04-29 01:56:46,278 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.29889 validation_1-rmse:0.30153 +[1] validation_0-rmse:0.29317 validation_1-rmse:0.29483 +[2] validation_0-rmse:0.28819 validation_1-rmse:0.28860 +[3] validation_0-rmse:0.28336 validation_1-rmse:0.28273 +[4] validation_0-rmse:0.27885 validation_1-rmse:0.27694 +[5] validation_0-rmse:0.27448 validation_1-rmse:0.27155 +[6] validation_0-rmse:0.27020 validation_1-rmse:0.26634 +[7] validation_0-rmse:0.26629 validation_1-rmse:0.26134 +[8] validation_0-rmse:0.26241 validation_1-rmse:0.25653 +[9] validation_0-rmse:0.25876 validation_1-rmse:0.25192 +[10] validation_0-rmse:0.25559 validation_1-rmse:0.24747 +[11] validation_0-rmse:0.25223 validation_1-rmse:0.24337 +[12] validation_0-rmse:0.24904 validation_1-rmse:0.23934 +[13] validation_0-rmse:0.24639 validation_1-rmse:0.23548 +[14] validation_0-rmse:0.24353 validation_1-rmse:0.23187 +[15] validation_0-rmse:0.24076 validation_1-rmse:0.22837 +[16] validation_0-rmse:0.23849 validation_1-rmse:0.22484 +[17] validation_0-rmse:0.23581 validation_1-rmse:0.22147 +[18] validation_0-rmse:0.23342 validation_1-rmse:0.21814 +[19] validation_0-rmse:0.23133 validation_1-rmse:0.21509 +[20] validation_0-rmse:0.22937 validation_1-rmse:0.21187 +[21] validation_0-rmse:0.22713 validation_1-rmse:0.20902 +[22] validation_0-rmse:0.22509 validation_1-rmse:0.20631 +[23] validation_0-rmse:0.22312 validation_1-rmse:0.20373 +[24] validation_0-rmse:0.22123 validation_1-rmse:0.20076 +[25] validation_0-rmse:0.21951 validation_1-rmse:0.19837 +[26] validation_0-rmse:0.21751 validation_1-rmse:0.19562 +[27] validation_0-rmse:0.21589 validation_1-rmse:0.19309 +[28] validation_0-rmse:0.21422 validation_1-rmse:0.19091 +[29] validation_0-rmse:0.21272 validation_1-rmse:0.18879 +[30] validation_0-rmse:0.21119 validation_1-rmse:0.18660 +[31] validation_0-rmse:0.20982 validation_1-rmse:0.18468 +[32] validation_0-rmse:0.20829 validation_1-rmse:0.18239 +[33] validation_0-rmse:0.20681 validation_1-rmse:0.18048 +[34] validation_0-rmse:0.20548 validation_1-rmse:0.17869 +[35] validation_0-rmse:0.20431 validation_1-rmse:0.17665 +[36] validation_0-rmse:0.20297 validation_1-rmse:0.17483 +[37] validation_0-rmse:0.20174 validation_1-rmse:0.17311 +[38] validation_0-rmse:0.20060 validation_1-rmse:0.17153 +[39] validation_0-rmse:0.19951 validation_1-rmse:0.16958 +[40] validation_0-rmse:0.19848 validation_1-rmse:0.16805 +[41] validation_0-rmse:0.19745 validation_1-rmse:0.16652 +[42] validation_0-rmse:0.19647 validation_1-rmse:0.16509 +[43] validation_0-rmse:0.19570 validation_1-rmse:0.16325 +[44] validation_0-rmse:0.19473 validation_1-rmse:0.16187 +[45] validation_0-rmse:0.19397 validation_1-rmse:0.16012 +[46] validation_0-rmse:0.19314 validation_1-rmse:0.15887 +[47] validation_0-rmse:0.19196 validation_1-rmse:0.15723 +[48] validation_0-rmse:0.19096 validation_1-rmse:0.15595 +[49] validation_0-rmse:0.19009 validation_1-rmse:0.15468 +[50] validation_0-rmse:0.18931 validation_1-rmse:0.15355 +[51] validation_0-rmse:0.18864 validation_1-rmse:0.15207 +[52] validation_0-rmse:0.18786 validation_1-rmse:0.15101 +[53] validation_0-rmse:0.18690 validation_1-rmse:0.14960 +[54] validation_0-rmse:0.18614 validation_1-rmse:0.14859 +[55] validation_0-rmse:0.18550 validation_1-rmse:0.14756 +[56] validation_0-rmse:0.18475 validation_1-rmse:0.14647 +[57] validation_0-rmse:0.18405 validation_1-rmse:0.14545 +[58] validation_0-rmse:0.18346 validation_1-rmse:0.14415 +[59] validation_0-rmse:0.18277 validation_1-rmse:0.14321 +[60] validation_0-rmse:0.18219 validation_1-rmse:0.14221 +[61] validation_0-rmse:0.18158 validation_1-rmse:0.14129 +[62] validation_0-rmse:0.18100 validation_1-rmse:0.14043 +[63] validation_0-rmse:0.18059 validation_1-rmse:0.13920 +[64] validation_0-rmse:0.17997 validation_1-rmse:0.13842 +[65] validation_0-rmse:0.17941 validation_1-rmse:0.13754 +[66] validation_0-rmse:0.17881 validation_1-rmse:0.13652 +[67] validation_0-rmse:0.17823 validation_1-rmse:0.13576 +[68] validation_0-rmse:0.17784 validation_1-rmse:0.13468 +[69] validation_0-rmse:0.17735 validation_1-rmse:0.13396 +[70] validation_0-rmse:0.17687 validation_1-rmse:0.13311 +[71] validation_0-rmse:0.17628 validation_1-rmse:0.13225 +[72] validation_0-rmse:0.17599 validation_1-rmse:0.13154 +[73] validation_0-rmse:0.17542 validation_1-rmse:0.13080 +[74] validation_0-rmse:0.17497 validation_1-rmse:0.13013 +[75] validation_0-rmse:0.17456 validation_1-rmse:0.12954 +[76] validation_0-rmse:0.17416 validation_1-rmse:0.12864 +[77] validation_0-rmse:0.17369 validation_1-rmse:0.12802 +[78] validation_0-rmse:0.17345 validation_1-rmse:0.12735 +[79] validation_0-rmse:0.17302 validation_1-rmse:0.12672 +[80] validation_0-rmse:0.17254 validation_1-rmse:0.12609 +[81] validation_0-rmse:0.17248 validation_1-rmse:0.12527 +[82] validation_0-rmse:0.17210 validation_1-rmse:0.12470 +[83] validation_0-rmse:0.17196 validation_1-rmse:0.12398 +[84] validation_0-rmse:0.17189 validation_1-rmse:0.12334 +[85] validation_0-rmse:0.17155 validation_1-rmse:0.12280 +[86] validation_0-rmse:0.17124 validation_1-rmse:0.12230 +[87] validation_0-rmse:0.17103 validation_1-rmse:0.12178 +[88] validation_0-rmse:0.17086 validation_1-rmse:0.12118 +[89] validation_0-rmse:0.17064 validation_1-rmse:0.12049 +[90] validation_0-rmse:0.17029 validation_1-rmse:0.11993 +[91] validation_0-rmse:0.16981 validation_1-rmse:0.11942 +[92] validation_0-rmse:0.16950 validation_1-rmse:0.11894 +[93] validation_0-rmse:0.16937 validation_1-rmse:0.11833 +[94] validation_0-rmse:0.16928 validation_1-rmse:0.11786 +[95] validation_0-rmse:0.16899 validation_1-rmse:0.11735 +[96] validation_0-rmse:0.16869 validation_1-rmse:0.11693 +[97] validation_0-rmse:0.16843 validation_1-rmse:0.11650 +[98] validation_0-rmse:0.16829 validation_1-rmse:0.11591 +[99] validation_0-rmse:0.16802 validation_1-rmse:0.11547 +2025-04-29 01:56:47,778 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training SOL/USDT (6.57 secs) -------------------- +2025-04-29 01:56:47,779 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:56:48,320 - freqtrade.freqai.freqai_interface - INFO - Training SOL/USDT, 2/2 pairs from 2025-01-21 00:00:00 to 2025-02-20 00:00:00, 6/11 trains +2025-04-29 01:56:48,321 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_sol_1740009600_prediction.feather +2025-04-29 01:56:48,327 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:56:48,333 - FreqaiExampleStrategy - INFO - 目标列形状:(38450,) +2025-04-29 01:56:48,334 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.714422 +1 0.003044 49.714422 +2 0.000465 49.714422 +3 -0.000380 49.714422 +4 0.002829 49.714422 +2025-04-29 01:56:48,346 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:56:48,353 - FreqaiExampleStrategy - INFO - 目标列形状:(43250,) +2025-04-29 01:56:48,354 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.626186 +1 0.003044 49.626186 +2 0.000465 49.626186 +3 -0.000380 49.626186 +4 0.002829 49.626186 +2025-04-29 01:56:48,361 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-SOL_1740009600/cb_sol_1740009600 +2025-04-29 01:56:48,361 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training SOL/USDT -------------------- +2025-04-29 01:56:48,383 - freqtrade.freqai.data_kitchen - INFO - SOL/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:56:48,383 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-01-21 to 2025-02-19 -------------------- +2025-04-29 01:56:53,532 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 111 features +2025-04-29 01:56:53,533 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.29357 validation_1-rmse:0.28852 +[1] validation_0-rmse:0.28850 validation_1-rmse:0.28219 +[2] validation_0-rmse:0.28292 validation_1-rmse:0.27618 +[3] validation_0-rmse:0.27862 validation_1-rmse:0.27046 +[4] validation_0-rmse:0.27383 validation_1-rmse:0.26510 +[5] validation_0-rmse:0.27018 validation_1-rmse:0.25989 +[6] validation_0-rmse:0.26615 validation_1-rmse:0.25477 +[7] validation_0-rmse:0.26234 validation_1-rmse:0.25007 +[8] validation_0-rmse:0.25794 validation_1-rmse:0.24560 +[9] validation_0-rmse:0.25417 validation_1-rmse:0.24109 +[10] validation_0-rmse:0.25083 validation_1-rmse:0.23700 +[11] validation_0-rmse:0.24683 validation_1-rmse:0.23303 +[12] validation_0-rmse:0.24384 validation_1-rmse:0.22908 +[13] validation_0-rmse:0.24093 validation_1-rmse:0.22542 +[14] validation_0-rmse:0.23743 validation_1-rmse:0.22186 +[15] validation_0-rmse:0.23484 validation_1-rmse:0.21841 +[16] validation_0-rmse:0.23215 validation_1-rmse:0.21525 +[17] validation_0-rmse:0.22951 validation_1-rmse:0.21206 +[18] validation_0-rmse:0.22658 validation_1-rmse:0.20906 +[19] validation_0-rmse:0.22440 validation_1-rmse:0.20615 +[20] validation_0-rmse:0.22193 validation_1-rmse:0.20314 +[21] validation_0-rmse:0.22009 validation_1-rmse:0.20016 +[22] validation_0-rmse:0.21755 validation_1-rmse:0.19751 +[23] validation_0-rmse:0.21578 validation_1-rmse:0.19498 +[24] validation_0-rmse:0.21440 validation_1-rmse:0.19241 +[25] validation_0-rmse:0.21229 validation_1-rmse:0.19006 +[26] validation_0-rmse:0.21038 validation_1-rmse:0.18780 +[27] validation_0-rmse:0.20897 validation_1-rmse:0.18529 +[28] validation_0-rmse:0.20703 validation_1-rmse:0.18313 +[29] validation_0-rmse:0.20556 validation_1-rmse:0.18091 +[30] validation_0-rmse:0.20384 validation_1-rmse:0.17884 +[31] validation_0-rmse:0.20281 validation_1-rmse:0.17690 +[32] validation_0-rmse:0.20169 validation_1-rmse:0.17483 +[33] validation_0-rmse:0.20012 validation_1-rmse:0.17300 +[34] validation_0-rmse:0.19876 validation_1-rmse:0.17106 +[35] validation_0-rmse:0.19755 validation_1-rmse:0.16934 +[36] validation_0-rmse:0.19649 validation_1-rmse:0.16752 +[37] validation_0-rmse:0.19501 validation_1-rmse:0.16586 +[38] validation_0-rmse:0.19423 validation_1-rmse:0.16418 +[39] validation_0-rmse:0.19297 validation_1-rmse:0.16264 +[40] validation_0-rmse:0.19162 validation_1-rmse:0.16092 +[41] validation_0-rmse:0.19049 validation_1-rmse:0.15952 +[42] validation_0-rmse:0.18925 validation_1-rmse:0.15810 +[43] validation_0-rmse:0.18845 validation_1-rmse:0.15638 +[44] validation_0-rmse:0.18730 validation_1-rmse:0.15506 +[45] validation_0-rmse:0.18661 validation_1-rmse:0.15357 +[46] validation_0-rmse:0.18563 validation_1-rmse:0.15226 +[47] validation_0-rmse:0.18473 validation_1-rmse:0.15101 +[48] validation_0-rmse:0.18399 validation_1-rmse:0.14957 +[49] validation_0-rmse:0.18304 validation_1-rmse:0.14841 +[50] validation_0-rmse:0.18219 validation_1-rmse:0.14717 +[51] validation_0-rmse:0.18131 validation_1-rmse:0.14599 +[52] validation_0-rmse:0.18043 validation_1-rmse:0.14492 +[53] validation_0-rmse:0.17966 validation_1-rmse:0.14388 +[54] validation_0-rmse:0.17901 validation_1-rmse:0.14274 +[55] validation_0-rmse:0.17850 validation_1-rmse:0.14134 +[56] validation_0-rmse:0.17764 validation_1-rmse:0.14035 +[57] validation_0-rmse:0.17682 validation_1-rmse:0.13937 +[58] validation_0-rmse:0.17604 validation_1-rmse:0.13844 +[59] validation_0-rmse:0.17526 validation_1-rmse:0.13754 +[60] validation_0-rmse:0.17488 validation_1-rmse:0.13621 +[61] validation_0-rmse:0.17432 validation_1-rmse:0.13530 +[62] validation_0-rmse:0.17345 validation_1-rmse:0.13439 +[63] validation_0-rmse:0.17284 validation_1-rmse:0.13358 +[64] validation_0-rmse:0.17213 validation_1-rmse:0.13278 +[65] validation_0-rmse:0.17164 validation_1-rmse:0.13175 +[66] validation_0-rmse:0.17098 validation_1-rmse:0.13088 +[67] validation_0-rmse:0.17049 validation_1-rmse:0.13002 +[68] validation_0-rmse:0.17000 validation_1-rmse:0.12918 +[69] validation_0-rmse:0.16969 validation_1-rmse:0.12815 +[70] validation_0-rmse:0.16917 validation_1-rmse:0.12746 +[71] validation_0-rmse:0.16857 validation_1-rmse:0.12678 +[72] validation_0-rmse:0.16830 validation_1-rmse:0.12595 +[73] validation_0-rmse:0.16793 validation_1-rmse:0.12522 +[74] validation_0-rmse:0.16752 validation_1-rmse:0.12457 +[75] validation_0-rmse:0.16704 validation_1-rmse:0.12395 +[76] validation_0-rmse:0.16668 validation_1-rmse:0.12316 +[77] validation_0-rmse:0.16621 validation_1-rmse:0.12251 +[78] validation_0-rmse:0.16591 validation_1-rmse:0.12185 +[79] validation_0-rmse:0.16550 validation_1-rmse:0.12115 +[80] validation_0-rmse:0.16506 validation_1-rmse:0.12055 +[81] validation_0-rmse:0.16467 validation_1-rmse:0.12001 +[82] validation_0-rmse:0.16422 validation_1-rmse:0.11944 +[83] validation_0-rmse:0.16379 validation_1-rmse:0.11892 +[84] validation_0-rmse:0.16344 validation_1-rmse:0.11825 +[85] validation_0-rmse:0.16317 validation_1-rmse:0.11766 +[86] validation_0-rmse:0.16289 validation_1-rmse:0.11712 +[87] validation_0-rmse:0.16271 validation_1-rmse:0.11639 +[88] validation_0-rmse:0.16236 validation_1-rmse:0.11591 +[89] validation_0-rmse:0.16210 validation_1-rmse:0.11515 +[90] validation_0-rmse:0.16170 validation_1-rmse:0.11457 +[91] validation_0-rmse:0.16149 validation_1-rmse:0.11411 +[92] validation_0-rmse:0.16132 validation_1-rmse:0.11360 +[93] validation_0-rmse:0.16108 validation_1-rmse:0.11292 +[94] validation_0-rmse:0.16077 validation_1-rmse:0.11247 +[95] validation_0-rmse:0.16040 validation_1-rmse:0.11205 +[96] validation_0-rmse:0.16017 validation_1-rmse:0.11157 +[97] validation_0-rmse:0.15988 validation_1-rmse:0.11117 +[98] validation_0-rmse:0.15964 validation_1-rmse:0.11074 +[99] validation_0-rmse:0.15958 validation_1-rmse:0.11029 +2025-04-29 01:56:54,862 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training SOL/USDT (6.50 secs) -------------------- +2025-04-29 01:56:54,863 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:56:55,419 - freqtrade.freqai.freqai_interface - INFO - Training SOL/USDT, 2/2 pairs from 2025-01-31 00:00:00 to 2025-03-02 00:00:00, 7/11 trains +2025-04-29 01:56:55,420 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_sol_1740873600_prediction.feather +2025-04-29 01:56:55,426 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:56:55,433 - FreqaiExampleStrategy - INFO - 目标列形状:(43250,) +2025-04-29 01:56:55,435 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.626186 +1 0.003044 49.626186 +2 0.000465 49.626186 +3 -0.000380 49.626186 +4 0.002829 49.626186 +2025-04-29 01:56:55,445 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:56:55,452 - FreqaiExampleStrategy - INFO - 目标列形状:(48050,) +2025-04-29 01:56:55,453 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.568812 +1 0.003044 49.568812 +2 0.000465 49.568812 +3 -0.000380 49.568812 +4 0.002829 49.568812 +2025-04-29 01:56:55,459 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-SOL_1740873600/cb_sol_1740873600 +2025-04-29 01:56:55,459 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training SOL/USDT -------------------- +2025-04-29 01:56:55,481 - freqtrade.freqai.data_kitchen - INFO - SOL/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:56:55,482 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-01-31 to 2025-03-01 -------------------- +2025-04-29 01:57:00,566 - datasieve.pipeline - INFO - DI tossed 2417 predictions for being too far from training data. +2025-04-29 01:57:00,569 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 111 features +2025-04-29 01:57:00,570 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.33058 validation_1-rmse:0.29214 +[1] validation_0-rmse:0.32414 validation_1-rmse:0.28558 +[2] validation_0-rmse:0.31832 validation_1-rmse:0.27962 +[3] validation_0-rmse:0.31280 validation_1-rmse:0.27380 +[4] validation_0-rmse:0.30679 validation_1-rmse:0.26829 +[5] validation_0-rmse:0.30182 validation_1-rmse:0.26306 +[6] validation_0-rmse:0.29686 validation_1-rmse:0.25797 +[7] validation_0-rmse:0.29291 validation_1-rmse:0.25323 +[8] validation_0-rmse:0.28868 validation_1-rmse:0.24871 +[9] validation_0-rmse:0.28559 validation_1-rmse:0.24437 +[10] validation_0-rmse:0.28262 validation_1-rmse:0.24018 +[11] validation_0-rmse:0.27890 validation_1-rmse:0.23606 +[12] validation_0-rmse:0.27663 validation_1-rmse:0.23225 +[13] validation_0-rmse:0.27306 validation_1-rmse:0.22870 +[14] validation_0-rmse:0.26948 validation_1-rmse:0.22493 +[15] validation_0-rmse:0.26663 validation_1-rmse:0.22157 +[16] validation_0-rmse:0.26427 validation_1-rmse:0.21817 +[17] validation_0-rmse:0.26195 validation_1-rmse:0.21492 +[18] validation_0-rmse:0.25856 validation_1-rmse:0.21177 +[19] validation_0-rmse:0.25606 validation_1-rmse:0.20861 +[20] validation_0-rmse:0.25343 validation_1-rmse:0.20580 +[21] validation_0-rmse:0.25243 validation_1-rmse:0.20301 +[22] validation_0-rmse:0.25066 validation_1-rmse:0.20027 +[23] validation_0-rmse:0.24864 validation_1-rmse:0.19761 +[24] validation_0-rmse:0.24630 validation_1-rmse:0.19522 +[25] validation_0-rmse:0.24491 validation_1-rmse:0.19283 +[26] validation_0-rmse:0.24339 validation_1-rmse:0.19036 +[27] validation_0-rmse:0.24108 validation_1-rmse:0.18818 +[28] validation_0-rmse:0.23976 validation_1-rmse:0.18592 +[29] validation_0-rmse:0.23882 validation_1-rmse:0.18348 +[30] validation_0-rmse:0.23676 validation_1-rmse:0.18142 +[31] validation_0-rmse:0.23520 validation_1-rmse:0.17945 +[32] validation_0-rmse:0.23395 validation_1-rmse:0.17754 +[33] validation_0-rmse:0.23229 validation_1-rmse:0.17545 +[34] validation_0-rmse:0.23073 validation_1-rmse:0.17360 +[35] validation_0-rmse:0.22951 validation_1-rmse:0.17182 +[36] validation_0-rmse:0.22806 validation_1-rmse:0.16995 +[37] validation_0-rmse:0.22713 validation_1-rmse:0.16834 +[38] validation_0-rmse:0.22541 validation_1-rmse:0.16668 +[39] validation_0-rmse:0.22393 validation_1-rmse:0.16509 +[40] validation_0-rmse:0.22282 validation_1-rmse:0.16343 +[41] validation_0-rmse:0.22168 validation_1-rmse:0.16185 +[42] validation_0-rmse:0.22085 validation_1-rmse:0.16046 +[43] validation_0-rmse:0.21991 validation_1-rmse:0.15907 +[44] validation_0-rmse:0.21833 validation_1-rmse:0.15756 +[45] validation_0-rmse:0.21710 validation_1-rmse:0.15618 +[46] validation_0-rmse:0.21619 validation_1-rmse:0.15490 +[47] validation_0-rmse:0.21518 validation_1-rmse:0.15345 +[48] validation_0-rmse:0.21402 validation_1-rmse:0.15221 +[49] validation_0-rmse:0.21305 validation_1-rmse:0.15086 +[50] validation_0-rmse:0.21229 validation_1-rmse:0.14968 +[51] validation_0-rmse:0.21119 validation_1-rmse:0.14854 +[52] validation_0-rmse:0.21019 validation_1-rmse:0.14745 +[53] validation_0-rmse:0.20924 validation_1-rmse:0.14637 +[54] validation_0-rmse:0.20982 validation_1-rmse:0.14517 +[55] validation_0-rmse:0.20888 validation_1-rmse:0.14405 +[56] validation_0-rmse:0.20806 validation_1-rmse:0.14305 +[57] validation_0-rmse:0.20822 validation_1-rmse:0.14169 +[58] validation_0-rmse:0.20741 validation_1-rmse:0.14071 +[59] validation_0-rmse:0.20663 validation_1-rmse:0.13976 +[60] validation_0-rmse:0.20602 validation_1-rmse:0.13882 +[61] validation_0-rmse:0.20523 validation_1-rmse:0.13776 +[62] validation_0-rmse:0.20558 validation_1-rmse:0.13689 +[63] validation_0-rmse:0.20501 validation_1-rmse:0.13605 +[64] validation_0-rmse:0.20348 validation_1-rmse:0.13462 +[65] validation_0-rmse:0.20273 validation_1-rmse:0.13382 +[66] validation_0-rmse:0.20203 validation_1-rmse:0.13306 +[67] validation_0-rmse:0.20166 validation_1-rmse:0.13228 +[68] validation_0-rmse:0.20002 validation_1-rmse:0.13102 +[69] validation_0-rmse:0.19928 validation_1-rmse:0.13021 +[70] validation_0-rmse:0.19870 validation_1-rmse:0.12946 +[71] validation_0-rmse:0.19830 validation_1-rmse:0.12876 +[72] validation_0-rmse:0.19814 validation_1-rmse:0.12801 +[73] validation_0-rmse:0.19798 validation_1-rmse:0.12711 +[74] validation_0-rmse:0.19746 validation_1-rmse:0.12649 +[75] validation_0-rmse:0.19701 validation_1-rmse:0.12588 +[76] validation_0-rmse:0.19555 validation_1-rmse:0.12467 +[77] validation_0-rmse:0.19514 validation_1-rmse:0.12407 +[78] validation_0-rmse:0.19468 validation_1-rmse:0.12347 +[79] validation_0-rmse:0.19439 validation_1-rmse:0.12277 +[80] validation_0-rmse:0.19473 validation_1-rmse:0.12220 +[81] validation_0-rmse:0.19448 validation_1-rmse:0.12154 +[82] validation_0-rmse:0.19418 validation_1-rmse:0.12086 +[83] validation_0-rmse:0.19370 validation_1-rmse:0.12030 +[84] validation_0-rmse:0.19346 validation_1-rmse:0.11976 +[85] validation_0-rmse:0.19322 validation_1-rmse:0.11879 +[86] validation_0-rmse:0.19282 validation_1-rmse:0.11819 +[87] validation_0-rmse:0.19226 validation_1-rmse:0.11770 +[88] validation_0-rmse:0.19187 validation_1-rmse:0.11719 +[89] validation_0-rmse:0.19145 validation_1-rmse:0.11671 +[90] validation_0-rmse:0.19134 validation_1-rmse:0.11619 +[91] validation_0-rmse:0.19030 validation_1-rmse:0.11531 +[92] validation_0-rmse:0.18998 validation_1-rmse:0.11487 +[93] validation_0-rmse:0.18945 validation_1-rmse:0.11445 +[94] validation_0-rmse:0.18919 validation_1-rmse:0.11395 +[95] validation_0-rmse:0.18862 validation_1-rmse:0.11324 +[96] validation_0-rmse:0.18824 validation_1-rmse:0.11283 +[97] validation_0-rmse:0.18778 validation_1-rmse:0.11225 +[98] validation_0-rmse:0.18755 validation_1-rmse:0.11186 +[99] validation_0-rmse:0.18742 validation_1-rmse:0.11149 +2025-04-29 01:57:02,441 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training SOL/USDT (6.98 secs) -------------------- +2025-04-29 01:57:02,442 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:57:02,968 - freqtrade.freqai.freqai_interface - INFO - Training SOL/USDT, 2/2 pairs from 2025-02-10 00:00:00 to 2025-03-12 00:00:00, 8/11 trains +2025-04-29 01:57:02,968 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_sol_1741737600_prediction.feather +2025-04-29 01:57:02,980 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:57:02,987 - FreqaiExampleStrategy - INFO - 目标列形状:(48050,) +2025-04-29 01:57:02,989 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.568812 +1 0.003044 49.568812 +2 0.000465 49.568812 +3 -0.000380 49.568812 +4 0.002829 49.568812 +2025-04-29 01:57:03,001 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:57:03,007 - FreqaiExampleStrategy - INFO - 目标列形状:(52850,) +2025-04-29 01:57:03,009 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.623338 +1 0.003044 49.623338 +2 0.000465 49.623338 +3 -0.000380 49.623338 +4 0.002829 49.623338 +2025-04-29 01:57:03,014 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-SOL_1741737600/cb_sol_1741737600 +2025-04-29 01:57:03,015 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training SOL/USDT -------------------- +2025-04-29 01:57:03,042 - freqtrade.freqai.data_kitchen - INFO - SOL/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:57:03,042 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-02-10 to 2025-03-11 -------------------- +2025-04-29 01:57:08,138 - datasieve.pipeline - INFO - DI tossed 3 predictions for being too far from training data. +2025-04-29 01:57:08,141 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 111 features +2025-04-29 01:57:08,141 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.25025 validation_1-rmse:0.24842 +[1] validation_0-rmse:0.24557 validation_1-rmse:0.24302 +[2] validation_0-rmse:0.24132 validation_1-rmse:0.23806 +[3] validation_0-rmse:0.23733 validation_1-rmse:0.23332 +[4] validation_0-rmse:0.23376 validation_1-rmse:0.22859 +[5] validation_0-rmse:0.23049 validation_1-rmse:0.22444 +[6] validation_0-rmse:0.22702 validation_1-rmse:0.22025 +[7] validation_0-rmse:0.22380 validation_1-rmse:0.21631 +[8] validation_0-rmse:0.22066 validation_1-rmse:0.21250 +[9] validation_0-rmse:0.21772 validation_1-rmse:0.20892 +[10] validation_0-rmse:0.21473 validation_1-rmse:0.20536 +[11] validation_0-rmse:0.21219 validation_1-rmse:0.20211 +[12] validation_0-rmse:0.20968 validation_1-rmse:0.19897 +[13] validation_0-rmse:0.20730 validation_1-rmse:0.19597 +[14] validation_0-rmse:0.20552 validation_1-rmse:0.19281 +[15] validation_0-rmse:0.20361 validation_1-rmse:0.18992 +[16] validation_0-rmse:0.20165 validation_1-rmse:0.18721 +[17] validation_0-rmse:0.19948 validation_1-rmse:0.18463 +[18] validation_0-rmse:0.19807 validation_1-rmse:0.18193 +[19] validation_0-rmse:0.19703 validation_1-rmse:0.17939 +[20] validation_0-rmse:0.19569 validation_1-rmse:0.17683 +[21] validation_0-rmse:0.19388 validation_1-rmse:0.17462 +[22] validation_0-rmse:0.19219 validation_1-rmse:0.17240 +[23] validation_0-rmse:0.19062 validation_1-rmse:0.17026 +[24] validation_0-rmse:0.18933 validation_1-rmse:0.16813 +[25] validation_0-rmse:0.18829 validation_1-rmse:0.16598 +[26] validation_0-rmse:0.18704 validation_1-rmse:0.16411 +[27] validation_0-rmse:0.18563 validation_1-rmse:0.16221 +[28] validation_0-rmse:0.18446 validation_1-rmse:0.16034 +[29] validation_0-rmse:0.18316 validation_1-rmse:0.15841 +[30] validation_0-rmse:0.18192 validation_1-rmse:0.15674 +[31] validation_0-rmse:0.18091 validation_1-rmse:0.15479 +[32] validation_0-rmse:0.18003 validation_1-rmse:0.15312 +[33] validation_0-rmse:0.17886 validation_1-rmse:0.15150 +[34] validation_0-rmse:0.17786 validation_1-rmse:0.14997 +[35] validation_0-rmse:0.17692 validation_1-rmse:0.14855 +[36] validation_0-rmse:0.17613 validation_1-rmse:0.14709 +[37] validation_0-rmse:0.17547 validation_1-rmse:0.14549 +[38] validation_0-rmse:0.17467 validation_1-rmse:0.14404 +[39] validation_0-rmse:0.17393 validation_1-rmse:0.14267 +[40] validation_0-rmse:0.17348 validation_1-rmse:0.14118 +[41] validation_0-rmse:0.17258 validation_1-rmse:0.13993 +[42] validation_0-rmse:0.17168 validation_1-rmse:0.13871 +[43] validation_0-rmse:0.17077 validation_1-rmse:0.13757 +[44] validation_0-rmse:0.17015 validation_1-rmse:0.13621 +[45] validation_0-rmse:0.16924 validation_1-rmse:0.13509 +[46] validation_0-rmse:0.16833 validation_1-rmse:0.13401 +[47] validation_0-rmse:0.16756 validation_1-rmse:0.13297 +[48] validation_0-rmse:0.16717 validation_1-rmse:0.13198 +[49] validation_0-rmse:0.16664 validation_1-rmse:0.13081 +[50] validation_0-rmse:0.16615 validation_1-rmse:0.12979 +[51] validation_0-rmse:0.16541 validation_1-rmse:0.12879 +[52] validation_0-rmse:0.16478 validation_1-rmse:0.12767 +[53] validation_0-rmse:0.16408 validation_1-rmse:0.12675 +[54] validation_0-rmse:0.16363 validation_1-rmse:0.12571 +[55] validation_0-rmse:0.16320 validation_1-rmse:0.12485 +[56] validation_0-rmse:0.16253 validation_1-rmse:0.12398 +[57] validation_0-rmse:0.16192 validation_1-rmse:0.12307 +[58] validation_0-rmse:0.16149 validation_1-rmse:0.12229 +[59] validation_0-rmse:0.16137 validation_1-rmse:0.12128 +[60] validation_0-rmse:0.16117 validation_1-rmse:0.12045 +[61] validation_0-rmse:0.16064 validation_1-rmse:0.11966 +[62] validation_0-rmse:0.16050 validation_1-rmse:0.11890 +[63] validation_0-rmse:0.16003 validation_1-rmse:0.11809 +[64] validation_0-rmse:0.15969 validation_1-rmse:0.11739 +[65] validation_0-rmse:0.15922 validation_1-rmse:0.11661 +[66] validation_0-rmse:0.15868 validation_1-rmse:0.11577 +[67] validation_0-rmse:0.15830 validation_1-rmse:0.11509 +[68] validation_0-rmse:0.15789 validation_1-rmse:0.11446 +[69] validation_0-rmse:0.15733 validation_1-rmse:0.11372 +[70] validation_0-rmse:0.15694 validation_1-rmse:0.11307 +[71] validation_0-rmse:0.15692 validation_1-rmse:0.11224 +[72] validation_0-rmse:0.15659 validation_1-rmse:0.11166 +[73] validation_0-rmse:0.15634 validation_1-rmse:0.11111 +[74] validation_0-rmse:0.15595 validation_1-rmse:0.11056 +[75] validation_0-rmse:0.15579 validation_1-rmse:0.10985 +[76] validation_0-rmse:0.15543 validation_1-rmse:0.10903 +[77] validation_0-rmse:0.15500 validation_1-rmse:0.10848 +[78] validation_0-rmse:0.15499 validation_1-rmse:0.10778 +[79] validation_0-rmse:0.15471 validation_1-rmse:0.10721 +[80] validation_0-rmse:0.15442 validation_1-rmse:0.10666 +[81] validation_0-rmse:0.15416 validation_1-rmse:0.10608 +[82] validation_0-rmse:0.15388 validation_1-rmse:0.10560 +[83] validation_0-rmse:0.15368 validation_1-rmse:0.10498 +[84] validation_0-rmse:0.15346 validation_1-rmse:0.10449 +[85] validation_0-rmse:0.15329 validation_1-rmse:0.10392 +[86] validation_0-rmse:0.15302 validation_1-rmse:0.10347 +[87] validation_0-rmse:0.15270 validation_1-rmse:0.10303 +[88] validation_0-rmse:0.15259 validation_1-rmse:0.10258 +[89] validation_0-rmse:0.15269 validation_1-rmse:0.10204 +[90] validation_0-rmse:0.15239 validation_1-rmse:0.10159 +[91] validation_0-rmse:0.15204 validation_1-rmse:0.10116 +[92] validation_0-rmse:0.15175 validation_1-rmse:0.10070 +[93] validation_0-rmse:0.15167 validation_1-rmse:0.10017 +[94] validation_0-rmse:0.15154 validation_1-rmse:0.09982 +[95] validation_0-rmse:0.15122 validation_1-rmse:0.09932 +[96] validation_0-rmse:0.15119 validation_1-rmse:0.09880 +[97] validation_0-rmse:0.15112 validation_1-rmse:0.09842 +[98] validation_0-rmse:0.15095 validation_1-rmse:0.09807 +[99] validation_0-rmse:0.15075 validation_1-rmse:0.09770 +2025-04-29 01:57:09,614 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training SOL/USDT (6.60 secs) -------------------- +2025-04-29 01:57:09,615 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:57:10,150 - freqtrade.freqai.freqai_interface - INFO - Training SOL/USDT, 2/2 pairs from 2025-02-20 00:00:00 to 2025-03-22 00:00:00, 9/11 trains +2025-04-29 01:57:10,151 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_sol_1742601600_prediction.feather +2025-04-29 01:57:10,159 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:57:10,167 - FreqaiExampleStrategy - INFO - 目标列形状:(52850,) +2025-04-29 01:57:10,168 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.623338 +1 0.003044 49.623338 +2 0.000465 49.623338 +3 -0.000380 49.623338 +4 0.002829 49.623338 +2025-04-29 01:57:10,181 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:57:10,188 - FreqaiExampleStrategy - INFO - 目标列形状:(57650,) +2025-04-29 01:57:10,190 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.644115 +1 0.003044 49.644115 +2 0.000465 49.644115 +3 -0.000380 49.644115 +4 0.002829 49.644115 +2025-04-29 01:57:10,195 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-SOL_1742601600/cb_sol_1742601600 +2025-04-29 01:57:10,196 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training SOL/USDT -------------------- +2025-04-29 01:57:10,218 - freqtrade.freqai.data_kitchen - INFO - SOL/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:57:10,218 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-02-20 to 2025-03-21 -------------------- +2025-04-29 01:57:15,185 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 111 features +2025-04-29 01:57:15,186 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.24126 validation_1-rmse:0.24985 +[1] validation_0-rmse:0.23710 validation_1-rmse:0.24457 +[2] validation_0-rmse:0.23323 validation_1-rmse:0.23968 +[3] validation_0-rmse:0.22960 validation_1-rmse:0.23491 +[4] validation_0-rmse:0.22600 validation_1-rmse:0.23038 +[5] validation_0-rmse:0.22255 validation_1-rmse:0.22616 +[6] validation_0-rmse:0.21946 validation_1-rmse:0.22213 +[7] validation_0-rmse:0.21640 validation_1-rmse:0.21827 +[8] validation_0-rmse:0.21381 validation_1-rmse:0.21453 +[9] validation_0-rmse:0.21110 validation_1-rmse:0.21092 +[10] validation_0-rmse:0.20854 validation_1-rmse:0.20742 +[11] validation_0-rmse:0.20586 validation_1-rmse:0.20418 +[12] validation_0-rmse:0.20373 validation_1-rmse:0.20097 +[13] validation_0-rmse:0.20156 validation_1-rmse:0.19779 +[14] validation_0-rmse:0.19934 validation_1-rmse:0.19493 +[15] validation_0-rmse:0.19739 validation_1-rmse:0.19211 +[16] validation_0-rmse:0.19537 validation_1-rmse:0.18929 +[17] validation_0-rmse:0.19333 validation_1-rmse:0.18671 +[18] validation_0-rmse:0.19163 validation_1-rmse:0.18396 +[19] validation_0-rmse:0.18975 validation_1-rmse:0.18157 +[20] validation_0-rmse:0.18799 validation_1-rmse:0.17903 +[21] validation_0-rmse:0.18612 validation_1-rmse:0.17673 +[22] validation_0-rmse:0.18451 validation_1-rmse:0.17454 +[23] validation_0-rmse:0.18299 validation_1-rmse:0.17225 +[24] validation_0-rmse:0.18150 validation_1-rmse:0.17025 +[25] validation_0-rmse:0.18016 validation_1-rmse:0.16803 +[26] validation_0-rmse:0.17866 validation_1-rmse:0.16614 +[27] validation_0-rmse:0.17732 validation_1-rmse:0.16429 +[28] validation_0-rmse:0.17619 validation_1-rmse:0.16247 +[29] validation_0-rmse:0.17494 validation_1-rmse:0.16080 +[30] validation_0-rmse:0.17391 validation_1-rmse:0.15889 +[31] validation_0-rmse:0.17282 validation_1-rmse:0.15724 +[32] validation_0-rmse:0.17156 validation_1-rmse:0.15548 +[33] validation_0-rmse:0.17054 validation_1-rmse:0.15393 +[34] validation_0-rmse:0.16943 validation_1-rmse:0.15244 +[35] validation_0-rmse:0.16841 validation_1-rmse:0.15088 +[36] validation_0-rmse:0.16736 validation_1-rmse:0.14950 +[37] validation_0-rmse:0.16647 validation_1-rmse:0.14797 +[38] validation_0-rmse:0.16544 validation_1-rmse:0.14641 +[39] validation_0-rmse:0.16454 validation_1-rmse:0.14508 +[40] validation_0-rmse:0.16357 validation_1-rmse:0.14380 +[41] validation_0-rmse:0.16266 validation_1-rmse:0.14261 +[42] validation_0-rmse:0.16198 validation_1-rmse:0.14134 +[43] validation_0-rmse:0.16105 validation_1-rmse:0.14019 +[44] validation_0-rmse:0.16046 validation_1-rmse:0.13896 +[45] validation_0-rmse:0.15963 validation_1-rmse:0.13773 +[46] validation_0-rmse:0.15899 validation_1-rmse:0.13662 +[47] validation_0-rmse:0.15822 validation_1-rmse:0.13555 +[48] validation_0-rmse:0.15757 validation_1-rmse:0.13452 +[49] validation_0-rmse:0.15688 validation_1-rmse:0.13322 +[50] validation_0-rmse:0.15627 validation_1-rmse:0.13206 +[51] validation_0-rmse:0.15558 validation_1-rmse:0.13110 +[52] validation_0-rmse:0.15493 validation_1-rmse:0.13017 +[53] validation_0-rmse:0.15429 validation_1-rmse:0.12924 +[54] validation_0-rmse:0.15365 validation_1-rmse:0.12838 +[55] validation_0-rmse:0.15303 validation_1-rmse:0.12741 +[56] validation_0-rmse:0.15258 validation_1-rmse:0.12653 +[57] validation_0-rmse:0.15202 validation_1-rmse:0.12569 +[58] validation_0-rmse:0.15142 validation_1-rmse:0.12478 +[59] validation_0-rmse:0.15106 validation_1-rmse:0.12392 +[60] validation_0-rmse:0.15049 validation_1-rmse:0.12297 +[61] validation_0-rmse:0.14990 validation_1-rmse:0.12223 +[62] validation_0-rmse:0.14932 validation_1-rmse:0.12144 +[63] validation_0-rmse:0.14876 validation_1-rmse:0.12071 +[64] validation_0-rmse:0.14826 validation_1-rmse:0.12000 +[65] validation_0-rmse:0.14788 validation_1-rmse:0.11931 +[66] validation_0-rmse:0.14753 validation_1-rmse:0.11842 +[67] validation_0-rmse:0.14714 validation_1-rmse:0.11776 +[68] validation_0-rmse:0.14665 validation_1-rmse:0.11706 +[69] validation_0-rmse:0.14655 validation_1-rmse:0.11614 +[70] validation_0-rmse:0.14616 validation_1-rmse:0.11556 +[71] validation_0-rmse:0.14579 validation_1-rmse:0.11478 +[72] validation_0-rmse:0.14533 validation_1-rmse:0.11418 +[73] validation_0-rmse:0.14491 validation_1-rmse:0.11358 +[74] validation_0-rmse:0.14448 validation_1-rmse:0.11300 +[75] validation_0-rmse:0.14446 validation_1-rmse:0.11235 +[76] validation_0-rmse:0.14414 validation_1-rmse:0.11173 +[77] validation_0-rmse:0.14371 validation_1-rmse:0.11116 +[78] validation_0-rmse:0.14344 validation_1-rmse:0.11066 +[79] validation_0-rmse:0.14321 validation_1-rmse:0.10996 +[80] validation_0-rmse:0.14280 validation_1-rmse:0.10942 +[81] validation_0-rmse:0.14250 validation_1-rmse:0.10885 +[82] validation_0-rmse:0.14222 validation_1-rmse:0.10837 +[83] validation_0-rmse:0.14184 validation_1-rmse:0.10787 +[84] validation_0-rmse:0.14140 validation_1-rmse:0.10731 +[85] validation_0-rmse:0.14114 validation_1-rmse:0.10683 +[86] validation_0-rmse:0.14100 validation_1-rmse:0.10625 +[87] validation_0-rmse:0.14077 validation_1-rmse:0.10574 +[88] validation_0-rmse:0.14048 validation_1-rmse:0.10534 +[89] validation_0-rmse:0.14010 validation_1-rmse:0.10485 +[90] validation_0-rmse:0.13990 validation_1-rmse:0.10443 +[91] validation_0-rmse:0.13956 validation_1-rmse:0.10400 +[92] validation_0-rmse:0.13949 validation_1-rmse:0.10341 +[93] validation_0-rmse:0.13930 validation_1-rmse:0.10298 +[94] validation_0-rmse:0.13905 validation_1-rmse:0.10254 +[95] validation_0-rmse:0.13884 validation_1-rmse:0.10211 +[96] validation_0-rmse:0.13867 validation_1-rmse:0.10167 +[97] validation_0-rmse:0.13859 validation_1-rmse:0.10114 +[98] validation_0-rmse:0.13839 validation_1-rmse:0.10078 +[99] validation_0-rmse:0.13818 validation_1-rmse:0.10038 +2025-04-29 01:57:16,538 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training SOL/USDT (6.34 secs) -------------------- +2025-04-29 01:57:16,539 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:57:17,068 - freqtrade.freqai.freqai_interface - INFO - Training SOL/USDT, 2/2 pairs from 2025-03-02 00:00:00 to 2025-04-01 00:00:00, 10/11 trains +2025-04-29 01:57:17,069 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_sol_1743465600_prediction.feather +2025-04-29 01:57:17,084 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:57:17,092 - FreqaiExampleStrategy - INFO - 目标列形状:(57650,) +2025-04-29 01:57:17,094 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.644115 +1 0.003044 49.644115 +2 0.000465 49.644115 +3 -0.000380 49.644115 +4 0.002829 49.644115 +2025-04-29 01:57:17,108 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:57:17,115 - FreqaiExampleStrategy - INFO - 目标列形状:(62450,) +2025-04-29 01:57:17,117 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.601082 +1 0.003044 49.601082 +2 0.000465 49.601082 +3 -0.000380 49.601082 +4 0.002829 49.601082 +2025-04-29 01:57:17,124 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-SOL_1743465600/cb_sol_1743465600 +2025-04-29 01:57:17,125 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training SOL/USDT -------------------- +2025-04-29 01:57:17,151 - freqtrade.freqai.data_kitchen - INFO - SOL/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:57:17,151 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-03-02 to 2025-03-31 -------------------- +2025-04-29 01:57:22,430 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 111 features +2025-04-29 01:57:22,430 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.23717 validation_1-rmse:0.24954 +[1] validation_0-rmse:0.23311 validation_1-rmse:0.24432 +[2] validation_0-rmse:0.22894 validation_1-rmse:0.23928 +[3] validation_0-rmse:0.22483 validation_1-rmse:0.23452 +[4] validation_0-rmse:0.22141 validation_1-rmse:0.23005 +[5] validation_0-rmse:0.21750 validation_1-rmse:0.22575 +[6] validation_0-rmse:0.21419 validation_1-rmse:0.22161 +[7] validation_0-rmse:0.21074 validation_1-rmse:0.21764 +[8] validation_0-rmse:0.20776 validation_1-rmse:0.21374 +[9] validation_0-rmse:0.20479 validation_1-rmse:0.21020 +[10] validation_0-rmse:0.20193 validation_1-rmse:0.20664 +[11] validation_0-rmse:0.19915 validation_1-rmse:0.20326 +[12] validation_0-rmse:0.19683 validation_1-rmse:0.20013 +[13] validation_0-rmse:0.19459 validation_1-rmse:0.19705 +[14] validation_0-rmse:0.19243 validation_1-rmse:0.19415 +[15] validation_0-rmse:0.19013 validation_1-rmse:0.19115 +[16] validation_0-rmse:0.18828 validation_1-rmse:0.18836 +[17] validation_0-rmse:0.18621 validation_1-rmse:0.18557 +[18] validation_0-rmse:0.18402 validation_1-rmse:0.18302 +[19] validation_0-rmse:0.18198 validation_1-rmse:0.18050 +[20] validation_0-rmse:0.18015 validation_1-rmse:0.17803 +[21] validation_0-rmse:0.17857 validation_1-rmse:0.17575 +[22] validation_0-rmse:0.17681 validation_1-rmse:0.17350 +[23] validation_0-rmse:0.17537 validation_1-rmse:0.17132 +[24] validation_0-rmse:0.17377 validation_1-rmse:0.16919 +[25] validation_0-rmse:0.17225 validation_1-rmse:0.16720 +[26] validation_0-rmse:0.17072 validation_1-rmse:0.16529 +[27] validation_0-rmse:0.16931 validation_1-rmse:0.16310 +[28] validation_0-rmse:0.16784 validation_1-rmse:0.16126 +[29] validation_0-rmse:0.16650 validation_1-rmse:0.15940 +[30] validation_0-rmse:0.16512 validation_1-rmse:0.15771 +[31] validation_0-rmse:0.16392 validation_1-rmse:0.15605 +[32] validation_0-rmse:0.16287 validation_1-rmse:0.15428 +[33] validation_0-rmse:0.16159 validation_1-rmse:0.15277 +[34] validation_0-rmse:0.16033 validation_1-rmse:0.15125 +[35] validation_0-rmse:0.15910 validation_1-rmse:0.14974 +[36] validation_0-rmse:0.15821 validation_1-rmse:0.14832 +[37] validation_0-rmse:0.15733 validation_1-rmse:0.14664 +[38] validation_0-rmse:0.15624 validation_1-rmse:0.14525 +[39] validation_0-rmse:0.15518 validation_1-rmse:0.14395 +[40] validation_0-rmse:0.15451 validation_1-rmse:0.14267 +[41] validation_0-rmse:0.15396 validation_1-rmse:0.14127 +[42] validation_0-rmse:0.15309 validation_1-rmse:0.14006 +[43] validation_0-rmse:0.15219 validation_1-rmse:0.13890 +[44] validation_0-rmse:0.15156 validation_1-rmse:0.13749 +[45] validation_0-rmse:0.15061 validation_1-rmse:0.13637 +[46] validation_0-rmse:0.14982 validation_1-rmse:0.13528 +[47] validation_0-rmse:0.14918 validation_1-rmse:0.13414 +[48] validation_0-rmse:0.14840 validation_1-rmse:0.13312 +[49] validation_0-rmse:0.14802 validation_1-rmse:0.13212 +[50] validation_0-rmse:0.14738 validation_1-rmse:0.13089 +[51] validation_0-rmse:0.14671 validation_1-rmse:0.12994 +[52] validation_0-rmse:0.14604 validation_1-rmse:0.12894 +[53] validation_0-rmse:0.14534 validation_1-rmse:0.12802 +[54] validation_0-rmse:0.14464 validation_1-rmse:0.12718 +[55] validation_0-rmse:0.14423 validation_1-rmse:0.12625 +[56] validation_0-rmse:0.14371 validation_1-rmse:0.12531 +[57] validation_0-rmse:0.14321 validation_1-rmse:0.12446 +[58] validation_0-rmse:0.14279 validation_1-rmse:0.12346 +[59] validation_0-rmse:0.14234 validation_1-rmse:0.12257 +[60] validation_0-rmse:0.14194 validation_1-rmse:0.12181 +[61] validation_0-rmse:0.14176 validation_1-rmse:0.12077 +[62] validation_0-rmse:0.14120 validation_1-rmse:0.12003 +[63] validation_0-rmse:0.14073 validation_1-rmse:0.11932 +[64] validation_0-rmse:0.14023 validation_1-rmse:0.11862 +[65] validation_0-rmse:0.14001 validation_1-rmse:0.11791 +[66] validation_0-rmse:0.13966 validation_1-rmse:0.11720 +[67] validation_0-rmse:0.13920 validation_1-rmse:0.11644 +[68] validation_0-rmse:0.13872 validation_1-rmse:0.11560 +[69] validation_0-rmse:0.13831 validation_1-rmse:0.11494 +[70] validation_0-rmse:0.13808 validation_1-rmse:0.11425 +[71] validation_0-rmse:0.13762 validation_1-rmse:0.11348 +[72] validation_0-rmse:0.13725 validation_1-rmse:0.11284 +[73] validation_0-rmse:0.13681 validation_1-rmse:0.11225 +[74] validation_0-rmse:0.13629 validation_1-rmse:0.11165 +[75] validation_0-rmse:0.13595 validation_1-rmse:0.11109 +[76] validation_0-rmse:0.13585 validation_1-rmse:0.11023 +[77] validation_0-rmse:0.13541 validation_1-rmse:0.10972 +[78] validation_0-rmse:0.13505 validation_1-rmse:0.10920 +[79] validation_0-rmse:0.13465 validation_1-rmse:0.10861 +[80] validation_0-rmse:0.13433 validation_1-rmse:0.10810 +[81] validation_0-rmse:0.13409 validation_1-rmse:0.10744 +[82] validation_0-rmse:0.13377 validation_1-rmse:0.10695 +[83] validation_0-rmse:0.13353 validation_1-rmse:0.10641 +[84] validation_0-rmse:0.13337 validation_1-rmse:0.10588 +[85] validation_0-rmse:0.13329 validation_1-rmse:0.10533 +[86] validation_0-rmse:0.13296 validation_1-rmse:0.10488 +[87] validation_0-rmse:0.13264 validation_1-rmse:0.10442 +[88] validation_0-rmse:0.13247 validation_1-rmse:0.10394 +[89] validation_0-rmse:0.13216 validation_1-rmse:0.10351 +[90] validation_0-rmse:0.13188 validation_1-rmse:0.10297 +[91] validation_0-rmse:0.13145 validation_1-rmse:0.10203 +[92] validation_0-rmse:0.13122 validation_1-rmse:0.10157 +[93] validation_0-rmse:0.13102 validation_1-rmse:0.10118 +[94] validation_0-rmse:0.13060 validation_1-rmse:0.10033 +[95] validation_0-rmse:0.13033 validation_1-rmse:0.09981 +[96] validation_0-rmse:0.13016 validation_1-rmse:0.09933 +[97] validation_0-rmse:0.12995 validation_1-rmse:0.09894 +[98] validation_0-rmse:0.12972 validation_1-rmse:0.09860 +[99] validation_0-rmse:0.12954 validation_1-rmse:0.09825 +2025-04-29 01:57:23,725 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training SOL/USDT (6.60 secs) -------------------- +2025-04-29 01:57:23,726 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:57:24,305 - freqtrade.freqai.freqai_interface - INFO - Training SOL/USDT, 2/2 pairs from 2025-03-12 00:00:00 to 2025-04-11 00:00:00, 11/11 trains +2025-04-29 01:57:24,305 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_sol_1744329600_prediction.feather +2025-04-29 01:57:24,318 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:57:24,325 - FreqaiExampleStrategy - INFO - 目标列形状:(62450,) +2025-04-29 01:57:24,327 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.601082 +1 0.003044 49.601082 +2 0.000465 49.601082 +3 -0.000380 49.601082 +4 0.002829 49.601082 +2025-04-29 01:57:24,337 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:57:24,345 - FreqaiExampleStrategy - INFO - 目标列形状:(66770,) +2025-04-29 01:57:24,346 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.729824 +1 0.003044 49.729824 +2 0.000465 49.729824 +3 -0.000380 49.729824 +4 0.002829 49.729824 +2025-04-29 01:57:24,352 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-SOL_1744329600/cb_sol_1744329600 +2025-04-29 01:57:24,353 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training SOL/USDT -------------------- +2025-04-29 01:57:24,376 - freqtrade.freqai.data_kitchen - INFO - SOL/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:57:24,376 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-03-12 to 2025-04-10 -------------------- +2025-04-29 01:57:29,392 - datasieve.pipeline - INFO - DI tossed 1948 predictions for being too far from training data. +2025-04-29 01:57:29,396 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 111 features +2025-04-29 01:57:29,396 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.30616 validation_1-rmse:0.27906 +[1] validation_0-rmse:0.30021 validation_1-rmse:0.27322 +[2] validation_0-rmse:0.29443 validation_1-rmse:0.26757 +[3] validation_0-rmse:0.28911 validation_1-rmse:0.26205 +[4] validation_0-rmse:0.28365 validation_1-rmse:0.25699 +[5] validation_0-rmse:0.27823 validation_1-rmse:0.25219 +[6] validation_0-rmse:0.27295 validation_1-rmse:0.24748 +[7] validation_0-rmse:0.26797 validation_1-rmse:0.24295 +[8] validation_0-rmse:0.26320 validation_1-rmse:0.23854 +[9] validation_0-rmse:0.25898 validation_1-rmse:0.23437 +[10] validation_0-rmse:0.25517 validation_1-rmse:0.23021 +[11] validation_0-rmse:0.25113 validation_1-rmse:0.22639 +[12] validation_0-rmse:0.24762 validation_1-rmse:0.22270 +[13] validation_0-rmse:0.24393 validation_1-rmse:0.21915 +[14] validation_0-rmse:0.24169 validation_1-rmse:0.21579 +[15] validation_0-rmse:0.23898 validation_1-rmse:0.21236 +[16] validation_0-rmse:0.23539 validation_1-rmse:0.20924 +[17] validation_0-rmse:0.23364 validation_1-rmse:0.20621 +[18] validation_0-rmse:0.23062 validation_1-rmse:0.20322 +[19] validation_0-rmse:0.22764 validation_1-rmse:0.20024 +[20] validation_0-rmse:0.22488 validation_1-rmse:0.19731 +[21] validation_0-rmse:0.22211 validation_1-rmse:0.19445 +[22] validation_0-rmse:0.21952 validation_1-rmse:0.19188 +[23] validation_0-rmse:0.21699 validation_1-rmse:0.18935 +[24] validation_0-rmse:0.21549 validation_1-rmse:0.18686 +[25] validation_0-rmse:0.21310 validation_1-rmse:0.18454 +[26] validation_0-rmse:0.21118 validation_1-rmse:0.18198 +[27] validation_0-rmse:0.20904 validation_1-rmse:0.17979 +[28] validation_0-rmse:0.20726 validation_1-rmse:0.17755 +[29] validation_0-rmse:0.20511 validation_1-rmse:0.17547 +[30] validation_0-rmse:0.20336 validation_1-rmse:0.17335 +[31] validation_0-rmse:0.20172 validation_1-rmse:0.17144 +[32] validation_0-rmse:0.19983 validation_1-rmse:0.16961 +[33] validation_0-rmse:0.19794 validation_1-rmse:0.16759 +[34] validation_0-rmse:0.19658 validation_1-rmse:0.16581 +[35] validation_0-rmse:0.19492 validation_1-rmse:0.16409 +[36] validation_0-rmse:0.19347 validation_1-rmse:0.16229 +[37] validation_0-rmse:0.19225 validation_1-rmse:0.16064 +[38] validation_0-rmse:0.19083 validation_1-rmse:0.15877 +[39] validation_0-rmse:0.18921 validation_1-rmse:0.15720 +[40] validation_0-rmse:0.18766 validation_1-rmse:0.15572 +[41] validation_0-rmse:0.18652 validation_1-rmse:0.15414 +[42] validation_0-rmse:0.18519 validation_1-rmse:0.15277 +[43] validation_0-rmse:0.18396 validation_1-rmse:0.15125 +[44] validation_0-rmse:0.18264 validation_1-rmse:0.14968 +[45] validation_0-rmse:0.18134 validation_1-rmse:0.14841 +[46] validation_0-rmse:0.18026 validation_1-rmse:0.14717 +[47] validation_0-rmse:0.17900 validation_1-rmse:0.14594 +[48] validation_0-rmse:0.17815 validation_1-rmse:0.14460 +[49] validation_0-rmse:0.17713 validation_1-rmse:0.14344 +[50] validation_0-rmse:0.17609 validation_1-rmse:0.14232 +[51] validation_0-rmse:0.17502 validation_1-rmse:0.14112 +[52] validation_0-rmse:0.17414 validation_1-rmse:0.13991 +[53] validation_0-rmse:0.17317 validation_1-rmse:0.13889 +[54] validation_0-rmse:0.17267 validation_1-rmse:0.13770 +[55] validation_0-rmse:0.17175 validation_1-rmse:0.13665 +[56] validation_0-rmse:0.17087 validation_1-rmse:0.13573 +[57] validation_0-rmse:0.17001 validation_1-rmse:0.13483 +[58] validation_0-rmse:0.16920 validation_1-rmse:0.13384 +[59] validation_0-rmse:0.16869 validation_1-rmse:0.13280 +[60] validation_0-rmse:0.16790 validation_1-rmse:0.13189 +[61] validation_0-rmse:0.16689 validation_1-rmse:0.13093 +[62] validation_0-rmse:0.16600 validation_1-rmse:0.13007 +[63] validation_0-rmse:0.16548 validation_1-rmse:0.12921 +[64] validation_0-rmse:0.16482 validation_1-rmse:0.12837 +[65] validation_0-rmse:0.16397 validation_1-rmse:0.12747 +[66] validation_0-rmse:0.16316 validation_1-rmse:0.12669 +[67] validation_0-rmse:0.16267 validation_1-rmse:0.12587 +[68] validation_0-rmse:0.16204 validation_1-rmse:0.12501 +[69] validation_0-rmse:0.16159 validation_1-rmse:0.12422 +[70] validation_0-rmse:0.16090 validation_1-rmse:0.12354 +[71] validation_0-rmse:0.16026 validation_1-rmse:0.12282 +[72] validation_0-rmse:0.15986 validation_1-rmse:0.12206 +[73] validation_0-rmse:0.15919 validation_1-rmse:0.12129 +[74] validation_0-rmse:0.15875 validation_1-rmse:0.12061 +[75] validation_0-rmse:0.15829 validation_1-rmse:0.11966 +[76] validation_0-rmse:0.15790 validation_1-rmse:0.11864 +[77] validation_0-rmse:0.15732 validation_1-rmse:0.11802 +[78] validation_0-rmse:0.15696 validation_1-rmse:0.11739 +[79] validation_0-rmse:0.15615 validation_1-rmse:0.11660 +[80] validation_0-rmse:0.15556 validation_1-rmse:0.11593 +[81] validation_0-rmse:0.15516 validation_1-rmse:0.11531 +[82] validation_0-rmse:0.15466 validation_1-rmse:0.11437 +[83] validation_0-rmse:0.15422 validation_1-rmse:0.11383 +[84] validation_0-rmse:0.15382 validation_1-rmse:0.11332 +[85] validation_0-rmse:0.15350 validation_1-rmse:0.11244 +[86] validation_0-rmse:0.15310 validation_1-rmse:0.11180 +[87] validation_0-rmse:0.15277 validation_1-rmse:0.11119 +[88] validation_0-rmse:0.15228 validation_1-rmse:0.11060 +[89] validation_0-rmse:0.15192 validation_1-rmse:0.11011 +[90] validation_0-rmse:0.15144 validation_1-rmse:0.10956 +[91] validation_0-rmse:0.15092 validation_1-rmse:0.10913 +[92] validation_0-rmse:0.15058 validation_1-rmse:0.10847 +[93] validation_0-rmse:0.15017 validation_1-rmse:0.10803 +[94] validation_0-rmse:0.14984 validation_1-rmse:0.10702 +[95] validation_0-rmse:0.14967 validation_1-rmse:0.10629 +[96] validation_0-rmse:0.14914 validation_1-rmse:0.10587 +[97] validation_0-rmse:0.14882 validation_1-rmse:0.10545 +[98] validation_0-rmse:0.14853 validation_1-rmse:0.10454 +[99] validation_0-rmse:0.14837 validation_1-rmse:0.10398 +2025-04-29 01:57:30,474 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training SOL/USDT (6.12 secs) -------------------- +2025-04-29 01:57:30,475 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:57:31,077 - FreqaiExampleStrategy - INFO - 动态参数:buy_rsi=50.0, sell_rsi=70.0, stoploss=-0.15, trailing_stop_positive=0.05 +2025-04-29 01:57:31,096 - FreqaiExampleStrategy - INFO - up_or_down 值统计: +up_or_down +0 33825 +1 32946 +2025-04-29 01:57:31,097 - FreqaiExampleStrategy - INFO - do_predict 值统计: +do_predict +0.0 36730 +1.0 30041 +2025-04-29 01:57:31,105 - freqtrade.optimize.backtesting - INFO - Backtesting with data from 2025-01-01 00:00:00 up to 2025-04-20 00:00:00 (109 days). +2025-04-29 01:57:31,109 - FreqaiExampleStrategy - ERROR - MACD 或 MACD 信号列缺失,无法生成买入信号。尝试重新计算 MACD 列。 +2025-04-29 01:57:31,111 - FreqaiExampleStrategy - INFO - MACD 列已成功重新计算。 +2025-04-29 01:57:31,193 - FreqaiExampleStrategy - ERROR - MACD 或 MACD 信号列缺失,无法生成买入信号。尝试重新计算 MACD 列。 +2025-04-29 01:57:31,195 - FreqaiExampleStrategy - INFO - MACD 列已成功重新计算。 +2025-04-29 01:57:33,776 - freqtrade.misc - INFO - dumping json to "/freqtrade/user_data/backtest_results/backtest-result-2025-04-29_01-57-33.meta.json" +Result for strategy FreqaiExampleStrategy + BACKTESTING REPORT  +┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃  Pair ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃  Win Draw Loss Win% ┃ +┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩ +│ BTC/USDT │ 38 │ -0.39 │ -22.029 │ -2.2 │ 22:13:00 │ 5 32 1 13.2 │ +│ SOL/USDT │ 44 │ -1.94 │ -128.236 │ -12.82 │ 16:35:00 │ 12 26 6 27.3 │ +│ TOTAL │ 82 │ -1.22 │ -150.265 │ -15.03 │ 19:12:00 │ 17 58 7 20.7 │ +└──────────┴────────┴──────────────┴─────────────────┴──────────────┴──────────────┴────────────────────────┘ + LEFT OPEN TRADES REPORT  +┏━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃  Pair ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃  Win Draw Loss Win% ┃ +┡━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩ +│ TOTAL │ 0 │ 0.0 │ 0.000 │ 0.0 │ 0:00 │ 0 0 0 0 │ +└───────┴────────┴──────────────┴─────────────────┴──────────────┴──────────────┴────────────────────────┘ + ENTER TAG STATS  +┏━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃ Enter Tag ┃ Entries ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃  Win Draw Loss Win% ┃ +┡━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩ +│ long │ 82 │ -1.22 │ -150.265 │ -15.03 │ 19:12:00 │ 17 58 7 20.7 │ +│ TOTAL │ 82 │ -1.22 │ -150.265 │ -15.03 │ 19:12:00 │ 17 58 7 20.7 │ +└───────────┴─────────┴──────────────┴─────────────────┴──────────────┴──────────────┴────────────────────────┘ + EXIT REASON STATS  +┏━━━━━━━━━━━━━━━━━━━━┳━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃  Exit Reason ┃ Exits ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃  Avg Duration ┃  Win Draw Loss Win% ┃ +┡━━━━━━━━━━━━━━━━━━━━╇━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩ +│ roi │ 75 │ 0.07 │ 7.926 │ 0.79 │ 14:48:00 │ 17 58 0 100 │ +│ trailing_stop_loss │ 7 │ -15.04 │ -158.191 │ -15.82 │ 2 days, 18:13:00 │ 0 0 7 0 │ +│ TOTAL │ 82 │ -1.22 │ -150.265 │ -15.03 │ 19:12:00 │ 17 58 7 20.7 │ +└────────────────────┴───────┴──────────────┴─────────────────┴──────────────┴──────────────────┴────────────────────────┘ + MIXED TAG STATS  +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃  Enter Tag ┃ Exit Reason ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃  Avg Duration ┃  Win Draw Loss Win% ┃ +┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩ +│ ('long', 'roi') │ │ 75 │ 0.07 │ 7.926 │ 0.79 │ 14:48:00 │ 17 58 0 100 │ +│ ('long', 'trailing_stop_loss') │ │ 7 │ -15.04 │ -158.191 │ -15.82 │ 2 days, 18:13:00 │ 0 0 7 0 │ +│ TOTAL │ │ 82 │ -1.22 │ -150.265 │ -15.03 │ 19:12:00 │ 17 58 7 20.7 │ +└────────────────────────────────┴─────────────┴────────┴──────────────┴─────────────────┴──────────────┴──────────────────┴────────────────────────┘ + SUMMARY METRICS  +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┓ +┃ Metric  ┃ Value  ┃ +┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━┩ +│ Backtesting from │ 2025-01-01 00:00:00 │ +│ Backtesting to │ 2025-04-20 00:00:00 │ +│ Trading Mode │ Spot │ +│ Max open trades │ 2 │ +│ │ │ +│ Total/Daily Avg Trades │ 82 / 0.75 │ +│ Starting balance │ 1000 USDT │ +│ Final balance │ 849.735 USDT │ +│ Absolute profit │ -150.265 USDT │ +│ Total profit % │ -15.03% │ +│ CAGR % │ -42.03% │ +│ Sortino │ -252.56 │ +│ Sharpe │ -4.15 │ +│ Calmar │ -17.48 │ +│ SQN │ -2.60 │ +│ Profit factor │ 0.05 │ +│ Expectancy (Ratio) │ -1.83 (-0.79) │ +│ Avg. daily profit % │ -0.14% │ +│ Avg. stake amount │ 150 USDT │ +│ Total trade volume │ 24523.15 USDT │ +│ │ │ +│ Best Pair │ BTC/USDT -2.20% │ +│ Worst Pair │ SOL/USDT -12.82% │ +│ Best trade │ SOL/USDT 0.90% │ +│ Worst trade │ SOL/USDT -15.19% │ +│ Best day │ 1.76 USDT │ +│ Worst day │ -22.827 USDT │ +│ Days win/draw/lose │ 14 / 80 / 7 │ +│ Avg. Duration Winners │ 0:55:00 │ +│ Avg. Duration Loser │ 2 days, 18:13:00 │ +│ Max Consecutive Wins / Loss │ 2 / 16 │ +│ Rejected Entry signals │ 0 │ +│ Entry/Exit Timeouts │ 0 / 0 │ +│ │ │ +│ Min balance │ 849.735 USDT │ +│ Max balance │ 1000.508 USDT │ +│ Max % of account underwater │ 15.07% │ +│ Absolute Drawdown (Account) │ 15.07% │ +│ Absolute Drawdown │ 150.773 USDT │ +│ Drawdown high │ 0.508 USDT │ +│ Drawdown low │ -150.265 USDT │ +│ Drawdown Start │ 2025-01-06 19:48:00 │ +│ Drawdown End │ 2025-04-06 23:15:00 │ +│ Market change │ -26.79% │ +└─────────────────────────────┴─────────────────────┘ + +Backtested 2025-01-01 00:00:00 -> 2025-04-20 00:00:00 | Max open trades : 2 + STRATEGY SUMMARY  +┏━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━┓ +┃  Strategy ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃  Win Draw Loss Win% ┃  Drawdown ┃ +┡━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━┩ +│ FreqaiExampleStrategy │ 82 │ -1.22 │ -150.265 │ -15.03 │ 19:12:00 │ 17 58 7 20.7 │ 150.773 USDT 15.07% │ +└───────────────────────┴────────┴──────────────┴─────────────────┴──────────────┴──────────────┴────────────────────────┴──────────────────────┘ diff --git a/output.log b/output.log new file mode 100644 index 00000000..e0d47248 --- /dev/null +++ b/output.log @@ -0,0 +1,1232 @@ +Creating freqtrade_freqtrade_run ... +Creating freqtrade_freqtrade_run ... done +2025-05-01 04:27:17,240 - freqtrade - INFO - freqtrade 2025.3 +2025-05-01 04:27:17,468 - numexpr.utils - INFO - NumExpr defaulting to 12 threads. +2025-05-01 04:27:18,889 - freqtrade.configuration.load_config - INFO - Using config: /freqtrade/config_examples/config_freqai.okx.json ... +2025-05-01 04:27:18,891 - freqtrade.loggers - INFO - Enabling colorized output. +2025-05-01 04:27:18,891 - root - INFO - Logfile configured +2025-05-01 04:27:18,892 - freqtrade.loggers - INFO - Verbosity set to 0 +2025-05-01 04:27:18,892 - freqtrade.configuration.configuration - INFO - Using additional Strategy lookup path: /freqtrade/templates +2025-05-01 04:27:18,892 - freqtrade.configuration.configuration - INFO - Using max_open_trades: 4 ... +2025-05-01 04:27:18,893 - freqtrade.configuration.configuration - INFO - Parameter --timerange detected: 20250401-20250420 ... +2025-05-01 04:27:18,909 - freqtrade.configuration.configuration - INFO - Using user-data directory: /freqtrade/user_data ... +2025-05-01 04:27:18,910 - freqtrade.configuration.configuration - INFO - Using data directory: /freqtrade/user_data/data/okx ... +2025-05-01 04:27:18,910 - freqtrade.configuration.configuration - INFO - Parameter --cache=none detected ... +2025-05-01 04:27:18,911 - freqtrade.configuration.configuration - INFO - Filter trades by timerange: 20250401-20250420 +2025-05-01 04:27:18,911 - freqtrade.configuration.configuration - INFO - Using freqaimodel class name: XGBoostRegressor +2025-05-01 04:27:18,912 - freqtrade.exchange.check_exchange - INFO - Checking exchange... +2025-05-01 04:27:18,918 - freqtrade.exchange.check_exchange - INFO - Exchange "okx" is officially supported by the Freqtrade development team. +2025-05-01 04:27:18,918 - freqtrade.configuration.configuration - INFO - Using pairlist from configuration. +2025-05-01 04:27:18,918 - freqtrade.configuration.config_validation - INFO - Validating configuration ... +2025-05-01 04:27:18,920 - freqtrade.commands.optimize_commands - INFO - Starting freqtrade in Backtesting mode +2025-05-01 04:27:18,921 - freqtrade.exchange.exchange - INFO - Instance is running with dry_run enabled +2025-05-01 04:27:18,921 - freqtrade.exchange.exchange - INFO - Using CCXT 4.4.69 +2025-05-01 04:27:18,922 - freqtrade.exchange.exchange - INFO - Applying additional ccxt config: {'enableRateLimit': True, 'rateLimit': 500, 'options': {'defaultType': 'spot'}} +2025-05-01 04:27:18,927 - freqtrade.exchange.exchange - INFO - Applying additional ccxt config: {'enableRateLimit': True, 'rateLimit': 500, 'options': {'defaultType': 'spot'}, 'timeout': 20000} +2025-05-01 04:27:18,933 - freqtrade.exchange.exchange - INFO - Using Exchange "OKX" +2025-05-01 04:27:21,480 - freqtrade.resolvers.exchange_resolver - INFO - Using resolved exchange 'Okx'... +2025-05-01 04:27:21,502 - freqtrade.resolvers.iresolver - INFO - Using resolved strategy FreqaiExampleStrategy from '/freqtrade/templates/FreqaiExampleStrategy.py'... +2025-05-01 04:27:21,503 - freqtrade.strategy.hyper - INFO - Loading parameters from file /freqtrade/templates/FreqaiExampleStrategy.json +2025-05-01 04:27:21,503 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'timeframe' with value in config file: 3m. +2025-05-01 04:27:21,504 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'stoploss' with value in config file: -0.05. +2025-05-01 04:27:21,504 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'stake_currency' with value in config file: USDT. +2025-05-01 04:27:21,504 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'stake_amount' with value in config file: 150. +2025-05-01 04:27:21,505 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'startup_candle_count' with value in config file: 30. +2025-05-01 04:27:21,505 - 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-01 04:27:21,505 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'max_open_trades' with value in config file: 4. +2025-05-01 04:27:21,506 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using minimal_roi: {'0': 0.132, '8': 0.047, '14': 0.007, '60': 0} +2025-05-01 04:27:21,506 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using timeframe: 3m +2025-05-01 04:27:21,506 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using stoploss: -0.05 +2025-05-01 04:27:21,506 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using trailing_stop: True +2025-05-01 04:27:21,507 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using trailing_stop_positive: 0.01 +2025-05-01 04:27:21,507 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using trailing_stop_positive_offset: 0.02 +2025-05-01 04:27:21,507 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using trailing_only_offset_is_reached: False +2025-05-01 04:27:21,508 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using use_custom_stoploss: False +2025-05-01 04:27:21,508 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using process_only_new_candles: True +2025-05-01 04:27:21,508 - 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-01 04:27:21,508 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using order_time_in_force: {'entry': 'GTC', 'exit': 'GTC'} +2025-05-01 04:27:21,509 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using stake_currency: USDT +2025-05-01 04:27:21,509 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using stake_amount: 150 +2025-05-01 04:27:21,509 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using startup_candle_count: 30 +2025-05-01 04:27:21,510 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using unfilledtimeout: {'entry': 5, 'exit': 15, 'exit_timeout_count': 0, 'unit': 'minutes'} +2025-05-01 04:27:21,510 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using use_exit_signal: True +2025-05-01 04:27:21,510 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using exit_profit_only: False +2025-05-01 04:27:21,510 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using ignore_roi_if_entry_signal: False +2025-05-01 04:27:21,511 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using exit_profit_offset: 0.0 +2025-05-01 04:27:21,511 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using disable_dataframe_checks: False +2025-05-01 04:27:21,511 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using ignore_buying_expired_candle_after: 0 +2025-05-01 04:27:21,511 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using position_adjustment_enable: False +2025-05-01 04:27:21,512 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using max_entry_position_adjustment: -1 +2025-05-01 04:27:21,512 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using max_open_trades: 4 +2025-05-01 04:27:21,512 - freqtrade.configuration.config_validation - INFO - Validating configuration ... +2025-05-01 04:27:21,516 - freqtrade.resolvers.iresolver - INFO - Using resolved pairlist StaticPairList from '/freqtrade/freqtrade/plugins/pairlist/StaticPairList.py'... +2025-05-01 04:27:21,522 - freqtrade.optimize.backtesting - INFO - Using fee 0.1500% - worst case fee from exchange (lowest tier). +2025-05-01 04:27:21,523 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 3m to 14450 +2025-05-01 04:27:21,524 - freqtrade.data.history.history_utils - INFO - Using indicator startup period: 14450 ... +2025-05-01 04:27:21,658 - freqtrade.optimize.backtesting - INFO - Loading data from 2025-03-01 21:30:00 up to 2025-04-20 00:00:00 (49 days). +2025-05-01 04:27:21,658 - freqtrade.optimize.backtesting - INFO - Dataload complete. Calculating indicators +2025-05-01 04:27:21,659 - freqtrade.optimize.backtesting - INFO - Running backtesting for Strategy FreqaiExampleStrategy +2025-05-01 04:27:23,258 - matplotlib.font_manager - INFO - generated new fontManager +2025-05-01 04:27:23,463 - freqtrade.resolvers.iresolver - INFO - Using resolved freqaimodel XGBoostRegressor from '/freqtrade/freqtrade/freqai/prediction_models/XGBoostRegressor.py'... +2025-05-01 04:27:23,463 - freqtrade.freqai.data_drawer - INFO - Could not find existing datadrawer, starting from scratch +2025-05-01 04:27:23,464 - freqtrade.freqai.data_drawer - INFO - Could not find existing historic_predictions, starting from scratch +2025-05-01 04:27:23,464 - freqtrade.freqai.freqai_interface - INFO - Set fresh train queue from whitelist. Queue: ['BTC/USDT', 'SOL/USDT'] +2025-05-01 04:27:23,465 - freqtrade.strategy.hyper - INFO - Strategy Parameter: buy_rsi = 39.92672300850069 +2025-05-01 04:27:23,465 - freqtrade.strategy.hyper - INFO - Strategy Parameter: sell_rsi = 69.92672300850067 +2025-05-01 04:27:23,466 - freqtrade.strategy.hyper - INFO - No params for protection found, using default values. +2025-05-01 04:27:23,468 - FreqaiExampleStrategy - INFO - 处理交易对:BTC/USDT +2025-05-01 04:27:23,470 - freqtrade.freqai.freqai_interface - INFO - Training 2 timeranges +2025-05-01 04:27:23,471 - freqtrade.freqai.freqai_interface - INFO - Training BTC/USDT, 1/2 pairs from 2025-03-02 00:00:00 to 2025-04-01 00:00:00, 1/2 trains +2025-05-01 04:27:23,471 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_btc_1743465600_prediction.feather +2025-05-01 04:27:23,486 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:23,502 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:23,519 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:23,570 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 5m to 8690 +2025-05-01 04:27:23,571 - freqtrade.data.dataprovider - INFO - Loading data for BTC/USDT 5m from 2025-03-01 19:50:00 to 2025-04-20 00:00:00 +2025-05-01 04:27:23,623 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:23,635 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:23,647 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:23,688 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 1h to 770 +2025-05-01 04:27:23,689 - freqtrade.data.dataprovider - INFO - Loading data for BTC/USDT 1h from 2025-02-27 22:00:00 to 2025-04-20 00:00:00 +2025-05-01 04:27:23,711 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:23,721 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:23,729 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:23,803 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 3m to 14450 +2025-05-01 04:27:23,804 - freqtrade.data.dataprovider - INFO - Loading data for ETH/USDT 3m from 2025-03-01 21:30:00 to 2025-04-20 00:00:00 +2025-05-01 04:27:23,869 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:23,884 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:23,901 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:23,965 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 5m to 8690 +2025-05-01 04:27:23,965 - freqtrade.data.dataprovider - INFO - Loading data for ETH/USDT 5m from 2025-03-01 19:50:00 to 2025-04-20 00:00:00 +2025-05-01 04:27:24,005 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:24,016 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:24,027 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:24,081 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 1h to 770 +2025-05-01 04:27:24,082 - freqtrade.data.dataprovider - INFO - Loading data for ETH/USDT 1h from 2025-02-27 22:00:00 to 2025-04-20 00:00:00 +2025-05-01 04:27:24,104 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:24,113 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:24,122 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:24,176 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-05-01 04:27:24,182 - FreqaiExampleStrategy - INFO - 目标列形状:(14450,) +2025-05-01 04:27:24,185 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.007116 50.010488 +1 0.005291 50.010488 +2 0.004416 50.010488 +3 0.002082 50.010488 +4 0.001904 50.010488 +2025-05-01 04:27:24,192 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-05-01 04:27:24,198 - FreqaiExampleStrategy - INFO - 目标列形状:(19250,) +2025-05-01 04:27:24,200 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.007116 49.846666 +1 0.005291 49.846666 +2 0.004416 49.846666 +3 0.002082 49.846666 +4 0.001904 49.846666 +2025-05-01 04:27:24,211 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-BTC_1743465600/cb_btc_1743465600 +2025-05-01 04:27:24,212 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training BTC/USDT -------------------- +2025-05-01 04:27:24,234 - freqtrade.freqai.data_kitchen - INFO - BTC/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-05-01 04:27:24,235 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-03-02 to 2025-03-31 -------------------- +2025-05-01 04:27:24,253 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 75 features +2025-05-01 04:27:24,254 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +/home/ftuser/.local/lib/python3.12/site-packages/xgboost/core.py:158: UserWarning: [04:27:24] WARNING: /workspace/src/learner.cc:740: +Parameters: { "verbose" } are not used. + + warnings.warn(smsg, UserWarning) +[0] validation_0-rmse:0.29022 validation_1-rmse:0.28556 +[1] validation_0-rmse:0.28471 validation_1-rmse:0.27986 +[2] validation_0-rmse:0.27927 validation_1-rmse:0.27432 +[3] validation_0-rmse:0.27481 validation_1-rmse:0.26957 +[4] validation_0-rmse:0.27004 validation_1-rmse:0.26485 +[5] validation_0-rmse:0.26549 validation_1-rmse:0.26011 +[6] validation_0-rmse:0.26110 validation_1-rmse:0.25557 +[7] validation_0-rmse:0.25760 validation_1-rmse:0.25177 +[8] validation_0-rmse:0.25374 validation_1-rmse:0.24771 +[9] validation_0-rmse:0.24993 validation_1-rmse:0.24381 +[10] validation_0-rmse:0.24611 validation_1-rmse:0.23989 +[11] validation_0-rmse:0.24272 validation_1-rmse:0.23624 +[12] validation_0-rmse:0.23945 validation_1-rmse:0.23268 +[13] validation_0-rmse:0.23638 validation_1-rmse:0.22927 +[14] validation_0-rmse:0.23339 validation_1-rmse:0.22603 +[15] validation_0-rmse:0.23021 validation_1-rmse:0.22280 +[16] validation_0-rmse:0.22733 validation_1-rmse:0.21967 +[17] validation_0-rmse:0.22449 validation_1-rmse:0.21671 +[18] validation_0-rmse:0.22168 validation_1-rmse:0.21389 +[19] validation_0-rmse:0.21924 validation_1-rmse:0.21115 +[20] validation_0-rmse:0.21676 validation_1-rmse:0.20839 +[21] validation_0-rmse:0.21463 validation_1-rmse:0.20598 +[22] validation_0-rmse:0.21234 validation_1-rmse:0.20353 +[23] validation_0-rmse:0.20996 validation_1-rmse:0.20106 +[24] validation_0-rmse:0.20786 validation_1-rmse:0.19880 +[25] validation_0-rmse:0.20588 validation_1-rmse:0.19656 +[26] validation_0-rmse:0.20402 validation_1-rmse:0.19453 +[27] validation_0-rmse:0.20230 validation_1-rmse:0.19244 +[28] validation_0-rmse:0.20041 validation_1-rmse:0.19044 +[29] validation_0-rmse:0.19883 validation_1-rmse:0.18853 +[30] validation_0-rmse:0.19690 validation_1-rmse:0.18643 +[31] validation_0-rmse:0.19514 validation_1-rmse:0.18453 +[32] validation_0-rmse:0.19353 validation_1-rmse:0.18270 +[33] validation_0-rmse:0.19204 validation_1-rmse:0.18095 +[34] validation_0-rmse:0.19015 validation_1-rmse:0.17907 +[35] validation_0-rmse:0.18869 validation_1-rmse:0.17744 +[36] validation_0-rmse:0.18736 validation_1-rmse:0.17582 +[37] validation_0-rmse:0.18566 validation_1-rmse:0.17405 +[38] validation_0-rmse:0.18431 validation_1-rmse:0.17252 +[39] validation_0-rmse:0.18289 validation_1-rmse:0.17099 +[40] validation_0-rmse:0.18149 validation_1-rmse:0.16959 +[41] validation_0-rmse:0.17999 validation_1-rmse:0.16798 +[42] validation_0-rmse:0.17871 validation_1-rmse:0.16655 +[43] validation_0-rmse:0.17761 validation_1-rmse:0.16521 +[44] validation_0-rmse:0.17628 validation_1-rmse:0.16388 +[45] validation_0-rmse:0.17513 validation_1-rmse:0.16258 +[46] validation_0-rmse:0.17411 validation_1-rmse:0.16135 +[47] validation_0-rmse:0.17304 validation_1-rmse:0.16014 +[48] validation_0-rmse:0.17206 validation_1-rmse:0.15893 +[49] validation_0-rmse:0.17094 validation_1-rmse:0.15768 +[50] validation_0-rmse:0.17004 validation_1-rmse:0.15650 +[51] validation_0-rmse:0.16905 validation_1-rmse:0.15541 +[52] validation_0-rmse:0.16816 validation_1-rmse:0.15430 +[53] validation_0-rmse:0.16730 validation_1-rmse:0.15326 +[54] validation_0-rmse:0.16642 validation_1-rmse:0.15221 +[55] validation_0-rmse:0.16544 validation_1-rmse:0.15114 +[56] validation_0-rmse:0.16458 validation_1-rmse:0.15019 +[57] validation_0-rmse:0.16378 validation_1-rmse:0.14927 +[58] validation_0-rmse:0.16279 validation_1-rmse:0.14821 +[59] validation_0-rmse:0.16198 validation_1-rmse:0.14733 +[60] validation_0-rmse:0.16133 validation_1-rmse:0.14644 +[61] validation_0-rmse:0.16064 validation_1-rmse:0.14558 +[62] validation_0-rmse:0.15990 validation_1-rmse:0.14475 +[63] validation_0-rmse:0.15860 validation_1-rmse:0.14340 +[64] validation_0-rmse:0.15792 validation_1-rmse:0.14261 +[65] validation_0-rmse:0.15720 validation_1-rmse:0.14171 +[66] validation_0-rmse:0.15658 validation_1-rmse:0.14093 +[67] validation_0-rmse:0.15598 validation_1-rmse:0.14016 +[68] validation_0-rmse:0.15495 validation_1-rmse:0.13917 +[69] validation_0-rmse:0.15427 validation_1-rmse:0.13850 +[70] validation_0-rmse:0.15339 validation_1-rmse:0.13762 +[71] validation_0-rmse:0.15235 validation_1-rmse:0.13656 +[72] validation_0-rmse:0.15175 validation_1-rmse:0.13587 +[73] validation_0-rmse:0.15074 validation_1-rmse:0.13477 +[74] validation_0-rmse:0.15014 validation_1-rmse:0.13408 +[75] validation_0-rmse:0.14950 validation_1-rmse:0.13340 +[76] validation_0-rmse:0.14837 validation_1-rmse:0.13228 +[77] validation_0-rmse:0.14764 validation_1-rmse:0.13148 +[78] validation_0-rmse:0.14715 validation_1-rmse:0.13088 +[79] validation_0-rmse:0.14663 validation_1-rmse:0.13020 +[80] validation_0-rmse:0.14617 validation_1-rmse:0.12967 +[81] validation_0-rmse:0.14565 validation_1-rmse:0.12903 +[82] validation_0-rmse:0.14491 validation_1-rmse:0.12829 +[83] validation_0-rmse:0.14423 validation_1-rmse:0.12755 +[84] validation_0-rmse:0.14355 validation_1-rmse:0.12675 +[85] validation_0-rmse:0.14274 validation_1-rmse:0.12590 +[86] validation_0-rmse:0.14235 validation_1-rmse:0.12539 +[87] validation_0-rmse:0.14191 validation_1-rmse:0.12485 +[88] validation_0-rmse:0.14153 validation_1-rmse:0.12435 +[89] validation_0-rmse:0.14099 validation_1-rmse:0.12374 +[90] validation_0-rmse:0.14059 validation_1-rmse:0.12327 +[91] validation_0-rmse:0.13990 validation_1-rmse:0.12261 +[92] validation_0-rmse:0.13954 validation_1-rmse:0.12217 +[93] validation_0-rmse:0.13906 validation_1-rmse:0.12165 +[94] validation_0-rmse:0.13870 validation_1-rmse:0.12119 +[95] validation_0-rmse:0.13836 validation_1-rmse:0.12078 +[96] validation_0-rmse:0.13805 validation_1-rmse:0.12041 +[97] validation_0-rmse:0.13767 validation_1-rmse:0.11995 +[98] validation_0-rmse:0.13720 validation_1-rmse:0.11946 +[99] validation_0-rmse:0.13679 validation_1-rmse:0.11901 +[100] validation_0-rmse:0.13642 validation_1-rmse:0.11863 +[101] validation_0-rmse:0.13604 validation_1-rmse:0.11818 +[102] validation_0-rmse:0.13571 validation_1-rmse:0.11775 +[103] validation_0-rmse:0.13493 validation_1-rmse:0.11696 +[104] validation_0-rmse:0.13458 validation_1-rmse:0.11650 +[105] validation_0-rmse:0.13428 validation_1-rmse:0.11613 +[106] validation_0-rmse:0.13377 validation_1-rmse:0.11555 +[107] validation_0-rmse:0.13351 validation_1-rmse:0.11521 +[108] validation_0-rmse:0.13301 validation_1-rmse:0.11468 +[109] validation_0-rmse:0.13258 validation_1-rmse:0.11420 +[110] validation_0-rmse:0.13235 validation_1-rmse:0.11388 +[111] validation_0-rmse:0.13197 validation_1-rmse:0.11351 +[112] validation_0-rmse:0.13168 validation_1-rmse:0.11312 +[113] validation_0-rmse:0.13130 validation_1-rmse:0.11272 +[114] validation_0-rmse:0.13102 validation_1-rmse:0.11236 +[115] validation_0-rmse:0.13069 validation_1-rmse:0.11200 +[116] validation_0-rmse:0.13023 validation_1-rmse:0.11156 +[117] validation_0-rmse:0.12998 validation_1-rmse:0.11127 +[118] validation_0-rmse:0.12961 validation_1-rmse:0.11084 +[119] validation_0-rmse:0.12940 validation_1-rmse:0.11061 +[120] validation_0-rmse:0.12916 validation_1-rmse:0.11027 +[121] validation_0-rmse:0.12890 validation_1-rmse:0.10996 +[122] validation_0-rmse:0.12864 validation_1-rmse:0.10962 +[123] validation_0-rmse:0.12845 validation_1-rmse:0.10930 +[124] validation_0-rmse:0.12819 validation_1-rmse:0.10901 +[125] validation_0-rmse:0.12797 validation_1-rmse:0.10869 +[126] validation_0-rmse:0.12775 validation_1-rmse:0.10835 +[127] validation_0-rmse:0.12727 validation_1-rmse:0.10785 +[128] validation_0-rmse:0.12693 validation_1-rmse:0.10753 +[129] validation_0-rmse:0.12679 validation_1-rmse:0.10734 +[130] validation_0-rmse:0.12658 validation_1-rmse:0.10703 +[131] validation_0-rmse:0.12605 validation_1-rmse:0.10646 +[132] validation_0-rmse:0.12585 validation_1-rmse:0.10621 +[133] validation_0-rmse:0.12552 validation_1-rmse:0.10586 +[134] validation_0-rmse:0.12513 validation_1-rmse:0.10545 +[135] validation_0-rmse:0.12438 validation_1-rmse:0.10470 +[136] validation_0-rmse:0.12399 validation_1-rmse:0.10431 +[137] validation_0-rmse:0.12362 validation_1-rmse:0.10389 +[138] validation_0-rmse:0.12343 validation_1-rmse:0.10369 +[139] validation_0-rmse:0.12323 validation_1-rmse:0.10341 +[140] validation_0-rmse:0.12305 validation_1-rmse:0.10315 +[141] validation_0-rmse:0.12288 validation_1-rmse:0.10294 +[142] validation_0-rmse:0.12238 validation_1-rmse:0.10240 +[143] validation_0-rmse:0.12206 validation_1-rmse:0.10204 +[144] validation_0-rmse:0.12185 validation_1-rmse:0.10179 +[145] validation_0-rmse:0.12153 validation_1-rmse:0.10145 +[146] validation_0-rmse:0.12128 validation_1-rmse:0.10115 +[147] validation_0-rmse:0.12104 validation_1-rmse:0.10088 +[148] validation_0-rmse:0.12068 validation_1-rmse:0.10047 +[149] validation_0-rmse:0.12049 validation_1-rmse:0.10024 +[150] validation_0-rmse:0.12032 validation_1-rmse:0.10001 +[151] validation_0-rmse:0.12011 validation_1-rmse:0.09980 +[152] validation_0-rmse:0.11997 validation_1-rmse:0.09963 +[153] validation_0-rmse:0.11967 validation_1-rmse:0.09930 +[154] validation_0-rmse:0.11931 validation_1-rmse:0.09895 +[155] validation_0-rmse:0.11913 validation_1-rmse:0.09872 +[156] validation_0-rmse:0.11891 validation_1-rmse:0.09846 +[157] validation_0-rmse:0.11877 validation_1-rmse:0.09829 +[158] validation_0-rmse:0.11839 validation_1-rmse:0.09788 +[159] validation_0-rmse:0.11782 validation_1-rmse:0.09728 +[160] validation_0-rmse:0.11741 validation_1-rmse:0.09685 +[161] validation_0-rmse:0.11696 validation_1-rmse:0.09636 +[162] validation_0-rmse:0.11676 validation_1-rmse:0.09615 +[163] validation_0-rmse:0.11640 validation_1-rmse:0.09573 +[164] validation_0-rmse:0.11610 validation_1-rmse:0.09545 +[165] validation_0-rmse:0.11588 validation_1-rmse:0.09525 +[166] validation_0-rmse:0.11571 validation_1-rmse:0.09509 +[167] validation_0-rmse:0.11556 validation_1-rmse:0.09491 +[168] validation_0-rmse:0.11511 validation_1-rmse:0.09444 +[169] validation_0-rmse:0.11504 validation_1-rmse:0.09428 +[170] validation_0-rmse:0.11482 validation_1-rmse:0.09403 +[171] validation_0-rmse:0.11446 validation_1-rmse:0.09363 +[172] validation_0-rmse:0.11417 validation_1-rmse:0.09328 +[173] validation_0-rmse:0.11395 validation_1-rmse:0.09302 +[174] validation_0-rmse:0.11368 validation_1-rmse:0.09271 +[175] validation_0-rmse:0.11345 validation_1-rmse:0.09246 +[176] validation_0-rmse:0.11323 validation_1-rmse:0.09223 +[177] validation_0-rmse:0.11310 validation_1-rmse:0.09205 +[178] validation_0-rmse:0.11296 validation_1-rmse:0.09187 +[179] validation_0-rmse:0.11273 validation_1-rmse:0.09161 +[180] validation_0-rmse:0.11249 validation_1-rmse:0.09138 +[181] validation_0-rmse:0.11233 validation_1-rmse:0.09118 +[182] validation_0-rmse:0.11207 validation_1-rmse:0.09091 +[183] validation_0-rmse:0.11182 validation_1-rmse:0.09067 +[184] validation_0-rmse:0.11172 validation_1-rmse:0.09050 +[185] validation_0-rmse:0.11160 validation_1-rmse:0.09036 +[186] validation_0-rmse:0.11126 validation_1-rmse:0.08998 +[187] validation_0-rmse:0.11105 validation_1-rmse:0.08972 +[188] validation_0-rmse:0.11075 validation_1-rmse:0.08939 +[189] validation_0-rmse:0.11060 validation_1-rmse:0.08924 +[190] validation_0-rmse:0.11045 validation_1-rmse:0.08908 +[191] validation_0-rmse:0.11034 validation_1-rmse:0.08898 +[192] validation_0-rmse:0.11024 validation_1-rmse:0.08886 +[193] validation_0-rmse:0.10997 validation_1-rmse:0.08853 +[194] validation_0-rmse:0.10974 validation_1-rmse:0.08828 +[195] validation_0-rmse:0.10962 validation_1-rmse:0.08812 +[196] validation_0-rmse:0.10933 validation_1-rmse:0.08779 +[197] validation_0-rmse:0.10906 validation_1-rmse:0.08752 +[198] validation_0-rmse:0.10865 validation_1-rmse:0.08710 +[199] validation_0-rmse:0.10846 validation_1-rmse:0.08691 +2025-05-01 04:27:26,288 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training BTC/USDT (2.08 secs) -------------------- +/home/ftuser/.local/lib/python3.12/site-packages/xgboost/core.py:158: UserWarning: + +[04:27:26] WARNING: /workspace/src/learner.cc:740: +Parameters: { "verbose" } are not used. + + +2025-05-01 04:27:26,516 - freqtrade.plot.plotting - INFO - Stored plot as /freqtrade/user_data/models/test175/sub-train-BTC_1743465600/cb_btc_1743465600--buy_rsi.html +2025-05-01 04:27:26,517 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-05-01 04:27:26,539 - datasieve.pipeline - WARNING - Could not find step di in pipeline, returning None +2025-05-01 04:27:26,546 - freqtrade.freqai.freqai_interface - INFO - Training BTC/USDT, 1/2 pairs from 2025-03-12 00:00:00 to 2025-04-11 00:00:00, 2/2 trains +2025-05-01 04:27:26,547 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_btc_1744329600_prediction.feather +2025-05-01 04:27:26,553 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-05-01 04:27:26,559 - FreqaiExampleStrategy - INFO - 目标列形状:(19250,) +2025-05-01 04:27:26,560 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.007116 49.846666 +1 0.005291 49.846666 +2 0.004416 49.846666 +3 0.002082 49.846666 +4 0.001904 49.846666 +2025-05-01 04:27:26,570 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-05-01 04:27:26,576 - FreqaiExampleStrategy - INFO - 目标列形状:(23570,) +2025-05-01 04:27:26,577 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.007116 50.074781 +1 0.005291 50.074781 +2 0.004416 50.074781 +3 0.002082 50.074781 +4 0.001904 50.074781 +2025-05-01 04:27:26,585 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-BTC_1744329600/cb_btc_1744329600 +2025-05-01 04:27:26,585 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training BTC/USDT -------------------- +2025-05-01 04:27:26,603 - freqtrade.freqai.data_kitchen - INFO - BTC/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-05-01 04:27:26,603 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-03-12 to 2025-04-10 -------------------- +2025-05-01 04:27:26,621 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 75 features +2025-05-01 04:27:26,621 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +/home/ftuser/.local/lib/python3.12/site-packages/xgboost/core.py:158: UserWarning: + +[04:27:26] WARNING: /workspace/src/learner.cc:740: +Parameters: { "verbose" } are not used. + + +[0] validation_0-rmse:0.29190 validation_1-rmse:0.28988 +[1] validation_0-rmse:0.28631 validation_1-rmse:0.28388 +[2] validation_0-rmse:0.28059 validation_1-rmse:0.27791 +[3] validation_0-rmse:0.27597 validation_1-rmse:0.27282 +[4] validation_0-rmse:0.27132 validation_1-rmse:0.26791 +[5] validation_0-rmse:0.26666 validation_1-rmse:0.26287 +[6] validation_0-rmse:0.26193 validation_1-rmse:0.25802 +[7] validation_0-rmse:0.25814 validation_1-rmse:0.25375 +[8] validation_0-rmse:0.25389 validation_1-rmse:0.24927 +[9] validation_0-rmse:0.24990 validation_1-rmse:0.24489 +[10] validation_0-rmse:0.24602 validation_1-rmse:0.24078 +[11] validation_0-rmse:0.24233 validation_1-rmse:0.23687 +[12] validation_0-rmse:0.23880 validation_1-rmse:0.23304 +[13] validation_0-rmse:0.23523 validation_1-rmse:0.22935 +[14] validation_0-rmse:0.23205 validation_1-rmse:0.22588 +[15] validation_0-rmse:0.22868 validation_1-rmse:0.22242 +[16] validation_0-rmse:0.22581 validation_1-rmse:0.21914 +[17] validation_0-rmse:0.22296 validation_1-rmse:0.21600 +[18] validation_0-rmse:0.22026 validation_1-rmse:0.21301 +[19] validation_0-rmse:0.21779 validation_1-rmse:0.21022 +[20] validation_0-rmse:0.21524 validation_1-rmse:0.20744 +[21] validation_0-rmse:0.21312 validation_1-rmse:0.20501 +[22] validation_0-rmse:0.21093 validation_1-rmse:0.20247 +[23] validation_0-rmse:0.20873 validation_1-rmse:0.19994 +[24] validation_0-rmse:0.20649 validation_1-rmse:0.19742 +[25] validation_0-rmse:0.20441 validation_1-rmse:0.19516 +[26] validation_0-rmse:0.20269 validation_1-rmse:0.19305 +[27] validation_0-rmse:0.20076 validation_1-rmse:0.19076 +[28] validation_0-rmse:0.19898 validation_1-rmse:0.18875 +[29] validation_0-rmse:0.19731 validation_1-rmse:0.18675 +[30] validation_0-rmse:0.19536 validation_1-rmse:0.18463 +[31] validation_0-rmse:0.19356 validation_1-rmse:0.18267 +[32] validation_0-rmse:0.19155 validation_1-rmse:0.18058 +[33] validation_0-rmse:0.18986 validation_1-rmse:0.17868 +[34] validation_0-rmse:0.18819 validation_1-rmse:0.17689 +[35] validation_0-rmse:0.18677 validation_1-rmse:0.17518 +[36] validation_0-rmse:0.18514 validation_1-rmse:0.17339 +[37] validation_0-rmse:0.18381 validation_1-rmse:0.17175 +[38] validation_0-rmse:0.18243 validation_1-rmse:0.17018 +[39] validation_0-rmse:0.18065 validation_1-rmse:0.16848 +[40] validation_0-rmse:0.17938 validation_1-rmse:0.16703 +[41] validation_0-rmse:0.17791 validation_1-rmse:0.16554 +[42] validation_0-rmse:0.17680 validation_1-rmse:0.16421 +[43] validation_0-rmse:0.17572 validation_1-rmse:0.16289 +[44] validation_0-rmse:0.17438 validation_1-rmse:0.16138 +[45] validation_0-rmse:0.17302 validation_1-rmse:0.16000 +[46] validation_0-rmse:0.17185 validation_1-rmse:0.15871 +[47] validation_0-rmse:0.17078 validation_1-rmse:0.15747 +[48] validation_0-rmse:0.16964 validation_1-rmse:0.15632 +[49] validation_0-rmse:0.16848 validation_1-rmse:0.15508 +[50] validation_0-rmse:0.16747 validation_1-rmse:0.15394 +[51] validation_0-rmse:0.16652 validation_1-rmse:0.15280 +[52] validation_0-rmse:0.16548 validation_1-rmse:0.15170 +[53] validation_0-rmse:0.16459 validation_1-rmse:0.15071 +[54] validation_0-rmse:0.16368 validation_1-rmse:0.14973 +[55] validation_0-rmse:0.16281 validation_1-rmse:0.14870 +[56] validation_0-rmse:0.16180 validation_1-rmse:0.14764 +[57] validation_0-rmse:0.16102 validation_1-rmse:0.14673 +[58] validation_0-rmse:0.16015 validation_1-rmse:0.14581 +[59] validation_0-rmse:0.15944 validation_1-rmse:0.14491 +[60] validation_0-rmse:0.15843 validation_1-rmse:0.14382 +[61] validation_0-rmse:0.15758 validation_1-rmse:0.14284 +[62] validation_0-rmse:0.15684 validation_1-rmse:0.14200 +[63] validation_0-rmse:0.15621 validation_1-rmse:0.14121 +[64] validation_0-rmse:0.15551 validation_1-rmse:0.14040 +[65] validation_0-rmse:0.15480 validation_1-rmse:0.13954 +[66] validation_0-rmse:0.15418 validation_1-rmse:0.13878 +[67] validation_0-rmse:0.15351 validation_1-rmse:0.13805 +[68] validation_0-rmse:0.15289 validation_1-rmse:0.13733 +[69] validation_0-rmse:0.15196 validation_1-rmse:0.13639 +[70] validation_0-rmse:0.15140 validation_1-rmse:0.13568 +[71] validation_0-rmse:0.15051 validation_1-rmse:0.13479 +[72] validation_0-rmse:0.14929 validation_1-rmse:0.13350 +[73] validation_0-rmse:0.14855 validation_1-rmse:0.13270 +[74] validation_0-rmse:0.14791 validation_1-rmse:0.13198 +[75] validation_0-rmse:0.14720 validation_1-rmse:0.13117 +[76] validation_0-rmse:0.14660 validation_1-rmse:0.13056 +[77] validation_0-rmse:0.14594 validation_1-rmse:0.12987 +[78] validation_0-rmse:0.14523 validation_1-rmse:0.12905 +[79] validation_0-rmse:0.14386 validation_1-rmse:0.12772 +[80] validation_0-rmse:0.14280 validation_1-rmse:0.12665 +[81] validation_0-rmse:0.14225 validation_1-rmse:0.12604 +[82] validation_0-rmse:0.14176 validation_1-rmse:0.12547 +[83] validation_0-rmse:0.14135 validation_1-rmse:0.12495 +[84] validation_0-rmse:0.14087 validation_1-rmse:0.12438 +[85] validation_0-rmse:0.14043 validation_1-rmse:0.12387 +[86] validation_0-rmse:0.13978 validation_1-rmse:0.12320 +[87] validation_0-rmse:0.13906 validation_1-rmse:0.12241 +[88] validation_0-rmse:0.13825 validation_1-rmse:0.12162 +[89] validation_0-rmse:0.13778 validation_1-rmse:0.12109 +[90] validation_0-rmse:0.13743 validation_1-rmse:0.12064 +[91] validation_0-rmse:0.13685 validation_1-rmse:0.12008 +[92] validation_0-rmse:0.13650 validation_1-rmse:0.11965 +[93] validation_0-rmse:0.13604 validation_1-rmse:0.11913 +[94] validation_0-rmse:0.13569 validation_1-rmse:0.11867 +[95] validation_0-rmse:0.13533 validation_1-rmse:0.11821 +[96] validation_0-rmse:0.13495 validation_1-rmse:0.11778 +[97] validation_0-rmse:0.13449 validation_1-rmse:0.11723 +[98] validation_0-rmse:0.13412 validation_1-rmse:0.11677 +[99] validation_0-rmse:0.13376 validation_1-rmse:0.11638 +[100] validation_0-rmse:0.13323 validation_1-rmse:0.11588 +[101] validation_0-rmse:0.13282 validation_1-rmse:0.11545 +[102] validation_0-rmse:0.13251 validation_1-rmse:0.11505 +[103] validation_0-rmse:0.13197 validation_1-rmse:0.11451 +[104] validation_0-rmse:0.13096 validation_1-rmse:0.11356 +[105] validation_0-rmse:0.13022 validation_1-rmse:0.11286 +[106] validation_0-rmse:0.12992 validation_1-rmse:0.11247 +[107] validation_0-rmse:0.12961 validation_1-rmse:0.11211 +[108] validation_0-rmse:0.12924 validation_1-rmse:0.11171 +[109] validation_0-rmse:0.12873 validation_1-rmse:0.11120 +[110] validation_0-rmse:0.12825 validation_1-rmse:0.11072 +[111] validation_0-rmse:0.12799 validation_1-rmse:0.11043 +[112] validation_0-rmse:0.12771 validation_1-rmse:0.11010 +[113] validation_0-rmse:0.12741 validation_1-rmse:0.10976 +[114] validation_0-rmse:0.12697 validation_1-rmse:0.10931 +[115] validation_0-rmse:0.12637 validation_1-rmse:0.10874 +[116] validation_0-rmse:0.12614 validation_1-rmse:0.10842 +[117] validation_0-rmse:0.12595 validation_1-rmse:0.10815 +[118] validation_0-rmse:0.12543 validation_1-rmse:0.10760 +[119] validation_0-rmse:0.12518 validation_1-rmse:0.10729 +[120] validation_0-rmse:0.12496 validation_1-rmse:0.10702 +[121] validation_0-rmse:0.12480 validation_1-rmse:0.10672 +[122] validation_0-rmse:0.12437 validation_1-rmse:0.10633 +[123] validation_0-rmse:0.12372 validation_1-rmse:0.10565 +[124] validation_0-rmse:0.12342 validation_1-rmse:0.10529 +[125] validation_0-rmse:0.12318 validation_1-rmse:0.10502 +[126] validation_0-rmse:0.12297 validation_1-rmse:0.10482 +[127] validation_0-rmse:0.12277 validation_1-rmse:0.10452 +[128] validation_0-rmse:0.12227 validation_1-rmse:0.10408 +[129] validation_0-rmse:0.12209 validation_1-rmse:0.10386 +[130] validation_0-rmse:0.12190 validation_1-rmse:0.10357 +[131] validation_0-rmse:0.12159 validation_1-rmse:0.10322 +[132] validation_0-rmse:0.12138 validation_1-rmse:0.10297 +[133] validation_0-rmse:0.12081 validation_1-rmse:0.10245 +[134] validation_0-rmse:0.12046 validation_1-rmse:0.10206 +[135] validation_0-rmse:0.12017 validation_1-rmse:0.10176 +[136] validation_0-rmse:0.11966 validation_1-rmse:0.10120 +[137] validation_0-rmse:0.11934 validation_1-rmse:0.10081 +[138] validation_0-rmse:0.11923 validation_1-rmse:0.10069 +[139] validation_0-rmse:0.11884 validation_1-rmse:0.10033 +[140] validation_0-rmse:0.11866 validation_1-rmse:0.10015 +[141] validation_0-rmse:0.11832 validation_1-rmse:0.09976 +[142] validation_0-rmse:0.11815 validation_1-rmse:0.09952 +[143] validation_0-rmse:0.11769 validation_1-rmse:0.09909 +[144] validation_0-rmse:0.11742 validation_1-rmse:0.09882 +[145] validation_0-rmse:0.11691 validation_1-rmse:0.09827 +[146] validation_0-rmse:0.11673 validation_1-rmse:0.09805 +[147] validation_0-rmse:0.11657 validation_1-rmse:0.09788 +[148] validation_0-rmse:0.11626 validation_1-rmse:0.09757 +[149] validation_0-rmse:0.11605 validation_1-rmse:0.09733 +[150] validation_0-rmse:0.11590 validation_1-rmse:0.09714 +[151] validation_0-rmse:0.11572 validation_1-rmse:0.09694 +[152] validation_0-rmse:0.11552 validation_1-rmse:0.09669 +[153] validation_0-rmse:0.11534 validation_1-rmse:0.09649 +[154] validation_0-rmse:0.11511 validation_1-rmse:0.09626 +[155] validation_0-rmse:0.11497 validation_1-rmse:0.09606 +[156] validation_0-rmse:0.11446 validation_1-rmse:0.09554 +[157] validation_0-rmse:0.11425 validation_1-rmse:0.09533 +[158] validation_0-rmse:0.11400 validation_1-rmse:0.09506 +[159] validation_0-rmse:0.11381 validation_1-rmse:0.09485 +[160] validation_0-rmse:0.11370 validation_1-rmse:0.09471 +[161] validation_0-rmse:0.11330 validation_1-rmse:0.09435 +[162] validation_0-rmse:0.11313 validation_1-rmse:0.09412 +[163] validation_0-rmse:0.11293 validation_1-rmse:0.09392 +[164] validation_0-rmse:0.11280 validation_1-rmse:0.09376 +[165] validation_0-rmse:0.11265 validation_1-rmse:0.09357 +[166] validation_0-rmse:0.11245 validation_1-rmse:0.09333 +[167] validation_0-rmse:0.11232 validation_1-rmse:0.09317 +[168] validation_0-rmse:0.11194 validation_1-rmse:0.09269 +[169] validation_0-rmse:0.11183 validation_1-rmse:0.09257 +[170] validation_0-rmse:0.11155 validation_1-rmse:0.09232 +[171] validation_0-rmse:0.11138 validation_1-rmse:0.09212 +[172] validation_0-rmse:0.11113 validation_1-rmse:0.09186 +[173] validation_0-rmse:0.11101 validation_1-rmse:0.09169 +[174] validation_0-rmse:0.11075 validation_1-rmse:0.09144 +[175] validation_0-rmse:0.11043 validation_1-rmse:0.09112 +[176] validation_0-rmse:0.11027 validation_1-rmse:0.09091 +[177] validation_0-rmse:0.10990 validation_1-rmse:0.09054 +[178] validation_0-rmse:0.10947 validation_1-rmse:0.09014 +[179] validation_0-rmse:0.10936 validation_1-rmse:0.09001 +[180] validation_0-rmse:0.10897 validation_1-rmse:0.08959 +[181] validation_0-rmse:0.10861 validation_1-rmse:0.08924 +[182] validation_0-rmse:0.10845 validation_1-rmse:0.08903 +[183] validation_0-rmse:0.10818 validation_1-rmse:0.08875 +[184] validation_0-rmse:0.10807 validation_1-rmse:0.08860 +[185] validation_0-rmse:0.10794 validation_1-rmse:0.08844 +[186] validation_0-rmse:0.10770 validation_1-rmse:0.08818 +[187] validation_0-rmse:0.10760 validation_1-rmse:0.08806 +[188] validation_0-rmse:0.10736 validation_1-rmse:0.08781 +[189] validation_0-rmse:0.10723 validation_1-rmse:0.08766 +[190] validation_0-rmse:0.10709 validation_1-rmse:0.08750 +[191] validation_0-rmse:0.10701 validation_1-rmse:0.08739 +[192] validation_0-rmse:0.10682 validation_1-rmse:0.08719 +[193] validation_0-rmse:0.10677 validation_1-rmse:0.08707 +[194] validation_0-rmse:0.10659 validation_1-rmse:0.08687 +[195] validation_0-rmse:0.10626 validation_1-rmse:0.08655 +[196] validation_0-rmse:0.10605 validation_1-rmse:0.08635 +[197] validation_0-rmse:0.10592 validation_1-rmse:0.08620 +[198] validation_0-rmse:0.10571 validation_1-rmse:0.08597 +[199] validation_0-rmse:0.10560 validation_1-rmse:0.08582 +2025-05-01 04:27:28,783 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training BTC/USDT (2.20 secs) -------------------- +/home/ftuser/.local/lib/python3.12/site-packages/xgboost/core.py:158: UserWarning: + +[04:27:28] WARNING: /workspace/src/learner.cc:740: +Parameters: { "verbose" } are not used. + + +2025-05-01 04:27:28,818 - freqtrade.plot.plotting - INFO - Stored plot as /freqtrade/user_data/models/test175/sub-train-BTC_1744329600/cb_btc_1744329600--buy_rsi.html +2025-05-01 04:27:28,818 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-05-01 04:27:28,840 - datasieve.pipeline - WARNING - Could not find step di in pipeline, returning None +2025-05-01 04:27:28,899 - FreqaiExampleStrategy - INFO - 动态参数:buy_rsi=39.26145316407591, sell_rsi=59.26145316407591, stoploss=-0.15, trailing_stop_positive=0.05 +2025-05-01 04:27:28,943 - FreqaiExampleStrategy - INFO - up_or_down 值统计: +up_or_down +1 11845 +0 11726 +2025-05-01 04:27:28,944 - FreqaiExampleStrategy - INFO - do_predict 值统计: +do_predict +0.0 14451 +1.0 9120 +2025-05-01 04:27:28,947 - FreqaiExampleStrategy - INFO - 处理交易对:SOL/USDT +2025-05-01 04:27:28,949 - freqtrade.freqai.freqai_interface - INFO - Training 2 timeranges +2025-05-01 04:27:28,950 - freqtrade.freqai.freqai_interface - INFO - Training SOL/USDT, 2/2 pairs from 2025-03-02 00:00:00 to 2025-04-01 00:00:00, 1/2 trains +2025-05-01 04:27:28,951 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_sol_1743465600_prediction.feather +2025-05-01 04:27:28,962 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:28,974 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:28,988 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:29,022 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 5m to 8690 +2025-05-01 04:27:29,022 - freqtrade.data.dataprovider - INFO - Loading data for SOL/USDT 5m from 2025-03-01 19:50:00 to 2025-04-20 00:00:00 +2025-05-01 04:27:29,075 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:29,086 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:29,097 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:29,128 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 1h to 770 +2025-05-01 04:27:29,129 - freqtrade.data.dataprovider - INFO - Loading data for SOL/USDT 1h from 2025-02-27 22:00:00 to 2025-04-20 00:00:00 +2025-05-01 04:27:29,151 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:29,159 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:29,168 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:29,228 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 3m to 14450 +2025-05-01 04:27:29,229 - freqtrade.data.dataprovider - INFO - Loading data for BTC/USDT 3m from 2025-03-01 21:30:00 to 2025-04-20 00:00:00 +2025-05-01 04:27:29,283 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:29,296 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:29,310 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:29,367 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:29,378 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:29,388 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:29,442 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:29,451 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:29,459 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:29,535 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:29,548 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:29,561 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:29,630 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:29,640 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:29,651 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:29,735 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:29,743 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:29,751 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:29,827 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-05-01 04:27:29,832 - FreqaiExampleStrategy - INFO - 目标列形状:(14450,) +2025-05-01 04:27:29,834 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.016595 49.72136 +1 0.012811 49.72136 +2 0.010135 49.72136 +3 0.008514 49.72136 +4 0.006242 49.72136 +2025-05-01 04:27:29,844 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-05-01 04:27:29,850 - FreqaiExampleStrategy - INFO - 目标列形状:(19250,) +2025-05-01 04:27:29,851 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.016595 49.562407 +1 0.012811 49.562407 +2 0.010135 49.562407 +3 0.008514 49.562407 +4 0.006242 49.562407 +2025-05-01 04:27:29,863 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-SOL_1743465600/cb_sol_1743465600 +2025-05-01 04:27:29,864 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training SOL/USDT -------------------- +2025-05-01 04:27:29,893 - freqtrade.freqai.data_kitchen - INFO - SOL/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-05-01 04:27:29,894 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-03-02 to 2025-03-31 -------------------- +2025-05-01 04:27:29,919 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 111 features +2025-05-01 04:27:29,919 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +/home/ftuser/.local/lib/python3.12/site-packages/xgboost/core.py:158: UserWarning: + +[04:27:30] WARNING: /workspace/src/learner.cc:740: +Parameters: { "verbose" } are not used. + + +[0] validation_0-rmse:0.25128 validation_1-rmse:0.24599 +[1] validation_0-rmse:0.24705 validation_1-rmse:0.24159 +[2] validation_0-rmse:0.24267 validation_1-rmse:0.23697 +[3] validation_0-rmse:0.23884 validation_1-rmse:0.23285 +[4] validation_0-rmse:0.23460 validation_1-rmse:0.22836 +[5] validation_0-rmse:0.23048 validation_1-rmse:0.22409 +[6] validation_0-rmse:0.22663 validation_1-rmse:0.22023 +[7] validation_0-rmse:0.22305 validation_1-rmse:0.21641 +[8] validation_0-rmse:0.21974 validation_1-rmse:0.21307 +[9] validation_0-rmse:0.21647 validation_1-rmse:0.20952 +[10] validation_0-rmse:0.21325 validation_1-rmse:0.20611 +[11] validation_0-rmse:0.21025 validation_1-rmse:0.20291 +[12] validation_0-rmse:0.20749 validation_1-rmse:0.19975 +[13] validation_0-rmse:0.20504 validation_1-rmse:0.19705 +[14] validation_0-rmse:0.20227 validation_1-rmse:0.19408 +[15] validation_0-rmse:0.19974 validation_1-rmse:0.19136 +[16] validation_0-rmse:0.19718 validation_1-rmse:0.18870 +[17] validation_0-rmse:0.19482 validation_1-rmse:0.18610 +[18] validation_0-rmse:0.19255 validation_1-rmse:0.18352 +[19] validation_0-rmse:0.19034 validation_1-rmse:0.18110 +[20] validation_0-rmse:0.18810 validation_1-rmse:0.17880 +[21] validation_0-rmse:0.18612 validation_1-rmse:0.17660 +[22] validation_0-rmse:0.18391 validation_1-rmse:0.17432 +[23] validation_0-rmse:0.18197 validation_1-rmse:0.17215 +[24] validation_0-rmse:0.17989 validation_1-rmse:0.16997 +[25] validation_0-rmse:0.17811 validation_1-rmse:0.16787 +[26] validation_0-rmse:0.17634 validation_1-rmse:0.16590 +[27] validation_0-rmse:0.17466 validation_1-rmse:0.16406 +[28] validation_0-rmse:0.17297 validation_1-rmse:0.16231 +[29] validation_0-rmse:0.17120 validation_1-rmse:0.16043 +[30] validation_0-rmse:0.16975 validation_1-rmse:0.15878 +[31] validation_0-rmse:0.16831 validation_1-rmse:0.15716 +[32] validation_0-rmse:0.16680 validation_1-rmse:0.15554 +[33] validation_0-rmse:0.16549 validation_1-rmse:0.15398 +[34] validation_0-rmse:0.16422 validation_1-rmse:0.15258 +[35] validation_0-rmse:0.16254 validation_1-rmse:0.15092 +[36] validation_0-rmse:0.16127 validation_1-rmse:0.14950 +[37] validation_0-rmse:0.15997 validation_1-rmse:0.14808 +[38] validation_0-rmse:0.15858 validation_1-rmse:0.14665 +[39] validation_0-rmse:0.15734 validation_1-rmse:0.14535 +[40] validation_0-rmse:0.15627 validation_1-rmse:0.14413 +[41] validation_0-rmse:0.15522 validation_1-rmse:0.14291 +[42] validation_0-rmse:0.15413 validation_1-rmse:0.14171 +[43] validation_0-rmse:0.15295 validation_1-rmse:0.14049 +[44] validation_0-rmse:0.15194 validation_1-rmse:0.13937 +[45] validation_0-rmse:0.15087 validation_1-rmse:0.13821 +[46] validation_0-rmse:0.14988 validation_1-rmse:0.13712 +[47] validation_0-rmse:0.14897 validation_1-rmse:0.13608 +[48] validation_0-rmse:0.14814 validation_1-rmse:0.13508 +[49] validation_0-rmse:0.14707 validation_1-rmse:0.13395 +[50] validation_0-rmse:0.14619 validation_1-rmse:0.13296 +[51] validation_0-rmse:0.14539 validation_1-rmse:0.13203 +[52] validation_0-rmse:0.14449 validation_1-rmse:0.13098 +[53] validation_0-rmse:0.14370 validation_1-rmse:0.13008 +[54] validation_0-rmse:0.14281 validation_1-rmse:0.12910 +[55] validation_0-rmse:0.14200 validation_1-rmse:0.12822 +[56] validation_0-rmse:0.14123 validation_1-rmse:0.12740 +[57] validation_0-rmse:0.14051 validation_1-rmse:0.12659 +[58] validation_0-rmse:0.13965 validation_1-rmse:0.12574 +[59] validation_0-rmse:0.13888 validation_1-rmse:0.12495 +[60] validation_0-rmse:0.13823 validation_1-rmse:0.12416 +[61] validation_0-rmse:0.13733 validation_1-rmse:0.12321 +[62] validation_0-rmse:0.13656 validation_1-rmse:0.12237 +[63] validation_0-rmse:0.13601 validation_1-rmse:0.12167 +[64] validation_0-rmse:0.13532 validation_1-rmse:0.12091 +[65] validation_0-rmse:0.13476 validation_1-rmse:0.12020 +[66] validation_0-rmse:0.13420 validation_1-rmse:0.11952 +[67] validation_0-rmse:0.13346 validation_1-rmse:0.11873 +[68] validation_0-rmse:0.13287 validation_1-rmse:0.11806 +[69] validation_0-rmse:0.13219 validation_1-rmse:0.11729 +[70] validation_0-rmse:0.13166 validation_1-rmse:0.11665 +[71] validation_0-rmse:0.13113 validation_1-rmse:0.11601 +[72] validation_0-rmse:0.13056 validation_1-rmse:0.11539 +[73] validation_0-rmse:0.12988 validation_1-rmse:0.11467 +[74] validation_0-rmse:0.12928 validation_1-rmse:0.11404 +[75] validation_0-rmse:0.12869 validation_1-rmse:0.11343 +[76] validation_0-rmse:0.12819 validation_1-rmse:0.11281 +[77] validation_0-rmse:0.12764 validation_1-rmse:0.11222 +[78] validation_0-rmse:0.12706 validation_1-rmse:0.11162 +[79] validation_0-rmse:0.12663 validation_1-rmse:0.11108 +[80] validation_0-rmse:0.12620 validation_1-rmse:0.11056 +[81] validation_0-rmse:0.12569 validation_1-rmse:0.10999 +[82] validation_0-rmse:0.12521 validation_1-rmse:0.10944 +[83] validation_0-rmse:0.12479 validation_1-rmse:0.10897 +[84] validation_0-rmse:0.12425 validation_1-rmse:0.10838 +[85] validation_0-rmse:0.12387 validation_1-rmse:0.10790 +[86] validation_0-rmse:0.12349 validation_1-rmse:0.10745 +[87] validation_0-rmse:0.12316 validation_1-rmse:0.10701 +[88] validation_0-rmse:0.12282 validation_1-rmse:0.10655 +[89] validation_0-rmse:0.12244 validation_1-rmse:0.10611 +[90] validation_0-rmse:0.12212 validation_1-rmse:0.10570 +[91] validation_0-rmse:0.12154 validation_1-rmse:0.10512 +[92] validation_0-rmse:0.12126 validation_1-rmse:0.10474 +[93] validation_0-rmse:0.12092 validation_1-rmse:0.10433 +[94] validation_0-rmse:0.12038 validation_1-rmse:0.10373 +[95] validation_0-rmse:0.11998 validation_1-rmse:0.10328 +[96] validation_0-rmse:0.11959 validation_1-rmse:0.10290 +[97] validation_0-rmse:0.11930 validation_1-rmse:0.10252 +[98] validation_0-rmse:0.11884 validation_1-rmse:0.10206 +[99] validation_0-rmse:0.11848 validation_1-rmse:0.10165 +[100] validation_0-rmse:0.11822 validation_1-rmse:0.10129 +[101] validation_0-rmse:0.11787 validation_1-rmse:0.10082 +[102] validation_0-rmse:0.11758 validation_1-rmse:0.10051 +[103] validation_0-rmse:0.11714 validation_1-rmse:0.10001 +[104] validation_0-rmse:0.11685 validation_1-rmse:0.09966 +[105] validation_0-rmse:0.11660 validation_1-rmse:0.09936 +[106] validation_0-rmse:0.11635 validation_1-rmse:0.09904 +[107] validation_0-rmse:0.11600 validation_1-rmse:0.09869 +[108] validation_0-rmse:0.11556 validation_1-rmse:0.09822 +[109] validation_0-rmse:0.11521 validation_1-rmse:0.09784 +[110] validation_0-rmse:0.11479 validation_1-rmse:0.09732 +[111] validation_0-rmse:0.11441 validation_1-rmse:0.09693 +[112] validation_0-rmse:0.11402 validation_1-rmse:0.09656 +[113] validation_0-rmse:0.11376 validation_1-rmse:0.09623 +[114] validation_0-rmse:0.11354 validation_1-rmse:0.09592 +[115] validation_0-rmse:0.11332 validation_1-rmse:0.09570 +[116] validation_0-rmse:0.11291 validation_1-rmse:0.09527 +[117] validation_0-rmse:0.11262 validation_1-rmse:0.09493 +[118] validation_0-rmse:0.11220 validation_1-rmse:0.09443 +[119] validation_0-rmse:0.11178 validation_1-rmse:0.09396 +[120] validation_0-rmse:0.11155 validation_1-rmse:0.09366 +[121] validation_0-rmse:0.11132 validation_1-rmse:0.09340 +[122] validation_0-rmse:0.11110 validation_1-rmse:0.09313 +[123] validation_0-rmse:0.11069 validation_1-rmse:0.09272 +[124] validation_0-rmse:0.11042 validation_1-rmse:0.09247 +[125] validation_0-rmse:0.10982 validation_1-rmse:0.09180 +[126] validation_0-rmse:0.10960 validation_1-rmse:0.09153 +[127] validation_0-rmse:0.10934 validation_1-rmse:0.09121 +[128] validation_0-rmse:0.10907 validation_1-rmse:0.09088 +[129] validation_0-rmse:0.10849 validation_1-rmse:0.09026 +[130] validation_0-rmse:0.10817 validation_1-rmse:0.08988 +[131] validation_0-rmse:0.10779 validation_1-rmse:0.08941 +[132] validation_0-rmse:0.10753 validation_1-rmse:0.08910 +[133] validation_0-rmse:0.10700 validation_1-rmse:0.08855 +[134] validation_0-rmse:0.10680 validation_1-rmse:0.08832 +[135] validation_0-rmse:0.10664 validation_1-rmse:0.08813 +[136] validation_0-rmse:0.10641 validation_1-rmse:0.08787 +[137] validation_0-rmse:0.10610 validation_1-rmse:0.08754 +[138] validation_0-rmse:0.10591 validation_1-rmse:0.08728 +[139] validation_0-rmse:0.10568 validation_1-rmse:0.08705 +[140] validation_0-rmse:0.10526 validation_1-rmse:0.08661 +[141] validation_0-rmse:0.10513 validation_1-rmse:0.08642 +[142] validation_0-rmse:0.10480 validation_1-rmse:0.08605 +[143] validation_0-rmse:0.10464 validation_1-rmse:0.08584 +[144] validation_0-rmse:0.10439 validation_1-rmse:0.08562 +[145] validation_0-rmse:0.10418 validation_1-rmse:0.08537 +[146] validation_0-rmse:0.10400 validation_1-rmse:0.08519 +[147] validation_0-rmse:0.10386 validation_1-rmse:0.08502 +[148] validation_0-rmse:0.10367 validation_1-rmse:0.08476 +[149] validation_0-rmse:0.10329 validation_1-rmse:0.08435 +[150] validation_0-rmse:0.10311 validation_1-rmse:0.08415 +[151] validation_0-rmse:0.10281 validation_1-rmse:0.08384 +[152] validation_0-rmse:0.10242 validation_1-rmse:0.08341 +[153] validation_0-rmse:0.10223 validation_1-rmse:0.08318 +[154] validation_0-rmse:0.10197 validation_1-rmse:0.08289 +[155] validation_0-rmse:0.10153 validation_1-rmse:0.08242 +[156] validation_0-rmse:0.10136 validation_1-rmse:0.08223 +[157] validation_0-rmse:0.10117 validation_1-rmse:0.08199 +[158] validation_0-rmse:0.10082 validation_1-rmse:0.08161 +[159] validation_0-rmse:0.10071 validation_1-rmse:0.08150 +[160] validation_0-rmse:0.10052 validation_1-rmse:0.08126 +[161] validation_0-rmse:0.10043 validation_1-rmse:0.08114 +[162] validation_0-rmse:0.10011 validation_1-rmse:0.08078 +[163] validation_0-rmse:0.09991 validation_1-rmse:0.08058 +[164] validation_0-rmse:0.09978 validation_1-rmse:0.08041 +[165] validation_0-rmse:0.09952 validation_1-rmse:0.08012 +[166] validation_0-rmse:0.09926 validation_1-rmse:0.07986 +[167] validation_0-rmse:0.09904 validation_1-rmse:0.07961 +[168] validation_0-rmse:0.09878 validation_1-rmse:0.07929 +[169] validation_0-rmse:0.09848 validation_1-rmse:0.07895 +[170] validation_0-rmse:0.09822 validation_1-rmse:0.07866 +[171] validation_0-rmse:0.09812 validation_1-rmse:0.07853 +[172] validation_0-rmse:0.09787 validation_1-rmse:0.07831 +[173] validation_0-rmse:0.09766 validation_1-rmse:0.07808 +[174] validation_0-rmse:0.09734 validation_1-rmse:0.07777 +[175] validation_0-rmse:0.09701 validation_1-rmse:0.07739 +[176] validation_0-rmse:0.09689 validation_1-rmse:0.07724 +[177] validation_0-rmse:0.09680 validation_1-rmse:0.07712 +[178] validation_0-rmse:0.09654 validation_1-rmse:0.07687 +[179] validation_0-rmse:0.09626 validation_1-rmse:0.07653 +[180] validation_0-rmse:0.09608 validation_1-rmse:0.07633 +[181] validation_0-rmse:0.09587 validation_1-rmse:0.07612 +[182] validation_0-rmse:0.09570 validation_1-rmse:0.07590 +[183] validation_0-rmse:0.09547 validation_1-rmse:0.07563 +[184] validation_0-rmse:0.09518 validation_1-rmse:0.07536 +[185] validation_0-rmse:0.09510 validation_1-rmse:0.07525 +[186] validation_0-rmse:0.09492 validation_1-rmse:0.07503 +[187] validation_0-rmse:0.09475 validation_1-rmse:0.07483 +[188] validation_0-rmse:0.09460 validation_1-rmse:0.07465 +[189] validation_0-rmse:0.09447 validation_1-rmse:0.07453 +[190] validation_0-rmse:0.09430 validation_1-rmse:0.07434 +[191] validation_0-rmse:0.09415 validation_1-rmse:0.07416 +[192] validation_0-rmse:0.09408 validation_1-rmse:0.07403 +[193] validation_0-rmse:0.09398 validation_1-rmse:0.07387 +[194] validation_0-rmse:0.09387 validation_1-rmse:0.07376 +[195] validation_0-rmse:0.09374 validation_1-rmse:0.07361 +[196] validation_0-rmse:0.09361 validation_1-rmse:0.07342 +[197] validation_0-rmse:0.09348 validation_1-rmse:0.07327 +[198] validation_0-rmse:0.09334 validation_1-rmse:0.07307 +[199] validation_0-rmse:0.09320 validation_1-rmse:0.07293 +2025-05-01 04:27:33,175 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training SOL/USDT (3.31 secs) -------------------- +/home/ftuser/.local/lib/python3.12/site-packages/xgboost/core.py:158: UserWarning: + +[04:27:33] WARNING: /workspace/src/learner.cc:740: +Parameters: { "verbose" } are not used. + + +2025-05-01 04:27:33,208 - freqtrade.plot.plotting - INFO - Stored plot as /freqtrade/user_data/models/test175/sub-train-SOL_1743465600/cb_sol_1743465600--buy_rsi.html +2025-05-01 04:27:33,209 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-05-01 04:27:33,246 - datasieve.pipeline - WARNING - Could not find step di in pipeline, returning None +2025-05-01 04:27:33,254 - freqtrade.freqai.freqai_interface - INFO - Training SOL/USDT, 2/2 pairs from 2025-03-12 00:00:00 to 2025-04-11 00:00:00, 2/2 trains +2025-05-01 04:27:33,255 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_sol_1744329600_prediction.feather +2025-05-01 04:27:33,265 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-05-01 04:27:33,270 - FreqaiExampleStrategy - INFO - 目标列形状:(19250,) +2025-05-01 04:27:33,272 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.016595 49.562407 +1 0.012811 49.562407 +2 0.010135 49.562407 +3 0.008514 49.562407 +4 0.006242 49.562407 +2025-05-01 04:27:33,283 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-05-01 04:27:33,289 - FreqaiExampleStrategy - INFO - 目标列形状:(23570,) +2025-05-01 04:27:33,290 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.016595 49.934347 +1 0.012811 49.934347 +2 0.010135 49.934347 +3 0.008514 49.934347 +4 0.006242 49.934347 +2025-05-01 04:27:33,300 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-SOL_1744329600/cb_sol_1744329600 +2025-05-01 04:27:33,300 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training SOL/USDT -------------------- +2025-05-01 04:27:33,322 - freqtrade.freqai.data_kitchen - INFO - SOL/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-05-01 04:27:33,323 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-03-12 to 2025-04-10 -------------------- +2025-05-01 04:27:33,349 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 111 features +2025-05-01 04:27:33,349 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +/home/ftuser/.local/lib/python3.12/site-packages/xgboost/core.py:158: UserWarning: + +[04:27:33] WARNING: /workspace/src/learner.cc:740: +Parameters: { "verbose" } are not used. + + +[0] validation_0-rmse:0.28344 validation_1-rmse:0.28168 +[1] validation_0-rmse:0.27833 validation_1-rmse:0.27634 +[2] validation_0-rmse:0.27320 validation_1-rmse:0.27093 +[3] validation_0-rmse:0.26872 validation_1-rmse:0.26615 +[4] validation_0-rmse:0.26380 validation_1-rmse:0.26107 +[5] validation_0-rmse:0.25909 validation_1-rmse:0.25610 +[6] validation_0-rmse:0.25452 validation_1-rmse:0.25138 +[7] validation_0-rmse:0.25019 validation_1-rmse:0.24687 +[8] validation_0-rmse:0.24638 validation_1-rmse:0.24287 +[9] validation_0-rmse:0.24248 validation_1-rmse:0.23878 +[10] validation_0-rmse:0.23860 validation_1-rmse:0.23471 +[11] validation_0-rmse:0.23516 validation_1-rmse:0.23106 +[12] validation_0-rmse:0.23163 validation_1-rmse:0.22735 +[13] validation_0-rmse:0.22887 validation_1-rmse:0.22407 +[14] validation_0-rmse:0.22580 validation_1-rmse:0.22081 +[15] validation_0-rmse:0.22279 validation_1-rmse:0.21748 +[16] validation_0-rmse:0.22000 validation_1-rmse:0.21435 +[17] validation_0-rmse:0.21715 validation_1-rmse:0.21132 +[18] validation_0-rmse:0.21435 validation_1-rmse:0.20825 +[19] validation_0-rmse:0.21173 validation_1-rmse:0.20548 +[20] validation_0-rmse:0.20892 validation_1-rmse:0.20259 +[21] validation_0-rmse:0.20645 validation_1-rmse:0.20002 +[22] validation_0-rmse:0.20389 validation_1-rmse:0.19730 +[23] validation_0-rmse:0.20150 validation_1-rmse:0.19476 +[24] validation_0-rmse:0.19922 validation_1-rmse:0.19221 +[25] validation_0-rmse:0.19687 validation_1-rmse:0.18976 +[26] validation_0-rmse:0.19491 validation_1-rmse:0.18752 +[27] validation_0-rmse:0.19291 validation_1-rmse:0.18526 +[28] validation_0-rmse:0.19091 validation_1-rmse:0.18315 +[29] validation_0-rmse:0.18897 validation_1-rmse:0.18101 +[30] validation_0-rmse:0.18716 validation_1-rmse:0.17900 +[31] validation_0-rmse:0.18542 validation_1-rmse:0.17706 +[32] validation_0-rmse:0.18370 validation_1-rmse:0.17521 +[33] validation_0-rmse:0.18211 validation_1-rmse:0.17338 +[34] validation_0-rmse:0.18045 validation_1-rmse:0.17163 +[35] validation_0-rmse:0.17870 validation_1-rmse:0.16975 +[36] validation_0-rmse:0.17728 validation_1-rmse:0.16811 +[37] validation_0-rmse:0.17580 validation_1-rmse:0.16648 +[38] validation_0-rmse:0.17436 validation_1-rmse:0.16489 +[39] validation_0-rmse:0.17304 validation_1-rmse:0.16340 +[40] validation_0-rmse:0.17177 validation_1-rmse:0.16199 +[41] validation_0-rmse:0.17046 validation_1-rmse:0.16053 +[42] validation_0-rmse:0.16919 validation_1-rmse:0.15917 +[43] validation_0-rmse:0.16793 validation_1-rmse:0.15777 +[44] validation_0-rmse:0.16671 validation_1-rmse:0.15635 +[45] validation_0-rmse:0.16567 validation_1-rmse:0.15508 +[46] validation_0-rmse:0.16436 validation_1-rmse:0.15360 +[47] validation_0-rmse:0.16326 validation_1-rmse:0.15238 +[48] validation_0-rmse:0.16206 validation_1-rmse:0.15104 +[49] validation_0-rmse:0.16094 validation_1-rmse:0.14984 +[50] validation_0-rmse:0.15989 validation_1-rmse:0.14871 +[51] validation_0-rmse:0.15899 validation_1-rmse:0.14767 +[52] validation_0-rmse:0.15781 validation_1-rmse:0.14634 +[53] validation_0-rmse:0.15690 validation_1-rmse:0.14525 +[54] validation_0-rmse:0.15584 validation_1-rmse:0.14416 +[55] validation_0-rmse:0.15490 validation_1-rmse:0.14315 +[56] validation_0-rmse:0.15402 validation_1-rmse:0.14216 +[57] validation_0-rmse:0.15301 validation_1-rmse:0.14109 +[58] validation_0-rmse:0.15212 validation_1-rmse:0.14003 +[59] validation_0-rmse:0.15120 validation_1-rmse:0.13904 +[60] validation_0-rmse:0.15026 validation_1-rmse:0.13804 +[61] validation_0-rmse:0.14951 validation_1-rmse:0.13719 +[62] validation_0-rmse:0.14867 validation_1-rmse:0.13629 +[63] validation_0-rmse:0.14796 validation_1-rmse:0.13547 +[64] validation_0-rmse:0.14731 validation_1-rmse:0.13470 +[65] validation_0-rmse:0.14648 validation_1-rmse:0.13377 +[66] validation_0-rmse:0.14571 validation_1-rmse:0.13299 +[67] validation_0-rmse:0.14485 validation_1-rmse:0.13218 +[68] validation_0-rmse:0.14428 validation_1-rmse:0.13146 +[69] validation_0-rmse:0.14349 validation_1-rmse:0.13059 +[70] validation_0-rmse:0.14283 validation_1-rmse:0.12985 +[71] validation_0-rmse:0.14213 validation_1-rmse:0.12908 +[72] validation_0-rmse:0.14159 validation_1-rmse:0.12839 +[73] validation_0-rmse:0.14069 validation_1-rmse:0.12754 +[74] validation_0-rmse:0.14000 validation_1-rmse:0.12673 +[75] validation_0-rmse:0.13921 validation_1-rmse:0.12588 +[76] validation_0-rmse:0.13866 validation_1-rmse:0.12522 +[77] validation_0-rmse:0.13798 validation_1-rmse:0.12448 +[78] validation_0-rmse:0.13731 validation_1-rmse:0.12382 +[79] validation_0-rmse:0.13671 validation_1-rmse:0.12314 +[80] validation_0-rmse:0.13624 validation_1-rmse:0.12254 +[81] validation_0-rmse:0.13549 validation_1-rmse:0.12174 +[82] validation_0-rmse:0.13506 validation_1-rmse:0.12123 +[83] validation_0-rmse:0.13458 validation_1-rmse:0.12068 +[84] validation_0-rmse:0.13422 validation_1-rmse:0.12011 +[85] validation_0-rmse:0.13374 validation_1-rmse:0.11956 +[86] validation_0-rmse:0.13328 validation_1-rmse:0.11903 +[87] validation_0-rmse:0.13281 validation_1-rmse:0.11856 +[88] validation_0-rmse:0.13215 validation_1-rmse:0.11779 +[89] validation_0-rmse:0.13177 validation_1-rmse:0.11733 +[90] validation_0-rmse:0.13133 validation_1-rmse:0.11685 +[91] validation_0-rmse:0.13053 validation_1-rmse:0.11604 +[92] validation_0-rmse:0.12997 validation_1-rmse:0.11537 +[93] validation_0-rmse:0.12940 validation_1-rmse:0.11472 +[94] validation_0-rmse:0.12904 validation_1-rmse:0.11424 +[95] validation_0-rmse:0.12861 validation_1-rmse:0.11374 +[96] validation_0-rmse:0.12816 validation_1-rmse:0.11331 +[97] validation_0-rmse:0.12765 validation_1-rmse:0.11284 +[98] validation_0-rmse:0.12715 validation_1-rmse:0.11223 +[99] validation_0-rmse:0.12679 validation_1-rmse:0.11178 +[100] validation_0-rmse:0.12644 validation_1-rmse:0.11139 +[101] validation_0-rmse:0.12612 validation_1-rmse:0.11100 +[102] validation_0-rmse:0.12582 validation_1-rmse:0.11061 +[103] validation_0-rmse:0.12545 validation_1-rmse:0.11020 +[104] validation_0-rmse:0.12496 validation_1-rmse:0.10971 +[105] validation_0-rmse:0.12469 validation_1-rmse:0.10939 +[106] validation_0-rmse:0.12445 validation_1-rmse:0.10905 +[107] validation_0-rmse:0.12403 validation_1-rmse:0.10859 +[108] validation_0-rmse:0.12369 validation_1-rmse:0.10819 +[109] validation_0-rmse:0.12314 validation_1-rmse:0.10759 +[110] validation_0-rmse:0.12263 validation_1-rmse:0.10703 +[111] validation_0-rmse:0.12229 validation_1-rmse:0.10667 +[112] validation_0-rmse:0.12202 validation_1-rmse:0.10632 +[113] validation_0-rmse:0.12179 validation_1-rmse:0.10604 +[114] validation_0-rmse:0.12143 validation_1-rmse:0.10559 +[115] validation_0-rmse:0.12121 validation_1-rmse:0.10528 +[116] validation_0-rmse:0.12100 validation_1-rmse:0.10500 +[117] validation_0-rmse:0.12069 validation_1-rmse:0.10463 +[118] validation_0-rmse:0.12050 validation_1-rmse:0.10434 +[119] validation_0-rmse:0.12027 validation_1-rmse:0.10401 +[120] validation_0-rmse:0.11995 validation_1-rmse:0.10368 +[121] validation_0-rmse:0.11954 validation_1-rmse:0.10320 +[122] validation_0-rmse:0.11925 validation_1-rmse:0.10285 +[123] validation_0-rmse:0.11875 validation_1-rmse:0.10231 +[124] validation_0-rmse:0.11857 validation_1-rmse:0.10208 +[125] validation_0-rmse:0.11811 validation_1-rmse:0.10154 +[126] validation_0-rmse:0.11782 validation_1-rmse:0.10123 +[127] validation_0-rmse:0.11760 validation_1-rmse:0.10093 +[128] validation_0-rmse:0.11742 validation_1-rmse:0.10069 +[129] validation_0-rmse:0.11686 validation_1-rmse:0.10008 +[130] validation_0-rmse:0.11665 validation_1-rmse:0.09981 +[131] validation_0-rmse:0.11647 validation_1-rmse:0.09958 +[132] validation_0-rmse:0.11617 validation_1-rmse:0.09923 +[133] validation_0-rmse:0.11595 validation_1-rmse:0.09898 +[134] validation_0-rmse:0.11576 validation_1-rmse:0.09868 +[135] validation_0-rmse:0.11555 validation_1-rmse:0.09842 +[136] validation_0-rmse:0.11534 validation_1-rmse:0.09818 +[137] validation_0-rmse:0.11517 validation_1-rmse:0.09799 +[138] validation_0-rmse:0.11489 validation_1-rmse:0.09768 +[139] validation_0-rmse:0.11473 validation_1-rmse:0.09745 +[140] validation_0-rmse:0.11455 validation_1-rmse:0.09717 +[141] validation_0-rmse:0.11412 validation_1-rmse:0.09667 +[142] validation_0-rmse:0.11399 validation_1-rmse:0.09643 +[143] validation_0-rmse:0.11376 validation_1-rmse:0.09617 +[144] validation_0-rmse:0.11338 validation_1-rmse:0.09568 +[145] validation_0-rmse:0.11305 validation_1-rmse:0.09531 +[146] validation_0-rmse:0.11267 validation_1-rmse:0.09487 +[147] validation_0-rmse:0.11243 validation_1-rmse:0.09459 +[148] validation_0-rmse:0.11199 validation_1-rmse:0.09410 +[149] validation_0-rmse:0.11183 validation_1-rmse:0.09391 +[150] validation_0-rmse:0.11169 validation_1-rmse:0.09372 +[151] validation_0-rmse:0.11155 validation_1-rmse:0.09354 +[152] validation_0-rmse:0.11140 validation_1-rmse:0.09334 +[153] validation_0-rmse:0.11118 validation_1-rmse:0.09308 +[154] validation_0-rmse:0.11103 validation_1-rmse:0.09290 +[155] validation_0-rmse:0.11071 validation_1-rmse:0.09253 +[156] validation_0-rmse:0.11052 validation_1-rmse:0.09229 +[157] validation_0-rmse:0.11028 validation_1-rmse:0.09199 +[158] validation_0-rmse:0.11004 validation_1-rmse:0.09165 +[159] validation_0-rmse:0.10975 validation_1-rmse:0.09129 +[160] validation_0-rmse:0.10955 validation_1-rmse:0.09103 +[161] validation_0-rmse:0.10928 validation_1-rmse:0.09071 +[162] validation_0-rmse:0.10915 validation_1-rmse:0.09054 +[163] validation_0-rmse:0.10903 validation_1-rmse:0.09039 +[164] validation_0-rmse:0.10874 validation_1-rmse:0.09009 +[165] validation_0-rmse:0.10856 validation_1-rmse:0.08987 +[166] validation_0-rmse:0.10827 validation_1-rmse:0.08954 +[167] validation_0-rmse:0.10797 validation_1-rmse:0.08916 +[168] validation_0-rmse:0.10763 validation_1-rmse:0.08879 +[169] validation_0-rmse:0.10751 validation_1-rmse:0.08865 +[170] validation_0-rmse:0.10711 validation_1-rmse:0.08818 +[171] validation_0-rmse:0.10669 validation_1-rmse:0.08772 +[172] validation_0-rmse:0.10644 validation_1-rmse:0.08745 +[173] validation_0-rmse:0.10624 validation_1-rmse:0.08723 +[174] validation_0-rmse:0.10609 validation_1-rmse:0.08703 +[175] validation_0-rmse:0.10573 validation_1-rmse:0.08666 +[176] validation_0-rmse:0.10561 validation_1-rmse:0.08645 +[177] validation_0-rmse:0.10552 validation_1-rmse:0.08628 +[178] validation_0-rmse:0.10541 validation_1-rmse:0.08615 +[179] validation_0-rmse:0.10530 validation_1-rmse:0.08601 +[180] validation_0-rmse:0.10522 validation_1-rmse:0.08588 +[181] validation_0-rmse:0.10481 validation_1-rmse:0.08546 +[182] validation_0-rmse:0.10458 validation_1-rmse:0.08519 +[183] validation_0-rmse:0.10436 validation_1-rmse:0.08499 +[184] validation_0-rmse:0.10411 validation_1-rmse:0.08468 +[185] validation_0-rmse:0.10395 validation_1-rmse:0.08449 +[186] validation_0-rmse:0.10384 validation_1-rmse:0.08435 +[187] validation_0-rmse:0.10372 validation_1-rmse:0.08423 +[188] validation_0-rmse:0.10357 validation_1-rmse:0.08406 +[189] validation_0-rmse:0.10351 validation_1-rmse:0.08396 +[190] validation_0-rmse:0.10324 validation_1-rmse:0.08368 +[191] validation_0-rmse:0.10302 validation_1-rmse:0.08341 +[192] validation_0-rmse:0.10292 validation_1-rmse:0.08323 +[193] validation_0-rmse:0.10273 validation_1-rmse:0.08299 +[194] validation_0-rmse:0.10262 validation_1-rmse:0.08285 +[195] validation_0-rmse:0.10246 validation_1-rmse:0.08265 +[196] validation_0-rmse:0.10218 validation_1-rmse:0.08237 +[197] validation_0-rmse:0.10207 validation_1-rmse:0.08220 +[198] validation_0-rmse:0.10188 validation_1-rmse:0.08196 +[199] validation_0-rmse:0.10169 validation_1-rmse:0.08171 +2025-05-01 04:27:36,303 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training SOL/USDT (3.00 secs) -------------------- +/home/ftuser/.local/lib/python3.12/site-packages/xgboost/core.py:158: UserWarning: + +[04:27:36] WARNING: /workspace/src/learner.cc:740: +Parameters: { "verbose" } are not used. + + +2025-05-01 04:27:36,337 - freqtrade.plot.plotting - INFO - Stored plot as /freqtrade/user_data/models/test175/sub-train-SOL_1744329600/cb_sol_1744329600--buy_rsi.html +2025-05-01 04:27:36,338 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-05-01 04:27:36,372 - datasieve.pipeline - WARNING - Could not find step di in pipeline, returning None +2025-05-01 04:27:36,441 - FreqaiExampleStrategy - INFO - 动态参数:buy_rsi=50.0, sell_rsi=70.0, stoploss=-0.15, trailing_stop_positive=0.05 +2025-05-01 04:27:36,503 - FreqaiExampleStrategy - INFO - up_or_down 值统计: +up_or_down +0 11865 +1 11706 +2025-05-01 04:27:36,504 - FreqaiExampleStrategy - INFO - do_predict 值统计: +do_predict +0.0 14451 +1.0 9120 +2025-05-01 04:27:36,512 - freqtrade.optimize.backtesting - INFO - Backtesting with data from 2025-04-01 00:00:00 up to 2025-04-20 00:00:00 (19 days). +2025-05-01 04:27:36,517 - FreqaiExampleStrategy - ERROR - MACD 或 MACD 信号列缺失,无法生成买入信号。尝试重新计算 MACD 列。 +2025-05-01 04:27:36,519 - FreqaiExampleStrategy - INFO - MACD 列已成功重新计算。 +2025-05-01 04:27:36,549 - FreqaiExampleStrategy - ERROR - MACD 或 MACD 信号列缺失,无法生成买入信号。尝试重新计算 MACD 列。 +2025-05-01 04:27:36,551 - FreqaiExampleStrategy - INFO - MACD 列已成功重新计算。 +2025-05-01 04:27:37,138 - freqtrade.misc - INFO - dumping json to "/freqtrade/user_data/backtest_results/backtest-result-2025-05-01_04-27-37.meta.json" +Result for strategy FreqaiExampleStrategy + BACKTESTING REPORT +┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃ Pair ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃ +┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩ +│ BTC/USDT │ 17 │ 0.03 │ 0.801 │ 0.08 │ 11:49:00 │ 2 15 0 100 │ +│ SOL/USDT │ 13 │ -0.93 │ -18.095 │ -1.81 │ 8:54:00 │ 5 7 1 38.5 │ +│ TOTAL │ 30 │ -0.38 │ -17.294 │ -1.73 │ 10:34:00 │ 7 22 1 23.3 │ +└──────────┴────────┴──────────────┴─────────────────┴──────────────┴──────────────┴────────────────────────┘ + LEFT OPEN TRADES REPORT +┏━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃ Pair ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃ +┡━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩ +│ TOTAL │ 0 │ 0.0 │ 0.000 │ 0.0 │ 0:00 │ 0 0 0 0 │ +└───────┴────────┴──────────────┴─────────────────┴──────────────┴──────────────┴────────────────────────┘ + ENTER TAG STATS +┏━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃ Enter Tag ┃ Entries ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃ +┡━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩ +│ long │ 30 │ -0.38 │ -17.294 │ -1.73 │ 10:34:00 │ 7 22 1 23.3 │ +│ TOTAL │ 30 │ -0.38 │ -17.294 │ -1.73 │ 10:34:00 │ 7 22 1 23.3 │ +└───────────┴─────────┴──────────────┴─────────────────┴──────────────┴──────────────┴────────────────────────┘ + EXIT REASON STATS +┏━━━━━━━━━━━━━━━━━━━━┳━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃ Exit Reason ┃ Exits ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃ +┡━━━━━━━━━━━━━━━━━━━━╇━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩ +│ roi │ 29 │ 0.12 │ 5.235 │ 0.52 │ 9:21:00 │ 7 22 0 100 │ +│ trailing_stop_loss │ 1 │ -15.0 │ -22.529 │ -2.25 │ 1 day, 21:45:00 │ 0 0 1 0 │ +│ TOTAL │ 30 │ -0.38 │ -17.294 │ -1.73 │ 10:34:00 │ 7 22 1 23.3 │ +└────────────────────┴───────┴──────────────┴─────────────────┴──────────────┴─────────────────┴────────────────────────┘ + MIXED TAG STATS +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃ Enter Tag ┃ Exit Reason ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃ +┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩ +│ ('long', 'roi') │ │ 29 │ 0.12 │ 5.235 │ 0.52 │ 9:21:00 │ 7 22 0 100 │ +│ ('long', 'trailing_stop_loss') │ │ 1 │ -15.0 │ -22.529 │ -2.25 │ 1 day, 21:45:00 │ 0 0 1 0 │ +│ TOTAL │ │ 30 │ -0.38 │ -17.294 │ -1.73 │ 10:34:00 │ 7 22 1 23.3 │ +└────────────────────────────────┴─────────────┴────────┴──────────────┴─────────────────┴──────────────┴─────────────────┴────────────────────────┘ + SUMMARY METRICS +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┓ +┃ Metric ┃ Value ┃ +┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━┩ +│ Backtesting from │ 2025-04-01 00:00:00 │ +│ Backtesting to │ 2025-04-20 00:00:00 │ +│ Trading Mode │ Spot │ +│ Max open trades │ 2 │ +│ │ │ +│ Total/Daily Avg Trades │ 30 / 1.58 │ +│ Starting balance │ 1000 USDT │ +│ Final balance │ 982.706 USDT │ +│ Absolute profit │ -17.294 USDT │ +│ Total profit % │ -1.73% │ +│ CAGR % │ -28.48% │ +│ Sortino │ -100.00 │ +│ Sharpe │ -4.24 │ +│ Calmar │ -77.19 │ +│ SQN │ -0.76 │ +│ Profit factor │ 0.23 │ +│ Expectancy (Ratio) │ -0.58 (-0.76) │ +│ Avg. daily profit % │ -0.09% │ +│ Avg. stake amount │ 150 USDT │ +│ Total trade volume │ 9009.677 USDT │ +│ │ │ +│ Best Pair │ BTC/USDT 0.08% │ +│ Worst Pair │ SOL/USDT -1.81% │ +│ Best trade │ SOL/USDT 1.41% │ +│ Worst trade │ SOL/USDT -15.00% │ +│ Best day │ 2.151 USDT │ +│ Worst day │ -22.529 USDT │ +│ Days win/draw/lose │ 4 / 14 / 1 │ +│ Avg. Duration Winners │ 0:51:00 │ +│ Avg. Duration Loser │ 1 day, 21:45:00 │ +│ Max Consecutive Wins / Loss │ 3 / 11 │ +│ Rejected Entry signals │ 0 │ +│ Entry/Exit Timeouts │ 0 / 0 │ +│ │ │ +│ Min balance │ 977.471 USDT │ +│ Max balance │ 1000 USDT │ +│ Max % of account underwater │ 2.25% │ +│ Absolute Drawdown (Account) │ 2.25% │ +│ Absolute Drawdown │ 22.529 USDT │ +│ Drawdown high │ 0 USDT │ +│ Drawdown low │ -22.529 USDT │ +│ Drawdown Start │ 2025-04-01 14:54:00 │ +│ Drawdown End │ 2025-04-06 23:15:00 │ +│ Market change │ -0.80% │ +└─────────────────────────────┴─────────────────────┘ + +Backtested 2025-04-01 00:00:00 -> 2025-04-20 00:00:00 | Max open trades : 2 + STRATEGY SUMMARY +┏━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┓ +┃ Strategy ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃ Drawdown ┃ +┡━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━┩ +│ FreqaiExampleStrategy │ 30 │ -0.38 │ -17.294 │ -1.73 │ 10:34:00 │ 7 22 1 23.3 │ 22.529 USDT 2.25% │ +└───────────────────────┴────────┴──────────────┴─────────────────┴──────────────┴──────────────┴────────────────────────┴────────────────────┘ diff --git a/output_filted.log b/output_filted.log index 3967baef..324a0376 100644 --- a/output_filted.log +++ b/output_filted.log @@ -1,335 +1,385 @@ Creating freqtrade_freqtrade_run ... Creating freqtrade_freqtrade_run ... done -2025-04-29 07:44:18,057 - freqtrade - INFO - freqtrade 2025.3 -2025-04-29 07:44:18,268 - numexpr.utils - INFO - NumExpr defaulting to 12 threads. -2025-04-29 07:44:19,654 - freqtrade.configuration.load_config - INFO - Using config: /freqtrade/config_examples/config_freqai.okx.json ... -2025-04-29 07:44:19,654 - freqtrade.configuration.load_config - INFO - Using config: /freqtrade/templates/FreqaiExampleStrategy.json ... -2025-04-29 07:44:19,656 - freqtrade.loggers - INFO - Enabling colorized output. -2025-04-29 07:44:19,657 - root - INFO - Logfile configured -2025-04-29 07:44:19,657 - freqtrade.loggers - INFO - Verbosity set to 0 -2025-04-29 07:44:19,657 - freqtrade.configuration.configuration - INFO - Using additional Strategy lookup path: /freqtrade/templates -2025-04-29 07:44:19,658 - freqtrade.configuration.configuration - INFO - Using max_open_trades: 4 ... -2025-04-29 07:44:19,658 - freqtrade.configuration.configuration - INFO - Parameter --timerange detected: 20250401-20250420 ... -2025-04-29 07:44:19,698 - freqtrade.configuration.configuration - INFO - Using user-data directory: /freqtrade/user_data ... -2025-04-29 07:44:19,699 - freqtrade.configuration.configuration - INFO - Using data directory: /freqtrade/user_data/data/okx ... -2025-04-29 07:44:19,699 - freqtrade.configuration.configuration - INFO - Parameter --cache=none detected ... -2025-04-29 07:44:19,700 - freqtrade.configuration.configuration - INFO - Filter trades by timerange: 20250401-20250420 -2025-04-29 07:44:19,700 - freqtrade.configuration.configuration - INFO - Using freqaimodel class name: XGBoostRegressor -2025-04-29 07:44:19,701 - freqtrade.exchange.check_exchange - INFO - Checking exchange... -2025-04-29 07:44:19,708 - freqtrade.exchange.check_exchange - INFO - Exchange "okx" is officially supported by the Freqtrade development team. -2025-04-29 07:44:19,708 - freqtrade.configuration.configuration - INFO - Using pairlist from configuration. -2025-04-29 07:44:19,708 - freqtrade.configuration.config_validation - INFO - Validating configuration ... -2025-04-29 07:44:19,710 - freqtrade.commands.optimize_commands - INFO - Starting freqtrade in Backtesting mode -2025-04-29 07:44:19,711 - freqtrade.exchange.exchange - INFO - Instance is running with dry_run enabled -2025-04-29 07:44:19,711 - freqtrade.exchange.exchange - INFO - Using CCXT 4.4.69 -2025-04-29 07:44:19,712 - freqtrade.exchange.exchange - INFO - Applying additional ccxt config: {'enableRateLimit': True, 'rateLimit': 500, 'options': {'defaultType': 'spot'}} -2025-04-29 07:44:19,717 - freqtrade.exchange.exchange - INFO - Applying additional ccxt config: {'enableRateLimit': True, 'rateLimit': 500, 'options': {'defaultType': 'spot'}, 'timeout': 20000} -2025-04-29 07:44:19,722 - freqtrade.exchange.exchange - INFO - Using Exchange "OKX" -2025-04-29 07:44:22,575 - freqtrade.resolvers.exchange_resolver - INFO - Using resolved exchange 'Okx'... -2025-04-29 07:44:22,595 - freqtrade.resolvers.iresolver - INFO - Using resolved strategy FreqaiExampleStrategy from '/freqtrade/templates/FreqaiExampleStrategy.py'... -2025-04-29 07:44:22,596 - freqtrade.strategy.hyper - INFO - Loading parameters from file /freqtrade/templates/FreqaiExampleStrategy.json -2025-04-29 07:44:22,597 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'timeframe' with value in config file: 3m. -2025-04-29 07:44:22,597 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'stoploss' with value in config file: -0.05. -2025-04-29 07:44:22,598 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'stake_currency' with value in config file: USDT. -2025-04-29 07:44:22,598 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'stake_amount' with value in config file: 150. -2025-04-29 07:44:22,598 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'startup_candle_count' with value in config file: 30. -2025-04-29 07:44:22,599 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'unfilledtimeout' with value in config file: {'entry': 5, 'exit': 15, 'exit_timeout_count': 0, 'unit': +2025-05-01 04:27:17,240 - freqtrade - INFO - freqtrade 2025.3 +2025-05-01 04:27:17,468 - numexpr.utils - INFO - NumExpr defaulting to 12 threads. +2025-05-01 04:27:18,889 - freqtrade.configuration.load_config - INFO - Using config: /freqtrade/config_examples/config_freqai.okx.json ... +2025-05-01 04:27:18,891 - freqtrade.loggers - INFO - Enabling colorized output. +2025-05-01 04:27:18,891 - root - INFO - Logfile configured +2025-05-01 04:27:18,892 - freqtrade.loggers - INFO - Verbosity set to 0 +2025-05-01 04:27:18,892 - freqtrade.configuration.configuration - INFO - Using additional Strategy lookup path: /freqtrade/templates +2025-05-01 04:27:18,892 - freqtrade.configuration.configuration - INFO - Using max_open_trades: 4 ... +2025-05-01 04:27:18,893 - freqtrade.configuration.configuration - INFO - Parameter --timerange detected: 20250401-20250420 ... +2025-05-01 04:27:18,909 - freqtrade.configuration.configuration - INFO - Using user-data directory: /freqtrade/user_data ... +2025-05-01 04:27:18,910 - freqtrade.configuration.configuration - INFO - Using data directory: /freqtrade/user_data/data/okx ... +2025-05-01 04:27:18,910 - freqtrade.configuration.configuration - INFO - Parameter --cache=none detected ... +2025-05-01 04:27:18,911 - freqtrade.configuration.configuration - INFO - Filter trades by timerange: 20250401-20250420 +2025-05-01 04:27:18,911 - freqtrade.configuration.configuration - INFO - Using freqaimodel class name: XGBoostRegressor +2025-05-01 04:27:18,912 - freqtrade.exchange.check_exchange - INFO - Checking exchange... +2025-05-01 04:27:18,918 - freqtrade.exchange.check_exchange - INFO - Exchange "okx" is officially supported by the Freqtrade development team. +2025-05-01 04:27:18,918 - freqtrade.configuration.configuration - INFO - Using pairlist from configuration. +2025-05-01 04:27:18,918 - freqtrade.configuration.config_validation - INFO - Validating configuration ... +2025-05-01 04:27:18,920 - freqtrade.commands.optimize_commands - INFO - Starting freqtrade in Backtesting mode +2025-05-01 04:27:18,921 - freqtrade.exchange.exchange - INFO - Instance is running with dry_run enabled +2025-05-01 04:27:18,921 - freqtrade.exchange.exchange - INFO - Using CCXT 4.4.69 +2025-05-01 04:27:18,922 - freqtrade.exchange.exchange - INFO - Applying additional ccxt config: {'enableRateLimit': True, 'rateLimit': 500, 'options': {'defaultType': 'spot'}} +2025-05-01 04:27:18,927 - freqtrade.exchange.exchange - INFO - Applying additional ccxt config: {'enableRateLimit': True, 'rateLimit': 500, 'options': {'defaultType': 'spot'}, 'timeout': 20000} +2025-05-01 04:27:18,933 - freqtrade.exchange.exchange - INFO - Using Exchange "OKX" +2025-05-01 04:27:21,480 - freqtrade.resolvers.exchange_resolver - INFO - Using resolved exchange 'Okx'... +2025-05-01 04:27:21,502 - freqtrade.resolvers.iresolver - INFO - Using resolved strategy FreqaiExampleStrategy from '/freqtrade/templates/FreqaiExampleStrategy.py'... +2025-05-01 04:27:21,503 - freqtrade.strategy.hyper - INFO - Loading parameters from file /freqtrade/templates/FreqaiExampleStrategy.json +2025-05-01 04:27:21,503 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'timeframe' with value in config file: 3m. +2025-05-01 04:27:21,504 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'stoploss' with value in config file: -0.05. +2025-05-01 04:27:21,504 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'stake_currency' with value in config file: USDT. +2025-05-01 04:27:21,504 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'stake_amount' with value in config file: 150. +2025-05-01 04:27:21,505 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'startup_candle_count' with value in config file: 30. +2025-05-01 04:27:21,505 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'unfilledtimeout' with value in config file: {'entry': 5, 'exit': 15, 'exit_timeout_count': 0, 'unit': 'minutes'}. -2025-04-29 07:44:22,599 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'max_open_trades' with value in config file: 4. -2025-04-29 07:44:22,599 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using minimal_roi: {'0': 0.132, '8': 0.047, '14': 0.007, '60': 0} -2025-04-29 07:44:22,600 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using timeframe: 3m -2025-04-29 07:44:22,600 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using stoploss: -0.05 -2025-04-29 07:44:22,600 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using trailing_stop: True -2025-04-29 07:44:22,601 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using trailing_stop_positive: 0.01 -2025-04-29 07:44:22,601 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using trailing_stop_positive_offset: 0.02 -2025-04-29 07:44:22,602 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using trailing_only_offset_is_reached: False -2025-04-29 07:44:22,602 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using use_custom_stoploss: False -2025-04-29 07:44:22,602 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using process_only_new_candles: True -2025-04-29 07:44:22,603 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using order_types: {'entry': 'limit', 'exit': 'limit', 'stoploss': 'limit', 'stoploss_on_exchange': False, +2025-05-01 04:27:21,505 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'max_open_trades' with value in config file: 4. +2025-05-01 04:27:21,506 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using minimal_roi: {'0': 0.132, '8': 0.047, '14': 0.007, '60': 0} +2025-05-01 04:27:21,506 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using timeframe: 3m +2025-05-01 04:27:21,506 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using stoploss: -0.05 +2025-05-01 04:27:21,506 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using trailing_stop: True +2025-05-01 04:27:21,507 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using trailing_stop_positive: 0.01 +2025-05-01 04:27:21,507 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using trailing_stop_positive_offset: 0.02 +2025-05-01 04:27:21,507 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using trailing_only_offset_is_reached: False +2025-05-01 04:27:21,508 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using use_custom_stoploss: False +2025-05-01 04:27:21,508 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using process_only_new_candles: True +2025-05-01 04:27:21,508 - 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-04-29 07:44:22,603 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using order_time_in_force: {'entry': 'GTC', 'exit': 'GTC'} -2025-04-29 07:44:22,603 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using stake_currency: USDT -2025-04-29 07:44:22,604 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using stake_amount: 150 -2025-04-29 07:44:22,604 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using startup_candle_count: 30 -2025-04-29 07:44:22,604 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using unfilledtimeout: {'entry': 5, 'exit': 15, 'exit_timeout_count': 0, 'unit': 'minutes'} -2025-04-29 07:44:22,605 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using use_exit_signal: True -2025-04-29 07:44:22,605 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using exit_profit_only: False -2025-04-29 07:44:22,605 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using ignore_roi_if_entry_signal: False -2025-04-29 07:44:22,606 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using exit_profit_offset: 0.0 -2025-04-29 07:44:22,606 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using disable_dataframe_checks: False -2025-04-29 07:44:22,606 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using ignore_buying_expired_candle_after: 0 -2025-04-29 07:44:22,607 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using position_adjustment_enable: False -2025-04-29 07:44:22,607 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using max_entry_position_adjustment: -1 -2025-04-29 07:44:22,607 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using max_open_trades: 4 -2025-04-29 07:44:22,608 - freqtrade.configuration.config_validation - INFO - Validating configuration ... -2025-04-29 07:44:22,611 - freqtrade.resolvers.iresolver - INFO - Using resolved pairlist StaticPairList from '/freqtrade/freqtrade/plugins/pairlist/StaticPairList.py'... -2025-04-29 07:44:22,618 - freqtrade.optimize.backtesting - INFO - Using fee 0.1500% - worst case fee from exchange (lowest tier). -2025-04-29 07:44:22,619 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 3m to 14450 -2025-04-29 07:44:22,619 - freqtrade.data.history.history_utils - INFO - Using indicator startup period: 14450 ... -2025-04-29 07:44:22,751 - freqtrade.optimize.backtesting - INFO - Loading data from 2025-03-01 21:30:00 up to 2025-04-20 00:00:00 (49 days). -2025-04-29 07:44:22,751 - freqtrade.optimize.backtesting - INFO - Dataload complete. Calculating indicators -2025-04-29 07:44:22,752 - freqtrade.optimize.backtesting - INFO - Running backtesting for Strategy FreqaiExampleStrategy -2025-04-29 07:44:24,335 - matplotlib.font_manager - INFO - generated new fontManager -2025-04-29 07:44:24,532 - freqtrade.resolvers.iresolver - INFO - Using resolved freqaimodel XGBoostRegressor from '/freqtrade/freqtrade/freqai/prediction_models/XGBoostRegressor.py'... -2025-04-29 07:44:24,532 - freqtrade.freqai.data_drawer - INFO - Could not find existing datadrawer, starting from scratch -2025-04-29 07:44:24,533 - freqtrade.freqai.data_drawer - INFO - Could not find existing historic_predictions, starting from scratch -2025-04-29 07:44:24,533 - freqtrade.freqai.freqai_interface - INFO - Set fresh train queue from whitelist. Queue: ['BTC/USDT', 'SOL/USDT'] -2025-04-29 07:44:24,534 - freqtrade.strategy.hyper - INFO - Strategy Parameter: buy_rsi = 39.92672300850069 -2025-04-29 07:44:24,535 - freqtrade.strategy.hyper - INFO - Strategy Parameter: sell_rsi = 69.92672300850067 -2025-04-29 07:44:24,535 - freqtrade.strategy.hyper - INFO - No params for protection found, using default values. -2025-04-29 07:44:24,537 - FreqaiExampleStrategy - INFO - 处理交易对:BTC/USDT -2025-04-29 07:44:24,539 - freqtrade.freqai.freqai_interface - INFO - Training 2 timeranges -2025-04-29 07:44:24,540 - freqtrade.freqai.freqai_interface - INFO - Training BTC/USDT, 1/2 pairs from 2025-03-02 00:00:00 to 2025-04-01 00:00:00, 1/2 trains -2025-04-29 07:44:24,540 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +2025-05-01 04:27:21,508 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using order_time_in_force: {'entry': 'GTC', 'exit': 'GTC'} +2025-05-01 04:27:21,509 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using stake_currency: USDT +2025-05-01 04:27:21,509 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using stake_amount: 150 +2025-05-01 04:27:21,509 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using startup_candle_count: 30 +2025-05-01 04:27:21,510 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using unfilledtimeout: {'entry': 5, 'exit': 15, 'exit_timeout_count': 0, 'unit': 'minutes'} +2025-05-01 04:27:21,510 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using use_exit_signal: True +2025-05-01 04:27:21,510 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using exit_profit_only: False +2025-05-01 04:27:21,510 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using ignore_roi_if_entry_signal: False +2025-05-01 04:27:21,511 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using exit_profit_offset: 0.0 +2025-05-01 04:27:21,511 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using disable_dataframe_checks: False +2025-05-01 04:27:21,511 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using ignore_buying_expired_candle_after: 0 +2025-05-01 04:27:21,511 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using position_adjustment_enable: False +2025-05-01 04:27:21,512 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using max_entry_position_adjustment: -1 +2025-05-01 04:27:21,512 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using max_open_trades: 4 +2025-05-01 04:27:21,512 - freqtrade.configuration.config_validation - INFO - Validating configuration ... +2025-05-01 04:27:21,516 - freqtrade.resolvers.iresolver - INFO - Using resolved pairlist StaticPairList from '/freqtrade/freqtrade/plugins/pairlist/StaticPairList.py'... +2025-05-01 04:27:21,522 - freqtrade.optimize.backtesting - INFO - Using fee 0.1500% - worst case fee from exchange (lowest tier). +2025-05-01 04:27:21,523 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 3m to 14450 +2025-05-01 04:27:21,524 - freqtrade.data.history.history_utils - INFO - Using indicator startup period: 14450 ... +2025-05-01 04:27:21,658 - freqtrade.optimize.backtesting - INFO - Loading data from 2025-03-01 21:30:00 up to 2025-04-20 00:00:00 (49 days). +2025-05-01 04:27:21,658 - freqtrade.optimize.backtesting - INFO - Dataload complete. Calculating indicators +2025-05-01 04:27:21,659 - freqtrade.optimize.backtesting - INFO - Running backtesting for Strategy FreqaiExampleStrategy +2025-05-01 04:27:23,258 - matplotlib.font_manager - INFO - generated new fontManager +2025-05-01 04:27:23,463 - freqtrade.resolvers.iresolver - INFO - Using resolved freqaimodel XGBoostRegressor from '/freqtrade/freqtrade/freqai/prediction_models/XGBoostRegressor.py'... +2025-05-01 04:27:23,463 - freqtrade.freqai.data_drawer - INFO - Could not find existing datadrawer, starting from scratch +2025-05-01 04:27:23,464 - freqtrade.freqai.data_drawer - INFO - Could not find existing historic_predictions, starting from scratch +2025-05-01 04:27:23,464 - freqtrade.freqai.freqai_interface - INFO - Set fresh train queue from whitelist. Queue: ['BTC/USDT', 'SOL/USDT'] +2025-05-01 04:27:23,465 - freqtrade.strategy.hyper - INFO - Strategy Parameter: buy_rsi = 39.92672300850069 +2025-05-01 04:27:23,465 - freqtrade.strategy.hyper - INFO - Strategy Parameter: sell_rsi = 69.92672300850067 +2025-05-01 04:27:23,466 - freqtrade.strategy.hyper - INFO - No params for protection found, using default values. +2025-05-01 04:27:23,468 - FreqaiExampleStrategy - INFO - 处理交易对:BTC/USDT +2025-05-01 04:27:23,470 - freqtrade.freqai.freqai_interface - INFO - Training 2 timeranges +2025-05-01 04:27:23,471 - freqtrade.freqai.freqai_interface - INFO - Training BTC/USDT, 1/2 pairs from 2025-03-02 00:00:00 to 2025-04-01 00:00:00, 1/2 trains +2025-05-01 04:27:23,471 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at /freqtrade/user_data/models/test175/backtesting_predictions/cb_btc_1743465600_prediction.feather -2025-04-29 07:44:24,576 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 5m to 8690 -2025-04-29 07:44:24,577 - freqtrade.data.dataprovider - INFO - Loading data for BTC/USDT 5m from 2025-03-01 19:50:00 to 2025-04-20 00:00:00 -2025-04-29 07:44:24,646 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 1h to 770 -2025-04-29 07:44:24,647 - freqtrade.data.dataprovider - INFO - Loading data for BTC/USDT 1h from 2025-02-27 22:00:00 to 2025-04-20 00:00:00 -2025-04-29 07:44:24,698 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 3m to 14450 -2025-04-29 07:44:24,698 - freqtrade.data.dataprovider - INFO - Loading data for ETH/USDT 3m from 2025-03-01 21:30:00 to 2025-04-20 00:00:00 -2025-04-29 07:44:24,786 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 5m to 8690 -2025-04-29 07:44:24,787 - freqtrade.data.dataprovider - INFO - Loading data for ETH/USDT 5m from 2025-03-01 19:50:00 to 2025-04-20 00:00:00 -2025-04-29 07:44:24,858 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 1h to 770 -2025-04-29 07:44:24,859 - freqtrade.data.dataprovider - INFO - Loading data for ETH/USDT 1h from 2025-02-27 22:00:00 to 2025-04-20 00:00:00 -2025-04-29 07:44:24,907 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT -2025-04-29 07:44:24,912 - FreqaiExampleStrategy - INFO - 目标列形状:(14450,) -2025-04-29 07:44:24,914 - FreqaiExampleStrategy - INFO - 目标列预览: +2025-05-01 04:27:23,486 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:23,502 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:23,519 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:23,570 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 5m to 8690 +2025-05-01 04:27:23,571 - freqtrade.data.dataprovider - INFO - Loading data for BTC/USDT 5m from 2025-03-01 19:50:00 to 2025-04-20 00:00:00 +2025-05-01 04:27:23,623 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:23,635 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:23,647 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:23,688 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 1h to 770 +2025-05-01 04:27:23,689 - freqtrade.data.dataprovider - INFO - Loading data for BTC/USDT 1h from 2025-02-27 22:00:00 to 2025-04-20 00:00:00 +2025-05-01 04:27:23,711 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:23,721 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:23,729 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:23,803 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 3m to 14450 +2025-05-01 04:27:23,804 - freqtrade.data.dataprovider - INFO - Loading data for ETH/USDT 3m from 2025-03-01 21:30:00 to 2025-04-20 00:00:00 +2025-05-01 04:27:23,869 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:23,884 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:23,901 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:23,965 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 5m to 8690 +2025-05-01 04:27:23,965 - freqtrade.data.dataprovider - INFO - Loading data for ETH/USDT 5m from 2025-03-01 19:50:00 to 2025-04-20 00:00:00 +2025-05-01 04:27:24,005 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:24,016 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:24,027 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:24,081 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 1h to 770 +2025-05-01 04:27:24,082 - freqtrade.data.dataprovider - INFO - Loading data for ETH/USDT 1h from 2025-02-27 22:00:00 to 2025-04-20 00:00:00 +2025-05-01 04:27:24,104 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:24,113 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:24,122 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:24,176 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-05-01 04:27:24,182 - FreqaiExampleStrategy - INFO - 目标列形状:(14450,) +2025-05-01 04:27:24,185 - FreqaiExampleStrategy - INFO - 目标列预览: up_or_down &-buy_rsi 0 0.007116 50.010488 1 0.005291 50.010488 2 0.004416 50.010488 3 0.002082 50.010488 4 0.001904 50.010488 -2025-04-29 07:44:24,917 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT -2025-04-29 07:44:24,922 - FreqaiExampleStrategy - INFO - 目标列形状:(19250,) -2025-04-29 07:44:24,924 - FreqaiExampleStrategy - INFO - 目标列预览: +2025-05-01 04:27:24,192 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-05-01 04:27:24,198 - FreqaiExampleStrategy - INFO - 目标列形状:(19250,) +2025-05-01 04:27:24,200 - FreqaiExampleStrategy - INFO - 目标列预览: up_or_down &-buy_rsi 0 0.007116 49.846666 1 0.005291 49.846666 2 0.004416 49.846666 3 0.002082 49.846666 4 0.001904 49.846666 -2025-04-29 07:44:24,928 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-BTC_1743465600/cb_btc_1743465600 -2025-04-29 07:44:24,929 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training BTC/USDT -------------------- -2025-04-29 07:44:24,947 - freqtrade.freqai.data_kitchen - INFO - BTC/USDT: dropped 0 training points due to NaNs in populated dataset 14400. -2025-04-29 07:44:24,948 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-03-02 to 2025-03-31 -------------------- -2025-04-29 07:44:24,963 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 75 features -2025-04-29 07:44:24,963 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points -/home/ftuser/.local/lib/python3.12/site-packages/xgboost/core.py:158: UserWarning: [07:44:25] WARNING: /workspace/src/learner.cc:740: +2025-05-01 04:27:24,211 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-BTC_1743465600/cb_btc_1743465600 +2025-05-01 04:27:24,212 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training BTC/USDT -------------------- +2025-05-01 04:27:24,234 - freqtrade.freqai.data_kitchen - INFO - BTC/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-05-01 04:27:24,235 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-03-02 to 2025-03-31 -------------------- +2025-05-01 04:27:24,253 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 75 features +2025-05-01 04:27:24,254 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +/home/ftuser/.local/lib/python3.12/site-packages/xgboost/core.py:158: UserWarning: [04:27:24] WARNING: /workspace/src/learner.cc:740: Parameters: { "verbose" } are not used. warnings.warn(smsg, UserWarning) [99] validation_0-rmse:0.13679 validation_1-rmse:0.11901 -2025-04-29 07:44:25,735 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training BTC/USDT (0.81 secs) -------------------- +2025-05-01 04:27:26,288 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training BTC/USDT (2.08 secs) -------------------- /home/ftuser/.local/lib/python3.12/site-packages/xgboost/core.py:158: UserWarning: -[07:44:25] WARNING: /workspace/src/learner.cc:740: +[04:27:26] WARNING: /workspace/src/learner.cc:740: Parameters: { "verbose" } are not used. -2025-04-29 07:44:25,961 - freqtrade.plot.plotting - INFO - Stored plot as /freqtrade/user_data/models/test175/sub-train-BTC_1743465600/cb_btc_1743465600--buy_rsi.html -2025-04-29 07:44:25,962 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. -2025-04-29 07:44:25,985 - datasieve.pipeline - WARNING - Could not find step di in pipeline, returning None -2025-04-29 07:44:25,993 - freqtrade.freqai.freqai_interface - INFO - Training BTC/USDT, 1/2 pairs from 2025-03-12 00:00:00 to 2025-04-11 00:00:00, 2/2 trains -2025-04-29 07:44:25,993 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +2025-05-01 04:27:26,516 - freqtrade.plot.plotting - INFO - Stored plot as /freqtrade/user_data/models/test175/sub-train-BTC_1743465600/cb_btc_1743465600--buy_rsi.html +2025-05-01 04:27:26,517 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-05-01 04:27:26,539 - datasieve.pipeline - WARNING - Could not find step di in pipeline, returning None +2025-05-01 04:27:26,546 - freqtrade.freqai.freqai_interface - INFO - Training BTC/USDT, 1/2 pairs from 2025-03-12 00:00:00 to 2025-04-11 00:00:00, 2/2 trains +2025-05-01 04:27:26,547 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at /freqtrade/user_data/models/test175/backtesting_predictions/cb_btc_1744329600_prediction.feather -2025-04-29 07:44:25,996 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT -2025-04-29 07:44:26,001 - FreqaiExampleStrategy - INFO - 目标列形状:(19250,) -2025-04-29 07:44:26,003 - FreqaiExampleStrategy - INFO - 目标列预览: +2025-05-01 04:27:26,553 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-05-01 04:27:26,559 - FreqaiExampleStrategy - INFO - 目标列形状:(19250,) +2025-05-01 04:27:26,560 - FreqaiExampleStrategy - INFO - 目标列预览: up_or_down &-buy_rsi 0 0.007116 49.846666 1 0.005291 49.846666 2 0.004416 49.846666 3 0.002082 49.846666 4 0.001904 49.846666 -2025-04-29 07:44:26,007 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT -2025-04-29 07:44:26,013 - FreqaiExampleStrategy - INFO - 目标列形状:(23570,) -2025-04-29 07:44:26,015 - FreqaiExampleStrategy - INFO - 目标列预览: +2025-05-01 04:27:26,570 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-05-01 04:27:26,576 - FreqaiExampleStrategy - INFO - 目标列形状:(23570,) +2025-05-01 04:27:26,577 - FreqaiExampleStrategy - INFO - 目标列预览: up_or_down &-buy_rsi 0 0.007116 50.074781 1 0.005291 50.074781 2 0.004416 50.074781 3 0.002082 50.074781 4 0.001904 50.074781 -2025-04-29 07:44:26,019 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-BTC_1744329600/cb_btc_1744329600 -2025-04-29 07:44:26,020 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training BTC/USDT -------------------- -2025-04-29 07:44:26,040 - freqtrade.freqai.data_kitchen - INFO - BTC/USDT: dropped 0 training points due to NaNs in populated dataset 14400. -2025-04-29 07:44:26,040 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-03-12 to 2025-04-10 -------------------- -2025-04-29 07:44:26,055 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 75 features -2025-04-29 07:44:26,056 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +2025-05-01 04:27:26,585 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-BTC_1744329600/cb_btc_1744329600 +2025-05-01 04:27:26,585 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training BTC/USDT -------------------- +2025-05-01 04:27:26,603 - freqtrade.freqai.data_kitchen - INFO - BTC/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-05-01 04:27:26,603 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-03-12 to 2025-04-10 -------------------- +2025-05-01 04:27:26,621 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 75 features +2025-05-01 04:27:26,621 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points /home/ftuser/.local/lib/python3.12/site-packages/xgboost/core.py:158: UserWarning: -[07:44:26] WARNING: /workspace/src/learner.cc:740: +[04:27:26] WARNING: /workspace/src/learner.cc:740: Parameters: { "verbose" } are not used. [99] validation_0-rmse:0.13376 validation_1-rmse:0.11638 -2025-04-29 07:44:26,827 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training BTC/USDT (0.81 secs) -------------------- -2025-04-29 07:44:26,867 - freqtrade.plot.plotting - INFO - Stored plot as /freqtrade/user_data/models/test175/sub-train-BTC_1744329600/cb_btc_1744329600--buy_rsi.html -2025-04-29 07:44:26,868 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. -2025-04-29 07:44:26,886 - datasieve.pipeline - WARNING - Could not find step di in pipeline, returning None -2025-04-29 07:44:26,923 - FreqaiExampleStrategy - INFO - 动态参数:buy_rsi=39.26145316407591, sell_rsi=59.26145316407591, stoploss=-0.15, trailing_stop_positive=0.05 -2025-04-29 07:44:26,930 - FreqaiExampleStrategy - INFO - up_or_down 值统计: +2025-05-01 04:27:28,783 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training BTC/USDT (2.20 secs) -------------------- +/home/ftuser/.local/lib/python3.12/site-packages/xgboost/core.py:158: UserWarning: + +[04:27:28] WARNING: /workspace/src/learner.cc:740: +Parameters: { "verbose" } are not used. + + +2025-05-01 04:27:28,818 - freqtrade.plot.plotting - INFO - Stored plot as /freqtrade/user_data/models/test175/sub-train-BTC_1744329600/cb_btc_1744329600--buy_rsi.html +2025-05-01 04:27:28,818 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-05-01 04:27:28,840 - datasieve.pipeline - WARNING - Could not find step di in pipeline, returning None +2025-05-01 04:27:28,899 - FreqaiExampleStrategy - INFO - 动态参数:buy_rsi=39.26145316407591, sell_rsi=59.26145316407591, stoploss=-0.15, trailing_stop_positive=0.05 +2025-05-01 04:27:28,943 - FreqaiExampleStrategy - INFO - up_or_down 值统计: up_or_down 1 11845 0 11726 -2025-04-29 07:44:26,931 - FreqaiExampleStrategy - INFO - do_predict 值统计: +2025-05-01 04:27:28,944 - FreqaiExampleStrategy - INFO - do_predict 值统计: do_predict 0.0 14451 1.0 9120 -2025-04-29 07:44:26,933 - FreqaiExampleStrategy - INFO - 处理交易对:SOL/USDT -2025-04-29 07:44:26,934 - freqtrade.freqai.freqai_interface - INFO - Training 2 timeranges -2025-04-29 07:44:26,935 - freqtrade.freqai.freqai_interface - INFO - Training SOL/USDT, 2/2 pairs from 2025-03-02 00:00:00 to 2025-04-01 00:00:00, 1/2 trains -2025-04-29 07:44:26,935 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +2025-05-01 04:27:28,947 - FreqaiExampleStrategy - INFO - 处理交易对:SOL/USDT +2025-05-01 04:27:28,949 - freqtrade.freqai.freqai_interface - INFO - Training 2 timeranges +2025-05-01 04:27:28,950 - freqtrade.freqai.freqai_interface - INFO - Training SOL/USDT, 2/2 pairs from 2025-03-02 00:00:00 to 2025-04-01 00:00:00, 1/2 trains +2025-05-01 04:27:28,951 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at /freqtrade/user_data/models/test175/backtesting_predictions/cb_sol_1743465600_prediction.feather -2025-04-29 07:44:26,959 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 5m to 8690 -2025-04-29 07:44:26,959 - freqtrade.data.dataprovider - INFO - Loading data for SOL/USDT 5m from 2025-03-01 19:50:00 to 2025-04-20 00:00:00 -2025-04-29 07:44:27,020 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 1h to 770 -2025-04-29 07:44:27,020 - freqtrade.data.dataprovider - INFO - Loading data for SOL/USDT 1h from 2025-02-27 22:00:00 to 2025-04-20 00:00:00 -2025-04-29 07:44:27,068 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 3m to 14450 -2025-04-29 07:44:27,068 - freqtrade.data.dataprovider - INFO - Loading data for BTC/USDT 3m from 2025-03-01 21:30:00 to 2025-04-20 00:00:00 -2025-04-29 07:44:27,332 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT -2025-04-29 07:44:27,337 - FreqaiExampleStrategy - INFO - 目标列形状:(14450,) -2025-04-29 07:44:27,339 - FreqaiExampleStrategy - INFO - 目标列预览: +2025-05-01 04:27:28,962 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:28,974 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:28,988 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:29,022 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 5m to 8690 +2025-05-01 04:27:29,022 - freqtrade.data.dataprovider - INFO - Loading data for SOL/USDT 5m from 2025-03-01 19:50:00 to 2025-04-20 00:00:00 +2025-05-01 04:27:29,075 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:29,086 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:29,097 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:29,128 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 1h to 770 +2025-05-01 04:27:29,129 - freqtrade.data.dataprovider - INFO - Loading data for SOL/USDT 1h from 2025-02-27 22:00:00 to 2025-04-20 00:00:00 +2025-05-01 04:27:29,151 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:29,159 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:29,168 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:29,228 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 3m to 14450 +2025-05-01 04:27:29,229 - freqtrade.data.dataprovider - INFO - Loading data for BTC/USDT 3m from 2025-03-01 21:30:00 to 2025-04-20 00:00:00 +2025-05-01 04:27:29,283 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:29,296 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:29,310 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:29,367 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:29,378 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:29,388 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:29,442 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:29,451 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:29,459 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:29,535 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:29,548 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:29,561 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:29,630 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:29,640 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:29,651 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:29,735 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:29,743 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:29,751 - FreqaiExampleStrategy - INFO - 特征工程完成,特征数量:13 +2025-05-01 04:27:29,827 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-05-01 04:27:29,832 - FreqaiExampleStrategy - INFO - 目标列形状:(14450,) +2025-05-01 04:27:29,834 - FreqaiExampleStrategy - INFO - 目标列预览: up_or_down &-buy_rsi 0 0.016595 49.72136 1 0.012811 49.72136 2 0.010135 49.72136 3 0.008514 49.72136 4 0.006242 49.72136 -2025-04-29 07:44:27,342 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT -2025-04-29 07:44:27,347 - FreqaiExampleStrategy - INFO - 目标列形状:(19250,) -2025-04-29 07:44:27,349 - FreqaiExampleStrategy - INFO - 目标列预览: +2025-05-01 04:27:29,844 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-05-01 04:27:29,850 - FreqaiExampleStrategy - INFO - 目标列形状:(19250,) +2025-05-01 04:27:29,851 - FreqaiExampleStrategy - INFO - 目标列预览: up_or_down &-buy_rsi 0 0.016595 49.562407 1 0.012811 49.562407 2 0.010135 49.562407 3 0.008514 49.562407 4 0.006242 49.562407 -2025-04-29 07:44:27,353 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-SOL_1743465600/cb_sol_1743465600 -2025-04-29 07:44:27,354 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training SOL/USDT -------------------- -2025-04-29 07:44:27,378 - freqtrade.freqai.data_kitchen - INFO - SOL/USDT: dropped 0 training points due to NaNs in populated dataset 14400. -2025-04-29 07:44:27,379 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-03-02 to 2025-03-31 -------------------- -2025-04-29 07:44:27,402 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 111 features -2025-04-29 07:44:27,402 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +2025-05-01 04:27:29,863 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-SOL_1743465600/cb_sol_1743465600 +2025-05-01 04:27:29,864 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training SOL/USDT -------------------- +2025-05-01 04:27:29,893 - freqtrade.freqai.data_kitchen - INFO - SOL/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-05-01 04:27:29,894 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-03-02 to 2025-03-31 -------------------- +2025-05-01 04:27:29,919 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 111 features +2025-05-01 04:27:29,919 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points /home/ftuser/.local/lib/python3.12/site-packages/xgboost/core.py:158: UserWarning: -[07:44:27] WARNING: /workspace/src/learner.cc:740: +[04:27:30] WARNING: /workspace/src/learner.cc:740: Parameters: { "verbose" } are not used. [99] validation_0-rmse:0.11848 validation_1-rmse:0.10165 -2025-04-29 07:44:28,610 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training SOL/USDT (1.26 secs) -------------------- +2025-05-01 04:27:33,175 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training SOL/USDT (3.31 secs) -------------------- /home/ftuser/.local/lib/python3.12/site-packages/xgboost/core.py:158: UserWarning: -[07:44:28] WARNING: /workspace/src/learner.cc:740: +[04:27:33] WARNING: /workspace/src/learner.cc:740: Parameters: { "verbose" } are not used. -2025-04-29 07:44:28,642 - freqtrade.plot.plotting - INFO - Stored plot as /freqtrade/user_data/models/test175/sub-train-SOL_1743465600/cb_sol_1743465600--buy_rsi.html -2025-04-29 07:44:28,643 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. -2025-04-29 07:44:28,668 - datasieve.pipeline - WARNING - Could not find step di in pipeline, returning None -2025-04-29 07:44:28,675 - freqtrade.freqai.freqai_interface - INFO - Training SOL/USDT, 2/2 pairs from 2025-03-12 00:00:00 to 2025-04-11 00:00:00, 2/2 trains -2025-04-29 07:44:28,675 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +2025-05-01 04:27:33,208 - freqtrade.plot.plotting - INFO - Stored plot as /freqtrade/user_data/models/test175/sub-train-SOL_1743465600/cb_sol_1743465600--buy_rsi.html +2025-05-01 04:27:33,209 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-05-01 04:27:33,246 - datasieve.pipeline - WARNING - Could not find step di in pipeline, returning None +2025-05-01 04:27:33,254 - freqtrade.freqai.freqai_interface - INFO - Training SOL/USDT, 2/2 pairs from 2025-03-12 00:00:00 to 2025-04-11 00:00:00, 2/2 trains +2025-05-01 04:27:33,255 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at /freqtrade/user_data/models/test175/backtesting_predictions/cb_sol_1744329600_prediction.feather -2025-04-29 07:44:28,679 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT -2025-04-29 07:44:28,684 - FreqaiExampleStrategy - INFO - 目标列形状:(19250,) -2025-04-29 07:44:28,685 - FreqaiExampleStrategy - INFO - 目标列预览: +2025-05-01 04:27:33,265 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-05-01 04:27:33,270 - FreqaiExampleStrategy - INFO - 目标列形状:(19250,) +2025-05-01 04:27:33,272 - FreqaiExampleStrategy - INFO - 目标列预览: up_or_down &-buy_rsi 0 0.016595 49.562407 1 0.012811 49.562407 2 0.010135 49.562407 3 0.008514 49.562407 4 0.006242 49.562407 -2025-04-29 07:44:28,690 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT -2025-04-29 07:44:28,696 - FreqaiExampleStrategy - INFO - 目标列形状:(23570,) -2025-04-29 07:44:28,697 - FreqaiExampleStrategy - INFO - 目标列预览: +2025-05-01 04:27:33,283 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-05-01 04:27:33,289 - FreqaiExampleStrategy - INFO - 目标列形状:(23570,) +2025-05-01 04:27:33,290 - FreqaiExampleStrategy - INFO - 目标列预览: up_or_down &-buy_rsi 0 0.016595 49.934347 1 0.012811 49.934347 2 0.010135 49.934347 3 0.008514 49.934347 4 0.006242 49.934347 -2025-04-29 07:44:28,702 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-SOL_1744329600/cb_sol_1744329600 -2025-04-29 07:44:28,703 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training SOL/USDT -------------------- -2025-04-29 07:44:28,727 - freqtrade.freqai.data_kitchen - INFO - SOL/USDT: dropped 0 training points due to NaNs in populated dataset 14400. -2025-04-29 07:44:28,728 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-03-12 to 2025-04-10 -------------------- -2025-04-29 07:44:28,750 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 111 features -2025-04-29 07:44:28,751 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +2025-05-01 04:27:33,300 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-SOL_1744329600/cb_sol_1744329600 +2025-05-01 04:27:33,300 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training SOL/USDT -------------------- +2025-05-01 04:27:33,322 - freqtrade.freqai.data_kitchen - INFO - SOL/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-05-01 04:27:33,323 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-03-12 to 2025-04-10 -------------------- +2025-05-01 04:27:33,349 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 111 features +2025-05-01 04:27:33,349 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points /home/ftuser/.local/lib/python3.12/site-packages/xgboost/core.py:158: UserWarning: -[07:44:28] WARNING: /workspace/src/learner.cc:740: +[04:27:33] WARNING: /workspace/src/learner.cc:740: Parameters: { "verbose" } are not used. [99] validation_0-rmse:0.12679 validation_1-rmse:0.11178 -2025-04-29 07:44:29,926 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training SOL/USDT (1.22 secs) -------------------- +2025-05-01 04:27:36,303 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training SOL/USDT (3.00 secs) -------------------- /home/ftuser/.local/lib/python3.12/site-packages/xgboost/core.py:158: UserWarning: -[07:44:29] WARNING: /workspace/src/learner.cc:740: +[04:27:36] WARNING: /workspace/src/learner.cc:740: Parameters: { "verbose" } are not used. -2025-04-29 07:44:29,964 - freqtrade.plot.plotting - INFO - Stored plot as /freqtrade/user_data/models/test175/sub-train-SOL_1744329600/cb_sol_1744329600--buy_rsi.html -2025-04-29 07:44:29,964 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. -2025-04-29 07:44:29,989 - datasieve.pipeline - WARNING - Could not find step di in pipeline, returning None -2025-04-29 07:44:30,034 - FreqaiExampleStrategy - INFO - 动态参数:buy_rsi=50.0, sell_rsi=70.0, stoploss=-0.15, trailing_stop_positive=0.05 -2025-04-29 07:44:30,041 - FreqaiExampleStrategy - INFO - up_or_down 值统计: +2025-05-01 04:27:36,337 - freqtrade.plot.plotting - INFO - Stored plot as /freqtrade/user_data/models/test175/sub-train-SOL_1744329600/cb_sol_1744329600--buy_rsi.html +2025-05-01 04:27:36,338 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-05-01 04:27:36,372 - datasieve.pipeline - WARNING - Could not find step di in pipeline, returning None +2025-05-01 04:27:36,441 - FreqaiExampleStrategy - INFO - 动态参数:buy_rsi=50.0, sell_rsi=70.0, stoploss=-0.15, trailing_stop_positive=0.05 +2025-05-01 04:27:36,503 - FreqaiExampleStrategy - INFO - up_or_down 值统计: up_or_down 0 11865 1 11706 -2025-04-29 07:44:30,043 - FreqaiExampleStrategy - INFO - do_predict 值统计: +2025-05-01 04:27:36,504 - FreqaiExampleStrategy - INFO - do_predict 值统计: do_predict 0.0 14451 1.0 9120 -2025-04-29 07:44:30,046 - freqtrade.optimize.backtesting - INFO - Backtesting with data from 2025-04-01 00:00:00 up to 2025-04-20 00:00:00 (19 days). -2025-04-29 07:44:30,047 - FreqaiExampleStrategy - ERROR - MACD 或 MACD 信号列缺失,无法生成买入信号。尝试重新计算 MACD 列。 -2025-04-29 07:44:30,049 - FreqaiExampleStrategy - INFO - MACD 列已成功重新计算。 -2025-04-29 07:44:30,066 - FreqaiExampleStrategy - ERROR - MACD 或 MACD 信号列缺失,无法生成买入信号。尝试重新计算 MACD 列。 -2025-04-29 07:44:30,067 - FreqaiExampleStrategy - INFO - MACD 列已成功重新计算。 -2025-04-29 07:44:30,639 - freqtrade.misc - INFO - dumping json to "/freqtrade/user_data/backtest_results/backtest-result-2025-04-29_07-44-30.meta.json" +2025-05-01 04:27:36,512 - freqtrade.optimize.backtesting - INFO - Backtesting with data from 2025-04-01 00:00:00 up to 2025-04-20 00:00:00 (19 days). +2025-05-01 04:27:36,517 - FreqaiExampleStrategy - ERROR - MACD 或 MACD 信号列缺失,无法生成买入信号。尝试重新计算 MACD 列。 +2025-05-01 04:27:36,519 - FreqaiExampleStrategy - INFO - MACD 列已成功重新计算。 +2025-05-01 04:27:36,549 - FreqaiExampleStrategy - ERROR - MACD 或 MACD 信号列缺失,无法生成买入信号。尝试重新计算 MACD 列。 +2025-05-01 04:27:36,551 - FreqaiExampleStrategy - INFO - MACD 列已成功重新计算。 +2025-05-01 04:27:37,138 - freqtrade.misc - INFO - dumping json to "/freqtrade/user_data/backtest_results/backtest-result-2025-05-01_04-27-37.meta.json" Result for strategy FreqaiExampleStrategy - BACKTESTING REPORT  + BACKTESTING REPORT ┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓ -┃  Pair ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃  Win Draw Loss Win% ┃ +┃ Pair ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃ ┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩ │ BTC/USDT │ 17 │ 0.03 │ 0.801 │ 0.08 │ 11:49:00 │ 2 15 0 100 │ │ SOL/USDT │ 13 │ -0.93 │ -18.095 │ -1.81 │ 8:54:00 │ 5 7 1 38.5 │ │ TOTAL │ 30 │ -0.38 │ -17.294 │ -1.73 │ 10:34:00 │ 7 22 1 23.3 │ └──────────┴────────┴──────────────┴─────────────────┴──────────────┴──────────────┴────────────────────────┘ - LEFT OPEN TRADES REPORT  + LEFT OPEN TRADES REPORT ┏━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓ -┃  Pair ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃  Win Draw Loss Win% ┃ +┃ Pair ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃ ┡━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩ │ TOTAL │ 0 │ 0.0 │ 0.000 │ 0.0 │ 0:00 │ 0 0 0 0 │ └───────┴────────┴──────────────┴─────────────────┴──────────────┴──────────────┴────────────────────────┘ - ENTER TAG STATS  + ENTER TAG STATS ┏━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓ -┃ Enter Tag ┃ Entries ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃  Win Draw Loss Win% ┃ +┃ Enter Tag ┃ Entries ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃ ┡━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩ │ long │ 30 │ -0.38 │ -17.294 │ -1.73 │ 10:34:00 │ 7 22 1 23.3 │ │ TOTAL │ 30 │ -0.38 │ -17.294 │ -1.73 │ 10:34:00 │ 7 22 1 23.3 │ └───────────┴─────────┴──────────────┴─────────────────┴──────────────┴──────────────┴────────────────────────┘ - EXIT REASON STATS  + EXIT REASON STATS ┏━━━━━━━━━━━━━━━━━━━━┳━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓ -┃  Exit Reason ┃ Exits ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃  Avg Duration ┃  Win Draw Loss Win% ┃ +┃ Exit Reason ┃ Exits ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃ ┡━━━━━━━━━━━━━━━━━━━━╇━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩ │ roi │ 29 │ 0.12 │ 5.235 │ 0.52 │ 9:21:00 │ 7 22 0 100 │ │ trailing_stop_loss │ 1 │ -15.0 │ -22.529 │ -2.25 │ 1 day, 21:45:00 │ 0 0 1 0 │ │ TOTAL │ 30 │ -0.38 │ -17.294 │ -1.73 │ 10:34:00 │ 7 22 1 23.3 │ └────────────────────┴───────┴──────────────┴─────────────────┴──────────────┴─────────────────┴────────────────────────┘ - MIXED TAG STATS  + MIXED TAG STATS ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓ -┃  Enter Tag ┃ Exit Reason ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃  Avg Duration ┃  Win Draw Loss Win% ┃ +┃ Enter Tag ┃ Exit Reason ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃ ┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩ │ ('long', 'roi') │ │ 29 │ 0.12 │ 5.235 │ 0.52 │ 9:21:00 │ 7 22 0 100 │ │ ('long', 'trailing_stop_loss') │ │ 1 │ -15.0 │ -22.529 │ -2.25 │ 1 day, 21:45:00 │ 0 0 1 0 │ │ TOTAL │ │ 30 │ -0.38 │ -17.294 │ -1.73 │ 10:34:00 │ 7 22 1 23.3 │ └────────────────────────────────┴─────────────┴────────┴──────────────┴─────────────────┴──────────────┴─────────────────┴────────────────────────┘ - SUMMARY METRICS  + SUMMARY METRICS ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┓ -┃ Metric  ┃ Value  ┃ +┃ Metric ┃ Value ┃ ┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━┩ │ Backtesting from │ 2025-04-01 00:00:00 │ │ Backtesting to │ 2025-04-20 00:00:00 │ @@ -378,9 +428,9 @@ Result for strategy FreqaiExampleStrategy └─────────────────────────────┴─────────────────────┘ Backtested 2025-04-01 00:00:00 -> 2025-04-20 00:00:00 | Max open trades : 2 - STRATEGY SUMMARY  + STRATEGY SUMMARY ┏━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┓ -┃  Strategy ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃  Win Draw Loss Win% ┃  Drawdown ┃ +┃ Strategy ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃ Drawdown ┃ ┡━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━┩ │ FreqaiExampleStrategy │ 30 │ -0.38 │ -17.294 │ -1.73 │ 10:34:00 │ 7 22 1 23.3 │ 22.529 USDT 2.25% │ └───────────────────────┴────────┴──────────────┴─────────────────┴──────────────┴──────────────┴────────────────────────┴────────────────────┘ diff --git a/result/backtest-result-2025-05-01_04-27-37.json b/result/backtest-result-2025-05-01_04-27-37.json new file mode 100644 index 00000000..937f21df --- /dev/null +++ b/result/backtest-result-2025-05-01_04-27-37.json @@ -0,0 +1 @@ +{"strategy":{"FreqaiExampleStrategy":{"trades":[{"pair":"BTC/USDT","stake_amount":149.99942125,"max_stake_amount":149.99942125,"amount":0.00178565,"open_date":"2025-04-01 12:24:00+00:00","close_date":"2025-04-01 14:54:00+00:00","open_rate":84002.7,"close_rate":84255.08668002003,"fee_open":0.0015,"fee_close":0.0015,"trade_duration":150,"profit_ratio":0.0,"profit_abs":0.0,"exit_reason":"roi","initial_stop_loss_abs":71402.3,"initial_stop_loss_ratio":-0.15,"stop_loss_abs":71703.9,"stop_loss_ratio":-0.15,"min_rate":82536.2,"max_rate":84357.5,"is_open":false,"enter_tag":"long","leverage":1.0,"is_short":false,"open_timestamp":1743510240000,"close_timestamp":1743519240000,"orders":[{"amount":0.00178565,"safe_price":84002.7,"ft_order_side":"buy","order_filled_timestamp":1743510240000,"ft_is_entry":true,"ft_order_tag":"long","cost":150.22442038688249},{"amount":0.00178565,"safe_price":84255.08668002003,"ft_order_side":"sell","order_filled_timestamp":1743519240000,"ft_is_entry":false,"ft_order_tag":"roi","cost":150.67577067347304}]},{"pair":"SOL/USDT","stake_amount":149.99998664,"max_stake_amount":149.99998664,"amount":1.201153,"open_date":"2025-04-02 03:21:00+00:00","close_date":"2025-04-02 08:24:00+00:00","open_rate":124.88,"close_rate":125.2552028042063,"fee_open":0.0015,"fee_close":0.0015,"trade_duration":303,"profit_ratio":0.0,"profit_abs":0.0,"exit_reason":"roi","initial_stop_loss_abs":106.15,"initial_stop_loss_ratio":-0.15,"stop_loss_abs":106.51,"stop_loss_ratio":-0.15,"min_rate":123.49,"max_rate":125.3,"is_open":false,"enter_tag":"long","leverage":1.0,"is_short":false,"open_timestamp":1743564060000,"close_timestamp":1743582240000,"orders":[{"amount":1.201153,"safe_price":124.88,"ft_order_side":"buy","order_filled_timestamp":1743564060000,"ft_is_entry":true,"ft_order_tag":"long","cost":150.22498661996},{"amount":1.201153,"safe_price":125.2552028042063,"ft_order_side":"sell","order_filled_timestamp":1743582240000,"ft_is_entry":false,"ft_order_tag":"roi","cost":150.67633860780163}]},{"pair":"BTC/USDT","stake_amount":149.99985224,"max_stake_amount":149.99985224,"amount":0.0017816,"open_date":"2025-04-02 07:03:00+00:00","close_date":"2025-04-02 08:24:00+00:00","open_rate":84193.9,"close_rate":84446.86114171256,"fee_open":0.0015,"fee_close":0.0015,"trade_duration":81,"profit_ratio":0.0,"profit_abs":0.0,"exit_reason":"roi","initial_stop_loss_abs":71564.9,"initial_stop_loss_ratio":-0.15,"stop_loss_abs":71885.4,"stop_loss_ratio":-0.15,"min_rate":84001.3,"max_rate":84571.0,"is_open":false,"enter_tag":"long","leverage":1.0,"is_short":false,"open_timestamp":1743577380000,"close_timestamp":1743582240000,"orders":[{"amount":0.0017816,"safe_price":84193.9,"ft_order_side":"buy","order_filled_timestamp":1743577380000,"ft_is_entry":true,"ft_order_tag":"long","cost":150.22485201836},{"amount":0.0017816,"safe_price":84446.86114171256,"ft_order_side":"sell","order_filled_timestamp":1743582240000,"ft_is_entry":false,"ft_order_tag":"roi","cost":150.67620360179023}]},{"pair":"BTC/USDT","stake_amount":149.99917898,"max_stake_amount":149.99917898,"amount":0.00182459,"open_date":"2025-04-03 14:03:00+00:00","close_date":"2025-04-03 16:03:00+00:00","open_rate":82209.8,"close_rate":82456.79989984978,"fee_open":0.0015,"fee_close":0.0015,"trade_duration":120,"profit_ratio":0.0,"profit_abs":0.0,"exit_reason":"roi","initial_stop_loss_abs":69878.4,"initial_stop_loss_ratio":-0.15,"stop_loss_abs":70099.2,"stop_loss_ratio":-0.15,"min_rate":81203.0,"max_rate":82469.6,"is_open":false,"enter_tag":"long","leverage":1.0,"is_short":false,"open_timestamp":1743688980000,"close_timestamp":1743696180000,"orders":[{"amount":0.00182459,"safe_price":82209.8,"ft_order_side":"buy","order_filled_timestamp":1743688980000,"ft_is_entry":true,"ft_order_tag":"long","cost":150.22417775047302},{"amount":0.00182459,"safe_price":82456.79989984978,"ft_order_side":"sell","order_filled_timestamp":1743696180000,"ft_is_entry":false,"ft_order_tag":"roi","cost":150.67552730806082}]},{"pair":"SOL/USDT","stake_amount":149.99992405,"max_stake_amount":149.99992405,"amount":1.264435,"open_date":"2025-04-03 08:15:00+00:00","close_date":"2025-04-04 08:45:00+00:00","open_rate":118.63,"close_rate":118.98642463695543,"fee_open":0.0015,"fee_close":0.0015,"trade_duration":1470,"profit_ratio":0.0,"profit_abs":0.0,"exit_reason":"roi","initial_stop_loss_abs":100.84,"initial_stop_loss_ratio":-0.15,"stop_loss_abs":101.31,"stop_loss_ratio":-0.15,"min_rate":112.0,"max_rate":119.18,"is_open":false,"enter_tag":"long","leverage":1.0,"is_short":false,"open_timestamp":1743668100000,"close_timestamp":1743756300000,"orders":[{"amount":1.264435,"safe_price":118.63,"ft_order_side":"buy","order_filled_timestamp":1743668100000,"ft_is_entry":true,"ft_order_tag":"long","cost":150.22492393607502},{"amount":1.264435,"safe_price":118.98642463695543,"ft_order_side":"sell","order_filled_timestamp":1743756300000,"ft_is_entry":false,"ft_order_tag":"roi","cost":150.6762757355825}]},{"pair":"BTC/USDT","stake_amount":149.99982912,"max_stake_amount":149.99982912,"amount":0.00181497,"open_date":"2025-04-05 16:21:00+00:00","close_date":"2025-04-05 17:27:00+00:00","open_rate":82645.9,"close_rate":82894.21016524786,"fee_open":0.0015,"fee_close":0.0015,"trade_duration":66,"profit_ratio":0.0,"profit_abs":0.0,"exit_reason":"roi","initial_stop_loss_abs":70249.1,"initial_stop_loss_ratio":-0.15,"stop_loss_abs":70469.0,"stop_loss_ratio":-0.15,"min_rate":82609.4,"max_rate":82904.6,"is_open":false,"enter_tag":"long","leverage":1.0,"is_short":false,"open_timestamp":1743870060000,"close_timestamp":1743874020000,"orders":[{"amount":0.00181497,"safe_price":82645.9,"ft_order_side":"buy","order_filled_timestamp":1743870060000,"ft_is_entry":true,"ft_order_tag":"long","cost":150.2248288666845},{"amount":0.00181497,"safe_price":82894.21016524786,"ft_order_side":"sell","order_filled_timestamp":1743874020000,"ft_is_entry":false,"ft_order_tag":"roi","cost":150.67618038055534}]},{"pair":"BTC/USDT","stake_amount":149.99932721,"max_stake_amount":149.99932721,"amount":0.00180809,"open_date":"2025-04-05 20:48:00+00:00","close_date":"2025-04-05 22:57:00+00:00","open_rate":82960.1,"close_rate":83209.35418127192,"fee_open":0.0015,"fee_close":0.0015,"trade_duration":129,"profit_ratio":0.0,"profit_abs":0.0,"exit_reason":"roi","initial_stop_loss_abs":70516.1,"initial_stop_loss_ratio":-0.15,"stop_loss_abs":70761.3,"stop_loss_ratio":-0.15,"min_rate":82894.1,"max_rate":83248.5,"is_open":false,"enter_tag":"long","leverage":1.0,"is_short":false,"open_timestamp":1743886080000,"close_timestamp":1743893820000,"orders":[{"amount":0.00180809,"safe_price":82960.1,"ft_order_side":"buy","order_filled_timestamp":1743886080000,"ft_is_entry":true,"ft_order_tag":"long","cost":150.2243261998135},{"amount":0.00180809,"safe_price":83209.35418127192,"ft_order_side":"sell","order_filled_timestamp":1743893820000,"ft_is_entry":false,"ft_order_tag":"roi","cost":150.6756762034184}]},{"pair":"SOL/USDT","stake_amount":149.99997056,"max_stake_amount":149.99997056,"amount":1.227094,"open_date":"2025-04-05 01:30:00+00:00","close_date":"2025-04-06 23:15:00+00:00","open_rate":122.24,"close_rate":104.22,"fee_open":0.0015,"fee_close":0.0015,"trade_duration":2745,"profit_ratio":-0.14996884580932232,"profit_abs":-22.52906544,"exit_reason":"trailing_stop_loss","initial_stop_loss_abs":103.91,"initial_stop_loss_ratio":-0.15,"stop_loss_abs":104.22,"stop_loss_ratio":-0.15,"min_rate":104.13,"max_rate":122.61,"is_open":false,"enter_tag":"long","leverage":1.0,"is_short":false,"open_timestamp":1743816600000,"close_timestamp":1743981300000,"orders":[{"amount":1.227094,"safe_price":122.24,"ft_order_side":"buy","order_filled_timestamp":1743816600000,"ft_is_entry":true,"ft_order_tag":"long","cost":150.22497051584},{"amount":1.227094,"safe_price":104.22,"ft_order_side":"sell","order_filled_timestamp":1743981300000,"ft_is_entry":false,"ft_order_tag":"trailing_stop_loss","cost":128.07956828502}]},{"pair":"BTC/USDT","stake_amount":149.99999509,"max_stake_amount":149.99999509,"amount":0.00180863,"open_date":"2025-04-06 09:15:00+00:00","close_date":"2025-04-09 20:57:00+00:00","open_rate":82935.7,"close_rate":83184.88087130696,"fee_open":0.0015,"fee_close":0.0015,"trade_duration":5022,"profit_ratio":0.0,"profit_abs":0.0,"exit_reason":"roi","initial_stop_loss_abs":70495.4,"initial_stop_loss_ratio":-0.15,"stop_loss_abs":70772.7,"stop_loss_ratio":-0.15,"min_rate":74501.6,"max_rate":83262.0,"is_open":false,"enter_tag":"long","leverage":1.0,"is_short":false,"open_timestamp":1743930900000,"close_timestamp":1744232220000,"orders":[{"amount":0.00180863,"safe_price":82935.7,"ft_order_side":"buy","order_filled_timestamp":1743930900000,"ft_is_entry":true,"ft_order_tag":"long","cost":150.2249950836365},{"amount":0.00180863,"safe_price":83184.88087130696,"ft_order_side":"sell","order_filled_timestamp":1744232220000,"ft_is_entry":false,"ft_order_tag":"roi","cost":150.67634709690734}]},{"pair":"SOL/USDT","stake_amount":149.99993973,"max_stake_amount":149.99993973,"amount":1.279099,"open_date":"2025-04-10 02:36:00+00:00","close_date":"2025-04-11 06:45:00+00:00","open_rate":117.27,"close_rate":117.62233850776163,"fee_open":0.0015,"fee_close":0.0015,"trade_duration":1689,"profit_ratio":0.0,"profit_abs":0.0,"exit_reason":"roi","initial_stop_loss_abs":99.68,"initial_stop_loss_ratio":-0.15,"stop_loss_abs":100.09,"stop_loss_ratio":-0.15,"min_rate":108.33,"max_rate":117.75,"is_open":false,"enter_tag":"long","leverage":1.0,"is_short":false,"open_timestamp":1744252560000,"close_timestamp":1744353900000,"orders":[{"amount":1.279099,"safe_price":117.27,"ft_order_side":"buy","order_filled_timestamp":1744252560000,"ft_is_entry":true,"ft_order_tag":"long","cost":150.224939639595},{"amount":1.279099,"safe_price":117.62233850776163,"ft_order_side":"sell","order_filled_timestamp":1744353900000,"ft_is_entry":false,"ft_order_tag":"roi","cost":150.67629148628382}]},{"pair":"BTC/USDT","stake_amount":149.99941515,"max_stake_amount":149.99941515,"amount":0.00181937,"open_date":"2025-04-10 01:24:00+00:00","close_date":"2025-04-11 10:18:00+00:00","open_rate":82445.8,"close_rate":82693.50896344517,"fee_open":0.0015,"fee_close":0.0015,"trade_duration":1974,"profit_ratio":0.0,"profit_abs":0.0,"exit_reason":"roi","initial_stop_loss_abs":70079.0,"initial_stop_loss_ratio":-0.15,"stop_loss_abs":70408.1,"stop_loss_ratio":-0.15,"min_rate":78462.0,"max_rate":82833.0,"is_open":false,"enter_tag":"long","leverage":1.0,"is_short":false,"open_timestamp":1744248240000,"close_timestamp":1744366680000,"orders":[{"amount":0.00181937,"safe_price":82445.8,"ft_order_side":"buy","order_filled_timestamp":1744248240000,"ft_is_entry":true,"ft_order_tag":"long","cost":150.22441426871902},{"amount":0.00181937,"safe_price":82693.50896344517,"ft_order_side":"sell","order_filled_timestamp":1744366680000,"ft_is_entry":false,"ft_order_tag":"roi","cost":150.6757645369275}]},{"pair":"SOL/USDT","stake_amount":149.999928,"max_stake_amount":149.999928,"amount":1.25418,"open_date":"2025-04-11 16:03:00+00:00","close_date":"2025-04-11 17:03:00+00:00","open_rate":119.6,"close_rate":120.01,"fee_open":0.0015,"fee_close":0.0015,"trade_duration":60,"profit_ratio":0.000422318059261179,"profit_abs":0.0634427,"exit_reason":"roi","initial_stop_loss_abs":101.66,"initial_stop_loss_ratio":-0.15,"stop_loss_abs":102.51,"stop_loss_ratio":-0.15,"min_rate":118.64,"max_rate":120.6,"is_open":false,"enter_tag":"long","leverage":1.0,"is_short":false,"open_timestamp":1744387380000,"close_timestamp":1744390980000,"orders":[{"amount":1.25418,"safe_price":119.6,"ft_order_side":"buy","order_filled_timestamp":1744387380000,"ft_is_entry":true,"ft_order_tag":"long","cost":150.224927892},{"amount":1.25418,"safe_price":120.01,"ft_order_side":"sell","order_filled_timestamp":1744390980000,"ft_is_entry":false,"ft_order_tag":"roi","cost":150.73991301270001}]},{"pair":"SOL/USDT","stake_amount":149.99995246,"max_stake_amount":149.99995246,"amount":1.243987,"open_date":"2025-04-11 19:39:00+00:00","close_date":"2025-04-11 20:39:00+00:00","open_rate":120.58,"close_rate":121.48,"fee_open":0.0015,"fee_close":0.0015,"trade_duration":60,"profit_ratio":0.0044460593888015435,"profit_abs":0.66790906,"exit_reason":"roi","initial_stop_loss_abs":102.5,"initial_stop_loss_ratio":-0.15,"stop_loss_abs":103.58,"stop_loss_ratio":-0.15,"min_rate":120.38,"max_rate":121.85,"is_open":false,"enter_tag":"long","leverage":1.0,"is_short":false,"open_timestamp":1744400340000,"close_timestamp":1744403940000,"orders":[{"amount":1.243987,"safe_price":120.58,"ft_order_side":"buy","order_filled_timestamp":1744400340000,"ft_is_entry":true,"ft_order_tag":"long","cost":150.22495238869},{"amount":1.243987,"safe_price":121.48,"ft_order_side":"sell","order_filled_timestamp":1744403940000,"ft_is_entry":false,"ft_order_tag":"roi","cost":151.34622007114}]},{"pair":"BTC/USDT","stake_amount":149.99920231,"max_stake_amount":149.99920231,"amount":0.00179927,"open_date":"2025-04-12 00:18:00+00:00","close_date":"2025-04-12 06:24:00+00:00","open_rate":83366.7,"close_rate":83617.17581372058,"fee_open":0.0015,"fee_close":0.0015,"trade_duration":366,"profit_ratio":0.0,"profit_abs":0.0,"exit_reason":"roi","initial_stop_loss_abs":70861.7,"initial_stop_loss_ratio":-0.15,"stop_loss_abs":71173.3,"stop_loss_ratio":-0.15,"min_rate":82764.9,"max_rate":83733.2,"is_open":false,"enter_tag":"long","leverage":1.0,"is_short":false,"open_timestamp":1744417080000,"close_timestamp":1744439040000,"orders":[{"amount":0.00179927,"safe_price":83366.7,"ft_order_side":"buy","order_filled_timestamp":1744417080000,"ft_is_entry":true,"ft_order_tag":"long","cost":150.2242011124635},{"amount":0.00179927,"safe_price":83617.17581372058,"ft_order_side":"sell","order_filled_timestamp":1744439040000,"ft_is_entry":false,"ft_order_tag":"roi","cost":150.67555074024256}]},{"pair":"BTC/USDT","stake_amount":149.99934674,"max_stake_amount":149.99934674,"amount":0.00179638,"open_date":"2025-04-12 11:39:00+00:00","close_date":"2025-04-12 12:39:00+00:00","open_rate":83500.9,"close_rate":83751.77901852778,"fee_open":0.0015,"fee_close":0.0015,"trade_duration":60,"profit_ratio":0.0,"profit_abs":0.0,"exit_reason":"roi","initial_stop_loss_abs":70975.8,"initial_stop_loss_ratio":-0.15,"stop_loss_abs":71353.2,"stop_loss_ratio":-0.15,"min_rate":83414.0,"max_rate":83944.9,"is_open":false,"enter_tag":"long","leverage":1.0,"is_short":false,"open_timestamp":1744457940000,"close_timestamp":1744461540000,"orders":[{"amount":0.00179638,"safe_price":83500.9,"ft_order_side":"buy","order_filled_timestamp":1744457940000,"ft_is_entry":true,"ft_order_tag":"long","cost":150.22434576211302},{"amount":0.00179638,"safe_price":83751.77901852778,"ft_order_side":"sell","order_filled_timestamp":1744461540000,"ft_is_entry":false,"ft_order_tag":"roi","cost":150.6756958244929}]},{"pair":"SOL/USDT","stake_amount":149.9999955,"max_stake_amount":149.9999955,"amount":1.156515,"open_date":"2025-04-13 12:33:00+00:00","close_date":"2025-04-13 16:24:00+00:00","open_rate":129.7,"close_rate":130.0896845267902,"fee_open":0.0015,"fee_close":0.0015,"trade_duration":231,"profit_ratio":0.0,"profit_abs":0.0,"exit_reason":"roi","initial_stop_loss_abs":110.25,"initial_stop_loss_ratio":-0.15,"stop_loss_abs":110.64,"stop_loss_ratio":-0.15,"min_rate":126.83,"max_rate":130.16,"is_open":false,"enter_tag":"long","leverage":1.0,"is_short":false,"open_timestamp":1744547580000,"close_timestamp":1744561440000,"orders":[{"amount":1.156515,"safe_price":129.7,"ft_order_side":"buy","order_filled_timestamp":1744547580000,"ft_is_entry":true,"ft_order_tag":"long","cost":150.22499549325},{"amount":1.156515,"safe_price":130.0896845267902,"ft_order_side":"sell","order_filled_timestamp":1744561440000,"ft_is_entry":false,"ft_order_tag":"roi","cost":150.67634750775153}]},{"pair":"BTC/USDT","stake_amount":149.9995777,"max_stake_amount":149.9995777,"amount":0.00177504,"open_date":"2025-04-14 07:03:00+00:00","close_date":"2025-04-14 08:03:00+00:00","open_rate":84504.9,"close_rate":84758.79554331496,"fee_open":0.0015,"fee_close":0.0015,"trade_duration":60,"profit_ratio":0.0,"profit_abs":0.0,"exit_reason":"roi","initial_stop_loss_abs":71829.2,"initial_stop_loss_ratio":-0.15,"stop_loss_abs":72077.2,"stop_loss_ratio":-0.15,"min_rate":84226.9,"max_rate":84796.7,"is_open":false,"enter_tag":"long","leverage":1.0,"is_short":false,"open_timestamp":1744614180000,"close_timestamp":1744617780000,"orders":[{"amount":0.00177504,"safe_price":84504.9,"ft_order_side":"buy","order_filled_timestamp":1744614180000,"ft_is_entry":true,"ft_order_tag":"long","cost":150.224577062544},{"amount":0.00177504,"safe_price":84758.79554331496,"ft_order_side":"sell","order_filled_timestamp":1744617780000,"ft_is_entry":false,"ft_order_tag":"roi","cost":150.6759278198676}]},{"pair":"BTC/USDT","stake_amount":149.9993303,"max_stake_amount":149.9993303,"amount":0.00177451,"open_date":"2025-04-14 08:15:00+00:00","close_date":"2025-04-14 09:15:00+00:00","open_rate":84530.0,"close_rate":84866.6,"fee_open":0.0015,"fee_close":0.0015,"trade_duration":60,"profit_ratio":0.0009745833493592064,"profit_abs":0.14640613,"exit_reason":"roi","initial_stop_loss_abs":71850.5,"initial_stop_loss_ratio":-0.15,"stop_loss_abs":72218.3,"stop_loss_ratio":-0.15,"min_rate":84424.1,"max_rate":84962.6,"is_open":false,"enter_tag":"long","leverage":1.0,"is_short":false,"open_timestamp":1744618500000,"close_timestamp":1744622100000,"orders":[{"amount":0.00177451,"safe_price":84530.0,"ft_order_side":"buy","order_filled_timestamp":1744618500000,"ft_is_entry":true,"ft_order_tag":"long","cost":150.22432929545002},{"amount":0.00177451,"safe_price":84866.6,"ft_order_side":"sell","order_filled_timestamp":1744622100000,"ft_is_entry":false,"ft_order_tag":"roi","cost":150.82252531154901}]},{"pair":"SOL/USDT","stake_amount":149.999889,"max_stake_amount":149.999889,"amount":1.1609,"open_date":"2025-04-14 16:57:00+00:00","close_date":"2025-04-14 17:27:00+00:00","open_rate":129.21,"close_rate":130.76284927391086,"fee_open":0.0015,"fee_close":0.0015,"trade_duration":30,"profit_ratio":0.008986520213013808,"profit_abs":1.349999,"exit_reason":"roi","initial_stop_loss_abs":109.83,"initial_stop_loss_ratio":-0.15,"stop_loss_abs":111.22,"stop_loss_ratio":-0.15,"min_rate":128.97,"max_rate":130.84,"is_open":false,"enter_tag":"long","leverage":1.0,"is_short":false,"open_timestamp":1744649820000,"close_timestamp":1744651620000,"orders":[{"amount":1.1609,"safe_price":129.21,"ft_order_side":"buy","order_filled_timestamp":1744649820000,"ft_is_entry":true,"ft_order_tag":"long","cost":150.22488883350005},{"amount":1.1609,"safe_price":130.76284927391086,"ft_order_side":"sell","order_filled_timestamp":1744651620000,"ft_is_entry":false,"ft_order_tag":"roi","cost":152.03029560966627}]},{"pair":"BTC/USDT","stake_amount":149.99967,"max_stake_amount":149.99967,"amount":0.0017775,"open_date":"2025-04-14 17:09:00+00:00","close_date":"2025-04-14 18:09:00+00:00","open_rate":84388.0,"close_rate":85010.1,"fee_open":0.0015,"fee_close":0.0015,"trade_duration":60,"profit_ratio":0.004354311925966517,"profit_abs":0.65412507,"exit_reason":"roi","initial_stop_loss_abs":71729.8,"initial_stop_loss_ratio":-0.15,"stop_loss_abs":72306.1,"stop_loss_ratio":-0.15,"min_rate":84217.6,"max_rate":85065.9,"is_open":false,"enter_tag":"long","leverage":1.0,"is_short":false,"open_timestamp":1744650540000,"close_timestamp":1744654140000,"orders":[{"amount":0.0017775,"safe_price":84388.0,"ft_order_side":"buy","order_filled_timestamp":1744650540000,"ft_is_entry":true,"ft_order_tag":"long","cost":150.224669505},{"amount":0.0017775,"safe_price":85010.1,"ft_order_side":"sell","order_filled_timestamp":1744654140000,"ft_is_entry":false,"ft_order_tag":"roi","cost":151.332110929125}]},{"pair":"BTC/USDT","stake_amount":149.99992654,"max_stake_amount":149.99992654,"amount":0.00176999,"open_date":"2025-04-14 21:06:00+00:00","close_date":"2025-04-15 01:30:00+00:00","open_rate":84746.2,"close_rate":85000.82053079619,"fee_open":0.0015,"fee_close":0.0015,"trade_duration":264,"profit_ratio":0.0,"profit_abs":0.0,"exit_reason":"roi","initial_stop_loss_abs":72034.3,"initial_stop_loss_ratio":-0.15,"stop_loss_abs":72282.4,"stop_loss_ratio":-0.15,"min_rate":84335.1,"max_rate":85038.1,"is_open":false,"enter_tag":"long","leverage":1.0,"is_short":false,"open_timestamp":1744664760000,"close_timestamp":1744680600000,"orders":[{"amount":0.00176999,"safe_price":84746.2,"ft_order_side":"buy","order_filled_timestamp":1744664760000,"ft_is_entry":true,"ft_order_tag":"long","cost":150.224926427807},{"amount":0.00176999,"safe_price":85000.82053079619,"ft_order_side":"sell","order_filled_timestamp":1744680600000,"ft_is_entry":false,"ft_order_tag":"roi","cost":150.67627823480092}]},{"pair":"SOL/USDT","stake_amount":149.99988432,"max_stake_amount":149.99988432,"amount":1.171508,"open_date":"2025-04-15 19:12:00+00:00","close_date":"2025-04-15 21:30:00+00:00","open_rate":128.04,"close_rate":128.42469704556834,"fee_open":0.0015,"fee_close":0.0015,"trade_duration":138,"profit_ratio":0.0,"profit_abs":0.0,"exit_reason":"roi","initial_stop_loss_abs":108.84,"initial_stop_loss_ratio":-0.15,"stop_loss_abs":109.3,"stop_loss_ratio":-0.15,"min_rate":126.74,"max_rate":128.58,"is_open":false,"enter_tag":"long","leverage":1.0,"is_short":false,"open_timestamp":1744744320000,"close_timestamp":1744752600000,"orders":[{"amount":1.171508,"safe_price":128.04,"ft_order_side":"buy","order_filled_timestamp":1744744320000,"ft_is_entry":true,"ft_order_tag":"long","cost":150.22488414647998},{"amount":1.171508,"safe_price":128.42469704556834,"ft_order_side":"sell","order_filled_timestamp":1744752600000,"ft_is_entry":false,"ft_order_tag":"roi","cost":150.67623582643935}]},{"pair":"BTC/USDT","stake_amount":149.99982381,"max_stake_amount":149.99982381,"amount":0.00176027,"open_date":"2025-04-15 15:30:00+00:00","close_date":"2025-04-16 17:21:00+00:00","open_rate":85214.1,"close_rate":85470.12633950927,"fee_open":0.0015,"fee_close":0.0015,"trade_duration":1551,"profit_ratio":0.0,"profit_abs":0.0,"exit_reason":"roi","initial_stop_loss_abs":72432.0,"initial_stop_loss_ratio":-0.15,"stop_loss_abs":72656.3,"stop_loss_ratio":-0.15,"min_rate":83107.6,"max_rate":85477.9,"is_open":false,"enter_tag":"long","leverage":1.0,"is_short":false,"open_timestamp":1744731000000,"close_timestamp":1744824060000,"orders":[{"amount":0.00176027,"safe_price":85214.1,"ft_order_side":"buy","order_filled_timestamp":1744731000000,"ft_is_entry":true,"ft_order_tag":"long","cost":150.2248235427105},{"amount":0.00176027,"safe_price":85470.12633950927,"ft_order_side":"sell","order_filled_timestamp":1744824060000,"ft_is_entry":false,"ft_order_tag":"roi","cost":150.67617504058546}]},{"pair":"SOL/USDT","stake_amount":149.99995032,"max_stake_amount":149.99995032,"amount":1.180916,"open_date":"2025-04-16 18:42:00+00:00","close_date":"2025-04-16 19:12:00+00:00","open_rate":127.02,"close_rate":129.2,"fee_open":0.0015,"fee_close":0.0015,"trade_duration":30,"profit_ratio":0.014115733947888615,"profit_abs":2.12053543,"exit_reason":"roi","initial_stop_loss_abs":107.97,"initial_stop_loss_ratio":-0.15,"stop_loss_abs":110.34,"stop_loss_ratio":-0.15,"min_rate":126.76,"max_rate":129.81,"is_open":false,"enter_tag":"long","leverage":1.0,"is_short":false,"open_timestamp":1744828920000,"close_timestamp":1744830720000,"orders":[{"amount":1.180916,"safe_price":127.02,"ft_order_side":"buy","order_filled_timestamp":1744828920000,"ft_is_entry":true,"ft_order_tag":"long","cost":150.22495024548002},{"amount":1.180916,"safe_price":129.2,"ft_order_side":"sell","order_filled_timestamp":1744830720000,"ft_is_entry":false,"ft_order_tag":"roi","cost":152.8032087208}]},{"pair":"BTC/USDT","stake_amount":149.99919162,"max_stake_amount":149.99919162,"amount":0.00177608,"open_date":"2025-04-17 10:12:00+00:00","close_date":"2025-04-17 11:42:00+00:00","open_rate":84455.2,"close_rate":84708.946219329,"fee_open":0.0015,"fee_close":0.0015,"trade_duration":90,"profit_ratio":0.0,"profit_abs":0.0,"exit_reason":"roi","initial_stop_loss_abs":71787.0,"initial_stop_loss_ratio":-0.15,"stop_loss_abs":72019.5,"stop_loss_ratio":-0.15,"min_rate":84177.7,"max_rate":84728.8,"is_open":false,"enter_tag":"long","leverage":1.0,"is_short":false,"open_timestamp":1744884720000,"close_timestamp":1744890120000,"orders":[{"amount":0.00177608,"safe_price":84455.2,"ft_order_side":"buy","order_filled_timestamp":1744884720000,"ft_is_entry":true,"ft_order_tag":"long","cost":150.224190403424},{"amount":0.00177608,"safe_price":84708.946219329,"ft_order_side":"sell","order_filled_timestamp":1744890120000,"ft_is_entry":false,"ft_order_tag":"roi","cost":150.67553999902768}]},{"pair":"SOL/USDT","stake_amount":149.99998637,"max_stake_amount":149.99998637,"amount":1.112677,"open_date":"2025-04-18 01:42:00+00:00","close_date":"2025-04-18 02:48:00+00:00","open_rate":134.81,"close_rate":135.2150375563345,"fee_open":0.0015,"fee_close":0.0015,"trade_duration":66,"profit_ratio":0.0,"profit_abs":0.0,"exit_reason":"roi","initial_stop_loss_abs":114.59,"initial_stop_loss_ratio":-0.15,"stop_loss_abs":115.56,"stop_loss_ratio":-0.15,"min_rate":134.48,"max_rate":135.95,"is_open":false,"enter_tag":"long","leverage":1.0,"is_short":false,"open_timestamp":1744940520000,"close_timestamp":1744944480000,"orders":[{"amount":1.112677,"safe_price":134.81,"ft_order_side":"buy","order_filled_timestamp":1744940520000,"ft_is_entry":true,"ft_order_tag":"long","cost":150.224986349555},{"amount":1.112677,"safe_price":135.2150375563345,"ft_order_side":"sell","order_filled_timestamp":1744944480000,"ft_is_entry":false,"ft_order_tag":"roi","cost":150.6763383365842}]},{"pair":"SOL/USDT","stake_amount":149.9998682,"max_stake_amount":149.9998682,"amount":1.120238,"open_date":"2025-04-19 00:09:00+00:00","close_date":"2025-04-19 01:09:00+00:00","open_rate":133.9,"close_rate":134.51,"fee_open":0.0015,"fee_close":0.0015,"trade_duration":60,"profit_ratio":0.0015464853661674915,"profit_abs":0.23232056,"exit_reason":"roi","initial_stop_loss_abs":113.82,"initial_stop_loss_ratio":-0.15,"stop_loss_abs":114.5,"stop_loss_ratio":-0.15,"min_rate":133.58,"max_rate":134.7,"is_open":false,"enter_tag":"long","leverage":1.0,"is_short":false,"open_timestamp":1745021340000,"close_timestamp":1745024940000,"orders":[{"amount":1.120238,"safe_price":133.9,"ft_order_side":"buy","order_filled_timestamp":1745021340000,"ft_is_entry":true,"ft_order_tag":"long","cost":150.2248680023},{"amount":1.120238,"safe_price":134.51,"ft_order_side":"sell","order_filled_timestamp":1745024940000,"ft_is_entry":false,"ft_order_tag":"roi","cost":150.90923820007}]},{"pair":"BTC/USDT","stake_amount":149.99937856,"max_stake_amount":149.99937856,"amount":0.00176649,"open_date":"2025-04-17 20:36:00+00:00","close_date":"2025-04-19 04:30:00+00:00","open_rate":84913.8,"close_rate":85168.92408612919,"fee_open":0.0015,"fee_close":0.0015,"trade_duration":1914,"profit_ratio":0.0,"profit_abs":0.0,"exit_reason":"roi","initial_stop_loss_abs":72176.8,"initial_stop_loss_ratio":-0.15,"stop_loss_abs":72456.6,"stop_loss_ratio":-0.15,"min_rate":84300.0,"max_rate":85243.0,"is_open":false,"enter_tag":"long","leverage":1.0,"is_short":false,"open_timestamp":1744922160000,"close_timestamp":1745037000000,"orders":[{"amount":0.00176649,"safe_price":84913.8,"ft_order_side":"buy","order_filled_timestamp":1744922160000,"ft_is_entry":true,"ft_order_tag":"long","cost":150.22437762984302},{"amount":0.00176649,"safe_price":85168.92408612919,"ft_order_side":"sell","order_filled_timestamp":1745037000000,"ft_is_entry":false,"ft_order_tag":"roi","cost":150.67572778796972}]},{"pair":"BTC/USDT","stake_amount":149.99972372,"max_stake_amount":149.99972372,"amount":0.00175999,"open_date":"2025-04-19 12:21:00+00:00","close_date":"2025-04-19 13:54:00+00:00","open_rate":85227.6,"close_rate":85483.66690035054,"fee_open":0.0015,"fee_close":0.0015,"trade_duration":93,"profit_ratio":0.0,"profit_abs":0.0,"exit_reason":"roi","initial_stop_loss_abs":72443.5,"initial_stop_loss_ratio":-0.15,"stop_loss_abs":72675.0,"stop_loss_ratio":-0.15,"min_rate":85203.4,"max_rate":85499.9,"is_open":false,"enter_tag":"long","leverage":1.0,"is_short":false,"open_timestamp":1745065260000,"close_timestamp":1745070840000,"orders":[{"amount":0.00175999,"safe_price":85227.6,"ft_order_side":"buy","order_filled_timestamp":1745065260000,"ft_is_entry":true,"ft_order_tag":"long","cost":150.224723309586},{"amount":0.00175999,"safe_price":85483.66690035054,"ft_order_side":"sell","order_filled_timestamp":1745070840000,"ft_is_entry":false,"ft_order_tag":"roi","cost":150.67607450630987}]},{"pair":"SOL/USDT","stake_amount":149.9999886,"max_stake_amount":149.9999886,"amount":1.082251,"open_date":"2025-04-19 20:06:00+00:00","close_date":"2025-04-19 21:12:00+00:00","open_rate":138.6,"close_rate":139.0164246369554,"fee_open":0.0015,"fee_close":0.0015,"trade_duration":66,"profit_ratio":0.0,"profit_abs":0.0,"exit_reason":"roi","initial_stop_loss_abs":117.81,"initial_stop_loss_ratio":-0.15,"stop_loss_abs":118.28,"stop_loss_ratio":-0.15,"min_rate":138.37,"max_rate":139.15,"is_open":false,"enter_tag":"long","leverage":1.0,"is_short":false,"open_timestamp":1745093160000,"close_timestamp":1745097120000,"orders":[{"amount":1.082251,"safe_price":138.6,"ft_order_side":"buy","order_filled_timestamp":1745093160000,"ft_is_entry":true,"ft_order_tag":"long","cost":150.2249885829},{"amount":1.082251,"safe_price":139.0164246369554,"ft_order_side":"sell","order_filled_timestamp":1745097120000,"ft_is_entry":false,"ft_order_tag":"roi","cost":150.6763405766393}]}],"locks":[],"best_pair":{"key":"BTC/USDT","trades":17,"profit_mean":0.00031346442796033666,"profit_mean_pct":0.03,"profit_sum":0.005328895275325723,"profit_sum_pct":0.53,"profit_total_abs":0.8005312,"profit_total":0.0008005312,"profit_total_pct":0.08,"duration_avg":"11:49:00","wins":2,"draws":15,"losses":0,"winrate":0.11764705882352941},"worst_pair":{"key":"SOL/USDT","trades":13,"profit_mean":-0.009265517602629976,"profit_mean_pct":-0.93,"profit_sum":-0.12045172883418968,"profit_sum_pct":-12.05,"profit_total_abs":-18.09485869,"profit_total":-0.01809485869,"profit_total_pct":-1.81,"duration_avg":"8:54:00","wins":5,"draws":7,"losses":1,"winrate":0.38461538461538464},"results_per_pair":[{"key":"BTC/USDT","trades":17,"profit_mean":0.00031346442796033666,"profit_mean_pct":0.03,"profit_sum":0.005328895275325723,"profit_sum_pct":0.53,"profit_total_abs":0.8005312,"profit_total":0.0008005312,"profit_total_pct":0.08,"duration_avg":"11:49:00","wins":2,"draws":15,"losses":0,"winrate":0.11764705882352941},{"key":"SOL/USDT","trades":13,"profit_mean":-0.009265517602629976,"profit_mean_pct":-0.93,"profit_sum":-0.12045172883418968,"profit_sum_pct":-12.05,"profit_total_abs":-18.09485869,"profit_total":-0.01809485869,"profit_total_pct":-1.81,"duration_avg":"8:54:00","wins":5,"draws":7,"losses":1,"winrate":0.38461538461538464},{"key":"TOTAL","trades":30,"profit_mean":-0.0038374277852954654,"profit_mean_pct":-0.38,"profit_sum":-0.11512283355886396,"profit_sum_pct":-11.51,"profit_total_abs":-17.294327489999997,"profit_total":-0.017294327489999997,"profit_total_pct":-1.73,"duration_avg":"10:34:00","wins":7,"draws":22,"losses":1,"winrate":0.23333333333333334}],"results_per_enter_tag":[{"key":"long","trades":30,"profit_mean":-0.0038374277852954654,"profit_mean_pct":-0.38,"profit_sum":-0.11512283355886396,"profit_sum_pct":-11.51,"profit_total_abs":-17.294327489999997,"profit_total":-0.017294327489999997,"profit_total_pct":-1.73,"duration_avg":"10:34:00","wins":7,"draws":22,"losses":1,"winrate":0.23333333333333334},{"key":"TOTAL","trades":30,"profit_mean":-0.0038374277852954654,"profit_mean_pct":-0.38,"profit_sum":-0.11512283355886396,"profit_sum_pct":-11.51,"profit_total_abs":-17.294327489999997,"profit_total":-0.017294327489999997,"profit_total_pct":-1.73,"duration_avg":"10:34:00","wins":7,"draws":22,"losses":1,"winrate":0.23333333333333334}],"exit_reason_summary":[{"key":"roi","trades":29,"profit_mean":0.0012015866293261504,"profit_mean_pct":0.12,"profit_sum":0.03484601225045836,"profit_sum_pct":3.48,"profit_total_abs":5.2347379499999995,"profit_total":0.005234737949999999,"profit_total_pct":0.52,"duration_avg":"9:21:00","wins":7,"draws":22,"losses":0,"winrate":0.2413793103448276},{"key":"trailing_stop_loss","trades":1,"profit_mean":-0.14996884580932232,"profit_mean_pct":-15.0,"profit_sum":-0.14996884580932232,"profit_sum_pct":-15.0,"profit_total_abs":-22.52906544,"profit_total":-0.02252906544,"profit_total_pct":-2.25,"duration_avg":"1 day, 21:45:00","wins":0,"draws":0,"losses":1,"winrate":0.0},{"key":"TOTAL","trades":30,"profit_mean":-0.0038374277852954654,"profit_mean_pct":-0.38,"profit_sum":-0.11512283355886396,"profit_sum_pct":-11.51,"profit_total_abs":-17.294327489999997,"profit_total":-0.017294327489999997,"profit_total_pct":-1.73,"duration_avg":"10:34:00","wins":7,"draws":22,"losses":1,"winrate":0.23333333333333334}],"mix_tag_stats":[{"key":["long","roi"],"trades":29,"profit_mean":0.0012015866293261504,"profit_mean_pct":0.12,"profit_sum":0.03484601225045836,"profit_sum_pct":3.48,"profit_total_abs":5.2347379499999995,"profit_total":0.005234737949999999,"profit_total_pct":0.52,"duration_avg":"9:21:00","wins":7,"draws":22,"losses":0,"winrate":0.2413793103448276},{"key":["long","trailing_stop_loss"],"trades":1,"profit_mean":-0.14996884580932232,"profit_mean_pct":-15.0,"profit_sum":-0.14996884580932232,"profit_sum_pct":-15.0,"profit_total_abs":-22.52906544,"profit_total":-0.02252906544,"profit_total_pct":-2.25,"duration_avg":"1 day, 21:45:00","wins":0,"draws":0,"losses":1,"winrate":0.0},{"key":"TOTAL","trades":30,"profit_mean":-0.0038374277852954654,"profit_mean_pct":-0.38,"profit_sum":-0.11512283355886396,"profit_sum_pct":-11.51,"profit_total_abs":-17.294327489999997,"profit_total":-0.017294327489999997,"profit_total_pct":-1.73,"duration_avg":"10:34:00","wins":7,"draws":22,"losses":1,"winrate":0.23333333333333334}],"left_open_trades":[{"key":"TOTAL","trades":0,"profit_mean":0.0,"profit_mean_pct":0.0,"profit_sum":0.0,"profit_sum_pct":0.0,"profit_total_abs":0.0,"profit_total":0.0,"profit_total_pct":0.0,"duration_avg":"0:00","wins":0,"draws":0,"losses":0,"winrate":0.0}],"total_trades":30,"trade_count_long":30,"trade_count_short":0,"total_volume":9009.677129242717,"avg_stake_amount":149.99971513633332,"profit_mean":-0.0038374277852954654,"profit_median":0.0,"profit_total":-0.017294327489999997,"profit_total_long":-0.017294327489999997,"profit_total_short":0.0,"profit_total_abs":-17.294327489999997,"profit_total_long_abs":-17.294327489999997,"profit_total_short_abs":0.0,"cagr":-0.28476174375604546,"expectancy":-0.576477583,"expectancy_ratio":-0.7589215045131494,"sortino":-100,"sharpe":-4.239073787774819,"calmar":-77.1886301014733,"sqn":-0.7568,"profit_factor":0.23235486460551555,"backtest_start":"2025-04-01 00:00:00","backtest_start_ts":1743465600000,"backtest_end":"2025-04-20 00:00:00","backtest_end_ts":1745107200000,"backtest_days":19,"backtest_run_start_ts":1746073641,"backtest_run_end_ts":1746073657,"trades_per_day":1.58,"market_change":-0.007964379779939336,"pairlist":["BTC/USDT","SOL/USDT"],"stake_amount":150,"stake_currency":"USDT","stake_currency_decimals":3,"starting_balance":1000,"dry_run_wallet":1000,"final_balance":982.70567251,"rejected_signals":0,"timedout_entry_orders":0,"timedout_exit_orders":0,"canceled_trade_entries":0,"canceled_entry_orders":0,"replaced_entry_orders":0,"max_open_trades":2,"max_open_trades_setting":4,"timeframe":"3m","timeframe_detail":"","timerange":"20250401-20250420","enable_protections":false,"strategy_name":"FreqaiExampleStrategy","stoploss":-0.05,"trailing_stop":true,"trailing_stop_positive":0.01,"trailing_stop_positive_offset":0.02,"trailing_only_offset_is_reached":false,"use_custom_stoploss":false,"minimal_roi":{"0":0.132,"8":0.047,"14":0.007,"60":0},"use_exit_signal":true,"exit_profit_only":false,"exit_profit_offset":0.0,"ignore_roi_if_entry_signal":false,"trading_mode":"spot","margin_mode":"isolated","periodic_breakdown":{"day":[{"date":"01/04/2025","date_ts":1743465600000,"profit_abs":0.0,"wins":0,"draws":1,"losses":0,"trades":1,"profit_factor":0.0},{"date":"02/04/2025","date_ts":1743552000000,"profit_abs":0.0,"wins":0,"draws":2,"losses":0,"trades":2,"profit_factor":0.0},{"date":"03/04/2025","date_ts":1743638400000,"profit_abs":0.0,"wins":0,"draws":1,"losses":0,"trades":1,"profit_factor":0.0},{"date":"04/04/2025","date_ts":1743724800000,"profit_abs":0.0,"wins":0,"draws":1,"losses":0,"trades":1,"profit_factor":0.0},{"date":"05/04/2025","date_ts":1743811200000,"profit_abs":0.0,"wins":0,"draws":2,"losses":0,"trades":2,"profit_factor":0.0},{"date":"06/04/2025","date_ts":1743897600000,"profit_abs":-22.52906544,"wins":0,"draws":0,"losses":1,"trades":1,"profit_factor":0.0},{"date":"07/04/2025","date_ts":1743984000000,"profit_abs":0.0,"wins":0,"draws":0,"losses":0,"trades":0,"profit_factor":0.0},{"date":"08/04/2025","date_ts":1744070400000,"profit_abs":0.0,"wins":0,"draws":0,"losses":0,"trades":0,"profit_factor":0.0},{"date":"09/04/2025","date_ts":1744156800000,"profit_abs":0.0,"wins":0,"draws":1,"losses":0,"trades":1,"profit_factor":0.0},{"date":"10/04/2025","date_ts":1744243200000,"profit_abs":0.0,"wins":0,"draws":0,"losses":0,"trades":0,"profit_factor":0.0},{"date":"11/04/2025","date_ts":1744329600000,"profit_abs":0.73135176,"wins":2,"draws":2,"losses":0,"trades":4,"profit_factor":0.0},{"date":"12/04/2025","date_ts":1744416000000,"profit_abs":0.0,"wins":0,"draws":2,"losses":0,"trades":2,"profit_factor":0.0},{"date":"13/04/2025","date_ts":1744502400000,"profit_abs":0.0,"wins":0,"draws":1,"losses":0,"trades":1,"profit_factor":0.0},{"date":"14/04/2025","date_ts":1744588800000,"profit_abs":2.1505302,"wins":3,"draws":1,"losses":0,"trades":4,"profit_factor":0.0},{"date":"15/04/2025","date_ts":1744675200000,"profit_abs":0.0,"wins":0,"draws":2,"losses":0,"trades":2,"profit_factor":0.0},{"date":"16/04/2025","date_ts":1744761600000,"profit_abs":2.12053543,"wins":1,"draws":1,"losses":0,"trades":2,"profit_factor":0.0},{"date":"17/04/2025","date_ts":1744848000000,"profit_abs":0.0,"wins":0,"draws":1,"losses":0,"trades":1,"profit_factor":0.0},{"date":"18/04/2025","date_ts":1744934400000,"profit_abs":0.0,"wins":0,"draws":1,"losses":0,"trades":1,"profit_factor":0.0},{"date":"19/04/2025","date_ts":1745020800000,"profit_abs":0.23232056,"wins":1,"draws":3,"losses":0,"trades":4,"profit_factor":0.0}],"week":[{"date":"07/04/2025","date_ts":1743984000000,"profit_abs":-22.52906544,"wins":0,"draws":7,"losses":1,"trades":8,"profit_factor":0.0},{"date":"14/04/2025","date_ts":1744588800000,"profit_abs":2.88188196,"wins":5,"draws":7,"losses":0,"trades":12,"profit_factor":0.0},{"date":"21/04/2025","date_ts":1745193600000,"profit_abs":2.35285599,"wins":2,"draws":8,"losses":0,"trades":10,"profit_factor":0.0}],"month":[{"date":"30/04/2025","date_ts":1745971200000,"profit_abs":-17.29432749,"wins":7,"draws":22,"losses":1,"trades":30,"profit_factor":0.23235486}],"year":[{"date":"31/12/2025","date_ts":1767139200000,"profit_abs":-17.29432749,"wins":7,"draws":22,"losses":1,"trades":30,"profit_factor":0.23235486}]},"backtest_best_day":0.01431541548833953,"backtest_worst_day":-0.14996884580932232,"backtest_best_day_abs":2.1505302,"backtest_worst_day_abs":-22.52906544,"winning_days":4,"draw_days":14,"losing_days":1,"daily_profit":[["2025-04-01",0.0],["2025-04-02",0.0],["2025-04-03",0.0],["2025-04-04",0.0],["2025-04-05",0.0],["2025-04-06",-22.52906544],["2025-04-07",0.0],["2025-04-08",0.0],["2025-04-09",0.0],["2025-04-10",0.0],["2025-04-11",0.73135176],["2025-04-12",0.0],["2025-04-13",0.0],["2025-04-14",2.1505302],["2025-04-15",0.0],["2025-04-16",2.12053543],["2025-04-17",0.0],["2025-04-18",0.0],["2025-04-19",0.23232056]],"wins":7,"losses":1,"draws":22,"winrate":0.23333333333333334,"holding_avg":"10:34:00","holding_avg_s":38040.0,"winner_holding_avg":"0:51:00","winner_holding_avg_s":3060.0,"loser_holding_avg":"1 day, 21:45:00","loser_holding_avg_s":164700.0,"max_consecutive_wins":3,"max_consecutive_losses":11,"max_drawdown_account":0.022529065439999954,"max_relative_drawdown":0.022529065439999954,"max_drawdown_abs":22.52906544,"drawdown_start":"2025-04-01 14:54:00","drawdown_start_ts":1743519240000.0,"drawdown_end":"2025-04-06 23:15:00","drawdown_end_ts":1743981300000.0,"max_drawdown_low":-22.52906544,"max_drawdown_high":0.0,"csum_min":977.47093456,"csum_max":1000.0}},"strategy_comparison":[{"key":"FreqaiExampleStrategy","trades":30,"profit_mean":-0.0038374277852954654,"profit_mean_pct":-0.38,"profit_sum":-0.11512283355886396,"profit_sum_pct":-11.51,"profit_total_abs":-17.294327489999997,"profit_total":-0.017294327489999997,"profit_total_pct":-1.73,"duration_avg":"10:34:00","wins":7,"draws":22,"losses":1,"winrate":0.23333333333333334,"max_drawdown_account":0.022529065439999954,"max_drawdown_abs":"22.529"}]} \ No newline at end of file diff --git a/result/backtest-result-2025-05-01_04-27-37.meta.json b/result/backtest-result-2025-05-01_04-27-37.meta.json new file mode 100644 index 00000000..a9e6f72e --- /dev/null +++ b/result/backtest-result-2025-05-01_04-27-37.meta.json @@ -0,0 +1 @@ +{"FreqaiExampleStrategy":{"run_id":"503e73c282d0ca15563ac9a0a92479d87ab89671","backtest_start_time":1746073641,"timeframe":"3m","timeframe_detail":null,"backtest_start_ts":1743465600,"backtest_end_ts":1745107200}} \ No newline at end of file diff --git a/result/backtest-result-2025-05-01_04-27-37.zip b/result/backtest-result-2025-05-01_04-27-37.zip new file mode 100644 index 0000000000000000000000000000000000000000..0ce1287011b87fb885a1a7296c7b145cc8c7870c GIT binary patch literal 159024 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 DataFrame: + # 保留关键的技术指标 + dataframe["rsi"] = ta.RSI(dataframe, timeperiod=14) + + # 确保 MACD 列被正确计算并保留 + try: + macd = ta.MACD(dataframe, fastperiod=12, slowperiod=26, signalperiod=9) + dataframe["macd"] = macd["macd"] + dataframe["macdsignal"] = macd["macdsignal"] + except Exception as e: + logger.error(f"计算 MACD 列时出错:{str(e)}") + dataframe["macd"] = np.nan + dataframe["macdsignal"] = np.nan + + # 检查 MACD 列是否存在 + if "macd" not in dataframe.columns or "macdsignal" not in dataframe.columns: + logger.error("MACD 或 MACD 信号列缺失,无法生成买入信号") + raise ValueError("DataFrame 缺少必要的 MACD 列") + + # 确保 MACD 列存在 + if "macd" not in dataframe.columns or "macdsignal" not in dataframe.columns: + logger.error("MACD 或 MACD 信号列缺失,无法生成买入信号") + raise ValueError("DataFrame 缺少必要的 MACD 列") + + # 保留布林带相关特征 + bollinger = qtpylib.bollinger_bands(qtpylib.typical_price(dataframe), window=20, stds=2) + dataframe["bb_lowerband"] = bollinger["lower"] + dataframe["bb_middleband"] = bollinger["mid"] + dataframe["bb_upperband"] = bollinger["upper"] + + # 保留成交量相关特征 + dataframe["volume_ma"] = dataframe["volume"].rolling(window=20).mean() + + # 数据清理 + for col in dataframe.columns: + if dataframe[col].dtype in ["float64", "int64"]: + dataframe[col] = dataframe[col].replace([np.inf, -np.inf], np.nan) + dataframe[col] = dataframe[col].ffill().fillna(0) + + logger.info(f"特征工程完成,特征数量:{len(dataframe.columns)}") + return dataframe + + def feature_engineering_expand_basic(self, dataframe: DataFrame, metadata: dict, **kwargs) -> DataFrame: + dataframe["%-pct-change"] = dataframe["close"].pct_change() + dataframe["%-raw_volume"] = dataframe["volume"] + dataframe["%-raw_price"] = dataframe["close"] +# 数据清理逻辑 + for col in dataframe.columns: + if dataframe[col].dtype in ["float64", "int64"]: + dataframe[col] = dataframe[col].replace([np.inf, -np.inf], 0) + dataframe[col] = dataframe[col].ffill() + dataframe[col] = dataframe[col].fillna(0) + + # 检查是否仍有无效值 + if dataframe[col].isna().any() or np.isinf(dataframe[col]).any(): + logger.warning(f"列 {col} 仍包含无效值,已填充为默认值") + dataframe[col] = dataframe[col].fillna(0) + return dataframe + + def feature_engineering_standard(self, dataframe: DataFrame, metadata: dict, **kwargs) -> DataFrame: + dataframe["%-day_of_week"] = dataframe["date"].dt.dayofweek + dataframe["%-hour_of_day"] = dataframe["date"].dt.hour + dataframe.replace([np.inf, -np.inf], 0, inplace=True) + dataframe.ffill(inplace=True) + dataframe.fillna(0, inplace=True) + return dataframe + + def set_freqai_targets(self, dataframe: DataFrame, metadata: dict, **kwargs) -> DataFrame: + logger.info(f"设置 FreqAI 目标,交易对:{metadata['pair']}") + if "close" not in dataframe.columns: + logger.error("数据框缺少必要的 'close' 列") + raise ValueError("数据框缺少必要的 'close' 列") + + try: + label_period = self.freqai_info["feature_parameters"]["label_period_candles"] + + # 定义目标变量为未来价格变化百分比(连续值) + dataframe["up_or_down"] = ( + dataframe["close"].shift(-label_period) - dataframe["close"] + ) / dataframe["close"] + + # 数据清理:处理 NaN 和 Inf 值 + dataframe["up_or_down"] = dataframe["up_or_down"].replace([np.inf, -np.inf], np.nan) + dataframe["up_or_down"] = dataframe["up_or_down"].ffill().fillna(0) + + # 确保目标变量是二维数组 + if dataframe["up_or_down"].ndim == 1: + dataframe["up_or_down"] = dataframe["up_or_down"].values.reshape(-1, 1) + + # 检查并处理 NaN 或无限值 + dataframe["up_or_down"] = dataframe["up_or_down"].replace([np.inf, -np.inf], np.nan) + dataframe["up_or_down"] = dataframe["up_or_down"].ffill().fillna(0) + + # 生成 %-volatility 特征 + dataframe["%-volatility"] = dataframe["close"].pct_change().rolling(20).std() + + # 确保 &-buy_rsi 列的值计算正确 + dataframe["&-buy_rsi"] = ta.RSI(dataframe, timeperiod=14) + + # 数据清理 + for col in ["&-buy_rsi", "up_or_down", "%-volatility"]: + # 使用直接操作避免链式赋值 + dataframe[col] = dataframe[col].replace([np.inf, -np.inf], np.nan) + dataframe[col] = dataframe[col].ffill() # 替代 fillna(method='ffill') + dataframe[col] = dataframe[col].fillna(dataframe[col].mean()) # 使用均值填充 NaN 值 + if dataframe[col].isna().any(): + logger.warning(f"目标列 {col} 仍包含 NaN,填充为默认值") + + except Exception as e: + logger.error(f"创建 FreqAI 目标失败:{str(e)}") + raise + + # Log the shape of the target variable for debugging + logger.info(f"目标列形状:{dataframe['up_or_down'].shape}") + logger.info(f"目标列预览:\n{dataframe[['up_or_down', '&-buy_rsi']].head().to_string()}") + return dataframe + + def populate_indicators(self, dataframe: DataFrame, metadata: dict) -> DataFrame: + logger.info(f"处理交易对:{metadata['pair']}") + dataframe = self.freqai.start(dataframe, metadata, self) + + # 计算传统指标 + dataframe["rsi"] = ta.RSI(dataframe, timeperiod=14) + bollinger = qtpylib.bollinger_bands(qtpylib.typical_price(dataframe), window=20, stds=2) + dataframe["bb_lowerband"] = bollinger["lower"] + dataframe["bb_middleband"] = bollinger["mid"] + dataframe["bb_upperband"] = bollinger["upper"] + dataframe["tema"] = ta.TEMA(dataframe, timeperiod=9) + + # 生成 up_or_down 信号(非 FreqAI 目标) + label_period = self.freqai_info["feature_parameters"]["label_period_candles"] + # 使用未来价格变化方向生成 up_or_down 信号 + label_period = self.freqai_info["feature_parameters"]["label_period_candles"] + dataframe["up_or_down"] = np.where( + dataframe["close"].shift(-label_period) > dataframe["close"], 1, 0 + ) + + # 动态设置参数 + if "&-buy_rsi" in dataframe.columns: + # 派生其他目标 + dataframe["&-sell_rsi"] = dataframe["&-buy_rsi"] + 30 + dataframe["%-volatility"] = dataframe["close"].pct_change().rolling(20).std() + # Ensure proper calculation and handle potential NaN values + dataframe["&-stoploss"] = (-0.1 - (dataframe["%-volatility"] * 10).clip(0, 0.25)).fillna(-0.1) + dataframe["&-roi_0"] = ((dataframe["close"] / dataframe["close"].shift(label_period) - 1).clip(0, 0.2)).fillna(0) + + # Additional check to ensure no NaN values remain + for col in ["&-stoploss", "&-roi_0"]: + if dataframe[col].isna().any(): + logger.warning(f"列 {col} 仍包含 NaN,填充为默认值") + dataframe[col] = dataframe[col].fillna(-0.1 if col == "&-stoploss" else 0) + + # 简化动态参数生成逻辑 + # 放松 buy_rsi 和 sell_rsi 的生成逻辑 + # 计算 buy_rsi_pred 并清理 NaN 值 + dataframe["buy_rsi_pred"] = dataframe["rsi"].rolling(window=10).mean().clip(30, 50) + dataframe["buy_rsi_pred"] = dataframe["buy_rsi_pred"].fillna(dataframe["buy_rsi_pred"].median()) + + # 计算 sell_rsi_pred 并清理 NaN 值 + dataframe["sell_rsi_pred"] = dataframe["buy_rsi_pred"] + 20 + dataframe["sell_rsi_pred"] = dataframe["sell_rsi_pred"].fillna(dataframe["sell_rsi_pred"].median()) + + # 计算 stoploss_pred 并清理 NaN 值 + dataframe["stoploss_pred"] = -0.1 - (dataframe["%-volatility"] * 10).clip(0, 0.25) + dataframe["stoploss_pred"] = dataframe["stoploss_pred"].fillna(dataframe["stoploss_pred"].mean()) + + # 计算 roi_0_pred 并清理 NaN 值 + dataframe["roi_0_pred"] = dataframe["&-roi_0"].clip(0.01, 0.2) + dataframe["roi_0_pred"] = dataframe["roi_0_pred"].fillna(dataframe["roi_0_pred"].mean()) + + # 检查预测值 + for col in ["buy_rsi_pred", "sell_rsi_pred", "stoploss_pred", "roi_0_pred", "&-sell_rsi", "&-stoploss", "&-roi_0"]: + if dataframe[col].isna().any(): + logger.warning(f"列 {col} 包含 NaN,填充为默认值") + dataframe[col] = dataframe[col].fillna(dataframe[col].mean()) + + # 更保守的止损和止盈设置 + dataframe["trailing_stop_positive"] = (dataframe["roi_0_pred"] * 0.3).clip(0.01, 0.2) + dataframe["trailing_stop_positive_offset"] = (dataframe["roi_0_pred"] * 0.5).clip(0.01, 0.3) + + # 设置策略级参数 + self.buy_rsi.value = float(dataframe["buy_rsi_pred"].iloc[-1]) + self.sell_rsi.value = float(dataframe["sell_rsi_pred"].iloc[-1]) +# 更保守的止损设置 + self.stoploss = -0.15 # 固定止损 15% + self.minimal_roi = { + 0: float(self.roi_0.value), + 15: float(self.roi_15.value), + 30: float(self.roi_30.value), + 60: 0 + } +# 更保守的追踪止损设置 + self.trailing_stop_positive = 0.05 # 追踪止损触发点 + self.trailing_stop_positive_offset = 0.1 # 追踪止损偏移量 + + logger.info(f"动态参数:buy_rsi={self.buy_rsi.value}, sell_rsi={self.sell_rsi.value}, " + f"stoploss={self.stoploss}, trailing_stop_positive={self.trailing_stop_positive}") + + dataframe.replace([np.inf, -np.inf], 0, inplace=True) + dataframe.ffill(inplace=True) + dataframe.fillna(0, inplace=True) + + logger.info(f"up_or_down 值统计:\n{dataframe['up_or_down'].value_counts().to_string()}") + logger.info(f"do_predict 值统计:\n{dataframe['do_predict'].value_counts().to_string()}") + + return dataframe + + def populate_exit_trend(self, df: DataFrame, metadata: dict) -> DataFrame: +# 改进卖出信号条件 + exit_long_conditions = [ + (df["rsi"] > df["sell_rsi_pred"]), # RSI 高于卖出阈值 + (df["volume"] > df["volume"].rolling(window=10).mean()), # 成交量高于近期均值 + (df["close"] < df["bb_middleband"]) # 价格低于布林带中轨 + ] + if exit_long_conditions: + df.loc[ + reduce(lambda x, y: x & y, exit_long_conditions), + "exit_long" + ] = 1 + return df + def populate_entry_trend(self, df: DataFrame, metadata: dict) -> DataFrame: + # 改进买入信号条件 + # 检查 MACD 列是否存在 + if "macd" not in df.columns or "macdsignal" not in df.columns: + logger.error("MACD 或 MACD 信号列缺失,无法生成买入信号。尝试重新计算 MACD 列。") + + try: + macd = ta.MACD(df, fastperiod=12, slowperiod=26, signalperiod=9) + df["macd"] = macd["macd"] + df["macdsignal"] = macd["macdsignal"] + logger.info("MACD 列已成功重新计算。") + except Exception as e: + logger.error(f"重新计算 MACD 列时出错:{str(e)}") + raise ValueError("DataFrame 缺少必要的 MACD 列且无法重新计算。") + + enter_long_conditions = [ + (df["rsi"] < df["buy_rsi_pred"]), # RSI 低于买入阈值 + (df["volume"] > df["volume"].rolling(window=10).mean() * 1.2), # 成交量高于近期均值20% + (df["close"] > df["bb_middleband"]) # 价格高于布林带中轨 + ] + + # 如果 MACD 列存在,则添加 MACD 金叉条件 + if "macd" in df.columns and "macdsignal" in df.columns: + enter_long_conditions.append((df["macd"] > df["macdsignal"])) + + # 确保模型预测为买入 + enter_long_conditions.append((df["do_predict"] == 1)) + if enter_long_conditions: + df.loc[ + reduce(lambda x, y: x & y, enter_long_conditions), + ["enter_long", "enter_tag"] + ] = (1, "long") + return df + def confirm_trade_entry( + self, pair: str, order_type: str, amount: float, rate: float, + time_in_force: str, current_time, entry_tag, side: str, **kwargs + ) -> bool: + df, _ = self.dp.get_analyzed_dataframe(pair, self.timeframe) + last_candle = df.iloc[-1].squeeze() + if side == "long": + if rate > (last_candle["close"] * (1 + 0.0025)): + return False + return True diff --git a/result/backtest-result-2025-05-01_04-27-37_config.json b/result/backtest-result-2025-05-01_04-27-37_config.json new file mode 100644 index 00000000..122af1de --- /dev/null +++ b/result/backtest-result-2025-05-01_04-27-37_config.json @@ -0,0 +1 @@ +{"$schema":"https://schema.freqtrade.io/schema.json","trading_mode":"spot","margin_mode":"isolated","max_open_trades":4,"stake_currency":"USDT","stake_amount":150,"startup_candle_count":30,"tradable_balance_ratio":1,"fiat_display_currency":"USD","dry_run":true,"timeframe":"3m","dry_run_wallet":1000,"cancel_open_orders_on_exit":true,"stoploss":-0.05,"unfilledtimeout":{"entry":5,"exit":15},"exchange":{"name":"okx","key":"REDACTED","secret":"REDACTED","enable_ws":false,"ccxt_config":{"enableRateLimit":true,"rateLimit":500,"options":{"defaultType":"spot"}},"ccxt_async_config":{"enableRateLimit":true,"rateLimit":500,"timeout":20000},"pair_whitelist":["BTC/USDT","SOL/USDT"],"pair_blacklist":[]},"entry_pricing":{"price_side":"same","use_order_book":true,"order_book_top":1,"price_last_balance":0.0,"check_depth_of_market":{"enabled":false,"bids_to_ask_delta":1}},"exit_pricing":{"price_side":"other","use_order_book":true,"order_book_top":1},"pairlists":[{"method":"StaticPairList"}],"freqai":{"enabled":true,"data_kitchen":{"fillna":"ffill","feature_parameters":{"DI_threshold":0.9,"weight_factor":0.9}},"freqaimodel":"XGBoostRegressor","purge_old_models":2,"identifier":"test175","train_period_days":30,"backtest_period_days":10,"live_retrain_hours":0,"feature_selection":{"method":"recursive_elimination","threshold":0.01},"feature_parameters":{"include_timeframes":["3m","5m","1h"],"include_corr_pairlist":["BTC/USDT","ETH/USDT"],"label_period_candles":12,"include_shifted_candles":3,"indicator_periods_candles":[10,20,50],"plot_feature_importances":1},"data_split_parameters":{"test_size":0.2,"shuffle":true,"random_state":42},"model_training_parameters":{"n_estimators":200,"learning_rate":0.05,"max_depth":5,"subsample":0.8,"colsample_bytree":0.8,"objective":"reg:squarederror","eval_metric":"rmse","early_stopping_rounds":50,"verbose":0}},"api_server":{"enabled":true,"listen_ip_address":"0.0.0.0","listen_port":8080,"verbosity":"error","enable_openapi":false,"jwt_secret_key":"6a599ab046dbb419014807dffd7b8823bfa7e5df56b17d545485deb87331b4ca","ws_token":"6O5pBDiRigiZrmIsofaE2rkKMJtf9h8zVQ","CORS_origins":[],"username":"freqAdmin","password":"REDACTED"},"bot_name":"freqtrade","initial_state":"running","force_entry_enable":false,"internals":{"process_throttle_secs":5,"heartbeat_interval":20,"loglevel":"DEBUG"},"config_files":["/freqtrade/config_examples/config_freqai.okx.json"]} \ No newline at end of file diff --git a/result/backtest-result-2025-05-01_04-27-37_market_change.feather b/result/backtest-result-2025-05-01_04-27-37_market_change.feather new file mode 100644 index 0000000000000000000000000000000000000000..efe7c9b326af28d9a50f0baad2c62a4ff10ff359 GIT binary patch literal 180842 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�WR&Ui_832-t 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.log 2>&1 +sed -i 's/\x1B\[[0-9;]*m//g' output.log +python3 filter.py + +rm ./result/* -fr +mv ./user_data/backtest_results/* ./result/ + +cd ./result +# 查找当前目录下的所有 zip 文件 +zip_files=(*.zip) + +# 检查是否只有一个 zip 文件 +if [ ${#zip_files[@]} -eq 1 ]; then + # 解压缩该 zip 文件到当前目录 + unzip "${zip_files[0]}" +else + echo "当前目录下没有 zip 文件或者有多个 zip 文件,无法操作。" +fi diff --git a/temp_validation.log b/temp_validation.log new file mode 100644 index 00000000..3d10ae37 --- /dev/null +++ b/temp_validation.log @@ -0,0 +1,2202 @@ +2025-04-29 01:54:56,917 - freqtrade.configuration.config_validation - INFO - Validating configuration ... +2025-04-29 01:54:59,502 - freqtrade.configuration.config_validation - INFO - Validating configuration ... +[0] validation_0-rmse:0.24624 validation_1-rmse:0.26036 +[1] validation_0-rmse:0.24176 validation_1-rmse:0.25460 +[2] validation_0-rmse:0.23782 validation_1-rmse:0.24904 +[3] validation_0-rmse:0.23408 validation_1-rmse:0.24381 +[4] validation_0-rmse:0.23057 validation_1-rmse:0.23882 +[5] validation_0-rmse:0.22701 validation_1-rmse:0.23409 +[6] validation_0-rmse:0.22400 validation_1-rmse:0.22962 +[7] validation_0-rmse:0.22088 validation_1-rmse:0.22533 +[8] validation_0-rmse:0.21817 validation_1-rmse:0.22130 +[9] validation_0-rmse:0.21491 validation_1-rmse:0.21740 +[10] validation_0-rmse:0.21265 validation_1-rmse:0.21347 +[11] validation_0-rmse:0.20982 validation_1-rmse:0.20978 +[12] validation_0-rmse:0.20747 validation_1-rmse:0.20640 +[13] validation_0-rmse:0.20512 validation_1-rmse:0.20299 +[14] validation_0-rmse:0.20280 validation_1-rmse:0.19966 +[15] validation_0-rmse:0.20012 validation_1-rmse:0.19656 +[16] validation_0-rmse:0.19785 validation_1-rmse:0.19346 +[17] validation_0-rmse:0.19572 validation_1-rmse:0.19054 +[18] validation_0-rmse:0.19400 validation_1-rmse:0.18759 +[19] validation_0-rmse:0.19164 validation_1-rmse:0.18488 +[20] validation_0-rmse:0.18956 validation_1-rmse:0.18205 +[21] validation_0-rmse:0.18746 validation_1-rmse:0.17951 +[22] validation_0-rmse:0.18593 validation_1-rmse:0.17696 +[23] validation_0-rmse:0.18395 validation_1-rmse:0.17465 +[24] validation_0-rmse:0.18249 validation_1-rmse:0.17217 +[25] validation_0-rmse:0.18084 validation_1-rmse:0.16993 +[26] validation_0-rmse:0.17928 validation_1-rmse:0.16771 +[27] validation_0-rmse:0.17776 validation_1-rmse:0.16571 +[28] validation_0-rmse:0.17652 validation_1-rmse:0.16356 +[29] validation_0-rmse:0.17499 validation_1-rmse:0.16166 +[30] validation_0-rmse:0.17371 validation_1-rmse:0.15983 +[31] validation_0-rmse:0.17243 validation_1-rmse:0.15792 +[32] validation_0-rmse:0.17110 validation_1-rmse:0.15628 +[33] validation_0-rmse:0.16996 validation_1-rmse:0.15433 +[34] validation_0-rmse:0.16884 validation_1-rmse:0.15277 +[35] validation_0-rmse:0.16785 validation_1-rmse:0.15090 +[36] validation_0-rmse:0.16682 validation_1-rmse:0.14942 +[37] validation_0-rmse:0.16559 validation_1-rmse:0.14774 +[38] validation_0-rmse:0.16459 validation_1-rmse:0.14628 +[39] validation_0-rmse:0.16356 validation_1-rmse:0.14466 +[40] validation_0-rmse:0.16250 validation_1-rmse:0.14330 +[41] validation_0-rmse:0.16153 validation_1-rmse:0.14201 +[42] validation_0-rmse:0.16059 validation_1-rmse:0.14075 +[43] validation_0-rmse:0.15986 validation_1-rmse:0.13938 +[44] validation_0-rmse:0.15908 validation_1-rmse:0.13822 +[45] validation_0-rmse:0.15810 validation_1-rmse:0.13687 +[46] validation_0-rmse:0.15733 validation_1-rmse:0.13577 +[47] validation_0-rmse:0.15655 validation_1-rmse:0.13458 +[48] validation_0-rmse:0.15580 validation_1-rmse:0.13355 +[49] validation_0-rmse:0.15512 validation_1-rmse:0.13228 +[50] validation_0-rmse:0.15434 validation_1-rmse:0.13121 +[51] validation_0-rmse:0.15363 validation_1-rmse:0.13030 +[52] validation_0-rmse:0.15294 validation_1-rmse:0.12937 +[53] validation_0-rmse:0.15243 validation_1-rmse:0.12818 +[54] validation_0-rmse:0.15170 validation_1-rmse:0.12720 +[55] validation_0-rmse:0.15096 validation_1-rmse:0.12632 +[56] validation_0-rmse:0.15035 validation_1-rmse:0.12538 +[57] validation_0-rmse:0.14977 validation_1-rmse:0.12453 +[58] validation_0-rmse:0.14914 validation_1-rmse:0.12363 +[59] validation_0-rmse:0.14867 validation_1-rmse:0.12263 +[60] validation_0-rmse:0.14819 validation_1-rmse:0.12183 +[61] validation_0-rmse:0.14763 validation_1-rmse:0.12108 +[62] validation_0-rmse:0.14706 validation_1-rmse:0.12035 +[63] validation_0-rmse:0.14648 validation_1-rmse:0.11946 +[64] validation_0-rmse:0.14601 validation_1-rmse:0.11876 +[65] validation_0-rmse:0.14553 validation_1-rmse:0.11808 +[66] validation_0-rmse:0.14506 validation_1-rmse:0.11742 +[67] validation_0-rmse:0.14469 validation_1-rmse:0.11671 +[68] validation_0-rmse:0.14422 validation_1-rmse:0.11604 +[69] validation_0-rmse:0.14381 validation_1-rmse:0.11543 +[70] validation_0-rmse:0.14337 validation_1-rmse:0.11485 +[71] validation_0-rmse:0.14294 validation_1-rmse:0.11398 +[72] validation_0-rmse:0.14260 validation_1-rmse:0.11335 +[73] validation_0-rmse:0.14223 validation_1-rmse:0.11278 +[74] validation_0-rmse:0.14190 validation_1-rmse:0.11225 +[75] validation_0-rmse:0.14144 validation_1-rmse:0.11143 +[76] validation_0-rmse:0.14098 validation_1-rmse:0.11052 +[77] validation_0-rmse:0.14062 validation_1-rmse:0.10998 +[78] validation_0-rmse:0.14029 validation_1-rmse:0.10953 +[79] validation_0-rmse:0.13993 validation_1-rmse:0.10888 +[80] validation_0-rmse:0.13958 validation_1-rmse:0.10839 +[81] validation_0-rmse:0.13918 validation_1-rmse:0.10767 +[82] validation_0-rmse:0.13897 validation_1-rmse:0.10720 +[83] validation_0-rmse:0.13864 validation_1-rmse:0.10669 +[84] validation_0-rmse:0.13836 validation_1-rmse:0.10620 +[85] validation_0-rmse:0.13810 validation_1-rmse:0.10573 +[86] validation_0-rmse:0.13782 validation_1-rmse:0.10526 +[87] validation_0-rmse:0.13756 validation_1-rmse:0.10458 +[88] validation_0-rmse:0.13736 validation_1-rmse:0.10420 +[89] validation_0-rmse:0.13708 validation_1-rmse:0.10383 +[90] validation_0-rmse:0.13685 validation_1-rmse:0.10343 +[91] validation_0-rmse:0.13658 validation_1-rmse:0.10298 +[92] validation_0-rmse:0.13646 validation_1-rmse:0.10231 +[93] validation_0-rmse:0.13615 validation_1-rmse:0.10190 +[94] validation_0-rmse:0.13589 validation_1-rmse:0.10154 +[95] validation_0-rmse:0.13572 validation_1-rmse:0.10095 +[96] validation_0-rmse:0.13550 validation_1-rmse:0.10058 +[97] validation_0-rmse:0.13530 validation_1-rmse:0.10026 +[98] validation_0-rmse:0.13513 validation_1-rmse:0.09995 +[99] validation_0-rmse:0.13480 validation_1-rmse:0.09950 +[0] validation_0-rmse:0.26037 validation_1-rmse:0.25324 +[1] validation_0-rmse:0.25572 validation_1-rmse:0.24787 +[2] validation_0-rmse:0.25117 validation_1-rmse:0.24281 +[3] validation_0-rmse:0.24697 validation_1-rmse:0.23802 +[4] validation_0-rmse:0.24328 validation_1-rmse:0.23332 +[5] validation_0-rmse:0.23939 validation_1-rmse:0.22905 +[6] validation_0-rmse:0.23522 validation_1-rmse:0.22484 +[7] validation_0-rmse:0.23148 validation_1-rmse:0.22085 +[8] validation_0-rmse:0.22873 validation_1-rmse:0.21697 +[9] validation_0-rmse:0.22519 validation_1-rmse:0.21317 +[10] validation_0-rmse:0.22206 validation_1-rmse:0.20963 +[11] validation_0-rmse:0.21866 validation_1-rmse:0.20626 +[12] validation_0-rmse:0.21563 validation_1-rmse:0.20296 +[13] validation_0-rmse:0.21313 validation_1-rmse:0.19956 +[14] validation_0-rmse:0.21062 validation_1-rmse:0.19636 +[15] validation_0-rmse:0.20808 validation_1-rmse:0.19339 +[16] validation_0-rmse:0.20570 validation_1-rmse:0.19058 +[17] validation_0-rmse:0.20318 validation_1-rmse:0.18781 +[18] validation_0-rmse:0.20113 validation_1-rmse:0.18518 +[19] validation_0-rmse:0.19934 validation_1-rmse:0.18248 +[20] validation_0-rmse:0.19735 validation_1-rmse:0.18006 +[21] validation_0-rmse:0.19541 validation_1-rmse:0.17744 +[22] validation_0-rmse:0.19336 validation_1-rmse:0.17517 +[23] validation_0-rmse:0.19145 validation_1-rmse:0.17301 +[24] validation_0-rmse:0.18989 validation_1-rmse:0.17058 +[25] validation_0-rmse:0.18782 validation_1-rmse:0.16854 +[26] validation_0-rmse:0.18634 validation_1-rmse:0.16625 +[27] validation_0-rmse:0.18471 validation_1-rmse:0.16430 +[28] validation_0-rmse:0.18312 validation_1-rmse:0.16236 +[29] validation_0-rmse:0.18157 validation_1-rmse:0.16053 +[30] validation_0-rmse:0.17991 validation_1-rmse:0.15849 +[31] validation_0-rmse:0.17839 validation_1-rmse:0.15677 +[32] validation_0-rmse:0.17693 validation_1-rmse:0.15498 +[33] validation_0-rmse:0.17574 validation_1-rmse:0.15336 +[34] validation_0-rmse:0.17469 validation_1-rmse:0.15168 +[35] validation_0-rmse:0.17352 validation_1-rmse:0.15015 +[36] validation_0-rmse:0.17228 validation_1-rmse:0.14868 +[37] validation_0-rmse:0.17127 validation_1-rmse:0.14692 +[38] validation_0-rmse:0.17030 validation_1-rmse:0.14553 +[39] validation_0-rmse:0.16926 validation_1-rmse:0.14420 +[40] validation_0-rmse:0.16821 validation_1-rmse:0.14297 +[41] validation_0-rmse:0.16740 validation_1-rmse:0.14144 +[42] validation_0-rmse:0.16647 validation_1-rmse:0.14020 +[43] validation_0-rmse:0.16548 validation_1-rmse:0.13903 +[44] validation_0-rmse:0.16440 validation_1-rmse:0.13765 +[45] validation_0-rmse:0.16353 validation_1-rmse:0.13652 +[46] validation_0-rmse:0.16269 validation_1-rmse:0.13522 +[47] validation_0-rmse:0.16193 validation_1-rmse:0.13419 +[48] validation_0-rmse:0.16114 validation_1-rmse:0.13311 +[49] validation_0-rmse:0.16043 validation_1-rmse:0.13214 +[50] validation_0-rmse:0.15971 validation_1-rmse:0.13090 +[51] validation_0-rmse:0.15909 validation_1-rmse:0.12992 +[52] validation_0-rmse:0.15834 validation_1-rmse:0.12899 +[53] validation_0-rmse:0.15763 validation_1-rmse:0.12809 +[54] validation_0-rmse:0.15697 validation_1-rmse:0.12724 +[55] validation_0-rmse:0.15631 validation_1-rmse:0.12637 +[56] validation_0-rmse:0.15553 validation_1-rmse:0.12535 +[57] validation_0-rmse:0.15494 validation_1-rmse:0.12456 +[58] validation_0-rmse:0.15452 validation_1-rmse:0.12352 +[59] validation_0-rmse:0.15396 validation_1-rmse:0.12273 +[60] validation_0-rmse:0.15334 validation_1-rmse:0.12196 +[61] validation_0-rmse:0.15274 validation_1-rmse:0.12123 +[62] validation_0-rmse:0.15221 validation_1-rmse:0.12048 +[63] validation_0-rmse:0.15176 validation_1-rmse:0.11953 +[64] validation_0-rmse:0.15133 validation_1-rmse:0.11887 +[65] validation_0-rmse:0.15080 validation_1-rmse:0.11796 +[66] validation_0-rmse:0.15035 validation_1-rmse:0.11734 +[67] validation_0-rmse:0.14995 validation_1-rmse:0.11667 +[68] validation_0-rmse:0.14954 validation_1-rmse:0.11616 +[69] validation_0-rmse:0.14916 validation_1-rmse:0.11535 +[70] validation_0-rmse:0.14887 validation_1-rmse:0.11469 +[71] validation_0-rmse:0.14854 validation_1-rmse:0.11408 +[72] validation_0-rmse:0.14811 validation_1-rmse:0.11334 +[73] validation_0-rmse:0.14766 validation_1-rmse:0.11278 +[74] validation_0-rmse:0.14738 validation_1-rmse:0.11231 +[75] validation_0-rmse:0.14697 validation_1-rmse:0.11184 +[76] validation_0-rmse:0.14663 validation_1-rmse:0.11108 +[77] validation_0-rmse:0.14635 validation_1-rmse:0.11058 +[78] validation_0-rmse:0.14591 validation_1-rmse:0.10984 +[79] validation_0-rmse:0.14561 validation_1-rmse:0.10929 +[80] validation_0-rmse:0.14529 validation_1-rmse:0.10875 +[81] validation_0-rmse:0.14510 validation_1-rmse:0.10826 +[82] validation_0-rmse:0.14471 validation_1-rmse:0.10772 +[83] validation_0-rmse:0.14444 validation_1-rmse:0.10725 +[84] validation_0-rmse:0.14420 validation_1-rmse:0.10652 +[85] validation_0-rmse:0.14393 validation_1-rmse:0.10608 +[86] validation_0-rmse:0.14371 validation_1-rmse:0.10567 +[87] validation_0-rmse:0.14342 validation_1-rmse:0.10528 +[88] validation_0-rmse:0.14314 validation_1-rmse:0.10483 +[89] validation_0-rmse:0.14307 validation_1-rmse:0.10439 +[90] validation_0-rmse:0.14273 validation_1-rmse:0.10395 +[91] validation_0-rmse:0.14237 validation_1-rmse:0.10353 +[92] validation_0-rmse:0.14210 validation_1-rmse:0.10318 +[93] validation_0-rmse:0.14186 validation_1-rmse:0.10279 +[94] validation_0-rmse:0.14175 validation_1-rmse:0.10234 +[95] validation_0-rmse:0.14153 validation_1-rmse:0.10204 +[96] validation_0-rmse:0.14142 validation_1-rmse:0.10160 +[97] validation_0-rmse:0.14124 validation_1-rmse:0.10126 +[98] validation_0-rmse:0.14102 validation_1-rmse:0.10068 +[99] validation_0-rmse:0.14079 validation_1-rmse:0.10036 +[0] validation_0-rmse:0.25769 validation_1-rmse:0.25549 +[1] validation_0-rmse:0.25314 validation_1-rmse:0.24986 +[2] validation_0-rmse:0.24864 validation_1-rmse:0.24456 +[3] validation_0-rmse:0.24486 validation_1-rmse:0.23955 +[4] validation_0-rmse:0.24144 validation_1-rmse:0.23480 +[5] validation_0-rmse:0.23803 validation_1-rmse:0.23024 +[6] validation_0-rmse:0.23468 validation_1-rmse:0.22599 +[7] validation_0-rmse:0.23134 validation_1-rmse:0.22162 +[8] validation_0-rmse:0.22843 validation_1-rmse:0.21773 +[9] validation_0-rmse:0.22560 validation_1-rmse:0.21396 +[10] validation_0-rmse:0.22402 validation_1-rmse:0.21023 +[11] validation_0-rmse:0.22155 validation_1-rmse:0.20680 +[12] validation_0-rmse:0.21899 validation_1-rmse:0.20342 +[13] validation_0-rmse:0.21654 validation_1-rmse:0.20029 +[14] validation_0-rmse:0.21431 validation_1-rmse:0.19719 +[15] validation_0-rmse:0.21282 validation_1-rmse:0.19411 +[16] validation_0-rmse:0.21076 validation_1-rmse:0.19117 +[17] validation_0-rmse:0.20882 validation_1-rmse:0.18835 +[18] validation_0-rmse:0.20695 validation_1-rmse:0.18547 +[19] validation_0-rmse:0.20538 validation_1-rmse:0.18292 +[20] validation_0-rmse:0.20345 validation_1-rmse:0.18038 +[21] validation_0-rmse:0.20148 validation_1-rmse:0.17799 +[22] validation_0-rmse:0.19991 validation_1-rmse:0.17569 +[23] validation_0-rmse:0.19832 validation_1-rmse:0.17350 +[24] validation_0-rmse:0.19658 validation_1-rmse:0.17096 +[25] validation_0-rmse:0.19474 validation_1-rmse:0.16879 +[26] validation_0-rmse:0.19292 validation_1-rmse:0.16665 +[27] validation_0-rmse:0.19134 validation_1-rmse:0.16470 +[28] validation_0-rmse:0.19034 validation_1-rmse:0.16253 +[29] validation_0-rmse:0.18882 validation_1-rmse:0.16068 +[30] validation_0-rmse:0.18736 validation_1-rmse:0.15892 +[31] validation_0-rmse:0.18605 validation_1-rmse:0.15690 +[32] validation_0-rmse:0.18481 validation_1-rmse:0.15521 +[33] validation_0-rmse:0.18346 validation_1-rmse:0.15356 +[34] validation_0-rmse:0.18222 validation_1-rmse:0.15188 +[35] validation_0-rmse:0.18095 validation_1-rmse:0.15028 +[36] validation_0-rmse:0.18015 validation_1-rmse:0.14857 +[37] validation_0-rmse:0.17915 validation_1-rmse:0.14713 +[38] validation_0-rmse:0.17817 validation_1-rmse:0.14573 +[39] validation_0-rmse:0.17723 validation_1-rmse:0.14437 +[40] validation_0-rmse:0.17619 validation_1-rmse:0.14308 +[41] validation_0-rmse:0.17509 validation_1-rmse:0.14176 +[42] validation_0-rmse:0.17407 validation_1-rmse:0.14047 +[43] validation_0-rmse:0.17340 validation_1-rmse:0.13921 +[44] validation_0-rmse:0.17245 validation_1-rmse:0.13806 +[45] validation_0-rmse:0.17212 validation_1-rmse:0.13685 +[46] validation_0-rmse:0.17133 validation_1-rmse:0.13577 +[47] validation_0-rmse:0.17064 validation_1-rmse:0.13451 +[48] validation_0-rmse:0.17004 validation_1-rmse:0.13331 +[49] validation_0-rmse:0.16941 validation_1-rmse:0.13222 +[50] validation_0-rmse:0.16858 validation_1-rmse:0.13123 +[51] validation_0-rmse:0.16786 validation_1-rmse:0.13007 +[52] validation_0-rmse:0.16718 validation_1-rmse:0.12912 +[53] validation_0-rmse:0.16651 validation_1-rmse:0.12806 +[54] validation_0-rmse:0.16592 validation_1-rmse:0.12709 +[55] validation_0-rmse:0.16542 validation_1-rmse:0.12604 +[56] validation_0-rmse:0.16479 validation_1-rmse:0.12523 +[57] validation_0-rmse:0.16426 validation_1-rmse:0.12439 +[58] validation_0-rmse:0.16363 validation_1-rmse:0.12352 +[59] validation_0-rmse:0.16325 validation_1-rmse:0.12263 +[60] validation_0-rmse:0.16289 validation_1-rmse:0.12173 +[61] validation_0-rmse:0.16226 validation_1-rmse:0.12099 +[62] validation_0-rmse:0.16176 validation_1-rmse:0.12010 +[63] validation_0-rmse:0.16144 validation_1-rmse:0.11936 +[64] validation_0-rmse:0.16088 validation_1-rmse:0.11862 +[65] validation_0-rmse:0.16030 validation_1-rmse:0.11786 +[66] validation_0-rmse:0.15991 validation_1-rmse:0.11714 +[67] validation_0-rmse:0.15947 validation_1-rmse:0.11640 +[68] validation_0-rmse:0.15912 validation_1-rmse:0.11574 +[69] validation_0-rmse:0.15874 validation_1-rmse:0.11507 +[70] validation_0-rmse:0.15837 validation_1-rmse:0.11430 +[71] validation_0-rmse:0.15798 validation_1-rmse:0.11365 +[72] validation_0-rmse:0.15763 validation_1-rmse:0.11305 +[73] validation_0-rmse:0.15713 validation_1-rmse:0.11250 +[74] validation_0-rmse:0.15648 validation_1-rmse:0.11177 +[75] validation_0-rmse:0.15619 validation_1-rmse:0.11122 +[76] validation_0-rmse:0.15593 validation_1-rmse:0.11066 +[77] validation_0-rmse:0.15562 validation_1-rmse:0.11007 +[78] validation_0-rmse:0.15519 validation_1-rmse:0.10953 +[79] validation_0-rmse:0.15500 validation_1-rmse:0.10883 +[80] validation_0-rmse:0.15461 validation_1-rmse:0.10835 +[81] validation_0-rmse:0.15417 validation_1-rmse:0.10780 +[82] validation_0-rmse:0.15393 validation_1-rmse:0.10742 +[83] validation_0-rmse:0.15395 validation_1-rmse:0.10634 +[84] validation_0-rmse:0.15359 validation_1-rmse:0.10588 +[85] validation_0-rmse:0.15315 validation_1-rmse:0.10539 +[86] validation_0-rmse:0.15315 validation_1-rmse:0.10440 +[87] validation_0-rmse:0.15278 validation_1-rmse:0.10400 +[88] validation_0-rmse:0.15239 validation_1-rmse:0.10353 +[89] validation_0-rmse:0.15200 validation_1-rmse:0.10310 +[90] validation_0-rmse:0.15182 validation_1-rmse:0.10245 +[91] validation_0-rmse:0.15175 validation_1-rmse:0.10182 +[92] validation_0-rmse:0.15139 validation_1-rmse:0.10138 +[93] validation_0-rmse:0.15105 validation_1-rmse:0.10095 +[94] validation_0-rmse:0.15091 validation_1-rmse:0.10056 +[95] validation_0-rmse:0.15088 validation_1-rmse:0.09964 +[96] validation_0-rmse:0.15065 validation_1-rmse:0.09927 +[97] validation_0-rmse:0.15036 validation_1-rmse:0.09888 +[98] validation_0-rmse:0.15021 validation_1-rmse:0.09852 +[99] validation_0-rmse:0.15004 validation_1-rmse:0.09815 +[0] validation_0-rmse:0.25046 validation_1-rmse:0.26128 +[1] validation_0-rmse:0.24588 validation_1-rmse:0.25570 +[2] validation_0-rmse:0.24156 validation_1-rmse:0.25047 +[3] validation_0-rmse:0.23757 validation_1-rmse:0.24551 +[4] validation_0-rmse:0.23411 validation_1-rmse:0.24075 +[5] validation_0-rmse:0.23029 validation_1-rmse:0.23637 +[6] validation_0-rmse:0.22707 validation_1-rmse:0.23199 +[7] validation_0-rmse:0.22405 validation_1-rmse:0.22801 +[8] validation_0-rmse:0.22083 validation_1-rmse:0.22420 +[9] validation_0-rmse:0.21768 validation_1-rmse:0.22038 +[10] validation_0-rmse:0.21473 validation_1-rmse:0.21674 +[11] validation_0-rmse:0.21187 validation_1-rmse:0.21322 +[12] validation_0-rmse:0.20911 validation_1-rmse:0.20996 +[13] validation_0-rmse:0.20669 validation_1-rmse:0.20679 +[14] validation_0-rmse:0.20441 validation_1-rmse:0.20366 +[15] validation_0-rmse:0.20250 validation_1-rmse:0.20054 +[16] validation_0-rmse:0.20017 validation_1-rmse:0.19757 +[17] validation_0-rmse:0.19804 validation_1-rmse:0.19490 +[18] validation_0-rmse:0.19618 validation_1-rmse:0.19221 +[19] validation_0-rmse:0.19404 validation_1-rmse:0.18954 +[20] validation_0-rmse:0.19209 validation_1-rmse:0.18666 +[21] validation_0-rmse:0.19014 validation_1-rmse:0.18430 +[22] validation_0-rmse:0.18845 validation_1-rmse:0.18197 +[23] validation_0-rmse:0.18653 validation_1-rmse:0.17972 +[24] validation_0-rmse:0.18468 validation_1-rmse:0.17722 +[25] validation_0-rmse:0.18325 validation_1-rmse:0.17491 +[26] validation_0-rmse:0.18152 validation_1-rmse:0.17284 +[27] validation_0-rmse:0.17999 validation_1-rmse:0.17092 +[28] validation_0-rmse:0.17846 validation_1-rmse:0.16892 +[29] validation_0-rmse:0.17696 validation_1-rmse:0.16709 +[30] validation_0-rmse:0.17558 validation_1-rmse:0.16510 +[31] validation_0-rmse:0.17418 validation_1-rmse:0.16335 +[32] validation_0-rmse:0.17293 validation_1-rmse:0.16161 +[33] validation_0-rmse:0.17159 validation_1-rmse:0.16003 +[34] validation_0-rmse:0.17030 validation_1-rmse:0.15831 +[35] validation_0-rmse:0.16907 validation_1-rmse:0.15681 +[36] validation_0-rmse:0.16796 validation_1-rmse:0.15513 +[37] validation_0-rmse:0.16690 validation_1-rmse:0.15349 +[38] validation_0-rmse:0.16580 validation_1-rmse:0.15204 +[39] validation_0-rmse:0.16492 validation_1-rmse:0.15050 +[40] validation_0-rmse:0.16383 validation_1-rmse:0.14918 +[41] validation_0-rmse:0.16281 validation_1-rmse:0.14788 +[42] validation_0-rmse:0.16176 validation_1-rmse:0.14660 +[43] validation_0-rmse:0.16082 validation_1-rmse:0.14516 +[44] validation_0-rmse:0.15990 validation_1-rmse:0.14395 +[45] validation_0-rmse:0.15891 validation_1-rmse:0.14281 +[46] validation_0-rmse:0.15797 validation_1-rmse:0.14168 +[47] validation_0-rmse:0.15712 validation_1-rmse:0.14040 +[48] validation_0-rmse:0.15632 validation_1-rmse:0.13933 +[49] validation_0-rmse:0.15542 validation_1-rmse:0.13821 +[50] validation_0-rmse:0.15458 validation_1-rmse:0.13705 +[51] validation_0-rmse:0.15404 validation_1-rmse:0.13583 +[52] validation_0-rmse:0.15334 validation_1-rmse:0.13483 +[53] validation_0-rmse:0.15256 validation_1-rmse:0.13387 +[54] validation_0-rmse:0.15190 validation_1-rmse:0.13290 +[55] validation_0-rmse:0.15122 validation_1-rmse:0.13174 +[56] validation_0-rmse:0.15065 validation_1-rmse:0.13080 +[57] validation_0-rmse:0.15006 validation_1-rmse:0.12993 +[58] validation_0-rmse:0.14955 validation_1-rmse:0.12897 +[59] validation_0-rmse:0.14893 validation_1-rmse:0.12814 +[60] validation_0-rmse:0.14843 validation_1-rmse:0.12735 +[61] validation_0-rmse:0.14789 validation_1-rmse:0.12642 +[62] validation_0-rmse:0.14718 validation_1-rmse:0.12561 +[63] validation_0-rmse:0.14659 validation_1-rmse:0.12486 +[64] validation_0-rmse:0.14600 validation_1-rmse:0.12397 +[65] validation_0-rmse:0.14547 validation_1-rmse:0.12324 +[66] validation_0-rmse:0.14499 validation_1-rmse:0.12255 +[67] validation_0-rmse:0.14451 validation_1-rmse:0.12188 +[68] validation_0-rmse:0.14393 validation_1-rmse:0.12114 +[69] validation_0-rmse:0.14346 validation_1-rmse:0.12048 +[70] validation_0-rmse:0.14293 validation_1-rmse:0.11974 +[71] validation_0-rmse:0.14256 validation_1-rmse:0.11893 +[72] validation_0-rmse:0.14212 validation_1-rmse:0.11830 +[73] validation_0-rmse:0.14177 validation_1-rmse:0.11748 +[74] validation_0-rmse:0.14134 validation_1-rmse:0.11686 +[75] validation_0-rmse:0.14101 validation_1-rmse:0.11609 +[76] validation_0-rmse:0.14060 validation_1-rmse:0.11536 +[77] validation_0-rmse:0.14020 validation_1-rmse:0.11484 +[78] validation_0-rmse:0.13983 validation_1-rmse:0.11412 +[79] validation_0-rmse:0.13951 validation_1-rmse:0.11357 +[80] validation_0-rmse:0.13928 validation_1-rmse:0.11273 +[81] validation_0-rmse:0.13889 validation_1-rmse:0.11221 +[82] validation_0-rmse:0.13855 validation_1-rmse:0.11166 +[83] validation_0-rmse:0.13824 validation_1-rmse:0.11114 +[84] validation_0-rmse:0.13808 validation_1-rmse:0.11050 +[85] validation_0-rmse:0.13767 validation_1-rmse:0.10998 +[86] validation_0-rmse:0.13731 validation_1-rmse:0.10947 +[87] validation_0-rmse:0.13716 validation_1-rmse:0.10876 +[88] validation_0-rmse:0.13678 validation_1-rmse:0.10832 +[89] validation_0-rmse:0.13659 validation_1-rmse:0.10782 +[90] validation_0-rmse:0.13629 validation_1-rmse:0.10736 +[91] validation_0-rmse:0.13600 validation_1-rmse:0.10662 +[92] validation_0-rmse:0.13577 validation_1-rmse:0.10613 +[93] validation_0-rmse:0.13541 validation_1-rmse:0.10565 +[94] validation_0-rmse:0.13534 validation_1-rmse:0.10501 +[95] validation_0-rmse:0.13511 validation_1-rmse:0.10453 +[96] validation_0-rmse:0.13483 validation_1-rmse:0.10401 +[97] validation_0-rmse:0.13455 validation_1-rmse:0.10362 +[98] validation_0-rmse:0.13425 validation_1-rmse:0.10323 +[99] validation_0-rmse:0.13402 validation_1-rmse:0.10289 +[0] validation_0-rmse:0.26428 validation_1-rmse:0.27464 +[1] validation_0-rmse:0.25911 validation_1-rmse:0.26865 +[2] validation_0-rmse:0.25427 validation_1-rmse:0.26296 +[3] validation_0-rmse:0.24970 validation_1-rmse:0.25748 +[4] validation_0-rmse:0.24525 validation_1-rmse:0.25222 +[5] validation_0-rmse:0.24140 validation_1-rmse:0.24725 +[6] validation_0-rmse:0.23748 validation_1-rmse:0.24264 +[7] validation_0-rmse:0.23368 validation_1-rmse:0.23792 +[8] validation_0-rmse:0.23022 validation_1-rmse:0.23363 +[9] validation_0-rmse:0.22695 validation_1-rmse:0.22945 +[10] validation_0-rmse:0.22381 validation_1-rmse:0.22543 +[11] validation_0-rmse:0.22105 validation_1-rmse:0.22154 +[12] validation_0-rmse:0.21818 validation_1-rmse:0.21797 +[13] validation_0-rmse:0.21526 validation_1-rmse:0.21430 +[14] validation_0-rmse:0.21284 validation_1-rmse:0.21101 +[15] validation_0-rmse:0.21034 validation_1-rmse:0.20769 +[16] validation_0-rmse:0.20802 validation_1-rmse:0.20438 +[17] validation_0-rmse:0.20590 validation_1-rmse:0.20136 +[18] validation_0-rmse:0.20386 validation_1-rmse:0.19837 +[19] validation_0-rmse:0.20219 validation_1-rmse:0.19549 +[20] validation_0-rmse:0.20037 validation_1-rmse:0.19283 +[21] validation_0-rmse:0.19826 validation_1-rmse:0.19005 +[22] validation_0-rmse:0.19657 validation_1-rmse:0.18750 +[23] validation_0-rmse:0.19525 validation_1-rmse:0.18498 +[24] validation_0-rmse:0.19373 validation_1-rmse:0.18267 +[25] validation_0-rmse:0.19197 validation_1-rmse:0.18037 +[26] validation_0-rmse:0.19063 validation_1-rmse:0.17799 +[27] validation_0-rmse:0.18897 validation_1-rmse:0.17587 +[28] validation_0-rmse:0.18765 validation_1-rmse:0.17382 +[29] validation_0-rmse:0.18608 validation_1-rmse:0.17185 +[30] validation_0-rmse:0.18456 validation_1-rmse:0.16992 +[31] validation_0-rmse:0.18340 validation_1-rmse:0.16793 +[32] validation_0-rmse:0.18206 validation_1-rmse:0.16616 +[33] validation_0-rmse:0.18077 validation_1-rmse:0.16437 +[34] validation_0-rmse:0.17960 validation_1-rmse:0.16270 +[35] validation_0-rmse:0.17857 validation_1-rmse:0.16105 +[36] validation_0-rmse:0.17748 validation_1-rmse:0.15925 +[37] validation_0-rmse:0.17649 validation_1-rmse:0.15762 +[38] validation_0-rmse:0.17540 validation_1-rmse:0.15611 +[39] validation_0-rmse:0.17427 validation_1-rmse:0.15469 +[40] validation_0-rmse:0.17312 validation_1-rmse:0.15301 +[41] validation_0-rmse:0.17217 validation_1-rmse:0.15169 +[42] validation_0-rmse:0.17119 validation_1-rmse:0.15037 +[43] validation_0-rmse:0.17030 validation_1-rmse:0.14910 +[44] validation_0-rmse:0.16939 validation_1-rmse:0.14786 +[45] validation_0-rmse:0.16851 validation_1-rmse:0.14660 +[46] validation_0-rmse:0.16793 validation_1-rmse:0.14518 +[47] validation_0-rmse:0.16760 validation_1-rmse:0.14365 +[48] validation_0-rmse:0.16674 validation_1-rmse:0.14258 +[49] validation_0-rmse:0.16588 validation_1-rmse:0.14152 +[50] validation_0-rmse:0.16505 validation_1-rmse:0.14051 +[51] validation_0-rmse:0.16437 validation_1-rmse:0.13919 +[52] validation_0-rmse:0.16361 validation_1-rmse:0.13818 +[53] validation_0-rmse:0.16290 validation_1-rmse:0.13715 +[54] validation_0-rmse:0.16217 validation_1-rmse:0.13621 +[55] validation_0-rmse:0.16207 validation_1-rmse:0.13493 +[56] validation_0-rmse:0.16153 validation_1-rmse:0.13395 +[57] validation_0-rmse:0.16077 validation_1-rmse:0.13302 +[58] validation_0-rmse:0.16021 validation_1-rmse:0.13218 +[59] validation_0-rmse:0.15972 validation_1-rmse:0.13117 +[60] validation_0-rmse:0.15954 validation_1-rmse:0.13003 +[61] validation_0-rmse:0.15896 validation_1-rmse:0.12926 +[62] validation_0-rmse:0.15849 validation_1-rmse:0.12848 +[63] validation_0-rmse:0.15801 validation_1-rmse:0.12770 +[64] validation_0-rmse:0.15737 validation_1-rmse:0.12678 +[65] validation_0-rmse:0.15736 validation_1-rmse:0.12578 +[66] validation_0-rmse:0.15684 validation_1-rmse:0.12506 +[67] validation_0-rmse:0.15638 validation_1-rmse:0.12437 +[68] validation_0-rmse:0.15618 validation_1-rmse:0.12336 +[69] validation_0-rmse:0.15581 validation_1-rmse:0.12269 +[70] validation_0-rmse:0.15537 validation_1-rmse:0.12205 +[71] validation_0-rmse:0.15534 validation_1-rmse:0.12117 +[72] validation_0-rmse:0.15485 validation_1-rmse:0.12049 +[73] validation_0-rmse:0.15465 validation_1-rmse:0.11968 +[74] validation_0-rmse:0.15430 validation_1-rmse:0.11906 +[75] validation_0-rmse:0.15386 validation_1-rmse:0.11840 +[76] validation_0-rmse:0.15353 validation_1-rmse:0.11781 +[77] validation_0-rmse:0.15354 validation_1-rmse:0.11697 +[78] validation_0-rmse:0.15325 validation_1-rmse:0.11630 +[79] validation_0-rmse:0.15282 validation_1-rmse:0.11572 +[80] validation_0-rmse:0.15239 validation_1-rmse:0.11514 +[81] validation_0-rmse:0.15226 validation_1-rmse:0.11431 +[82] validation_0-rmse:0.15189 validation_1-rmse:0.11381 +[83] validation_0-rmse:0.15171 validation_1-rmse:0.11316 +[84] validation_0-rmse:0.15136 validation_1-rmse:0.11270 +[85] validation_0-rmse:0.15112 validation_1-rmse:0.11212 +[86] validation_0-rmse:0.15112 validation_1-rmse:0.11140 +[87] validation_0-rmse:0.15074 validation_1-rmse:0.11094 +[88] validation_0-rmse:0.15048 validation_1-rmse:0.11035 +[89] validation_0-rmse:0.15026 validation_1-rmse:0.10983 +[90] validation_0-rmse:0.14989 validation_1-rmse:0.10938 +[91] validation_0-rmse:0.14955 validation_1-rmse:0.10893 +[92] validation_0-rmse:0.14955 validation_1-rmse:0.10815 +[93] validation_0-rmse:0.14933 validation_1-rmse:0.10765 +[94] validation_0-rmse:0.14908 validation_1-rmse:0.10711 +[95] validation_0-rmse:0.14889 validation_1-rmse:0.10668 +[96] validation_0-rmse:0.14853 validation_1-rmse:0.10627 +[97] validation_0-rmse:0.14853 validation_1-rmse:0.10553 +[98] validation_0-rmse:0.14835 validation_1-rmse:0.10513 +[99] validation_0-rmse:0.14818 validation_1-rmse:0.10475 +[0] validation_0-rmse:0.27166 validation_1-rmse:0.27726 +[1] validation_0-rmse:0.26708 validation_1-rmse:0.27112 +[2] validation_0-rmse:0.26297 validation_1-rmse:0.26523 +[3] validation_0-rmse:0.25865 validation_1-rmse:0.25959 +[4] validation_0-rmse:0.25494 validation_1-rmse:0.25419 +[5] validation_0-rmse:0.25100 validation_1-rmse:0.24913 +[6] validation_0-rmse:0.24763 validation_1-rmse:0.24437 +[7] validation_0-rmse:0.24441 validation_1-rmse:0.23970 +[8] validation_0-rmse:0.24110 validation_1-rmse:0.23527 +[9] validation_0-rmse:0.23801 validation_1-rmse:0.23102 +[10] validation_0-rmse:0.23492 validation_1-rmse:0.22691 +[11] validation_0-rmse:0.23229 validation_1-rmse:0.22297 +[12] validation_0-rmse:0.22956 validation_1-rmse:0.21923 +[13] validation_0-rmse:0.22707 validation_1-rmse:0.21564 +[14] validation_0-rmse:0.22482 validation_1-rmse:0.21221 +[15] validation_0-rmse:0.22237 validation_1-rmse:0.20891 +[16] validation_0-rmse:0.22030 validation_1-rmse:0.20557 +[17] validation_0-rmse:0.21784 validation_1-rmse:0.20243 +[18] validation_0-rmse:0.21591 validation_1-rmse:0.19949 +[19] validation_0-rmse:0.21399 validation_1-rmse:0.19664 +[20] validation_0-rmse:0.21182 validation_1-rmse:0.19378 +[21] validation_0-rmse:0.20992 validation_1-rmse:0.19110 +[22] validation_0-rmse:0.20821 validation_1-rmse:0.18850 +[23] validation_0-rmse:0.20621 validation_1-rmse:0.18597 +[24] validation_0-rmse:0.20490 validation_1-rmse:0.18353 +[25] validation_0-rmse:0.20318 validation_1-rmse:0.18126 +[26] validation_0-rmse:0.20168 validation_1-rmse:0.17896 +[27] validation_0-rmse:0.19992 validation_1-rmse:0.17679 +[28] validation_0-rmse:0.19865 validation_1-rmse:0.17458 +[29] validation_0-rmse:0.19722 validation_1-rmse:0.17257 +[30] validation_0-rmse:0.19571 validation_1-rmse:0.17039 +[31] validation_0-rmse:0.19429 validation_1-rmse:0.16855 +[32] validation_0-rmse:0.19285 validation_1-rmse:0.16664 +[33] validation_0-rmse:0.19141 validation_1-rmse:0.16488 +[34] validation_0-rmse:0.19022 validation_1-rmse:0.16312 +[35] validation_0-rmse:0.18904 validation_1-rmse:0.16145 +[36] validation_0-rmse:0.18832 validation_1-rmse:0.15973 +[37] validation_0-rmse:0.18723 validation_1-rmse:0.15815 +[38] validation_0-rmse:0.18610 validation_1-rmse:0.15653 +[39] validation_0-rmse:0.18504 validation_1-rmse:0.15503 +[40] validation_0-rmse:0.18402 validation_1-rmse:0.15358 +[41] validation_0-rmse:0.18333 validation_1-rmse:0.15193 +[42] validation_0-rmse:0.18213 validation_1-rmse:0.15058 +[43] validation_0-rmse:0.18176 validation_1-rmse:0.14922 +[44] validation_0-rmse:0.18093 validation_1-rmse:0.14792 +[45] validation_0-rmse:0.18017 validation_1-rmse:0.14667 +[46] validation_0-rmse:0.17928 validation_1-rmse:0.14537 +[47] validation_0-rmse:0.17858 validation_1-rmse:0.14420 +[48] validation_0-rmse:0.17770 validation_1-rmse:0.14306 +[49] validation_0-rmse:0.17695 validation_1-rmse:0.14199 +[50] validation_0-rmse:0.17613 validation_1-rmse:0.14094 +[51] validation_0-rmse:0.17545 validation_1-rmse:0.13979 +[52] validation_0-rmse:0.17490 validation_1-rmse:0.13874 +[53] validation_0-rmse:0.17452 validation_1-rmse:0.13755 +[54] validation_0-rmse:0.17383 validation_1-rmse:0.13663 +[55] validation_0-rmse:0.17327 validation_1-rmse:0.13568 +[56] validation_0-rmse:0.17255 validation_1-rmse:0.13477 +[57] validation_0-rmse:0.17192 validation_1-rmse:0.13382 +[58] validation_0-rmse:0.17138 validation_1-rmse:0.13277 +[59] validation_0-rmse:0.17074 validation_1-rmse:0.13188 +[60] validation_0-rmse:0.17026 validation_1-rmse:0.13089 +[61] validation_0-rmse:0.16969 validation_1-rmse:0.13010 +[62] validation_0-rmse:0.16932 validation_1-rmse:0.12904 +[63] validation_0-rmse:0.16888 validation_1-rmse:0.12818 +[64] validation_0-rmse:0.16849 validation_1-rmse:0.12745 +[65] validation_0-rmse:0.16802 validation_1-rmse:0.12639 +[66] validation_0-rmse:0.16747 validation_1-rmse:0.12567 +[67] validation_0-rmse:0.16710 validation_1-rmse:0.12496 +[68] validation_0-rmse:0.16672 validation_1-rmse:0.12426 +[69] validation_0-rmse:0.16635 validation_1-rmse:0.12331 +[70] validation_0-rmse:0.16597 validation_1-rmse:0.12267 +[71] validation_0-rmse:0.16554 validation_1-rmse:0.12196 +[72] validation_0-rmse:0.16522 validation_1-rmse:0.12121 +[73] validation_0-rmse:0.16481 validation_1-rmse:0.12054 +[74] validation_0-rmse:0.16442 validation_1-rmse:0.11996 +[75] validation_0-rmse:0.16409 validation_1-rmse:0.11939 +[76] validation_0-rmse:0.16375 validation_1-rmse:0.11878 +[77] validation_0-rmse:0.16275 validation_1-rmse:0.11753 +[78] validation_0-rmse:0.16248 validation_1-rmse:0.11692 +[79] validation_0-rmse:0.16215 validation_1-rmse:0.11619 +[80] validation_0-rmse:0.16187 validation_1-rmse:0.11564 +[81] validation_0-rmse:0.16150 validation_1-rmse:0.11493 +[82] validation_0-rmse:0.16123 validation_1-rmse:0.11438 +[83] validation_0-rmse:0.16109 validation_1-rmse:0.11358 +[84] validation_0-rmse:0.16065 validation_1-rmse:0.11304 +[85] validation_0-rmse:0.16038 validation_1-rmse:0.11256 +[86] validation_0-rmse:0.16022 validation_1-rmse:0.11205 +[87] validation_0-rmse:0.16007 validation_1-rmse:0.11158 +[88] validation_0-rmse:0.15945 validation_1-rmse:0.11054 +[89] validation_0-rmse:0.15912 validation_1-rmse:0.11008 +[90] validation_0-rmse:0.15894 validation_1-rmse:0.10937 +[91] validation_0-rmse:0.15868 validation_1-rmse:0.10886 +[92] validation_0-rmse:0.15845 validation_1-rmse:0.10844 +[93] validation_0-rmse:0.15817 validation_1-rmse:0.10803 +[94] validation_0-rmse:0.15789 validation_1-rmse:0.10758 +[95] validation_0-rmse:0.15772 validation_1-rmse:0.10721 +[96] validation_0-rmse:0.15763 validation_1-rmse:0.10676 +[97] validation_0-rmse:0.15751 validation_1-rmse:0.10609 +[98] validation_0-rmse:0.15731 validation_1-rmse:0.10574 +[99] validation_0-rmse:0.15738 validation_1-rmse:0.10531 +[0] validation_0-rmse:0.27618 validation_1-rmse:0.28955 +[1] validation_0-rmse:0.27005 validation_1-rmse:0.28323 +[2] validation_0-rmse:0.26414 validation_1-rmse:0.27722 +[3] validation_0-rmse:0.25897 validation_1-rmse:0.27161 +[4] validation_0-rmse:0.25425 validation_1-rmse:0.26622 +[5] validation_0-rmse:0.24886 validation_1-rmse:0.26100 +[6] validation_0-rmse:0.24522 validation_1-rmse:0.25606 +[7] validation_0-rmse:0.24137 validation_1-rmse:0.25132 +[8] validation_0-rmse:0.23765 validation_1-rmse:0.24687 +[9] validation_0-rmse:0.23323 validation_1-rmse:0.24254 +[10] validation_0-rmse:0.22900 validation_1-rmse:0.23827 +[11] validation_0-rmse:0.22588 validation_1-rmse:0.23450 +[12] validation_0-rmse:0.22228 validation_1-rmse:0.23055 +[13] validation_0-rmse:0.21872 validation_1-rmse:0.22698 +[14] validation_0-rmse:0.21492 validation_1-rmse:0.22348 +[15] validation_0-rmse:0.21329 validation_1-rmse:0.22011 +[16] validation_0-rmse:0.21024 validation_1-rmse:0.21686 +[17] validation_0-rmse:0.20823 validation_1-rmse:0.21380 +[18] validation_0-rmse:0.20544 validation_1-rmse:0.21075 +[19] validation_0-rmse:0.20415 validation_1-rmse:0.20787 +[20] validation_0-rmse:0.20143 validation_1-rmse:0.20515 +[21] validation_0-rmse:0.19917 validation_1-rmse:0.20247 +[22] validation_0-rmse:0.19745 validation_1-rmse:0.19994 +[23] validation_0-rmse:0.19508 validation_1-rmse:0.19746 +[24] validation_0-rmse:0.19300 validation_1-rmse:0.19490 +[25] validation_0-rmse:0.19085 validation_1-rmse:0.19254 +[26] validation_0-rmse:0.18898 validation_1-rmse:0.19031 +[27] validation_0-rmse:0.18720 validation_1-rmse:0.18794 +[28] validation_0-rmse:0.18503 validation_1-rmse:0.18584 +[29] validation_0-rmse:0.18314 validation_1-rmse:0.18382 +[30] validation_0-rmse:0.18132 validation_1-rmse:0.18164 +[31] validation_0-rmse:0.17984 validation_1-rmse:0.17967 +[32] validation_0-rmse:0.17818 validation_1-rmse:0.17779 +[33] validation_0-rmse:0.17637 validation_1-rmse:0.17572 +[34] validation_0-rmse:0.17473 validation_1-rmse:0.17399 +[35] validation_0-rmse:0.17338 validation_1-rmse:0.17229 +[36] validation_0-rmse:0.17253 validation_1-rmse:0.17055 +[37] validation_0-rmse:0.17149 validation_1-rmse:0.16883 +[38] validation_0-rmse:0.17030 validation_1-rmse:0.16730 +[39] validation_0-rmse:0.16950 validation_1-rmse:0.16556 +[40] validation_0-rmse:0.16815 validation_1-rmse:0.16412 +[41] validation_0-rmse:0.16704 validation_1-rmse:0.16268 +[42] validation_0-rmse:0.16617 validation_1-rmse:0.16128 +[43] validation_0-rmse:0.16542 validation_1-rmse:0.15970 +[44] validation_0-rmse:0.16438 validation_1-rmse:0.15840 +[45] validation_0-rmse:0.16356 validation_1-rmse:0.15692 +[46] validation_0-rmse:0.16239 validation_1-rmse:0.15574 +[47] validation_0-rmse:0.16153 validation_1-rmse:0.15456 +[48] validation_0-rmse:0.16076 validation_1-rmse:0.15314 +[49] validation_0-rmse:0.15998 validation_1-rmse:0.15201 +[50] validation_0-rmse:0.15946 validation_1-rmse:0.15084 +[51] validation_0-rmse:0.15891 validation_1-rmse:0.14954 +[52] validation_0-rmse:0.15834 validation_1-rmse:0.14847 +[53] validation_0-rmse:0.15764 validation_1-rmse:0.14722 +[54] validation_0-rmse:0.15707 validation_1-rmse:0.14623 +[55] validation_0-rmse:0.15653 validation_1-rmse:0.14527 +[56] validation_0-rmse:0.15583 validation_1-rmse:0.14434 +[57] validation_0-rmse:0.15549 validation_1-rmse:0.14329 +[58] validation_0-rmse:0.15507 validation_1-rmse:0.14241 +[59] validation_0-rmse:0.15468 validation_1-rmse:0.14053 +[60] validation_0-rmse:0.15398 validation_1-rmse:0.13968 +[61] validation_0-rmse:0.15390 validation_1-rmse:0.13864 +[62] validation_0-rmse:0.15360 validation_1-rmse:0.13783 +[63] validation_0-rmse:0.15368 validation_1-rmse:0.13704 +[64] validation_0-rmse:0.15338 validation_1-rmse:0.13624 +[65] validation_0-rmse:0.15273 validation_1-rmse:0.13551 +[66] validation_0-rmse:0.15238 validation_1-rmse:0.13451 +[67] validation_0-rmse:0.15212 validation_1-rmse:0.13290 +[68] validation_0-rmse:0.15191 validation_1-rmse:0.13217 +[69] validation_0-rmse:0.15138 validation_1-rmse:0.13143 +[70] validation_0-rmse:0.15090 validation_1-rmse:0.13071 +[71] validation_0-rmse:0.15082 validation_1-rmse:0.13001 +[72] validation_0-rmse:0.14988 validation_1-rmse:0.12847 +[73] validation_0-rmse:0.14953 validation_1-rmse:0.12783 +[74] validation_0-rmse:0.14924 validation_1-rmse:0.12709 +[75] validation_0-rmse:0.14926 validation_1-rmse:0.12578 +[76] validation_0-rmse:0.14903 validation_1-rmse:0.12499 +[77] validation_0-rmse:0.14851 validation_1-rmse:0.12435 +[78] validation_0-rmse:0.14808 validation_1-rmse:0.12368 +[79] validation_0-rmse:0.14768 validation_1-rmse:0.12305 +[80] validation_0-rmse:0.14741 validation_1-rmse:0.12217 +[81] validation_0-rmse:0.14712 validation_1-rmse:0.12165 +[82] validation_0-rmse:0.14696 validation_1-rmse:0.12110 +[83] validation_0-rmse:0.14686 validation_1-rmse:0.12045 +[84] validation_0-rmse:0.14648 validation_1-rmse:0.11984 +[85] validation_0-rmse:0.14623 validation_1-rmse:0.11923 +[86] validation_0-rmse:0.14606 validation_1-rmse:0.11869 +[87] validation_0-rmse:0.14583 validation_1-rmse:0.11754 +[88] validation_0-rmse:0.14572 validation_1-rmse:0.11710 +[89] validation_0-rmse:0.14537 validation_1-rmse:0.11660 +[90] validation_0-rmse:0.14510 validation_1-rmse:0.11614 +[91] validation_0-rmse:0.14516 validation_1-rmse:0.11514 +[92] validation_0-rmse:0.14480 validation_1-rmse:0.11455 +[93] validation_0-rmse:0.14475 validation_1-rmse:0.11414 +[94] validation_0-rmse:0.14443 validation_1-rmse:0.11374 +[95] validation_0-rmse:0.14409 validation_1-rmse:0.11331 +[96] validation_0-rmse:0.14391 validation_1-rmse:0.11240 +[97] validation_0-rmse:0.14303 validation_1-rmse:0.11154 +[98] validation_0-rmse:0.14274 validation_1-rmse:0.11114 +[99] validation_0-rmse:0.14246 validation_1-rmse:0.11071 +[0] validation_0-rmse:0.26738 validation_1-rmse:0.26816 +[1] validation_0-rmse:0.26268 validation_1-rmse:0.26258 +[2] validation_0-rmse:0.25808 validation_1-rmse:0.25725 +[3] validation_0-rmse:0.25395 validation_1-rmse:0.25212 +[4] validation_0-rmse:0.24987 validation_1-rmse:0.24723 +[5] validation_0-rmse:0.24633 validation_1-rmse:0.24263 +[6] validation_0-rmse:0.24308 validation_1-rmse:0.23814 +[7] validation_0-rmse:0.23959 validation_1-rmse:0.23402 +[8] validation_0-rmse:0.23612 validation_1-rmse:0.22977 +[9] validation_0-rmse:0.23322 validation_1-rmse:0.22577 +[10] validation_0-rmse:0.23012 validation_1-rmse:0.22207 +[11] validation_0-rmse:0.22730 validation_1-rmse:0.21843 +[12] validation_0-rmse:0.22453 validation_1-rmse:0.21489 +[13] validation_0-rmse:0.22236 validation_1-rmse:0.21145 +[14] validation_0-rmse:0.22000 validation_1-rmse:0.20841 +[15] validation_0-rmse:0.21744 validation_1-rmse:0.20529 +[16] validation_0-rmse:0.21556 validation_1-rmse:0.20225 +[17] validation_0-rmse:0.21331 validation_1-rmse:0.19932 +[18] validation_0-rmse:0.21171 validation_1-rmse:0.19643 +[19] validation_0-rmse:0.21051 validation_1-rmse:0.19382 +[20] validation_0-rmse:0.20880 validation_1-rmse:0.19128 +[21] validation_0-rmse:0.20711 validation_1-rmse:0.18854 +[22] validation_0-rmse:0.20538 validation_1-rmse:0.18612 +[23] validation_0-rmse:0.20350 validation_1-rmse:0.18381 +[24] validation_0-rmse:0.20234 validation_1-rmse:0.18144 +[25] validation_0-rmse:0.20081 validation_1-rmse:0.17917 +[26] validation_0-rmse:0.19918 validation_1-rmse:0.17714 +[27] validation_0-rmse:0.19804 validation_1-rmse:0.17496 +[28] validation_0-rmse:0.19662 validation_1-rmse:0.17304 +[29] validation_0-rmse:0.19580 validation_1-rmse:0.17082 +[30] validation_0-rmse:0.19454 validation_1-rmse:0.16901 +[31] validation_0-rmse:0.19331 validation_1-rmse:0.16691 +[32] validation_0-rmse:0.19234 validation_1-rmse:0.16517 +[33] validation_0-rmse:0.19118 validation_1-rmse:0.16354 +[34] validation_0-rmse:0.19024 validation_1-rmse:0.16175 +[35] validation_0-rmse:0.18915 validation_1-rmse:0.16020 +[36] validation_0-rmse:0.18823 validation_1-rmse:0.15865 +[37] validation_0-rmse:0.18756 validation_1-rmse:0.15712 +[38] validation_0-rmse:0.18698 validation_1-rmse:0.15541 +[39] validation_0-rmse:0.18643 validation_1-rmse:0.15395 +[40] validation_0-rmse:0.18562 validation_1-rmse:0.15265 +[41] validation_0-rmse:0.18516 validation_1-rmse:0.15124 +[42] validation_0-rmse:0.18421 validation_1-rmse:0.14979 +[43] validation_0-rmse:0.18360 validation_1-rmse:0.14850 +[44] validation_0-rmse:0.18275 validation_1-rmse:0.14733 +[45] validation_0-rmse:0.18253 validation_1-rmse:0.14597 +[46] validation_0-rmse:0.18183 validation_1-rmse:0.14470 +[47] validation_0-rmse:0.18111 validation_1-rmse:0.14361 +[48] validation_0-rmse:0.18060 validation_1-rmse:0.14243 +[49] validation_0-rmse:0.18001 validation_1-rmse:0.14134 +[50] validation_0-rmse:0.17953 validation_1-rmse:0.14030 +[51] validation_0-rmse:0.17899 validation_1-rmse:0.13927 +[52] validation_0-rmse:0.17830 validation_1-rmse:0.13817 +[53] validation_0-rmse:0.17770 validation_1-rmse:0.13720 +[54] validation_0-rmse:0.17702 validation_1-rmse:0.13629 +[55] validation_0-rmse:0.17650 validation_1-rmse:0.13531 +[56] validation_0-rmse:0.17625 validation_1-rmse:0.13440 +[57] validation_0-rmse:0.17580 validation_1-rmse:0.13352 +[58] validation_0-rmse:0.17530 validation_1-rmse:0.13268 +[59] validation_0-rmse:0.17486 validation_1-rmse:0.13166 +[60] validation_0-rmse:0.17438 validation_1-rmse:0.13071 +[61] validation_0-rmse:0.17387 validation_1-rmse:0.12991 +[62] validation_0-rmse:0.17356 validation_1-rmse:0.12914 +[63] validation_0-rmse:0.17311 validation_1-rmse:0.12839 +[64] validation_0-rmse:0.17265 validation_1-rmse:0.12767 +[65] validation_0-rmse:0.17209 validation_1-rmse:0.12682 +[66] validation_0-rmse:0.17197 validation_1-rmse:0.12595 +[67] validation_0-rmse:0.17157 validation_1-rmse:0.12506 +[68] validation_0-rmse:0.17131 validation_1-rmse:0.12439 +[69] validation_0-rmse:0.17088 validation_1-rmse:0.12371 +[70] validation_0-rmse:0.17038 validation_1-rmse:0.12298 +[71] validation_0-rmse:0.17009 validation_1-rmse:0.12235 +[72] validation_0-rmse:0.16979 validation_1-rmse:0.12172 +[73] validation_0-rmse:0.16934 validation_1-rmse:0.12118 +[74] validation_0-rmse:0.16902 validation_1-rmse:0.12050 +[75] validation_0-rmse:0.16881 validation_1-rmse:0.11988 +[76] validation_0-rmse:0.16846 validation_1-rmse:0.11928 +[77] validation_0-rmse:0.16809 validation_1-rmse:0.11846 +[78] validation_0-rmse:0.16774 validation_1-rmse:0.11791 +[79] validation_0-rmse:0.16745 validation_1-rmse:0.11738 +[80] validation_0-rmse:0.16717 validation_1-rmse:0.11683 +[81] validation_0-rmse:0.16702 validation_1-rmse:0.11599 +[82] validation_0-rmse:0.16677 validation_1-rmse:0.11535 +[83] validation_0-rmse:0.16649 validation_1-rmse:0.11468 +[84] validation_0-rmse:0.16605 validation_1-rmse:0.11415 +[85] validation_0-rmse:0.16591 validation_1-rmse:0.11350 +[86] validation_0-rmse:0.16560 validation_1-rmse:0.11303 +[87] validation_0-rmse:0.16531 validation_1-rmse:0.11259 +[88] validation_0-rmse:0.16504 validation_1-rmse:0.11185 +[89] validation_0-rmse:0.16485 validation_1-rmse:0.11134 +[90] validation_0-rmse:0.16463 validation_1-rmse:0.11083 +[91] validation_0-rmse:0.16436 validation_1-rmse:0.11041 +[92] validation_0-rmse:0.16412 validation_1-rmse:0.10988 +[93] validation_0-rmse:0.16388 validation_1-rmse:0.10942 +[94] validation_0-rmse:0.16391 validation_1-rmse:0.10881 +[95] validation_0-rmse:0.16357 validation_1-rmse:0.10838 +[96] validation_0-rmse:0.16358 validation_1-rmse:0.10796 +[97] validation_0-rmse:0.16338 validation_1-rmse:0.10756 +[98] validation_0-rmse:0.16339 validation_1-rmse:0.10688 +[99] validation_0-rmse:0.16321 validation_1-rmse:0.10649 +[0] validation_0-rmse:0.26992 validation_1-rmse:0.26756 +[1] validation_0-rmse:0.26551 validation_1-rmse:0.26201 +[2] validation_0-rmse:0.26111 validation_1-rmse:0.25656 +[3] validation_0-rmse:0.25690 validation_1-rmse:0.25154 +[4] validation_0-rmse:0.25291 validation_1-rmse:0.24683 +[5] validation_0-rmse:0.24933 validation_1-rmse:0.24228 +[6] validation_0-rmse:0.24598 validation_1-rmse:0.23796 +[7] validation_0-rmse:0.24252 validation_1-rmse:0.23392 +[8] validation_0-rmse:0.23953 validation_1-rmse:0.22978 +[9] validation_0-rmse:0.23634 validation_1-rmse:0.22592 +[10] validation_0-rmse:0.23330 validation_1-rmse:0.22229 +[11] validation_0-rmse:0.23059 validation_1-rmse:0.21875 +[12] validation_0-rmse:0.22799 validation_1-rmse:0.21546 +[13] validation_0-rmse:0.22565 validation_1-rmse:0.21212 +[14] validation_0-rmse:0.22329 validation_1-rmse:0.20904 +[15] validation_0-rmse:0.22111 validation_1-rmse:0.20604 +[16] validation_0-rmse:0.21894 validation_1-rmse:0.20318 +[17] validation_0-rmse:0.21715 validation_1-rmse:0.20021 +[18] validation_0-rmse:0.21499 validation_1-rmse:0.19735 +[19] validation_0-rmse:0.21283 validation_1-rmse:0.19480 +[20] validation_0-rmse:0.21109 validation_1-rmse:0.19209 +[21] validation_0-rmse:0.20904 validation_1-rmse:0.18969 +[22] validation_0-rmse:0.20762 validation_1-rmse:0.18718 +[23] validation_0-rmse:0.20580 validation_1-rmse:0.18498 +[24] validation_0-rmse:0.20434 validation_1-rmse:0.18262 +[25] validation_0-rmse:0.20267 validation_1-rmse:0.18048 +[26] validation_0-rmse:0.20106 validation_1-rmse:0.17844 +[27] validation_0-rmse:0.19945 validation_1-rmse:0.17647 +[28] validation_0-rmse:0.19813 validation_1-rmse:0.17443 +[29] validation_0-rmse:0.19669 validation_1-rmse:0.17264 +[30] validation_0-rmse:0.19541 validation_1-rmse:0.17054 +[31] validation_0-rmse:0.19401 validation_1-rmse:0.16881 +[32] validation_0-rmse:0.19263 validation_1-rmse:0.16719 +[33] validation_0-rmse:0.19134 validation_1-rmse:0.16560 +[34] validation_0-rmse:0.18996 validation_1-rmse:0.16365 +[35] validation_0-rmse:0.18864 validation_1-rmse:0.16211 +[36] validation_0-rmse:0.18752 validation_1-rmse:0.16069 +[37] validation_0-rmse:0.18652 validation_1-rmse:0.15898 +[38] validation_0-rmse:0.18540 validation_1-rmse:0.15751 +[39] validation_0-rmse:0.18429 validation_1-rmse:0.15616 +[40] validation_0-rmse:0.18317 validation_1-rmse:0.15475 +[41] validation_0-rmse:0.18215 validation_1-rmse:0.15324 +[42] validation_0-rmse:0.18119 validation_1-rmse:0.15199 +[43] validation_0-rmse:0.18008 validation_1-rmse:0.15057 +[44] validation_0-rmse:0.17926 validation_1-rmse:0.14942 +[45] validation_0-rmse:0.17841 validation_1-rmse:0.14813 +[46] validation_0-rmse:0.17755 validation_1-rmse:0.14700 +[47] validation_0-rmse:0.17672 validation_1-rmse:0.14572 +[48] validation_0-rmse:0.17586 validation_1-rmse:0.14466 +[49] validation_0-rmse:0.17511 validation_1-rmse:0.14354 +[50] validation_0-rmse:0.17440 validation_1-rmse:0.14236 +[51] validation_0-rmse:0.17354 validation_1-rmse:0.14130 +[52] validation_0-rmse:0.17281 validation_1-rmse:0.14035 +[53] validation_0-rmse:0.17210 validation_1-rmse:0.13942 +[54] validation_0-rmse:0.17136 validation_1-rmse:0.13843 +[55] validation_0-rmse:0.17045 validation_1-rmse:0.13715 +[56] validation_0-rmse:0.16971 validation_1-rmse:0.13629 +[57] validation_0-rmse:0.16900 validation_1-rmse:0.13511 +[58] validation_0-rmse:0.16834 validation_1-rmse:0.13426 +[59] validation_0-rmse:0.16763 validation_1-rmse:0.13323 +[60] validation_0-rmse:0.16702 validation_1-rmse:0.13242 +[61] validation_0-rmse:0.16639 validation_1-rmse:0.13164 +[62] validation_0-rmse:0.16586 validation_1-rmse:0.13079 +[63] validation_0-rmse:0.16527 validation_1-rmse:0.13006 +[64] validation_0-rmse:0.16458 validation_1-rmse:0.12914 +[65] validation_0-rmse:0.16396 validation_1-rmse:0.12841 +[66] validation_0-rmse:0.16332 validation_1-rmse:0.12742 +[67] validation_0-rmse:0.16290 validation_1-rmse:0.12665 +[68] validation_0-rmse:0.16248 validation_1-rmse:0.12584 +[69] validation_0-rmse:0.16192 validation_1-rmse:0.12503 +[70] validation_0-rmse:0.16128 validation_1-rmse:0.12435 +[71] validation_0-rmse:0.16078 validation_1-rmse:0.12371 +[72] validation_0-rmse:0.16032 validation_1-rmse:0.12311 +[73] validation_0-rmse:0.15998 validation_1-rmse:0.12241 +[74] validation_0-rmse:0.15959 validation_1-rmse:0.12184 +[75] validation_0-rmse:0.15922 validation_1-rmse:0.12121 +[76] validation_0-rmse:0.15877 validation_1-rmse:0.12064 +[77] validation_0-rmse:0.15830 validation_1-rmse:0.11981 +[78] validation_0-rmse:0.15791 validation_1-rmse:0.11927 +[79] validation_0-rmse:0.15751 validation_1-rmse:0.11859 +[80] validation_0-rmse:0.15716 validation_1-rmse:0.11795 +[81] validation_0-rmse:0.15680 validation_1-rmse:0.11740 +[82] validation_0-rmse:0.15624 validation_1-rmse:0.11683 +[83] validation_0-rmse:0.15578 validation_1-rmse:0.11632 +[84] validation_0-rmse:0.15553 validation_1-rmse:0.11586 +[85] validation_0-rmse:0.15471 validation_1-rmse:0.11513 +[86] validation_0-rmse:0.15444 validation_1-rmse:0.11465 +[87] validation_0-rmse:0.15417 validation_1-rmse:0.11406 +[88] validation_0-rmse:0.15387 validation_1-rmse:0.11359 +[89] validation_0-rmse:0.15359 validation_1-rmse:0.11319 +[90] validation_0-rmse:0.15332 validation_1-rmse:0.11269 +[91] validation_0-rmse:0.15301 validation_1-rmse:0.11221 +[92] validation_0-rmse:0.15258 validation_1-rmse:0.11176 +[93] validation_0-rmse:0.15231 validation_1-rmse:0.11135 +[94] validation_0-rmse:0.15202 validation_1-rmse:0.11093 +[95] validation_0-rmse:0.15185 validation_1-rmse:0.11041 +[96] validation_0-rmse:0.15173 validation_1-rmse:0.11000 +[97] validation_0-rmse:0.15150 validation_1-rmse:0.10961 +[98] validation_0-rmse:0.15114 validation_1-rmse:0.10917 +[99] validation_0-rmse:0.15096 validation_1-rmse:0.10882 +[0] validation_0-rmse:0.28468 validation_1-rmse:0.28491 +[1] validation_0-rmse:0.27961 validation_1-rmse:0.27914 +[2] validation_0-rmse:0.27524 validation_1-rmse:0.27370 +[3] validation_0-rmse:0.27054 validation_1-rmse:0.26858 +[4] validation_0-rmse:0.26601 validation_1-rmse:0.26362 +[5] validation_0-rmse:0.26219 validation_1-rmse:0.25896 +[6] validation_0-rmse:0.25814 validation_1-rmse:0.25450 +[7] validation_0-rmse:0.25500 validation_1-rmse:0.25026 +[8] validation_0-rmse:0.25145 validation_1-rmse:0.24602 +[9] validation_0-rmse:0.24843 validation_1-rmse:0.24213 +[10] validation_0-rmse:0.24527 validation_1-rmse:0.23824 +[11] validation_0-rmse:0.24238 validation_1-rmse:0.23440 +[12] validation_0-rmse:0.23940 validation_1-rmse:0.23096 +[13] validation_0-rmse:0.23630 validation_1-rmse:0.22764 +[14] validation_0-rmse:0.23385 validation_1-rmse:0.22440 +[15] validation_0-rmse:0.23099 validation_1-rmse:0.22128 +[16] validation_0-rmse:0.22865 validation_1-rmse:0.21801 +[17] validation_0-rmse:0.22620 validation_1-rmse:0.21515 +[18] validation_0-rmse:0.22375 validation_1-rmse:0.21210 +[19] validation_0-rmse:0.22142 validation_1-rmse:0.20925 +[20] validation_0-rmse:0.21927 validation_1-rmse:0.20663 +[21] validation_0-rmse:0.21720 validation_1-rmse:0.20416 +[22] validation_0-rmse:0.21528 validation_1-rmse:0.20170 +[23] validation_0-rmse:0.21330 validation_1-rmse:0.19913 +[24] validation_0-rmse:0.21136 validation_1-rmse:0.19693 +[25] validation_0-rmse:0.21002 validation_1-rmse:0.19438 +[26] validation_0-rmse:0.20807 validation_1-rmse:0.19222 +[27] validation_0-rmse:0.20636 validation_1-rmse:0.19016 +[28] validation_0-rmse:0.20439 validation_1-rmse:0.18763 +[29] validation_0-rmse:0.20276 validation_1-rmse:0.18559 +[30] validation_0-rmse:0.20114 validation_1-rmse:0.18380 +[31] validation_0-rmse:0.19965 validation_1-rmse:0.18163 +[32] validation_0-rmse:0.19833 validation_1-rmse:0.17955 +[33] validation_0-rmse:0.19688 validation_1-rmse:0.17782 +[34] validation_0-rmse:0.19558 validation_1-rmse:0.17614 +[35] validation_0-rmse:0.19420 validation_1-rmse:0.17451 +[36] validation_0-rmse:0.19297 validation_1-rmse:0.17293 +[37] validation_0-rmse:0.19169 validation_1-rmse:0.17111 +[38] validation_0-rmse:0.19038 validation_1-rmse:0.16943 +[39] validation_0-rmse:0.18941 validation_1-rmse:0.16798 +[40] validation_0-rmse:0.18828 validation_1-rmse:0.16657 +[41] validation_0-rmse:0.18724 validation_1-rmse:0.16485 +[42] validation_0-rmse:0.18620 validation_1-rmse:0.16347 +[43] validation_0-rmse:0.18525 validation_1-rmse:0.16204 +[44] validation_0-rmse:0.18429 validation_1-rmse:0.16073 +[45] validation_0-rmse:0.18324 validation_1-rmse:0.15951 +[46] validation_0-rmse:0.18250 validation_1-rmse:0.15797 +[47] validation_0-rmse:0.18157 validation_1-rmse:0.15682 +[48] validation_0-rmse:0.18069 validation_1-rmse:0.15566 +[49] validation_0-rmse:0.18002 validation_1-rmse:0.15440 +[50] validation_0-rmse:0.17914 validation_1-rmse:0.15322 +[51] validation_0-rmse:0.17842 validation_1-rmse:0.15220 +[52] validation_0-rmse:0.17756 validation_1-rmse:0.15107 +[53] validation_0-rmse:0.17668 validation_1-rmse:0.15007 +[54] validation_0-rmse:0.17596 validation_1-rmse:0.14866 +[55] validation_0-rmse:0.17525 validation_1-rmse:0.14775 +[56] validation_0-rmse:0.17467 validation_1-rmse:0.14653 +[57] validation_0-rmse:0.17390 validation_1-rmse:0.14564 +[58] validation_0-rmse:0.17326 validation_1-rmse:0.14478 +[59] validation_0-rmse:0.17273 validation_1-rmse:0.14356 +[60] validation_0-rmse:0.17218 validation_1-rmse:0.14269 +[61] validation_0-rmse:0.17157 validation_1-rmse:0.14186 +[62] validation_0-rmse:0.17120 validation_1-rmse:0.14083 +[63] validation_0-rmse:0.17069 validation_1-rmse:0.14002 +[64] validation_0-rmse:0.17012 validation_1-rmse:0.13912 +[65] validation_0-rmse:0.16942 validation_1-rmse:0.13834 +[66] validation_0-rmse:0.16914 validation_1-rmse:0.13720 +[67] validation_0-rmse:0.16856 validation_1-rmse:0.13648 +[68] validation_0-rmse:0.16800 validation_1-rmse:0.13569 +[69] validation_0-rmse:0.16796 validation_1-rmse:0.13472 +[70] validation_0-rmse:0.16737 validation_1-rmse:0.13405 +[71] validation_0-rmse:0.16686 validation_1-rmse:0.13342 +[72] validation_0-rmse:0.16639 validation_1-rmse:0.13270 +[73] validation_0-rmse:0.16648 validation_1-rmse:0.13149 +[74] validation_0-rmse:0.16609 validation_1-rmse:0.13086 +[75] validation_0-rmse:0.16560 validation_1-rmse:0.13025 +[76] validation_0-rmse:0.16530 validation_1-rmse:0.12925 +[77] validation_0-rmse:0.16492 validation_1-rmse:0.12824 +[78] validation_0-rmse:0.16451 validation_1-rmse:0.12770 +[79] validation_0-rmse:0.16414 validation_1-rmse:0.12710 +[80] validation_0-rmse:0.16377 validation_1-rmse:0.12654 +[81] validation_0-rmse:0.16338 validation_1-rmse:0.12595 +[82] validation_0-rmse:0.16317 validation_1-rmse:0.12490 +[83] validation_0-rmse:0.16249 validation_1-rmse:0.12361 +[84] validation_0-rmse:0.16217 validation_1-rmse:0.12307 +[85] validation_0-rmse:0.16178 validation_1-rmse:0.12255 +[86] validation_0-rmse:0.16149 validation_1-rmse:0.12206 +[87] validation_0-rmse:0.16113 validation_1-rmse:0.12155 +[88] validation_0-rmse:0.16049 validation_1-rmse:0.12061 +[89] validation_0-rmse:0.16008 validation_1-rmse:0.11990 +[90] validation_0-rmse:0.15955 validation_1-rmse:0.11882 +[91] validation_0-rmse:0.15927 validation_1-rmse:0.11842 +[92] validation_0-rmse:0.15891 validation_1-rmse:0.11796 +[93] validation_0-rmse:0.15880 validation_1-rmse:0.11730 +[94] validation_0-rmse:0.15829 validation_1-rmse:0.11631 +[95] validation_0-rmse:0.15809 validation_1-rmse:0.11584 +[96] validation_0-rmse:0.15778 validation_1-rmse:0.11544 +[97] validation_0-rmse:0.15763 validation_1-rmse:0.11504 +[98] validation_0-rmse:0.15724 validation_1-rmse:0.11438 +[99] validation_0-rmse:0.15694 validation_1-rmse:0.11396 +[0] validation_0-rmse:0.32950 validation_1-rmse:0.29220 +[1] validation_0-rmse:0.32402 validation_1-rmse:0.28580 +[2] validation_0-rmse:0.31922 validation_1-rmse:0.27974 +[3] validation_0-rmse:0.31450 validation_1-rmse:0.27409 +[4] validation_0-rmse:0.30969 validation_1-rmse:0.26866 +[5] validation_0-rmse:0.30585 validation_1-rmse:0.26346 +[6] validation_0-rmse:0.30202 validation_1-rmse:0.25855 +[7] validation_0-rmse:0.29888 validation_1-rmse:0.25375 +[8] validation_0-rmse:0.29520 validation_1-rmse:0.24919 +[9] validation_0-rmse:0.29164 validation_1-rmse:0.24487 +[10] validation_0-rmse:0.28843 validation_1-rmse:0.24072 +[11] validation_0-rmse:0.28514 validation_1-rmse:0.23667 +[12] validation_0-rmse:0.28114 validation_1-rmse:0.23279 +[13] validation_0-rmse:0.27740 validation_1-rmse:0.22909 +[14] validation_0-rmse:0.27421 validation_1-rmse:0.22543 +[15] validation_0-rmse:0.27115 validation_1-rmse:0.22210 +[16] validation_0-rmse:0.26820 validation_1-rmse:0.21859 +[17] validation_0-rmse:0.26549 validation_1-rmse:0.21528 +[18] validation_0-rmse:0.26254 validation_1-rmse:0.21226 +[19] validation_0-rmse:0.25967 validation_1-rmse:0.20927 +[20] validation_0-rmse:0.25735 validation_1-rmse:0.20641 +[21] validation_0-rmse:0.25470 validation_1-rmse:0.20366 +[22] validation_0-rmse:0.25265 validation_1-rmse:0.20073 +[23] validation_0-rmse:0.25054 validation_1-rmse:0.19819 +[24] validation_0-rmse:0.24806 validation_1-rmse:0.19573 +[25] validation_0-rmse:0.24570 validation_1-rmse:0.19304 +[26] validation_0-rmse:0.24361 validation_1-rmse:0.19076 +[27] validation_0-rmse:0.24148 validation_1-rmse:0.18853 +[28] validation_0-rmse:0.24014 validation_1-rmse:0.18621 +[29] validation_0-rmse:0.23792 validation_1-rmse:0.18410 +[30] validation_0-rmse:0.23603 validation_1-rmse:0.18203 +[31] validation_0-rmse:0.23421 validation_1-rmse:0.17990 +[32] validation_0-rmse:0.23264 validation_1-rmse:0.17800 +[33] validation_0-rmse:0.23087 validation_1-rmse:0.17616 +[34] validation_0-rmse:0.22949 validation_1-rmse:0.17427 +[35] validation_0-rmse:0.22857 validation_1-rmse:0.17234 +[36] validation_0-rmse:0.22690 validation_1-rmse:0.17065 +[37] validation_0-rmse:0.22566 validation_1-rmse:0.16898 +[38] validation_0-rmse:0.22462 validation_1-rmse:0.16738 +[39] validation_0-rmse:0.22376 validation_1-rmse:0.16567 +[40] validation_0-rmse:0.22232 validation_1-rmse:0.16410 +[41] validation_0-rmse:0.22105 validation_1-rmse:0.16265 +[42] validation_0-rmse:0.22006 validation_1-rmse:0.16111 +[43] validation_0-rmse:0.21847 validation_1-rmse:0.15976 +[44] validation_0-rmse:0.21782 validation_1-rmse:0.15824 +[45] validation_0-rmse:0.21641 validation_1-rmse:0.15686 +[46] validation_0-rmse:0.21552 validation_1-rmse:0.15554 +[47] validation_0-rmse:0.21459 validation_1-rmse:0.15417 +[48] validation_0-rmse:0.21339 validation_1-rmse:0.15293 +[49] validation_0-rmse:0.21255 validation_1-rmse:0.15176 +[50] validation_0-rmse:0.21192 validation_1-rmse:0.15047 +[51] validation_0-rmse:0.21115 validation_1-rmse:0.14910 +[52] validation_0-rmse:0.21072 validation_1-rmse:0.14774 +[53] validation_0-rmse:0.20992 validation_1-rmse:0.14670 +[54] validation_0-rmse:0.20839 validation_1-rmse:0.14541 +[55] validation_0-rmse:0.20753 validation_1-rmse:0.14442 +[56] validation_0-rmse:0.20648 validation_1-rmse:0.14328 +[57] validation_0-rmse:0.20564 validation_1-rmse:0.14229 +[58] validation_0-rmse:0.20473 validation_1-rmse:0.14137 +[59] validation_0-rmse:0.20418 validation_1-rmse:0.14011 +[60] validation_0-rmse:0.20341 validation_1-rmse:0.13923 +[61] validation_0-rmse:0.20258 validation_1-rmse:0.13839 +[62] validation_0-rmse:0.20230 validation_1-rmse:0.13723 +[63] validation_0-rmse:0.20075 validation_1-rmse:0.13546 +[64] validation_0-rmse:0.20007 validation_1-rmse:0.13467 +[65] validation_0-rmse:0.19937 validation_1-rmse:0.13387 +[66] validation_0-rmse:0.19875 validation_1-rmse:0.13296 +[67] validation_0-rmse:0.19709 validation_1-rmse:0.13137 +[68] validation_0-rmse:0.19675 validation_1-rmse:0.13042 +[69] validation_0-rmse:0.19617 validation_1-rmse:0.12968 +[70] validation_0-rmse:0.19560 validation_1-rmse:0.12900 +[71] validation_0-rmse:0.19492 validation_1-rmse:0.12834 +[72] validation_0-rmse:0.19319 validation_1-rmse:0.12681 +[73] validation_0-rmse:0.19272 validation_1-rmse:0.12612 +[74] validation_0-rmse:0.19230 validation_1-rmse:0.12535 +[75] validation_0-rmse:0.19170 validation_1-rmse:0.12474 +[76] validation_0-rmse:0.19058 validation_1-rmse:0.12338 +[77] validation_0-rmse:0.19010 validation_1-rmse:0.12279 +[78] validation_0-rmse:0.18961 validation_1-rmse:0.12223 +[79] validation_0-rmse:0.18960 validation_1-rmse:0.12156 +[80] validation_0-rmse:0.18882 validation_1-rmse:0.12038 +[81] validation_0-rmse:0.18819 validation_1-rmse:0.11975 +[82] validation_0-rmse:0.18789 validation_1-rmse:0.11916 +[83] validation_0-rmse:0.18738 validation_1-rmse:0.11864 +[84] validation_0-rmse:0.18718 validation_1-rmse:0.11801 +[85] validation_0-rmse:0.18600 validation_1-rmse:0.11698 +[86] validation_0-rmse:0.18572 validation_1-rmse:0.11653 +[87] validation_0-rmse:0.18534 validation_1-rmse:0.11603 +[88] validation_0-rmse:0.18478 validation_1-rmse:0.11508 +[89] validation_0-rmse:0.18430 validation_1-rmse:0.11459 +[90] validation_0-rmse:0.18447 validation_1-rmse:0.11396 +[91] validation_0-rmse:0.18424 validation_1-rmse:0.11352 +[92] validation_0-rmse:0.18367 validation_1-rmse:0.11307 +[93] validation_0-rmse:0.18333 validation_1-rmse:0.11265 +[94] validation_0-rmse:0.18313 validation_1-rmse:0.11216 +[95] validation_0-rmse:0.18275 validation_1-rmse:0.11157 +[96] validation_0-rmse:0.18275 validation_1-rmse:0.11106 +[97] validation_0-rmse:0.18248 validation_1-rmse:0.11068 +[98] validation_0-rmse:0.18220 validation_1-rmse:0.11033 +[99] validation_0-rmse:0.18198 validation_1-rmse:0.10994 +[0] validation_0-rmse:0.30164 validation_1-rmse:0.29585 +[1] validation_0-rmse:0.29609 validation_1-rmse:0.28921 +[2] validation_0-rmse:0.29103 validation_1-rmse:0.28298 +[3] validation_0-rmse:0.28604 validation_1-rmse:0.27706 +[4] validation_0-rmse:0.28108 validation_1-rmse:0.27129 +[5] validation_0-rmse:0.27670 validation_1-rmse:0.26609 +[6] validation_0-rmse:0.27234 validation_1-rmse:0.26092 +[7] validation_0-rmse:0.26874 validation_1-rmse:0.25593 +[8] validation_0-rmse:0.26461 validation_1-rmse:0.25118 +[9] validation_0-rmse:0.26074 validation_1-rmse:0.24677 +[10] validation_0-rmse:0.25745 validation_1-rmse:0.24239 +[11] validation_0-rmse:0.25460 validation_1-rmse:0.23832 +[12] validation_0-rmse:0.25121 validation_1-rmse:0.23441 +[13] validation_0-rmse:0.24825 validation_1-rmse:0.23068 +[14] validation_0-rmse:0.24580 validation_1-rmse:0.22694 +[15] validation_0-rmse:0.24286 validation_1-rmse:0.22346 +[16] validation_0-rmse:0.24051 validation_1-rmse:0.22006 +[17] validation_0-rmse:0.23821 validation_1-rmse:0.21690 +[18] validation_0-rmse:0.23549 validation_1-rmse:0.21383 +[19] validation_0-rmse:0.23335 validation_1-rmse:0.21087 +[20] validation_0-rmse:0.23089 validation_1-rmse:0.20804 +[21] validation_0-rmse:0.22918 validation_1-rmse:0.20505 +[22] validation_0-rmse:0.22716 validation_1-rmse:0.20240 +[23] validation_0-rmse:0.22562 validation_1-rmse:0.19981 +[24] validation_0-rmse:0.22385 validation_1-rmse:0.19723 +[25] validation_0-rmse:0.22201 validation_1-rmse:0.19473 +[26] validation_0-rmse:0.22016 validation_1-rmse:0.19245 +[27] validation_0-rmse:0.21834 validation_1-rmse:0.19024 +[28] validation_0-rmse:0.21671 validation_1-rmse:0.18789 +[29] validation_0-rmse:0.21493 validation_1-rmse:0.18579 +[30] validation_0-rmse:0.21385 validation_1-rmse:0.18351 +[31] validation_0-rmse:0.21216 validation_1-rmse:0.18156 +[32] validation_0-rmse:0.21088 validation_1-rmse:0.17941 +[33] validation_0-rmse:0.20953 validation_1-rmse:0.17754 +[34] validation_0-rmse:0.20805 validation_1-rmse:0.17575 +[35] validation_0-rmse:0.20648 validation_1-rmse:0.17399 +[36] validation_0-rmse:0.20515 validation_1-rmse:0.17220 +[37] validation_0-rmse:0.20382 validation_1-rmse:0.17031 +[38] validation_0-rmse:0.20257 validation_1-rmse:0.16871 +[39] validation_0-rmse:0.20125 validation_1-rmse:0.16718 +[40] validation_0-rmse:0.20005 validation_1-rmse:0.16574 +[41] validation_0-rmse:0.19885 validation_1-rmse:0.16415 +[42] validation_0-rmse:0.19789 validation_1-rmse:0.16270 +[43] validation_0-rmse:0.19680 validation_1-rmse:0.16130 +[44] validation_0-rmse:0.19564 validation_1-rmse:0.15993 +[45] validation_0-rmse:0.19480 validation_1-rmse:0.15854 +[46] validation_0-rmse:0.19376 validation_1-rmse:0.15728 +[47] validation_0-rmse:0.19290 validation_1-rmse:0.15568 +[48] validation_0-rmse:0.19223 validation_1-rmse:0.15445 +[49] validation_0-rmse:0.19129 validation_1-rmse:0.15330 +[50] validation_0-rmse:0.19035 validation_1-rmse:0.15194 +[51] validation_0-rmse:0.18948 validation_1-rmse:0.15082 +[52] validation_0-rmse:0.18882 validation_1-rmse:0.14945 +[53] validation_0-rmse:0.18801 validation_1-rmse:0.14840 +[54] validation_0-rmse:0.18707 validation_1-rmse:0.14736 +[55] validation_0-rmse:0.18637 validation_1-rmse:0.14635 +[56] validation_0-rmse:0.18571 validation_1-rmse:0.14542 +[57] validation_0-rmse:0.18497 validation_1-rmse:0.14413 +[58] validation_0-rmse:0.18443 validation_1-rmse:0.14297 +[59] validation_0-rmse:0.18375 validation_1-rmse:0.14203 +[60] validation_0-rmse:0.18319 validation_1-rmse:0.14111 +[61] validation_0-rmse:0.18266 validation_1-rmse:0.14030 +[62] validation_0-rmse:0.18185 validation_1-rmse:0.13914 +[63] validation_0-rmse:0.18145 validation_1-rmse:0.13831 +[64] validation_0-rmse:0.18135 validation_1-rmse:0.13720 +[65] validation_0-rmse:0.18075 validation_1-rmse:0.13643 +[66] validation_0-rmse:0.18020 validation_1-rmse:0.13560 +[67] validation_0-rmse:0.17951 validation_1-rmse:0.13485 +[68] validation_0-rmse:0.17888 validation_1-rmse:0.13414 +[69] validation_0-rmse:0.17850 validation_1-rmse:0.13343 +[70] validation_0-rmse:0.17798 validation_1-rmse:0.13224 +[71] validation_0-rmse:0.17751 validation_1-rmse:0.13133 +[72] validation_0-rmse:0.17711 validation_1-rmse:0.13062 +[73] validation_0-rmse:0.17701 validation_1-rmse:0.12966 +[74] validation_0-rmse:0.17648 validation_1-rmse:0.12872 +[75] validation_0-rmse:0.17611 validation_1-rmse:0.12806 +[76] validation_0-rmse:0.17573 validation_1-rmse:0.12732 +[77] validation_0-rmse:0.17528 validation_1-rmse:0.12664 +[78] validation_0-rmse:0.17478 validation_1-rmse:0.12605 +[79] validation_0-rmse:0.17432 validation_1-rmse:0.12518 +[80] validation_0-rmse:0.17391 validation_1-rmse:0.12466 +[81] validation_0-rmse:0.17358 validation_1-rmse:0.12398 +[82] validation_0-rmse:0.17315 validation_1-rmse:0.12342 +[83] validation_0-rmse:0.17260 validation_1-rmse:0.12276 +[84] validation_0-rmse:0.17220 validation_1-rmse:0.12222 +[85] validation_0-rmse:0.17182 validation_1-rmse:0.12176 +[86] validation_0-rmse:0.17152 validation_1-rmse:0.12124 +[87] validation_0-rmse:0.17103 validation_1-rmse:0.12046 +[88] validation_0-rmse:0.17085 validation_1-rmse:0.11974 +[89] validation_0-rmse:0.17053 validation_1-rmse:0.11930 +[90] validation_0-rmse:0.17018 validation_1-rmse:0.11888 +[91] validation_0-rmse:0.17011 validation_1-rmse:0.11810 +[92] validation_0-rmse:0.16980 validation_1-rmse:0.11762 +[93] validation_0-rmse:0.16956 validation_1-rmse:0.11689 +[94] validation_0-rmse:0.16923 validation_1-rmse:0.11641 +[95] validation_0-rmse:0.16912 validation_1-rmse:0.11579 +[96] validation_0-rmse:0.16878 validation_1-rmse:0.11530 +[97] validation_0-rmse:0.16857 validation_1-rmse:0.11489 +[98] validation_0-rmse:0.16824 validation_1-rmse:0.11442 +[99] validation_0-rmse:0.16824 validation_1-rmse:0.11403 +[0] validation_0-rmse:0.29597 validation_1-rmse:0.29016 +[1] validation_0-rmse:0.29075 validation_1-rmse:0.28391 +[2] validation_0-rmse:0.28602 validation_1-rmse:0.27798 +[3] validation_0-rmse:0.28062 validation_1-rmse:0.27213 +[4] validation_0-rmse:0.27647 validation_1-rmse:0.26682 +[5] validation_0-rmse:0.27188 validation_1-rmse:0.26144 +[6] validation_0-rmse:0.26781 validation_1-rmse:0.25655 +[7] validation_0-rmse:0.26412 validation_1-rmse:0.25180 +[8] validation_0-rmse:0.25994 validation_1-rmse:0.24709 +[9] validation_0-rmse:0.25649 validation_1-rmse:0.24277 +[10] validation_0-rmse:0.25332 validation_1-rmse:0.23850 +[11] validation_0-rmse:0.24999 validation_1-rmse:0.23452 +[12] validation_0-rmse:0.24687 validation_1-rmse:0.23072 +[13] validation_0-rmse:0.24432 validation_1-rmse:0.22694 +[14] validation_0-rmse:0.24128 validation_1-rmse:0.22341 +[15] validation_0-rmse:0.23869 validation_1-rmse:0.21969 +[16] validation_0-rmse:0.23628 validation_1-rmse:0.21635 +[17] validation_0-rmse:0.23354 validation_1-rmse:0.21326 +[18] validation_0-rmse:0.23123 validation_1-rmse:0.21007 +[19] validation_0-rmse:0.22919 validation_1-rmse:0.20707 +[20] validation_0-rmse:0.22705 validation_1-rmse:0.20418 +[21] validation_0-rmse:0.22505 validation_1-rmse:0.20149 +[22] validation_0-rmse:0.22285 validation_1-rmse:0.19887 +[23] validation_0-rmse:0.22084 validation_1-rmse:0.19631 +[24] validation_0-rmse:0.21877 validation_1-rmse:0.19389 +[25] validation_0-rmse:0.21748 validation_1-rmse:0.19133 +[26] validation_0-rmse:0.21557 validation_1-rmse:0.18870 +[27] validation_0-rmse:0.21374 validation_1-rmse:0.18648 +[28] validation_0-rmse:0.21183 validation_1-rmse:0.18432 +[29] validation_0-rmse:0.21047 validation_1-rmse:0.18209 +[30] validation_0-rmse:0.20873 validation_1-rmse:0.17990 +[31] validation_0-rmse:0.20717 validation_1-rmse:0.17795 +[32] validation_0-rmse:0.20564 validation_1-rmse:0.17599 +[33] validation_0-rmse:0.20428 validation_1-rmse:0.17421 +[34] validation_0-rmse:0.20290 validation_1-rmse:0.17229 +[35] validation_0-rmse:0.20161 validation_1-rmse:0.17047 +[36] validation_0-rmse:0.20018 validation_1-rmse:0.16878 +[37] validation_0-rmse:0.19923 validation_1-rmse:0.16688 +[38] validation_0-rmse:0.19796 validation_1-rmse:0.16534 +[39] validation_0-rmse:0.19668 validation_1-rmse:0.16355 +[40] validation_0-rmse:0.19543 validation_1-rmse:0.16204 +[41] validation_0-rmse:0.19441 validation_1-rmse:0.16062 +[42] validation_0-rmse:0.19344 validation_1-rmse:0.15910 +[43] validation_0-rmse:0.19256 validation_1-rmse:0.15759 +[44] validation_0-rmse:0.19154 validation_1-rmse:0.15625 +[45] validation_0-rmse:0.19048 validation_1-rmse:0.15494 +[46] validation_0-rmse:0.18937 validation_1-rmse:0.15366 +[47] validation_0-rmse:0.18865 validation_1-rmse:0.15236 +[48] validation_0-rmse:0.18784 validation_1-rmse:0.15112 +[49] validation_0-rmse:0.18704 validation_1-rmse:0.14998 +[50] validation_0-rmse:0.18625 validation_1-rmse:0.14874 +[51] validation_0-rmse:0.18541 validation_1-rmse:0.14763 +[52] validation_0-rmse:0.18456 validation_1-rmse:0.14659 +[53] validation_0-rmse:0.18383 validation_1-rmse:0.14530 +[54] validation_0-rmse:0.18315 validation_1-rmse:0.14420 +[55] validation_0-rmse:0.18234 validation_1-rmse:0.14321 +[56] validation_0-rmse:0.18181 validation_1-rmse:0.14206 +[57] validation_0-rmse:0.18109 validation_1-rmse:0.14106 +[58] validation_0-rmse:0.18033 validation_1-rmse:0.13996 +[59] validation_0-rmse:0.17964 validation_1-rmse:0.13905 +[60] validation_0-rmse:0.17921 validation_1-rmse:0.13820 +[61] validation_0-rmse:0.17865 validation_1-rmse:0.13731 +[62] validation_0-rmse:0.17795 validation_1-rmse:0.13648 +[63] validation_0-rmse:0.17737 validation_1-rmse:0.13559 +[64] validation_0-rmse:0.17680 validation_1-rmse:0.13483 +[65] validation_0-rmse:0.17628 validation_1-rmse:0.13408 +[66] validation_0-rmse:0.17588 validation_1-rmse:0.13303 +[67] validation_0-rmse:0.17530 validation_1-rmse:0.13228 +[68] validation_0-rmse:0.17478 validation_1-rmse:0.13153 +[69] validation_0-rmse:0.17439 validation_1-rmse:0.13081 +[70] validation_0-rmse:0.17401 validation_1-rmse:0.12991 +[71] validation_0-rmse:0.17347 validation_1-rmse:0.12911 +[72] validation_0-rmse:0.17304 validation_1-rmse:0.12838 +[73] validation_0-rmse:0.17254 validation_1-rmse:0.12774 +[74] validation_0-rmse:0.17207 validation_1-rmse:0.12656 +[75] validation_0-rmse:0.17185 validation_1-rmse:0.12571 +[76] validation_0-rmse:0.17126 validation_1-rmse:0.12512 +[77] validation_0-rmse:0.17096 validation_1-rmse:0.12447 +[78] validation_0-rmse:0.17064 validation_1-rmse:0.12381 +[79] validation_0-rmse:0.17024 validation_1-rmse:0.12300 +[80] validation_0-rmse:0.16989 validation_1-rmse:0.12244 +[81] validation_0-rmse:0.16955 validation_1-rmse:0.12180 +[82] validation_0-rmse:0.16924 validation_1-rmse:0.12129 +[83] validation_0-rmse:0.16931 validation_1-rmse:0.12037 +[84] validation_0-rmse:0.16888 validation_1-rmse:0.11970 +[85] validation_0-rmse:0.16845 validation_1-rmse:0.11914 +[86] validation_0-rmse:0.16809 validation_1-rmse:0.11840 +[87] validation_0-rmse:0.16766 validation_1-rmse:0.11760 +[88] validation_0-rmse:0.16741 validation_1-rmse:0.11714 +[89] validation_0-rmse:0.16707 validation_1-rmse:0.11667 +[90] validation_0-rmse:0.16683 validation_1-rmse:0.11592 +[91] validation_0-rmse:0.16643 validation_1-rmse:0.11537 +[92] validation_0-rmse:0.16621 validation_1-rmse:0.11455 +[93] validation_0-rmse:0.16611 validation_1-rmse:0.11396 +[94] validation_0-rmse:0.16587 validation_1-rmse:0.11350 +[95] validation_0-rmse:0.16563 validation_1-rmse:0.11308 +[96] validation_0-rmse:0.16535 validation_1-rmse:0.11237 +[97] validation_0-rmse:0.16487 validation_1-rmse:0.11173 +[98] validation_0-rmse:0.16461 validation_1-rmse:0.11133 +[99] validation_0-rmse:0.16437 validation_1-rmse:0.11096 +[0] validation_0-rmse:0.30838 validation_1-rmse:0.28356 +[1] validation_0-rmse:0.30280 validation_1-rmse:0.27752 +[2] validation_0-rmse:0.29759 validation_1-rmse:0.27179 +[3] validation_0-rmse:0.29330 validation_1-rmse:0.26614 +[4] validation_0-rmse:0.28936 validation_1-rmse:0.26091 +[5] validation_0-rmse:0.28544 validation_1-rmse:0.25581 +[6] validation_0-rmse:0.28151 validation_1-rmse:0.25102 +[7] validation_0-rmse:0.27790 validation_1-rmse:0.24636 +[8] validation_0-rmse:0.27429 validation_1-rmse:0.24196 +[9] validation_0-rmse:0.27104 validation_1-rmse:0.23770 +[10] validation_0-rmse:0.26762 validation_1-rmse:0.23356 +[11] validation_0-rmse:0.26472 validation_1-rmse:0.22966 +[12] validation_0-rmse:0.26219 validation_1-rmse:0.22601 +[13] validation_0-rmse:0.25924 validation_1-rmse:0.22234 +[14] validation_0-rmse:0.25634 validation_1-rmse:0.21888 +[15] validation_0-rmse:0.25379 validation_1-rmse:0.21545 +[16] validation_0-rmse:0.25117 validation_1-rmse:0.21221 +[17] validation_0-rmse:0.24877 validation_1-rmse:0.20902 +[18] validation_0-rmse:0.24653 validation_1-rmse:0.20604 +[19] validation_0-rmse:0.24404 validation_1-rmse:0.20315 +[20] validation_0-rmse:0.24194 validation_1-rmse:0.20032 +[21] validation_0-rmse:0.23966 validation_1-rmse:0.19765 +[22] validation_0-rmse:0.23804 validation_1-rmse:0.19481 +[23] validation_0-rmse:0.23599 validation_1-rmse:0.19230 +[24] validation_0-rmse:0.23384 validation_1-rmse:0.18993 +[25] validation_0-rmse:0.23196 validation_1-rmse:0.18756 +[26] validation_0-rmse:0.23057 validation_1-rmse:0.18506 +[27] validation_0-rmse:0.22854 validation_1-rmse:0.18283 +[28] validation_0-rmse:0.22705 validation_1-rmse:0.18071 +[29] validation_0-rmse:0.22557 validation_1-rmse:0.17851 +[30] validation_0-rmse:0.22394 validation_1-rmse:0.17644 +[31] validation_0-rmse:0.22213 validation_1-rmse:0.17452 +[32] validation_0-rmse:0.22064 validation_1-rmse:0.17267 +[33] validation_0-rmse:0.21905 validation_1-rmse:0.17084 +[34] validation_0-rmse:0.21806 validation_1-rmse:0.16880 +[35] validation_0-rmse:0.21693 validation_1-rmse:0.16700 +[36] validation_0-rmse:0.21537 validation_1-rmse:0.16520 +[37] validation_0-rmse:0.21417 validation_1-rmse:0.16362 +[38] validation_0-rmse:0.21282 validation_1-rmse:0.16204 +[39] validation_0-rmse:0.21137 validation_1-rmse:0.16047 +[40] validation_0-rmse:0.20994 validation_1-rmse:0.15897 +[41] validation_0-rmse:0.20878 validation_1-rmse:0.15747 +[42] validation_0-rmse:0.20766 validation_1-rmse:0.15604 +[43] validation_0-rmse:0.20666 validation_1-rmse:0.15444 +[44] validation_0-rmse:0.20566 validation_1-rmse:0.15316 +[45] validation_0-rmse:0.20496 validation_1-rmse:0.15162 +[46] validation_0-rmse:0.20394 validation_1-rmse:0.15038 +[47] validation_0-rmse:0.20277 validation_1-rmse:0.14909 +[48] validation_0-rmse:0.20176 validation_1-rmse:0.14793 +[49] validation_0-rmse:0.20072 validation_1-rmse:0.14681 +[50] validation_0-rmse:0.20058 validation_1-rmse:0.14528 +[51] validation_0-rmse:0.19970 validation_1-rmse:0.14419 +[52] validation_0-rmse:0.19887 validation_1-rmse:0.14284 +[53] validation_0-rmse:0.19809 validation_1-rmse:0.14182 +[54] validation_0-rmse:0.19725 validation_1-rmse:0.14076 +[55] validation_0-rmse:0.19636 validation_1-rmse:0.13981 +[56] validation_0-rmse:0.19615 validation_1-rmse:0.13853 +[57] validation_0-rmse:0.19540 validation_1-rmse:0.13757 +[58] validation_0-rmse:0.19460 validation_1-rmse:0.13664 +[59] validation_0-rmse:0.19418 validation_1-rmse:0.13553 +[60] validation_0-rmse:0.19382 validation_1-rmse:0.13445 +[61] validation_0-rmse:0.19302 validation_1-rmse:0.13363 +[62] validation_0-rmse:0.19218 validation_1-rmse:0.13270 +[63] validation_0-rmse:0.19154 validation_1-rmse:0.13183 +[64] validation_0-rmse:0.19083 validation_1-rmse:0.13105 +[65] validation_0-rmse:0.19005 validation_1-rmse:0.13008 +[66] validation_0-rmse:0.18929 validation_1-rmse:0.12932 +[67] validation_0-rmse:0.18885 validation_1-rmse:0.12851 +[68] validation_0-rmse:0.18837 validation_1-rmse:0.12781 +[69] validation_0-rmse:0.18790 validation_1-rmse:0.12711 +[70] validation_0-rmse:0.18732 validation_1-rmse:0.12617 +[71] validation_0-rmse:0.18682 validation_1-rmse:0.12552 +[72] validation_0-rmse:0.18669 validation_1-rmse:0.12448 +[73] validation_0-rmse:0.18617 validation_1-rmse:0.12382 +[74] validation_0-rmse:0.18587 validation_1-rmse:0.12322 +[75] validation_0-rmse:0.18544 validation_1-rmse:0.12261 +[76] validation_0-rmse:0.18524 validation_1-rmse:0.12162 +[77] validation_0-rmse:0.18486 validation_1-rmse:0.12098 +[78] validation_0-rmse:0.18443 validation_1-rmse:0.12021 +[79] validation_0-rmse:0.18415 validation_1-rmse:0.11963 +[80] validation_0-rmse:0.18393 validation_1-rmse:0.11866 +[81] validation_0-rmse:0.18344 validation_1-rmse:0.11809 +[82] validation_0-rmse:0.18307 validation_1-rmse:0.11748 +[83] validation_0-rmse:0.18257 validation_1-rmse:0.11699 +[84] validation_0-rmse:0.18216 validation_1-rmse:0.11643 +[85] validation_0-rmse:0.18188 validation_1-rmse:0.11595 +[86] validation_0-rmse:0.18168 validation_1-rmse:0.11502 +[87] validation_0-rmse:0.18148 validation_1-rmse:0.11451 +[88] validation_0-rmse:0.18093 validation_1-rmse:0.11378 +[89] validation_0-rmse:0.18054 validation_1-rmse:0.11332 +[90] validation_0-rmse:0.18024 validation_1-rmse:0.11285 +[91] validation_0-rmse:0.17982 validation_1-rmse:0.11241 +[92] validation_0-rmse:0.17950 validation_1-rmse:0.11185 +[93] validation_0-rmse:0.17918 validation_1-rmse:0.11123 +[94] validation_0-rmse:0.17882 validation_1-rmse:0.11072 +[95] validation_0-rmse:0.17881 validation_1-rmse:0.10986 +[96] validation_0-rmse:0.17832 validation_1-rmse:0.10941 +[97] validation_0-rmse:0.17800 validation_1-rmse:0.10897 +[98] validation_0-rmse:0.17774 validation_1-rmse:0.10859 +[99] validation_0-rmse:0.17746 validation_1-rmse:0.10819 +[0] validation_0-rmse:0.29494 validation_1-rmse:0.28739 +[1] validation_0-rmse:0.28930 validation_1-rmse:0.28164 +[2] validation_0-rmse:0.28437 validation_1-rmse:0.27613 +[3] validation_0-rmse:0.27990 validation_1-rmse:0.27106 +[4] validation_0-rmse:0.27541 validation_1-rmse:0.26617 +[5] validation_0-rmse:0.27070 validation_1-rmse:0.26147 +[6] validation_0-rmse:0.26683 validation_1-rmse:0.25687 +[7] validation_0-rmse:0.26280 validation_1-rmse:0.25263 +[8] validation_0-rmse:0.25916 validation_1-rmse:0.24830 +[9] validation_0-rmse:0.25540 validation_1-rmse:0.24420 +[10] validation_0-rmse:0.25186 validation_1-rmse:0.24022 +[11] validation_0-rmse:0.24829 validation_1-rmse:0.23647 +[12] validation_0-rmse:0.24504 validation_1-rmse:0.23286 +[13] validation_0-rmse:0.24183 validation_1-rmse:0.22943 +[14] validation_0-rmse:0.23870 validation_1-rmse:0.22619 +[15] validation_0-rmse:0.23587 validation_1-rmse:0.22274 +[16] validation_0-rmse:0.23325 validation_1-rmse:0.21951 +[17] validation_0-rmse:0.23045 validation_1-rmse:0.21650 +[18] validation_0-rmse:0.22792 validation_1-rmse:0.21367 +[19] validation_0-rmse:0.22524 validation_1-rmse:0.21092 +[20] validation_0-rmse:0.22293 validation_1-rmse:0.20804 +[21] validation_0-rmse:0.22055 validation_1-rmse:0.20549 +[22] validation_0-rmse:0.21831 validation_1-rmse:0.20307 +[23] validation_0-rmse:0.21601 validation_1-rmse:0.20062 +[24] validation_0-rmse:0.21372 validation_1-rmse:0.19810 +[25] validation_0-rmse:0.21154 validation_1-rmse:0.19580 +[26] validation_0-rmse:0.20966 validation_1-rmse:0.19369 +[27] validation_0-rmse:0.20790 validation_1-rmse:0.19130 +[28] validation_0-rmse:0.20602 validation_1-rmse:0.18921 +[29] validation_0-rmse:0.20418 validation_1-rmse:0.18723 +[30] validation_0-rmse:0.20236 validation_1-rmse:0.18525 +[31] validation_0-rmse:0.20057 validation_1-rmse:0.18324 +[32] validation_0-rmse:0.19900 validation_1-rmse:0.18144 +[33] validation_0-rmse:0.19744 validation_1-rmse:0.17941 +[34] validation_0-rmse:0.19608 validation_1-rmse:0.17767 +[35] validation_0-rmse:0.19467 validation_1-rmse:0.17605 +[36] validation_0-rmse:0.19313 validation_1-rmse:0.17422 +[37] validation_0-rmse:0.19156 validation_1-rmse:0.17260 +[38] validation_0-rmse:0.19020 validation_1-rmse:0.17103 +[39] validation_0-rmse:0.18884 validation_1-rmse:0.16948 +[40] validation_0-rmse:0.18767 validation_1-rmse:0.16797 +[41] validation_0-rmse:0.18636 validation_1-rmse:0.16647 +[42] validation_0-rmse:0.18512 validation_1-rmse:0.16505 +[43] validation_0-rmse:0.18403 validation_1-rmse:0.16340 +[44] validation_0-rmse:0.18290 validation_1-rmse:0.16210 +[45] validation_0-rmse:0.18189 validation_1-rmse:0.16085 +[46] validation_0-rmse:0.18090 validation_1-rmse:0.15966 +[47] validation_0-rmse:0.17992 validation_1-rmse:0.15841 +[48] validation_0-rmse:0.17901 validation_1-rmse:0.15728 +[49] validation_0-rmse:0.17817 validation_1-rmse:0.15582 +[50] validation_0-rmse:0.17697 validation_1-rmse:0.15458 +[51] validation_0-rmse:0.17607 validation_1-rmse:0.15349 +[52] validation_0-rmse:0.17516 validation_1-rmse:0.15235 +[53] validation_0-rmse:0.17425 validation_1-rmse:0.15131 +[54] validation_0-rmse:0.17347 validation_1-rmse:0.15032 +[55] validation_0-rmse:0.17275 validation_1-rmse:0.14932 +[56] validation_0-rmse:0.17211 validation_1-rmse:0.14834 +[57] validation_0-rmse:0.17131 validation_1-rmse:0.14741 +[58] validation_0-rmse:0.17072 validation_1-rmse:0.14617 +[59] validation_0-rmse:0.16999 validation_1-rmse:0.14528 +[60] validation_0-rmse:0.16934 validation_1-rmse:0.14416 +[61] validation_0-rmse:0.16887 validation_1-rmse:0.14321 +[62] validation_0-rmse:0.16842 validation_1-rmse:0.14213 +[63] validation_0-rmse:0.16765 validation_1-rmse:0.14130 +[64] validation_0-rmse:0.16691 validation_1-rmse:0.14048 +[65] validation_0-rmse:0.16629 validation_1-rmse:0.13956 +[66] validation_0-rmse:0.16565 validation_1-rmse:0.13882 +[67] validation_0-rmse:0.16530 validation_1-rmse:0.13793 +[68] validation_0-rmse:0.16467 validation_1-rmse:0.13710 +[69] validation_0-rmse:0.16436 validation_1-rmse:0.13621 +[70] validation_0-rmse:0.16377 validation_1-rmse:0.13542 +[71] validation_0-rmse:0.16334 validation_1-rmse:0.13463 +[72] validation_0-rmse:0.16280 validation_1-rmse:0.13394 +[73] validation_0-rmse:0.16230 validation_1-rmse:0.13328 +[74] validation_0-rmse:0.16156 validation_1-rmse:0.13246 +[75] validation_0-rmse:0.16122 validation_1-rmse:0.13151 +[76] validation_0-rmse:0.16080 validation_1-rmse:0.13080 +[77] validation_0-rmse:0.16033 validation_1-rmse:0.13015 +[78] validation_0-rmse:0.15992 validation_1-rmse:0.12951 +[79] validation_0-rmse:0.15950 validation_1-rmse:0.12888 +[80] validation_0-rmse:0.15909 validation_1-rmse:0.12822 +[81] validation_0-rmse:0.15875 validation_1-rmse:0.12744 +[82] validation_0-rmse:0.15831 validation_1-rmse:0.12683 +[83] validation_0-rmse:0.15786 validation_1-rmse:0.12626 +[84] validation_0-rmse:0.15747 validation_1-rmse:0.12572 +[85] validation_0-rmse:0.15724 validation_1-rmse:0.12495 +[86] validation_0-rmse:0.15695 validation_1-rmse:0.12442 +[87] validation_0-rmse:0.15664 validation_1-rmse:0.12382 +[88] validation_0-rmse:0.15651 validation_1-rmse:0.12326 +[89] validation_0-rmse:0.15629 validation_1-rmse:0.12256 +[90] validation_0-rmse:0.15596 validation_1-rmse:0.12196 +[91] validation_0-rmse:0.15559 validation_1-rmse:0.12141 +[92] validation_0-rmse:0.15511 validation_1-rmse:0.12088 +[93] validation_0-rmse:0.15487 validation_1-rmse:0.12033 +[94] validation_0-rmse:0.15472 validation_1-rmse:0.11975 +[95] validation_0-rmse:0.15438 validation_1-rmse:0.11924 +[96] validation_0-rmse:0.15408 validation_1-rmse:0.11882 +[97] validation_0-rmse:0.15382 validation_1-rmse:0.11819 +[98] validation_0-rmse:0.15350 validation_1-rmse:0.11777 +[99] validation_0-rmse:0.15331 validation_1-rmse:0.11727 +[0] validation_0-rmse:0.29889 validation_1-rmse:0.30153 +[1] validation_0-rmse:0.29317 validation_1-rmse:0.29483 +[2] validation_0-rmse:0.28819 validation_1-rmse:0.28860 +[3] validation_0-rmse:0.28336 validation_1-rmse:0.28273 +[4] validation_0-rmse:0.27885 validation_1-rmse:0.27694 +[5] validation_0-rmse:0.27448 validation_1-rmse:0.27155 +[6] validation_0-rmse:0.27020 validation_1-rmse:0.26634 +[7] validation_0-rmse:0.26629 validation_1-rmse:0.26134 +[8] validation_0-rmse:0.26241 validation_1-rmse:0.25653 +[9] validation_0-rmse:0.25876 validation_1-rmse:0.25192 +[10] validation_0-rmse:0.25559 validation_1-rmse:0.24747 +[11] validation_0-rmse:0.25223 validation_1-rmse:0.24337 +[12] validation_0-rmse:0.24904 validation_1-rmse:0.23934 +[13] validation_0-rmse:0.24639 validation_1-rmse:0.23548 +[14] validation_0-rmse:0.24353 validation_1-rmse:0.23187 +[15] validation_0-rmse:0.24076 validation_1-rmse:0.22837 +[16] validation_0-rmse:0.23849 validation_1-rmse:0.22484 +[17] validation_0-rmse:0.23581 validation_1-rmse:0.22147 +[18] validation_0-rmse:0.23342 validation_1-rmse:0.21814 +[19] validation_0-rmse:0.23133 validation_1-rmse:0.21509 +[20] validation_0-rmse:0.22937 validation_1-rmse:0.21187 +[21] validation_0-rmse:0.22713 validation_1-rmse:0.20902 +[22] validation_0-rmse:0.22509 validation_1-rmse:0.20631 +[23] validation_0-rmse:0.22312 validation_1-rmse:0.20373 +[24] validation_0-rmse:0.22123 validation_1-rmse:0.20076 +[25] validation_0-rmse:0.21951 validation_1-rmse:0.19837 +[26] validation_0-rmse:0.21751 validation_1-rmse:0.19562 +[27] validation_0-rmse:0.21589 validation_1-rmse:0.19309 +[28] validation_0-rmse:0.21422 validation_1-rmse:0.19091 +[29] validation_0-rmse:0.21272 validation_1-rmse:0.18879 +[30] validation_0-rmse:0.21119 validation_1-rmse:0.18660 +[31] validation_0-rmse:0.20982 validation_1-rmse:0.18468 +[32] validation_0-rmse:0.20829 validation_1-rmse:0.18239 +[33] validation_0-rmse:0.20681 validation_1-rmse:0.18048 +[34] validation_0-rmse:0.20548 validation_1-rmse:0.17869 +[35] validation_0-rmse:0.20431 validation_1-rmse:0.17665 +[36] validation_0-rmse:0.20297 validation_1-rmse:0.17483 +[37] validation_0-rmse:0.20174 validation_1-rmse:0.17311 +[38] validation_0-rmse:0.20060 validation_1-rmse:0.17153 +[39] validation_0-rmse:0.19951 validation_1-rmse:0.16958 +[40] validation_0-rmse:0.19848 validation_1-rmse:0.16805 +[41] validation_0-rmse:0.19745 validation_1-rmse:0.16652 +[42] validation_0-rmse:0.19647 validation_1-rmse:0.16509 +[43] validation_0-rmse:0.19570 validation_1-rmse:0.16325 +[44] validation_0-rmse:0.19473 validation_1-rmse:0.16187 +[45] validation_0-rmse:0.19397 validation_1-rmse:0.16012 +[46] validation_0-rmse:0.19314 validation_1-rmse:0.15887 +[47] validation_0-rmse:0.19196 validation_1-rmse:0.15723 +[48] validation_0-rmse:0.19096 validation_1-rmse:0.15595 +[49] validation_0-rmse:0.19009 validation_1-rmse:0.15468 +[50] validation_0-rmse:0.18931 validation_1-rmse:0.15355 +[51] validation_0-rmse:0.18864 validation_1-rmse:0.15207 +[52] validation_0-rmse:0.18786 validation_1-rmse:0.15101 +[53] validation_0-rmse:0.18690 validation_1-rmse:0.14960 +[54] validation_0-rmse:0.18614 validation_1-rmse:0.14859 +[55] validation_0-rmse:0.18550 validation_1-rmse:0.14756 +[56] validation_0-rmse:0.18475 validation_1-rmse:0.14647 +[57] validation_0-rmse:0.18405 validation_1-rmse:0.14545 +[58] validation_0-rmse:0.18346 validation_1-rmse:0.14415 +[59] validation_0-rmse:0.18277 validation_1-rmse:0.14321 +[60] validation_0-rmse:0.18219 validation_1-rmse:0.14221 +[61] validation_0-rmse:0.18158 validation_1-rmse:0.14129 +[62] validation_0-rmse:0.18100 validation_1-rmse:0.14043 +[63] validation_0-rmse:0.18059 validation_1-rmse:0.13920 +[64] validation_0-rmse:0.17997 validation_1-rmse:0.13842 +[65] validation_0-rmse:0.17941 validation_1-rmse:0.13754 +[66] validation_0-rmse:0.17881 validation_1-rmse:0.13652 +[67] validation_0-rmse:0.17823 validation_1-rmse:0.13576 +[68] validation_0-rmse:0.17784 validation_1-rmse:0.13468 +[69] validation_0-rmse:0.17735 validation_1-rmse:0.13396 +[70] validation_0-rmse:0.17687 validation_1-rmse:0.13311 +[71] validation_0-rmse:0.17628 validation_1-rmse:0.13225 +[72] validation_0-rmse:0.17599 validation_1-rmse:0.13154 +[73] validation_0-rmse:0.17542 validation_1-rmse:0.13080 +[74] validation_0-rmse:0.17497 validation_1-rmse:0.13013 +[75] validation_0-rmse:0.17456 validation_1-rmse:0.12954 +[76] validation_0-rmse:0.17416 validation_1-rmse:0.12864 +[77] validation_0-rmse:0.17369 validation_1-rmse:0.12802 +[78] validation_0-rmse:0.17345 validation_1-rmse:0.12735 +[79] validation_0-rmse:0.17302 validation_1-rmse:0.12672 +[80] validation_0-rmse:0.17254 validation_1-rmse:0.12609 +[81] validation_0-rmse:0.17248 validation_1-rmse:0.12527 +[82] validation_0-rmse:0.17210 validation_1-rmse:0.12470 +[83] validation_0-rmse:0.17196 validation_1-rmse:0.12398 +[84] validation_0-rmse:0.17189 validation_1-rmse:0.12334 +[85] validation_0-rmse:0.17155 validation_1-rmse:0.12280 +[86] validation_0-rmse:0.17124 validation_1-rmse:0.12230 +[87] validation_0-rmse:0.17103 validation_1-rmse:0.12178 +[88] validation_0-rmse:0.17086 validation_1-rmse:0.12118 +[89] validation_0-rmse:0.17064 validation_1-rmse:0.12049 +[90] validation_0-rmse:0.17029 validation_1-rmse:0.11993 +[91] validation_0-rmse:0.16981 validation_1-rmse:0.11942 +[92] validation_0-rmse:0.16950 validation_1-rmse:0.11894 +[93] validation_0-rmse:0.16937 validation_1-rmse:0.11833 +[94] validation_0-rmse:0.16928 validation_1-rmse:0.11786 +[95] validation_0-rmse:0.16899 validation_1-rmse:0.11735 +[96] validation_0-rmse:0.16869 validation_1-rmse:0.11693 +[97] validation_0-rmse:0.16843 validation_1-rmse:0.11650 +[98] validation_0-rmse:0.16829 validation_1-rmse:0.11591 +[99] validation_0-rmse:0.16802 validation_1-rmse:0.11547 +[0] validation_0-rmse:0.29357 validation_1-rmse:0.28852 +[1] validation_0-rmse:0.28850 validation_1-rmse:0.28219 +[2] validation_0-rmse:0.28292 validation_1-rmse:0.27618 +[3] validation_0-rmse:0.27862 validation_1-rmse:0.27046 +[4] validation_0-rmse:0.27383 validation_1-rmse:0.26510 +[5] validation_0-rmse:0.27018 validation_1-rmse:0.25989 +[6] validation_0-rmse:0.26615 validation_1-rmse:0.25477 +[7] validation_0-rmse:0.26234 validation_1-rmse:0.25007 +[8] validation_0-rmse:0.25794 validation_1-rmse:0.24560 +[9] validation_0-rmse:0.25417 validation_1-rmse:0.24109 +[10] validation_0-rmse:0.25083 validation_1-rmse:0.23700 +[11] validation_0-rmse:0.24683 validation_1-rmse:0.23303 +[12] validation_0-rmse:0.24384 validation_1-rmse:0.22908 +[13] validation_0-rmse:0.24093 validation_1-rmse:0.22542 +[14] validation_0-rmse:0.23743 validation_1-rmse:0.22186 +[15] validation_0-rmse:0.23484 validation_1-rmse:0.21841 +[16] validation_0-rmse:0.23215 validation_1-rmse:0.21525 +[17] validation_0-rmse:0.22951 validation_1-rmse:0.21206 +[18] validation_0-rmse:0.22658 validation_1-rmse:0.20906 +[19] validation_0-rmse:0.22440 validation_1-rmse:0.20615 +[20] validation_0-rmse:0.22193 validation_1-rmse:0.20314 +[21] validation_0-rmse:0.22009 validation_1-rmse:0.20016 +[22] validation_0-rmse:0.21755 validation_1-rmse:0.19751 +[23] validation_0-rmse:0.21578 validation_1-rmse:0.19498 +[24] validation_0-rmse:0.21440 validation_1-rmse:0.19241 +[25] validation_0-rmse:0.21229 validation_1-rmse:0.19006 +[26] validation_0-rmse:0.21038 validation_1-rmse:0.18780 +[27] validation_0-rmse:0.20897 validation_1-rmse:0.18529 +[28] validation_0-rmse:0.20703 validation_1-rmse:0.18313 +[29] validation_0-rmse:0.20556 validation_1-rmse:0.18091 +[30] validation_0-rmse:0.20384 validation_1-rmse:0.17884 +[31] validation_0-rmse:0.20281 validation_1-rmse:0.17690 +[32] validation_0-rmse:0.20169 validation_1-rmse:0.17483 +[33] validation_0-rmse:0.20012 validation_1-rmse:0.17300 +[34] validation_0-rmse:0.19876 validation_1-rmse:0.17106 +[35] validation_0-rmse:0.19755 validation_1-rmse:0.16934 +[36] validation_0-rmse:0.19649 validation_1-rmse:0.16752 +[37] validation_0-rmse:0.19501 validation_1-rmse:0.16586 +[38] validation_0-rmse:0.19423 validation_1-rmse:0.16418 +[39] validation_0-rmse:0.19297 validation_1-rmse:0.16264 +[40] validation_0-rmse:0.19162 validation_1-rmse:0.16092 +[41] validation_0-rmse:0.19049 validation_1-rmse:0.15952 +[42] validation_0-rmse:0.18925 validation_1-rmse:0.15810 +[43] validation_0-rmse:0.18845 validation_1-rmse:0.15638 +[44] validation_0-rmse:0.18730 validation_1-rmse:0.15506 +[45] validation_0-rmse:0.18661 validation_1-rmse:0.15357 +[46] validation_0-rmse:0.18563 validation_1-rmse:0.15226 +[47] validation_0-rmse:0.18473 validation_1-rmse:0.15101 +[48] validation_0-rmse:0.18399 validation_1-rmse:0.14957 +[49] validation_0-rmse:0.18304 validation_1-rmse:0.14841 +[50] validation_0-rmse:0.18219 validation_1-rmse:0.14717 +[51] validation_0-rmse:0.18131 validation_1-rmse:0.14599 +[52] validation_0-rmse:0.18043 validation_1-rmse:0.14492 +[53] validation_0-rmse:0.17966 validation_1-rmse:0.14388 +[54] validation_0-rmse:0.17901 validation_1-rmse:0.14274 +[55] validation_0-rmse:0.17850 validation_1-rmse:0.14134 +[56] validation_0-rmse:0.17764 validation_1-rmse:0.14035 +[57] validation_0-rmse:0.17682 validation_1-rmse:0.13937 +[58] validation_0-rmse:0.17604 validation_1-rmse:0.13844 +[59] validation_0-rmse:0.17526 validation_1-rmse:0.13754 +[60] validation_0-rmse:0.17488 validation_1-rmse:0.13621 +[61] validation_0-rmse:0.17432 validation_1-rmse:0.13530 +[62] validation_0-rmse:0.17345 validation_1-rmse:0.13439 +[63] validation_0-rmse:0.17284 validation_1-rmse:0.13358 +[64] validation_0-rmse:0.17213 validation_1-rmse:0.13278 +[65] validation_0-rmse:0.17164 validation_1-rmse:0.13175 +[66] validation_0-rmse:0.17098 validation_1-rmse:0.13088 +[67] validation_0-rmse:0.17049 validation_1-rmse:0.13002 +[68] validation_0-rmse:0.17000 validation_1-rmse:0.12918 +[69] validation_0-rmse:0.16969 validation_1-rmse:0.12815 +[70] validation_0-rmse:0.16917 validation_1-rmse:0.12746 +[71] validation_0-rmse:0.16857 validation_1-rmse:0.12678 +[72] validation_0-rmse:0.16830 validation_1-rmse:0.12595 +[73] validation_0-rmse:0.16793 validation_1-rmse:0.12522 +[74] validation_0-rmse:0.16752 validation_1-rmse:0.12457 +[75] validation_0-rmse:0.16704 validation_1-rmse:0.12395 +[76] validation_0-rmse:0.16668 validation_1-rmse:0.12316 +[77] validation_0-rmse:0.16621 validation_1-rmse:0.12251 +[78] validation_0-rmse:0.16591 validation_1-rmse:0.12185 +[79] validation_0-rmse:0.16550 validation_1-rmse:0.12115 +[80] validation_0-rmse:0.16506 validation_1-rmse:0.12055 +[81] validation_0-rmse:0.16467 validation_1-rmse:0.12001 +[82] validation_0-rmse:0.16422 validation_1-rmse:0.11944 +[83] validation_0-rmse:0.16379 validation_1-rmse:0.11892 +[84] validation_0-rmse:0.16344 validation_1-rmse:0.11825 +[85] validation_0-rmse:0.16317 validation_1-rmse:0.11766 +[86] validation_0-rmse:0.16289 validation_1-rmse:0.11712 +[87] validation_0-rmse:0.16271 validation_1-rmse:0.11639 +[88] validation_0-rmse:0.16236 validation_1-rmse:0.11591 +[89] validation_0-rmse:0.16210 validation_1-rmse:0.11515 +[90] validation_0-rmse:0.16170 validation_1-rmse:0.11457 +[91] validation_0-rmse:0.16149 validation_1-rmse:0.11411 +[92] validation_0-rmse:0.16132 validation_1-rmse:0.11360 +[93] validation_0-rmse:0.16108 validation_1-rmse:0.11292 +[94] validation_0-rmse:0.16077 validation_1-rmse:0.11247 +[95] validation_0-rmse:0.16040 validation_1-rmse:0.11205 +[96] validation_0-rmse:0.16017 validation_1-rmse:0.11157 +[97] validation_0-rmse:0.15988 validation_1-rmse:0.11117 +[98] validation_0-rmse:0.15964 validation_1-rmse:0.11074 +[99] validation_0-rmse:0.15958 validation_1-rmse:0.11029 +[0] validation_0-rmse:0.33058 validation_1-rmse:0.29214 +[1] validation_0-rmse:0.32414 validation_1-rmse:0.28558 +[2] validation_0-rmse:0.31832 validation_1-rmse:0.27962 +[3] validation_0-rmse:0.31280 validation_1-rmse:0.27380 +[4] validation_0-rmse:0.30679 validation_1-rmse:0.26829 +[5] validation_0-rmse:0.30182 validation_1-rmse:0.26306 +[6] validation_0-rmse:0.29686 validation_1-rmse:0.25797 +[7] validation_0-rmse:0.29291 validation_1-rmse:0.25323 +[8] validation_0-rmse:0.28868 validation_1-rmse:0.24871 +[9] validation_0-rmse:0.28559 validation_1-rmse:0.24437 +[10] validation_0-rmse:0.28262 validation_1-rmse:0.24018 +[11] validation_0-rmse:0.27890 validation_1-rmse:0.23606 +[12] validation_0-rmse:0.27663 validation_1-rmse:0.23225 +[13] validation_0-rmse:0.27306 validation_1-rmse:0.22870 +[14] validation_0-rmse:0.26948 validation_1-rmse:0.22493 +[15] validation_0-rmse:0.26663 validation_1-rmse:0.22157 +[16] validation_0-rmse:0.26427 validation_1-rmse:0.21817 +[17] validation_0-rmse:0.26195 validation_1-rmse:0.21492 +[18] validation_0-rmse:0.25856 validation_1-rmse:0.21177 +[19] validation_0-rmse:0.25606 validation_1-rmse:0.20861 +[20] validation_0-rmse:0.25343 validation_1-rmse:0.20580 +[21] validation_0-rmse:0.25243 validation_1-rmse:0.20301 +[22] validation_0-rmse:0.25066 validation_1-rmse:0.20027 +[23] validation_0-rmse:0.24864 validation_1-rmse:0.19761 +[24] validation_0-rmse:0.24630 validation_1-rmse:0.19522 +[25] validation_0-rmse:0.24491 validation_1-rmse:0.19283 +[26] validation_0-rmse:0.24339 validation_1-rmse:0.19036 +[27] validation_0-rmse:0.24108 validation_1-rmse:0.18818 +[28] validation_0-rmse:0.23976 validation_1-rmse:0.18592 +[29] validation_0-rmse:0.23882 validation_1-rmse:0.18348 +[30] validation_0-rmse:0.23676 validation_1-rmse:0.18142 +[31] validation_0-rmse:0.23520 validation_1-rmse:0.17945 +[32] validation_0-rmse:0.23395 validation_1-rmse:0.17754 +[33] validation_0-rmse:0.23229 validation_1-rmse:0.17545 +[34] validation_0-rmse:0.23073 validation_1-rmse:0.17360 +[35] validation_0-rmse:0.22951 validation_1-rmse:0.17182 +[36] validation_0-rmse:0.22806 validation_1-rmse:0.16995 +[37] validation_0-rmse:0.22713 validation_1-rmse:0.16834 +[38] validation_0-rmse:0.22541 validation_1-rmse:0.16668 +[39] validation_0-rmse:0.22393 validation_1-rmse:0.16509 +[40] validation_0-rmse:0.22282 validation_1-rmse:0.16343 +[41] validation_0-rmse:0.22168 validation_1-rmse:0.16185 +[42] validation_0-rmse:0.22085 validation_1-rmse:0.16046 +[43] validation_0-rmse:0.21991 validation_1-rmse:0.15907 +[44] validation_0-rmse:0.21833 validation_1-rmse:0.15756 +[45] validation_0-rmse:0.21710 validation_1-rmse:0.15618 +[46] validation_0-rmse:0.21619 validation_1-rmse:0.15490 +[47] validation_0-rmse:0.21518 validation_1-rmse:0.15345 +[48] validation_0-rmse:0.21402 validation_1-rmse:0.15221 +[49] validation_0-rmse:0.21305 validation_1-rmse:0.15086 +[50] validation_0-rmse:0.21229 validation_1-rmse:0.14968 +[51] validation_0-rmse:0.21119 validation_1-rmse:0.14854 +[52] validation_0-rmse:0.21019 validation_1-rmse:0.14745 +[53] validation_0-rmse:0.20924 validation_1-rmse:0.14637 +[54] validation_0-rmse:0.20982 validation_1-rmse:0.14517 +[55] validation_0-rmse:0.20888 validation_1-rmse:0.14405 +[56] validation_0-rmse:0.20806 validation_1-rmse:0.14305 +[57] validation_0-rmse:0.20822 validation_1-rmse:0.14169 +[58] validation_0-rmse:0.20741 validation_1-rmse:0.14071 +[59] validation_0-rmse:0.20663 validation_1-rmse:0.13976 +[60] validation_0-rmse:0.20602 validation_1-rmse:0.13882 +[61] validation_0-rmse:0.20523 validation_1-rmse:0.13776 +[62] validation_0-rmse:0.20558 validation_1-rmse:0.13689 +[63] validation_0-rmse:0.20501 validation_1-rmse:0.13605 +[64] validation_0-rmse:0.20348 validation_1-rmse:0.13462 +[65] validation_0-rmse:0.20273 validation_1-rmse:0.13382 +[66] validation_0-rmse:0.20203 validation_1-rmse:0.13306 +[67] validation_0-rmse:0.20166 validation_1-rmse:0.13228 +[68] validation_0-rmse:0.20002 validation_1-rmse:0.13102 +[69] validation_0-rmse:0.19928 validation_1-rmse:0.13021 +[70] validation_0-rmse:0.19870 validation_1-rmse:0.12946 +[71] validation_0-rmse:0.19830 validation_1-rmse:0.12876 +[72] validation_0-rmse:0.19814 validation_1-rmse:0.12801 +[73] validation_0-rmse:0.19798 validation_1-rmse:0.12711 +[74] validation_0-rmse:0.19746 validation_1-rmse:0.12649 +[75] validation_0-rmse:0.19701 validation_1-rmse:0.12588 +[76] validation_0-rmse:0.19555 validation_1-rmse:0.12467 +[77] validation_0-rmse:0.19514 validation_1-rmse:0.12407 +[78] validation_0-rmse:0.19468 validation_1-rmse:0.12347 +[79] validation_0-rmse:0.19439 validation_1-rmse:0.12277 +[80] validation_0-rmse:0.19473 validation_1-rmse:0.12220 +[81] validation_0-rmse:0.19448 validation_1-rmse:0.12154 +[82] validation_0-rmse:0.19418 validation_1-rmse:0.12086 +[83] validation_0-rmse:0.19370 validation_1-rmse:0.12030 +[84] validation_0-rmse:0.19346 validation_1-rmse:0.11976 +[85] validation_0-rmse:0.19322 validation_1-rmse:0.11879 +[86] validation_0-rmse:0.19282 validation_1-rmse:0.11819 +[87] validation_0-rmse:0.19226 validation_1-rmse:0.11770 +[88] validation_0-rmse:0.19187 validation_1-rmse:0.11719 +[89] validation_0-rmse:0.19145 validation_1-rmse:0.11671 +[90] validation_0-rmse:0.19134 validation_1-rmse:0.11619 +[91] validation_0-rmse:0.19030 validation_1-rmse:0.11531 +[92] validation_0-rmse:0.18998 validation_1-rmse:0.11487 +[93] validation_0-rmse:0.18945 validation_1-rmse:0.11445 +[94] validation_0-rmse:0.18919 validation_1-rmse:0.11395 +[95] validation_0-rmse:0.18862 validation_1-rmse:0.11324 +[96] validation_0-rmse:0.18824 validation_1-rmse:0.11283 +[97] validation_0-rmse:0.18778 validation_1-rmse:0.11225 +[98] validation_0-rmse:0.18755 validation_1-rmse:0.11186 +[99] validation_0-rmse:0.18742 validation_1-rmse:0.11149 +[0] validation_0-rmse:0.25025 validation_1-rmse:0.24842 +[1] validation_0-rmse:0.24557 validation_1-rmse:0.24302 +[2] validation_0-rmse:0.24132 validation_1-rmse:0.23806 +[3] validation_0-rmse:0.23733 validation_1-rmse:0.23332 +[4] validation_0-rmse:0.23376 validation_1-rmse:0.22859 +[5] validation_0-rmse:0.23049 validation_1-rmse:0.22444 +[6] validation_0-rmse:0.22702 validation_1-rmse:0.22025 +[7] validation_0-rmse:0.22380 validation_1-rmse:0.21631 +[8] validation_0-rmse:0.22066 validation_1-rmse:0.21250 +[9] validation_0-rmse:0.21772 validation_1-rmse:0.20892 +[10] validation_0-rmse:0.21473 validation_1-rmse:0.20536 +[11] validation_0-rmse:0.21219 validation_1-rmse:0.20211 +[12] validation_0-rmse:0.20968 validation_1-rmse:0.19897 +[13] validation_0-rmse:0.20730 validation_1-rmse:0.19597 +[14] validation_0-rmse:0.20552 validation_1-rmse:0.19281 +[15] validation_0-rmse:0.20361 validation_1-rmse:0.18992 +[16] validation_0-rmse:0.20165 validation_1-rmse:0.18721 +[17] validation_0-rmse:0.19948 validation_1-rmse:0.18463 +[18] validation_0-rmse:0.19807 validation_1-rmse:0.18193 +[19] validation_0-rmse:0.19703 validation_1-rmse:0.17939 +[20] validation_0-rmse:0.19569 validation_1-rmse:0.17683 +[21] validation_0-rmse:0.19388 validation_1-rmse:0.17462 +[22] validation_0-rmse:0.19219 validation_1-rmse:0.17240 +[23] validation_0-rmse:0.19062 validation_1-rmse:0.17026 +[24] validation_0-rmse:0.18933 validation_1-rmse:0.16813 +[25] validation_0-rmse:0.18829 validation_1-rmse:0.16598 +[26] validation_0-rmse:0.18704 validation_1-rmse:0.16411 +[27] validation_0-rmse:0.18563 validation_1-rmse:0.16221 +[28] validation_0-rmse:0.18446 validation_1-rmse:0.16034 +[29] validation_0-rmse:0.18316 validation_1-rmse:0.15841 +[30] validation_0-rmse:0.18192 validation_1-rmse:0.15674 +[31] validation_0-rmse:0.18091 validation_1-rmse:0.15479 +[32] validation_0-rmse:0.18003 validation_1-rmse:0.15312 +[33] validation_0-rmse:0.17886 validation_1-rmse:0.15150 +[34] validation_0-rmse:0.17786 validation_1-rmse:0.14997 +[35] validation_0-rmse:0.17692 validation_1-rmse:0.14855 +[36] validation_0-rmse:0.17613 validation_1-rmse:0.14709 +[37] validation_0-rmse:0.17547 validation_1-rmse:0.14549 +[38] validation_0-rmse:0.17467 validation_1-rmse:0.14404 +[39] validation_0-rmse:0.17393 validation_1-rmse:0.14267 +[40] validation_0-rmse:0.17348 validation_1-rmse:0.14118 +[41] validation_0-rmse:0.17258 validation_1-rmse:0.13993 +[42] validation_0-rmse:0.17168 validation_1-rmse:0.13871 +[43] validation_0-rmse:0.17077 validation_1-rmse:0.13757 +[44] validation_0-rmse:0.17015 validation_1-rmse:0.13621 +[45] validation_0-rmse:0.16924 validation_1-rmse:0.13509 +[46] validation_0-rmse:0.16833 validation_1-rmse:0.13401 +[47] validation_0-rmse:0.16756 validation_1-rmse:0.13297 +[48] validation_0-rmse:0.16717 validation_1-rmse:0.13198 +[49] validation_0-rmse:0.16664 validation_1-rmse:0.13081 +[50] validation_0-rmse:0.16615 validation_1-rmse:0.12979 +[51] validation_0-rmse:0.16541 validation_1-rmse:0.12879 +[52] validation_0-rmse:0.16478 validation_1-rmse:0.12767 +[53] validation_0-rmse:0.16408 validation_1-rmse:0.12675 +[54] validation_0-rmse:0.16363 validation_1-rmse:0.12571 +[55] validation_0-rmse:0.16320 validation_1-rmse:0.12485 +[56] validation_0-rmse:0.16253 validation_1-rmse:0.12398 +[57] validation_0-rmse:0.16192 validation_1-rmse:0.12307 +[58] validation_0-rmse:0.16149 validation_1-rmse:0.12229 +[59] validation_0-rmse:0.16137 validation_1-rmse:0.12128 +[60] validation_0-rmse:0.16117 validation_1-rmse:0.12045 +[61] validation_0-rmse:0.16064 validation_1-rmse:0.11966 +[62] validation_0-rmse:0.16050 validation_1-rmse:0.11890 +[63] validation_0-rmse:0.16003 validation_1-rmse:0.11809 +[64] validation_0-rmse:0.15969 validation_1-rmse:0.11739 +[65] validation_0-rmse:0.15922 validation_1-rmse:0.11661 +[66] validation_0-rmse:0.15868 validation_1-rmse:0.11577 +[67] validation_0-rmse:0.15830 validation_1-rmse:0.11509 +[68] validation_0-rmse:0.15789 validation_1-rmse:0.11446 +[69] validation_0-rmse:0.15733 validation_1-rmse:0.11372 +[70] validation_0-rmse:0.15694 validation_1-rmse:0.11307 +[71] validation_0-rmse:0.15692 validation_1-rmse:0.11224 +[72] validation_0-rmse:0.15659 validation_1-rmse:0.11166 +[73] validation_0-rmse:0.15634 validation_1-rmse:0.11111 +[74] validation_0-rmse:0.15595 validation_1-rmse:0.11056 +[75] validation_0-rmse:0.15579 validation_1-rmse:0.10985 +[76] validation_0-rmse:0.15543 validation_1-rmse:0.10903 +[77] validation_0-rmse:0.15500 validation_1-rmse:0.10848 +[78] validation_0-rmse:0.15499 validation_1-rmse:0.10778 +[79] validation_0-rmse:0.15471 validation_1-rmse:0.10721 +[80] validation_0-rmse:0.15442 validation_1-rmse:0.10666 +[81] validation_0-rmse:0.15416 validation_1-rmse:0.10608 +[82] validation_0-rmse:0.15388 validation_1-rmse:0.10560 +[83] validation_0-rmse:0.15368 validation_1-rmse:0.10498 +[84] validation_0-rmse:0.15346 validation_1-rmse:0.10449 +[85] validation_0-rmse:0.15329 validation_1-rmse:0.10392 +[86] validation_0-rmse:0.15302 validation_1-rmse:0.10347 +[87] validation_0-rmse:0.15270 validation_1-rmse:0.10303 +[88] validation_0-rmse:0.15259 validation_1-rmse:0.10258 +[89] validation_0-rmse:0.15269 validation_1-rmse:0.10204 +[90] validation_0-rmse:0.15239 validation_1-rmse:0.10159 +[91] validation_0-rmse:0.15204 validation_1-rmse:0.10116 +[92] validation_0-rmse:0.15175 validation_1-rmse:0.10070 +[93] validation_0-rmse:0.15167 validation_1-rmse:0.10017 +[94] validation_0-rmse:0.15154 validation_1-rmse:0.09982 +[95] validation_0-rmse:0.15122 validation_1-rmse:0.09932 +[96] validation_0-rmse:0.15119 validation_1-rmse:0.09880 +[97] validation_0-rmse:0.15112 validation_1-rmse:0.09842 +[98] validation_0-rmse:0.15095 validation_1-rmse:0.09807 +[99] validation_0-rmse:0.15075 validation_1-rmse:0.09770 +[0] validation_0-rmse:0.24126 validation_1-rmse:0.24985 +[1] validation_0-rmse:0.23710 validation_1-rmse:0.24457 +[2] validation_0-rmse:0.23323 validation_1-rmse:0.23968 +[3] validation_0-rmse:0.22960 validation_1-rmse:0.23491 +[4] validation_0-rmse:0.22600 validation_1-rmse:0.23038 +[5] validation_0-rmse:0.22255 validation_1-rmse:0.22616 +[6] validation_0-rmse:0.21946 validation_1-rmse:0.22213 +[7] validation_0-rmse:0.21640 validation_1-rmse:0.21827 +[8] validation_0-rmse:0.21381 validation_1-rmse:0.21453 +[9] validation_0-rmse:0.21110 validation_1-rmse:0.21092 +[10] validation_0-rmse:0.20854 validation_1-rmse:0.20742 +[11] validation_0-rmse:0.20586 validation_1-rmse:0.20418 +[12] validation_0-rmse:0.20373 validation_1-rmse:0.20097 +[13] validation_0-rmse:0.20156 validation_1-rmse:0.19779 +[14] validation_0-rmse:0.19934 validation_1-rmse:0.19493 +[15] validation_0-rmse:0.19739 validation_1-rmse:0.19211 +[16] validation_0-rmse:0.19537 validation_1-rmse:0.18929 +[17] validation_0-rmse:0.19333 validation_1-rmse:0.18671 +[18] validation_0-rmse:0.19163 validation_1-rmse:0.18396 +[19] validation_0-rmse:0.18975 validation_1-rmse:0.18157 +[20] validation_0-rmse:0.18799 validation_1-rmse:0.17903 +[21] validation_0-rmse:0.18612 validation_1-rmse:0.17673 +[22] validation_0-rmse:0.18451 validation_1-rmse:0.17454 +[23] validation_0-rmse:0.18299 validation_1-rmse:0.17225 +[24] validation_0-rmse:0.18150 validation_1-rmse:0.17025 +[25] validation_0-rmse:0.18016 validation_1-rmse:0.16803 +[26] validation_0-rmse:0.17866 validation_1-rmse:0.16614 +[27] validation_0-rmse:0.17732 validation_1-rmse:0.16429 +[28] validation_0-rmse:0.17619 validation_1-rmse:0.16247 +[29] validation_0-rmse:0.17494 validation_1-rmse:0.16080 +[30] validation_0-rmse:0.17391 validation_1-rmse:0.15889 +[31] validation_0-rmse:0.17282 validation_1-rmse:0.15724 +[32] validation_0-rmse:0.17156 validation_1-rmse:0.15548 +[33] validation_0-rmse:0.17054 validation_1-rmse:0.15393 +[34] validation_0-rmse:0.16943 validation_1-rmse:0.15244 +[35] validation_0-rmse:0.16841 validation_1-rmse:0.15088 +[36] validation_0-rmse:0.16736 validation_1-rmse:0.14950 +[37] validation_0-rmse:0.16647 validation_1-rmse:0.14797 +[38] validation_0-rmse:0.16544 validation_1-rmse:0.14641 +[39] validation_0-rmse:0.16454 validation_1-rmse:0.14508 +[40] validation_0-rmse:0.16357 validation_1-rmse:0.14380 +[41] validation_0-rmse:0.16266 validation_1-rmse:0.14261 +[42] validation_0-rmse:0.16198 validation_1-rmse:0.14134 +[43] validation_0-rmse:0.16105 validation_1-rmse:0.14019 +[44] validation_0-rmse:0.16046 validation_1-rmse:0.13896 +[45] validation_0-rmse:0.15963 validation_1-rmse:0.13773 +[46] validation_0-rmse:0.15899 validation_1-rmse:0.13662 +[47] validation_0-rmse:0.15822 validation_1-rmse:0.13555 +[48] validation_0-rmse:0.15757 validation_1-rmse:0.13452 +[49] validation_0-rmse:0.15688 validation_1-rmse:0.13322 +[50] validation_0-rmse:0.15627 validation_1-rmse:0.13206 +[51] validation_0-rmse:0.15558 validation_1-rmse:0.13110 +[52] validation_0-rmse:0.15493 validation_1-rmse:0.13017 +[53] validation_0-rmse:0.15429 validation_1-rmse:0.12924 +[54] validation_0-rmse:0.15365 validation_1-rmse:0.12838 +[55] validation_0-rmse:0.15303 validation_1-rmse:0.12741 +[56] validation_0-rmse:0.15258 validation_1-rmse:0.12653 +[57] validation_0-rmse:0.15202 validation_1-rmse:0.12569 +[58] validation_0-rmse:0.15142 validation_1-rmse:0.12478 +[59] validation_0-rmse:0.15106 validation_1-rmse:0.12392 +[60] validation_0-rmse:0.15049 validation_1-rmse:0.12297 +[61] validation_0-rmse:0.14990 validation_1-rmse:0.12223 +[62] validation_0-rmse:0.14932 validation_1-rmse:0.12144 +[63] validation_0-rmse:0.14876 validation_1-rmse:0.12071 +[64] validation_0-rmse:0.14826 validation_1-rmse:0.12000 +[65] validation_0-rmse:0.14788 validation_1-rmse:0.11931 +[66] validation_0-rmse:0.14753 validation_1-rmse:0.11842 +[67] validation_0-rmse:0.14714 validation_1-rmse:0.11776 +[68] validation_0-rmse:0.14665 validation_1-rmse:0.11706 +[69] validation_0-rmse:0.14655 validation_1-rmse:0.11614 +[70] validation_0-rmse:0.14616 validation_1-rmse:0.11556 +[71] validation_0-rmse:0.14579 validation_1-rmse:0.11478 +[72] validation_0-rmse:0.14533 validation_1-rmse:0.11418 +[73] validation_0-rmse:0.14491 validation_1-rmse:0.11358 +[74] validation_0-rmse:0.14448 validation_1-rmse:0.11300 +[75] validation_0-rmse:0.14446 validation_1-rmse:0.11235 +[76] validation_0-rmse:0.14414 validation_1-rmse:0.11173 +[77] validation_0-rmse:0.14371 validation_1-rmse:0.11116 +[78] validation_0-rmse:0.14344 validation_1-rmse:0.11066 +[79] validation_0-rmse:0.14321 validation_1-rmse:0.10996 +[80] validation_0-rmse:0.14280 validation_1-rmse:0.10942 +[81] validation_0-rmse:0.14250 validation_1-rmse:0.10885 +[82] validation_0-rmse:0.14222 validation_1-rmse:0.10837 +[83] validation_0-rmse:0.14184 validation_1-rmse:0.10787 +[84] validation_0-rmse:0.14140 validation_1-rmse:0.10731 +[85] validation_0-rmse:0.14114 validation_1-rmse:0.10683 +[86] validation_0-rmse:0.14100 validation_1-rmse:0.10625 +[87] validation_0-rmse:0.14077 validation_1-rmse:0.10574 +[88] validation_0-rmse:0.14048 validation_1-rmse:0.10534 +[89] validation_0-rmse:0.14010 validation_1-rmse:0.10485 +[90] validation_0-rmse:0.13990 validation_1-rmse:0.10443 +[91] validation_0-rmse:0.13956 validation_1-rmse:0.10400 +[92] validation_0-rmse:0.13949 validation_1-rmse:0.10341 +[93] validation_0-rmse:0.13930 validation_1-rmse:0.10298 +[94] validation_0-rmse:0.13905 validation_1-rmse:0.10254 +[95] validation_0-rmse:0.13884 validation_1-rmse:0.10211 +[96] validation_0-rmse:0.13867 validation_1-rmse:0.10167 +[97] validation_0-rmse:0.13859 validation_1-rmse:0.10114 +[98] validation_0-rmse:0.13839 validation_1-rmse:0.10078 +[99] validation_0-rmse:0.13818 validation_1-rmse:0.10038 +[0] validation_0-rmse:0.23717 validation_1-rmse:0.24954 +[1] validation_0-rmse:0.23311 validation_1-rmse:0.24432 +[2] validation_0-rmse:0.22894 validation_1-rmse:0.23928 +[3] validation_0-rmse:0.22483 validation_1-rmse:0.23452 +[4] validation_0-rmse:0.22141 validation_1-rmse:0.23005 +[5] validation_0-rmse:0.21750 validation_1-rmse:0.22575 +[6] validation_0-rmse:0.21419 validation_1-rmse:0.22161 +[7] validation_0-rmse:0.21074 validation_1-rmse:0.21764 +[8] validation_0-rmse:0.20776 validation_1-rmse:0.21374 +[9] validation_0-rmse:0.20479 validation_1-rmse:0.21020 +[10] validation_0-rmse:0.20193 validation_1-rmse:0.20664 +[11] validation_0-rmse:0.19915 validation_1-rmse:0.20326 +[12] validation_0-rmse:0.19683 validation_1-rmse:0.20013 +[13] validation_0-rmse:0.19459 validation_1-rmse:0.19705 +[14] validation_0-rmse:0.19243 validation_1-rmse:0.19415 +[15] validation_0-rmse:0.19013 validation_1-rmse:0.19115 +[16] validation_0-rmse:0.18828 validation_1-rmse:0.18836 +[17] validation_0-rmse:0.18621 validation_1-rmse:0.18557 +[18] validation_0-rmse:0.18402 validation_1-rmse:0.18302 +[19] validation_0-rmse:0.18198 validation_1-rmse:0.18050 +[20] validation_0-rmse:0.18015 validation_1-rmse:0.17803 +[21] validation_0-rmse:0.17857 validation_1-rmse:0.17575 +[22] validation_0-rmse:0.17681 validation_1-rmse:0.17350 +[23] validation_0-rmse:0.17537 validation_1-rmse:0.17132 +[24] validation_0-rmse:0.17377 validation_1-rmse:0.16919 +[25] validation_0-rmse:0.17225 validation_1-rmse:0.16720 +[26] validation_0-rmse:0.17072 validation_1-rmse:0.16529 +[27] validation_0-rmse:0.16931 validation_1-rmse:0.16310 +[28] validation_0-rmse:0.16784 validation_1-rmse:0.16126 +[29] validation_0-rmse:0.16650 validation_1-rmse:0.15940 +[30] validation_0-rmse:0.16512 validation_1-rmse:0.15771 +[31] validation_0-rmse:0.16392 validation_1-rmse:0.15605 +[32] validation_0-rmse:0.16287 validation_1-rmse:0.15428 +[33] validation_0-rmse:0.16159 validation_1-rmse:0.15277 +[34] validation_0-rmse:0.16033 validation_1-rmse:0.15125 +[35] validation_0-rmse:0.15910 validation_1-rmse:0.14974 +[36] validation_0-rmse:0.15821 validation_1-rmse:0.14832 +[37] validation_0-rmse:0.15733 validation_1-rmse:0.14664 +[38] validation_0-rmse:0.15624 validation_1-rmse:0.14525 +[39] validation_0-rmse:0.15518 validation_1-rmse:0.14395 +[40] validation_0-rmse:0.15451 validation_1-rmse:0.14267 +[41] validation_0-rmse:0.15396 validation_1-rmse:0.14127 +[42] validation_0-rmse:0.15309 validation_1-rmse:0.14006 +[43] validation_0-rmse:0.15219 validation_1-rmse:0.13890 +[44] validation_0-rmse:0.15156 validation_1-rmse:0.13749 +[45] validation_0-rmse:0.15061 validation_1-rmse:0.13637 +[46] validation_0-rmse:0.14982 validation_1-rmse:0.13528 +[47] validation_0-rmse:0.14918 validation_1-rmse:0.13414 +[48] validation_0-rmse:0.14840 validation_1-rmse:0.13312 +[49] validation_0-rmse:0.14802 validation_1-rmse:0.13212 +[50] validation_0-rmse:0.14738 validation_1-rmse:0.13089 +[51] validation_0-rmse:0.14671 validation_1-rmse:0.12994 +[52] validation_0-rmse:0.14604 validation_1-rmse:0.12894 +[53] validation_0-rmse:0.14534 validation_1-rmse:0.12802 +[54] validation_0-rmse:0.14464 validation_1-rmse:0.12718 +[55] validation_0-rmse:0.14423 validation_1-rmse:0.12625 +[56] validation_0-rmse:0.14371 validation_1-rmse:0.12531 +[57] validation_0-rmse:0.14321 validation_1-rmse:0.12446 +[58] validation_0-rmse:0.14279 validation_1-rmse:0.12346 +[59] validation_0-rmse:0.14234 validation_1-rmse:0.12257 +[60] validation_0-rmse:0.14194 validation_1-rmse:0.12181 +[61] validation_0-rmse:0.14176 validation_1-rmse:0.12077 +[62] validation_0-rmse:0.14120 validation_1-rmse:0.12003 +[63] validation_0-rmse:0.14073 validation_1-rmse:0.11932 +[64] validation_0-rmse:0.14023 validation_1-rmse:0.11862 +[65] validation_0-rmse:0.14001 validation_1-rmse:0.11791 +[66] validation_0-rmse:0.13966 validation_1-rmse:0.11720 +[67] validation_0-rmse:0.13920 validation_1-rmse:0.11644 +[68] validation_0-rmse:0.13872 validation_1-rmse:0.11560 +[69] validation_0-rmse:0.13831 validation_1-rmse:0.11494 +[70] validation_0-rmse:0.13808 validation_1-rmse:0.11425 +[71] validation_0-rmse:0.13762 validation_1-rmse:0.11348 +[72] validation_0-rmse:0.13725 validation_1-rmse:0.11284 +[73] validation_0-rmse:0.13681 validation_1-rmse:0.11225 +[74] validation_0-rmse:0.13629 validation_1-rmse:0.11165 +[75] validation_0-rmse:0.13595 validation_1-rmse:0.11109 +[76] validation_0-rmse:0.13585 validation_1-rmse:0.11023 +[77] validation_0-rmse:0.13541 validation_1-rmse:0.10972 +[78] validation_0-rmse:0.13505 validation_1-rmse:0.10920 +[79] validation_0-rmse:0.13465 validation_1-rmse:0.10861 +[80] validation_0-rmse:0.13433 validation_1-rmse:0.10810 +[81] validation_0-rmse:0.13409 validation_1-rmse:0.10744 +[82] validation_0-rmse:0.13377 validation_1-rmse:0.10695 +[83] validation_0-rmse:0.13353 validation_1-rmse:0.10641 +[84] validation_0-rmse:0.13337 validation_1-rmse:0.10588 +[85] validation_0-rmse:0.13329 validation_1-rmse:0.10533 +[86] validation_0-rmse:0.13296 validation_1-rmse:0.10488 +[87] validation_0-rmse:0.13264 validation_1-rmse:0.10442 +[88] validation_0-rmse:0.13247 validation_1-rmse:0.10394 +[89] validation_0-rmse:0.13216 validation_1-rmse:0.10351 +[90] validation_0-rmse:0.13188 validation_1-rmse:0.10297 +[91] validation_0-rmse:0.13145 validation_1-rmse:0.10203 +[92] validation_0-rmse:0.13122 validation_1-rmse:0.10157 +[93] validation_0-rmse:0.13102 validation_1-rmse:0.10118 +[94] validation_0-rmse:0.13060 validation_1-rmse:0.10033 +[95] validation_0-rmse:0.13033 validation_1-rmse:0.09981 +[96] validation_0-rmse:0.13016 validation_1-rmse:0.09933 +[97] validation_0-rmse:0.12995 validation_1-rmse:0.09894 +[98] validation_0-rmse:0.12972 validation_1-rmse:0.09860 +[99] validation_0-rmse:0.12954 validation_1-rmse:0.09825 +[0] validation_0-rmse:0.30616 validation_1-rmse:0.27906 +[1] validation_0-rmse:0.30021 validation_1-rmse:0.27322 +[2] validation_0-rmse:0.29443 validation_1-rmse:0.26757 +[3] validation_0-rmse:0.28911 validation_1-rmse:0.26205 +[4] validation_0-rmse:0.28365 validation_1-rmse:0.25699 +[5] validation_0-rmse:0.27823 validation_1-rmse:0.25219 +[6] validation_0-rmse:0.27295 validation_1-rmse:0.24748 +[7] validation_0-rmse:0.26797 validation_1-rmse:0.24295 +[8] validation_0-rmse:0.26320 validation_1-rmse:0.23854 +[9] validation_0-rmse:0.25898 validation_1-rmse:0.23437 +[10] validation_0-rmse:0.25517 validation_1-rmse:0.23021 +[11] validation_0-rmse:0.25113 validation_1-rmse:0.22639 +[12] validation_0-rmse:0.24762 validation_1-rmse:0.22270 +[13] validation_0-rmse:0.24393 validation_1-rmse:0.21915 +[14] validation_0-rmse:0.24169 validation_1-rmse:0.21579 +[15] validation_0-rmse:0.23898 validation_1-rmse:0.21236 +[16] validation_0-rmse:0.23539 validation_1-rmse:0.20924 +[17] validation_0-rmse:0.23364 validation_1-rmse:0.20621 +[18] validation_0-rmse:0.23062 validation_1-rmse:0.20322 +[19] validation_0-rmse:0.22764 validation_1-rmse:0.20024 +[20] validation_0-rmse:0.22488 validation_1-rmse:0.19731 +[21] validation_0-rmse:0.22211 validation_1-rmse:0.19445 +[22] validation_0-rmse:0.21952 validation_1-rmse:0.19188 +[23] validation_0-rmse:0.21699 validation_1-rmse:0.18935 +[24] validation_0-rmse:0.21549 validation_1-rmse:0.18686 +[25] validation_0-rmse:0.21310 validation_1-rmse:0.18454 +[26] validation_0-rmse:0.21118 validation_1-rmse:0.18198 +[27] validation_0-rmse:0.20904 validation_1-rmse:0.17979 +[28] validation_0-rmse:0.20726 validation_1-rmse:0.17755 +[29] validation_0-rmse:0.20511 validation_1-rmse:0.17547 +[30] validation_0-rmse:0.20336 validation_1-rmse:0.17335 +[31] validation_0-rmse:0.20172 validation_1-rmse:0.17144 +[32] validation_0-rmse:0.19983 validation_1-rmse:0.16961 +[33] validation_0-rmse:0.19794 validation_1-rmse:0.16759 +[34] validation_0-rmse:0.19658 validation_1-rmse:0.16581 +[35] validation_0-rmse:0.19492 validation_1-rmse:0.16409 +[36] validation_0-rmse:0.19347 validation_1-rmse:0.16229 +[37] validation_0-rmse:0.19225 validation_1-rmse:0.16064 +[38] validation_0-rmse:0.19083 validation_1-rmse:0.15877 +[39] validation_0-rmse:0.18921 validation_1-rmse:0.15720 +[40] validation_0-rmse:0.18766 validation_1-rmse:0.15572 +[41] validation_0-rmse:0.18652 validation_1-rmse:0.15414 +[42] validation_0-rmse:0.18519 validation_1-rmse:0.15277 +[43] validation_0-rmse:0.18396 validation_1-rmse:0.15125 +[44] validation_0-rmse:0.18264 validation_1-rmse:0.14968 +[45] validation_0-rmse:0.18134 validation_1-rmse:0.14841 +[46] validation_0-rmse:0.18026 validation_1-rmse:0.14717 +[47] validation_0-rmse:0.17900 validation_1-rmse:0.14594 +[48] validation_0-rmse:0.17815 validation_1-rmse:0.14460 +[49] validation_0-rmse:0.17713 validation_1-rmse:0.14344 +[50] validation_0-rmse:0.17609 validation_1-rmse:0.14232 +[51] validation_0-rmse:0.17502 validation_1-rmse:0.14112 +[52] validation_0-rmse:0.17414 validation_1-rmse:0.13991 +[53] validation_0-rmse:0.17317 validation_1-rmse:0.13889 +[54] validation_0-rmse:0.17267 validation_1-rmse:0.13770 +[55] validation_0-rmse:0.17175 validation_1-rmse:0.13665 +[56] validation_0-rmse:0.17087 validation_1-rmse:0.13573 +[57] validation_0-rmse:0.17001 validation_1-rmse:0.13483 +[58] validation_0-rmse:0.16920 validation_1-rmse:0.13384 +[59] validation_0-rmse:0.16869 validation_1-rmse:0.13280 +[60] validation_0-rmse:0.16790 validation_1-rmse:0.13189 +[61] validation_0-rmse:0.16689 validation_1-rmse:0.13093 +[62] validation_0-rmse:0.16600 validation_1-rmse:0.13007 +[63] validation_0-rmse:0.16548 validation_1-rmse:0.12921 +[64] validation_0-rmse:0.16482 validation_1-rmse:0.12837 +[65] validation_0-rmse:0.16397 validation_1-rmse:0.12747 +[66] validation_0-rmse:0.16316 validation_1-rmse:0.12669 +[67] validation_0-rmse:0.16267 validation_1-rmse:0.12587 +[68] validation_0-rmse:0.16204 validation_1-rmse:0.12501 +[69] validation_0-rmse:0.16159 validation_1-rmse:0.12422 +[70] validation_0-rmse:0.16090 validation_1-rmse:0.12354 +[71] validation_0-rmse:0.16026 validation_1-rmse:0.12282 +[72] validation_0-rmse:0.15986 validation_1-rmse:0.12206 +[73] validation_0-rmse:0.15919 validation_1-rmse:0.12129 +[74] validation_0-rmse:0.15875 validation_1-rmse:0.12061 +[75] validation_0-rmse:0.15829 validation_1-rmse:0.11966 +[76] validation_0-rmse:0.15790 validation_1-rmse:0.11864 +[77] validation_0-rmse:0.15732 validation_1-rmse:0.11802 +[78] validation_0-rmse:0.15696 validation_1-rmse:0.11739 +[79] validation_0-rmse:0.15615 validation_1-rmse:0.11660 +[80] validation_0-rmse:0.15556 validation_1-rmse:0.11593 +[81] validation_0-rmse:0.15516 validation_1-rmse:0.11531 +[82] validation_0-rmse:0.15466 validation_1-rmse:0.11437 +[83] validation_0-rmse:0.15422 validation_1-rmse:0.11383 +[84] validation_0-rmse:0.15382 validation_1-rmse:0.11332 +[85] validation_0-rmse:0.15350 validation_1-rmse:0.11244 +[86] validation_0-rmse:0.15310 validation_1-rmse:0.11180 +[87] validation_0-rmse:0.15277 validation_1-rmse:0.11119 +[88] validation_0-rmse:0.15228 validation_1-rmse:0.11060 +[89] validation_0-rmse:0.15192 validation_1-rmse:0.11011 +[90] validation_0-rmse:0.15144 validation_1-rmse:0.10956 +[91] validation_0-rmse:0.15092 validation_1-rmse:0.10913 +[92] validation_0-rmse:0.15058 validation_1-rmse:0.10847 +[93] validation_0-rmse:0.15017 validation_1-rmse:0.10803 +[94] validation_0-rmse:0.14984 validation_1-rmse:0.10702 +[95] validation_0-rmse:0.14967 validation_1-rmse:0.10629 +[96] validation_0-rmse:0.14914 validation_1-rmse:0.10587 +[97] validation_0-rmse:0.14882 validation_1-rmse:0.10545 +[98] validation_0-rmse:0.14853 validation_1-rmse:0.10454 +[99] validation_0-rmse:0.14837 validation_1-rmse:0.10398 diff --git a/your_output_file.log b/your_output_file.log new file mode 100644 index 00000000..13c51d31 --- /dev/null +++ b/your_output_file.log @@ -0,0 +1,3066 @@ +Creating freqtrade_freqtrade_run ... +Creating freqtrade_freqtrade_run ... done +2025-04-29 01:54:55,246 - freqtrade - INFO - freqtrade 2025.3 +2025-04-29 01:54:55,464 - numexpr.utils - INFO - NumExpr defaulting to 12 threads. +2025-04-29 01:54:56,878 - freqtrade.configuration.load_config - INFO - Using config: /freqtrade/config_examples/config_freqai.okx.json ... +2025-04-29 01:54:56,879 - freqtrade.configuration.load_config - INFO - Using config: /freqtrade/templates/FreqaiExampleStrategy.json ... +2025-04-29 01:54:56,881 - freqtrade.loggers - INFO - Enabling colorized output. +2025-04-29 01:54:56,881 - root - INFO - Logfile configured +2025-04-29 01:54:56,882 - freqtrade.loggers - INFO - Verbosity set to 0 +2025-04-29 01:54:56,882 - freqtrade.configuration.configuration - INFO - Using additional Strategy lookup path: /freqtrade/templates +2025-04-29 01:54:56,883 - freqtrade.configuration.configuration - INFO - Using max_open_trades: 4 ... +2025-04-29 01:54:56,883 - freqtrade.configuration.configuration - INFO - Parameter --timerange detected: 20250101-20250420 ... +2025-04-29 01:54:56,907 - freqtrade.configuration.configuration - INFO - Using user-data directory: /freqtrade/user_data ... +2025-04-29 01:54:56,908 - freqtrade.configuration.configuration - INFO - Using data directory: /freqtrade/user_data/data/okx ... +2025-04-29 01:54:56,908 - freqtrade.configuration.configuration - INFO - Parameter --cache=none detected ... +2025-04-29 01:54:56,908 - freqtrade.configuration.configuration - INFO - Filter trades by timerange: 20250101-20250420 +2025-04-29 01:54:56,909 - freqtrade.configuration.configuration - INFO - Using freqaimodel class name: XGBoostRegressor +2025-04-29 01:54:56,910 - freqtrade.exchange.check_exchange - INFO - Checking exchange... +2025-04-29 01:54:56,916 - freqtrade.exchange.check_exchange - INFO - Exchange "okx" is officially supported by the Freqtrade development team. +2025-04-29 01:54:56,916 - freqtrade.configuration.configuration - INFO - Using pairlist from configuration. +2025-04-29 01:54:56,917 - freqtrade.configuration.config_validation - INFO - Validating configuration ... +2025-04-29 01:54:56,919 - freqtrade.commands.optimize_commands - INFO - Starting freqtrade in Backtesting mode +2025-04-29 01:54:56,919 - freqtrade.exchange.exchange - INFO - Instance is running with dry_run enabled +2025-04-29 01:54:56,920 - freqtrade.exchange.exchange - INFO - Using CCXT 4.4.69 +2025-04-29 01:54:56,920 - freqtrade.exchange.exchange - INFO - Applying additional ccxt config: {'enableRateLimit': True, 'rateLimit': 500, 'options': {'defaultType': 'spot'}} +2025-04-29 01:54:56,925 - freqtrade.exchange.exchange - INFO - Applying additional ccxt config: {'enableRateLimit': True, 'rateLimit': 500, 'options': {'defaultType': 'spot'}, 'timeout': 20000} +2025-04-29 01:54:56,931 - freqtrade.exchange.exchange - INFO - Using Exchange "OKX" +2025-04-29 01:54:59,471 - freqtrade.resolvers.exchange_resolver - INFO - Using resolved exchange 'Okx'... +2025-04-29 01:54:59,491 - freqtrade.resolvers.iresolver - INFO - Using resolved strategy FreqaiExampleStrategy from '/freqtrade/templates/FreqaiExampleStrategy.py'... +2025-04-29 01:54:59,491 - freqtrade.strategy.hyper - INFO - Loading parameters from file /freqtrade/templates/FreqaiExampleStrategy.json +2025-04-29 01:54:59,492 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'timeframe' with value in config file: 3m. +2025-04-29 01:54:59,492 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'stoploss' with value in config file: -0.05. +2025-04-29 01:54:59,493 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'stake_currency' with value in config file: USDT. +2025-04-29 01:54:59,493 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'stake_amount' with value in config file: 150. +2025-04-29 01:54:59,493 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'startup_candle_count' with value in config file: 30. +2025-04-29 01:54:59,494 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'unfilledtimeout' with value in config file: {'entry': 5, 'exit': 15, 'exit_timeout_count': 0, 'unit': +'minutes'}. +2025-04-29 01:54:59,494 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'max_open_trades' with value in config file: 4. +2025-04-29 01:54:59,494 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using minimal_roi: {'0': 0.132, '8': 0.047, '14': 0.007, '60': 0} +2025-04-29 01:54:59,495 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using timeframe: 3m +2025-04-29 01:54:59,495 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using stoploss: -0.05 +2025-04-29 01:54:59,495 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using trailing_stop: True +2025-04-29 01:54:59,495 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using trailing_stop_positive: 0.01 +2025-04-29 01:54:59,496 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using trailing_stop_positive_offset: 0.02 +2025-04-29 01:54:59,496 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using trailing_only_offset_is_reached: False +2025-04-29 01:54:59,496 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using use_custom_stoploss: False +2025-04-29 01:54:59,497 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using process_only_new_candles: True +2025-04-29 01:54:59,497 - 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-04-29 01:54:59,497 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using order_time_in_force: {'entry': 'GTC', 'exit': 'GTC'} +2025-04-29 01:54:59,498 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using stake_currency: USDT +2025-04-29 01:54:59,498 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using stake_amount: 150 +2025-04-29 01:54:59,498 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using startup_candle_count: 30 +2025-04-29 01:54:59,499 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using unfilledtimeout: {'entry': 5, 'exit': 15, 'exit_timeout_count': 0, 'unit': 'minutes'} +2025-04-29 01:54:59,499 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using use_exit_signal: True +2025-04-29 01:54:59,499 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using exit_profit_only: False +2025-04-29 01:54:59,500 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using ignore_roi_if_entry_signal: False +2025-04-29 01:54:59,500 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using exit_profit_offset: 0.0 +2025-04-29 01:54:59,500 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using disable_dataframe_checks: False +2025-04-29 01:54:59,500 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using ignore_buying_expired_candle_after: 0 +2025-04-29 01:54:59,501 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using position_adjustment_enable: False +2025-04-29 01:54:59,501 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using max_entry_position_adjustment: -1 +2025-04-29 01:54:59,501 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using max_open_trades: 4 +2025-04-29 01:54:59,502 - freqtrade.configuration.config_validation - INFO - Validating configuration ... +2025-04-29 01:54:59,505 - freqtrade.resolvers.iresolver - INFO - Using resolved pairlist StaticPairList from '/freqtrade/freqtrade/plugins/pairlist/StaticPairList.py'... +2025-04-29 01:54:59,512 - freqtrade.optimize.backtesting - INFO - Using fee 0.1500% - worst case fee from exchange (lowest tier). +2025-04-29 01:54:59,512 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 3m to 14450 +2025-04-29 01:54:59,513 - freqtrade.data.history.history_utils - INFO - Using indicator startup period: 14450 ... +2025-04-29 01:54:59,672 - freqtrade.optimize.backtesting - INFO - Loading data from 2024-12-01 21:30:00 up to 2025-04-20 00:00:00 (139 days). +2025-04-29 01:54:59,672 - freqtrade.optimize.backtesting - INFO - Dataload complete. Calculating indicators +2025-04-29 01:54:59,673 - freqtrade.optimize.backtesting - INFO - Running backtesting for Strategy FreqaiExampleStrategy +2025-04-29 01:55:01,274 - matplotlib.font_manager - INFO - generated new fontManager +2025-04-29 01:55:01,489 - freqtrade.resolvers.iresolver - INFO - Using resolved freqaimodel XGBoostRegressor from '/freqtrade/freqtrade/freqai/prediction_models/XGBoostRegressor.py'... +2025-04-29 01:55:01,490 - freqtrade.freqai.data_drawer - INFO - Could not find existing datadrawer, starting from scratch +2025-04-29 01:55:01,491 - freqtrade.freqai.data_drawer - INFO - Could not find existing historic_predictions, starting from scratch +2025-04-29 01:55:01,491 - freqtrade.freqai.freqai_interface - INFO - Set fresh train queue from whitelist. Queue: ['BTC/USDT', 'SOL/USDT'] +2025-04-29 01:55:01,492 - freqtrade.strategy.hyper - INFO - Strategy Parameter: buy_rsi = 39.92672300850069 +2025-04-29 01:55:01,492 - freqtrade.strategy.hyper - INFO - Strategy Parameter: sell_rsi = 69.92672300850067 +2025-04-29 01:55:01,493 - freqtrade.strategy.hyper - INFO - No params for protection found, using default values. +2025-04-29 01:55:01,498 - FreqaiExampleStrategy - INFO - 处理交易对:BTC/USDT +2025-04-29 01:55:01,500 - freqtrade.freqai.freqai_interface - INFO - Training 11 timeranges +2025-04-29 01:55:01,501 - freqtrade.freqai.freqai_interface - INFO - Training BTC/USDT, 1/2 pairs from 2024-12-02 00:00:00 to 2025-01-01 00:00:00, 1/11 trains +2025-04-29 01:55:01,502 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_btc_1735689600_prediction.feather +2025-04-29 01:55:01,602 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 5m to 8690 +2025-04-29 01:55:01,603 - freqtrade.data.dataprovider - INFO - Loading data for BTC/USDT 5m from 2024-12-01 19:50:00 to 2025-04-20 00:00:00 +2025-04-29 01:55:01,705 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 1h to 770 +2025-04-29 01:55:01,706 - freqtrade.data.dataprovider - INFO - Loading data for BTC/USDT 1h from 2024-11-29 22:00:00 to 2025-04-20 00:00:00 +2025-04-29 01:55:01,814 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 3m to 14450 +2025-04-29 01:55:01,815 - freqtrade.data.dataprovider - INFO - Loading data for ETH/USDT 3m from 2024-12-01 21:30:00 to 2025-04-20 00:00:00 +2025-04-29 01:55:01,942 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 5m to 8690 +2025-04-29 01:55:01,943 - freqtrade.data.dataprovider - INFO - Loading data for ETH/USDT 5m from 2024-12-01 19:50:00 to 2025-04-20 00:00:00 +2025-04-29 01:55:02,037 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 1h to 770 +2025-04-29 01:55:02,038 - freqtrade.data.dataprovider - INFO - Loading data for ETH/USDT 1h from 2024-11-29 22:00:00 to 2025-04-20 00:00:00 +2025-04-29 01:55:02,113 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:02,118 - FreqaiExampleStrategy - INFO - 目标列形状:(14450,) +2025-04-29 01:55:02,121 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.152831 +1 0.003285 50.152831 +2 0.001898 50.152831 +3 0.000484 50.152831 +4 0.001688 50.152831 +2025-04-29 01:55:02,123 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:02,129 - FreqaiExampleStrategy - INFO - 目标列形状:(19250,) +2025-04-29 01:55:02,130 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.202701 +1 0.003285 50.202701 +2 0.001898 50.202701 +3 0.000484 50.202701 +4 0.001688 50.202701 +2025-04-29 01:55:02,134 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-BTC_1735689600/cb_btc_1735689600 +2025-04-29 01:55:02,135 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training BTC/USDT -------------------- +2025-04-29 01:55:02,151 - freqtrade.freqai.data_kitchen - INFO - BTC/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:55:02,152 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2024-12-02 to 2024-12-31 -------------------- +2025-04-29 01:55:07,277 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 75 features +2025-04-29 01:55:07,278 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.24624 validation_1-rmse:0.26036 +[1] validation_0-rmse:0.24176 validation_1-rmse:0.25460 +[2] validation_0-rmse:0.23782 validation_1-rmse:0.24904 +[3] validation_0-rmse:0.23408 validation_1-rmse:0.24381 +[4] validation_0-rmse:0.23057 validation_1-rmse:0.23882 +[5] validation_0-rmse:0.22701 validation_1-rmse:0.23409 +[6] validation_0-rmse:0.22400 validation_1-rmse:0.22962 +[7] validation_0-rmse:0.22088 validation_1-rmse:0.22533 +[8] validation_0-rmse:0.21817 validation_1-rmse:0.22130 +[9] validation_0-rmse:0.21491 validation_1-rmse:0.21740 +[10] validation_0-rmse:0.21265 validation_1-rmse:0.21347 +[11] validation_0-rmse:0.20982 validation_1-rmse:0.20978 +[12] validation_0-rmse:0.20747 validation_1-rmse:0.20640 +[13] validation_0-rmse:0.20512 validation_1-rmse:0.20299 +[14] validation_0-rmse:0.20280 validation_1-rmse:0.19966 +[15] validation_0-rmse:0.20012 validation_1-rmse:0.19656 +[16] validation_0-rmse:0.19785 validation_1-rmse:0.19346 +[17] validation_0-rmse:0.19572 validation_1-rmse:0.19054 +[18] validation_0-rmse:0.19400 validation_1-rmse:0.18759 +[19] validation_0-rmse:0.19164 validation_1-rmse:0.18488 +[20] validation_0-rmse:0.18956 validation_1-rmse:0.18205 +[21] validation_0-rmse:0.18746 validation_1-rmse:0.17951 +[22] validation_0-rmse:0.18593 validation_1-rmse:0.17696 +[23] validation_0-rmse:0.18395 validation_1-rmse:0.17465 +[24] validation_0-rmse:0.18249 validation_1-rmse:0.17217 +[25] validation_0-rmse:0.18084 validation_1-rmse:0.16993 +[26] validation_0-rmse:0.17928 validation_1-rmse:0.16771 +[27] validation_0-rmse:0.17776 validation_1-rmse:0.16571 +[28] validation_0-rmse:0.17652 validation_1-rmse:0.16356 +[29] validation_0-rmse:0.17499 validation_1-rmse:0.16166 +[30] validation_0-rmse:0.17371 validation_1-rmse:0.15983 +[31] validation_0-rmse:0.17243 validation_1-rmse:0.15792 +[32] validation_0-rmse:0.17110 validation_1-rmse:0.15628 +[33] validation_0-rmse:0.16996 validation_1-rmse:0.15433 +[34] validation_0-rmse:0.16884 validation_1-rmse:0.15277 +[35] validation_0-rmse:0.16785 validation_1-rmse:0.15090 +[36] validation_0-rmse:0.16682 validation_1-rmse:0.14942 +[37] validation_0-rmse:0.16559 validation_1-rmse:0.14774 +[38] validation_0-rmse:0.16459 validation_1-rmse:0.14628 +[39] validation_0-rmse:0.16356 validation_1-rmse:0.14466 +[40] validation_0-rmse:0.16250 validation_1-rmse:0.14330 +[41] validation_0-rmse:0.16153 validation_1-rmse:0.14201 +[42] validation_0-rmse:0.16059 validation_1-rmse:0.14075 +[43] validation_0-rmse:0.15986 validation_1-rmse:0.13938 +[44] validation_0-rmse:0.15908 validation_1-rmse:0.13822 +[45] validation_0-rmse:0.15810 validation_1-rmse:0.13687 +[46] validation_0-rmse:0.15733 validation_1-rmse:0.13577 +[47] validation_0-rmse:0.15655 validation_1-rmse:0.13458 +[48] validation_0-rmse:0.15580 validation_1-rmse:0.13355 +[49] validation_0-rmse:0.15512 validation_1-rmse:0.13228 +[50] validation_0-rmse:0.15434 validation_1-rmse:0.13121 +[51] validation_0-rmse:0.15363 validation_1-rmse:0.13030 +[52] validation_0-rmse:0.15294 validation_1-rmse:0.12937 +[53] validation_0-rmse:0.15243 validation_1-rmse:0.12818 +[54] validation_0-rmse:0.15170 validation_1-rmse:0.12720 +[55] validation_0-rmse:0.15096 validation_1-rmse:0.12632 +[56] validation_0-rmse:0.15035 validation_1-rmse:0.12538 +[57] validation_0-rmse:0.14977 validation_1-rmse:0.12453 +[58] validation_0-rmse:0.14914 validation_1-rmse:0.12363 +[59] validation_0-rmse:0.14867 validation_1-rmse:0.12263 +[60] validation_0-rmse:0.14819 validation_1-rmse:0.12183 +[61] validation_0-rmse:0.14763 validation_1-rmse:0.12108 +[62] validation_0-rmse:0.14706 validation_1-rmse:0.12035 +[63] validation_0-rmse:0.14648 validation_1-rmse:0.11946 +[64] validation_0-rmse:0.14601 validation_1-rmse:0.11876 +[65] validation_0-rmse:0.14553 validation_1-rmse:0.11808 +[66] validation_0-rmse:0.14506 validation_1-rmse:0.11742 +[67] validation_0-rmse:0.14469 validation_1-rmse:0.11671 +[68] validation_0-rmse:0.14422 validation_1-rmse:0.11604 +[69] validation_0-rmse:0.14381 validation_1-rmse:0.11543 +[70] validation_0-rmse:0.14337 validation_1-rmse:0.11485 +[71] validation_0-rmse:0.14294 validation_1-rmse:0.11398 +[72] validation_0-rmse:0.14260 validation_1-rmse:0.11335 +[73] validation_0-rmse:0.14223 validation_1-rmse:0.11278 +[74] validation_0-rmse:0.14190 validation_1-rmse:0.11225 +[75] validation_0-rmse:0.14144 validation_1-rmse:0.11143 +[76] validation_0-rmse:0.14098 validation_1-rmse:0.11052 +[77] validation_0-rmse:0.14062 validation_1-rmse:0.10998 +[78] validation_0-rmse:0.14029 validation_1-rmse:0.10953 +[79] validation_0-rmse:0.13993 validation_1-rmse:0.10888 +[80] validation_0-rmse:0.13958 validation_1-rmse:0.10839 +[81] validation_0-rmse:0.13918 validation_1-rmse:0.10767 +[82] validation_0-rmse:0.13897 validation_1-rmse:0.10720 +[83] validation_0-rmse:0.13864 validation_1-rmse:0.10669 +[84] validation_0-rmse:0.13836 validation_1-rmse:0.10620 +[85] validation_0-rmse:0.13810 validation_1-rmse:0.10573 +[86] validation_0-rmse:0.13782 validation_1-rmse:0.10526 +[87] validation_0-rmse:0.13756 validation_1-rmse:0.10458 +[88] validation_0-rmse:0.13736 validation_1-rmse:0.10420 +[89] validation_0-rmse:0.13708 validation_1-rmse:0.10383 +[90] validation_0-rmse:0.13685 validation_1-rmse:0.10343 +[91] validation_0-rmse:0.13658 validation_1-rmse:0.10298 +[92] validation_0-rmse:0.13646 validation_1-rmse:0.10231 +[93] validation_0-rmse:0.13615 validation_1-rmse:0.10190 +[94] validation_0-rmse:0.13589 validation_1-rmse:0.10154 +[95] validation_0-rmse:0.13572 validation_1-rmse:0.10095 +[96] validation_0-rmse:0.13550 validation_1-rmse:0.10058 +[97] validation_0-rmse:0.13530 validation_1-rmse:0.10026 +[98] validation_0-rmse:0.13513 validation_1-rmse:0.09995 +[99] validation_0-rmse:0.13480 validation_1-rmse:0.09950 +2025-04-29 01:55:08,221 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training BTC/USDT (6.09 secs) -------------------- +2025-04-29 01:55:08,222 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:55:08,903 - freqtrade.freqai.freqai_interface - INFO - Training BTC/USDT, 1/2 pairs from 2024-12-12 00:00:00 to 2025-01-11 00:00:00, 2/11 trains +2025-04-29 01:55:08,904 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_btc_1736553600_prediction.feather +2025-04-29 01:55:08,907 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:08,912 - FreqaiExampleStrategy - INFO - 目标列形状:(19250,) +2025-04-29 01:55:08,914 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.202701 +1 0.003285 50.202701 +2 0.001898 50.202701 +3 0.000484 50.202701 +4 0.001688 50.202701 +2025-04-29 01:55:08,917 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:08,924 - FreqaiExampleStrategy - INFO - 目标列形状:(24050,) +2025-04-29 01:55:08,925 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.367593 +1 0.003285 50.367593 +2 0.001898 50.367593 +3 0.000484 50.367593 +4 0.001688 50.367593 +2025-04-29 01:55:08,929 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-BTC_1736553600/cb_btc_1736553600 +2025-04-29 01:55:08,930 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training BTC/USDT -------------------- +2025-04-29 01:55:08,946 - freqtrade.freqai.data_kitchen - INFO - BTC/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:55:08,947 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2024-12-12 to 2025-01-10 -------------------- +2025-04-29 01:55:13,908 - datasieve.pipeline - INFO - DI tossed 5 predictions for being too far from training data. +2025-04-29 01:55:13,911 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 75 features +2025-04-29 01:55:13,912 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.26037 validation_1-rmse:0.25324 +[1] validation_0-rmse:0.25572 validation_1-rmse:0.24787 +[2] validation_0-rmse:0.25117 validation_1-rmse:0.24281 +[3] validation_0-rmse:0.24697 validation_1-rmse:0.23802 +[4] validation_0-rmse:0.24328 validation_1-rmse:0.23332 +[5] validation_0-rmse:0.23939 validation_1-rmse:0.22905 +[6] validation_0-rmse:0.23522 validation_1-rmse:0.22484 +[7] validation_0-rmse:0.23148 validation_1-rmse:0.22085 +[8] validation_0-rmse:0.22873 validation_1-rmse:0.21697 +[9] validation_0-rmse:0.22519 validation_1-rmse:0.21317 +[10] validation_0-rmse:0.22206 validation_1-rmse:0.20963 +[11] validation_0-rmse:0.21866 validation_1-rmse:0.20626 +[12] validation_0-rmse:0.21563 validation_1-rmse:0.20296 +[13] validation_0-rmse:0.21313 validation_1-rmse:0.19956 +[14] validation_0-rmse:0.21062 validation_1-rmse:0.19636 +[15] validation_0-rmse:0.20808 validation_1-rmse:0.19339 +[16] validation_0-rmse:0.20570 validation_1-rmse:0.19058 +[17] validation_0-rmse:0.20318 validation_1-rmse:0.18781 +[18] validation_0-rmse:0.20113 validation_1-rmse:0.18518 +[19] validation_0-rmse:0.19934 validation_1-rmse:0.18248 +[20] validation_0-rmse:0.19735 validation_1-rmse:0.18006 +[21] validation_0-rmse:0.19541 validation_1-rmse:0.17744 +[22] validation_0-rmse:0.19336 validation_1-rmse:0.17517 +[23] validation_0-rmse:0.19145 validation_1-rmse:0.17301 +[24] validation_0-rmse:0.18989 validation_1-rmse:0.17058 +[25] validation_0-rmse:0.18782 validation_1-rmse:0.16854 +[26] validation_0-rmse:0.18634 validation_1-rmse:0.16625 +[27] validation_0-rmse:0.18471 validation_1-rmse:0.16430 +[28] validation_0-rmse:0.18312 validation_1-rmse:0.16236 +[29] validation_0-rmse:0.18157 validation_1-rmse:0.16053 +[30] validation_0-rmse:0.17991 validation_1-rmse:0.15849 +[31] validation_0-rmse:0.17839 validation_1-rmse:0.15677 +[32] validation_0-rmse:0.17693 validation_1-rmse:0.15498 +[33] validation_0-rmse:0.17574 validation_1-rmse:0.15336 +[34] validation_0-rmse:0.17469 validation_1-rmse:0.15168 +[35] validation_0-rmse:0.17352 validation_1-rmse:0.15015 +[36] validation_0-rmse:0.17228 validation_1-rmse:0.14868 +[37] validation_0-rmse:0.17127 validation_1-rmse:0.14692 +[38] validation_0-rmse:0.17030 validation_1-rmse:0.14553 +[39] validation_0-rmse:0.16926 validation_1-rmse:0.14420 +[40] validation_0-rmse:0.16821 validation_1-rmse:0.14297 +[41] validation_0-rmse:0.16740 validation_1-rmse:0.14144 +[42] validation_0-rmse:0.16647 validation_1-rmse:0.14020 +[43] validation_0-rmse:0.16548 validation_1-rmse:0.13903 +[44] validation_0-rmse:0.16440 validation_1-rmse:0.13765 +[45] validation_0-rmse:0.16353 validation_1-rmse:0.13652 +[46] validation_0-rmse:0.16269 validation_1-rmse:0.13522 +[47] validation_0-rmse:0.16193 validation_1-rmse:0.13419 +[48] validation_0-rmse:0.16114 validation_1-rmse:0.13311 +[49] validation_0-rmse:0.16043 validation_1-rmse:0.13214 +[50] validation_0-rmse:0.15971 validation_1-rmse:0.13090 +[51] validation_0-rmse:0.15909 validation_1-rmse:0.12992 +[52] validation_0-rmse:0.15834 validation_1-rmse:0.12899 +[53] validation_0-rmse:0.15763 validation_1-rmse:0.12809 +[54] validation_0-rmse:0.15697 validation_1-rmse:0.12724 +[55] validation_0-rmse:0.15631 validation_1-rmse:0.12637 +[56] validation_0-rmse:0.15553 validation_1-rmse:0.12535 +[57] validation_0-rmse:0.15494 validation_1-rmse:0.12456 +[58] validation_0-rmse:0.15452 validation_1-rmse:0.12352 +[59] validation_0-rmse:0.15396 validation_1-rmse:0.12273 +[60] validation_0-rmse:0.15334 validation_1-rmse:0.12196 +[61] validation_0-rmse:0.15274 validation_1-rmse:0.12123 +[62] validation_0-rmse:0.15221 validation_1-rmse:0.12048 +[63] validation_0-rmse:0.15176 validation_1-rmse:0.11953 +[64] validation_0-rmse:0.15133 validation_1-rmse:0.11887 +[65] validation_0-rmse:0.15080 validation_1-rmse:0.11796 +[66] validation_0-rmse:0.15035 validation_1-rmse:0.11734 +[67] validation_0-rmse:0.14995 validation_1-rmse:0.11667 +[68] validation_0-rmse:0.14954 validation_1-rmse:0.11616 +[69] validation_0-rmse:0.14916 validation_1-rmse:0.11535 +[70] validation_0-rmse:0.14887 validation_1-rmse:0.11469 +[71] validation_0-rmse:0.14854 validation_1-rmse:0.11408 +[72] validation_0-rmse:0.14811 validation_1-rmse:0.11334 +[73] validation_0-rmse:0.14766 validation_1-rmse:0.11278 +[74] validation_0-rmse:0.14738 validation_1-rmse:0.11231 +[75] validation_0-rmse:0.14697 validation_1-rmse:0.11184 +[76] validation_0-rmse:0.14663 validation_1-rmse:0.11108 +[77] validation_0-rmse:0.14635 validation_1-rmse:0.11058 +[78] validation_0-rmse:0.14591 validation_1-rmse:0.10984 +[79] validation_0-rmse:0.14561 validation_1-rmse:0.10929 +[80] validation_0-rmse:0.14529 validation_1-rmse:0.10875 +[81] validation_0-rmse:0.14510 validation_1-rmse:0.10826 +[82] validation_0-rmse:0.14471 validation_1-rmse:0.10772 +[83] validation_0-rmse:0.14444 validation_1-rmse:0.10725 +[84] validation_0-rmse:0.14420 validation_1-rmse:0.10652 +[85] validation_0-rmse:0.14393 validation_1-rmse:0.10608 +[86] validation_0-rmse:0.14371 validation_1-rmse:0.10567 +[87] validation_0-rmse:0.14342 validation_1-rmse:0.10528 +[88] validation_0-rmse:0.14314 validation_1-rmse:0.10483 +[89] validation_0-rmse:0.14307 validation_1-rmse:0.10439 +[90] validation_0-rmse:0.14273 validation_1-rmse:0.10395 +[91] validation_0-rmse:0.14237 validation_1-rmse:0.10353 +[92] validation_0-rmse:0.14210 validation_1-rmse:0.10318 +[93] validation_0-rmse:0.14186 validation_1-rmse:0.10279 +[94] validation_0-rmse:0.14175 validation_1-rmse:0.10234 +[95] validation_0-rmse:0.14153 validation_1-rmse:0.10204 +[96] validation_0-rmse:0.14142 validation_1-rmse:0.10160 +[97] validation_0-rmse:0.14124 validation_1-rmse:0.10126 +[98] validation_0-rmse:0.14102 validation_1-rmse:0.10068 +[99] validation_0-rmse:0.14079 validation_1-rmse:0.10036 +2025-04-29 01:55:14,692 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training BTC/USDT (5.76 secs) -------------------- +2025-04-29 01:55:14,693 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:55:15,250 - freqtrade.freqai.freqai_interface - INFO - Training BTC/USDT, 1/2 pairs from 2024-12-22 00:00:00 to 2025-01-21 00:00:00, 3/11 trains +2025-04-29 01:55:15,250 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_btc_1737417600_prediction.feather +2025-04-29 01:55:15,254 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:15,261 - FreqaiExampleStrategy - INFO - 目标列形状:(24050,) +2025-04-29 01:55:15,262 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.367593 +1 0.003285 50.367593 +2 0.001898 50.367593 +3 0.000484 50.367593 +4 0.001688 50.367593 +2025-04-29 01:55:15,268 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:15,275 - FreqaiExampleStrategy - INFO - 目标列形状:(28850,) +2025-04-29 01:55:15,276 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.305589 +1 0.003285 50.305589 +2 0.001898 50.305589 +3 0.000484 50.305589 +4 0.001688 50.305589 +2025-04-29 01:55:15,281 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-BTC_1737417600/cb_btc_1737417600 +2025-04-29 01:55:15,281 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training BTC/USDT -------------------- +2025-04-29 01:55:15,297 - freqtrade.freqai.data_kitchen - INFO - BTC/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:55:15,298 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2024-12-22 to 2025-01-20 -------------------- +2025-04-29 01:55:20,324 - datasieve.pipeline - INFO - DI tossed 1622 predictions for being too far from training data. +2025-04-29 01:55:20,327 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 75 features +2025-04-29 01:55:20,327 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.25769 validation_1-rmse:0.25549 +[1] validation_0-rmse:0.25314 validation_1-rmse:0.24986 +[2] validation_0-rmse:0.24864 validation_1-rmse:0.24456 +[3] validation_0-rmse:0.24486 validation_1-rmse:0.23955 +[4] validation_0-rmse:0.24144 validation_1-rmse:0.23480 +[5] validation_0-rmse:0.23803 validation_1-rmse:0.23024 +[6] validation_0-rmse:0.23468 validation_1-rmse:0.22599 +[7] validation_0-rmse:0.23134 validation_1-rmse:0.22162 +[8] validation_0-rmse:0.22843 validation_1-rmse:0.21773 +[9] validation_0-rmse:0.22560 validation_1-rmse:0.21396 +[10] validation_0-rmse:0.22402 validation_1-rmse:0.21023 +[11] validation_0-rmse:0.22155 validation_1-rmse:0.20680 +[12] validation_0-rmse:0.21899 validation_1-rmse:0.20342 +[13] validation_0-rmse:0.21654 validation_1-rmse:0.20029 +[14] validation_0-rmse:0.21431 validation_1-rmse:0.19719 +[15] validation_0-rmse:0.21282 validation_1-rmse:0.19411 +[16] validation_0-rmse:0.21076 validation_1-rmse:0.19117 +[17] validation_0-rmse:0.20882 validation_1-rmse:0.18835 +[18] validation_0-rmse:0.20695 validation_1-rmse:0.18547 +[19] validation_0-rmse:0.20538 validation_1-rmse:0.18292 +[20] validation_0-rmse:0.20345 validation_1-rmse:0.18038 +[21] validation_0-rmse:0.20148 validation_1-rmse:0.17799 +[22] validation_0-rmse:0.19991 validation_1-rmse:0.17569 +[23] validation_0-rmse:0.19832 validation_1-rmse:0.17350 +[24] validation_0-rmse:0.19658 validation_1-rmse:0.17096 +[25] validation_0-rmse:0.19474 validation_1-rmse:0.16879 +[26] validation_0-rmse:0.19292 validation_1-rmse:0.16665 +[27] validation_0-rmse:0.19134 validation_1-rmse:0.16470 +[28] validation_0-rmse:0.19034 validation_1-rmse:0.16253 +[29] validation_0-rmse:0.18882 validation_1-rmse:0.16068 +[30] validation_0-rmse:0.18736 validation_1-rmse:0.15892 +[31] validation_0-rmse:0.18605 validation_1-rmse:0.15690 +[32] validation_0-rmse:0.18481 validation_1-rmse:0.15521 +[33] validation_0-rmse:0.18346 validation_1-rmse:0.15356 +[34] validation_0-rmse:0.18222 validation_1-rmse:0.15188 +[35] validation_0-rmse:0.18095 validation_1-rmse:0.15028 +[36] validation_0-rmse:0.18015 validation_1-rmse:0.14857 +[37] validation_0-rmse:0.17915 validation_1-rmse:0.14713 +[38] validation_0-rmse:0.17817 validation_1-rmse:0.14573 +[39] validation_0-rmse:0.17723 validation_1-rmse:0.14437 +[40] validation_0-rmse:0.17619 validation_1-rmse:0.14308 +[41] validation_0-rmse:0.17509 validation_1-rmse:0.14176 +[42] validation_0-rmse:0.17407 validation_1-rmse:0.14047 +[43] validation_0-rmse:0.17340 validation_1-rmse:0.13921 +[44] validation_0-rmse:0.17245 validation_1-rmse:0.13806 +[45] validation_0-rmse:0.17212 validation_1-rmse:0.13685 +[46] validation_0-rmse:0.17133 validation_1-rmse:0.13577 +[47] validation_0-rmse:0.17064 validation_1-rmse:0.13451 +[48] validation_0-rmse:0.17004 validation_1-rmse:0.13331 +[49] validation_0-rmse:0.16941 validation_1-rmse:0.13222 +[50] validation_0-rmse:0.16858 validation_1-rmse:0.13123 +[51] validation_0-rmse:0.16786 validation_1-rmse:0.13007 +[52] validation_0-rmse:0.16718 validation_1-rmse:0.12912 +[53] validation_0-rmse:0.16651 validation_1-rmse:0.12806 +[54] validation_0-rmse:0.16592 validation_1-rmse:0.12709 +[55] validation_0-rmse:0.16542 validation_1-rmse:0.12604 +[56] validation_0-rmse:0.16479 validation_1-rmse:0.12523 +[57] validation_0-rmse:0.16426 validation_1-rmse:0.12439 +[58] validation_0-rmse:0.16363 validation_1-rmse:0.12352 +[59] validation_0-rmse:0.16325 validation_1-rmse:0.12263 +[60] validation_0-rmse:0.16289 validation_1-rmse:0.12173 +[61] validation_0-rmse:0.16226 validation_1-rmse:0.12099 +[62] validation_0-rmse:0.16176 validation_1-rmse:0.12010 +[63] validation_0-rmse:0.16144 validation_1-rmse:0.11936 +[64] validation_0-rmse:0.16088 validation_1-rmse:0.11862 +[65] validation_0-rmse:0.16030 validation_1-rmse:0.11786 +[66] validation_0-rmse:0.15991 validation_1-rmse:0.11714 +[67] validation_0-rmse:0.15947 validation_1-rmse:0.11640 +[68] validation_0-rmse:0.15912 validation_1-rmse:0.11574 +[69] validation_0-rmse:0.15874 validation_1-rmse:0.11507 +[70] validation_0-rmse:0.15837 validation_1-rmse:0.11430 +[71] validation_0-rmse:0.15798 validation_1-rmse:0.11365 +[72] validation_0-rmse:0.15763 validation_1-rmse:0.11305 +[73] validation_0-rmse:0.15713 validation_1-rmse:0.11250 +[74] validation_0-rmse:0.15648 validation_1-rmse:0.11177 +[75] validation_0-rmse:0.15619 validation_1-rmse:0.11122 +[76] validation_0-rmse:0.15593 validation_1-rmse:0.11066 +[77] validation_0-rmse:0.15562 validation_1-rmse:0.11007 +[78] validation_0-rmse:0.15519 validation_1-rmse:0.10953 +[79] validation_0-rmse:0.15500 validation_1-rmse:0.10883 +[80] validation_0-rmse:0.15461 validation_1-rmse:0.10835 +[81] validation_0-rmse:0.15417 validation_1-rmse:0.10780 +[82] validation_0-rmse:0.15393 validation_1-rmse:0.10742 +[83] validation_0-rmse:0.15395 validation_1-rmse:0.10634 +[84] validation_0-rmse:0.15359 validation_1-rmse:0.10588 +[85] validation_0-rmse:0.15315 validation_1-rmse:0.10539 +[86] validation_0-rmse:0.15315 validation_1-rmse:0.10440 +[87] validation_0-rmse:0.15278 validation_1-rmse:0.10400 +[88] validation_0-rmse:0.15239 validation_1-rmse:0.10353 +[89] validation_0-rmse:0.15200 validation_1-rmse:0.10310 +[90] validation_0-rmse:0.15182 validation_1-rmse:0.10245 +[91] validation_0-rmse:0.15175 validation_1-rmse:0.10182 +[92] validation_0-rmse:0.15139 validation_1-rmse:0.10138 +[93] validation_0-rmse:0.15105 validation_1-rmse:0.10095 +[94] validation_0-rmse:0.15091 validation_1-rmse:0.10056 +[95] validation_0-rmse:0.15088 validation_1-rmse:0.09964 +[96] validation_0-rmse:0.15065 validation_1-rmse:0.09927 +[97] validation_0-rmse:0.15036 validation_1-rmse:0.09888 +[98] validation_0-rmse:0.15021 validation_1-rmse:0.09852 +[99] validation_0-rmse:0.15004 validation_1-rmse:0.09815 +2025-04-29 01:55:21,007 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training BTC/USDT (5.73 secs) -------------------- +2025-04-29 01:55:21,008 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:55:21,504 - freqtrade.freqai.freqai_interface - INFO - Training BTC/USDT, 1/2 pairs from 2025-01-01 00:00:00 to 2025-01-31 00:00:00, 4/11 trains +2025-04-29 01:55:21,505 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_btc_1738281600_prediction.feather +2025-04-29 01:55:21,510 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:21,516 - FreqaiExampleStrategy - INFO - 目标列形状:(28850,) +2025-04-29 01:55:21,517 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.305589 +1 0.003285 50.305589 +2 0.001898 50.305589 +3 0.000484 50.305589 +4 0.001688 50.305589 +2025-04-29 01:55:21,522 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:21,528 - FreqaiExampleStrategy - INFO - 目标列形状:(33650,) +2025-04-29 01:55:21,529 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.168798 +1 0.003285 50.168798 +2 0.001898 50.168798 +3 0.000484 50.168798 +4 0.001688 50.168798 +2025-04-29 01:55:21,533 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-BTC_1738281600/cb_btc_1738281600 +2025-04-29 01:55:21,534 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training BTC/USDT -------------------- +2025-04-29 01:55:21,550 - freqtrade.freqai.data_kitchen - INFO - BTC/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:55:21,550 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-01-01 to 2025-01-30 -------------------- +2025-04-29 01:55:26,605 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 75 features +2025-04-29 01:55:26,606 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.25046 validation_1-rmse:0.26128 +[1] validation_0-rmse:0.24588 validation_1-rmse:0.25570 +[2] validation_0-rmse:0.24156 validation_1-rmse:0.25047 +[3] validation_0-rmse:0.23757 validation_1-rmse:0.24551 +[4] validation_0-rmse:0.23411 validation_1-rmse:0.24075 +[5] validation_0-rmse:0.23029 validation_1-rmse:0.23637 +[6] validation_0-rmse:0.22707 validation_1-rmse:0.23199 +[7] validation_0-rmse:0.22405 validation_1-rmse:0.22801 +[8] validation_0-rmse:0.22083 validation_1-rmse:0.22420 +[9] validation_0-rmse:0.21768 validation_1-rmse:0.22038 +[10] validation_0-rmse:0.21473 validation_1-rmse:0.21674 +[11] validation_0-rmse:0.21187 validation_1-rmse:0.21322 +[12] validation_0-rmse:0.20911 validation_1-rmse:0.20996 +[13] validation_0-rmse:0.20669 validation_1-rmse:0.20679 +[14] validation_0-rmse:0.20441 validation_1-rmse:0.20366 +[15] validation_0-rmse:0.20250 validation_1-rmse:0.20054 +[16] validation_0-rmse:0.20017 validation_1-rmse:0.19757 +[17] validation_0-rmse:0.19804 validation_1-rmse:0.19490 +[18] validation_0-rmse:0.19618 validation_1-rmse:0.19221 +[19] validation_0-rmse:0.19404 validation_1-rmse:0.18954 +[20] validation_0-rmse:0.19209 validation_1-rmse:0.18666 +[21] validation_0-rmse:0.19014 validation_1-rmse:0.18430 +[22] validation_0-rmse:0.18845 validation_1-rmse:0.18197 +[23] validation_0-rmse:0.18653 validation_1-rmse:0.17972 +[24] validation_0-rmse:0.18468 validation_1-rmse:0.17722 +[25] validation_0-rmse:0.18325 validation_1-rmse:0.17491 +[26] validation_0-rmse:0.18152 validation_1-rmse:0.17284 +[27] validation_0-rmse:0.17999 validation_1-rmse:0.17092 +[28] validation_0-rmse:0.17846 validation_1-rmse:0.16892 +[29] validation_0-rmse:0.17696 validation_1-rmse:0.16709 +[30] validation_0-rmse:0.17558 validation_1-rmse:0.16510 +[31] validation_0-rmse:0.17418 validation_1-rmse:0.16335 +[32] validation_0-rmse:0.17293 validation_1-rmse:0.16161 +[33] validation_0-rmse:0.17159 validation_1-rmse:0.16003 +[34] validation_0-rmse:0.17030 validation_1-rmse:0.15831 +[35] validation_0-rmse:0.16907 validation_1-rmse:0.15681 +[36] validation_0-rmse:0.16796 validation_1-rmse:0.15513 +[37] validation_0-rmse:0.16690 validation_1-rmse:0.15349 +[38] validation_0-rmse:0.16580 validation_1-rmse:0.15204 +[39] validation_0-rmse:0.16492 validation_1-rmse:0.15050 +[40] validation_0-rmse:0.16383 validation_1-rmse:0.14918 +[41] validation_0-rmse:0.16281 validation_1-rmse:0.14788 +[42] validation_0-rmse:0.16176 validation_1-rmse:0.14660 +[43] validation_0-rmse:0.16082 validation_1-rmse:0.14516 +[44] validation_0-rmse:0.15990 validation_1-rmse:0.14395 +[45] validation_0-rmse:0.15891 validation_1-rmse:0.14281 +[46] validation_0-rmse:0.15797 validation_1-rmse:0.14168 +[47] validation_0-rmse:0.15712 validation_1-rmse:0.14040 +[48] validation_0-rmse:0.15632 validation_1-rmse:0.13933 +[49] validation_0-rmse:0.15542 validation_1-rmse:0.13821 +[50] validation_0-rmse:0.15458 validation_1-rmse:0.13705 +[51] validation_0-rmse:0.15404 validation_1-rmse:0.13583 +[52] validation_0-rmse:0.15334 validation_1-rmse:0.13483 +[53] validation_0-rmse:0.15256 validation_1-rmse:0.13387 +[54] validation_0-rmse:0.15190 validation_1-rmse:0.13290 +[55] validation_0-rmse:0.15122 validation_1-rmse:0.13174 +[56] validation_0-rmse:0.15065 validation_1-rmse:0.13080 +[57] validation_0-rmse:0.15006 validation_1-rmse:0.12993 +[58] validation_0-rmse:0.14955 validation_1-rmse:0.12897 +[59] validation_0-rmse:0.14893 validation_1-rmse:0.12814 +[60] validation_0-rmse:0.14843 validation_1-rmse:0.12735 +[61] validation_0-rmse:0.14789 validation_1-rmse:0.12642 +[62] validation_0-rmse:0.14718 validation_1-rmse:0.12561 +[63] validation_0-rmse:0.14659 validation_1-rmse:0.12486 +[64] validation_0-rmse:0.14600 validation_1-rmse:0.12397 +[65] validation_0-rmse:0.14547 validation_1-rmse:0.12324 +[66] validation_0-rmse:0.14499 validation_1-rmse:0.12255 +[67] validation_0-rmse:0.14451 validation_1-rmse:0.12188 +[68] validation_0-rmse:0.14393 validation_1-rmse:0.12114 +[69] validation_0-rmse:0.14346 validation_1-rmse:0.12048 +[70] validation_0-rmse:0.14293 validation_1-rmse:0.11974 +[71] validation_0-rmse:0.14256 validation_1-rmse:0.11893 +[72] validation_0-rmse:0.14212 validation_1-rmse:0.11830 +[73] validation_0-rmse:0.14177 validation_1-rmse:0.11748 +[74] validation_0-rmse:0.14134 validation_1-rmse:0.11686 +[75] validation_0-rmse:0.14101 validation_1-rmse:0.11609 +[76] validation_0-rmse:0.14060 validation_1-rmse:0.11536 +[77] validation_0-rmse:0.14020 validation_1-rmse:0.11484 +[78] validation_0-rmse:0.13983 validation_1-rmse:0.11412 +[79] validation_0-rmse:0.13951 validation_1-rmse:0.11357 +[80] validation_0-rmse:0.13928 validation_1-rmse:0.11273 +[81] validation_0-rmse:0.13889 validation_1-rmse:0.11221 +[82] validation_0-rmse:0.13855 validation_1-rmse:0.11166 +[83] validation_0-rmse:0.13824 validation_1-rmse:0.11114 +[84] validation_0-rmse:0.13808 validation_1-rmse:0.11050 +[85] validation_0-rmse:0.13767 validation_1-rmse:0.10998 +[86] validation_0-rmse:0.13731 validation_1-rmse:0.10947 +[87] validation_0-rmse:0.13716 validation_1-rmse:0.10876 +[88] validation_0-rmse:0.13678 validation_1-rmse:0.10832 +[89] validation_0-rmse:0.13659 validation_1-rmse:0.10782 +[90] validation_0-rmse:0.13629 validation_1-rmse:0.10736 +[91] validation_0-rmse:0.13600 validation_1-rmse:0.10662 +[92] validation_0-rmse:0.13577 validation_1-rmse:0.10613 +[93] validation_0-rmse:0.13541 validation_1-rmse:0.10565 +[94] validation_0-rmse:0.13534 validation_1-rmse:0.10501 +[95] validation_0-rmse:0.13511 validation_1-rmse:0.10453 +[96] validation_0-rmse:0.13483 validation_1-rmse:0.10401 +[97] validation_0-rmse:0.13455 validation_1-rmse:0.10362 +[98] validation_0-rmse:0.13425 validation_1-rmse:0.10323 +[99] validation_0-rmse:0.13402 validation_1-rmse:0.10289 +2025-04-29 01:55:27,556 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training BTC/USDT (6.02 secs) -------------------- +2025-04-29 01:55:27,557 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:55:28,076 - freqtrade.freqai.freqai_interface - INFO - Training BTC/USDT, 1/2 pairs from 2025-01-11 00:00:00 to 2025-02-10 00:00:00, 5/11 trains +2025-04-29 01:55:28,077 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_btc_1739145600_prediction.feather +2025-04-29 01:55:28,081 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:28,088 - FreqaiExampleStrategy - INFO - 目标列形状:(33650,) +2025-04-29 01:55:28,089 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.168798 +1 0.003285 50.168798 +2 0.001898 50.168798 +3 0.000484 50.168798 +4 0.001688 50.168798 +2025-04-29 01:55:28,094 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:28,100 - FreqaiExampleStrategy - INFO - 目标列形状:(38450,) +2025-04-29 01:55:28,102 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.167897 +1 0.003285 50.167897 +2 0.001898 50.167897 +3 0.000484 50.167897 +4 0.001688 50.167897 +2025-04-29 01:55:28,106 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-BTC_1739145600/cb_btc_1739145600 +2025-04-29 01:55:28,107 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training BTC/USDT -------------------- +2025-04-29 01:55:28,123 - freqtrade.freqai.data_kitchen - INFO - BTC/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:55:28,124 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-01-11 to 2025-02-09 -------------------- +2025-04-29 01:55:33,123 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 75 features +2025-04-29 01:55:33,124 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.26428 validation_1-rmse:0.27464 +[1] validation_0-rmse:0.25911 validation_1-rmse:0.26865 +[2] validation_0-rmse:0.25427 validation_1-rmse:0.26296 +[3] validation_0-rmse:0.24970 validation_1-rmse:0.25748 +[4] validation_0-rmse:0.24525 validation_1-rmse:0.25222 +[5] validation_0-rmse:0.24140 validation_1-rmse:0.24725 +[6] validation_0-rmse:0.23748 validation_1-rmse:0.24264 +[7] validation_0-rmse:0.23368 validation_1-rmse:0.23792 +[8] validation_0-rmse:0.23022 validation_1-rmse:0.23363 +[9] validation_0-rmse:0.22695 validation_1-rmse:0.22945 +[10] validation_0-rmse:0.22381 validation_1-rmse:0.22543 +[11] validation_0-rmse:0.22105 validation_1-rmse:0.22154 +[12] validation_0-rmse:0.21818 validation_1-rmse:0.21797 +[13] validation_0-rmse:0.21526 validation_1-rmse:0.21430 +[14] validation_0-rmse:0.21284 validation_1-rmse:0.21101 +[15] validation_0-rmse:0.21034 validation_1-rmse:0.20769 +[16] validation_0-rmse:0.20802 validation_1-rmse:0.20438 +[17] validation_0-rmse:0.20590 validation_1-rmse:0.20136 +[18] validation_0-rmse:0.20386 validation_1-rmse:0.19837 +[19] validation_0-rmse:0.20219 validation_1-rmse:0.19549 +[20] validation_0-rmse:0.20037 validation_1-rmse:0.19283 +[21] validation_0-rmse:0.19826 validation_1-rmse:0.19005 +[22] validation_0-rmse:0.19657 validation_1-rmse:0.18750 +[23] validation_0-rmse:0.19525 validation_1-rmse:0.18498 +[24] validation_0-rmse:0.19373 validation_1-rmse:0.18267 +[25] validation_0-rmse:0.19197 validation_1-rmse:0.18037 +[26] validation_0-rmse:0.19063 validation_1-rmse:0.17799 +[27] validation_0-rmse:0.18897 validation_1-rmse:0.17587 +[28] validation_0-rmse:0.18765 validation_1-rmse:0.17382 +[29] validation_0-rmse:0.18608 validation_1-rmse:0.17185 +[30] validation_0-rmse:0.18456 validation_1-rmse:0.16992 +[31] validation_0-rmse:0.18340 validation_1-rmse:0.16793 +[32] validation_0-rmse:0.18206 validation_1-rmse:0.16616 +[33] validation_0-rmse:0.18077 validation_1-rmse:0.16437 +[34] validation_0-rmse:0.17960 validation_1-rmse:0.16270 +[35] validation_0-rmse:0.17857 validation_1-rmse:0.16105 +[36] validation_0-rmse:0.17748 validation_1-rmse:0.15925 +[37] validation_0-rmse:0.17649 validation_1-rmse:0.15762 +[38] validation_0-rmse:0.17540 validation_1-rmse:0.15611 +[39] validation_0-rmse:0.17427 validation_1-rmse:0.15469 +[40] validation_0-rmse:0.17312 validation_1-rmse:0.15301 +[41] validation_0-rmse:0.17217 validation_1-rmse:0.15169 +[42] validation_0-rmse:0.17119 validation_1-rmse:0.15037 +[43] validation_0-rmse:0.17030 validation_1-rmse:0.14910 +[44] validation_0-rmse:0.16939 validation_1-rmse:0.14786 +[45] validation_0-rmse:0.16851 validation_1-rmse:0.14660 +[46] validation_0-rmse:0.16793 validation_1-rmse:0.14518 +[47] validation_0-rmse:0.16760 validation_1-rmse:0.14365 +[48] validation_0-rmse:0.16674 validation_1-rmse:0.14258 +[49] validation_0-rmse:0.16588 validation_1-rmse:0.14152 +[50] validation_0-rmse:0.16505 validation_1-rmse:0.14051 +[51] validation_0-rmse:0.16437 validation_1-rmse:0.13919 +[52] validation_0-rmse:0.16361 validation_1-rmse:0.13818 +[53] validation_0-rmse:0.16290 validation_1-rmse:0.13715 +[54] validation_0-rmse:0.16217 validation_1-rmse:0.13621 +[55] validation_0-rmse:0.16207 validation_1-rmse:0.13493 +[56] validation_0-rmse:0.16153 validation_1-rmse:0.13395 +[57] validation_0-rmse:0.16077 validation_1-rmse:0.13302 +[58] validation_0-rmse:0.16021 validation_1-rmse:0.13218 +[59] validation_0-rmse:0.15972 validation_1-rmse:0.13117 +[60] validation_0-rmse:0.15954 validation_1-rmse:0.13003 +[61] validation_0-rmse:0.15896 validation_1-rmse:0.12926 +[62] validation_0-rmse:0.15849 validation_1-rmse:0.12848 +[63] validation_0-rmse:0.15801 validation_1-rmse:0.12770 +[64] validation_0-rmse:0.15737 validation_1-rmse:0.12678 +[65] validation_0-rmse:0.15736 validation_1-rmse:0.12578 +[66] validation_0-rmse:0.15684 validation_1-rmse:0.12506 +[67] validation_0-rmse:0.15638 validation_1-rmse:0.12437 +[68] validation_0-rmse:0.15618 validation_1-rmse:0.12336 +[69] validation_0-rmse:0.15581 validation_1-rmse:0.12269 +[70] validation_0-rmse:0.15537 validation_1-rmse:0.12205 +[71] validation_0-rmse:0.15534 validation_1-rmse:0.12117 +[72] validation_0-rmse:0.15485 validation_1-rmse:0.12049 +[73] validation_0-rmse:0.15465 validation_1-rmse:0.11968 +[74] validation_0-rmse:0.15430 validation_1-rmse:0.11906 +[75] validation_0-rmse:0.15386 validation_1-rmse:0.11840 +[76] validation_0-rmse:0.15353 validation_1-rmse:0.11781 +[77] validation_0-rmse:0.15354 validation_1-rmse:0.11697 +[78] validation_0-rmse:0.15325 validation_1-rmse:0.11630 +[79] validation_0-rmse:0.15282 validation_1-rmse:0.11572 +[80] validation_0-rmse:0.15239 validation_1-rmse:0.11514 +[81] validation_0-rmse:0.15226 validation_1-rmse:0.11431 +[82] validation_0-rmse:0.15189 validation_1-rmse:0.11381 +[83] validation_0-rmse:0.15171 validation_1-rmse:0.11316 +[84] validation_0-rmse:0.15136 validation_1-rmse:0.11270 +[85] validation_0-rmse:0.15112 validation_1-rmse:0.11212 +[86] validation_0-rmse:0.15112 validation_1-rmse:0.11140 +[87] validation_0-rmse:0.15074 validation_1-rmse:0.11094 +[88] validation_0-rmse:0.15048 validation_1-rmse:0.11035 +[89] validation_0-rmse:0.15026 validation_1-rmse:0.10983 +[90] validation_0-rmse:0.14989 validation_1-rmse:0.10938 +[91] validation_0-rmse:0.14955 validation_1-rmse:0.10893 +[92] validation_0-rmse:0.14955 validation_1-rmse:0.10815 +[93] validation_0-rmse:0.14933 validation_1-rmse:0.10765 +[94] validation_0-rmse:0.14908 validation_1-rmse:0.10711 +[95] validation_0-rmse:0.14889 validation_1-rmse:0.10668 +[96] validation_0-rmse:0.14853 validation_1-rmse:0.10627 +[97] validation_0-rmse:0.14853 validation_1-rmse:0.10553 +[98] validation_0-rmse:0.14835 validation_1-rmse:0.10513 +[99] validation_0-rmse:0.14818 validation_1-rmse:0.10475 +2025-04-29 01:55:33,929 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training BTC/USDT (5.82 secs) -------------------- +2025-04-29 01:55:33,930 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:55:34,433 - freqtrade.freqai.freqai_interface - INFO - Training BTC/USDT, 1/2 pairs from 2025-01-21 00:00:00 to 2025-02-20 00:00:00, 6/11 trains +2025-04-29 01:55:34,434 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_btc_1740009600_prediction.feather +2025-04-29 01:55:34,440 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:34,447 - FreqaiExampleStrategy - INFO - 目标列形状:(38450,) +2025-04-29 01:55:34,448 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.167897 +1 0.003285 50.167897 +2 0.001898 50.167897 +3 0.000484 50.167897 +4 0.001688 50.167897 +2025-04-29 01:55:34,453 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:34,459 - FreqaiExampleStrategy - INFO - 目标列形状:(43250,) +2025-04-29 01:55:34,461 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.107698 +1 0.003285 50.107698 +2 0.001898 50.107698 +3 0.000484 50.107698 +4 0.001688 50.107698 +2025-04-29 01:55:34,465 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-BTC_1740009600/cb_btc_1740009600 +2025-04-29 01:55:34,466 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training BTC/USDT -------------------- +2025-04-29 01:55:34,482 - freqtrade.freqai.data_kitchen - INFO - BTC/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:55:34,483 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-01-21 to 2025-02-19 -------------------- +2025-04-29 01:55:39,369 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 75 features +2025-04-29 01:55:39,370 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.27166 validation_1-rmse:0.27726 +[1] validation_0-rmse:0.26708 validation_1-rmse:0.27112 +[2] validation_0-rmse:0.26297 validation_1-rmse:0.26523 +[3] validation_0-rmse:0.25865 validation_1-rmse:0.25959 +[4] validation_0-rmse:0.25494 validation_1-rmse:0.25419 +[5] validation_0-rmse:0.25100 validation_1-rmse:0.24913 +[6] validation_0-rmse:0.24763 validation_1-rmse:0.24437 +[7] validation_0-rmse:0.24441 validation_1-rmse:0.23970 +[8] validation_0-rmse:0.24110 validation_1-rmse:0.23527 +[9] validation_0-rmse:0.23801 validation_1-rmse:0.23102 +[10] validation_0-rmse:0.23492 validation_1-rmse:0.22691 +[11] validation_0-rmse:0.23229 validation_1-rmse:0.22297 +[12] validation_0-rmse:0.22956 validation_1-rmse:0.21923 +[13] validation_0-rmse:0.22707 validation_1-rmse:0.21564 +[14] validation_0-rmse:0.22482 validation_1-rmse:0.21221 +[15] validation_0-rmse:0.22237 validation_1-rmse:0.20891 +[16] validation_0-rmse:0.22030 validation_1-rmse:0.20557 +[17] validation_0-rmse:0.21784 validation_1-rmse:0.20243 +[18] validation_0-rmse:0.21591 validation_1-rmse:0.19949 +[19] validation_0-rmse:0.21399 validation_1-rmse:0.19664 +[20] validation_0-rmse:0.21182 validation_1-rmse:0.19378 +[21] validation_0-rmse:0.20992 validation_1-rmse:0.19110 +[22] validation_0-rmse:0.20821 validation_1-rmse:0.18850 +[23] validation_0-rmse:0.20621 validation_1-rmse:0.18597 +[24] validation_0-rmse:0.20490 validation_1-rmse:0.18353 +[25] validation_0-rmse:0.20318 validation_1-rmse:0.18126 +[26] validation_0-rmse:0.20168 validation_1-rmse:0.17896 +[27] validation_0-rmse:0.19992 validation_1-rmse:0.17679 +[28] validation_0-rmse:0.19865 validation_1-rmse:0.17458 +[29] validation_0-rmse:0.19722 validation_1-rmse:0.17257 +[30] validation_0-rmse:0.19571 validation_1-rmse:0.17039 +[31] validation_0-rmse:0.19429 validation_1-rmse:0.16855 +[32] validation_0-rmse:0.19285 validation_1-rmse:0.16664 +[33] validation_0-rmse:0.19141 validation_1-rmse:0.16488 +[34] validation_0-rmse:0.19022 validation_1-rmse:0.16312 +[35] validation_0-rmse:0.18904 validation_1-rmse:0.16145 +[36] validation_0-rmse:0.18832 validation_1-rmse:0.15973 +[37] validation_0-rmse:0.18723 validation_1-rmse:0.15815 +[38] validation_0-rmse:0.18610 validation_1-rmse:0.15653 +[39] validation_0-rmse:0.18504 validation_1-rmse:0.15503 +[40] validation_0-rmse:0.18402 validation_1-rmse:0.15358 +[41] validation_0-rmse:0.18333 validation_1-rmse:0.15193 +[42] validation_0-rmse:0.18213 validation_1-rmse:0.15058 +[43] validation_0-rmse:0.18176 validation_1-rmse:0.14922 +[44] validation_0-rmse:0.18093 validation_1-rmse:0.14792 +[45] validation_0-rmse:0.18017 validation_1-rmse:0.14667 +[46] validation_0-rmse:0.17928 validation_1-rmse:0.14537 +[47] validation_0-rmse:0.17858 validation_1-rmse:0.14420 +[48] validation_0-rmse:0.17770 validation_1-rmse:0.14306 +[49] validation_0-rmse:0.17695 validation_1-rmse:0.14199 +[50] validation_0-rmse:0.17613 validation_1-rmse:0.14094 +[51] validation_0-rmse:0.17545 validation_1-rmse:0.13979 +[52] validation_0-rmse:0.17490 validation_1-rmse:0.13874 +[53] validation_0-rmse:0.17452 validation_1-rmse:0.13755 +[54] validation_0-rmse:0.17383 validation_1-rmse:0.13663 +[55] validation_0-rmse:0.17327 validation_1-rmse:0.13568 +[56] validation_0-rmse:0.17255 validation_1-rmse:0.13477 +[57] validation_0-rmse:0.17192 validation_1-rmse:0.13382 +[58] validation_0-rmse:0.17138 validation_1-rmse:0.13277 +[59] validation_0-rmse:0.17074 validation_1-rmse:0.13188 +[60] validation_0-rmse:0.17026 validation_1-rmse:0.13089 +[61] validation_0-rmse:0.16969 validation_1-rmse:0.13010 +[62] validation_0-rmse:0.16932 validation_1-rmse:0.12904 +[63] validation_0-rmse:0.16888 validation_1-rmse:0.12818 +[64] validation_0-rmse:0.16849 validation_1-rmse:0.12745 +[65] validation_0-rmse:0.16802 validation_1-rmse:0.12639 +[66] validation_0-rmse:0.16747 validation_1-rmse:0.12567 +[67] validation_0-rmse:0.16710 validation_1-rmse:0.12496 +[68] validation_0-rmse:0.16672 validation_1-rmse:0.12426 +[69] validation_0-rmse:0.16635 validation_1-rmse:0.12331 +[70] validation_0-rmse:0.16597 validation_1-rmse:0.12267 +[71] validation_0-rmse:0.16554 validation_1-rmse:0.12196 +[72] validation_0-rmse:0.16522 validation_1-rmse:0.12121 +[73] validation_0-rmse:0.16481 validation_1-rmse:0.12054 +[74] validation_0-rmse:0.16442 validation_1-rmse:0.11996 +[75] validation_0-rmse:0.16409 validation_1-rmse:0.11939 +[76] validation_0-rmse:0.16375 validation_1-rmse:0.11878 +[77] validation_0-rmse:0.16275 validation_1-rmse:0.11753 +[78] validation_0-rmse:0.16248 validation_1-rmse:0.11692 +[79] validation_0-rmse:0.16215 validation_1-rmse:0.11619 +[80] validation_0-rmse:0.16187 validation_1-rmse:0.11564 +[81] validation_0-rmse:0.16150 validation_1-rmse:0.11493 +[82] validation_0-rmse:0.16123 validation_1-rmse:0.11438 +[83] validation_0-rmse:0.16109 validation_1-rmse:0.11358 +[84] validation_0-rmse:0.16065 validation_1-rmse:0.11304 +[85] validation_0-rmse:0.16038 validation_1-rmse:0.11256 +[86] validation_0-rmse:0.16022 validation_1-rmse:0.11205 +[87] validation_0-rmse:0.16007 validation_1-rmse:0.11158 +[88] validation_0-rmse:0.15945 validation_1-rmse:0.11054 +[89] validation_0-rmse:0.15912 validation_1-rmse:0.11008 +[90] validation_0-rmse:0.15894 validation_1-rmse:0.10937 +[91] validation_0-rmse:0.15868 validation_1-rmse:0.10886 +[92] validation_0-rmse:0.15845 validation_1-rmse:0.10844 +[93] validation_0-rmse:0.15817 validation_1-rmse:0.10803 +[94] validation_0-rmse:0.15789 validation_1-rmse:0.10758 +[95] validation_0-rmse:0.15772 validation_1-rmse:0.10721 +[96] validation_0-rmse:0.15763 validation_1-rmse:0.10676 +[97] validation_0-rmse:0.15751 validation_1-rmse:0.10609 +[98] validation_0-rmse:0.15731 validation_1-rmse:0.10574 +[99] validation_0-rmse:0.15738 validation_1-rmse:0.10531 +2025-04-29 01:55:40,266 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training BTC/USDT (5.80 secs) -------------------- +2025-04-29 01:55:40,267 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:55:40,801 - freqtrade.freqai.freqai_interface - INFO - Training BTC/USDT, 1/2 pairs from 2025-01-31 00:00:00 to 2025-03-02 00:00:00, 7/11 trains +2025-04-29 01:55:40,802 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_btc_1740873600_prediction.feather +2025-04-29 01:55:40,807 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:40,814 - FreqaiExampleStrategy - INFO - 目标列形状:(43250,) +2025-04-29 01:55:40,816 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.107698 +1 0.003285 50.107698 +2 0.001898 50.107698 +3 0.000484 50.107698 +4 0.001688 50.107698 +2025-04-29 01:55:40,821 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:40,827 - FreqaiExampleStrategy - INFO - 目标列形状:(48050,) +2025-04-29 01:55:40,829 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.079166 +1 0.003285 50.079166 +2 0.001898 50.079166 +3 0.000484 50.079166 +4 0.001688 50.079166 +2025-04-29 01:55:40,833 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-BTC_1740873600/cb_btc_1740873600 +2025-04-29 01:55:40,834 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training BTC/USDT -------------------- +2025-04-29 01:55:40,849 - freqtrade.freqai.data_kitchen - INFO - BTC/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:55:40,850 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-01-31 to 2025-03-01 -------------------- +2025-04-29 01:55:45,643 - datasieve.pipeline - INFO - DI tossed 2275 predictions for being too far from training data. +2025-04-29 01:55:45,646 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 75 features +2025-04-29 01:55:45,647 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.27618 validation_1-rmse:0.28955 +[1] validation_0-rmse:0.27005 validation_1-rmse:0.28323 +[2] validation_0-rmse:0.26414 validation_1-rmse:0.27722 +[3] validation_0-rmse:0.25897 validation_1-rmse:0.27161 +[4] validation_0-rmse:0.25425 validation_1-rmse:0.26622 +[5] validation_0-rmse:0.24886 validation_1-rmse:0.26100 +[6] validation_0-rmse:0.24522 validation_1-rmse:0.25606 +[7] validation_0-rmse:0.24137 validation_1-rmse:0.25132 +[8] validation_0-rmse:0.23765 validation_1-rmse:0.24687 +[9] validation_0-rmse:0.23323 validation_1-rmse:0.24254 +[10] validation_0-rmse:0.22900 validation_1-rmse:0.23827 +[11] validation_0-rmse:0.22588 validation_1-rmse:0.23450 +[12] validation_0-rmse:0.22228 validation_1-rmse:0.23055 +[13] validation_0-rmse:0.21872 validation_1-rmse:0.22698 +[14] validation_0-rmse:0.21492 validation_1-rmse:0.22348 +[15] validation_0-rmse:0.21329 validation_1-rmse:0.22011 +[16] validation_0-rmse:0.21024 validation_1-rmse:0.21686 +[17] validation_0-rmse:0.20823 validation_1-rmse:0.21380 +[18] validation_0-rmse:0.20544 validation_1-rmse:0.21075 +[19] validation_0-rmse:0.20415 validation_1-rmse:0.20787 +[20] validation_0-rmse:0.20143 validation_1-rmse:0.20515 +[21] validation_0-rmse:0.19917 validation_1-rmse:0.20247 +[22] validation_0-rmse:0.19745 validation_1-rmse:0.19994 +[23] validation_0-rmse:0.19508 validation_1-rmse:0.19746 +[24] validation_0-rmse:0.19300 validation_1-rmse:0.19490 +[25] validation_0-rmse:0.19085 validation_1-rmse:0.19254 +[26] validation_0-rmse:0.18898 validation_1-rmse:0.19031 +[27] validation_0-rmse:0.18720 validation_1-rmse:0.18794 +[28] validation_0-rmse:0.18503 validation_1-rmse:0.18584 +[29] validation_0-rmse:0.18314 validation_1-rmse:0.18382 +[30] validation_0-rmse:0.18132 validation_1-rmse:0.18164 +[31] validation_0-rmse:0.17984 validation_1-rmse:0.17967 +[32] validation_0-rmse:0.17818 validation_1-rmse:0.17779 +[33] validation_0-rmse:0.17637 validation_1-rmse:0.17572 +[34] validation_0-rmse:0.17473 validation_1-rmse:0.17399 +[35] validation_0-rmse:0.17338 validation_1-rmse:0.17229 +[36] validation_0-rmse:0.17253 validation_1-rmse:0.17055 +[37] validation_0-rmse:0.17149 validation_1-rmse:0.16883 +[38] validation_0-rmse:0.17030 validation_1-rmse:0.16730 +[39] validation_0-rmse:0.16950 validation_1-rmse:0.16556 +[40] validation_0-rmse:0.16815 validation_1-rmse:0.16412 +[41] validation_0-rmse:0.16704 validation_1-rmse:0.16268 +[42] validation_0-rmse:0.16617 validation_1-rmse:0.16128 +[43] validation_0-rmse:0.16542 validation_1-rmse:0.15970 +[44] validation_0-rmse:0.16438 validation_1-rmse:0.15840 +[45] validation_0-rmse:0.16356 validation_1-rmse:0.15692 +[46] validation_0-rmse:0.16239 validation_1-rmse:0.15574 +[47] validation_0-rmse:0.16153 validation_1-rmse:0.15456 +[48] validation_0-rmse:0.16076 validation_1-rmse:0.15314 +[49] validation_0-rmse:0.15998 validation_1-rmse:0.15201 +[50] validation_0-rmse:0.15946 validation_1-rmse:0.15084 +[51] validation_0-rmse:0.15891 validation_1-rmse:0.14954 +[52] validation_0-rmse:0.15834 validation_1-rmse:0.14847 +[53] validation_0-rmse:0.15764 validation_1-rmse:0.14722 +[54] validation_0-rmse:0.15707 validation_1-rmse:0.14623 +[55] validation_0-rmse:0.15653 validation_1-rmse:0.14527 +[56] validation_0-rmse:0.15583 validation_1-rmse:0.14434 +[57] validation_0-rmse:0.15549 validation_1-rmse:0.14329 +[58] validation_0-rmse:0.15507 validation_1-rmse:0.14241 +[59] validation_0-rmse:0.15468 validation_1-rmse:0.14053 +[60] validation_0-rmse:0.15398 validation_1-rmse:0.13968 +[61] validation_0-rmse:0.15390 validation_1-rmse:0.13864 +[62] validation_0-rmse:0.15360 validation_1-rmse:0.13783 +[63] validation_0-rmse:0.15368 validation_1-rmse:0.13704 +[64] validation_0-rmse:0.15338 validation_1-rmse:0.13624 +[65] validation_0-rmse:0.15273 validation_1-rmse:0.13551 +[66] validation_0-rmse:0.15238 validation_1-rmse:0.13451 +[67] validation_0-rmse:0.15212 validation_1-rmse:0.13290 +[68] validation_0-rmse:0.15191 validation_1-rmse:0.13217 +[69] validation_0-rmse:0.15138 validation_1-rmse:0.13143 +[70] validation_0-rmse:0.15090 validation_1-rmse:0.13071 +[71] validation_0-rmse:0.15082 validation_1-rmse:0.13001 +[72] validation_0-rmse:0.14988 validation_1-rmse:0.12847 +[73] validation_0-rmse:0.14953 validation_1-rmse:0.12783 +[74] validation_0-rmse:0.14924 validation_1-rmse:0.12709 +[75] validation_0-rmse:0.14926 validation_1-rmse:0.12578 +[76] validation_0-rmse:0.14903 validation_1-rmse:0.12499 +[77] validation_0-rmse:0.14851 validation_1-rmse:0.12435 +[78] validation_0-rmse:0.14808 validation_1-rmse:0.12368 +[79] validation_0-rmse:0.14768 validation_1-rmse:0.12305 +[80] validation_0-rmse:0.14741 validation_1-rmse:0.12217 +[81] validation_0-rmse:0.14712 validation_1-rmse:0.12165 +[82] validation_0-rmse:0.14696 validation_1-rmse:0.12110 +[83] validation_0-rmse:0.14686 validation_1-rmse:0.12045 +[84] validation_0-rmse:0.14648 validation_1-rmse:0.11984 +[85] validation_0-rmse:0.14623 validation_1-rmse:0.11923 +[86] validation_0-rmse:0.14606 validation_1-rmse:0.11869 +[87] validation_0-rmse:0.14583 validation_1-rmse:0.11754 +[88] validation_0-rmse:0.14572 validation_1-rmse:0.11710 +[89] validation_0-rmse:0.14537 validation_1-rmse:0.11660 +[90] validation_0-rmse:0.14510 validation_1-rmse:0.11614 +[91] validation_0-rmse:0.14516 validation_1-rmse:0.11514 +[92] validation_0-rmse:0.14480 validation_1-rmse:0.11455 +[93] validation_0-rmse:0.14475 validation_1-rmse:0.11414 +[94] validation_0-rmse:0.14443 validation_1-rmse:0.11374 +[95] validation_0-rmse:0.14409 validation_1-rmse:0.11331 +[96] validation_0-rmse:0.14391 validation_1-rmse:0.11240 +[97] validation_0-rmse:0.14303 validation_1-rmse:0.11154 +[98] validation_0-rmse:0.14274 validation_1-rmse:0.11114 +[99] validation_0-rmse:0.14246 validation_1-rmse:0.11071 +2025-04-29 01:55:46,544 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training BTC/USDT (5.71 secs) -------------------- +2025-04-29 01:55:46,544 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:55:47,092 - freqtrade.freqai.freqai_interface - INFO - Training BTC/USDT, 1/2 pairs from 2025-02-10 00:00:00 to 2025-03-12 00:00:00, 8/11 trains +2025-04-29 01:55:47,092 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_btc_1741737600_prediction.feather +2025-04-29 01:55:47,100 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:47,107 - FreqaiExampleStrategy - INFO - 目标列形状:(48050,) +2025-04-29 01:55:47,109 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.079166 +1 0.003285 50.079166 +2 0.001898 50.079166 +3 0.000484 50.079166 +4 0.001688 50.079166 +2025-04-29 01:55:47,115 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:47,122 - FreqaiExampleStrategy - INFO - 目标列形状:(52850,) +2025-04-29 01:55:47,123 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.102027 +1 0.003285 50.102027 +2 0.001898 50.102027 +3 0.000484 50.102027 +4 0.001688 50.102027 +2025-04-29 01:55:47,128 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-BTC_1741737600/cb_btc_1741737600 +2025-04-29 01:55:47,129 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training BTC/USDT -------------------- +2025-04-29 01:55:47,145 - freqtrade.freqai.data_kitchen - INFO - BTC/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:55:47,145 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-02-10 to 2025-03-11 -------------------- +2025-04-29 01:55:51,987 - datasieve.pipeline - INFO - DI tossed 18 predictions for being too far from training data. +2025-04-29 01:55:51,989 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 75 features +2025-04-29 01:55:51,989 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.26738 validation_1-rmse:0.26816 +[1] validation_0-rmse:0.26268 validation_1-rmse:0.26258 +[2] validation_0-rmse:0.25808 validation_1-rmse:0.25725 +[3] validation_0-rmse:0.25395 validation_1-rmse:0.25212 +[4] validation_0-rmse:0.24987 validation_1-rmse:0.24723 +[5] validation_0-rmse:0.24633 validation_1-rmse:0.24263 +[6] validation_0-rmse:0.24308 validation_1-rmse:0.23814 +[7] validation_0-rmse:0.23959 validation_1-rmse:0.23402 +[8] validation_0-rmse:0.23612 validation_1-rmse:0.22977 +[9] validation_0-rmse:0.23322 validation_1-rmse:0.22577 +[10] validation_0-rmse:0.23012 validation_1-rmse:0.22207 +[11] validation_0-rmse:0.22730 validation_1-rmse:0.21843 +[12] validation_0-rmse:0.22453 validation_1-rmse:0.21489 +[13] validation_0-rmse:0.22236 validation_1-rmse:0.21145 +[14] validation_0-rmse:0.22000 validation_1-rmse:0.20841 +[15] validation_0-rmse:0.21744 validation_1-rmse:0.20529 +[16] validation_0-rmse:0.21556 validation_1-rmse:0.20225 +[17] validation_0-rmse:0.21331 validation_1-rmse:0.19932 +[18] validation_0-rmse:0.21171 validation_1-rmse:0.19643 +[19] validation_0-rmse:0.21051 validation_1-rmse:0.19382 +[20] validation_0-rmse:0.20880 validation_1-rmse:0.19128 +[21] validation_0-rmse:0.20711 validation_1-rmse:0.18854 +[22] validation_0-rmse:0.20538 validation_1-rmse:0.18612 +[23] validation_0-rmse:0.20350 validation_1-rmse:0.18381 +[24] validation_0-rmse:0.20234 validation_1-rmse:0.18144 +[25] validation_0-rmse:0.20081 validation_1-rmse:0.17917 +[26] validation_0-rmse:0.19918 validation_1-rmse:0.17714 +[27] validation_0-rmse:0.19804 validation_1-rmse:0.17496 +[28] validation_0-rmse:0.19662 validation_1-rmse:0.17304 +[29] validation_0-rmse:0.19580 validation_1-rmse:0.17082 +[30] validation_0-rmse:0.19454 validation_1-rmse:0.16901 +[31] validation_0-rmse:0.19331 validation_1-rmse:0.16691 +[32] validation_0-rmse:0.19234 validation_1-rmse:0.16517 +[33] validation_0-rmse:0.19118 validation_1-rmse:0.16354 +[34] validation_0-rmse:0.19024 validation_1-rmse:0.16175 +[35] validation_0-rmse:0.18915 validation_1-rmse:0.16020 +[36] validation_0-rmse:0.18823 validation_1-rmse:0.15865 +[37] validation_0-rmse:0.18756 validation_1-rmse:0.15712 +[38] validation_0-rmse:0.18698 validation_1-rmse:0.15541 +[39] validation_0-rmse:0.18643 validation_1-rmse:0.15395 +[40] validation_0-rmse:0.18562 validation_1-rmse:0.15265 +[41] validation_0-rmse:0.18516 validation_1-rmse:0.15124 +[42] validation_0-rmse:0.18421 validation_1-rmse:0.14979 +[43] validation_0-rmse:0.18360 validation_1-rmse:0.14850 +[44] validation_0-rmse:0.18275 validation_1-rmse:0.14733 +[45] validation_0-rmse:0.18253 validation_1-rmse:0.14597 +[46] validation_0-rmse:0.18183 validation_1-rmse:0.14470 +[47] validation_0-rmse:0.18111 validation_1-rmse:0.14361 +[48] validation_0-rmse:0.18060 validation_1-rmse:0.14243 +[49] validation_0-rmse:0.18001 validation_1-rmse:0.14134 +[50] validation_0-rmse:0.17953 validation_1-rmse:0.14030 +[51] validation_0-rmse:0.17899 validation_1-rmse:0.13927 +[52] validation_0-rmse:0.17830 validation_1-rmse:0.13817 +[53] validation_0-rmse:0.17770 validation_1-rmse:0.13720 +[54] validation_0-rmse:0.17702 validation_1-rmse:0.13629 +[55] validation_0-rmse:0.17650 validation_1-rmse:0.13531 +[56] validation_0-rmse:0.17625 validation_1-rmse:0.13440 +[57] validation_0-rmse:0.17580 validation_1-rmse:0.13352 +[58] validation_0-rmse:0.17530 validation_1-rmse:0.13268 +[59] validation_0-rmse:0.17486 validation_1-rmse:0.13166 +[60] validation_0-rmse:0.17438 validation_1-rmse:0.13071 +[61] validation_0-rmse:0.17387 validation_1-rmse:0.12991 +[62] validation_0-rmse:0.17356 validation_1-rmse:0.12914 +[63] validation_0-rmse:0.17311 validation_1-rmse:0.12839 +[64] validation_0-rmse:0.17265 validation_1-rmse:0.12767 +[65] validation_0-rmse:0.17209 validation_1-rmse:0.12682 +[66] validation_0-rmse:0.17197 validation_1-rmse:0.12595 +[67] validation_0-rmse:0.17157 validation_1-rmse:0.12506 +[68] validation_0-rmse:0.17131 validation_1-rmse:0.12439 +[69] validation_0-rmse:0.17088 validation_1-rmse:0.12371 +[70] validation_0-rmse:0.17038 validation_1-rmse:0.12298 +[71] validation_0-rmse:0.17009 validation_1-rmse:0.12235 +[72] validation_0-rmse:0.16979 validation_1-rmse:0.12172 +[73] validation_0-rmse:0.16934 validation_1-rmse:0.12118 +[74] validation_0-rmse:0.16902 validation_1-rmse:0.12050 +[75] validation_0-rmse:0.16881 validation_1-rmse:0.11988 +[76] validation_0-rmse:0.16846 validation_1-rmse:0.11928 +[77] validation_0-rmse:0.16809 validation_1-rmse:0.11846 +[78] validation_0-rmse:0.16774 validation_1-rmse:0.11791 +[79] validation_0-rmse:0.16745 validation_1-rmse:0.11738 +[80] validation_0-rmse:0.16717 validation_1-rmse:0.11683 +[81] validation_0-rmse:0.16702 validation_1-rmse:0.11599 +[82] validation_0-rmse:0.16677 validation_1-rmse:0.11535 +[83] validation_0-rmse:0.16649 validation_1-rmse:0.11468 +[84] validation_0-rmse:0.16605 validation_1-rmse:0.11415 +[85] validation_0-rmse:0.16591 validation_1-rmse:0.11350 +[86] validation_0-rmse:0.16560 validation_1-rmse:0.11303 +[87] validation_0-rmse:0.16531 validation_1-rmse:0.11259 +[88] validation_0-rmse:0.16504 validation_1-rmse:0.11185 +[89] validation_0-rmse:0.16485 validation_1-rmse:0.11134 +[90] validation_0-rmse:0.16463 validation_1-rmse:0.11083 +[91] validation_0-rmse:0.16436 validation_1-rmse:0.11041 +[92] validation_0-rmse:0.16412 validation_1-rmse:0.10988 +[93] validation_0-rmse:0.16388 validation_1-rmse:0.10942 +[94] validation_0-rmse:0.16391 validation_1-rmse:0.10881 +[95] validation_0-rmse:0.16357 validation_1-rmse:0.10838 +[96] validation_0-rmse:0.16358 validation_1-rmse:0.10796 +[97] validation_0-rmse:0.16338 validation_1-rmse:0.10756 +[98] validation_0-rmse:0.16339 validation_1-rmse:0.10688 +[99] validation_0-rmse:0.16321 validation_1-rmse:0.10649 +2025-04-29 01:55:52,741 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training BTC/USDT (5.61 secs) -------------------- +2025-04-29 01:55:52,742 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:55:53,285 - freqtrade.freqai.freqai_interface - INFO - Training BTC/USDT, 1/2 pairs from 2025-02-20 00:00:00 to 2025-03-22 00:00:00, 9/11 trains +2025-04-29 01:55:53,286 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_btc_1742601600_prediction.feather +2025-04-29 01:55:53,291 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:53,298 - FreqaiExampleStrategy - INFO - 目标列形状:(52850,) +2025-04-29 01:55:53,300 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.102027 +1 0.003285 50.102027 +2 0.001898 50.102027 +3 0.000484 50.102027 +4 0.001688 50.102027 +2025-04-29 01:55:53,309 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:53,316 - FreqaiExampleStrategy - INFO - 目标列形状:(57650,) +2025-04-29 01:55:53,318 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.079967 +1 0.003285 50.079967 +2 0.001898 50.079967 +3 0.000484 50.079967 +4 0.001688 50.079967 +2025-04-29 01:55:53,322 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-BTC_1742601600/cb_btc_1742601600 +2025-04-29 01:55:53,323 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training BTC/USDT -------------------- +2025-04-29 01:55:53,339 - freqtrade.freqai.data_kitchen - INFO - BTC/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:55:53,340 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-02-20 to 2025-03-21 -------------------- +2025-04-29 01:55:58,184 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 75 features +2025-04-29 01:55:58,185 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.26992 validation_1-rmse:0.26756 +[1] validation_0-rmse:0.26551 validation_1-rmse:0.26201 +[2] validation_0-rmse:0.26111 validation_1-rmse:0.25656 +[3] validation_0-rmse:0.25690 validation_1-rmse:0.25154 +[4] validation_0-rmse:0.25291 validation_1-rmse:0.24683 +[5] validation_0-rmse:0.24933 validation_1-rmse:0.24228 +[6] validation_0-rmse:0.24598 validation_1-rmse:0.23796 +[7] validation_0-rmse:0.24252 validation_1-rmse:0.23392 +[8] validation_0-rmse:0.23953 validation_1-rmse:0.22978 +[9] validation_0-rmse:0.23634 validation_1-rmse:0.22592 +[10] validation_0-rmse:0.23330 validation_1-rmse:0.22229 +[11] validation_0-rmse:0.23059 validation_1-rmse:0.21875 +[12] validation_0-rmse:0.22799 validation_1-rmse:0.21546 +[13] validation_0-rmse:0.22565 validation_1-rmse:0.21212 +[14] validation_0-rmse:0.22329 validation_1-rmse:0.20904 +[15] validation_0-rmse:0.22111 validation_1-rmse:0.20604 +[16] validation_0-rmse:0.21894 validation_1-rmse:0.20318 +[17] validation_0-rmse:0.21715 validation_1-rmse:0.20021 +[18] validation_0-rmse:0.21499 validation_1-rmse:0.19735 +[19] validation_0-rmse:0.21283 validation_1-rmse:0.19480 +[20] validation_0-rmse:0.21109 validation_1-rmse:0.19209 +[21] validation_0-rmse:0.20904 validation_1-rmse:0.18969 +[22] validation_0-rmse:0.20762 validation_1-rmse:0.18718 +[23] validation_0-rmse:0.20580 validation_1-rmse:0.18498 +[24] validation_0-rmse:0.20434 validation_1-rmse:0.18262 +[25] validation_0-rmse:0.20267 validation_1-rmse:0.18048 +[26] validation_0-rmse:0.20106 validation_1-rmse:0.17844 +[27] validation_0-rmse:0.19945 validation_1-rmse:0.17647 +[28] validation_0-rmse:0.19813 validation_1-rmse:0.17443 +[29] validation_0-rmse:0.19669 validation_1-rmse:0.17264 +[30] validation_0-rmse:0.19541 validation_1-rmse:0.17054 +[31] validation_0-rmse:0.19401 validation_1-rmse:0.16881 +[32] validation_0-rmse:0.19263 validation_1-rmse:0.16719 +[33] validation_0-rmse:0.19134 validation_1-rmse:0.16560 +[34] validation_0-rmse:0.18996 validation_1-rmse:0.16365 +[35] validation_0-rmse:0.18864 validation_1-rmse:0.16211 +[36] validation_0-rmse:0.18752 validation_1-rmse:0.16069 +[37] validation_0-rmse:0.18652 validation_1-rmse:0.15898 +[38] validation_0-rmse:0.18540 validation_1-rmse:0.15751 +[39] validation_0-rmse:0.18429 validation_1-rmse:0.15616 +[40] validation_0-rmse:0.18317 validation_1-rmse:0.15475 +[41] validation_0-rmse:0.18215 validation_1-rmse:0.15324 +[42] validation_0-rmse:0.18119 validation_1-rmse:0.15199 +[43] validation_0-rmse:0.18008 validation_1-rmse:0.15057 +[44] validation_0-rmse:0.17926 validation_1-rmse:0.14942 +[45] validation_0-rmse:0.17841 validation_1-rmse:0.14813 +[46] validation_0-rmse:0.17755 validation_1-rmse:0.14700 +[47] validation_0-rmse:0.17672 validation_1-rmse:0.14572 +[48] validation_0-rmse:0.17586 validation_1-rmse:0.14466 +[49] validation_0-rmse:0.17511 validation_1-rmse:0.14354 +[50] validation_0-rmse:0.17440 validation_1-rmse:0.14236 +[51] validation_0-rmse:0.17354 validation_1-rmse:0.14130 +[52] validation_0-rmse:0.17281 validation_1-rmse:0.14035 +[53] validation_0-rmse:0.17210 validation_1-rmse:0.13942 +[54] validation_0-rmse:0.17136 validation_1-rmse:0.13843 +[55] validation_0-rmse:0.17045 validation_1-rmse:0.13715 +[56] validation_0-rmse:0.16971 validation_1-rmse:0.13629 +[57] validation_0-rmse:0.16900 validation_1-rmse:0.13511 +[58] validation_0-rmse:0.16834 validation_1-rmse:0.13426 +[59] validation_0-rmse:0.16763 validation_1-rmse:0.13323 +[60] validation_0-rmse:0.16702 validation_1-rmse:0.13242 +[61] validation_0-rmse:0.16639 validation_1-rmse:0.13164 +[62] validation_0-rmse:0.16586 validation_1-rmse:0.13079 +[63] validation_0-rmse:0.16527 validation_1-rmse:0.13006 +[64] validation_0-rmse:0.16458 validation_1-rmse:0.12914 +[65] validation_0-rmse:0.16396 validation_1-rmse:0.12841 +[66] validation_0-rmse:0.16332 validation_1-rmse:0.12742 +[67] validation_0-rmse:0.16290 validation_1-rmse:0.12665 +[68] validation_0-rmse:0.16248 validation_1-rmse:0.12584 +[69] validation_0-rmse:0.16192 validation_1-rmse:0.12503 +[70] validation_0-rmse:0.16128 validation_1-rmse:0.12435 +[71] validation_0-rmse:0.16078 validation_1-rmse:0.12371 +[72] validation_0-rmse:0.16032 validation_1-rmse:0.12311 +[73] validation_0-rmse:0.15998 validation_1-rmse:0.12241 +[74] validation_0-rmse:0.15959 validation_1-rmse:0.12184 +[75] validation_0-rmse:0.15922 validation_1-rmse:0.12121 +[76] validation_0-rmse:0.15877 validation_1-rmse:0.12064 +[77] validation_0-rmse:0.15830 validation_1-rmse:0.11981 +[78] validation_0-rmse:0.15791 validation_1-rmse:0.11927 +[79] validation_0-rmse:0.15751 validation_1-rmse:0.11859 +[80] validation_0-rmse:0.15716 validation_1-rmse:0.11795 +[81] validation_0-rmse:0.15680 validation_1-rmse:0.11740 +[82] validation_0-rmse:0.15624 validation_1-rmse:0.11683 +[83] validation_0-rmse:0.15578 validation_1-rmse:0.11632 +[84] validation_0-rmse:0.15553 validation_1-rmse:0.11586 +[85] validation_0-rmse:0.15471 validation_1-rmse:0.11513 +[86] validation_0-rmse:0.15444 validation_1-rmse:0.11465 +[87] validation_0-rmse:0.15417 validation_1-rmse:0.11406 +[88] validation_0-rmse:0.15387 validation_1-rmse:0.11359 +[89] validation_0-rmse:0.15359 validation_1-rmse:0.11319 +[90] validation_0-rmse:0.15332 validation_1-rmse:0.11269 +[91] validation_0-rmse:0.15301 validation_1-rmse:0.11221 +[92] validation_0-rmse:0.15258 validation_1-rmse:0.11176 +[93] validation_0-rmse:0.15231 validation_1-rmse:0.11135 +[94] validation_0-rmse:0.15202 validation_1-rmse:0.11093 +[95] validation_0-rmse:0.15185 validation_1-rmse:0.11041 +[96] validation_0-rmse:0.15173 validation_1-rmse:0.11000 +[97] validation_0-rmse:0.15150 validation_1-rmse:0.10961 +[98] validation_0-rmse:0.15114 validation_1-rmse:0.10917 +[99] validation_0-rmse:0.15096 validation_1-rmse:0.10882 +2025-04-29 01:55:59,097 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training BTC/USDT (5.77 secs) -------------------- +2025-04-29 01:55:59,098 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:55:59,706 - freqtrade.freqai.freqai_interface - INFO - Training BTC/USDT, 1/2 pairs from 2025-03-02 00:00:00 to 2025-04-01 00:00:00, 10/11 trains +2025-04-29 01:55:59,706 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_btc_1743465600_prediction.feather +2025-04-29 01:55:59,715 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:59,723 - FreqaiExampleStrategy - INFO - 目标列形状:(57650,) +2025-04-29 01:55:59,725 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.079967 +1 0.003285 50.079967 +2 0.001898 50.079967 +3 0.000484 50.079967 +4 0.001688 50.079967 +2025-04-29 01:55:59,732 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:55:59,739 - FreqaiExampleStrategy - INFO - 目标列形状:(62450,) +2025-04-29 01:55:59,741 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.024153 +1 0.003285 50.024153 +2 0.001898 50.024153 +3 0.000484 50.024153 +4 0.001688 50.024153 +2025-04-29 01:55:59,745 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-BTC_1743465600/cb_btc_1743465600 +2025-04-29 01:55:59,746 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training BTC/USDT -------------------- +2025-04-29 01:55:59,762 - freqtrade.freqai.data_kitchen - INFO - BTC/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:55:59,762 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-03-02 to 2025-03-31 -------------------- +2025-04-29 01:56:04,571 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 75 features +2025-04-29 01:56:04,571 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.28468 validation_1-rmse:0.28491 +[1] validation_0-rmse:0.27961 validation_1-rmse:0.27914 +[2] validation_0-rmse:0.27524 validation_1-rmse:0.27370 +[3] validation_0-rmse:0.27054 validation_1-rmse:0.26858 +[4] validation_0-rmse:0.26601 validation_1-rmse:0.26362 +[5] validation_0-rmse:0.26219 validation_1-rmse:0.25896 +[6] validation_0-rmse:0.25814 validation_1-rmse:0.25450 +[7] validation_0-rmse:0.25500 validation_1-rmse:0.25026 +[8] validation_0-rmse:0.25145 validation_1-rmse:0.24602 +[9] validation_0-rmse:0.24843 validation_1-rmse:0.24213 +[10] validation_0-rmse:0.24527 validation_1-rmse:0.23824 +[11] validation_0-rmse:0.24238 validation_1-rmse:0.23440 +[12] validation_0-rmse:0.23940 validation_1-rmse:0.23096 +[13] validation_0-rmse:0.23630 validation_1-rmse:0.22764 +[14] validation_0-rmse:0.23385 validation_1-rmse:0.22440 +[15] validation_0-rmse:0.23099 validation_1-rmse:0.22128 +[16] validation_0-rmse:0.22865 validation_1-rmse:0.21801 +[17] validation_0-rmse:0.22620 validation_1-rmse:0.21515 +[18] validation_0-rmse:0.22375 validation_1-rmse:0.21210 +[19] validation_0-rmse:0.22142 validation_1-rmse:0.20925 +[20] validation_0-rmse:0.21927 validation_1-rmse:0.20663 +[21] validation_0-rmse:0.21720 validation_1-rmse:0.20416 +[22] validation_0-rmse:0.21528 validation_1-rmse:0.20170 +[23] validation_0-rmse:0.21330 validation_1-rmse:0.19913 +[24] validation_0-rmse:0.21136 validation_1-rmse:0.19693 +[25] validation_0-rmse:0.21002 validation_1-rmse:0.19438 +[26] validation_0-rmse:0.20807 validation_1-rmse:0.19222 +[27] validation_0-rmse:0.20636 validation_1-rmse:0.19016 +[28] validation_0-rmse:0.20439 validation_1-rmse:0.18763 +[29] validation_0-rmse:0.20276 validation_1-rmse:0.18559 +[30] validation_0-rmse:0.20114 validation_1-rmse:0.18380 +[31] validation_0-rmse:0.19965 validation_1-rmse:0.18163 +[32] validation_0-rmse:0.19833 validation_1-rmse:0.17955 +[33] validation_0-rmse:0.19688 validation_1-rmse:0.17782 +[34] validation_0-rmse:0.19558 validation_1-rmse:0.17614 +[35] validation_0-rmse:0.19420 validation_1-rmse:0.17451 +[36] validation_0-rmse:0.19297 validation_1-rmse:0.17293 +[37] validation_0-rmse:0.19169 validation_1-rmse:0.17111 +[38] validation_0-rmse:0.19038 validation_1-rmse:0.16943 +[39] validation_0-rmse:0.18941 validation_1-rmse:0.16798 +[40] validation_0-rmse:0.18828 validation_1-rmse:0.16657 +[41] validation_0-rmse:0.18724 validation_1-rmse:0.16485 +[42] validation_0-rmse:0.18620 validation_1-rmse:0.16347 +[43] validation_0-rmse:0.18525 validation_1-rmse:0.16204 +[44] validation_0-rmse:0.18429 validation_1-rmse:0.16073 +[45] validation_0-rmse:0.18324 validation_1-rmse:0.15951 +[46] validation_0-rmse:0.18250 validation_1-rmse:0.15797 +[47] validation_0-rmse:0.18157 validation_1-rmse:0.15682 +[48] validation_0-rmse:0.18069 validation_1-rmse:0.15566 +[49] validation_0-rmse:0.18002 validation_1-rmse:0.15440 +[50] validation_0-rmse:0.17914 validation_1-rmse:0.15322 +[51] validation_0-rmse:0.17842 validation_1-rmse:0.15220 +[52] validation_0-rmse:0.17756 validation_1-rmse:0.15107 +[53] validation_0-rmse:0.17668 validation_1-rmse:0.15007 +[54] validation_0-rmse:0.17596 validation_1-rmse:0.14866 +[55] validation_0-rmse:0.17525 validation_1-rmse:0.14775 +[56] validation_0-rmse:0.17467 validation_1-rmse:0.14653 +[57] validation_0-rmse:0.17390 validation_1-rmse:0.14564 +[58] validation_0-rmse:0.17326 validation_1-rmse:0.14478 +[59] validation_0-rmse:0.17273 validation_1-rmse:0.14356 +[60] validation_0-rmse:0.17218 validation_1-rmse:0.14269 +[61] validation_0-rmse:0.17157 validation_1-rmse:0.14186 +[62] validation_0-rmse:0.17120 validation_1-rmse:0.14083 +[63] validation_0-rmse:0.17069 validation_1-rmse:0.14002 +[64] validation_0-rmse:0.17012 validation_1-rmse:0.13912 +[65] validation_0-rmse:0.16942 validation_1-rmse:0.13834 +[66] validation_0-rmse:0.16914 validation_1-rmse:0.13720 +[67] validation_0-rmse:0.16856 validation_1-rmse:0.13648 +[68] validation_0-rmse:0.16800 validation_1-rmse:0.13569 +[69] validation_0-rmse:0.16796 validation_1-rmse:0.13472 +[70] validation_0-rmse:0.16737 validation_1-rmse:0.13405 +[71] validation_0-rmse:0.16686 validation_1-rmse:0.13342 +[72] validation_0-rmse:0.16639 validation_1-rmse:0.13270 +[73] validation_0-rmse:0.16648 validation_1-rmse:0.13149 +[74] validation_0-rmse:0.16609 validation_1-rmse:0.13086 +[75] validation_0-rmse:0.16560 validation_1-rmse:0.13025 +[76] validation_0-rmse:0.16530 validation_1-rmse:0.12925 +[77] validation_0-rmse:0.16492 validation_1-rmse:0.12824 +[78] validation_0-rmse:0.16451 validation_1-rmse:0.12770 +[79] validation_0-rmse:0.16414 validation_1-rmse:0.12710 +[80] validation_0-rmse:0.16377 validation_1-rmse:0.12654 +[81] validation_0-rmse:0.16338 validation_1-rmse:0.12595 +[82] validation_0-rmse:0.16317 validation_1-rmse:0.12490 +[83] validation_0-rmse:0.16249 validation_1-rmse:0.12361 +[84] validation_0-rmse:0.16217 validation_1-rmse:0.12307 +[85] validation_0-rmse:0.16178 validation_1-rmse:0.12255 +[86] validation_0-rmse:0.16149 validation_1-rmse:0.12206 +[87] validation_0-rmse:0.16113 validation_1-rmse:0.12155 +[88] validation_0-rmse:0.16049 validation_1-rmse:0.12061 +[89] validation_0-rmse:0.16008 validation_1-rmse:0.11990 +[90] validation_0-rmse:0.15955 validation_1-rmse:0.11882 +[91] validation_0-rmse:0.15927 validation_1-rmse:0.11842 +[92] validation_0-rmse:0.15891 validation_1-rmse:0.11796 +[93] validation_0-rmse:0.15880 validation_1-rmse:0.11730 +[94] validation_0-rmse:0.15829 validation_1-rmse:0.11631 +[95] validation_0-rmse:0.15809 validation_1-rmse:0.11584 +[96] validation_0-rmse:0.15778 validation_1-rmse:0.11544 +[97] validation_0-rmse:0.15763 validation_1-rmse:0.11504 +[98] validation_0-rmse:0.15724 validation_1-rmse:0.11438 +[99] validation_0-rmse:0.15694 validation_1-rmse:0.11396 +2025-04-29 01:56:05,520 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training BTC/USDT (5.77 secs) -------------------- +2025-04-29 01:56:05,521 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:56:06,027 - freqtrade.freqai.freqai_interface - INFO - Training BTC/USDT, 1/2 pairs from 2025-03-12 00:00:00 to 2025-04-11 00:00:00, 11/11 trains +2025-04-29 01:56:06,027 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_btc_1744329600_prediction.feather +2025-04-29 01:56:06,037 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:56:06,045 - FreqaiExampleStrategy - INFO - 目标列形状:(62450,) +2025-04-29 01:56:06,046 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.024153 +1 0.003285 50.024153 +2 0.001898 50.024153 +3 0.000484 50.024153 +4 0.001688 50.024153 +2025-04-29 01:56:06,057 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:BTC/USDT +2025-04-29 01:56:06,064 - FreqaiExampleStrategy - INFO - 目标列形状:(66770,) +2025-04-29 01:56:06,065 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.003572 50.093162 +1 0.003285 50.093162 +2 0.001898 50.093162 +3 0.000484 50.093162 +4 0.001688 50.093162 +2025-04-29 01:56:06,070 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-BTC_1744329600/cb_btc_1744329600 +2025-04-29 01:56:06,071 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training BTC/USDT -------------------- +2025-04-29 01:56:06,087 - freqtrade.freqai.data_kitchen - INFO - BTC/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:56:06,088 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-03-12 to 2025-04-10 -------------------- +2025-04-29 01:56:10,904 - datasieve.pipeline - INFO - DI tossed 2001 predictions for being too far from training data. +2025-04-29 01:56:10,907 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 75 features +2025-04-29 01:56:10,907 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.32950 validation_1-rmse:0.29220 +[1] validation_0-rmse:0.32402 validation_1-rmse:0.28580 +[2] validation_0-rmse:0.31922 validation_1-rmse:0.27974 +[3] validation_0-rmse:0.31450 validation_1-rmse:0.27409 +[4] validation_0-rmse:0.30969 validation_1-rmse:0.26866 +[5] validation_0-rmse:0.30585 validation_1-rmse:0.26346 +[6] validation_0-rmse:0.30202 validation_1-rmse:0.25855 +[7] validation_0-rmse:0.29888 validation_1-rmse:0.25375 +[8] validation_0-rmse:0.29520 validation_1-rmse:0.24919 +[9] validation_0-rmse:0.29164 validation_1-rmse:0.24487 +[10] validation_0-rmse:0.28843 validation_1-rmse:0.24072 +[11] validation_0-rmse:0.28514 validation_1-rmse:0.23667 +[12] validation_0-rmse:0.28114 validation_1-rmse:0.23279 +[13] validation_0-rmse:0.27740 validation_1-rmse:0.22909 +[14] validation_0-rmse:0.27421 validation_1-rmse:0.22543 +[15] validation_0-rmse:0.27115 validation_1-rmse:0.22210 +[16] validation_0-rmse:0.26820 validation_1-rmse:0.21859 +[17] validation_0-rmse:0.26549 validation_1-rmse:0.21528 +[18] validation_0-rmse:0.26254 validation_1-rmse:0.21226 +[19] validation_0-rmse:0.25967 validation_1-rmse:0.20927 +[20] validation_0-rmse:0.25735 validation_1-rmse:0.20641 +[21] validation_0-rmse:0.25470 validation_1-rmse:0.20366 +[22] validation_0-rmse:0.25265 validation_1-rmse:0.20073 +[23] validation_0-rmse:0.25054 validation_1-rmse:0.19819 +[24] validation_0-rmse:0.24806 validation_1-rmse:0.19573 +[25] validation_0-rmse:0.24570 validation_1-rmse:0.19304 +[26] validation_0-rmse:0.24361 validation_1-rmse:0.19076 +[27] validation_0-rmse:0.24148 validation_1-rmse:0.18853 +[28] validation_0-rmse:0.24014 validation_1-rmse:0.18621 +[29] validation_0-rmse:0.23792 validation_1-rmse:0.18410 +[30] validation_0-rmse:0.23603 validation_1-rmse:0.18203 +[31] validation_0-rmse:0.23421 validation_1-rmse:0.17990 +[32] validation_0-rmse:0.23264 validation_1-rmse:0.17800 +[33] validation_0-rmse:0.23087 validation_1-rmse:0.17616 +[34] validation_0-rmse:0.22949 validation_1-rmse:0.17427 +[35] validation_0-rmse:0.22857 validation_1-rmse:0.17234 +[36] validation_0-rmse:0.22690 validation_1-rmse:0.17065 +[37] validation_0-rmse:0.22566 validation_1-rmse:0.16898 +[38] validation_0-rmse:0.22462 validation_1-rmse:0.16738 +[39] validation_0-rmse:0.22376 validation_1-rmse:0.16567 +[40] validation_0-rmse:0.22232 validation_1-rmse:0.16410 +[41] validation_0-rmse:0.22105 validation_1-rmse:0.16265 +[42] validation_0-rmse:0.22006 validation_1-rmse:0.16111 +[43] validation_0-rmse:0.21847 validation_1-rmse:0.15976 +[44] validation_0-rmse:0.21782 validation_1-rmse:0.15824 +[45] validation_0-rmse:0.21641 validation_1-rmse:0.15686 +[46] validation_0-rmse:0.21552 validation_1-rmse:0.15554 +[47] validation_0-rmse:0.21459 validation_1-rmse:0.15417 +[48] validation_0-rmse:0.21339 validation_1-rmse:0.15293 +[49] validation_0-rmse:0.21255 validation_1-rmse:0.15176 +[50] validation_0-rmse:0.21192 validation_1-rmse:0.15047 +[51] validation_0-rmse:0.21115 validation_1-rmse:0.14910 +[52] validation_0-rmse:0.21072 validation_1-rmse:0.14774 +[53] validation_0-rmse:0.20992 validation_1-rmse:0.14670 +[54] validation_0-rmse:0.20839 validation_1-rmse:0.14541 +[55] validation_0-rmse:0.20753 validation_1-rmse:0.14442 +[56] validation_0-rmse:0.20648 validation_1-rmse:0.14328 +[57] validation_0-rmse:0.20564 validation_1-rmse:0.14229 +[58] validation_0-rmse:0.20473 validation_1-rmse:0.14137 +[59] validation_0-rmse:0.20418 validation_1-rmse:0.14011 +[60] validation_0-rmse:0.20341 validation_1-rmse:0.13923 +[61] validation_0-rmse:0.20258 validation_1-rmse:0.13839 +[62] validation_0-rmse:0.20230 validation_1-rmse:0.13723 +[63] validation_0-rmse:0.20075 validation_1-rmse:0.13546 +[64] validation_0-rmse:0.20007 validation_1-rmse:0.13467 +[65] validation_0-rmse:0.19937 validation_1-rmse:0.13387 +[66] validation_0-rmse:0.19875 validation_1-rmse:0.13296 +[67] validation_0-rmse:0.19709 validation_1-rmse:0.13137 +[68] validation_0-rmse:0.19675 validation_1-rmse:0.13042 +[69] validation_0-rmse:0.19617 validation_1-rmse:0.12968 +[70] validation_0-rmse:0.19560 validation_1-rmse:0.12900 +[71] validation_0-rmse:0.19492 validation_1-rmse:0.12834 +[72] validation_0-rmse:0.19319 validation_1-rmse:0.12681 +[73] validation_0-rmse:0.19272 validation_1-rmse:0.12612 +[74] validation_0-rmse:0.19230 validation_1-rmse:0.12535 +[75] validation_0-rmse:0.19170 validation_1-rmse:0.12474 +[76] validation_0-rmse:0.19058 validation_1-rmse:0.12338 +[77] validation_0-rmse:0.19010 validation_1-rmse:0.12279 +[78] validation_0-rmse:0.18961 validation_1-rmse:0.12223 +[79] validation_0-rmse:0.18960 validation_1-rmse:0.12156 +[80] validation_0-rmse:0.18882 validation_1-rmse:0.12038 +[81] validation_0-rmse:0.18819 validation_1-rmse:0.11975 +[82] validation_0-rmse:0.18789 validation_1-rmse:0.11916 +[83] validation_0-rmse:0.18738 validation_1-rmse:0.11864 +[84] validation_0-rmse:0.18718 validation_1-rmse:0.11801 +[85] validation_0-rmse:0.18600 validation_1-rmse:0.11698 +[86] validation_0-rmse:0.18572 validation_1-rmse:0.11653 +[87] validation_0-rmse:0.18534 validation_1-rmse:0.11603 +[88] validation_0-rmse:0.18478 validation_1-rmse:0.11508 +[89] validation_0-rmse:0.18430 validation_1-rmse:0.11459 +[90] validation_0-rmse:0.18447 validation_1-rmse:0.11396 +[91] validation_0-rmse:0.18424 validation_1-rmse:0.11352 +[92] validation_0-rmse:0.18367 validation_1-rmse:0.11307 +[93] validation_0-rmse:0.18333 validation_1-rmse:0.11265 +[94] validation_0-rmse:0.18313 validation_1-rmse:0.11216 +[95] validation_0-rmse:0.18275 validation_1-rmse:0.11157 +[96] validation_0-rmse:0.18275 validation_1-rmse:0.11106 +[97] validation_0-rmse:0.18248 validation_1-rmse:0.11068 +[98] validation_0-rmse:0.18220 validation_1-rmse:0.11033 +[99] validation_0-rmse:0.18198 validation_1-rmse:0.10994 +2025-04-29 01:56:11,705 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training BTC/USDT (5.63 secs) -------------------- +2025-04-29 01:56:11,706 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:56:12,255 - FreqaiExampleStrategy - INFO - 动态参数:buy_rsi=39.26145316407591, sell_rsi=59.26145316407591, stoploss=-0.15, trailing_stop_positive=0.05 +2025-04-29 01:56:12,275 - FreqaiExampleStrategy - INFO - up_or_down 值统计: +up_or_down +1 33535 +0 33236 +2025-04-29 01:56:12,276 - FreqaiExampleStrategy - INFO - do_predict 值统计: +do_predict +0.0 35773 +1.0 30998 +2025-04-29 01:56:12,279 - FreqaiExampleStrategy - INFO - 处理交易对:SOL/USDT +2025-04-29 01:56:12,281 - freqtrade.freqai.freqai_interface - INFO - Training 11 timeranges +2025-04-29 01:56:12,282 - freqtrade.freqai.freqai_interface - INFO - Training SOL/USDT, 2/2 pairs from 2024-12-02 00:00:00 to 2025-01-01 00:00:00, 1/11 trains +2025-04-29 01:56:12,283 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_sol_1735689600_prediction.feather +2025-04-29 01:56:12,334 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 5m to 8690 +2025-04-29 01:56:12,335 - freqtrade.data.dataprovider - INFO - Loading data for SOL/USDT 5m from 2024-12-01 19:50:00 to 2025-04-20 00:00:00 +2025-04-29 01:56:12,422 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 1h to 770 +2025-04-29 01:56:12,422 - freqtrade.data.dataprovider - INFO - Loading data for SOL/USDT 1h from 2024-11-29 22:00:00 to 2025-04-20 00:00:00 +2025-04-29 01:56:12,518 - freqtrade.data.dataprovider - INFO - Increasing startup_candle_count for freqai on 3m to 14450 +2025-04-29 01:56:12,519 - freqtrade.data.dataprovider - INFO - Loading data for BTC/USDT 3m from 2024-12-01 21:30:00 to 2025-04-20 00:00:00 +2025-04-29 01:56:13,040 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:56:13,046 - FreqaiExampleStrategy - INFO - 目标列形状:(14450,) +2025-04-29 01:56:13,047 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.58814 +1 0.003044 49.58814 +2 0.000465 49.58814 +3 -0.000380 49.58814 +4 0.002829 49.58814 +2025-04-29 01:56:13,052 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:56:13,057 - FreqaiExampleStrategy - INFO - 目标列形状:(19250,) +2025-04-29 01:56:13,059 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.68088 +1 0.003044 49.68088 +2 0.000465 49.68088 +3 -0.000380 49.68088 +4 0.002829 49.68088 +2025-04-29 01:56:13,066 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-SOL_1735689600/cb_sol_1735689600 +2025-04-29 01:56:13,066 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training SOL/USDT -------------------- +2025-04-29 01:56:13,095 - freqtrade.freqai.data_kitchen - INFO - SOL/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:56:13,096 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2024-12-02 to 2024-12-31 -------------------- +2025-04-29 01:56:18,126 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 111 features +2025-04-29 01:56:18,126 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.30164 validation_1-rmse:0.29585 +[1] validation_0-rmse:0.29609 validation_1-rmse:0.28921 +[2] validation_0-rmse:0.29103 validation_1-rmse:0.28298 +[3] validation_0-rmse:0.28604 validation_1-rmse:0.27706 +[4] validation_0-rmse:0.28108 validation_1-rmse:0.27129 +[5] validation_0-rmse:0.27670 validation_1-rmse:0.26609 +[6] validation_0-rmse:0.27234 validation_1-rmse:0.26092 +[7] validation_0-rmse:0.26874 validation_1-rmse:0.25593 +[8] validation_0-rmse:0.26461 validation_1-rmse:0.25118 +[9] validation_0-rmse:0.26074 validation_1-rmse:0.24677 +[10] validation_0-rmse:0.25745 validation_1-rmse:0.24239 +[11] validation_0-rmse:0.25460 validation_1-rmse:0.23832 +[12] validation_0-rmse:0.25121 validation_1-rmse:0.23441 +[13] validation_0-rmse:0.24825 validation_1-rmse:0.23068 +[14] validation_0-rmse:0.24580 validation_1-rmse:0.22694 +[15] validation_0-rmse:0.24286 validation_1-rmse:0.22346 +[16] validation_0-rmse:0.24051 validation_1-rmse:0.22006 +[17] validation_0-rmse:0.23821 validation_1-rmse:0.21690 +[18] validation_0-rmse:0.23549 validation_1-rmse:0.21383 +[19] validation_0-rmse:0.23335 validation_1-rmse:0.21087 +[20] validation_0-rmse:0.23089 validation_1-rmse:0.20804 +[21] validation_0-rmse:0.22918 validation_1-rmse:0.20505 +[22] validation_0-rmse:0.22716 validation_1-rmse:0.20240 +[23] validation_0-rmse:0.22562 validation_1-rmse:0.19981 +[24] validation_0-rmse:0.22385 validation_1-rmse:0.19723 +[25] validation_0-rmse:0.22201 validation_1-rmse:0.19473 +[26] validation_0-rmse:0.22016 validation_1-rmse:0.19245 +[27] validation_0-rmse:0.21834 validation_1-rmse:0.19024 +[28] validation_0-rmse:0.21671 validation_1-rmse:0.18789 +[29] validation_0-rmse:0.21493 validation_1-rmse:0.18579 +[30] validation_0-rmse:0.21385 validation_1-rmse:0.18351 +[31] validation_0-rmse:0.21216 validation_1-rmse:0.18156 +[32] validation_0-rmse:0.21088 validation_1-rmse:0.17941 +[33] validation_0-rmse:0.20953 validation_1-rmse:0.17754 +[34] validation_0-rmse:0.20805 validation_1-rmse:0.17575 +[35] validation_0-rmse:0.20648 validation_1-rmse:0.17399 +[36] validation_0-rmse:0.20515 validation_1-rmse:0.17220 +[37] validation_0-rmse:0.20382 validation_1-rmse:0.17031 +[38] validation_0-rmse:0.20257 validation_1-rmse:0.16871 +[39] validation_0-rmse:0.20125 validation_1-rmse:0.16718 +[40] validation_0-rmse:0.20005 validation_1-rmse:0.16574 +[41] validation_0-rmse:0.19885 validation_1-rmse:0.16415 +[42] validation_0-rmse:0.19789 validation_1-rmse:0.16270 +[43] validation_0-rmse:0.19680 validation_1-rmse:0.16130 +[44] validation_0-rmse:0.19564 validation_1-rmse:0.15993 +[45] validation_0-rmse:0.19480 validation_1-rmse:0.15854 +[46] validation_0-rmse:0.19376 validation_1-rmse:0.15728 +[47] validation_0-rmse:0.19290 validation_1-rmse:0.15568 +[48] validation_0-rmse:0.19223 validation_1-rmse:0.15445 +[49] validation_0-rmse:0.19129 validation_1-rmse:0.15330 +[50] validation_0-rmse:0.19035 validation_1-rmse:0.15194 +[51] validation_0-rmse:0.18948 validation_1-rmse:0.15082 +[52] validation_0-rmse:0.18882 validation_1-rmse:0.14945 +[53] validation_0-rmse:0.18801 validation_1-rmse:0.14840 +[54] validation_0-rmse:0.18707 validation_1-rmse:0.14736 +[55] validation_0-rmse:0.18637 validation_1-rmse:0.14635 +[56] validation_0-rmse:0.18571 validation_1-rmse:0.14542 +[57] validation_0-rmse:0.18497 validation_1-rmse:0.14413 +[58] validation_0-rmse:0.18443 validation_1-rmse:0.14297 +[59] validation_0-rmse:0.18375 validation_1-rmse:0.14203 +[60] validation_0-rmse:0.18319 validation_1-rmse:0.14111 +[61] validation_0-rmse:0.18266 validation_1-rmse:0.14030 +[62] validation_0-rmse:0.18185 validation_1-rmse:0.13914 +[63] validation_0-rmse:0.18145 validation_1-rmse:0.13831 +[64] validation_0-rmse:0.18135 validation_1-rmse:0.13720 +[65] validation_0-rmse:0.18075 validation_1-rmse:0.13643 +[66] validation_0-rmse:0.18020 validation_1-rmse:0.13560 +[67] validation_0-rmse:0.17951 validation_1-rmse:0.13485 +[68] validation_0-rmse:0.17888 validation_1-rmse:0.13414 +[69] validation_0-rmse:0.17850 validation_1-rmse:0.13343 +[70] validation_0-rmse:0.17798 validation_1-rmse:0.13224 +[71] validation_0-rmse:0.17751 validation_1-rmse:0.13133 +[72] validation_0-rmse:0.17711 validation_1-rmse:0.13062 +[73] validation_0-rmse:0.17701 validation_1-rmse:0.12966 +[74] validation_0-rmse:0.17648 validation_1-rmse:0.12872 +[75] validation_0-rmse:0.17611 validation_1-rmse:0.12806 +[76] validation_0-rmse:0.17573 validation_1-rmse:0.12732 +[77] validation_0-rmse:0.17528 validation_1-rmse:0.12664 +[78] validation_0-rmse:0.17478 validation_1-rmse:0.12605 +[79] validation_0-rmse:0.17432 validation_1-rmse:0.12518 +[80] validation_0-rmse:0.17391 validation_1-rmse:0.12466 +[81] validation_0-rmse:0.17358 validation_1-rmse:0.12398 +[82] validation_0-rmse:0.17315 validation_1-rmse:0.12342 +[83] validation_0-rmse:0.17260 validation_1-rmse:0.12276 +[84] validation_0-rmse:0.17220 validation_1-rmse:0.12222 +[85] validation_0-rmse:0.17182 validation_1-rmse:0.12176 +[86] validation_0-rmse:0.17152 validation_1-rmse:0.12124 +[87] validation_0-rmse:0.17103 validation_1-rmse:0.12046 +[88] validation_0-rmse:0.17085 validation_1-rmse:0.11974 +[89] validation_0-rmse:0.17053 validation_1-rmse:0.11930 +[90] validation_0-rmse:0.17018 validation_1-rmse:0.11888 +[91] validation_0-rmse:0.17011 validation_1-rmse:0.11810 +[92] validation_0-rmse:0.16980 validation_1-rmse:0.11762 +[93] validation_0-rmse:0.16956 validation_1-rmse:0.11689 +[94] validation_0-rmse:0.16923 validation_1-rmse:0.11641 +[95] validation_0-rmse:0.16912 validation_1-rmse:0.11579 +[96] validation_0-rmse:0.16878 validation_1-rmse:0.11530 +[97] validation_0-rmse:0.16857 validation_1-rmse:0.11489 +[98] validation_0-rmse:0.16824 validation_1-rmse:0.11442 +[99] validation_0-rmse:0.16824 validation_1-rmse:0.11403 +2025-04-29 01:56:19,586 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training SOL/USDT (6.52 secs) -------------------- +2025-04-29 01:56:19,587 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:56:20,174 - freqtrade.freqai.freqai_interface - INFO - Training SOL/USDT, 2/2 pairs from 2024-12-12 00:00:00 to 2025-01-11 00:00:00, 2/11 trains +2025-04-29 01:56:20,175 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_sol_1736553600_prediction.feather +2025-04-29 01:56:20,179 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:56:20,185 - FreqaiExampleStrategy - INFO - 目标列形状:(19250,) +2025-04-29 01:56:20,186 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.68088 +1 0.003044 49.68088 +2 0.000465 49.68088 +3 -0.000380 49.68088 +4 0.002829 49.68088 +2025-04-29 01:56:20,192 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:56:20,197 - FreqaiExampleStrategy - INFO - 目标列形状:(24050,) +2025-04-29 01:56:20,199 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.97721 +1 0.003044 49.97721 +2 0.000465 49.97721 +3 -0.000380 49.97721 +4 0.002829 49.97721 +2025-04-29 01:56:20,204 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-SOL_1736553600/cb_sol_1736553600 +2025-04-29 01:56:20,205 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training SOL/USDT -------------------- +2025-04-29 01:56:20,227 - freqtrade.freqai.data_kitchen - INFO - SOL/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:56:20,228 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2024-12-12 to 2025-01-10 -------------------- +2025-04-29 01:56:25,109 - datasieve.pipeline - INFO - DI tossed 5 predictions for being too far from training data. +2025-04-29 01:56:25,112 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 111 features +2025-04-29 01:56:25,112 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.29597 validation_1-rmse:0.29016 +[1] validation_0-rmse:0.29075 validation_1-rmse:0.28391 +[2] validation_0-rmse:0.28602 validation_1-rmse:0.27798 +[3] validation_0-rmse:0.28062 validation_1-rmse:0.27213 +[4] validation_0-rmse:0.27647 validation_1-rmse:0.26682 +[5] validation_0-rmse:0.27188 validation_1-rmse:0.26144 +[6] validation_0-rmse:0.26781 validation_1-rmse:0.25655 +[7] validation_0-rmse:0.26412 validation_1-rmse:0.25180 +[8] validation_0-rmse:0.25994 validation_1-rmse:0.24709 +[9] validation_0-rmse:0.25649 validation_1-rmse:0.24277 +[10] validation_0-rmse:0.25332 validation_1-rmse:0.23850 +[11] validation_0-rmse:0.24999 validation_1-rmse:0.23452 +[12] validation_0-rmse:0.24687 validation_1-rmse:0.23072 +[13] validation_0-rmse:0.24432 validation_1-rmse:0.22694 +[14] validation_0-rmse:0.24128 validation_1-rmse:0.22341 +[15] validation_0-rmse:0.23869 validation_1-rmse:0.21969 +[16] validation_0-rmse:0.23628 validation_1-rmse:0.21635 +[17] validation_0-rmse:0.23354 validation_1-rmse:0.21326 +[18] validation_0-rmse:0.23123 validation_1-rmse:0.21007 +[19] validation_0-rmse:0.22919 validation_1-rmse:0.20707 +[20] validation_0-rmse:0.22705 validation_1-rmse:0.20418 +[21] validation_0-rmse:0.22505 validation_1-rmse:0.20149 +[22] validation_0-rmse:0.22285 validation_1-rmse:0.19887 +[23] validation_0-rmse:0.22084 validation_1-rmse:0.19631 +[24] validation_0-rmse:0.21877 validation_1-rmse:0.19389 +[25] validation_0-rmse:0.21748 validation_1-rmse:0.19133 +[26] validation_0-rmse:0.21557 validation_1-rmse:0.18870 +[27] validation_0-rmse:0.21374 validation_1-rmse:0.18648 +[28] validation_0-rmse:0.21183 validation_1-rmse:0.18432 +[29] validation_0-rmse:0.21047 validation_1-rmse:0.18209 +[30] validation_0-rmse:0.20873 validation_1-rmse:0.17990 +[31] validation_0-rmse:0.20717 validation_1-rmse:0.17795 +[32] validation_0-rmse:0.20564 validation_1-rmse:0.17599 +[33] validation_0-rmse:0.20428 validation_1-rmse:0.17421 +[34] validation_0-rmse:0.20290 validation_1-rmse:0.17229 +[35] validation_0-rmse:0.20161 validation_1-rmse:0.17047 +[36] validation_0-rmse:0.20018 validation_1-rmse:0.16878 +[37] validation_0-rmse:0.19923 validation_1-rmse:0.16688 +[38] validation_0-rmse:0.19796 validation_1-rmse:0.16534 +[39] validation_0-rmse:0.19668 validation_1-rmse:0.16355 +[40] validation_0-rmse:0.19543 validation_1-rmse:0.16204 +[41] validation_0-rmse:0.19441 validation_1-rmse:0.16062 +[42] validation_0-rmse:0.19344 validation_1-rmse:0.15910 +[43] validation_0-rmse:0.19256 validation_1-rmse:0.15759 +[44] validation_0-rmse:0.19154 validation_1-rmse:0.15625 +[45] validation_0-rmse:0.19048 validation_1-rmse:0.15494 +[46] validation_0-rmse:0.18937 validation_1-rmse:0.15366 +[47] validation_0-rmse:0.18865 validation_1-rmse:0.15236 +[48] validation_0-rmse:0.18784 validation_1-rmse:0.15112 +[49] validation_0-rmse:0.18704 validation_1-rmse:0.14998 +[50] validation_0-rmse:0.18625 validation_1-rmse:0.14874 +[51] validation_0-rmse:0.18541 validation_1-rmse:0.14763 +[52] validation_0-rmse:0.18456 validation_1-rmse:0.14659 +[53] validation_0-rmse:0.18383 validation_1-rmse:0.14530 +[54] validation_0-rmse:0.18315 validation_1-rmse:0.14420 +[55] validation_0-rmse:0.18234 validation_1-rmse:0.14321 +[56] validation_0-rmse:0.18181 validation_1-rmse:0.14206 +[57] validation_0-rmse:0.18109 validation_1-rmse:0.14106 +[58] validation_0-rmse:0.18033 validation_1-rmse:0.13996 +[59] validation_0-rmse:0.17964 validation_1-rmse:0.13905 +[60] validation_0-rmse:0.17921 validation_1-rmse:0.13820 +[61] validation_0-rmse:0.17865 validation_1-rmse:0.13731 +[62] validation_0-rmse:0.17795 validation_1-rmse:0.13648 +[63] validation_0-rmse:0.17737 validation_1-rmse:0.13559 +[64] validation_0-rmse:0.17680 validation_1-rmse:0.13483 +[65] validation_0-rmse:0.17628 validation_1-rmse:0.13408 +[66] validation_0-rmse:0.17588 validation_1-rmse:0.13303 +[67] validation_0-rmse:0.17530 validation_1-rmse:0.13228 +[68] validation_0-rmse:0.17478 validation_1-rmse:0.13153 +[69] validation_0-rmse:0.17439 validation_1-rmse:0.13081 +[70] validation_0-rmse:0.17401 validation_1-rmse:0.12991 +[71] validation_0-rmse:0.17347 validation_1-rmse:0.12911 +[72] validation_0-rmse:0.17304 validation_1-rmse:0.12838 +[73] validation_0-rmse:0.17254 validation_1-rmse:0.12774 +[74] validation_0-rmse:0.17207 validation_1-rmse:0.12656 +[75] validation_0-rmse:0.17185 validation_1-rmse:0.12571 +[76] validation_0-rmse:0.17126 validation_1-rmse:0.12512 +[77] validation_0-rmse:0.17096 validation_1-rmse:0.12447 +[78] validation_0-rmse:0.17064 validation_1-rmse:0.12381 +[79] validation_0-rmse:0.17024 validation_1-rmse:0.12300 +[80] validation_0-rmse:0.16989 validation_1-rmse:0.12244 +[81] validation_0-rmse:0.16955 validation_1-rmse:0.12180 +[82] validation_0-rmse:0.16924 validation_1-rmse:0.12129 +[83] validation_0-rmse:0.16931 validation_1-rmse:0.12037 +[84] validation_0-rmse:0.16888 validation_1-rmse:0.11970 +[85] validation_0-rmse:0.16845 validation_1-rmse:0.11914 +[86] validation_0-rmse:0.16809 validation_1-rmse:0.11840 +[87] validation_0-rmse:0.16766 validation_1-rmse:0.11760 +[88] validation_0-rmse:0.16741 validation_1-rmse:0.11714 +[89] validation_0-rmse:0.16707 validation_1-rmse:0.11667 +[90] validation_0-rmse:0.16683 validation_1-rmse:0.11592 +[91] validation_0-rmse:0.16643 validation_1-rmse:0.11537 +[92] validation_0-rmse:0.16621 validation_1-rmse:0.11455 +[93] validation_0-rmse:0.16611 validation_1-rmse:0.11396 +[94] validation_0-rmse:0.16587 validation_1-rmse:0.11350 +[95] validation_0-rmse:0.16563 validation_1-rmse:0.11308 +[96] validation_0-rmse:0.16535 validation_1-rmse:0.11237 +[97] validation_0-rmse:0.16487 validation_1-rmse:0.11173 +[98] validation_0-rmse:0.16461 validation_1-rmse:0.11133 +[99] validation_0-rmse:0.16437 validation_1-rmse:0.11096 +2025-04-29 01:56:26,510 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training SOL/USDT (6.30 secs) -------------------- +2025-04-29 01:56:26,511 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:56:27,072 - freqtrade.freqai.freqai_interface - INFO - Training SOL/USDT, 2/2 pairs from 2024-12-22 00:00:00 to 2025-01-21 00:00:00, 3/11 trains +2025-04-29 01:56:27,073 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_sol_1737417600_prediction.feather +2025-04-29 01:56:27,079 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:56:27,085 - FreqaiExampleStrategy - INFO - 目标列形状:(24050,) +2025-04-29 01:56:27,086 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.97721 +1 0.003044 49.97721 +2 0.000465 49.97721 +3 -0.000380 49.97721 +4 0.002829 49.97721 +2025-04-29 01:56:27,094 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:56:27,100 - FreqaiExampleStrategy - INFO - 目标列形状:(28850,) +2025-04-29 01:56:27,102 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.941408 +1 0.003044 49.941408 +2 0.000465 49.941408 +3 -0.000380 49.941408 +4 0.002829 49.941408 +2025-04-29 01:56:27,108 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-SOL_1737417600/cb_sol_1737417600 +2025-04-29 01:56:27,109 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training SOL/USDT -------------------- +2025-04-29 01:56:27,130 - freqtrade.freqai.data_kitchen - INFO - SOL/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:56:27,131 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2024-12-22 to 2025-01-20 -------------------- +2025-04-29 01:56:32,206 - datasieve.pipeline - INFO - DI tossed 1523 predictions for being too far from training data. +2025-04-29 01:56:32,209 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 111 features +2025-04-29 01:56:32,210 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.30838 validation_1-rmse:0.28356 +[1] validation_0-rmse:0.30280 validation_1-rmse:0.27752 +[2] validation_0-rmse:0.29759 validation_1-rmse:0.27179 +[3] validation_0-rmse:0.29330 validation_1-rmse:0.26614 +[4] validation_0-rmse:0.28936 validation_1-rmse:0.26091 +[5] validation_0-rmse:0.28544 validation_1-rmse:0.25581 +[6] validation_0-rmse:0.28151 validation_1-rmse:0.25102 +[7] validation_0-rmse:0.27790 validation_1-rmse:0.24636 +[8] validation_0-rmse:0.27429 validation_1-rmse:0.24196 +[9] validation_0-rmse:0.27104 validation_1-rmse:0.23770 +[10] validation_0-rmse:0.26762 validation_1-rmse:0.23356 +[11] validation_0-rmse:0.26472 validation_1-rmse:0.22966 +[12] validation_0-rmse:0.26219 validation_1-rmse:0.22601 +[13] validation_0-rmse:0.25924 validation_1-rmse:0.22234 +[14] validation_0-rmse:0.25634 validation_1-rmse:0.21888 +[15] validation_0-rmse:0.25379 validation_1-rmse:0.21545 +[16] validation_0-rmse:0.25117 validation_1-rmse:0.21221 +[17] validation_0-rmse:0.24877 validation_1-rmse:0.20902 +[18] validation_0-rmse:0.24653 validation_1-rmse:0.20604 +[19] validation_0-rmse:0.24404 validation_1-rmse:0.20315 +[20] validation_0-rmse:0.24194 validation_1-rmse:0.20032 +[21] validation_0-rmse:0.23966 validation_1-rmse:0.19765 +[22] validation_0-rmse:0.23804 validation_1-rmse:0.19481 +[23] validation_0-rmse:0.23599 validation_1-rmse:0.19230 +[24] validation_0-rmse:0.23384 validation_1-rmse:0.18993 +[25] validation_0-rmse:0.23196 validation_1-rmse:0.18756 +[26] validation_0-rmse:0.23057 validation_1-rmse:0.18506 +[27] validation_0-rmse:0.22854 validation_1-rmse:0.18283 +[28] validation_0-rmse:0.22705 validation_1-rmse:0.18071 +[29] validation_0-rmse:0.22557 validation_1-rmse:0.17851 +[30] validation_0-rmse:0.22394 validation_1-rmse:0.17644 +[31] validation_0-rmse:0.22213 validation_1-rmse:0.17452 +[32] validation_0-rmse:0.22064 validation_1-rmse:0.17267 +[33] validation_0-rmse:0.21905 validation_1-rmse:0.17084 +[34] validation_0-rmse:0.21806 validation_1-rmse:0.16880 +[35] validation_0-rmse:0.21693 validation_1-rmse:0.16700 +[36] validation_0-rmse:0.21537 validation_1-rmse:0.16520 +[37] validation_0-rmse:0.21417 validation_1-rmse:0.16362 +[38] validation_0-rmse:0.21282 validation_1-rmse:0.16204 +[39] validation_0-rmse:0.21137 validation_1-rmse:0.16047 +[40] validation_0-rmse:0.20994 validation_1-rmse:0.15897 +[41] validation_0-rmse:0.20878 validation_1-rmse:0.15747 +[42] validation_0-rmse:0.20766 validation_1-rmse:0.15604 +[43] validation_0-rmse:0.20666 validation_1-rmse:0.15444 +[44] validation_0-rmse:0.20566 validation_1-rmse:0.15316 +[45] validation_0-rmse:0.20496 validation_1-rmse:0.15162 +[46] validation_0-rmse:0.20394 validation_1-rmse:0.15038 +[47] validation_0-rmse:0.20277 validation_1-rmse:0.14909 +[48] validation_0-rmse:0.20176 validation_1-rmse:0.14793 +[49] validation_0-rmse:0.20072 validation_1-rmse:0.14681 +[50] validation_0-rmse:0.20058 validation_1-rmse:0.14528 +[51] validation_0-rmse:0.19970 validation_1-rmse:0.14419 +[52] validation_0-rmse:0.19887 validation_1-rmse:0.14284 +[53] validation_0-rmse:0.19809 validation_1-rmse:0.14182 +[54] validation_0-rmse:0.19725 validation_1-rmse:0.14076 +[55] validation_0-rmse:0.19636 validation_1-rmse:0.13981 +[56] validation_0-rmse:0.19615 validation_1-rmse:0.13853 +[57] validation_0-rmse:0.19540 validation_1-rmse:0.13757 +[58] validation_0-rmse:0.19460 validation_1-rmse:0.13664 +[59] validation_0-rmse:0.19418 validation_1-rmse:0.13553 +[60] validation_0-rmse:0.19382 validation_1-rmse:0.13445 +[61] validation_0-rmse:0.19302 validation_1-rmse:0.13363 +[62] validation_0-rmse:0.19218 validation_1-rmse:0.13270 +[63] validation_0-rmse:0.19154 validation_1-rmse:0.13183 +[64] validation_0-rmse:0.19083 validation_1-rmse:0.13105 +[65] validation_0-rmse:0.19005 validation_1-rmse:0.13008 +[66] validation_0-rmse:0.18929 validation_1-rmse:0.12932 +[67] validation_0-rmse:0.18885 validation_1-rmse:0.12851 +[68] validation_0-rmse:0.18837 validation_1-rmse:0.12781 +[69] validation_0-rmse:0.18790 validation_1-rmse:0.12711 +[70] validation_0-rmse:0.18732 validation_1-rmse:0.12617 +[71] validation_0-rmse:0.18682 validation_1-rmse:0.12552 +[72] validation_0-rmse:0.18669 validation_1-rmse:0.12448 +[73] validation_0-rmse:0.18617 validation_1-rmse:0.12382 +[74] validation_0-rmse:0.18587 validation_1-rmse:0.12322 +[75] validation_0-rmse:0.18544 validation_1-rmse:0.12261 +[76] validation_0-rmse:0.18524 validation_1-rmse:0.12162 +[77] validation_0-rmse:0.18486 validation_1-rmse:0.12098 +[78] validation_0-rmse:0.18443 validation_1-rmse:0.12021 +[79] validation_0-rmse:0.18415 validation_1-rmse:0.11963 +[80] validation_0-rmse:0.18393 validation_1-rmse:0.11866 +[81] validation_0-rmse:0.18344 validation_1-rmse:0.11809 +[82] validation_0-rmse:0.18307 validation_1-rmse:0.11748 +[83] validation_0-rmse:0.18257 validation_1-rmse:0.11699 +[84] validation_0-rmse:0.18216 validation_1-rmse:0.11643 +[85] validation_0-rmse:0.18188 validation_1-rmse:0.11595 +[86] validation_0-rmse:0.18168 validation_1-rmse:0.11502 +[87] validation_0-rmse:0.18148 validation_1-rmse:0.11451 +[88] validation_0-rmse:0.18093 validation_1-rmse:0.11378 +[89] validation_0-rmse:0.18054 validation_1-rmse:0.11332 +[90] validation_0-rmse:0.18024 validation_1-rmse:0.11285 +[91] validation_0-rmse:0.17982 validation_1-rmse:0.11241 +[92] validation_0-rmse:0.17950 validation_1-rmse:0.11185 +[93] validation_0-rmse:0.17918 validation_1-rmse:0.11123 +[94] validation_0-rmse:0.17882 validation_1-rmse:0.11072 +[95] validation_0-rmse:0.17881 validation_1-rmse:0.10986 +[96] validation_0-rmse:0.17832 validation_1-rmse:0.10941 +[97] validation_0-rmse:0.17800 validation_1-rmse:0.10897 +[98] validation_0-rmse:0.17774 validation_1-rmse:0.10859 +[99] validation_0-rmse:0.17746 validation_1-rmse:0.10819 +2025-04-29 01:56:33,558 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training SOL/USDT (6.45 secs) -------------------- +2025-04-29 01:56:33,558 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:56:34,118 - freqtrade.freqai.freqai_interface - INFO - Training SOL/USDT, 2/2 pairs from 2025-01-01 00:00:00 to 2025-01-31 00:00:00, 4/11 trains +2025-04-29 01:56:34,119 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_sol_1738281600_prediction.feather +2025-04-29 01:56:34,124 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:56:34,130 - FreqaiExampleStrategy - INFO - 目标列形状:(28850,) +2025-04-29 01:56:34,131 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.941408 +1 0.003044 49.941408 +2 0.000465 49.941408 +3 -0.000380 49.941408 +4 0.002829 49.941408 +2025-04-29 01:56:34,137 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:56:34,143 - FreqaiExampleStrategy - INFO - 目标列形状:(33650,) +2025-04-29 01:56:34,144 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.830756 +1 0.003044 49.830756 +2 0.000465 49.830756 +3 -0.000380 49.830756 +4 0.002829 49.830756 +2025-04-29 01:56:34,149 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-SOL_1738281600/cb_sol_1738281600 +2025-04-29 01:56:34,150 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training SOL/USDT -------------------- +2025-04-29 01:56:34,173 - freqtrade.freqai.data_kitchen - INFO - SOL/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:56:34,173 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-01-01 to 2025-01-30 -------------------- +2025-04-29 01:56:39,271 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 111 features +2025-04-29 01:56:39,271 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.29494 validation_1-rmse:0.28739 +[1] validation_0-rmse:0.28930 validation_1-rmse:0.28164 +[2] validation_0-rmse:0.28437 validation_1-rmse:0.27613 +[3] validation_0-rmse:0.27990 validation_1-rmse:0.27106 +[4] validation_0-rmse:0.27541 validation_1-rmse:0.26617 +[5] validation_0-rmse:0.27070 validation_1-rmse:0.26147 +[6] validation_0-rmse:0.26683 validation_1-rmse:0.25687 +[7] validation_0-rmse:0.26280 validation_1-rmse:0.25263 +[8] validation_0-rmse:0.25916 validation_1-rmse:0.24830 +[9] validation_0-rmse:0.25540 validation_1-rmse:0.24420 +[10] validation_0-rmse:0.25186 validation_1-rmse:0.24022 +[11] validation_0-rmse:0.24829 validation_1-rmse:0.23647 +[12] validation_0-rmse:0.24504 validation_1-rmse:0.23286 +[13] validation_0-rmse:0.24183 validation_1-rmse:0.22943 +[14] validation_0-rmse:0.23870 validation_1-rmse:0.22619 +[15] validation_0-rmse:0.23587 validation_1-rmse:0.22274 +[16] validation_0-rmse:0.23325 validation_1-rmse:0.21951 +[17] validation_0-rmse:0.23045 validation_1-rmse:0.21650 +[18] validation_0-rmse:0.22792 validation_1-rmse:0.21367 +[19] validation_0-rmse:0.22524 validation_1-rmse:0.21092 +[20] validation_0-rmse:0.22293 validation_1-rmse:0.20804 +[21] validation_0-rmse:0.22055 validation_1-rmse:0.20549 +[22] validation_0-rmse:0.21831 validation_1-rmse:0.20307 +[23] validation_0-rmse:0.21601 validation_1-rmse:0.20062 +[24] validation_0-rmse:0.21372 validation_1-rmse:0.19810 +[25] validation_0-rmse:0.21154 validation_1-rmse:0.19580 +[26] validation_0-rmse:0.20966 validation_1-rmse:0.19369 +[27] validation_0-rmse:0.20790 validation_1-rmse:0.19130 +[28] validation_0-rmse:0.20602 validation_1-rmse:0.18921 +[29] validation_0-rmse:0.20418 validation_1-rmse:0.18723 +[30] validation_0-rmse:0.20236 validation_1-rmse:0.18525 +[31] validation_0-rmse:0.20057 validation_1-rmse:0.18324 +[32] validation_0-rmse:0.19900 validation_1-rmse:0.18144 +[33] validation_0-rmse:0.19744 validation_1-rmse:0.17941 +[34] validation_0-rmse:0.19608 validation_1-rmse:0.17767 +[35] validation_0-rmse:0.19467 validation_1-rmse:0.17605 +[36] validation_0-rmse:0.19313 validation_1-rmse:0.17422 +[37] validation_0-rmse:0.19156 validation_1-rmse:0.17260 +[38] validation_0-rmse:0.19020 validation_1-rmse:0.17103 +[39] validation_0-rmse:0.18884 validation_1-rmse:0.16948 +[40] validation_0-rmse:0.18767 validation_1-rmse:0.16797 +[41] validation_0-rmse:0.18636 validation_1-rmse:0.16647 +[42] validation_0-rmse:0.18512 validation_1-rmse:0.16505 +[43] validation_0-rmse:0.18403 validation_1-rmse:0.16340 +[44] validation_0-rmse:0.18290 validation_1-rmse:0.16210 +[45] validation_0-rmse:0.18189 validation_1-rmse:0.16085 +[46] validation_0-rmse:0.18090 validation_1-rmse:0.15966 +[47] validation_0-rmse:0.17992 validation_1-rmse:0.15841 +[48] validation_0-rmse:0.17901 validation_1-rmse:0.15728 +[49] validation_0-rmse:0.17817 validation_1-rmse:0.15582 +[50] validation_0-rmse:0.17697 validation_1-rmse:0.15458 +[51] validation_0-rmse:0.17607 validation_1-rmse:0.15349 +[52] validation_0-rmse:0.17516 validation_1-rmse:0.15235 +[53] validation_0-rmse:0.17425 validation_1-rmse:0.15131 +[54] validation_0-rmse:0.17347 validation_1-rmse:0.15032 +[55] validation_0-rmse:0.17275 validation_1-rmse:0.14932 +[56] validation_0-rmse:0.17211 validation_1-rmse:0.14834 +[57] validation_0-rmse:0.17131 validation_1-rmse:0.14741 +[58] validation_0-rmse:0.17072 validation_1-rmse:0.14617 +[59] validation_0-rmse:0.16999 validation_1-rmse:0.14528 +[60] validation_0-rmse:0.16934 validation_1-rmse:0.14416 +[61] validation_0-rmse:0.16887 validation_1-rmse:0.14321 +[62] validation_0-rmse:0.16842 validation_1-rmse:0.14213 +[63] validation_0-rmse:0.16765 validation_1-rmse:0.14130 +[64] validation_0-rmse:0.16691 validation_1-rmse:0.14048 +[65] validation_0-rmse:0.16629 validation_1-rmse:0.13956 +[66] validation_0-rmse:0.16565 validation_1-rmse:0.13882 +[67] validation_0-rmse:0.16530 validation_1-rmse:0.13793 +[68] validation_0-rmse:0.16467 validation_1-rmse:0.13710 +[69] validation_0-rmse:0.16436 validation_1-rmse:0.13621 +[70] validation_0-rmse:0.16377 validation_1-rmse:0.13542 +[71] validation_0-rmse:0.16334 validation_1-rmse:0.13463 +[72] validation_0-rmse:0.16280 validation_1-rmse:0.13394 +[73] validation_0-rmse:0.16230 validation_1-rmse:0.13328 +[74] validation_0-rmse:0.16156 validation_1-rmse:0.13246 +[75] validation_0-rmse:0.16122 validation_1-rmse:0.13151 +[76] validation_0-rmse:0.16080 validation_1-rmse:0.13080 +[77] validation_0-rmse:0.16033 validation_1-rmse:0.13015 +[78] validation_0-rmse:0.15992 validation_1-rmse:0.12951 +[79] validation_0-rmse:0.15950 validation_1-rmse:0.12888 +[80] validation_0-rmse:0.15909 validation_1-rmse:0.12822 +[81] validation_0-rmse:0.15875 validation_1-rmse:0.12744 +[82] validation_0-rmse:0.15831 validation_1-rmse:0.12683 +[83] validation_0-rmse:0.15786 validation_1-rmse:0.12626 +[84] validation_0-rmse:0.15747 validation_1-rmse:0.12572 +[85] validation_0-rmse:0.15724 validation_1-rmse:0.12495 +[86] validation_0-rmse:0.15695 validation_1-rmse:0.12442 +[87] validation_0-rmse:0.15664 validation_1-rmse:0.12382 +[88] validation_0-rmse:0.15651 validation_1-rmse:0.12326 +[89] validation_0-rmse:0.15629 validation_1-rmse:0.12256 +[90] validation_0-rmse:0.15596 validation_1-rmse:0.12196 +[91] validation_0-rmse:0.15559 validation_1-rmse:0.12141 +[92] validation_0-rmse:0.15511 validation_1-rmse:0.12088 +[93] validation_0-rmse:0.15487 validation_1-rmse:0.12033 +[94] validation_0-rmse:0.15472 validation_1-rmse:0.11975 +[95] validation_0-rmse:0.15438 validation_1-rmse:0.11924 +[96] validation_0-rmse:0.15408 validation_1-rmse:0.11882 +[97] validation_0-rmse:0.15382 validation_1-rmse:0.11819 +[98] validation_0-rmse:0.15350 validation_1-rmse:0.11777 +[99] validation_0-rmse:0.15331 validation_1-rmse:0.11727 +2025-04-29 01:56:40,600 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training SOL/USDT (6.45 secs) -------------------- +2025-04-29 01:56:40,601 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:56:41,171 - freqtrade.freqai.freqai_interface - INFO - Training SOL/USDT, 2/2 pairs from 2025-01-11 00:00:00 to 2025-02-10 00:00:00, 5/11 trains +2025-04-29 01:56:41,172 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_sol_1739145600_prediction.feather +2025-04-29 01:56:41,177 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:56:41,183 - FreqaiExampleStrategy - INFO - 目标列形状:(33650,) +2025-04-29 01:56:41,185 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.830756 +1 0.003044 49.830756 +2 0.000465 49.830756 +3 -0.000380 49.830756 +4 0.002829 49.830756 +2025-04-29 01:56:41,193 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:56:41,200 - FreqaiExampleStrategy - INFO - 目标列形状:(38450,) +2025-04-29 01:56:41,201 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.714422 +1 0.003044 49.714422 +2 0.000465 49.714422 +3 -0.000380 49.714422 +4 0.002829 49.714422 +2025-04-29 01:56:41,206 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-SOL_1739145600/cb_sol_1739145600 +2025-04-29 01:56:41,207 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training SOL/USDT -------------------- +2025-04-29 01:56:41,228 - freqtrade.freqai.data_kitchen - INFO - SOL/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:56:41,229 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-01-11 to 2025-02-09 -------------------- +2025-04-29 01:56:46,277 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 111 features +2025-04-29 01:56:46,278 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.29889 validation_1-rmse:0.30153 +[1] validation_0-rmse:0.29317 validation_1-rmse:0.29483 +[2] validation_0-rmse:0.28819 validation_1-rmse:0.28860 +[3] validation_0-rmse:0.28336 validation_1-rmse:0.28273 +[4] validation_0-rmse:0.27885 validation_1-rmse:0.27694 +[5] validation_0-rmse:0.27448 validation_1-rmse:0.27155 +[6] validation_0-rmse:0.27020 validation_1-rmse:0.26634 +[7] validation_0-rmse:0.26629 validation_1-rmse:0.26134 +[8] validation_0-rmse:0.26241 validation_1-rmse:0.25653 +[9] validation_0-rmse:0.25876 validation_1-rmse:0.25192 +[10] validation_0-rmse:0.25559 validation_1-rmse:0.24747 +[11] validation_0-rmse:0.25223 validation_1-rmse:0.24337 +[12] validation_0-rmse:0.24904 validation_1-rmse:0.23934 +[13] validation_0-rmse:0.24639 validation_1-rmse:0.23548 +[14] validation_0-rmse:0.24353 validation_1-rmse:0.23187 +[15] validation_0-rmse:0.24076 validation_1-rmse:0.22837 +[16] validation_0-rmse:0.23849 validation_1-rmse:0.22484 +[17] validation_0-rmse:0.23581 validation_1-rmse:0.22147 +[18] validation_0-rmse:0.23342 validation_1-rmse:0.21814 +[19] validation_0-rmse:0.23133 validation_1-rmse:0.21509 +[20] validation_0-rmse:0.22937 validation_1-rmse:0.21187 +[21] validation_0-rmse:0.22713 validation_1-rmse:0.20902 +[22] validation_0-rmse:0.22509 validation_1-rmse:0.20631 +[23] validation_0-rmse:0.22312 validation_1-rmse:0.20373 +[24] validation_0-rmse:0.22123 validation_1-rmse:0.20076 +[25] validation_0-rmse:0.21951 validation_1-rmse:0.19837 +[26] validation_0-rmse:0.21751 validation_1-rmse:0.19562 +[27] validation_0-rmse:0.21589 validation_1-rmse:0.19309 +[28] validation_0-rmse:0.21422 validation_1-rmse:0.19091 +[29] validation_0-rmse:0.21272 validation_1-rmse:0.18879 +[30] validation_0-rmse:0.21119 validation_1-rmse:0.18660 +[31] validation_0-rmse:0.20982 validation_1-rmse:0.18468 +[32] validation_0-rmse:0.20829 validation_1-rmse:0.18239 +[33] validation_0-rmse:0.20681 validation_1-rmse:0.18048 +[34] validation_0-rmse:0.20548 validation_1-rmse:0.17869 +[35] validation_0-rmse:0.20431 validation_1-rmse:0.17665 +[36] validation_0-rmse:0.20297 validation_1-rmse:0.17483 +[37] validation_0-rmse:0.20174 validation_1-rmse:0.17311 +[38] validation_0-rmse:0.20060 validation_1-rmse:0.17153 +[39] validation_0-rmse:0.19951 validation_1-rmse:0.16958 +[40] validation_0-rmse:0.19848 validation_1-rmse:0.16805 +[41] validation_0-rmse:0.19745 validation_1-rmse:0.16652 +[42] validation_0-rmse:0.19647 validation_1-rmse:0.16509 +[43] validation_0-rmse:0.19570 validation_1-rmse:0.16325 +[44] validation_0-rmse:0.19473 validation_1-rmse:0.16187 +[45] validation_0-rmse:0.19397 validation_1-rmse:0.16012 +[46] validation_0-rmse:0.19314 validation_1-rmse:0.15887 +[47] validation_0-rmse:0.19196 validation_1-rmse:0.15723 +[48] validation_0-rmse:0.19096 validation_1-rmse:0.15595 +[49] validation_0-rmse:0.19009 validation_1-rmse:0.15468 +[50] validation_0-rmse:0.18931 validation_1-rmse:0.15355 +[51] validation_0-rmse:0.18864 validation_1-rmse:0.15207 +[52] validation_0-rmse:0.18786 validation_1-rmse:0.15101 +[53] validation_0-rmse:0.18690 validation_1-rmse:0.14960 +[54] validation_0-rmse:0.18614 validation_1-rmse:0.14859 +[55] validation_0-rmse:0.18550 validation_1-rmse:0.14756 +[56] validation_0-rmse:0.18475 validation_1-rmse:0.14647 +[57] validation_0-rmse:0.18405 validation_1-rmse:0.14545 +[58] validation_0-rmse:0.18346 validation_1-rmse:0.14415 +[59] validation_0-rmse:0.18277 validation_1-rmse:0.14321 +[60] validation_0-rmse:0.18219 validation_1-rmse:0.14221 +[61] validation_0-rmse:0.18158 validation_1-rmse:0.14129 +[62] validation_0-rmse:0.18100 validation_1-rmse:0.14043 +[63] validation_0-rmse:0.18059 validation_1-rmse:0.13920 +[64] validation_0-rmse:0.17997 validation_1-rmse:0.13842 +[65] validation_0-rmse:0.17941 validation_1-rmse:0.13754 +[66] validation_0-rmse:0.17881 validation_1-rmse:0.13652 +[67] validation_0-rmse:0.17823 validation_1-rmse:0.13576 +[68] validation_0-rmse:0.17784 validation_1-rmse:0.13468 +[69] validation_0-rmse:0.17735 validation_1-rmse:0.13396 +[70] validation_0-rmse:0.17687 validation_1-rmse:0.13311 +[71] validation_0-rmse:0.17628 validation_1-rmse:0.13225 +[72] validation_0-rmse:0.17599 validation_1-rmse:0.13154 +[73] validation_0-rmse:0.17542 validation_1-rmse:0.13080 +[74] validation_0-rmse:0.17497 validation_1-rmse:0.13013 +[75] validation_0-rmse:0.17456 validation_1-rmse:0.12954 +[76] validation_0-rmse:0.17416 validation_1-rmse:0.12864 +[77] validation_0-rmse:0.17369 validation_1-rmse:0.12802 +[78] validation_0-rmse:0.17345 validation_1-rmse:0.12735 +[79] validation_0-rmse:0.17302 validation_1-rmse:0.12672 +[80] validation_0-rmse:0.17254 validation_1-rmse:0.12609 +[81] validation_0-rmse:0.17248 validation_1-rmse:0.12527 +[82] validation_0-rmse:0.17210 validation_1-rmse:0.12470 +[83] validation_0-rmse:0.17196 validation_1-rmse:0.12398 +[84] validation_0-rmse:0.17189 validation_1-rmse:0.12334 +[85] validation_0-rmse:0.17155 validation_1-rmse:0.12280 +[86] validation_0-rmse:0.17124 validation_1-rmse:0.12230 +[87] validation_0-rmse:0.17103 validation_1-rmse:0.12178 +[88] validation_0-rmse:0.17086 validation_1-rmse:0.12118 +[89] validation_0-rmse:0.17064 validation_1-rmse:0.12049 +[90] validation_0-rmse:0.17029 validation_1-rmse:0.11993 +[91] validation_0-rmse:0.16981 validation_1-rmse:0.11942 +[92] validation_0-rmse:0.16950 validation_1-rmse:0.11894 +[93] validation_0-rmse:0.16937 validation_1-rmse:0.11833 +[94] validation_0-rmse:0.16928 validation_1-rmse:0.11786 +[95] validation_0-rmse:0.16899 validation_1-rmse:0.11735 +[96] validation_0-rmse:0.16869 validation_1-rmse:0.11693 +[97] validation_0-rmse:0.16843 validation_1-rmse:0.11650 +[98] validation_0-rmse:0.16829 validation_1-rmse:0.11591 +[99] validation_0-rmse:0.16802 validation_1-rmse:0.11547 +2025-04-29 01:56:47,778 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training SOL/USDT (6.57 secs) -------------------- +2025-04-29 01:56:47,779 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:56:48,320 - freqtrade.freqai.freqai_interface - INFO - Training SOL/USDT, 2/2 pairs from 2025-01-21 00:00:00 to 2025-02-20 00:00:00, 6/11 trains +2025-04-29 01:56:48,321 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_sol_1740009600_prediction.feather +2025-04-29 01:56:48,327 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:56:48,333 - FreqaiExampleStrategy - INFO - 目标列形状:(38450,) +2025-04-29 01:56:48,334 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.714422 +1 0.003044 49.714422 +2 0.000465 49.714422 +3 -0.000380 49.714422 +4 0.002829 49.714422 +2025-04-29 01:56:48,346 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:56:48,353 - FreqaiExampleStrategy - INFO - 目标列形状:(43250,) +2025-04-29 01:56:48,354 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.626186 +1 0.003044 49.626186 +2 0.000465 49.626186 +3 -0.000380 49.626186 +4 0.002829 49.626186 +2025-04-29 01:56:48,361 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-SOL_1740009600/cb_sol_1740009600 +2025-04-29 01:56:48,361 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training SOL/USDT -------------------- +2025-04-29 01:56:48,383 - freqtrade.freqai.data_kitchen - INFO - SOL/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:56:48,383 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-01-21 to 2025-02-19 -------------------- +2025-04-29 01:56:53,532 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 111 features +2025-04-29 01:56:53,533 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.29357 validation_1-rmse:0.28852 +[1] validation_0-rmse:0.28850 validation_1-rmse:0.28219 +[2] validation_0-rmse:0.28292 validation_1-rmse:0.27618 +[3] validation_0-rmse:0.27862 validation_1-rmse:0.27046 +[4] validation_0-rmse:0.27383 validation_1-rmse:0.26510 +[5] validation_0-rmse:0.27018 validation_1-rmse:0.25989 +[6] validation_0-rmse:0.26615 validation_1-rmse:0.25477 +[7] validation_0-rmse:0.26234 validation_1-rmse:0.25007 +[8] validation_0-rmse:0.25794 validation_1-rmse:0.24560 +[9] validation_0-rmse:0.25417 validation_1-rmse:0.24109 +[10] validation_0-rmse:0.25083 validation_1-rmse:0.23700 +[11] validation_0-rmse:0.24683 validation_1-rmse:0.23303 +[12] validation_0-rmse:0.24384 validation_1-rmse:0.22908 +[13] validation_0-rmse:0.24093 validation_1-rmse:0.22542 +[14] validation_0-rmse:0.23743 validation_1-rmse:0.22186 +[15] validation_0-rmse:0.23484 validation_1-rmse:0.21841 +[16] validation_0-rmse:0.23215 validation_1-rmse:0.21525 +[17] validation_0-rmse:0.22951 validation_1-rmse:0.21206 +[18] validation_0-rmse:0.22658 validation_1-rmse:0.20906 +[19] validation_0-rmse:0.22440 validation_1-rmse:0.20615 +[20] validation_0-rmse:0.22193 validation_1-rmse:0.20314 +[21] validation_0-rmse:0.22009 validation_1-rmse:0.20016 +[22] validation_0-rmse:0.21755 validation_1-rmse:0.19751 +[23] validation_0-rmse:0.21578 validation_1-rmse:0.19498 +[24] validation_0-rmse:0.21440 validation_1-rmse:0.19241 +[25] validation_0-rmse:0.21229 validation_1-rmse:0.19006 +[26] validation_0-rmse:0.21038 validation_1-rmse:0.18780 +[27] validation_0-rmse:0.20897 validation_1-rmse:0.18529 +[28] validation_0-rmse:0.20703 validation_1-rmse:0.18313 +[29] validation_0-rmse:0.20556 validation_1-rmse:0.18091 +[30] validation_0-rmse:0.20384 validation_1-rmse:0.17884 +[31] validation_0-rmse:0.20281 validation_1-rmse:0.17690 +[32] validation_0-rmse:0.20169 validation_1-rmse:0.17483 +[33] validation_0-rmse:0.20012 validation_1-rmse:0.17300 +[34] validation_0-rmse:0.19876 validation_1-rmse:0.17106 +[35] validation_0-rmse:0.19755 validation_1-rmse:0.16934 +[36] validation_0-rmse:0.19649 validation_1-rmse:0.16752 +[37] validation_0-rmse:0.19501 validation_1-rmse:0.16586 +[38] validation_0-rmse:0.19423 validation_1-rmse:0.16418 +[39] validation_0-rmse:0.19297 validation_1-rmse:0.16264 +[40] validation_0-rmse:0.19162 validation_1-rmse:0.16092 +[41] validation_0-rmse:0.19049 validation_1-rmse:0.15952 +[42] validation_0-rmse:0.18925 validation_1-rmse:0.15810 +[43] validation_0-rmse:0.18845 validation_1-rmse:0.15638 +[44] validation_0-rmse:0.18730 validation_1-rmse:0.15506 +[45] validation_0-rmse:0.18661 validation_1-rmse:0.15357 +[46] validation_0-rmse:0.18563 validation_1-rmse:0.15226 +[47] validation_0-rmse:0.18473 validation_1-rmse:0.15101 +[48] validation_0-rmse:0.18399 validation_1-rmse:0.14957 +[49] validation_0-rmse:0.18304 validation_1-rmse:0.14841 +[50] validation_0-rmse:0.18219 validation_1-rmse:0.14717 +[51] validation_0-rmse:0.18131 validation_1-rmse:0.14599 +[52] validation_0-rmse:0.18043 validation_1-rmse:0.14492 +[53] validation_0-rmse:0.17966 validation_1-rmse:0.14388 +[54] validation_0-rmse:0.17901 validation_1-rmse:0.14274 +[55] validation_0-rmse:0.17850 validation_1-rmse:0.14134 +[56] validation_0-rmse:0.17764 validation_1-rmse:0.14035 +[57] validation_0-rmse:0.17682 validation_1-rmse:0.13937 +[58] validation_0-rmse:0.17604 validation_1-rmse:0.13844 +[59] validation_0-rmse:0.17526 validation_1-rmse:0.13754 +[60] validation_0-rmse:0.17488 validation_1-rmse:0.13621 +[61] validation_0-rmse:0.17432 validation_1-rmse:0.13530 +[62] validation_0-rmse:0.17345 validation_1-rmse:0.13439 +[63] validation_0-rmse:0.17284 validation_1-rmse:0.13358 +[64] validation_0-rmse:0.17213 validation_1-rmse:0.13278 +[65] validation_0-rmse:0.17164 validation_1-rmse:0.13175 +[66] validation_0-rmse:0.17098 validation_1-rmse:0.13088 +[67] validation_0-rmse:0.17049 validation_1-rmse:0.13002 +[68] validation_0-rmse:0.17000 validation_1-rmse:0.12918 +[69] validation_0-rmse:0.16969 validation_1-rmse:0.12815 +[70] validation_0-rmse:0.16917 validation_1-rmse:0.12746 +[71] validation_0-rmse:0.16857 validation_1-rmse:0.12678 +[72] validation_0-rmse:0.16830 validation_1-rmse:0.12595 +[73] validation_0-rmse:0.16793 validation_1-rmse:0.12522 +[74] validation_0-rmse:0.16752 validation_1-rmse:0.12457 +[75] validation_0-rmse:0.16704 validation_1-rmse:0.12395 +[76] validation_0-rmse:0.16668 validation_1-rmse:0.12316 +[77] validation_0-rmse:0.16621 validation_1-rmse:0.12251 +[78] validation_0-rmse:0.16591 validation_1-rmse:0.12185 +[79] validation_0-rmse:0.16550 validation_1-rmse:0.12115 +[80] validation_0-rmse:0.16506 validation_1-rmse:0.12055 +[81] validation_0-rmse:0.16467 validation_1-rmse:0.12001 +[82] validation_0-rmse:0.16422 validation_1-rmse:0.11944 +[83] validation_0-rmse:0.16379 validation_1-rmse:0.11892 +[84] validation_0-rmse:0.16344 validation_1-rmse:0.11825 +[85] validation_0-rmse:0.16317 validation_1-rmse:0.11766 +[86] validation_0-rmse:0.16289 validation_1-rmse:0.11712 +[87] validation_0-rmse:0.16271 validation_1-rmse:0.11639 +[88] validation_0-rmse:0.16236 validation_1-rmse:0.11591 +[89] validation_0-rmse:0.16210 validation_1-rmse:0.11515 +[90] validation_0-rmse:0.16170 validation_1-rmse:0.11457 +[91] validation_0-rmse:0.16149 validation_1-rmse:0.11411 +[92] validation_0-rmse:0.16132 validation_1-rmse:0.11360 +[93] validation_0-rmse:0.16108 validation_1-rmse:0.11292 +[94] validation_0-rmse:0.16077 validation_1-rmse:0.11247 +[95] validation_0-rmse:0.16040 validation_1-rmse:0.11205 +[96] validation_0-rmse:0.16017 validation_1-rmse:0.11157 +[97] validation_0-rmse:0.15988 validation_1-rmse:0.11117 +[98] validation_0-rmse:0.15964 validation_1-rmse:0.11074 +[99] validation_0-rmse:0.15958 validation_1-rmse:0.11029 +2025-04-29 01:56:54,862 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training SOL/USDT (6.50 secs) -------------------- +2025-04-29 01:56:54,863 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:56:55,419 - freqtrade.freqai.freqai_interface - INFO - Training SOL/USDT, 2/2 pairs from 2025-01-31 00:00:00 to 2025-03-02 00:00:00, 7/11 trains +2025-04-29 01:56:55,420 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_sol_1740873600_prediction.feather +2025-04-29 01:56:55,426 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:56:55,433 - FreqaiExampleStrategy - INFO - 目标列形状:(43250,) +2025-04-29 01:56:55,435 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.626186 +1 0.003044 49.626186 +2 0.000465 49.626186 +3 -0.000380 49.626186 +4 0.002829 49.626186 +2025-04-29 01:56:55,445 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:56:55,452 - FreqaiExampleStrategy - INFO - 目标列形状:(48050,) +2025-04-29 01:56:55,453 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.568812 +1 0.003044 49.568812 +2 0.000465 49.568812 +3 -0.000380 49.568812 +4 0.002829 49.568812 +2025-04-29 01:56:55,459 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-SOL_1740873600/cb_sol_1740873600 +2025-04-29 01:56:55,459 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training SOL/USDT -------------------- +2025-04-29 01:56:55,481 - freqtrade.freqai.data_kitchen - INFO - SOL/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:56:55,482 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-01-31 to 2025-03-01 -------------------- +2025-04-29 01:57:00,566 - datasieve.pipeline - INFO - DI tossed 2417 predictions for being too far from training data. +2025-04-29 01:57:00,569 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 111 features +2025-04-29 01:57:00,570 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.33058 validation_1-rmse:0.29214 +[1] validation_0-rmse:0.32414 validation_1-rmse:0.28558 +[2] validation_0-rmse:0.31832 validation_1-rmse:0.27962 +[3] validation_0-rmse:0.31280 validation_1-rmse:0.27380 +[4] validation_0-rmse:0.30679 validation_1-rmse:0.26829 +[5] validation_0-rmse:0.30182 validation_1-rmse:0.26306 +[6] validation_0-rmse:0.29686 validation_1-rmse:0.25797 +[7] validation_0-rmse:0.29291 validation_1-rmse:0.25323 +[8] validation_0-rmse:0.28868 validation_1-rmse:0.24871 +[9] validation_0-rmse:0.28559 validation_1-rmse:0.24437 +[10] validation_0-rmse:0.28262 validation_1-rmse:0.24018 +[11] validation_0-rmse:0.27890 validation_1-rmse:0.23606 +[12] validation_0-rmse:0.27663 validation_1-rmse:0.23225 +[13] validation_0-rmse:0.27306 validation_1-rmse:0.22870 +[14] validation_0-rmse:0.26948 validation_1-rmse:0.22493 +[15] validation_0-rmse:0.26663 validation_1-rmse:0.22157 +[16] validation_0-rmse:0.26427 validation_1-rmse:0.21817 +[17] validation_0-rmse:0.26195 validation_1-rmse:0.21492 +[18] validation_0-rmse:0.25856 validation_1-rmse:0.21177 +[19] validation_0-rmse:0.25606 validation_1-rmse:0.20861 +[20] validation_0-rmse:0.25343 validation_1-rmse:0.20580 +[21] validation_0-rmse:0.25243 validation_1-rmse:0.20301 +[22] validation_0-rmse:0.25066 validation_1-rmse:0.20027 +[23] validation_0-rmse:0.24864 validation_1-rmse:0.19761 +[24] validation_0-rmse:0.24630 validation_1-rmse:0.19522 +[25] validation_0-rmse:0.24491 validation_1-rmse:0.19283 +[26] validation_0-rmse:0.24339 validation_1-rmse:0.19036 +[27] validation_0-rmse:0.24108 validation_1-rmse:0.18818 +[28] validation_0-rmse:0.23976 validation_1-rmse:0.18592 +[29] validation_0-rmse:0.23882 validation_1-rmse:0.18348 +[30] validation_0-rmse:0.23676 validation_1-rmse:0.18142 +[31] validation_0-rmse:0.23520 validation_1-rmse:0.17945 +[32] validation_0-rmse:0.23395 validation_1-rmse:0.17754 +[33] validation_0-rmse:0.23229 validation_1-rmse:0.17545 +[34] validation_0-rmse:0.23073 validation_1-rmse:0.17360 +[35] validation_0-rmse:0.22951 validation_1-rmse:0.17182 +[36] validation_0-rmse:0.22806 validation_1-rmse:0.16995 +[37] validation_0-rmse:0.22713 validation_1-rmse:0.16834 +[38] validation_0-rmse:0.22541 validation_1-rmse:0.16668 +[39] validation_0-rmse:0.22393 validation_1-rmse:0.16509 +[40] validation_0-rmse:0.22282 validation_1-rmse:0.16343 +[41] validation_0-rmse:0.22168 validation_1-rmse:0.16185 +[42] validation_0-rmse:0.22085 validation_1-rmse:0.16046 +[43] validation_0-rmse:0.21991 validation_1-rmse:0.15907 +[44] validation_0-rmse:0.21833 validation_1-rmse:0.15756 +[45] validation_0-rmse:0.21710 validation_1-rmse:0.15618 +[46] validation_0-rmse:0.21619 validation_1-rmse:0.15490 +[47] validation_0-rmse:0.21518 validation_1-rmse:0.15345 +[48] validation_0-rmse:0.21402 validation_1-rmse:0.15221 +[49] validation_0-rmse:0.21305 validation_1-rmse:0.15086 +[50] validation_0-rmse:0.21229 validation_1-rmse:0.14968 +[51] validation_0-rmse:0.21119 validation_1-rmse:0.14854 +[52] validation_0-rmse:0.21019 validation_1-rmse:0.14745 +[53] validation_0-rmse:0.20924 validation_1-rmse:0.14637 +[54] validation_0-rmse:0.20982 validation_1-rmse:0.14517 +[55] validation_0-rmse:0.20888 validation_1-rmse:0.14405 +[56] validation_0-rmse:0.20806 validation_1-rmse:0.14305 +[57] validation_0-rmse:0.20822 validation_1-rmse:0.14169 +[58] validation_0-rmse:0.20741 validation_1-rmse:0.14071 +[59] validation_0-rmse:0.20663 validation_1-rmse:0.13976 +[60] validation_0-rmse:0.20602 validation_1-rmse:0.13882 +[61] validation_0-rmse:0.20523 validation_1-rmse:0.13776 +[62] validation_0-rmse:0.20558 validation_1-rmse:0.13689 +[63] validation_0-rmse:0.20501 validation_1-rmse:0.13605 +[64] validation_0-rmse:0.20348 validation_1-rmse:0.13462 +[65] validation_0-rmse:0.20273 validation_1-rmse:0.13382 +[66] validation_0-rmse:0.20203 validation_1-rmse:0.13306 +[67] validation_0-rmse:0.20166 validation_1-rmse:0.13228 +[68] validation_0-rmse:0.20002 validation_1-rmse:0.13102 +[69] validation_0-rmse:0.19928 validation_1-rmse:0.13021 +[70] validation_0-rmse:0.19870 validation_1-rmse:0.12946 +[71] validation_0-rmse:0.19830 validation_1-rmse:0.12876 +[72] validation_0-rmse:0.19814 validation_1-rmse:0.12801 +[73] validation_0-rmse:0.19798 validation_1-rmse:0.12711 +[74] validation_0-rmse:0.19746 validation_1-rmse:0.12649 +[75] validation_0-rmse:0.19701 validation_1-rmse:0.12588 +[76] validation_0-rmse:0.19555 validation_1-rmse:0.12467 +[77] validation_0-rmse:0.19514 validation_1-rmse:0.12407 +[78] validation_0-rmse:0.19468 validation_1-rmse:0.12347 +[79] validation_0-rmse:0.19439 validation_1-rmse:0.12277 +[80] validation_0-rmse:0.19473 validation_1-rmse:0.12220 +[81] validation_0-rmse:0.19448 validation_1-rmse:0.12154 +[82] validation_0-rmse:0.19418 validation_1-rmse:0.12086 +[83] validation_0-rmse:0.19370 validation_1-rmse:0.12030 +[84] validation_0-rmse:0.19346 validation_1-rmse:0.11976 +[85] validation_0-rmse:0.19322 validation_1-rmse:0.11879 +[86] validation_0-rmse:0.19282 validation_1-rmse:0.11819 +[87] validation_0-rmse:0.19226 validation_1-rmse:0.11770 +[88] validation_0-rmse:0.19187 validation_1-rmse:0.11719 +[89] validation_0-rmse:0.19145 validation_1-rmse:0.11671 +[90] validation_0-rmse:0.19134 validation_1-rmse:0.11619 +[91] validation_0-rmse:0.19030 validation_1-rmse:0.11531 +[92] validation_0-rmse:0.18998 validation_1-rmse:0.11487 +[93] validation_0-rmse:0.18945 validation_1-rmse:0.11445 +[94] validation_0-rmse:0.18919 validation_1-rmse:0.11395 +[95] validation_0-rmse:0.18862 validation_1-rmse:0.11324 +[96] validation_0-rmse:0.18824 validation_1-rmse:0.11283 +[97] validation_0-rmse:0.18778 validation_1-rmse:0.11225 +[98] validation_0-rmse:0.18755 validation_1-rmse:0.11186 +[99] validation_0-rmse:0.18742 validation_1-rmse:0.11149 +2025-04-29 01:57:02,441 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training SOL/USDT (6.98 secs) -------------------- +2025-04-29 01:57:02,442 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:57:02,968 - freqtrade.freqai.freqai_interface - INFO - Training SOL/USDT, 2/2 pairs from 2025-02-10 00:00:00 to 2025-03-12 00:00:00, 8/11 trains +2025-04-29 01:57:02,968 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_sol_1741737600_prediction.feather +2025-04-29 01:57:02,980 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:57:02,987 - FreqaiExampleStrategy - INFO - 目标列形状:(48050,) +2025-04-29 01:57:02,989 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.568812 +1 0.003044 49.568812 +2 0.000465 49.568812 +3 -0.000380 49.568812 +4 0.002829 49.568812 +2025-04-29 01:57:03,001 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:57:03,007 - FreqaiExampleStrategy - INFO - 目标列形状:(52850,) +2025-04-29 01:57:03,009 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.623338 +1 0.003044 49.623338 +2 0.000465 49.623338 +3 -0.000380 49.623338 +4 0.002829 49.623338 +2025-04-29 01:57:03,014 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-SOL_1741737600/cb_sol_1741737600 +2025-04-29 01:57:03,015 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training SOL/USDT -------------------- +2025-04-29 01:57:03,042 - freqtrade.freqai.data_kitchen - INFO - SOL/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:57:03,042 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-02-10 to 2025-03-11 -------------------- +2025-04-29 01:57:08,138 - datasieve.pipeline - INFO - DI tossed 3 predictions for being too far from training data. +2025-04-29 01:57:08,141 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 111 features +2025-04-29 01:57:08,141 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.25025 validation_1-rmse:0.24842 +[1] validation_0-rmse:0.24557 validation_1-rmse:0.24302 +[2] validation_0-rmse:0.24132 validation_1-rmse:0.23806 +[3] validation_0-rmse:0.23733 validation_1-rmse:0.23332 +[4] validation_0-rmse:0.23376 validation_1-rmse:0.22859 +[5] validation_0-rmse:0.23049 validation_1-rmse:0.22444 +[6] validation_0-rmse:0.22702 validation_1-rmse:0.22025 +[7] validation_0-rmse:0.22380 validation_1-rmse:0.21631 +[8] validation_0-rmse:0.22066 validation_1-rmse:0.21250 +[9] validation_0-rmse:0.21772 validation_1-rmse:0.20892 +[10] validation_0-rmse:0.21473 validation_1-rmse:0.20536 +[11] validation_0-rmse:0.21219 validation_1-rmse:0.20211 +[12] validation_0-rmse:0.20968 validation_1-rmse:0.19897 +[13] validation_0-rmse:0.20730 validation_1-rmse:0.19597 +[14] validation_0-rmse:0.20552 validation_1-rmse:0.19281 +[15] validation_0-rmse:0.20361 validation_1-rmse:0.18992 +[16] validation_0-rmse:0.20165 validation_1-rmse:0.18721 +[17] validation_0-rmse:0.19948 validation_1-rmse:0.18463 +[18] validation_0-rmse:0.19807 validation_1-rmse:0.18193 +[19] validation_0-rmse:0.19703 validation_1-rmse:0.17939 +[20] validation_0-rmse:0.19569 validation_1-rmse:0.17683 +[21] validation_0-rmse:0.19388 validation_1-rmse:0.17462 +[22] validation_0-rmse:0.19219 validation_1-rmse:0.17240 +[23] validation_0-rmse:0.19062 validation_1-rmse:0.17026 +[24] validation_0-rmse:0.18933 validation_1-rmse:0.16813 +[25] validation_0-rmse:0.18829 validation_1-rmse:0.16598 +[26] validation_0-rmse:0.18704 validation_1-rmse:0.16411 +[27] validation_0-rmse:0.18563 validation_1-rmse:0.16221 +[28] validation_0-rmse:0.18446 validation_1-rmse:0.16034 +[29] validation_0-rmse:0.18316 validation_1-rmse:0.15841 +[30] validation_0-rmse:0.18192 validation_1-rmse:0.15674 +[31] validation_0-rmse:0.18091 validation_1-rmse:0.15479 +[32] validation_0-rmse:0.18003 validation_1-rmse:0.15312 +[33] validation_0-rmse:0.17886 validation_1-rmse:0.15150 +[34] validation_0-rmse:0.17786 validation_1-rmse:0.14997 +[35] validation_0-rmse:0.17692 validation_1-rmse:0.14855 +[36] validation_0-rmse:0.17613 validation_1-rmse:0.14709 +[37] validation_0-rmse:0.17547 validation_1-rmse:0.14549 +[38] validation_0-rmse:0.17467 validation_1-rmse:0.14404 +[39] validation_0-rmse:0.17393 validation_1-rmse:0.14267 +[40] validation_0-rmse:0.17348 validation_1-rmse:0.14118 +[41] validation_0-rmse:0.17258 validation_1-rmse:0.13993 +[42] validation_0-rmse:0.17168 validation_1-rmse:0.13871 +[43] validation_0-rmse:0.17077 validation_1-rmse:0.13757 +[44] validation_0-rmse:0.17015 validation_1-rmse:0.13621 +[45] validation_0-rmse:0.16924 validation_1-rmse:0.13509 +[46] validation_0-rmse:0.16833 validation_1-rmse:0.13401 +[47] validation_0-rmse:0.16756 validation_1-rmse:0.13297 +[48] validation_0-rmse:0.16717 validation_1-rmse:0.13198 +[49] validation_0-rmse:0.16664 validation_1-rmse:0.13081 +[50] validation_0-rmse:0.16615 validation_1-rmse:0.12979 +[51] validation_0-rmse:0.16541 validation_1-rmse:0.12879 +[52] validation_0-rmse:0.16478 validation_1-rmse:0.12767 +[53] validation_0-rmse:0.16408 validation_1-rmse:0.12675 +[54] validation_0-rmse:0.16363 validation_1-rmse:0.12571 +[55] validation_0-rmse:0.16320 validation_1-rmse:0.12485 +[56] validation_0-rmse:0.16253 validation_1-rmse:0.12398 +[57] validation_0-rmse:0.16192 validation_1-rmse:0.12307 +[58] validation_0-rmse:0.16149 validation_1-rmse:0.12229 +[59] validation_0-rmse:0.16137 validation_1-rmse:0.12128 +[60] validation_0-rmse:0.16117 validation_1-rmse:0.12045 +[61] validation_0-rmse:0.16064 validation_1-rmse:0.11966 +[62] validation_0-rmse:0.16050 validation_1-rmse:0.11890 +[63] validation_0-rmse:0.16003 validation_1-rmse:0.11809 +[64] validation_0-rmse:0.15969 validation_1-rmse:0.11739 +[65] validation_0-rmse:0.15922 validation_1-rmse:0.11661 +[66] validation_0-rmse:0.15868 validation_1-rmse:0.11577 +[67] validation_0-rmse:0.15830 validation_1-rmse:0.11509 +[68] validation_0-rmse:0.15789 validation_1-rmse:0.11446 +[69] validation_0-rmse:0.15733 validation_1-rmse:0.11372 +[70] validation_0-rmse:0.15694 validation_1-rmse:0.11307 +[71] validation_0-rmse:0.15692 validation_1-rmse:0.11224 +[72] validation_0-rmse:0.15659 validation_1-rmse:0.11166 +[73] validation_0-rmse:0.15634 validation_1-rmse:0.11111 +[74] validation_0-rmse:0.15595 validation_1-rmse:0.11056 +[75] validation_0-rmse:0.15579 validation_1-rmse:0.10985 +[76] validation_0-rmse:0.15543 validation_1-rmse:0.10903 +[77] validation_0-rmse:0.15500 validation_1-rmse:0.10848 +[78] validation_0-rmse:0.15499 validation_1-rmse:0.10778 +[79] validation_0-rmse:0.15471 validation_1-rmse:0.10721 +[80] validation_0-rmse:0.15442 validation_1-rmse:0.10666 +[81] validation_0-rmse:0.15416 validation_1-rmse:0.10608 +[82] validation_0-rmse:0.15388 validation_1-rmse:0.10560 +[83] validation_0-rmse:0.15368 validation_1-rmse:0.10498 +[84] validation_0-rmse:0.15346 validation_1-rmse:0.10449 +[85] validation_0-rmse:0.15329 validation_1-rmse:0.10392 +[86] validation_0-rmse:0.15302 validation_1-rmse:0.10347 +[87] validation_0-rmse:0.15270 validation_1-rmse:0.10303 +[88] validation_0-rmse:0.15259 validation_1-rmse:0.10258 +[89] validation_0-rmse:0.15269 validation_1-rmse:0.10204 +[90] validation_0-rmse:0.15239 validation_1-rmse:0.10159 +[91] validation_0-rmse:0.15204 validation_1-rmse:0.10116 +[92] validation_0-rmse:0.15175 validation_1-rmse:0.10070 +[93] validation_0-rmse:0.15167 validation_1-rmse:0.10017 +[94] validation_0-rmse:0.15154 validation_1-rmse:0.09982 +[95] validation_0-rmse:0.15122 validation_1-rmse:0.09932 +[96] validation_0-rmse:0.15119 validation_1-rmse:0.09880 +[97] validation_0-rmse:0.15112 validation_1-rmse:0.09842 +[98] validation_0-rmse:0.15095 validation_1-rmse:0.09807 +[99] validation_0-rmse:0.15075 validation_1-rmse:0.09770 +2025-04-29 01:57:09,614 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training SOL/USDT (6.60 secs) -------------------- +2025-04-29 01:57:09,615 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:57:10,150 - freqtrade.freqai.freqai_interface - INFO - Training SOL/USDT, 2/2 pairs from 2025-02-20 00:00:00 to 2025-03-22 00:00:00, 9/11 trains +2025-04-29 01:57:10,151 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_sol_1742601600_prediction.feather +2025-04-29 01:57:10,159 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:57:10,167 - FreqaiExampleStrategy - INFO - 目标列形状:(52850,) +2025-04-29 01:57:10,168 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.623338 +1 0.003044 49.623338 +2 0.000465 49.623338 +3 -0.000380 49.623338 +4 0.002829 49.623338 +2025-04-29 01:57:10,181 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:57:10,188 - FreqaiExampleStrategy - INFO - 目标列形状:(57650,) +2025-04-29 01:57:10,190 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.644115 +1 0.003044 49.644115 +2 0.000465 49.644115 +3 -0.000380 49.644115 +4 0.002829 49.644115 +2025-04-29 01:57:10,195 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-SOL_1742601600/cb_sol_1742601600 +2025-04-29 01:57:10,196 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training SOL/USDT -------------------- +2025-04-29 01:57:10,218 - freqtrade.freqai.data_kitchen - INFO - SOL/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:57:10,218 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-02-20 to 2025-03-21 -------------------- +2025-04-29 01:57:15,185 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 111 features +2025-04-29 01:57:15,186 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.24126 validation_1-rmse:0.24985 +[1] validation_0-rmse:0.23710 validation_1-rmse:0.24457 +[2] validation_0-rmse:0.23323 validation_1-rmse:0.23968 +[3] validation_0-rmse:0.22960 validation_1-rmse:0.23491 +[4] validation_0-rmse:0.22600 validation_1-rmse:0.23038 +[5] validation_0-rmse:0.22255 validation_1-rmse:0.22616 +[6] validation_0-rmse:0.21946 validation_1-rmse:0.22213 +[7] validation_0-rmse:0.21640 validation_1-rmse:0.21827 +[8] validation_0-rmse:0.21381 validation_1-rmse:0.21453 +[9] validation_0-rmse:0.21110 validation_1-rmse:0.21092 +[10] validation_0-rmse:0.20854 validation_1-rmse:0.20742 +[11] validation_0-rmse:0.20586 validation_1-rmse:0.20418 +[12] validation_0-rmse:0.20373 validation_1-rmse:0.20097 +[13] validation_0-rmse:0.20156 validation_1-rmse:0.19779 +[14] validation_0-rmse:0.19934 validation_1-rmse:0.19493 +[15] validation_0-rmse:0.19739 validation_1-rmse:0.19211 +[16] validation_0-rmse:0.19537 validation_1-rmse:0.18929 +[17] validation_0-rmse:0.19333 validation_1-rmse:0.18671 +[18] validation_0-rmse:0.19163 validation_1-rmse:0.18396 +[19] validation_0-rmse:0.18975 validation_1-rmse:0.18157 +[20] validation_0-rmse:0.18799 validation_1-rmse:0.17903 +[21] validation_0-rmse:0.18612 validation_1-rmse:0.17673 +[22] validation_0-rmse:0.18451 validation_1-rmse:0.17454 +[23] validation_0-rmse:0.18299 validation_1-rmse:0.17225 +[24] validation_0-rmse:0.18150 validation_1-rmse:0.17025 +[25] validation_0-rmse:0.18016 validation_1-rmse:0.16803 +[26] validation_0-rmse:0.17866 validation_1-rmse:0.16614 +[27] validation_0-rmse:0.17732 validation_1-rmse:0.16429 +[28] validation_0-rmse:0.17619 validation_1-rmse:0.16247 +[29] validation_0-rmse:0.17494 validation_1-rmse:0.16080 +[30] validation_0-rmse:0.17391 validation_1-rmse:0.15889 +[31] validation_0-rmse:0.17282 validation_1-rmse:0.15724 +[32] validation_0-rmse:0.17156 validation_1-rmse:0.15548 +[33] validation_0-rmse:0.17054 validation_1-rmse:0.15393 +[34] validation_0-rmse:0.16943 validation_1-rmse:0.15244 +[35] validation_0-rmse:0.16841 validation_1-rmse:0.15088 +[36] validation_0-rmse:0.16736 validation_1-rmse:0.14950 +[37] validation_0-rmse:0.16647 validation_1-rmse:0.14797 +[38] validation_0-rmse:0.16544 validation_1-rmse:0.14641 +[39] validation_0-rmse:0.16454 validation_1-rmse:0.14508 +[40] validation_0-rmse:0.16357 validation_1-rmse:0.14380 +[41] validation_0-rmse:0.16266 validation_1-rmse:0.14261 +[42] validation_0-rmse:0.16198 validation_1-rmse:0.14134 +[43] validation_0-rmse:0.16105 validation_1-rmse:0.14019 +[44] validation_0-rmse:0.16046 validation_1-rmse:0.13896 +[45] validation_0-rmse:0.15963 validation_1-rmse:0.13773 +[46] validation_0-rmse:0.15899 validation_1-rmse:0.13662 +[47] validation_0-rmse:0.15822 validation_1-rmse:0.13555 +[48] validation_0-rmse:0.15757 validation_1-rmse:0.13452 +[49] validation_0-rmse:0.15688 validation_1-rmse:0.13322 +[50] validation_0-rmse:0.15627 validation_1-rmse:0.13206 +[51] validation_0-rmse:0.15558 validation_1-rmse:0.13110 +[52] validation_0-rmse:0.15493 validation_1-rmse:0.13017 +[53] validation_0-rmse:0.15429 validation_1-rmse:0.12924 +[54] validation_0-rmse:0.15365 validation_1-rmse:0.12838 +[55] validation_0-rmse:0.15303 validation_1-rmse:0.12741 +[56] validation_0-rmse:0.15258 validation_1-rmse:0.12653 +[57] validation_0-rmse:0.15202 validation_1-rmse:0.12569 +[58] validation_0-rmse:0.15142 validation_1-rmse:0.12478 +[59] validation_0-rmse:0.15106 validation_1-rmse:0.12392 +[60] validation_0-rmse:0.15049 validation_1-rmse:0.12297 +[61] validation_0-rmse:0.14990 validation_1-rmse:0.12223 +[62] validation_0-rmse:0.14932 validation_1-rmse:0.12144 +[63] validation_0-rmse:0.14876 validation_1-rmse:0.12071 +[64] validation_0-rmse:0.14826 validation_1-rmse:0.12000 +[65] validation_0-rmse:0.14788 validation_1-rmse:0.11931 +[66] validation_0-rmse:0.14753 validation_1-rmse:0.11842 +[67] validation_0-rmse:0.14714 validation_1-rmse:0.11776 +[68] validation_0-rmse:0.14665 validation_1-rmse:0.11706 +[69] validation_0-rmse:0.14655 validation_1-rmse:0.11614 +[70] validation_0-rmse:0.14616 validation_1-rmse:0.11556 +[71] validation_0-rmse:0.14579 validation_1-rmse:0.11478 +[72] validation_0-rmse:0.14533 validation_1-rmse:0.11418 +[73] validation_0-rmse:0.14491 validation_1-rmse:0.11358 +[74] validation_0-rmse:0.14448 validation_1-rmse:0.11300 +[75] validation_0-rmse:0.14446 validation_1-rmse:0.11235 +[76] validation_0-rmse:0.14414 validation_1-rmse:0.11173 +[77] validation_0-rmse:0.14371 validation_1-rmse:0.11116 +[78] validation_0-rmse:0.14344 validation_1-rmse:0.11066 +[79] validation_0-rmse:0.14321 validation_1-rmse:0.10996 +[80] validation_0-rmse:0.14280 validation_1-rmse:0.10942 +[81] validation_0-rmse:0.14250 validation_1-rmse:0.10885 +[82] validation_0-rmse:0.14222 validation_1-rmse:0.10837 +[83] validation_0-rmse:0.14184 validation_1-rmse:0.10787 +[84] validation_0-rmse:0.14140 validation_1-rmse:0.10731 +[85] validation_0-rmse:0.14114 validation_1-rmse:0.10683 +[86] validation_0-rmse:0.14100 validation_1-rmse:0.10625 +[87] validation_0-rmse:0.14077 validation_1-rmse:0.10574 +[88] validation_0-rmse:0.14048 validation_1-rmse:0.10534 +[89] validation_0-rmse:0.14010 validation_1-rmse:0.10485 +[90] validation_0-rmse:0.13990 validation_1-rmse:0.10443 +[91] validation_0-rmse:0.13956 validation_1-rmse:0.10400 +[92] validation_0-rmse:0.13949 validation_1-rmse:0.10341 +[93] validation_0-rmse:0.13930 validation_1-rmse:0.10298 +[94] validation_0-rmse:0.13905 validation_1-rmse:0.10254 +[95] validation_0-rmse:0.13884 validation_1-rmse:0.10211 +[96] validation_0-rmse:0.13867 validation_1-rmse:0.10167 +[97] validation_0-rmse:0.13859 validation_1-rmse:0.10114 +[98] validation_0-rmse:0.13839 validation_1-rmse:0.10078 +[99] validation_0-rmse:0.13818 validation_1-rmse:0.10038 +2025-04-29 01:57:16,538 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training SOL/USDT (6.34 secs) -------------------- +2025-04-29 01:57:16,539 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:57:17,068 - freqtrade.freqai.freqai_interface - INFO - Training SOL/USDT, 2/2 pairs from 2025-03-02 00:00:00 to 2025-04-01 00:00:00, 10/11 trains +2025-04-29 01:57:17,069 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_sol_1743465600_prediction.feather +2025-04-29 01:57:17,084 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:57:17,092 - FreqaiExampleStrategy - INFO - 目标列形状:(57650,) +2025-04-29 01:57:17,094 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.644115 +1 0.003044 49.644115 +2 0.000465 49.644115 +3 -0.000380 49.644115 +4 0.002829 49.644115 +2025-04-29 01:57:17,108 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:57:17,115 - FreqaiExampleStrategy - INFO - 目标列形状:(62450,) +2025-04-29 01:57:17,117 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.601082 +1 0.003044 49.601082 +2 0.000465 49.601082 +3 -0.000380 49.601082 +4 0.002829 49.601082 +2025-04-29 01:57:17,124 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-SOL_1743465600/cb_sol_1743465600 +2025-04-29 01:57:17,125 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training SOL/USDT -------------------- +2025-04-29 01:57:17,151 - freqtrade.freqai.data_kitchen - INFO - SOL/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:57:17,151 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-03-02 to 2025-03-31 -------------------- +2025-04-29 01:57:22,430 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 111 features +2025-04-29 01:57:22,430 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.23717 validation_1-rmse:0.24954 +[1] validation_0-rmse:0.23311 validation_1-rmse:0.24432 +[2] validation_0-rmse:0.22894 validation_1-rmse:0.23928 +[3] validation_0-rmse:0.22483 validation_1-rmse:0.23452 +[4] validation_0-rmse:0.22141 validation_1-rmse:0.23005 +[5] validation_0-rmse:0.21750 validation_1-rmse:0.22575 +[6] validation_0-rmse:0.21419 validation_1-rmse:0.22161 +[7] validation_0-rmse:0.21074 validation_1-rmse:0.21764 +[8] validation_0-rmse:0.20776 validation_1-rmse:0.21374 +[9] validation_0-rmse:0.20479 validation_1-rmse:0.21020 +[10] validation_0-rmse:0.20193 validation_1-rmse:0.20664 +[11] validation_0-rmse:0.19915 validation_1-rmse:0.20326 +[12] validation_0-rmse:0.19683 validation_1-rmse:0.20013 +[13] validation_0-rmse:0.19459 validation_1-rmse:0.19705 +[14] validation_0-rmse:0.19243 validation_1-rmse:0.19415 +[15] validation_0-rmse:0.19013 validation_1-rmse:0.19115 +[16] validation_0-rmse:0.18828 validation_1-rmse:0.18836 +[17] validation_0-rmse:0.18621 validation_1-rmse:0.18557 +[18] validation_0-rmse:0.18402 validation_1-rmse:0.18302 +[19] validation_0-rmse:0.18198 validation_1-rmse:0.18050 +[20] validation_0-rmse:0.18015 validation_1-rmse:0.17803 +[21] validation_0-rmse:0.17857 validation_1-rmse:0.17575 +[22] validation_0-rmse:0.17681 validation_1-rmse:0.17350 +[23] validation_0-rmse:0.17537 validation_1-rmse:0.17132 +[24] validation_0-rmse:0.17377 validation_1-rmse:0.16919 +[25] validation_0-rmse:0.17225 validation_1-rmse:0.16720 +[26] validation_0-rmse:0.17072 validation_1-rmse:0.16529 +[27] validation_0-rmse:0.16931 validation_1-rmse:0.16310 +[28] validation_0-rmse:0.16784 validation_1-rmse:0.16126 +[29] validation_0-rmse:0.16650 validation_1-rmse:0.15940 +[30] validation_0-rmse:0.16512 validation_1-rmse:0.15771 +[31] validation_0-rmse:0.16392 validation_1-rmse:0.15605 +[32] validation_0-rmse:0.16287 validation_1-rmse:0.15428 +[33] validation_0-rmse:0.16159 validation_1-rmse:0.15277 +[34] validation_0-rmse:0.16033 validation_1-rmse:0.15125 +[35] validation_0-rmse:0.15910 validation_1-rmse:0.14974 +[36] validation_0-rmse:0.15821 validation_1-rmse:0.14832 +[37] validation_0-rmse:0.15733 validation_1-rmse:0.14664 +[38] validation_0-rmse:0.15624 validation_1-rmse:0.14525 +[39] validation_0-rmse:0.15518 validation_1-rmse:0.14395 +[40] validation_0-rmse:0.15451 validation_1-rmse:0.14267 +[41] validation_0-rmse:0.15396 validation_1-rmse:0.14127 +[42] validation_0-rmse:0.15309 validation_1-rmse:0.14006 +[43] validation_0-rmse:0.15219 validation_1-rmse:0.13890 +[44] validation_0-rmse:0.15156 validation_1-rmse:0.13749 +[45] validation_0-rmse:0.15061 validation_1-rmse:0.13637 +[46] validation_0-rmse:0.14982 validation_1-rmse:0.13528 +[47] validation_0-rmse:0.14918 validation_1-rmse:0.13414 +[48] validation_0-rmse:0.14840 validation_1-rmse:0.13312 +[49] validation_0-rmse:0.14802 validation_1-rmse:0.13212 +[50] validation_0-rmse:0.14738 validation_1-rmse:0.13089 +[51] validation_0-rmse:0.14671 validation_1-rmse:0.12994 +[52] validation_0-rmse:0.14604 validation_1-rmse:0.12894 +[53] validation_0-rmse:0.14534 validation_1-rmse:0.12802 +[54] validation_0-rmse:0.14464 validation_1-rmse:0.12718 +[55] validation_0-rmse:0.14423 validation_1-rmse:0.12625 +[56] validation_0-rmse:0.14371 validation_1-rmse:0.12531 +[57] validation_0-rmse:0.14321 validation_1-rmse:0.12446 +[58] validation_0-rmse:0.14279 validation_1-rmse:0.12346 +[59] validation_0-rmse:0.14234 validation_1-rmse:0.12257 +[60] validation_0-rmse:0.14194 validation_1-rmse:0.12181 +[61] validation_0-rmse:0.14176 validation_1-rmse:0.12077 +[62] validation_0-rmse:0.14120 validation_1-rmse:0.12003 +[63] validation_0-rmse:0.14073 validation_1-rmse:0.11932 +[64] validation_0-rmse:0.14023 validation_1-rmse:0.11862 +[65] validation_0-rmse:0.14001 validation_1-rmse:0.11791 +[66] validation_0-rmse:0.13966 validation_1-rmse:0.11720 +[67] validation_0-rmse:0.13920 validation_1-rmse:0.11644 +[68] validation_0-rmse:0.13872 validation_1-rmse:0.11560 +[69] validation_0-rmse:0.13831 validation_1-rmse:0.11494 +[70] validation_0-rmse:0.13808 validation_1-rmse:0.11425 +[71] validation_0-rmse:0.13762 validation_1-rmse:0.11348 +[72] validation_0-rmse:0.13725 validation_1-rmse:0.11284 +[73] validation_0-rmse:0.13681 validation_1-rmse:0.11225 +[74] validation_0-rmse:0.13629 validation_1-rmse:0.11165 +[75] validation_0-rmse:0.13595 validation_1-rmse:0.11109 +[76] validation_0-rmse:0.13585 validation_1-rmse:0.11023 +[77] validation_0-rmse:0.13541 validation_1-rmse:0.10972 +[78] validation_0-rmse:0.13505 validation_1-rmse:0.10920 +[79] validation_0-rmse:0.13465 validation_1-rmse:0.10861 +[80] validation_0-rmse:0.13433 validation_1-rmse:0.10810 +[81] validation_0-rmse:0.13409 validation_1-rmse:0.10744 +[82] validation_0-rmse:0.13377 validation_1-rmse:0.10695 +[83] validation_0-rmse:0.13353 validation_1-rmse:0.10641 +[84] validation_0-rmse:0.13337 validation_1-rmse:0.10588 +[85] validation_0-rmse:0.13329 validation_1-rmse:0.10533 +[86] validation_0-rmse:0.13296 validation_1-rmse:0.10488 +[87] validation_0-rmse:0.13264 validation_1-rmse:0.10442 +[88] validation_0-rmse:0.13247 validation_1-rmse:0.10394 +[89] validation_0-rmse:0.13216 validation_1-rmse:0.10351 +[90] validation_0-rmse:0.13188 validation_1-rmse:0.10297 +[91] validation_0-rmse:0.13145 validation_1-rmse:0.10203 +[92] validation_0-rmse:0.13122 validation_1-rmse:0.10157 +[93] validation_0-rmse:0.13102 validation_1-rmse:0.10118 +[94] validation_0-rmse:0.13060 validation_1-rmse:0.10033 +[95] validation_0-rmse:0.13033 validation_1-rmse:0.09981 +[96] validation_0-rmse:0.13016 validation_1-rmse:0.09933 +[97] validation_0-rmse:0.12995 validation_1-rmse:0.09894 +[98] validation_0-rmse:0.12972 validation_1-rmse:0.09860 +[99] validation_0-rmse:0.12954 validation_1-rmse:0.09825 +2025-04-29 01:57:23,725 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training SOL/USDT (6.60 secs) -------------------- +2025-04-29 01:57:23,726 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:57:24,305 - freqtrade.freqai.freqai_interface - INFO - Training SOL/USDT, 2/2 pairs from 2025-03-12 00:00:00 to 2025-04-11 00:00:00, 11/11 trains +2025-04-29 01:57:24,305 - freqtrade.freqai.data_kitchen - INFO - Could not find backtesting prediction file at +/freqtrade/user_data/models/test175/backtesting_predictions/cb_sol_1744329600_prediction.feather +2025-04-29 01:57:24,318 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:57:24,325 - FreqaiExampleStrategy - INFO - 目标列形状:(62450,) +2025-04-29 01:57:24,327 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.601082 +1 0.003044 49.601082 +2 0.000465 49.601082 +3 -0.000380 49.601082 +4 0.002829 49.601082 +2025-04-29 01:57:24,337 - FreqaiExampleStrategy - INFO - 设置 FreqAI 目标,交易对:SOL/USDT +2025-04-29 01:57:24,345 - FreqaiExampleStrategy - INFO - 目标列形状:(66770,) +2025-04-29 01:57:24,346 - FreqaiExampleStrategy - INFO - 目标列预览: + up_or_down &-buy_rsi +0 0.002704 49.729824 +1 0.003044 49.729824 +2 0.000465 49.729824 +3 -0.000380 49.729824 +4 0.002829 49.729824 +2025-04-29 01:57:24,352 - freqtrade.freqai.freqai_interface - INFO - Could not find model at /freqtrade/user_data/models/test175/sub-train-SOL_1744329600/cb_sol_1744329600 +2025-04-29 01:57:24,353 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Starting training SOL/USDT -------------------- +2025-04-29 01:57:24,376 - freqtrade.freqai.data_kitchen - INFO - SOL/USDT: dropped 0 training points due to NaNs in populated dataset 14400. +2025-04-29 01:57:24,376 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Training on data from 2025-03-12 to 2025-04-10 -------------------- +2025-04-29 01:57:29,392 - datasieve.pipeline - INFO - DI tossed 1948 predictions for being too far from training data. +2025-04-29 01:57:29,396 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 111 features +2025-04-29 01:57:29,396 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - Training model on 11520 data points +[0] validation_0-rmse:0.30616 validation_1-rmse:0.27906 +[1] validation_0-rmse:0.30021 validation_1-rmse:0.27322 +[2] validation_0-rmse:0.29443 validation_1-rmse:0.26757 +[3] validation_0-rmse:0.28911 validation_1-rmse:0.26205 +[4] validation_0-rmse:0.28365 validation_1-rmse:0.25699 +[5] validation_0-rmse:0.27823 validation_1-rmse:0.25219 +[6] validation_0-rmse:0.27295 validation_1-rmse:0.24748 +[7] validation_0-rmse:0.26797 validation_1-rmse:0.24295 +[8] validation_0-rmse:0.26320 validation_1-rmse:0.23854 +[9] validation_0-rmse:0.25898 validation_1-rmse:0.23437 +[10] validation_0-rmse:0.25517 validation_1-rmse:0.23021 +[11] validation_0-rmse:0.25113 validation_1-rmse:0.22639 +[12] validation_0-rmse:0.24762 validation_1-rmse:0.22270 +[13] validation_0-rmse:0.24393 validation_1-rmse:0.21915 +[14] validation_0-rmse:0.24169 validation_1-rmse:0.21579 +[15] validation_0-rmse:0.23898 validation_1-rmse:0.21236 +[16] validation_0-rmse:0.23539 validation_1-rmse:0.20924 +[17] validation_0-rmse:0.23364 validation_1-rmse:0.20621 +[18] validation_0-rmse:0.23062 validation_1-rmse:0.20322 +[19] validation_0-rmse:0.22764 validation_1-rmse:0.20024 +[20] validation_0-rmse:0.22488 validation_1-rmse:0.19731 +[21] validation_0-rmse:0.22211 validation_1-rmse:0.19445 +[22] validation_0-rmse:0.21952 validation_1-rmse:0.19188 +[23] validation_0-rmse:0.21699 validation_1-rmse:0.18935 +[24] validation_0-rmse:0.21549 validation_1-rmse:0.18686 +[25] validation_0-rmse:0.21310 validation_1-rmse:0.18454 +[26] validation_0-rmse:0.21118 validation_1-rmse:0.18198 +[27] validation_0-rmse:0.20904 validation_1-rmse:0.17979 +[28] validation_0-rmse:0.20726 validation_1-rmse:0.17755 +[29] validation_0-rmse:0.20511 validation_1-rmse:0.17547 +[30] validation_0-rmse:0.20336 validation_1-rmse:0.17335 +[31] validation_0-rmse:0.20172 validation_1-rmse:0.17144 +[32] validation_0-rmse:0.19983 validation_1-rmse:0.16961 +[33] validation_0-rmse:0.19794 validation_1-rmse:0.16759 +[34] validation_0-rmse:0.19658 validation_1-rmse:0.16581 +[35] validation_0-rmse:0.19492 validation_1-rmse:0.16409 +[36] validation_0-rmse:0.19347 validation_1-rmse:0.16229 +[37] validation_0-rmse:0.19225 validation_1-rmse:0.16064 +[38] validation_0-rmse:0.19083 validation_1-rmse:0.15877 +[39] validation_0-rmse:0.18921 validation_1-rmse:0.15720 +[40] validation_0-rmse:0.18766 validation_1-rmse:0.15572 +[41] validation_0-rmse:0.18652 validation_1-rmse:0.15414 +[42] validation_0-rmse:0.18519 validation_1-rmse:0.15277 +[43] validation_0-rmse:0.18396 validation_1-rmse:0.15125 +[44] validation_0-rmse:0.18264 validation_1-rmse:0.14968 +[45] validation_0-rmse:0.18134 validation_1-rmse:0.14841 +[46] validation_0-rmse:0.18026 validation_1-rmse:0.14717 +[47] validation_0-rmse:0.17900 validation_1-rmse:0.14594 +[48] validation_0-rmse:0.17815 validation_1-rmse:0.14460 +[49] validation_0-rmse:0.17713 validation_1-rmse:0.14344 +[50] validation_0-rmse:0.17609 validation_1-rmse:0.14232 +[51] validation_0-rmse:0.17502 validation_1-rmse:0.14112 +[52] validation_0-rmse:0.17414 validation_1-rmse:0.13991 +[53] validation_0-rmse:0.17317 validation_1-rmse:0.13889 +[54] validation_0-rmse:0.17267 validation_1-rmse:0.13770 +[55] validation_0-rmse:0.17175 validation_1-rmse:0.13665 +[56] validation_0-rmse:0.17087 validation_1-rmse:0.13573 +[57] validation_0-rmse:0.17001 validation_1-rmse:0.13483 +[58] validation_0-rmse:0.16920 validation_1-rmse:0.13384 +[59] validation_0-rmse:0.16869 validation_1-rmse:0.13280 +[60] validation_0-rmse:0.16790 validation_1-rmse:0.13189 +[61] validation_0-rmse:0.16689 validation_1-rmse:0.13093 +[62] validation_0-rmse:0.16600 validation_1-rmse:0.13007 +[63] validation_0-rmse:0.16548 validation_1-rmse:0.12921 +[64] validation_0-rmse:0.16482 validation_1-rmse:0.12837 +[65] validation_0-rmse:0.16397 validation_1-rmse:0.12747 +[66] validation_0-rmse:0.16316 validation_1-rmse:0.12669 +[67] validation_0-rmse:0.16267 validation_1-rmse:0.12587 +[68] validation_0-rmse:0.16204 validation_1-rmse:0.12501 +[69] validation_0-rmse:0.16159 validation_1-rmse:0.12422 +[70] validation_0-rmse:0.16090 validation_1-rmse:0.12354 +[71] validation_0-rmse:0.16026 validation_1-rmse:0.12282 +[72] validation_0-rmse:0.15986 validation_1-rmse:0.12206 +[73] validation_0-rmse:0.15919 validation_1-rmse:0.12129 +[74] validation_0-rmse:0.15875 validation_1-rmse:0.12061 +[75] validation_0-rmse:0.15829 validation_1-rmse:0.11966 +[76] validation_0-rmse:0.15790 validation_1-rmse:0.11864 +[77] validation_0-rmse:0.15732 validation_1-rmse:0.11802 +[78] validation_0-rmse:0.15696 validation_1-rmse:0.11739 +[79] validation_0-rmse:0.15615 validation_1-rmse:0.11660 +[80] validation_0-rmse:0.15556 validation_1-rmse:0.11593 +[81] validation_0-rmse:0.15516 validation_1-rmse:0.11531 +[82] validation_0-rmse:0.15466 validation_1-rmse:0.11437 +[83] validation_0-rmse:0.15422 validation_1-rmse:0.11383 +[84] validation_0-rmse:0.15382 validation_1-rmse:0.11332 +[85] validation_0-rmse:0.15350 validation_1-rmse:0.11244 +[86] validation_0-rmse:0.15310 validation_1-rmse:0.11180 +[87] validation_0-rmse:0.15277 validation_1-rmse:0.11119 +[88] validation_0-rmse:0.15228 validation_1-rmse:0.11060 +[89] validation_0-rmse:0.15192 validation_1-rmse:0.11011 +[90] validation_0-rmse:0.15144 validation_1-rmse:0.10956 +[91] validation_0-rmse:0.15092 validation_1-rmse:0.10913 +[92] validation_0-rmse:0.15058 validation_1-rmse:0.10847 +[93] validation_0-rmse:0.15017 validation_1-rmse:0.10803 +[94] validation_0-rmse:0.14984 validation_1-rmse:0.10702 +[95] validation_0-rmse:0.14967 validation_1-rmse:0.10629 +[96] validation_0-rmse:0.14914 validation_1-rmse:0.10587 +[97] validation_0-rmse:0.14882 validation_1-rmse:0.10545 +[98] validation_0-rmse:0.14853 validation_1-rmse:0.10454 +[99] validation_0-rmse:0.14837 validation_1-rmse:0.10398 +2025-04-29 01:57:30,474 - freqtrade.freqai.base_models.BaseRegressionModel - INFO - -------------------- Done training SOL/USDT (6.12 secs) -------------------- +2025-04-29 01:57:30,475 - freqtrade.freqai.freqai_interface - INFO - Saving metadata to disk. +2025-04-29 01:57:31,077 - FreqaiExampleStrategy - INFO - 动态参数:buy_rsi=50.0, sell_rsi=70.0, stoploss=-0.15, trailing_stop_positive=0.05 +2025-04-29 01:57:31,096 - FreqaiExampleStrategy - INFO - up_or_down 值统计: +up_or_down +0 33825 +1 32946 +2025-04-29 01:57:31,097 - FreqaiExampleStrategy - INFO - do_predict 值统计: +do_predict +0.0 36730 +1.0 30041 +2025-04-29 01:57:31,105 - freqtrade.optimize.backtesting - INFO - Backtesting with data from 2025-01-01 00:00:00 up to 2025-04-20 00:00:00 (109 days). +2025-04-29 01:57:31,109 - FreqaiExampleStrategy - ERROR - MACD 或 MACD 信号列缺失,无法生成买入信号。尝试重新计算 MACD 列。 +2025-04-29 01:57:31,111 - FreqaiExampleStrategy - INFO - MACD 列已成功重新计算。 +2025-04-29 01:57:31,193 - FreqaiExampleStrategy - ERROR - MACD 或 MACD 信号列缺失,无法生成买入信号。尝试重新计算 MACD 列。 +2025-04-29 01:57:31,195 - FreqaiExampleStrategy - INFO - MACD 列已成功重新计算。 +2025-04-29 01:57:33,776 - freqtrade.misc - INFO - dumping json to "/freqtrade/user_data/backtest_results/backtest-result-2025-04-29_01-57-33.meta.json" +Result for strategy FreqaiExampleStrategy + BACKTESTING REPORT +┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃ Pair ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃ +┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩ +│ BTC/USDT │ 38 │ -0.39 │ -22.029 │ -2.2 │ 22:13:00 │ 5 32 1 13.2 │ +│ SOL/USDT │ 44 │ -1.94 │ -128.236 │ -12.82 │ 16:35:00 │ 12 26 6 27.3 │ +│ TOTAL │ 82 │ -1.22 │ -150.265 │ -15.03 │ 19:12:00 │ 17 58 7 20.7 │ +└──────────┴────────┴──────────────┴─────────────────┴──────────────┴──────────────┴────────────────────────┘ + LEFT OPEN TRADES REPORT +┏━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃ Pair ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃ +┡━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩ +│ TOTAL │ 0 │ 0.0 │ 0.000 │ 0.0 │ 0:00 │ 0 0 0 0 │ +└───────┴────────┴──────────────┴─────────────────┴──────────────┴──────────────┴────────────────────────┘ + ENTER TAG STATS +┏━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃ Enter Tag ┃ Entries ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃ +┡━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩ +│ long │ 82 │ -1.22 │ -150.265 │ -15.03 │ 19:12:00 │ 17 58 7 20.7 │ +│ TOTAL │ 82 │ -1.22 │ -150.265 │ -15.03 │ 19:12:00 │ 17 58 7 20.7 │ +└───────────┴─────────┴──────────────┴─────────────────┴──────────────┴──────────────┴────────────────────────┘ + EXIT REASON STATS +┏━━━━━━━━━━━━━━━━━━━━┳━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃ Exit Reason ┃ Exits ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃ +┡━━━━━━━━━━━━━━━━━━━━╇━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩ +│ roi │ 75 │ 0.07 │ 7.926 │ 0.79 │ 14:48:00 │ 17 58 0 100 │ +│ trailing_stop_loss │ 7 │ -15.04 │ -158.191 │ -15.82 │ 2 days, 18:13:00 │ 0 0 7 0 │ +│ TOTAL │ 82 │ -1.22 │ -150.265 │ -15.03 │ 19:12:00 │ 17 58 7 20.7 │ +└────────────────────┴───────┴──────────────┴─────────────────┴──────────────┴──────────────────┴────────────────────────┘ + MIXED TAG STATS +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃ Enter Tag ┃ Exit Reason ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃ +┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩ +│ ('long', 'roi') │ │ 75 │ 0.07 │ 7.926 │ 0.79 │ 14:48:00 │ 17 58 0 100 │ +│ ('long', 'trailing_stop_loss') │ │ 7 │ -15.04 │ -158.191 │ -15.82 │ 2 days, 18:13:00 │ 0 0 7 0 │ +│ TOTAL │ │ 82 │ -1.22 │ -150.265 │ -15.03 │ 19:12:00 │ 17 58 7 20.7 │ +└────────────────────────────────┴─────────────┴────────┴──────────────┴─────────────────┴──────────────┴──────────────────┴────────────────────────┘ + SUMMARY METRICS +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┓ +┃ Metric ┃ Value ┃ +┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━┩ +│ Backtesting from │ 2025-01-01 00:00:00 │ +│ Backtesting to │ 2025-04-20 00:00:00 │ +│ Trading Mode │ Spot │ +│ Max open trades │ 2 │ +│ │ │ +│ Total/Daily Avg Trades │ 82 / 0.75 │ +│ Starting balance │ 1000 USDT │ +│ Final balance │ 849.735 USDT │ +│ Absolute profit │ -150.265 USDT │ +│ Total profit % │ -15.03% │ +│ CAGR % │ -42.03% │ +│ Sortino │ -252.56 │ +│ Sharpe │ -4.15 │ +│ Calmar │ -17.48 │ +│ SQN │ -2.60 │ +│ Profit factor │ 0.05 │ +│ Expectancy (Ratio) │ -1.83 (-0.79) │ +│ Avg. daily profit % │ -0.14% │ +│ Avg. stake amount │ 150 USDT │ +│ Total trade volume │ 24523.15 USDT │ +│ │ │ +│ Best Pair │ BTC/USDT -2.20% │ +│ Worst Pair │ SOL/USDT -12.82% │ +│ Best trade │ SOL/USDT 0.90% │ +│ Worst trade │ SOL/USDT -15.19% │ +│ Best day │ 1.76 USDT │ +│ Worst day │ -22.827 USDT │ +│ Days win/draw/lose │ 14 / 80 / 7 │ +│ Avg. Duration Winners │ 0:55:00 │ +│ Avg. Duration Loser │ 2 days, 18:13:00 │ +│ Max Consecutive Wins / Loss │ 2 / 16 │ +│ Rejected Entry signals │ 0 │ +│ Entry/Exit Timeouts │ 0 / 0 │ +│ │ │ +│ Min balance │ 849.735 USDT │ +│ Max balance │ 1000.508 USDT │ +│ Max % of account underwater │ 15.07% │ +│ Absolute Drawdown (Account) │ 15.07% │ +│ Absolute Drawdown │ 150.773 USDT │ +│ Drawdown high │ 0.508 USDT │ +│ Drawdown low │ -150.265 USDT │ +│ Drawdown Start │ 2025-01-06 19:48:00 │ +│ Drawdown End │ 2025-04-06 23:15:00 │ +│ Market change │ -26.79% │ +└─────────────────────────────┴─────────────────────┘ + +Backtested 2025-01-01 00:00:00 -> 2025-04-20 00:00:00 | Max open trades : 2 + STRATEGY SUMMARY +┏━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━┓ +┃ Strategy ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃ Drawdown ┃ +┡━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━┩ +│ FreqaiExampleStrategy │ 82 │ -1.22 │ -150.265 │ -15.03 │ 19:12:00 │ 17 58 7 20.7 │ 150.773 USDT 15.07% │ +└───────────────────────┴────────┴──────────────┴─────────────────┴──────────────┴──────────────┴────────────────────────┴──────────────────────┘