用户指南 — 全局杠杆配置与管理

概述

本指南解释了如何在tradesettings.yaml常规设置中使用杠杆配置选项,以管理您交易所中所有交易符号的杠杆。


1. SetLeverageStartup

SetLeverageStartup: false

目的: 在机器人启动时将定义的杠杆应用于所有交易符号。

何时启用 (true)

  • 首次设置: 当需要为所有符号初始设置杠杆时
  • 更改杠杆设置后: 当您修改了所需的杠杆时
  • 添加新符号后: 当交易所添加了新的交易对时

何时禁用 (false)

  • 成功更新杠杆后: 以避免不必要的API调用
  • 正常运行: 以防止每次重启时重置杠杆
  • 杠杆已配置时: 如果所有符号已具有正确的杠杆

⚠️ 重要说明

  • 杠杆成功更新后,始终设置为false,以避免:
    • 每次初始化时不必要的API调用
    • 交易所可能的速率限制
    • 启动时间较慢
# 步骤1:启用以更新杠杆
SetLeverageStartup: true

# 步骤2:启动机器人(杠杆将被应用)
# 步骤3:停止机器人

# 步骤4:在下次启动前禁用
SetLeverageStartup: false

工作流程示例

1. 在配置中设置所需的杠杆(例如,10倍)
2. 启用 SetLeverageStartup: true
3. 启动机器人 → 杠杆应用于所有符号
4. 停止机器人
5. 禁用 SetLeverageStartup: false
6. 重启机器人以进行正常交易

2. SetMaxLeverage

SetMaxLeverage: false

目的: 自动使用交易所允许的每个符号的最大杠杆,而不是您配置的杠杆值。

工作原理

当设置为 false(默认):

  • 对所有符号使用您配置的杠杆值
  • 如果不受支持,API调用可能会失败

当设置为 true:

  • 获取每个符号支持的最大杠杆
  • 使用配置值与交易所最大值之间的较低值

示例场景

# 场景1:符号支持您的杠杆
您的配置: 20倍
符号最大: 50倍
结果:     20倍

# 场景2:符号的最大杠杆较低
您的配置: 20倍
符号最大: 5倍
结果:     5倍
机器人输出: "ℹ️ XYZUSDT 最大杠杆为5倍,使用5倍代替20倍"

# 场景3:符号的最大杠杆较高
您的配置: 10倍
符号最大: 125倍
结果:     10倍

何时启用 (true)

  • ✅ 避免杠杆相关错误的稳妥方法
  • ✅ 具有不同杠杆限制的混合符号类型
  • ✅ 保守交易以自动调整到限制
  • ✅ 具有不同规则的多交易所机器人

何时禁用 (false)

  • ✅ 所有符号支持统一的杠杆
  • ✅ 策略需要精确的杠杆值
  • ✅ 性能优化(减少API调用)

symbols.json的集成

杠杆更新流程

1. 机器人从 tradesettings.yaml 读取杠杆
2. 如果 SetMaxLeverage: true → 获取最大杠杆
3. 计算最终杠杆(配置值与最大值的最小值)
4. 通过交易所API应用杠杆
5. ✅ 用实际应用的杠杆更新 symbols.json
6. 机器人使用 symbols.json 中的杠杆进行交易

为什么更新symbols.json很重要

  • 确保与交易所的一致性
  • 在重启之间保持持久性
  • 可跟踪实际使用的杠杆

⚠️ 重要:同步时机

# ❌ 错误方式
SetLeverageStartup: true
SetMaxLeverage: true

# ✅ 正确方式(一次性更新)
SetLeverageStartup: true
SetMaxLeverage: true
# 成功后:
SetLeverageStartup: false
SetMaxLeverage: false

推荐的配置工作流程

初始设置(新机器人)

# tradesettings.yaml
Leverage: 10
SetLeverageStartup: true
SetMaxLeverage: true
  1. 配置上述设置
  2. 启动机器人 → 杠杆应用并更新 symbols.json
  3. 停止机器人
  4. 禁用两个设置
  5. 重启以进行正常操作

更改杠杆值

# tradesettings.yaml
Leverage: 15
SetLeverageStartup: true
SetMaxLeverage: true
  1. 更新杠杆值
  2. 启用 SetLeverageStartup
  3. 启动机器人 → 应用新杠杆
  4. 停止机器人
  5. 在下次启动前再次禁用

正常操作(推荐)

# tradesettings.yaml
Leverage: 10
SetLeverageStartup: false
SetMaxLeverage: false

机器人从已配置并更新的symbols.json读取杠杆。

添加新符号

# tradesettings.yaml
Leverage: 10
SetLeverageStartup: true
SetMaxLeverage: true
  1. 向交易所添加新符号
  2. 启用 SetLeverageStartup
  3. 启动机器人 → 杠杆应用于所有符号
  4. 停止机器人
  5. 在正常交易前禁用

故障排除

  • 问题: 机器人不断重置杠杆
    原因: SetLeverageStartup: true 保持启用状态
    解决方法: 在初始设置后设置为 false
  • 问题: 杠杆未应用
    原因: 更新期间 SetLeverageStartup: false
    解决方法: 临时启用并重启
  • 问题: 关于杠杆限制的API错误
    原因: 配置的杠杆超过交易所最大值
    解决方法: 启用 SetMaxLeverage: true
  • 问题: symbols.json 不匹配
    原因: 手动更改或不同步
    解决方法: 一次启用 SetLeverageStartup: true 以重新同步

最佳实践

✅ 应该做

  • 在成功更新后设置 SetLeverageStartup: false
  • 在首次设置时使用 SetMaxLeverage: true
  • 验证 symbols.json 中的杠杆值
  • 在更改前保留备份
  • 在应用到所有符号前先在一个符号上测试

❌ 不应该做

  • 在正常运行中保留 SetLeverageStartup: true
  • 不启用 SetLeverageStartup 就更改杠杆
  • 手动编辑 symbols.json
  • 反复启用两个设置(会导致API过载)

快速参考表

场景 SetLeverageStartup SetMaxLeverage 使用时机
初始设置 true true 首次运行机器人
正常交易 false false 日常操作
更改杠杆 true true 修改杠杆值后
添加新符号 true true 向交易所添加新对
保守模式 false true 自动调整到交易所限制
性能模式 false false 最小化API调用

支持

  1. 检查机器人日志以查找错误
  2. 验证交易所API权限是否包括杠杆修改
  3. 确保所有符号在交易所中存在
  4. 检查 symbols.json 以确保杠杆正确
  5. 审查交易所特定的杠杆限制

📎 Related Topics