概述
长期反转信号(Long-Term Reversal Signal)通过分析较长时间段(天/周)的K线形态来检测趋势反转。它识别:
- LONGTERM_SMART_LONG_SIGNAL:熊市趋势(80% 红K线)+ 价格向下移动 + 看涨反转 → 进入多头(LONG)
- LONGTERM_SMART_SHORT_SIGNAL:牛市趋势(80% 绿K线)+ 价格向上移动 + 看跌反转 → 进入空头(SHORT)
设置说明
步骤 1:启用长期交易配置文件
文件: tradesettings.yaml
General:
Profile: "long" # 必须为 "long" 才能启用长期反转信号
选项: scalp | day | swing | long | hft
关键: 只有 long 配置文件支持长期反转信号。
步骤 2:配置K线数据间隔
文件: tradesettings.yaml
Kline:
summaryInterval: "1d" # 用于信号分析的日K线
支持的间隔:
- 推荐:
1d(1天)- 最适合长期分析 - 备选:
12h(12小时)- 信号更频繁,但稳定性较低
重要: summaryInterval 必须与策略间隔(步骤3)匹配,否则会出现 "kline data not found" 错误。
步骤 3:为 Long 配置文件设置策略间隔
文件: tradesettings.yaml
strategyIntervals:
hft: ["1m"] # 高频交易
scalp: ["15m"] # 短线:3m, 5m, 15m
day: ["15m", "30m"] # 日内交易
swing: ["1h", "2h"] # 波段交易
long: ["1d"] # 长期:1d, 12h(推荐:1d)
default: ["5m"]
长期交易:
- 使用
["1d"]进行日线分析(最稳定) - 可使用
["12h"]进行更频繁检查 可组合:
["1d", "12h"] 用于多时间框架分析
必须匹配: 确保此间隔存在于您的K线数据配置中。
步骤 4:启用并配置长期反转分析
文件: tradesettings.yaml → 决策设置
decision_settings:
# 长期反转分析
enabled_long_term_reversal: true
candle_lookback_count: 12
required_color_percent: 0.7
required_movement_percent: 0.4
last_n_candles_check: 2
min_confidence_threshold: 70.0
配置参数说明:
| 参数 | 描述 | 推荐 | 范围 |
|---|---|---|---|
enabled_long_term_reversal |
信号主开关 | true |
true/false |
candle_lookback_count |
分析的近期K线数量 | 12(12天) |
10-20 |
required_color_percent |
必须同色的K线百分比 | 0.7(70%) |
0.6-0.8 |
required_movement_percent |
所需最小价格变动 | 0.4(40%) |
0.3-0.6 |
last_n_candles_check |
显示反转的近期K线 | 2 |
1-3 |
min_confidence_threshold |
触发所需最小置信度 | 70.0(70%) |
60-80 |
微调指南:
保守型(信号少但质量高):
candle_lookback_count: 15
required_color_percent: 0.8 # 80% 同色
required_movement_percent: 0.5 # 50% 价格变动
last_n_candles_check: 2
min_confidence_threshold: 75.0
激进型(信号多,质量较低):
candle_lookback_count: 10
required_color_percent: 0.6 # 60% 同色
required_movement_percent: 0.3 # 30% 价格变动
last_n_candles_check: 1
min_confidence_threshold: 65.0
平衡型(推荐起点):
candle_lookback_count: 12
required_color_percent: 0.7 # 70% 同色
required_movement_percent: 0.4 # 40% 价格变动
last_n_candles_check: 2
min_confidence_threshold: 70.0
步骤 5:将长期信号添加到支持的操作
文件: tradesettings.yaml → 决策设置
decision_settings:
# 触发交易信号的波动性操作
supported_volatility_action:
- "BUY"
- "SELL"
- "PUMP"
- "CRASH"
- "LONGTERM_SMART_SHORT_SIGNAL" # 新增
- "LONGTERM_SMART_LONG_SIGNAL" # 新增
关键: 如果不添加这两个信号,系统将跳过长期反转订单!
步骤 6:重置交易对配置
必需操作: 从 symbols.json 中移除所有交易对,以强制与新信号设置重新同步。
为何必要:
系统会缓存交易对特定的波动性设置。旧交易对不会在其配置中包含新的 LONGTERM_SMART_* 信号。
重置方法:
选项 1:删除 symbols.json
rm symbols.json
# 重启机器人 - 它将重新同步所有交易对
选项 2:手动编辑(如果同步已禁用)
编辑 symbols.json 并为每个交易对添加信号:
{
"BTCUSDT": {
"volatility_settings": {
"supported_volatility_action": [
"BUY",
"SELL",
"PUMP",
"CRASH",
"LONGTERM_SMART_SHORT_SIGNAL",
"LONGTERM_SMART_LONG_SIGNAL"
]
}
}
}
选项 3:清空并重新同步
# 1. 备份当前交易对
cp symbols.json symbols.json.backup
# 2. 清空文件
echo "[]" > symbols.json
# 3. 以启用同步的方式重启机器人
信号逻辑说明
LONGTERM_SMART_LONG_SIGNAL(看涨反转)
条件:
- 70%+ 红K线 在回溯期内(熊市趋势)
- 40%+ 价格向下移动(首根K线开盘 → 末根K线收盘)
- 最后2根K线为绿(看涨反转开始)
- 置信度 ≥ 70%
示例:
第1-10天: ████████░░ (80% 红) - 强劲熊市趋势
价格:$100 → $60(下跌40%)✓
第11-12天: ░░(绿K线)- 检测到反转!
→ 多头信号在 $65 触发
LONGTERM_SMART_SHORT_SIGNAL(看跌反转)
条件:
- 70%+ 绿K线 在回溯期内(牛市趋势)
- 40%+ 价格向上移动(首根K线开盘 → 末根K线收盘)
- 最后2根K线为红(看跌反转开始)
- 置信度 ≥ 70%
示例:
第1-10天: ░░░░░░░░██ (80% 绿) - 强劲牛市趋势
价格:$50 → $80(上涨60%)✓
第11-12天: ██(红K线)- 检测到反转!
→ 空头信号在 $75 触发
理解日志输出
有效信号示例:
LONGTERM_SMART_LONG_SIGNAL: 熊市趋势=9/12 (75.0%) |
向下移动 ✓ | 最后2根K线:看涨反转 ✓ |
十字星:1 | 置信度:77.5% | 趋势强度:2.34%
解读:
- 9/12 红K线 = 75% 熊市(满足70%阈值)
- 向下移动 = 价格下跌40%+(已验证)
- 最后2根看涨 = 反转确认(2根绿K线)
- 1 十字星 = 1根犹豫K线(允许)
- 77.5% 置信度 = 高质量信号
- 2.34% 趋势强度 = 平均K线实体大小
无效信号示例:
LONGTERM_SMART_LONG_SIGNAL: 熊市=7/12 (58.3%) |
移动有效:false | 最后2根反转有效:false |
十字星:2 | 置信度:0.0%
失败原因:
- 仅58.3% 红K线(需70%)
- 移动验证失败(价格未下跌40%)
- 最后2根K线非看涨
- 结果:信号被拒绝
按交易风格的配置示例
超保守型(加密鲸鱼)
信号少,准确率极高
decision_settings:
enabled_long_term_reversal: true
candle_lookback_count: 20 # 分析20天
required_color_percent: 0.85 # 85% 同色
required_movement_percent: 0.6 # 60% 价格变动
last_n_candles_check: 3 # 3根反转K线
min_confidence_threshold: 80.0 # 80% 置信度
温和型(推荐给大多数用户)
平衡方法
decision_settings:
enabled_long_term_reversal: true
candle_lookback_count: 12 # 12天
required_color_percent: 0.7 # 70% 同色
required_movement_percent: 0.4 # 40% 变动
last_n_candles_check: 2 # 2根反转K线
min_confidence_threshold: 70.0 # 70% 置信度
激进型(活跃交易者)
信号多,接受较低质量
decision_settings:
enabled_long_term_reversal: true
candle_lookback_count: 8 # 仅8天
required_color_percent: 0.65 # 65% 同色
required_movement_percent: 0.3 # 30% 变动
last_n_candles_check: 1 # 1根反转K线
min_confidence_threshold: 65.0 # 65% 置信度
故障排除
问题:"SKIPPING ORDER: Volatility direction not in supported options"
原因: 交易对特定配置覆盖全局设置。
解决方案: 在 symbols.json 的交易对特定配置中添加信号:
{
"BTCUSDT": {
"volatility_settings": {
"supported_volatility_action": [
"LONGTERM_SMART_SHORT_SIGNAL",
"LONGTERM_SMART_LONG_SIGNAL"
]
}
}
}
问题:"Insufficient candles for long-term analysis"
原因: 加载的历史数据不足。
解决方案:
- 减少
candle_lookback_count(例如,从15降至10) - 等待更多数据积累
- 检查K线数据是否正确获取
问题:"kline data not found"
原因: summaryInterval 与 strategyIntervals 不匹配。
解决方案: 确保匹配:
Kline:
summaryInterval: "1d"
strategyIntervals:
long: ["1d"] # 必须匹配!
问题:未生成信号
检查清单:
Profile: "long"已设置enabled_long_term_reversal: true- 信号已添加到
supported_volatility_action symbols.json已重置/更新- 可用K线足够(≥
candle_lookback_count) - 阈值不过于严格(尝试降低数值)
最佳实践
1. 从保守开始
从高阈值开始,逐步放宽:
required_color_percent: 0.8 # 从80%开始
required_movement_percent: 0.5 # 从50%开始
min_confidence_threshold: 75.0 # 从75%开始
2. 监控信号质量
跟踪信号1-2周:
- 信号太少?→ 降低阈值
- 假信号太多?→ 提高阈值
- 平衡良好?→ 保持当前设置
3. 与其他指标结合
不要仅依赖反转信号。与以下结合使用:
- 成交量分析
- RSI/MACD 确认
- 支撑/阻力位
- 市场情绪
4. 根据市场条件调整
牛市:
# 偏好多头信号
required_color_percent: 0.65 # 更容易触发多头
last_n_candles_check: 1 # 更快检测反转
熊市:
# 偏好空头信号或提高质量
required_color_percent: 0.75 # 更严格要求
last_n_candles_check: 2 # 更好地确认反转
5. 回测您的设置
上线前:
- 启用模拟交易模式
- 用您的设置运行2-4周
- 分析胜率和盈利能力
- 相应调整
完整配置模板
# tradesettings.yaml - 完整的长期反转设置
General:
Profile: "long"
Kline:
summaryInterval: "1d"
strategyIntervals:
long: ["1d"]
default: ["5m"]
decision_settings:
# 长期反转分析
enabled_long_term_reversal: true
candle_lookback_count: 12
required_color_percent: 0.7
required_movement_percent: 0.4
last_n_candles_check: 2
min_confidence_threshold: 70.0
# 支持的信号
supported_volatility_action:
- "BUY"
- "SELL"
- "PUMP"
- "CRASH"
- "LONGTERM_SMART_SHORT_SIGNAL"
- "LONGTERM_SMART_LONG_SIGNAL"
最终检查清单
启动机器人前:
- [ ] 设置
Profile: "long" - [ ] 设置
summaryInterval: "1d" - [ ] 设置
strategyIntervals.long: ["1d"] - [ ] 启用
enabled_long_term_reversal: true - [ ] 配置阈值参数
- [ ] 将两个信号添加到
supported_volatility_action - [ ] 删除/重置
symbols.json - [ ] 重启机器人
- [ ] 验证日志显示信号检测
- [ ] 仔细监控前几个信号
预期结果
正确配置后:
信号频率:
- 保守:每周1-3个信号
- 温和:每周3-7个信号
- 激进:每周7-15个信号
典型置信度水平:
- 70-75%:最低可行信号
- 75-85%:良好质量信号
- 85-95%:优秀信号
- 95%+:罕见,极强信号
成功率(回测):
- 保守设置:约65-75% 胜率
- 温和设置:约55-65% 胜率
- 激进设置:约45-55% 胜率
注:实际结果因市场条件、交易对选择和退出策略而异。
风险管理配置
选项 A:物理止损/止盈(简单直接)
适用于固定百分比退出。最适合希望风险/回报比可预测的保守交易者。
#################################################
# 5. 智能止损/止盈设置
#################################################
SLTPSettings:
StopLossPercent: 5.0 # -5% 亏损时退出
TakeProfitPercent: 15.0 # +15% 盈利时退出
# 高级功能(可选)
EnableTrailingSl: true # 价格有利移动时锁定利润
TrailingSlOffsetPercent: 2.0 # 止损保持在峰值下方2%
EnableBreakeven: true # 盈利后将止损移至盈亏平衡
BreakevenActivationPercent: 3.0 # 盈利+3%时激活
BreakevenBufferPercent: 0.5 # 止损设为+0.5%(略高于入场价)
EnableTrailingTp: false # 追踪止盈(高级)
TrailingTpTriggerPercent: 10.0 # +10%时开始追踪
TrailingTpOffsetPercent: 2.0 # 止盈保持在当前价格上方2%
EnableDynamicTrailingScaling: false # 根据盈利水平缩放追踪偏移
TrailingScalingMap: # 盈利增加时收紧追踪
"5.0": 2.0 # +5%盈利:2%偏移
"10.0": 1.5 # +10%盈利:1.5%偏移
"15.0": 1.0 # +15%盈利:1%偏移
"20.0": 0.5 # +20%盈利:0.5%偏移
长期交易推荐配置:
保守(资本保全):
SLTPSettings:
StopLossPercent: 8.0 # 更宽止损应对日线波动
TakeProfitPercent: 20.0 # 2.5:1 回报风险比
EnableTrailingSl: true
TrailingSlOffsetPercent: 3.0 # 3% 追踪止损
EnableBreakeven: true
BreakevenActivationPercent: 5.0
BreakevenBufferPercent: 1.0
温和(平衡):
SLTPSettings:
StopLossPercent: 6.0 # -6% 止损
TakeProfitPercent: 15.0 # +15% 止盈(2.5:1)
EnableTrailingSl: true
TrailingSlOffsetPercent: 2.5
EnableBreakeven: true
BreakevenActivationPercent: 4.0
BreakevenBufferPercent: 0.5
激进(更高风险/回报):
SLTPSettings:
StopLossPercent: 4.0 # 更紧止损
TakeProfitPercent: 12.0 # 3:1 比率
EnableTrailingSl: true
TrailingSlOffsetPercent: 2.0
EnableBreakeven: true
BreakevenActivationPercent: 3.0
BreakevenBufferPercent: 0.3
选项 B:智能动态退出规则(高级与自适应)
适用于基于时间和K线形态的退出。最适合希望智能、情境感知决策的交易者。
#################################################
# 7. 智能规则选项(动态退出)
#################################################
IntelligentRuleOptions:
IsEnabled: true # 启用智能退出规则
UseOriginalTPAsBase: false # 不使用固定止盈作为基准
EnableAdaptiveThresholds: true # 根据市场条件调整阈值
MinimumHoldTime: 2 # 至少持有2根K线(1d间隔为2天)
MaximumBuyHoldTime: 30 # 多头最多强制退出30天
MaximumSellHoldTime: 20 # 空头最多强制退出20天
# K线形态反转退出
CandleExitRules:
IsEnabled: true # 检测到反转形态时退出
OppositesCandlesCount: 3 # 3根相反颜色K线后退出
ExitPercentage: 100 # 关闭100%仓位
RuleName: "趋势反转退出"
RequireMinimumProfit: 2.0 # 至少+2%盈利才退出
# 多头交易规则(看涨反转仓位)
LongTrade:
ThresholdRules:
# 基于时间的止损(逐步放宽)
- Minutes: 1440 # 1天后(1440分钟)
ThresholdPer: -6.0 # -6%亏损时退出
RuleName: "第1天止损 - 多头"
- Minutes: 4320 # 3天后
ThresholdPer: -8.0 # 允许-8%亏损
RuleName: "第3天止损 - 多头"
- Minutes: 10080 # 7天后
ThresholdPer: -10.0 # 允许-10%亏损
RuleName: "第1周止损 - 多头"
- Minutes: 20160 # 14天后
ThresholdPer: -5.0 # 若仍未盈利则收紧
RuleName: "第2周保护 - 多头"
TakeProfitRules:
# 逐步止盈
- TpMultiplier: 0.5 # +10%盈利(20%止盈 * 0.5)
SellPer: 30 # 卖出30%仓位
RuleName: "部分退出1 - 多头"
IsEnabled: true
UseMarketOrder: true
- TpMultiplier: 1.0 # +20%盈利(完整止盈)
SellPer: 50 # 卖出剩余的50%
RuleName: "部分退出2 - 多头"
IsEnabled: true
UseMarketOrder: true
- TpMultiplier: 1.5 # +30%盈利(1.5倍止盈)
SellPer: 100 # 关闭全部仓位
RuleName: "全部退出 - 多头"
IsEnabled: true
UseMarketOrder: true
# 空头交易规则(看跌反转仓位)
ShortTrade:
ThresholdRules:
# 空头更紧止损(加密货币中更具风险)
- Minutes: 1440 # 1天后
ThresholdPer: -5.0 # -5%亏损时退出
RuleName: "第1天止损 - 空头"
- Minutes: 2880 # 2天后
ThresholdPer: -7.0 # 允许-7%亏损
RuleName: "第2天止损 - 空头"
- Minutes: 7200 # 5天后
ThresholdPer: -10.0 # 最大-10%亏损容忍
RuleName: "第5天止损 - 空头"
- Minutes: 14400 # 10天后
ThresholdPer: -4.0 # 显著收紧
RuleName: "第10天保护 - 空头"
TakeProfitRules:
# 空头更快止盈
- TpMultiplier: 0.4 # +8%盈利
SellPer: 40 # 关闭40%
RuleName: "快速退出1 - 空头"
IsEnabled: true
UseMarketOrder: true
- TpMultiplier: 0.7 # +14%盈利
SellPer: 60 # 关闭剩余60%
RuleName: "快速退出2 - 空头"
IsEnabled: true
UseMarketOrder: true
- TpMultiplier: 1.0 # +20%盈利
SellPer: 100 # 关闭全部
RuleName: "全部退出 - 空头"
IsEnabled: true
UseMarketOrder: true
#################################################
# 8. 全局安全与亏损控制
#################################################
IntelligentGlobalSettings:
MinProfitToEnableTP: 1.0 # 允许止盈退出前需+1%盈利
MaxLossBeforeForceClose: -15.0 # -15%亏损时紧急退出(覆盖所有规则)
理解智能规则:
基于时间的阈值:
- 初期允许更宽止损(市场需要时间移动)
- 若交易无效则逐步收紧
- 示例:第1天允许-6%,第3天-8%,但2周后仅-5%
K线退出规则:
- 通过连续相反颜色K线检测趋势反转
- 多头:3根红K线后退出(看跌反转)
- 空头:3根绿K线后退出(看涨反转)
RequireMinimumProfit:仅在盈利时退出(避免恐慌卖出)
逐步止盈:
TpMultiplier: 0.5= 在目标盈利50%时退出SellPer: 30= 仅卖出30%仓位(保留70%运行)- 锁定收益,同时让赢家继续运行
全局安全:
MaxLossBeforeForceClose: -15.0= -15%亏损时紧急开关- 覆盖所有其他规则以防止灾难性损失
比较:物理SL/TP vs 智能规则
| 特性 | 物理SL/TP | 智能规则 |
|---|---|---|
| 简单性 | 非常简单 | 更复杂 |
| 可预测性 | 固定百分比 | 动态调整 |
| 时间感知 | 无 | 有(渐进止损) |
| 形态识别 | 无 | 有(K线反转) |
| 部分退出 | 全有或全无 | 渐进式退出 |
| 市场适应 | 静态 | 自适应阈值 |
| 最适合 | 保守、设置后不管 | 活跃交易者、优化 |
按交易风格推荐配置
保守长期持有者
使用物理SL/TP:
SLTPSettings:
StopLossPercent: 10.0 # 宽止损应对波动
TakeProfitPercent: 25.0 # 耐心盈利目标
EnableTrailingSl: true
TrailingSlOffsetPercent: 4.0
EnableBreakeven: true
BreakevenActivationPercent: 8.0
IntelligentRuleOptions:
IsEnabled: false # 保持简单
平衡波段交易者
使用组合:
SLTPSettings:
StopLossPercent: 7.0 # 基础保护
TakeProfitPercent: 0.0 # 禁用固定止盈
EnableTrailingSl: true
TrailingSlOffsetPercent: 2.5
IntelligentRuleOptions:
IsEnabled: true
CandleExitRules:
IsEnabled: true # 反转时退出
OppositesCandlesCount: 3
LongTrade:
TakeProfitRules: # 改用智能止盈
- TpMultiplier: 0.5
SellPer: 40
- TpMultiplier: 1.0
SellPer: 100
IntelligentGlobalSettings:
MaxLossBeforeForceClose: -12.0
活跃优化者
使用完整智能系统:
SLTPSettings:
StopLossPercent: 0.0 # 禁用物理SL/TP
TakeProfitPercent: 0.0
EnableTrailingSl: false
IntelligentRuleOptions:
IsEnabled: true
EnableAdaptiveThresholds: true # 完全动态控制
CandleExitRules:
IsEnabled: true
OppositesCandlesCount: 2 # 快速反转检测
# 使用上方显示的所有阈值和止盈规则
IntelligentGlobalSettings:
MinProfitToEnableTP: 0.5
MaxLossBeforeForceClose: -10.0
重要注意事项
对于1日K线:
- 智能规则中的
Minutes= 实际分钟 - 1天 = 1440分钟
- 1周 = 10080分钟
- 相应规划您的时间阈值
仓位规模:
- 使用更宽止损时采用更小仓位(长期波动)
- 每笔交易不要冒险超过资本的2-3%
- 智能规则最适合3-5%仓位规模
需要回测:
- 先在历史数据上测试SL/TP设置
- 监控胜率和每笔交易平均利润
- 根据实际表现调整阈值
市场条件:
- 牛市:更宽止损,更高止盈
- 熊市:更紧止损,更快止盈
- 根据整体投资组合风险调整
MaxLossBeforeForceClose
附加资源
- 定期查看日志:
grep "LONGTERM_SMART" bot.log - 监控置信度水平以评估信号质量
- 根据历史表现调整
min_confidence_threshold - 跟踪SL/TP命中率以优化风险管理
- 使用
IntelligentGlobalSettings.MaxLossBeforeForceClose作为投资组合保护
扩展最终检查清单
信号配置:
- [ ] 设置
Profile: "long" - [ ] 设置
summaryInterval: "1d" - [ ] 设置
strategyIntervals.long: ["1d"] - [ ] 启用
enabled_long_term_reversal: true - [ ] 配置阈值参数
- [ ] 将两个信号添加到
supported_volatility_action - [ ] 删除/重置
symbols.json
风险管理:
- [ ] 选择SL/TP方法(物理 vs 智能)
- [ ] 配置止损百分比
- [ ] 配置止盈目标
- [ ] 设置全局安全限制(
MaxLossBeforeForceClose) - [ ] 先用小仓位测试
- [ ] 验证紧急退出机制有效
启动:
- [ ] 重启机器人
- [ ] 验证日志显示信号检测
- [ ] 仔细监控前几个信号
- [ ] 跟踪SL/TP执行
- [ ] 根据实际表现调整