{{ tabs.find(t => t.id === tab).name }}
{{ online ? '系统运行中' : '交易进程离线' }} · {{ modeCn }} {{ clock }} {{ me.username }}({{ me.role_cn }}) 退出
当前 ETH 价格
{{ fmt(s.price, 2) }}
较上根 4H 收盘 {{ signed(chg) }}%
日
日线状态
{{ m.daily_bias > 0 ? '多' : m.daily_bias < 0 ? '空' : '—' }} 已确认 {{ biasAge }}
日线收盘价相对日线 EMA20 · {{ biasFrom }} 起
4H
4H 状态
{{ regimeCn }} {{ campaign.name }}{{ campaign.note }}
{{ regimeSub }}
≋
当前 ATR(4H)
{{ fmt(m.atr, 1) }}
ADX {{ fmt(m.adx, 1) }} · RSI {{ fmt(m.rsi, 1) }} · 偏离 {{ pct(m.deviation) }}

行情观察 {{ f.name }} 伏击阵地 止损 反杀警戒

价格 · 成交量 ADX14 ADX +DI −DI · 20 / 25 RSI14 · 30 / 70 ATR14

风控面板

账户权益{{ fmt(s.equity, 2) }} U最高 {{ fmt(s.peak, 2) }}
今日盈亏{{ signed(s.day_pnl) }} U
本周盈亏{{ signed(s.week_pnl) }} U
{{ g.name }}{{ fmt(g.used, 1) }} / {{ fmt(g.cap, 0) }}U
单批额度 / 狂暴 {{ fmt(s.unit, 0) }} U · {{ s.boost ? '允许' : '关闭' }}
{{ s.can_open ? '正常' : '停止开仓' }}{{ s.can_open ? '未触发熔断,允许开仓' : s.block_reason }}
{{ b.name }}

持仓明细 {{ s.owner === 'FOLLOW' ? 'AI-GhostQuan' : ownerCn }}

#方向开仓时间开仓价数量止损浮动盈亏(含费)合计 {{ signed(upnlSum()) }} U
{{ i + 1 }} {{ pos.side === 'long' ? '多' : '空' }} {{ fullDt(e.ts) }} {{ fmt(e.price, 2) }}{{ fmt(e.qty, 3) }} {{ fmt(e.stop, 2) }} {{ signed(upnl(e)) }} U

当前无持仓

均价 {{ fmt(pos.avg, 2) }} · 交易所止损 {{ s.exchange_stop ? fmt(s.exchange_stop, 2) : '未挂' }} 打到止损 −{{ fmt(pos.risk, 1) }} U

实时系统日志

{{ hm(e.ts) }}【{{ levelCn(e.level) }}】{{ e.message }}

{{ campErr || '正在核对四个战役的入场条件…' }}

我的账号

用户名{{ me.username }}
角色{{ me.role_cn }}
权限{{ rolePerm[me.role] }}
修改密码

{{ pwMsg.text }}

改完后本机保持登录,其他设备上的登录会自动退出。

运行模式 只读,修改需要在服务器上操作

读取中…

账号与角色管理 只有统帅能看到

用户名角色创建时间操作
{{ x.username }} (我) {{ dt(x.created) }} 重置密码删除 —

{{ userMsg.text }}

{{ n }}{{ rolePerm[k] }}
改角色、重置密码、删除账号后,对方的登录立即失效,需要重新登录。系统至少保留一个统帅。

操作记录

时间操作人操作对象内容
{{ dt(a.ts) }}{{ a.actor }}{{ a.action }}{{ a.target }}{{ a.detail }}

还没有账号相关的操作记录

历史回测 {{ btReport.from.slice(0,10) }} → {{ btReport.to.slice(0,10) }} · {{ btReport.bars_1h }} 根 1H 选择区间后运行或加载缓存

缓存于 {{ dt(btReport.cached_at) }} 大约 10 秒~1 分钟,可离开本页,跑完自动刷新 {{ btErr }}
⟲

还没有「{{ (btPresets.find(p => p.key === btKey) || {}).label || btKey }}」的回测结果。

点击「运行回测」用当前策略参数在历史行情上复盘。回测只说明历史,不代表未来。

系统日志 共 {{ logsTotal }} 条匹配 · 库内 {{ logsAll }} 条

加载中…
没有匹配的日志
{{ dt(e.ts) }} 【{{ levelCn(e.level) }}】 {{ e.mode }} {{ e.message }}
已显示 {{ logsItems.length }} 条

交易记录 按平仓时间筛选 · 北京时间

{{ trErr }}

净盈亏{{ signed(trSum.net) }} U
交易笔数{{ trSum.count }}
胜率{{ trSum.win_rate === null ? '—' : fmt(trSum.win_rate * 100, 1) + '%' }}
盈亏比(总盈/总亏){{ fmt(trSum.profit_factor, 2) }}
平均盈 / 平均亏{{ signed(trSum.avg_win) }} / {{ signed(trSum.avg_loss) }}
手续费 · 平均持仓{{ fmt(trSum.fee, 2) }} U · {{ hold(trSum.avg_hold_sec) }}
{{ campCn[k] }} {{ v.count }} 笔 {{ signed(v.net) }}U
加载中…
这个范围内还没有已平仓的交易
{{ sideCn(t.side) }} {{ campCn[t.owner] || t.owner }} · {{ { paper: '模拟', testnet: '测试网', live: '实盘' }[t.mode] || t.mode }} {{ fmt(t.entry_avg, 2) }} → {{ fmt(t.exit_avg, 2) }} × {{ fmt(t.qty, 3) }} {{ dt(t.open_ts) }} → {{ dt(t.close_ts) }} {{ signed(t.net) }} U

