# 复制为 config.yaml 后修改;勿将含密钥的 config.yaml 提交到 git。 app: host: "127.0.0.1" port: 8090 log_file: "./runtime/executor.log" session_secret: "change-me-to-long-random-string" auth: enabled: true username: "admin" password: "ChangeThisPassword!" security: webhook_secret: "change-me-to-long-random-string" # 企业微信群机器人:仅推送执行器「执行结果」(信号处理结果、一键平仓、OCO 撤单异常、SQLite 落库失败)。 # 策略/发现类通知仍由 onchain_scout_gate 扫描端发送。需在企业微信建群机器人并复制 Webhook URL。 wecom: enabled: false webhook_url: "" gate: api_base: "https://api.gateio.ws/api/v4" settle: "usdt" api_key: "" api_secret: "" # true:只校验与日志,不下单。实盘:改为 false,并填写 api_key / api_secret(子账户 + IP 白名单) dry_run: true # 仅人工测试:为 true 时允许 POST /api/test 与 /v1/test 的 micro_market 发真实 IOC 市价(张数受 test_max_contracts 限制;联调见 docs/使用说明 §4.1) test_orders_enabled: false test_max_contracts: 1 risk: risk_per_trade_frac: 0.005 max_open_positions: 5 scheme: "A" # Gate 官方未提供「单笔双触发 OCO」时,为 true 表示净持仓为 0 后由本进程撤掉另一腿计划单(推荐保持 true) oco_cleanup_enabled: true # 最低盈亏比(config 默认);信号流面板可保存到 runtime/risk_prefs.json 覆盖,无需改 yaml min_reward_risk_ratio: 1.3 # 移动保本:浮盈达 1R(相对初始止损)后,止损拉至开仓价 ± buffer_pct;面板可写 runtime/breakeven_prefs.json breakeven_stop: enabled: true trigger_r: 1.0 buffer_pct: 0.002 poll_interval_sec: 8 # 面板「统计」:正式起始时刻与统计日边界(见 docs/使用说明.md) stats: timezone: "Asia/Shanghai" official_start: "2026-05-13T02:00:00+08:00" max_trade_rows: 20000 # 信号流与执行结果:写入 SQLite(默认 ./runtime/signals.sqlite);留空会自动回退为该路径,保证重启后仍可读 database: enabled: true # 兼容旧字段 sqlite_path: "./runtime/signals.sqlite" # 与 onchain_scout_gate 的 proxy 块相同写法;enabled=true 时访问 Gate 走此代理 proxy: enabled: true url: "socks5h://127.0.0.1:1080"