> 请把当前策略的运行逻辑进行梳理和讲解 我来为您梳理和讲解这个策略的运行逻辑。这是一个基于 FreqAI 的机器学习交易策略,主要使用 RSI 指标和机器学习模型进行交易决策。以下是策略的主要逻辑: ### 1. 策略配置 ```python minimal_roi = { "0": 0.02, "7": 0.01, "13": 0.005, "60": 0 } stoploss = 0.0 trailing_stop = True ``` - 设置了静态的 ROI 目标 - 启用了追踪止损 ### 2. 特征工程 策略通过多个方法构建特征: - `feature_engineering_expand_all`: 计算 RSI 和布林带宽度 - `feature_engineering_expand_basic`: 计算价格变化百分比 - `feature_engineering_standard`: 计算波动率和时间特征 ### 3. 目标变量设置 在 `set_freqai_targets` 方法中: - 使用未来 `label_period_candles` 周期的 RSI 值作为目标变量 - 计算并标准化波动率特征 ### 4. 指标计算 `populate_indicators` 方法中计算了多个技术指标: - RSI - 波动率 - TEMA(三重指数移动平均线) - 布林带下轨 - 未来价格方向(up_or_down) ### 5. 机器学习模型 使用 LightGBM 回归模型: ```python freqai_info = { "model": "LightGBMRegressor", "feature_parameters": {...}, "data_split_parameters": {...}, "model_training_parameters": {...} } ``` - 模型预测买入和卖出的 RSI 值 - 使用 SOL/USDT 作为相关交易对 ### 6. 入场逻辑 `populate_entry_trend` 方法中: - 当实际 RSI 上穿预测的买入 RSI 时 - TEMA 指标向上 - 交易量大于 0 - 模型预测结果为 1 - 未来价格方向为上涨 ### 7. 出场逻辑 `populate_exit_trend` 方法中: - 当实际 RSI 上穿预测的卖出 RSI 时 - 或价格下跌超过 2% - 或价格跌破布林带下轨 - 或持有时间超过 1 天 ### 8. 交易确认 `confirm_trade_entry` 方法: - 检查当前价格是否在可接受范围内 - 记录交易确认信息 ### 策略特点 1. 机器学习驱动:使用 LightGBM 模型预测 RSI 值 2. 多特征融合:结合技术指标、波动率和时间特征 3. 风险控制:设置了 ROI 目标和追踪止损 4. 动态调整:通过机器学习模型动态调整交易信号 ### 运行流程 1. 数据准备:获取历史数据,计算技术指标 2. 特征工程:构建机器学习特征 3. 模型训练:使用历史数据训练 LightGBM 模型 4. 信号生成:根据模型预测结果生成交易信号 5. 交易执行:根据入场和出场逻辑执行交易 6. 风险控制:根据 ROI 和止损规则管理仓位 这个策略结合了传统技术分析和机器学习方法,通过模型预测来增强交易信号的准确性,同时保持了严格的风险控制机制。