4.3 KiB
✅ SAR 和 Ichimoku 业务逻辑集成完成 📊 集成总览 指标 入场逻辑 出场逻辑 止损逻辑 SAR ✅ 顺势过滤 ✅ 反转信号 ✅ 动态追踪止损 Ichimoku ✅ 加分条件 ✅ 云突破/TK死叉 ❌ 暂不参与 1️⃣ 入场逻辑集成(populate_entry_trend) SAR - 顺势入场过滤 python
只在价格在 SAR 上方时允许入场(顺势交易)
sar_filter = dataframe['close'] > dataframe['sar_1h'] 作用:防止逆势入场,确保只在上升趋势中买入 Ichimoku - 强趋势加分 python
价格在云上 + TK金叉 = 强趋势确认(+1分)
ichimoku_bullish = ( dataframe['ichimoku_price_vs_cloud_1h'] == 1 # 云上 & dataframe['ichimoku_tk_cross_1h'] == 1 # 金叉 ) ichimoku_bonus = ichimoku_bullish.astype(int) 作用:识别强趋势环境,增加入场信号质量最终入场条件: python final_condition = ( basic_condition & ema_trend_filter & sar_filter # 🆕 SAR 顺势过滤 & ~kdj_1h_block )
- ichimoku_bonus # 🆕 Ichimoku 加分 2️⃣ 出场逻辑集成(populate_exit_trend) SAR - 趋势反转信号 python
SAR 反转:价格跌破 SAR 止损位
sar_reversal = ( dataframe['close'] < dataframe['sar_3m'] # 当前跌破 & dataframe['close'].shift(j) >= dataframe['sar_3m'].shift(1) # 前一根在上方 ) 触发时机:价格从 SAR 上方穿到下方 → 趋势反转 → 立即退出 Ichimoku - 云突破/TK死叉 python
条件1:价格跌破云(从云上跌到云下或云中)
price_below_cloud = ( dataframe['ichimoku_price_vs_cloud_3m'] <= 0 # 当前云下/云中 & dataframe['ichimoku_price_vs_cloud_3m'].shift(1) == 1 # 之前云上 )
条件2:TK死叉(转换线下穿基准线)
tk_death_cross = ( dataframe['ichimoku_tk_cross_3m'] == -1 # 当前死叉 & dataframe['ichimoku_tk_cross_3m'].shift(1) == 1 # 之前金叉 )
ichimoku_exit = price_below_cloud | tk_death_cross 触发时机: 价格跌破 Ichimoku 云 → 趋势结束 TK 死叉 → 短期转弱 最终出场条件: python final_condition = ( breakout_condition | volume_spike | macd_downward | rsi_overbought | kdj_3m_exit | sar_exit # 🆕 SAR 反转 | ichimoku_exit # 🆕 Ichimoku 云突破/TK死叉 ) 3️⃣ 动态止损集成(custom_stoploss) SAR - 智能追踪止损 python
计算 SAR 止损位
sar_stoploss_pct = (sar_value - current_rate) / current_rate
盈利时使用 SAR(更宽松,让利润奔跑)
if current_profit > 0.02: return sar_stoploss_pct * 0.95 # 留5%缓冲
小盈利时 SAR 和 ATR 结合
elif current_profit > 0: atr_stoploss = -2.0 * atr / current_rate return max(sar_stoploss_pct * 0.95, atr_stoploss) # 取较宽松的 逻辑优先级: SAR 止损(盈利>2%时优先)→ 跟随趋势 SAR + ATR 混合(小盈利时)→ 平衡 ATR 止损(亏损或无SAR时)→ 固定倍数 优势: ✅ 盈利时跟随趋势(SAR 自动上移) ✅ 亏损时保护资金(ATR 固定倍数) ✅ 避免过早止损(留5%缓冲) 📈 完整业务流程 plaintext 入场阶段:
- 基础条件达标(RSI、MACD、布林带等)
- SAR 过滤:价格必须在 SAR 上方 ✅
- Ichimoku 加分:云上+TK金叉可加1分 ✅
- 最终入场
持仓阶段: 5. SAR 动态追踪止损 ✅
- 盈利>2%:使用SAR止损(宽松)
- 盈利<2%:SAR+ATR混合
- 亏损:ATR固定倍数
出场阶段: 6. SAR 反转:价格跌破SAR → 立即退出 ✅ 7. Ichimoku 信号:
- 跌破云 → 退出 ✅
- TK死叉 → 退出 ✅
- 其他信号:布林带/RSI/MACD/KDJ等 🎯 实战效果预期 场景 原逻辑 新逻辑(SAR+Ichimoku) 趋势启动 可能入场 ✅ Ichimoku 加分,更容易入场 逆势反弹 可能误入 ✅ SAR 过滤,拒绝逆势 趋势持续 ATR 固定止损 ✅ SAR 追踪止损,让利润奔跑 趋势反转 依赖其他指标 ✅ SAR/Ichimoku 快速退出 假突破 可能被套 ✅ 云突破确认,减少误判 ✅ 集成完成检查清单 ✅ SAR 3m + 1h 指标计算 ✅ Ichimoku 3m + 1h 指标计算(含衍生指标) ✅ SAR 入场顺势过滤 ✅ Ichimoku 入场加分 ✅ SAR 出场反转信号 ✅ Ichimoku 出场云突破/TK死叉 ✅ SAR 动态追踪止损 所有列名已添加到 required_columns 现在 SAR 和 Ichimoku 已完全融入策略的入场、出场和止损逻辑中!