概述
手动交易输入系统允许您手动注入交易机会,机器人将自动监控并执行这些机会,而无需等待常规信号生成。这非常适合您在手动审视市场时发现机会,并希望机器人不要错过这些机会的情况。
工作原理
🔄 自动热重载
- 在机器人运行时向
settings/manual_trade_symbols.yaml添加条目 - 更改会在30秒内(下一个处理周期)自动被识别
- 无需重启!
🎯 交易执行流程
- 您添加 一条交易记录到 YAML 文件
- 机器人检测到 新记录(≤30秒,下一个周期)
- 机器人验证:
- 该交易对存在于机器人的交易列表中
- 该交易对当前没有正在进行的订单
- 价格条件满足(如果设置了阈值)
- 机器人自动执行 交易
- 执行成功后记录被移除(防止重复执行)
配置文件位置
settings/manual_trade_symbols.yaml
字段说明
Symbol(必填)
- 交易所特定的交易对格式
- 示例:
BTCUSDT、ETHUSDT、1000PEPEUSDT - 必须与机器人交易列表中的符号完全一致
Price(必填)
0= 机器人自动获取并使用当前市场价格(推荐)> 0= 使用您指定的具体价格作为入场参考- 设为
0时,机器人会:- 获取当前市场价格
- 将该字段更新为实际获取的价格
- 后续周期使用此价格计算阈值
Direction(必填)
Long= 做多 / 买入Short= 做空 / 卖出
Amount(必填)
0= 使用机器人默认的仓位大小规则> 0= 指定具体金额(以报价货币计)- 示例:
1000.0= 仓位规模 $10002500.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 使用
Long或Short(不要用 0 或 1) - ✅ 确认符号名称与交易所格式完全一致
- ✅ 添加后至少等待30秒让机器人读取
❌ 不应该做的
- ❌ 不要在 Timestamp 使用
None(用null或省略) - ❌ 不要在 Direction 使用
0或1 - ❌ 不要为机器人未监控的符号添加条目
- ❌ 不要在机器人保存文件时编辑(极少数竞争条件风险)
🔒 安全特性
- 无重复执行:执行后自动移除记录
- 无冲突执行:已有挂单的符号不会执行
- 价格自动校验:设为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 中,便于管理
请记住:这个系统旨在辅助您的手动分析,而不是替代它。明智地使用它,抓住机器人常规信号周期可能错过的机会!🚀