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