Skip to content

Commit 8b68028

Browse files
committed
Add Smart Money Radar panel (Skill 45) — flagship intelligence feature
6-factor institutional positioning engine using Binance-exclusive APIs: - Top trader L/S ratio (smart money direction) - Global L/S ratio (retail positioning — contrarian signal) - Smart vs retail divergence detection - Taker buy/sell pressure (aggressive flow) - Funding rate signal (contrarian — negative = bullish) - OI momentum (conviction behind moves) Generates composite Smart Money Score (0-100), market regime classification (ACCUMULATION/DISTRIBUTION/POSITIONING/NEUTRAL), and auto-generated natural language market briefs per asset. New 'Smart Money' layout combining radar with related derivative panels.
1 parent e821f14 commit 8b68028

4 files changed

Lines changed: 333 additions & 28 deletions

File tree

frontend/index.html

Lines changed: 21 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
<meta name="theme-color" content="#0b0e11">
99
<title>Binance Skills Terminal</title>
1010
<base href="/superbsc/">
11-
<link rel="stylesheet" href="static/css/main.css?v=1709900000">
11+
<link rel="stylesheet" href="static/css/main.css?v=1710000000">
1212
</head>
1313
<body>
1414
<!-- Inline fallback: ensures globals are available before modules load -->
@@ -201,6 +201,7 @@
201201
<button class="nav-dropdown-item" data-layout="derivatives" data-i18n="nav.derivatives">Derivatives</button>
202202
<button class="nav-dropdown-item" data-layout="screener" data-i18n="nav.screener">Screener</button>
203203
<button class="nav-dropdown-item" data-layout="convergence" data-i18n="nav.convergence">Convergence</button>
204+
<button class="nav-dropdown-item" data-layout="smart-money" data-i18n="nav.smartMoney">Smart Money</button>
204205
</div>
205206
</div>
206207
</nav>
@@ -270,6 +271,7 @@
270271
<button class="hamburger-item" data-layout="derivatives"><span data-i18n="nav.derivatives">Derivatives</span></button>
271272
<button class="hamburger-item" data-layout="screener"><span data-i18n="nav.screener">Screener</span></button>
272273
<button class="hamburger-item" data-layout="convergence"><span data-i18n="nav.convergence">Convergence</span></button>
274+
<button class="hamburger-item" data-layout="smart-money"><span data-i18n="nav.smartMoney">Smart Money</span></button>
273275
</div>
274276
<div class="hamburger-actions">
275277
<button class="hamburger-action" id="mobile-search" data-i18n="btn.search">Search</button>
@@ -361,6 +363,7 @@ <h2>Settings</h2>
361363
<button class="settings-option" data-value="derivatives">Derivatives</button>
362364
<button class="settings-option" data-value="screener">Screener</button>
363365
<button class="settings-option" data-value="convergence">Convergence</button>
366+
<button class="settings-option" data-value="smart-money">Smart Money</button>
364367
</div>
365368
</div>
366369
<div class="settings-group">
@@ -387,22 +390,22 @@ <h2>Settings</h2>
387390
<div id="toast-container"></div>
388391

389392
<!-- Scripts -->
390-
<script type="module" src="static/js/store.js?v=1709900000"></script>
391-
<script type="module" src="static/js/api.js?v=1709900000"></script>
392-
<script type="module" src="static/js/utils.js?v=1709900000"></script>
393-
<script type="module" src="static/js/components/base-panel.js?v=1709900000"></script>
394-
<script type="module" src="static/js/components/data-table.js?v=1709900000"></script>
395-
<script type="module" src="static/js/components/status-bar.js?v=1709900000"></script>
396-
<script type="module" src="static/js/components/search-bar.js?v=1709900000"></script>
397-
<script type="module" src="static/js/components/command-palette.js?v=1709900000"></script>
398-
<script type="module" src="static/js/components/context-menu.js?v=1709900000"></script>
399-
<script type="module" src="static/js/components/toast.js?v=1709900000"></script>
400-
<script type="module" src="static/js/components/risk-badge.js?v=1709900000"></script>
401-
<script type="module" src="static/js/components/mini-chart.js?v=1709900000"></script>
402-
<script type="module" src="static/js/components/chart.js?v=1709900000"></script>
403-
<script type="module" src="static/js/components/ws-stream.js?v=1709900000"></script>
404-
<script type="module" src="static/js/components/settings.js?v=1709900000"></script>
405-
<script type="module" src="static/js/i18n.js?v=1709900000"></script>
406-
<script type="module" src="static/js/app.js?v=1709900000"></script>
393+
<script type="module" src="static/js/store.js?v=1710000000"></script>
394+
<script type="module" src="static/js/api.js?v=1710000000"></script>
395+
<script type="module" src="static/js/utils.js?v=1710000000"></script>
396+
<script type="module" src="static/js/components/base-panel.js?v=1710000000"></script>
397+
<script type="module" src="static/js/components/data-table.js?v=1710000000"></script>
398+
<script type="module" src="static/js/components/status-bar.js?v=1710000000"></script>
399+
<script type="module" src="static/js/components/search-bar.js?v=1710000000"></script>
400+
<script type="module" src="static/js/components/command-palette.js?v=1710000000"></script>
401+
<script type="module" src="static/js/components/context-menu.js?v=1710000000"></script>
402+
<script type="module" src="static/js/components/toast.js?v=1710000000"></script>
403+
<script type="module" src="static/js/components/risk-badge.js?v=1710000000"></script>
404+
<script type="module" src="static/js/components/mini-chart.js?v=1710000000"></script>
405+
<script type="module" src="static/js/components/chart.js?v=1710000000"></script>
406+
<script type="module" src="static/js/components/ws-stream.js?v=1710000000"></script>
407+
<script type="module" src="static/js/components/settings.js?v=1710000000"></script>
408+
<script type="module" src="static/js/i18n.js?v=1710000000"></script>
409+
<script type="module" src="static/js/app.js?v=1710000000"></script>
407410
</body>
408411
</html>

frontend/js/app.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ const panelRegistry = {
8686
'anomaly-composite': 'anomaly-composite-panel',
8787
'momentum-cascade': 'momentum-cascade-panel',
8888
'microstructure-health': 'microstructure-health-panel',
89+
'smart-money-radar': 'smart-money-radar-panel',
8990
};
9091

9192
// Layout presets
@@ -205,6 +206,11 @@ const layouts = {
205206
grid: 'grid-2x3',
206207
panels: ['sentiment-convergence', 'cross-exchange-arb', 'term-structure', 'anomaly-composite', 'momentum-cascade', 'microstructure-health'],
207208
},
209+
'smart-money': {
210+
name: 'Smart Money',
211+
grid: 'grid-2x3',
212+
panels: ['smart-money-radar', 'taker-pressure', 'trader-divergence', 'funding-scanner', 'oi-surge', 'sentiment-convergence'],
213+
},
208214
'screener': {
209215
name: 'Screener',
210216
grid: 'grid-2x2',
@@ -240,6 +246,7 @@ async function loadPanels() {
240246
'whale-tracker',
241247
'cross-exchange-arb', 'sentiment-convergence', 'term-structure',
242248
'anomaly-composite', 'momentum-cascade', 'microstructure-health',
249+
'smart-money-radar',
243250
];
244251
await Promise.allSettled(
245252
panelModules.map(name =>

0 commit comments

Comments
 (0)