zhangkun9038@dingtalk.com 62b9fed359 not work NostalgiaV8
2025-05-07 16:56:25 +08:00

86 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

> 请把当前策略的运行逻辑进行梳理和讲解
我来为您梳理和讲解这个策略的运行逻辑。这是一个基于 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 和止损规则管理仓位
这个策略结合了传统技术分析和机器学习方法,通过模型预测来增强交易信号的准确性,同时保持了严格的风险控制机制。