SuperAPI AI 工具集

exit-strategies

通用与其它

查看项目

更新于 10-15 12:38

技能介绍

该技能面向加密货币与 Solana 代币交易,主题是系统化、基于规则的离场方法。资料强调:入场决定是否参与,离场决定能留下多少;多数交易者把 90% 精力放在入场、10% 放在离场,应当反过来。每笔交易在入场前应定义三种离场:止损、止盈和移动止损。

一、止损(风险管理离场) 在预设价格平仓以限制下行风险。方法包括:固定百分比(入场价减 X%)、基于 ATR(入场价减 ATR(14)×乘数)、支撑位(最近摆动低点下方)、最大亏损(SOL/USD 绝对上限)。ATR 止损示例代码使用 pandas_ta 计算 atr = df.ta.atr(length=14),stop_loss = entry_price - (atr.iloc[-1] * 2.0)。乘数参考:1.5× 较紧、需要高胜率,适合短线;2.0× 为标准,平衡噪声过滤与风险;3.0× 较宽,适合波动条件下的波段交易。完整方法见 references/stop_loss_methods.md。

二、止盈(目标离场) 在预设水平锁定收益。固定风险回报目标示例:risk = entry_price - stop_loss_price,tp_2r = entry_price + (risk * 2),tp_3r = entry_price + (risk * 3),tp_5r = entry_price + (risk * 5)。分批离场框架(推荐用于 meme/PumpFun 代币)分四档:第一档 25%、目标 2× 风险、之后将止损移至盈亏平衡;第二档 25%、目标 3–5× 风险、之后移动剩余仓位;第三档 25%、目标 5–10× 风险、之后收紧移动止损;第四档 25%、使用移动止损,作为 moonbag 让其继续运行。市值里程碑离场适用于 PumpFun 和 meme 代币:例如市值 50,000 卖出 25%(覆盖成本)、100,000 卖出 25%(锁定利润)、500,000 卖出 25%(主要利润),保留 25% 作为 moonbag 并设移动止损。完整方法(含斐波那契扩展目标和基于成交量的离场)见 references/take_profit_strategies.md。

三、移动止损(趋势跟随离场) 动态止损跟随价格上行但绝不下移。百分比移动止损函数 percentage_trailing_stop 接收 current_price、highest_since_entry、trail_pct(默认 0.10),返回 (stop_level, triggered)。ATR 移动止损(Chandelier Exit)函数 chandelier_exit 接收 highs、atr_value、multiplier(默认 2.5)、lookback(默认 22),返回最高高点减去 ATR×乘数。EMA 移动止损:当收盘价连续 M 根 K 线低于 EMA 时离场,示例用 ema = df.ta.ema(length=20),below_ema = df["close"] < ema,consecutive_below = below_ema.rolling(3).sum() == 3。常用 EMA 周期:10(短线)、20(日内)、50(波段)。更多实现(Parabolic SAR、SuperTrend、阶梯移动止损)见 references/trailing_stops.md。

四、时间止损 若交易在设定窗口内未朝有利方向移动则离场。示例:bars_since_entry = current_bar - entry_bar;若 bars_since_entry > max_hold_bars 且 current_pnl <= 0,则 exit_reason = "time_stop"。参考时长:短线 5–15 分钟;日内 4–8 小时;波段 3–5 天;PumpFun 狙击 2–10 分钟(因代币而异)。时间止损可防止资金滞留在无进展的交易中。

五、信号离场 当产生入场信号的指标反转时离场。RSI 反转示例:rsi = df.ta.rsi(length=14),若持多头且 rsi.iloc[-1] > 70,则 exit_reason = "rsi_overbought"。MACD 交叉示例:macd = df.ta.macd(),若 macd["MACDs_12_26_9"].iloc[-1] < macd["MACDh_12_26_9"].iloc[-1],则 exit_reason = "macd_bearish_cross"。信号离场与移动止损结合效果较好——信号触发收紧移动止损,而非立即全部离场。

六、流动性离场 当成交量或流动性恶化、表明难以干净离场时退出。示例:recent_vol = df["volume"].rolling(10).mean().iloc[-1],baseline_vol = df["volume"].rolling(50).mean().iloc[-1],若 recent_vol < baseline_vol * 0.3,则 exit_reason = "liquidity_deterioration"。这对低市值 Solana 代币尤为关键,其流动性可能迅速蒸发。

PumpFun 专用离场规则 毕业前离场:bonding_fill_pct = current_fill_sol / 85.0;若 bonding_fill_pct > 0.90,接近毕业,需决定持有穿越还是提前离场(毕业会带来上下双向的波动尖峰);若 bonding_fill_pct < 0.50 且 time_since_entry > 300(5 分钟),则 exit_reason = "stalled_bonding_curve"。成交量衰减离场:buy_vol_1m = get_buy_volume(token, "1m"),buy_vol_5m = get_buy_volume(token, "5m") / 5(归一化为每分钟),若 buy_vol_1m < buy_vol_5m * 0.3,则 exit_reason = "buy_volume_decay"。时间衰减:多数会成功的 PumpFun 代币在最初几分钟内显示动能——0–2 分钟持有(过早判断);2–5 分钟若无 2× 则离场;5–10 分钟若无 3× 则离场;10 分钟以上应处于移动止损状态,而非寄希望。

组合离场规则 完整离场计划可叠加多条规则。推荐模板 exit_plan 包含:hard_stop(fixed_percentage,value 0.20,即最大亏损 -20%,priority 1,最先检查且始终执行);atr_stop(atr_trailing,multiplier 2.5,atr_length 14,priority 2);take_profit(scaled,分档 at_rr 2/4/8 各卖 0.25,priority 3);time_stop(max_bars,value 50,condition if_not_profitable,priority 4)。优先级顺序:硬止损 > ATR 移动止损 > 止盈 > 时间止损。硬止损始终有效且不被覆盖;ATR 移动止损在第一个止盈档成交后激活;时间止损仅在交易尚未盈利时触发。

常见离场错误 无止损(下行无限)——入场前始终定义最大亏损;把止损移得更宽(事后增加风险)——绝不把止损移离价格;不止盈(盈利变亏损)——使用分批离场;全有或全无离场(要么少赚要么过早离场)——分批减仓;整数位止损(与其他交易者聚集、被猎杀)——偏移一个小的随机量;止损过紧(被正常波动扫出)——使用基于 ATR 的止损;寄希望而非移动止损(回吐利润)——首个止盈后激活移动止损;忽视流动性(无法按预期价格离场)——建仓前检查价差与深度。

与其他技能的集成 position-sizing:根据止损距离确定仓位,position_size = (account_risk * account_balance) / (entry - stop_loss)。risk-management:离场是执行风险限制的机制。pandas-ta:使用 ATR、EMA、RSI、MACD 进行信号离场和移动止损。slippage-modeling:估算离场的执行成本以设定现实目标。liquidity-analysis:入场前验证离场流动性。

文件 references/stop_loss_methods.md(完整止损方法与反模式)、references/take_profit_strategies.md(分批离场、R:R 目标、斐波那契扩展)、references/trailing_stops.md(移动止损实现与参数指导);scripts/exit_simulator.py(在合成价格数据上模拟并比较离场策略)、scripts/stop_loss_calculator.py(计算止损水平、仓位大小和 R:R 目标)。