From 2fbc43ae9741d31d6d5cd5cc30671a3621fd6f62 Mon Sep 17 00:00:00 2001 From: Marc Blatter Date: Sat, 4 Jul 2026 13:17:53 +0200 Subject: [PATCH] Bot auto-update: src/__pycache__/web_dashboard.cpython-310.pyc,src/web_dashboard.py --- src/__pycache__/web_dashboard.cpython-310.pyc | Bin 18312 -> 19814 bytes src/web_dashboard.py | 392 +++++++++--------- 2 files changed, 204 insertions(+), 188 deletions(-) diff --git a/src/__pycache__/web_dashboard.cpython-310.pyc b/src/__pycache__/web_dashboard.cpython-310.pyc index 43f7cecfd71eedfc486767d2d7a35538999df638..efb11966248a5a23746fbef92be78f5d10e6d8bf 100644 GIT binary patch delta 3556 zcmbVP%WoS+7$>AsY1F1llh_SO$uv&$px*WDF18$}l&Xl*iXNZ^stTcG?47ljtaq&4 zb(#`YNiT>K9OiMcJ9~E;%(Yw6uot0v54LzE!HMQ^eT1f zrucrFdM0tji%(o%@u_E9q4&@aLUq#EXnL&cnlt zg0GcMkEsojF%kGYN!thG1^&hO41cFIKB~4TF=Ns9&&~6%X2wU1C=}nF$mjLW7V?>6 zo2XD}R1B-n1g}plfS1>#mzFk&ZQp*M){w52X*^zM>U7LXv;%^qh;Ujz*a7(VH`CE{bX zDy9%TEvOv^h1fhO`;gO6)ul~xh^l27CdQz8TJ>oIs@sPL*rPV(|D2tw03kBVWY59> z;Yoni;*9}*Ml?Y}pYPp?xpc>FP4zaBs)|~h)K?ta4>A-TJa@-c$0;JQOxt8@Nw12o zJ$M8G1Z27sMpFLQTeABXUy3>yptO}_CY(LMQ%d6T1CP1Q3@m9A4m#MZ zss26EQN(f6&gedQ8)CT)W#QsJh_*N!Unio50rutud+AK}B?`d!4^uOFaD4CpjTQ96 z4=y=1S9=Hgk%mUY)goG1=^t5G)#bt;a9Yjx@Wn~TX~Km@+)!?YaUD{pPKI4si6?JP zS$7WGUTpf|e)r+f`6h9?*=3p_R8y;w1JUJTjI%cgi6ov7CE-~W1D3rANsD*^kE`8| zDNZ_Zu(c%^?#vbpD4>U4Pc9#D=J3VX|1~kL%D;xB_<&ie^ktH_m zjqJ*>JSO@Vu?}h2fw-dKRRmYj_zA>>#$ru~`KhZjt15U??5sQD+HG<4z;&S?F1j%Y zg)6K+g;xb)PP;Hx2U4(+=|jOI&r?nsAa-i+scy0~}5Bb#1zbWn24o2OOG2{M2~ebjKn(?q- delta 2801 zcmb_e&2QsG6sLTZ?P^oHaX0Ozh3WTpiG!Wyqs?+yae%G_LhZtl!z3Oj-gRuRJ!u;% zlq<2Q_popioz9@q=;5&Acui#7nqlul3oeD={ny1cX9i!_&Erbcd4=HBp+0Vtx!wQBu76a^6?hX`;&R1R&uoqL}t0 zy@jm~QT%b?_a~LFkaoLareGwkhM~xw@K+B`kXeN-nO`WdzvgpwB^a|JgGr)19!Xo5 z?nctGztQHUY6+QkxXqn?bFIkswb}LseFU5~4y|z*lPF9KGeyzzL(V48C?0R*yN-p{ zB=HdVR>B(iPta8aGPot9%q?6ev9F|5b}-C~0z#0wi(AB1LX~Xpijl^rlE!1?41Biw z8mlcX0}I3d!6O7)7F!=-x37vVw^r)|Rx4ZYWb1VaYOw)=K@txqNlCYi`YlRMXa?T8 z7}U+ph63CK5X+F1P*zDdt#i2)1Mr3r+w& z4B2xbWs!j@;)_#urY*3`OF3Ead6{=$Bh%_TgxK$>z@A%qeZ{PC%eWADCBP~e9USoN z<>e+tm~33Is2q^c_QM|bcw2g^MFQSojB-C@!@~3nf*AH`;Z=4+TR2daP~&(iCBSaZ z=Z0h4Pc{&UZVdmE@?Xs!FjDeAZJx;kMe2jG^nn!=w_G(tj~$D4xlD$!kt&zA3l|3w zZ_zyG#IIOMH?zgju2Mu9=d)RZnQkKUc(Sh~t!&h!k*4jr#HOjG0^by!2Y|u2$o8lw zy*zD{Ya$V`R)8~XCnKf7167;!WF#Zop=rZR=*-!$Sg&fJm5ijs3QY` zHIv0#)#NkYO&HH3vAj%r0UhXYPJ*BeY3oB7$z< Trading Bot Dashboard @@ -502,26 +518,26 @@ html_content = """ } function updateDashboard(data) { - // Update key metrics - PRIMARY, USD secondary + // Update key metrics - CHF PRIMARY, USD secondary const usdt = data.balance.USDT || 0; const usdt_chf = usdt * 0.84; - document.getElementById('usdt').textContent = ; + document.getElementById('usdt').textContent = `$${usdt.toFixed(2)} / CHF ${usdt_chf.toFixed(2)}`; const portfolio_usd = data.portfolio_value_usd || 0; const portfolio_chf = data.portfolio_value_chf || (portfolio_usd * 0.84); - document.getElementById('portfolio').textContent = ; + document.getElementById('portfolio').textContent = `$${portfolio_usd.toFixed(2)} / CHF ${portfolio_chf.toFixed(2)}`; - // Update P&L with color - primary + // Update P&L with color - CHF primary const dailyPnl = data.daily_pnl || 0; const dailyPnl_chf = dailyPnl * 0.84; const dailyPnlEl = document.getElementById('daily-pnl'); - dailyPnlEl.textContent = ; + dailyPnlEl.textContent = `$${dailyPnl >= 0 ? '+' : ''}${dailyPnl.toFixed(2)} / CHF ${dailyPnl_chf >= 0 ? '+' : ''}${dailyPnl_chf.toFixed(2)}`; dailyPnlEl.className = 'card-value ' + (dailyPnl >= 0 ? 'positive' : 'negative'); const totalPnl = data.total_pnl || 0; const totalPnl_chf = totalPnl * 0.84; const totalPnlEl = document.getElementById('total-pnl'); - totalPnlEl.textContent = ; + totalPnlEl.textContent = `$${totalPnl >= 0 ? '+' : ''}${totalPnl.toFixed(2)} / CHF ${totalPnl_chf >= 0 ? '+' : ''}${totalPnl_chf.toFixed(2)}`; totalPnlEl.className = 'card-value ' + (totalPnl >= 0 ? 'positive' : 'negative'); // Update performance