7. 卖出的艺术:止盈与止损

会买的是徒弟,会卖的是师傅

你已经学会了如何用 Jito Bundle 在开盘第 0 秒买入。但这只是游戏的一半。 在 Solana 的土狗市场,代币价格波动极其剧烈。1 分钟内翻 10 倍,下一分钟归零是常态。

如果没有自动化的卖出策略,你很可能从浮盈 500% 变成 亏损 90%。本节将教你如何编写"卖出逻辑"。


1. 核心策略:你需要一个计划

机器人必须毫无感情地执行预设的数学逻辑。常见的策略有三种:

A. 硬止盈/止损 (Fixed TP/SL)

最简单的策略。

  • 止盈 (Take Profit): 涨幅达到 +100% (翻倍) -> 卖出 50% 本金。
  • 止损 (Stop Loss): 跌幅达到 -30% -> 全部卖出,认赔离场。

B. 移动止损 (Trailing Stop) —— 捕捉大牛股的神器

这是最推荐的策略。由于我们不知道它能涨多高,我们设置一个回撤阈值

  • 逻辑:如果当前价格从历史最高点 (ATH) 回撤了 X%,就卖出。
  • 示例:设置回撤 20%。
    • 价格从 1.0 涨到 2.0。触发价 = 1.6。
    • 价格继续涨到 5.0。触发价 = 4.0。
    • 价格跌回 4.0 -> 卖出!
  • 优点:能吃完大部分涨幅,而不是过早下车。

C. 时间止损 (Time-based Stop)

有些盘子是不涨不跌的"僵尸盘"。

  • 逻辑:如果买入后 10 分钟内,涨幅未超过 20%,就卖出。
  • 目的:提高资金利用率,去寻找下一个机会。

2. 价格监控的实现

要执行策略,首先要知道当前价格。Solana 上有两种获取价格的方式:

方式一:监听池子储备 (最快)

对于 Raydium AMM,价格 = SOL_Reserve / Token_Reserve。 你可以监听 Pool Account 的变化:

typescript
// 监听 Pool 账户变化 connection.onAccountChange(POOL_ADDRESS, (accountInfo) => { const data = LAYOUT.decode(accountInfo.data); const solReserve = data.baseReserve; const tokenReserve = data.quoteReserve; const price = solReserve / tokenReserve; checkStrategy(price); // 触发策略检查 });

方式二:模拟卖出 (最准)

有时候池子算法复杂,直接算可能有误差。 你可以每隔 1 秒构造一笔"卖出"交易,发给 RPC 进行 Simulate (模拟执行),查看模拟结果中的金额变化。这能算出包含滑点和手续费的真实到手价格。


3. 构建卖出交易

卖出本质上就是一笔 Swap:Token -> SOL

与买入不同的是:

  1. 无需 Jito:卖出通常不需要防夹子(因为你已经是急着跑路了),直接发给 TPU 更快。如果为了稳妥,也可以用 Jito。
  2. 高滑点:当发生 Rug Pull 或崩盘时,价格是垂直下跌的。你的滑点设置必须非常大(例如 20%~50%),否则交易会因为 Slippage Exceeded 失败,导致你被埋。
  3. 优先费:逃跑时人很多,记得拉高优先费。
typescript
async function executeSell(percentage = 1.0) { const balance = await getTokenBalance(mint); const amount = Math.floor(balance * percentage); // 卖出比例 const sellIx = makeSwapInstruction({ amountIn: amount, minAmountOut: 0, // Degen 模式:滑点 100%,只求卖出 // ... }); const tx = new VersionedTransaction(...); // 疯狂发送,直到确认 spamTransaction(tx); }

4. 仓位管理

不要一次梭哈。

  • 初始买入:1 SOL。
  • 翻倍时:卖出 50% (收回本金)。剩下的就是"利润奔跑 (Moonbag)"。
  • 归零时:只要触发止损,坚决全部卖出。不要有"它会涨回来"的幻想。

在右侧的模拟器中,尝试调整策略参数,看看在面对不同的 K 线走势时,哪种策略赚得最多?

JSPlayground
EDITOR ACTIVE
Initializing JS Environment...

策略回测模拟器

Current Price
1.000 SOL
+0.00%

参数监控

买入价格1.00 SOL
历史最高 (ATH)1.000
持仓时间0s
修改左侧代码来控制 strategy 函数的返回值 ('SELL' 或 'HOLD')。
交易日志
等待信号...