这是一个基于 FreqTrade 框架的量化交易项目,专注于加密货币期货交易。项目包含多种交易策略,从简单的技术指标策略到复杂的多因子策略。
user_data/- 用户数据和配置strategies/- 交易策略文件config.json- 主配置文件data/- 历史数据存储backtest_results/- 回测结果hyperopt_results/- 超参数优化结果
- 功能: 优化利润的安全策略
- 特点:
- 止损从 4%放宽到 6%,减少过早止损
- ROI 从 2%提高到 3-4%,提高盈亏比
- 加入 MA 趋势过滤,只做多头趋势
- 分批止盈,拉高整体收益
- 适用场景: 稳健型交易,适合风险偏好较低的投资者
- 功能: RSI 反转策略
- 特点: 基于 RSI 超买超卖信号进行反转交易
- 功能: 高级斐波那契策略
- 特点: 结合斐波那契回撤和扩展进行交易
- 功能: 谐波背离策略
- 特点: 基于价格和指标的背离信号
- 功能: 均线金叉 + 成交量放大策略(基础版)
- 特点:
- 买入:均线金叉 + 成交量放大(大幅放宽条件)
- 卖出:均线死叉或破重要支撑 + 3%利润目标
- 止损:5%以内亏损,3%利润保护
- 胜率:38.2%,但利润目标达成率高
- 回测表现:
- 76 笔交易,总收益+0.41%
- 7 笔交易达到 3%利润目标
- 最大亏损仅 2.85%,最大回撤 0.36%
- Sharpe 比率 5.31,风险控制优秀
- 适用场景: 高频交易,追求稳定 3%利润目标
- 功能: 增强版均线金叉 + 成交量放大策略
- 核心优化:
- 动态止损机制 - 基于趋势强度和确认条件,减少噪音触发
- 高胜率 exit 信号 - 保留有效退出条件,过滤低质量信号
- 盈利单加权管理 - 对盈利交易进行加仓和延长持仓时间
- 持仓时间优化 - 避免长期亏损拖累账户,设置最大持仓时间
- 回测表现:
- 291 笔交易,胜率 77.0%
- 总收益 -1.35%,最大回撤 5.62%
- 平均持仓时间 23:38:00
- 适用场景: 追求高胜率的稳健交易
- 功能: 高级均线金叉 + 成交量放大策略
- 核心优化:
- 趋势确认指标 - MA 斜率、ADX>20,避免震荡区间频繁进场
- ATR 动态止损 - 波动大给宽止损,波动小收紧止损
- 分批止损机制 - 先减仓,再全平
- 延迟退出确认 - 二次确认避免假跌破
- 加权持仓管理 - 小仓位试探,趋势确认后加仓
- 低胜率信号过滤 - 组合条件触发,提高信号质量
- 技术特点:
- 买入:强趋势确认 + 成交量放大 + 多重验证
- 卖出:智能止损 + 趋势转弱 + 时间管理
- 止损:ATR 动态 + 分批止损 + 延迟确认
- 仓位:小仓位试探,趋势确认后加仓
- 杠杆:基于趋势强度的动态杠杆(1.5-2.5 倍)
- 回测表现:
- 45 笔交易,胜率 73.3%
- 总收益 -1.15%,最大回撤 1.53%
- 平均持仓时间 8:20:00
- 交易频率大幅降低,信号质量显著提升
- 适用场景: 追求高质量信号的专业交易
- 交易模式: 期货交易 (futures)
- 保证金模式: 逐仓 (isolated)
- 最大开仓数: 30 个
- 基础货币: USDT
- 时间框架: 15 分钟 (可调整)
- 交易所: Gate.io
- 交易对: DOGE/USDT:USDT (可扩展)
- API 配置: 需要配置 API 密钥
# 安装依赖
pip install -r requirements.txt
# 配置API密钥
# 编辑 user_data/config.json 文件# 回测基础版本
freqtrade backtesting --strategy MAVolumeStrategy --timerange 20240101-20241201
# 回测增强版本
freqtrade backtesting --strategy EnhancedMAVolumeStrategy --timerange 20240101-20241201
# 回测高级优化版本(推荐)
freqtrade backtesting --strategy AdvancedMAVolumeStrategy --timerange 20240101-20241201
# 实盘交易
freqtrade trade --strategy AdvancedMAVolumeStrategy
# 超参数优化
freqtrade hyperopt --strategy AdvancedMAVolumeStrategy --hyperopt-loss SharpeHyperOptLoss- 在
user_data/strategies/目录下创建新的策略文件 - 继承
IStrategy类 - 实现
populate_indicators,populate_entry_trend,populate_exit_trend方法
- ADX 阈值: >20 才允许开仓
- MA 斜率: 快线和慢线斜率向上
- 震荡过滤: 避免在震荡区间频繁进场
- 趋势强度: 多重指标确认强趋势
- 基础止损: 8%(可调整)
- ATR 计算: 波动大给宽止损,波动小收紧
- 利润保护: 有利润时自动收紧止损(1%-2%)
- 趋势调整: 基于趋势强度动态调整
- 二次确认: 连续 K 线确认避免假跌破
- 趋势线确认: 两根 K 线收盘价都跌破趋势线
- 支撑确认: 连续跌破重要支撑位
- 成交量确认: 配合成交量萎缩确认
- 小仓位试探: 初始仓位 40%-100%
- 趋势确认后加仓: 最多加仓 3 次
- 信号强度评分: 基于多重指标计算
- 动态杠杆: 1.5-2.5 倍杠杆
# 均线参数
fast_ma_period = 8 # 快线周期
slow_ma_period = 21 # 慢线周期
# 成交量参数
volume_ma_period = 15 # 成交量均线周期
volume_threshold = 1.5 # 成交量放大阈值
# 趋势确认参数
adx_threshold = 20 # ADX阈值
ma_slope_period = 5 # MA斜率计算周期
trend_confirmation_period = 3 # 趋势确认周期
# ATR动态止损参数
atr_period = 14 # ATR计算周期
atr_multiplier = 2.0 # ATR倍数
min_stoploss = 0.04 # 最小止损
max_stoploss = 0.12 # 最大止损
# 持仓时间参数
max_hold_hours = 48 # 最大持仓时间
profit_hold_extension = 24 # 盈利延长时间class MyStrategy(IStrategy):
# 策略参数
timeframe = "15m"
stoploss = -0.05
def populate_indicators(self, dataframe, metadata):
# 计算技术指标
return dataframe
def populate_entry_trend(self, dataframe, metadata):
# 定义买入条件
return dataframe
def populate_exit_trend(self, dataframe, metadata):
# 定义卖出条件
return dataframe- 移动平均线:
ta.SMA(),ta.EMA() - RSI:
ta.RSI() - MACD:
ta.MACD() - 布林带:
qtpylib.bollinger_bands() - 成交量:
dataframe['volume']
- 固定止损: 设置
stoploss参数 - 追踪止损: 启用
trailing_stop - 动态止损: 实现
custom_stoploss方法
- 固定金额: 设置
stake_amount - 百分比: 设置
tradable_balance_ratio - 动态调整: 实现
custom_stake_amount方法
- 使用足够长的历史数据
- 考虑交易成本
- 避免过拟合
- 使用样本外测试
- 监控延迟
- 设置合理的订单超时
- 使用限价单减少滑点
- 定期检查策略表现
A: 在 config.json 的 pair_whitelist 中添加新的交易对。
A: 可以直接修改策略文件中的参数,或使用超参数优化功能。
A: 日志文件保存在 user_data/logs/ 目录下。
- ✅ 创建了基于均线金叉和成交量放大的新策略 (MAVolumeStrategy.py)
- ✅ 大幅优化了策略参数,交易频率提升 5.4 倍
- ✅ 实现了 3%利润目标机制,7 笔交易达成目标
- ✅ 优化止损到 5%以内,最大回撤仅 0.36%
- ✅ 添加了详细的策略文档和使用说明
- ✅ 完成了策略回测验证,总收益提升 3 倍
- ✅ 创建了增强版策略 (EnhancedMAVolumeStrategy.py)
- ✅ 实现了智能动态止损机制,减少噪音触发
- ✅ 优化了高胜率 exit 信号,保留有效退出条件
- ✅ 实现了盈利单加权管理,智能加仓和延长持仓
- ✅ 优化了持仓时间管理,避免长期亏损拖累账户
- ✅ 添加了基于信号强度的动态杠杆和仓位调整
- ✅ 整合了多重技术指标确认,提高信号质量
- ✅ 完善了策略文档和使用指南
- ✅ 创建了高级优化版策略 (AdvancedMAVolumeStrategy.py)
- ✅ 实现了趋势确认指标:MA 斜率、ADX>20,避免震荡区间频繁进场
- ✅ 实现了 ATR 动态止损:波动大给宽止损,波动小收紧止损
- ✅ 实现了分批止损机制:先减仓,再全平
- ✅ 实现了延迟退出确认:二次确认避免假跌破
- ✅ 实现了加权持仓管理:小仓位试探,趋势确认后加仓
- ✅ 实现了低胜率信号过滤:组合条件触发,提高信号质量
- ✅ 大幅降低了交易频率,显著提升了信号质量
- ✅ 优化了风险控制,最大回撤降至 1.53%
- 本软件仅供学习和研究使用
- 实盘交易存在风险,请谨慎操作
- 建议先在模拟环境中充分测试
- 定期备份配置和策略文件
如有问题,请查看 FreqTrade 官方文档或提交 Issue。