Files
crypto_monitor/manual_trading_hub/static/index.html
T

162 lines
7.4 KiB
HTML

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>多账户交易中控</title>
<link rel="stylesheet" href="/assets/app.css" />
</head>
<body>
<nav class="top-nav">
<a href="/monitor" id="nav-monitor">监控区</a>
<a href="/trade" id="nav-trade">下单区</a>
<a href="/settings" id="nav-settings">系统设置</a>
</nav>
<div id="page-monitor" class="page">
<h1>监控区</h1>
<div class="toolbar">
<button type="button" id="btn-monitor-refresh">立即刷新</button>
<label style="color:var(--muted);font-size:12px;display:flex;align-items:center;gap:6px">
<input type="checkbox" id="auto-monitor" checked /> 每 5 秒刷新
</label>
<button type="button" id="btn-close-all" class="danger">全局紧急全平</button>
<span id="monitor-updated" style="color:var(--muted);font-size:12px"></span>
</div>
<div id="monitor-grid" class="grid-2"></div>
</div>
<div id="page-trade" class="page hidden">
<h1>下单区</h1>
<div class="form-row">
<label>账户</label>
<select id="trade-account"></select>
</div>
<div class="tabs">
<button type="button" data-tab="order" class="active">人工下单</button>
<button type="button" data-tab="key">关键位</button>
<button type="button" data-tab="trend">趋势回调</button>
</div>
<div id="trade-meta" class="rule-tip"></div>
<div id="panel-order" class="card">
<div class="card-head"><strong>人工下单</strong></div>
<div class="card-body">
<form id="form-order" class="form-row">
<input name="symbol" placeholder="BTC 或 BTC/USDT" required />
<select name="direction" required>
<option value="">方向</option>
<option value="long">做多</option>
<option value="short">做空</option>
</select>
<select name="sltp_mode" id="order-sltp-mode">
<option value="price">止盈止损:价格</option>
<option value="pct">止盈止损:百分比</option>
</select>
<select name="trade_style" required>
<option value="trend">趋势单</option>
<option value="swing">波段单</option>
</select>
<input name="leverage" type="number" min="1" step="1" placeholder="杠杆(可选)" />
<label style="display:flex;align-items:center;gap:4px;font-size:12px;color:var(--muted)">
<input type="checkbox" name="breakeven_enabled" value="1" checked /> 移动保本
</label>
<input name="sl" id="order-sl" step="any" placeholder="止损价" required />
<input name="tgt" id="order-tp" step="any" placeholder="止盈价" required />
<input name="sl_pct" id="order-sl-pct" type="number" step="0.01" placeholder="止损%" style="display:none" />
<input name="tp_pct" id="order-tp-pct" type="number" step="0.01" placeholder="止盈%" style="display:none" />
<button type="submit">开仓(以损定仓)</button>
</form>
</div>
</div>
<div id="panel-key" class="card hidden">
<div class="card-head"><strong>添加关键位</strong></div>
<div class="card-body">
<form id="form-key" class="form-row">
<input name="symbol" placeholder="BTC 或 BTC/USDT" required />
<select name="type" required>
<option value="箱体突破">箱体突破</option>
<option value="收敛突破">收敛突破</option>
<option value="斐波回调0.618">斐波回调0.618</option>
<option value="斐波回调0.786">斐波回调0.786</option>
<option value="关键阻力位">关键阻力位</option>
<option value="关键支撑位">关键支撑位</option>
</select>
<select name="direction" required>
<option value="">方向</option>
<option value="long">做多</option>
<option value="short">做空</option>
</select>
<input name="upper" step="any" placeholder="上沿/阻力" required />
<input name="lower" step="any" placeholder="下沿/支撑" required />
<select name="sl_tp_mode" id="key-sl-tp-mode">
<option value="standard">标准突破</option>
<option value="box_1p5">箱体1R·止盈1.5H</option>
<option value="trend_manual">趋势单·自填止盈</option>
</select>
<input name="manual_take_profit" id="key-manual-tp" step="any" placeholder="趋势单止盈价" style="display:none" />
<label style="display:flex;align-items:center;gap:4px;font-size:12px;color:var(--muted)">
<input type="checkbox" name="breakeven_enabled" value="1" id="key-be-cb" /> 移动保本
</label>
<button type="submit">添加关键位</button>
</form>
</div>
</div>
<div id="panel-trend" class="card hidden">
<div class="card-head"><strong>趋势回调</strong></div>
<div class="card-body">
<form id="form-trend" class="form-row">
<input name="symbol" placeholder="BTC 或 ETH/USDT" required />
<select name="direction" id="trend-direction" required>
<option value="">方向</option>
<option value="long">做多</option>
<option value="short">做空</option>
</select>
<input name="leverage" type="number" min="1" step="1" placeholder="杠杆" required />
<input name="risk_percent" type="number" min="0.1" step="0.1" value="5" placeholder="风险%" />
<input name="sl" step="any" placeholder="止损价" required />
<input name="add_upper" id="trend-add-upper" step="any" placeholder="补仓上沿价" required />
<input name="take_profit" step="any" placeholder="止盈价" required />
<button type="submit">生成预览</button>
</form>
<div id="trend-preview-box" style="margin-top:12px;display:none"></div>
</div>
</div>
</div>
<div id="page-settings" class="page hidden">
<h1>系统设置</h1>
<p class="rule-tip">
配置各交易所 Flask 地址与子代理地址,点击「保存设置」写入本目录
<code>hub_settings.json</code>(重启 hub 后仍生效)。OKX 默认关闭;环境变量
<code>HUB_DISABLED_IDS=1</code> 会强制关闭对应 id(勾选框灰掉)。实例须配置与中控一致的
<code>HUB_BRIDGE_TOKEN</code>,或本机调试时 <code>APP_AUTH_DISABLED=true</code>
</p>
<p id="settings-meta-line" class="rule-tip"></p>
<div class="toolbar">
<button type="button" id="btn-settings-save">保存设置</button>
<button type="button" id="btn-settings-add">添加交易所</button>
<button type="button" id="btn-settings-reload">重新加载</button>
</div>
<div class="card">
<div class="card-body" style="overflow:auto">
<table class="settings-table" id="settings-table">
<thead>
<tr>
<th>启用</th><th>显示名</th><th>Flask URL</th><th>Agent URL</th><th>复盘链接</th>
<th>能力</th><th>id</th><th></th>
</tr>
</thead>
<tbody id="settings-tbody"></tbody>
</table>
</div>
</div>
</div>
<div id="toast"></div>
<script src="/assets/app.js"></script>
</body>
</html>