持仓 {{ hold((new Date(t.close_ts) - new Date(t.open_ts)) / 1000) }} · 毛盈亏 {{ signed(t.gross) }}U · 手续费 {{ fmt(t.fee, 2) }}U · 平仓后净值 {{ fmt(t.equity, 1) }}U · 平仓原因:{{ t.reason }}

时间动作方向数量价格说明
{{ dt(f.ts) }}{{ f.signal }} {{ f.side === 'buy' ? '买' : '卖' }} {{ fmt(f.qty, 3) }}{{ fmt(f.price, 2) }}{{ f.reason }}
已显示 {{ trItems.length }} 笔

风控总览 {{ s.ts ? '更新于 ' + dt(s.ts) : '交易进程未上报' }}

{{ s.can_open ? '允许开仓' : '停止开仓' }}{{ s.can_open ? '日、周、回撤、人工暂停均未触发' : s.block_reason }}
账户权益{{ fmt(s.equity, 2) }} U最高 {{ fmt(s.peak, 2) }} U
单批额度{{ fmt(s.unit, 0) }} U每满 500U 一级
连亏笔数{{ s.losses ?? '—' }} / {{ s.streak_max ?? 3 }} {{ s.boost ? '狂暴模式允许' : '狂暴关闭,' + (s.streak_since ? dt(s.streak_since) + ' 起满 ' + (s.streak_reset_days || 7) + ' 天或赢一笔恢复' : '赢一笔恢复') }}
人工暂停{{ s.paused ? '已暂停' : '否' }}{{ s.halted ? '总回撤熔断中' : '熔断未触发' }}
{{ g.name }}{{ fmt(g.used, 1) }} / {{ fmt(g.cap, 0) }}U · {{ fmt(g.cap > 0 ? g.used / g.cap * 100 : 0, 0) }}%

风控参数 {{ can('set_daily') ? '统帅可修改,提交后由交易进程执行' : '只有统帅可以修改' }}

项目当前值规则修改
单日亏损上限{{ fmt(s.daily_cap, 0) }} U{{ fmt(s.daily_units, 1) }} × 单批额度,北京时间当天停止开仓
单周亏损上限{{ fmt(s.weekly_cap, 0) }} U{{ fmt(s.weekly_units, 1) }} × 单批额度,周一 0 点重置
总回撤熔断线{{ fmt((s.max_drawdown || 0) * 100, 0) }}%自最高权益回撤达到即停机,需统帅解锁
总敞口上限{{ fmt(s.exposure_cap, 0) }} U{{ fmt(s.exposure_units, 0) }} × 单批额度,打到止损的亏损超出即强平固定
连亏关狂暴{{ s.streak_max ?? 3 }} 笔赢一笔或满 {{ s.streak_reset_days || 7 }} 天恢复固定

{{ rkMsg.text }}

战役开关 关闭后不再开新仓,已有持仓照常管理

{{ b.name }} {{ (s.enabled || []).includes(b.id) ? '开启' : '关闭' }}

风控事件 熔断、强平、告警和指令执行结果,最近 50 条

{{ dt(e.ts) }}【{{ levelCn(e.level) }}】{{ e.message }}

暂无风控事件

数据统计 已平仓交易 · 按平仓时间 · 北京时间

{{ stErr }}

这个范围内还没有已平仓的交易,统计会在第一笔平仓后出现。

权益曲线 {{ fmt(stData.start_equity, 1) }}U → {{ fmt(stData.end_equity, 1) }}U · 每笔平仓结算

高 {{ fmt(stCurve.hi, 1) }}低 {{ fmt(stCurve.lo, 1) }}
{{ dt(stData.curve[stHover - 1].ts) }} · 第 {{ stHover }} 笔 {{ signed(stData.curve[stHover - 1].net) }} → {{ fmt(stData.curve[stHover - 1].equity, 1) }}U

每日盈亏 最近 {{ stDaily.length }} 个有平仓的交易日

{{ d.date }} {{ signed(d.net) }}U

按战役 / 多空拆分

分组笔数胜率净盈亏盈亏比平均盈 / 亏平均持仓
{{ r.n }}{{ r.g ? r.g.count : 0 }} {{ r.g && r.g.count ? fmt(r.g.win_rate * 100, 1) + '%' : '—' }} {{ r.g ? signed(r.g.net) : '—' }} {{ fmt(r.g && r.g.profit_factor, 2) }} {{ signed(r.g && r.g.avg_win) }} / {{ signed(r.g && r.g.avg_loss) }} {{ hold(r.g && r.g.avg_hold_sec) }}
{{ tabs.find(t => t.id === tab).icon }}

{{ tabs.find(t => t.id === tab).name }}

{{ tabs.find(t => t.id === tab).desc }}

这一页正在开发,完成后会出现在这里。

作战指挥室 PWA

当前净值{{ fmt(s.equity, 1) }} U
今日盈亏{{ signed(s.day_pnl) }}
战役等级{{ ownerCn || moodName }}
全局状态{{ s.can_open ? '正常' : '停止开仓' }}
{{ c.icon }}
{{ c.who }} {{ hm(c.ts) }}
{{ c.text }}
⏳
正在核对数据...
🛡️
风控员 · 等你确认
确认执行:{{ pending.preview }}?
最近 {{ pending.compare.days }} 天回测改前改后
{{ r.n }}{{ r.a }}{{ r.u }}{{ r.b }}{{ r.u }}
回测只说明历史表现,不代表未来。修改会记入变更记录,可以说"撤回上次修改"。

观察员只能查看