手动交易录入系统 — 用户指南

概述

手动交易输入系统允许您手动注入交易机会,机器人将自动监控并执行这些机会,而无需等待常规信号生成。这非常适合您在手动审视市场时发现机会,并希望机器人不要错过这些机会的情况。

工作原理

🔄 自动热重载

  • 在机器人运行时向 settings/manual_trade_symbols.yaml 添加条目
  • 更改会在30秒内(下一个处理周期)自动被识别
  • 无需重启!

🎯 交易执行流程

  1. 您添加 一条交易记录到 YAML 文件
  2. 机器人检测到 新记录(≤30秒,下一个周期)
  3. 机器人验证
    • 该交易对存在于机器人的交易列表中
    • 该交易对当前没有正在进行的订单
    • 价格条件满足(如果设置了阈值)
  4. 机器人自动执行 交易
  5. 执行成功后记录被移除(防止重复执行)

配置文件位置

settings/manual_trade_symbols.yaml

字段说明

Symbol(必填)

  • 交易所特定的交易对格式
  • 示例:BTCUSDTETHUSDT1000PEPEUSDT
  • 必须与机器人交易列表中的符号完全一致

Price(必填)

  • 0 = 机器人自动获取并使用当前市场价格(推荐)
  • > 0 = 使用您指定的具体价格作为入场参考
  • 设为 0 时,机器人会:
    • 获取当前市场价格
    • 将该字段更新为实际获取的价格
    • 后续周期使用此价格计算阈值

Direction(必填)

  • Long = 做多 / 买入
  • Short = 做空 / 卖出

Amount(必填)

  • 0 = 使用机器人默认的仓位大小规则
  • > 0 = 指定具体金额(以报价货币计)
  • 示例:
    • 1000.0 = 仓位规模 $1000
    • 2500.5 = 仓位规模 $2500.50

ExecuteThresholdPerfect(必填)

  • 0 = 立即执行(无需等待价格变动)
  • > 0 = 等待价格朝不利方向移动该百分比后再执行
  • Long 方向:等待价格下跌该百分比
  • Short 方向:等待价格上涨该百分比

Timestamp(可选)

  • 使用 null 或直接省略该字段
  • 机器人处理时会自动填写当前时间
  • 未来可用于到期验证等功能

使用示例

示例 1:立即入场(现在发现的机会)

Trades:
 - Symbol: 'BTCUSDT'
 Price: 0 # 使用当前价格
 Direction: Long # 做多
 Amount: 0 # 使用默认仓位大小
 ExecuteThresholdPerfect: 0 # 立即执行
 Timestamp: null

使用场景:您看到 BTC 突破,想立刻进场。


示例 2:抄底买入(5%回撤策略)

Trades:
 - Symbol: 'ETHUSDT'
 Price: 0 # 机器人会获取当前价格(例如 $3000)
 Direction: Long
 Amount: 1000 # $1000 仓位
 ExecuteThresholdPerfect: 5 # 等待下跌5%(约 $2850 执行)
 Timestamp: null

使用场景:ETH 看起来强势但略显超买,想在5%回调时买入。


示例 3:激进抄底(10%回撤)

Trades:
 - Symbol: '1000PEPEUSDT'
 Price: 0
 Direction: Long
 Amount: 2000 # $2000 仓位
 ExecuteThresholdPerfect: 10 # 等待下跌10%
 Timestamp: null

使用场景:PEPE 正在猛烈拉升,想在出现明显回调时进行累积买入。


示例 4:做空拉升(等待上涨3%)

Trades:
 - Symbol: 'SOLUSDT'
 Price: 0 # 机器人获取当前价格(例如 $100)
 Direction: Short # 做空
 Amount: 1500
 ExecuteThresholdPerfect: 3 # 价格上涨3%时执行(约 $103)
 Timestamp: null

使用场景:SOL 看起来已经超买,想再涨3%后做空。


示例 5:多级别分批建仓

Trades:
  # 立即入场
 - Symbol: 'BTCUSDT'
 Price: 0
 Direction: Long
 Amount: 500
 ExecuteThresholdPerfect: 0 # 现在进入
 Timestamp: null
  # 下跌5%时加仓
 - Symbol: 'BTCUSDT'
 Price: 0
 Direction: Long
 Amount: 1000
 ExecuteThresholdPerfect: 5 # 5%回调时加仓
 Timestamp: null
  # 下跌10%时重仓
 - Symbol: 'BTCUSDT'
 Price: 0
 Direction: Long
 Amount: 1500
 ExecuteThresholdPerfect: 10 # 10%回调时大力加仓
 Timestamp: null

使用场景:在比特币不同价格区间进行美元成本平均法(DCA)建仓。


重要注意事项

应该做的

  • ✅ 保持 YAML 文件格式正确(缩进正确、无语法错误)
  • ✅ Timestamp 使用 null(不要用 None
  • ✅ Direction 使用 LongShort(不要用 0 或 1)
  • ✅ 确认符号名称与交易所格式完全一致
  • ✅ 添加后至少等待30秒让机器人读取

不应该做的

  • ❌ 不要在 Timestamp 使用 None(用 null 或省略)
  • ❌ 不要在 Direction 使用 01
  • ❌ 不要为机器人未监控的符号添加条目
  • ❌ 不要在机器人保存文件时编辑(极少数竞争条件风险)

🔒 安全特性

  • 无重复执行:执行后自动移除记录
  • 无冲突执行:已有挂单的符号不会执行
  • 价格自动校验:设为0时自动获取并更新价格
  • 时间戳追踪:记录每条手动交易的创建时间

📊 监控方式

查看日志了解处理情况:

  • logs/orders.YYYY-MM-DD.log — 所有交易执行记录(JSON格式)
  • logs/trade_summary.YYYY-MM-DD.log — 高层级交易总结
  • logs/debug.YYYY-MM-DD.log — 详细处理日志(调试模式开启时)

工作流程示例

步骤1:您在看图表,发现 ETHUSDT 突破阻力位

# 添加到 manual_trade_symbols.yaml
Trades:
 - Symbol: 'ETHUSDT'
 Price: 0
 Direction: Long
 Amount: 1000
 ExecuteThresholdPerfect: 0
 Timestamp: null

步骤2:保存文件(机器人继续运行)

步骤3:30秒内机器人会:

  • 加载文件
  • 获取 ETH 当前价格(例如 $3000)
  • 将 Price 字段更新为 3000
  • 设置 Timestamp 为当前时间
  • 确认 ETHUSDT 没有挂单
  • 执行交易
  • 从 YAML 中删除该条记录

步骤4:查看日志确认执行

✅ ETHUSDT 交易执行成功
💾 手动交易配置已更新并保存(已执行记录已移除)

专业小贴士

💡 高波动市场:使用更高的阈值(10–20%)来抓住更好的入场点

💡 即时机会:使用 ExecuteThresholdPerfect: 0 + Amount: 0 实现快速进场 + 标准仓位

💡 逐步加仓(Scaling in):对同一标的设置逐渐增大的阈值,添加多条记录

💡 风险控制:不要总是用 0,可以指定具体金额来精确控制仓位大小

💡 多币种管理:将相似策略的记录分组放在 YAML 中,便于管理


请记住:这个系统旨在辅助您的手动分析,而不是替代它。明智地使用它,抓住机器人常规信号周期可能错过的机会!🚀

📎 Related Topics