Skip to main content

StrategyConfigMsg 模式

至少 target_profit_pctstop_loss_pcttrailing_stop_pctdeadline_timeout_sec(在 configure 消息上)之一必须大于零。

TakeProfitLevelMsg 模式

在连接时设置策略

策略在首次连接时在 configure 消息中提供:

退出阶梯(止盈级别)

退出阶梯让你在多个阈值处获取部分利润,而不是在单一价格处退出全部仓位。每个级别指定利润目标和要卖出的剩余仓位百分比。

工作原理

  1. 当利润达到某个级别的 profit_pct 时,流卖出当前仓位的 sell_pct
  2. 如果某个级别的 trailing_stop_pct > 0,则在该级别激活追踪止损而不是立即卖出。
  3. 级别按 profit_pct 从低到高评估。
  4. 全局 target_profit_pct 仍作为硬上限;如果在所有级别触发前达到,则卖出剩余仓位。

流动性保护

启用 liquidity_guard 后,流在生成退出信号前检查池流动性。如果池无法在合理滑点下吸收卖出,信号将被推迟直到流动性改善或超时强制退出。 这对于在薄池中的大仓位很有用,立即卖出会导致过大的滑点。

保本追踪

breakeven_trail_pct 字段启用一个在仓位保本(利润 >= 0)后激活的追踪止损,从保本点而非峰值追踪。 与从最高观察利润追踪的标准 trailing_stop_pct 不同,保本追踪保护你免于在曾短暂盈利的仓位上回吐所有收益。

追踪止损说明

追踪止损追踪仓位开仓以来观察到的最高利润。当利润从该峰值下降 trailing_stop_pct 时,退出信号触发。 追踪止损仅在仓位盈利后激活。如果仓位在盈利之前就变为亏损,则触发止损。

会话中更新策略

你可以随时通过发送 update_strategy 消息更改策略而无需重连:
新策略对所有被追踪的仓位立即生效。不会关闭或重新开启仓位;服务器只是根据新阈值重新评估现有仓位。

截止时间

deadline_timeout_secconfigure 消息上设置(不在策略对象本身上)。它定义持有仓位的最大时间(秒),无论盈亏如何都会请求退出信号。 使用 StreamSession 时,截止时间计时器在客户端运行并在触发时自动调用 requestExitSignal。如果你直接使用 StreamClient,你必须自己实现截止时间逻辑。

单仓位策略覆盖

你可以为单个仓位覆盖全局策略而不影响其他被追踪的仓位。这对于你想对特定代币使用不同退出规则时很有用。
覆盖仅适用于指定的仓位。所有其他仓位继续使用全局策略。单仓位覆盖是临时的,不会在重连后保留。