Add hub-only OKX amp stats for ETH/BTC session windows.

Read-only 1H index candles, point amplitude metrics, history save and CSV export; no order-path changes.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
dekun
2026-07-23 02:06:21 +08:00
parent 40be3a5ab7
commit 61e8da1e8b
15 changed files with 1367 additions and 4 deletions
+87 -2
View File
@@ -16,7 +16,7 @@
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600&family=Orbitron:wght@500;600;700&display=swap" rel="stylesheet" media="print" onload="this.media='all'" />
<noscript><link href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600&family=Orbitron:wght@500;600;700&display=swap" rel="stylesheet" /></noscript>
<link rel="stylesheet" href="/assets/app.css?v=20260722-monitor-m-stats" />
<link rel="stylesheet" href="/assets/app.css?v=20260723-amp-stats" />
<link rel="stylesheet" href="/assets/trade_stats_calendar.css?v=4" />
<link rel="stylesheet" href="/assets/account_risk_badge.css?v=4" />
<script src="/assets/account_risk_badge.js?v=4"></script>
@@ -53,6 +53,7 @@
<a href="/plan" id="nav-plan">开仓计划</a>
<a href="/monitor" id="nav-monitor">监控区</a>
<a href="/strategy" id="nav-strategy">策略说明</a>
<a href="/amp-stats" id="nav-amp-stats">振幅统计</a>
<a href="/help" id="nav-help">使用说明</a>
<a href="/market" id="nav-market">行情区</a>
<a href="/calculator" id="nav-calculator">计算器</a>
@@ -1003,6 +1004,84 @@
</div>
</div>
<div id="page-amp-stats" class="page hidden">
<div class="page-head">
<div>
<h1><span class="head-tag">AMP</span> 振幅统计</h1>
<p class="page-desc">OKX 指数 · 整点起点 → 固定 16:00 · 点数振幅档案(只读)</p>
</div>
</div>
<div class="amp-view-tabs" role="tablist" aria-label="振幅视图">
<button type="button" class="amp-view-tab is-active" data-view="stats" role="tab" aria-selected="true">统计</button>
<button type="button" class="amp-view-tab" data-view="history" role="tab" aria-selected="false">历史</button>
</div>
<section id="amp-panel-stats" class="card amp-panel">
<div class="amp-form">
<label class="amp-field">
<span>标的</span>
<select id="amp-symbol">
<option value="eth" selected>ETH</option>
<option value="btc">BTC</option>
</select>
</label>
<label class="amp-field">
<span>数据源</span>
<input type="text" value="OKX" disabled />
</label>
<label class="amp-field">
<span>起点整点</span>
<select id="amp-start-hour"></select>
</label>
<label class="amp-field">
<span>终点</span>
<input type="text" value="16:00" disabled />
</label>
<label class="amp-field">
<span>周期</span>
<select id="amp-period">
<option value="1m">1个月</option>
<option value="2m" selected>2个月</option>
<option value="3m">3个月</option>
<option value="6m">半年</option>
<option value="1y">1年</option>
<option value="custom">自定义</option>
</select>
</label>
<label class="amp-field hidden" id="amp-custom-wrap">
<span>自定义天数</span>
<input id="amp-custom-days" type="number" min="7" max="400" value="60" />
</label>
<div class="amp-actions">
<button type="button" id="amp-btn-compute" class="primary">计算</button>
<button type="button" id="amp-btn-save" class="ghost">保存到历史</button>
<button type="button" id="amp-btn-download" class="ghost">下载 CSV</button>
</div>
</div>
<p id="amp-status" class="toolbar-meta amp-status"></p>
<p class="amp-hint">口径:开→高=最高−开盘;开→低=开盘−最低;振幅=最高−最低(均为点数).未到 16:00 的当日不入样.</p>
<h3 class="amp-block-title">汇总</h3>
<div id="amp-summary" class="amp-summary"></div>
<h3 class="amp-block-title">日表明细</h3>
<div class="amp-table-wrap">
<table class="amp-table">
<thead>
<tr>
<th>结算日</th><th>窗起点</th><th></th><th></th><th></th><th></th>
<th>开→高</th><th>开→低</th><th>振幅</th><th>涨跌</th>
</tr>
</thead>
<tbody id="amp-table-body">
<tr><td colspan="10" class="amp-empty">点击「计算」加载</td></tr>
</tbody>
</table>
</div>
<div id="amp-pager" class="amp-pager"></div>
</section>
<section id="amp-panel-history" class="card amp-panel hidden">
<div id="amp-history-list" class="amp-history-list"></div>
</section>
</div>
<div id="page-help" class="page hidden">
<div class="page-head">
<div>
@@ -1149,6 +1228,10 @@
<input type="checkbox" id="pref-show-nav-strategy" checked />
顶栏显示「策略说明」
</label>
<label class="chk-label settings-display-chk">
<input type="checkbox" id="pref-show-nav-amp-stats" checked />
顶栏显示「振幅统计」
</label>
<label class="chk-label settings-display-chk">
<input type="checkbox" id="pref-show-nav-help" checked />
顶栏显示「使用说明」
@@ -1343,6 +1426,7 @@
<a href="/quotes" id="m-nav-quotes">语录</a>
<a href="/dashboard" id="m-nav-dashboard">数据看板</a>
<a href="/strategy" id="m-nav-strategy">策略说明</a>
<a href="/amp-stats" id="m-nav-amp-stats">振幅统计</a>
<a href="/help" id="m-nav-help">使用说明</a>
<a href="/logs" id="m-nav-logs">系统日志</a>
<a href="/settings" id="m-nav-settings">系统设置</a>
@@ -1406,6 +1490,7 @@
<script src="/assets/funds.js?v=20260717-funds-scroll-fix"></script>
<script src="/assets/dashboard.js?v=20260720-dash-sl-tp"></script>
<script src="/assets/strategy.js?v=9"></script>
<script src="/assets/amp_stats.js?v=1"></script>
<script src="/assets/help.js?v=1"></script>
<script src="/assets/logs.js?v=1"></script>
<script src="/assets/ai_review_render.js?v=3"></script>
@@ -1413,6 +1498,6 @@
<script src="/assets/options_expiry_countdown.js?v=1"></script>
<script src="/assets/options_position_cards.js?v=2"></script>
<script src="/assets/backup.js?v=1"></script>
<script src="/assets/app.js?v=20260720-dash-back"></script>
<script src="/assets/app.js?v=20260723-amp-stats"></script>
</body>
</html>