From 9fb45ce56571cea0b535dd1c45a44435fc3ddf22 Mon Sep 17 00:00:00 2001 From: Marc Blatter Date: Sat, 4 Jul 2026 14:50:01 +0200 Subject: [PATCH] Bot auto-update: src/__pycache__/main_ml.cpython-310.pyc,src/__pycache__/web_dashboard.cpython-310.pyc,src/main_ml.py,src/web_dashboard.py --- src/__pycache__/main_ml.cpython-310.pyc | Bin 28153 -> 28213 bytes src/__pycache__/web_dashboard.cpython-310.pyc | Bin 20276 -> 20313 bytes src/main_ml.py | 1 + src/web_dashboard.py | 4 ++-- 4 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/__pycache__/main_ml.cpython-310.pyc b/src/__pycache__/main_ml.cpython-310.pyc index 4caf38c9ef16a740e543ef856a780dcff4cb3f2c..cf6165d584118bffa1314a81f5d60df6782e7b6f 100644 GIT binary patch delta 2910 zcmZvedr(x@9mn^u%PwKVE5eAlz%BxES42Tgl_DamVgdpcP+YLMMX%k!PI7ZX-rZcr^r%9iazNXW5()4`KrL5DI zKR)yO{m${->-kRZx)c5Pw7LuE~y9&K7>Aklm!m3r}~%9Gd48JL-t| z%*xp+EpLu7hvpP|wRW4JU&;Z=8gtof?VMw_Zq6ZA>NUrJL&>LfQE-)#Yk4{cLqh{w z2E(4MgWGLkps&XkI(s{9VR&ah1bU)KXUj9r;zs7Sa;H>-Q&Y)3^tF;Dtc$)^5@7B0 zPRUxvG8K1h&#C4^;@mtW5H5-7W<)<6olui8Jz^xsQ+$B#D;;I`W^R_gk>gh3xsNU` zu4fVY#bT3vl!nV&+XrB-0DJ;g?sz<;iTJd+4>QR`wn_tN*$P=j~N;Z*dtW zuYWE3Cw2HQv7AhP;8|x;LO9L1{Gz11Lx}X<+HFju{JLh5(6+iW5fsDnq8MXpTunxG zo)Q*2qxV4iIIvW}@=nFos2)jiO$4}*VSW^A9yNU=88uQO=D4m;DYx5cf1En&yVwc( zZ2fZP&YY|NM^5Qu!riF-i^CCH8S?%1?K>+r@kx4FSs{w>J0-w6s4!@F5gLCGc!)j` ze9P{JlN4Q16UBk~=Yi}&7aD@6v2ZVdBl9PKCxNGcg+p5|^T?FWTVcfc6|a5XCKzVv z-4%7-IfzdKC#bx!joq0UY8-MkJq*hu00EBz_X7-g06>I%0#NDA)$7=1Dr}CpQ3!sV z(#;|FK8OZgY+mlQV}yR1{?Po%CRy$s(Dwi`Ff_It8ar$>{(S5-+v2a5Bca21A0R`P zt@CN98vU%LlAWUWTgpp03}`&dbHF?j5#7t@NLdqP(ahkQKe+=qxb;8b*pXoCS1H!o z%;I#SwThk0Txi|Sy!&7`fCPElYE~Q<;!M83VW+O9Q^{8Ud=cSr8dw562OOl~wg5Yu znQ0qgZP}s@i8af^b=hmTl=vL>WYZxlDKjxhCGA_sWD>IRuY&h#pciNX)&N@sto*c| z)FNtJ=O*um!Ksd=c^}qg;8cB0NJn_-3ToguJ4DI zv5`z*OUBI}qZ@Z`71Ob_yNiht=uWY3)9c;O7ykg8UIi`zo9RSPryKd_XX)oXz7Ovg z;!J_R&0o9DFD@S=F`eN1u#9p|-y!hcQ}m3#UktU8jQKl<_K0#l1c%eKen*Q}-oSRf zXnIF*RZ=X?qJ3tN)21bBU0M+Hkn!#)j zT!xwkwF0d3l{_b0@THT?1e!{F99zD*>Jl4ZC@8ZB2WLuVvZldMDqF88SJkSFW{m6zq$Meg}K+hOtKfuSKxaRI8P4_U1C>g zcvls>NQZV=$9iDSW^*BZ{2Ugt@yiS%mzHZXC0-?&o<8_w3l)VbgOwrfhAO8|7B8E0 zIVy5MR?B~|P{RK_yiM47O(0xsrc5;+QPXMNOh-gw_$kU6Zep)f^YD6Bo|znOaeAMH zJ6emMp)(^@4d~~YJbyzU9vwfA3)RY%FOZVMv(5+U_ap0>O7)|)>;`p@Zc~tluqz@S zHoH$`K=@7wdm@@1*G+x?HK1>fDiv>v1^ef&LOKJ;hMuE8=9g31-o-4IS-JNSciHE# zByad^QO?u#Xo3w=FxnH{g54(6l_F2{Wf;$J!9+hXJX z;~Rb`?3Q~nH5NC7cbhf0tx(g1@v6RVc zup+TcNR}(18p%8g#kw|v-lE2$2 delta 2935 zcmZvec}!f#9mg4t-Gw!0u#7Q_9~dyZCOCi{+n9hc7+iB0a~Nj>UccRaz_Z`(;@P)} zA#SkLv{j`vq4}k@8!It}g!Im_iJMfa)5>ZSrQW^f;vXA!qcps zZWekdyU4>@XmioF`WD>{9)KS)%Z*_q{oDZhNew>*VsY+5w}_C}`YPDtbik*(;Rt^M zn5QegckSF?po?27=WsOs43Ij~YWg|H#2H`%@GNi1QwvQbWw7^PS=)Fc|qil{al%E1*IAjrh2E!0-X!6{>1Thy_1LOe}z)1jAX*o}t zGXYWBe37&!9}6buoBracfG^hnd1yO_r7zJ^bAy6ZTG_$Gj2%MxPnHW~Q;%r;Lh@Gg ze&)8_#wvrlTPnAl6XI-+Qah-r@mRE3St$k>ECcI-uL22rs-=RxlDypV0BcDV$1yQy zIk`4%sQ**FNvuhQPF94B+7R`%?hDF*rDC-e*7pE?KqJrubO=~EaV;7SsD{Q(eh`Wb zH5ljpn3qBBhU5cEfSo{yZnb*Z5|y|4^1me%ekVd9;>%yB(Y99m7I+nwi?q--#J-)p z)z+TjSSgv^9VUC5Uh44eI0h5x?#Fm!Ij7XPYKnyIhuJki_CtsYJ2#6Rc6DxI{^WRP z(!tJBVb4C%e4{cYr-~y?3tzY2mMsr>|`HaUss;DlJOY zc17G|dL$9yt65AGiP=A0r00|Y5q~{8sq7uOUu1C}>zB#wYjn%&+)g9C+~?aG!G5kf zMK;=f{A*%pITO(n(bz*#ufr}-1dP89yg@nrL*iCE+W+%8*%zbG%DhTP-@@=UAXO5p z-Opw9uU;QkmTqd1I3Iwy%=jTlvMP{geicXujsW)qegH}5#~Q#?Y5W*N4(tF1fmB6( z1H)zj_YVIGunv$VG6dj9gQGD#Y26>KsLBe{fP6*xIXzn^76&YFKMl zs`z&(dDxokfqg2JtFhy<`clrz@F9>^=JA+#-(+lLN2Ib8#9q=<>7RVXQkhFdT(*yF zntS9Qtmf~(Pk22x`h|eMz>Jxy5m4iC&5Q@c)y$y<|~TQfk)0TM5T%o~tcsK3pk)EpZ&jMl1&`fRR38KG`c}ssSChYBg1__6<%Y2dk zoKr%F#@Dflq(1(nW9@lN;ky0Eb8?vq!Vxw^kA&YWK%U>v1e`F^sZT2rA2JhKZGjBp zE@B@E zZq%&p(f8@b#CArsX7c9R2cVU2lI#FkN}OC%?@?pu&#H(iG$x3?huo(@j= zSY2{<>fh<&vt{PQ*})$Pz2!I_3mSUR$`qe~VSW>)t*y{09sh*M6BrYUFZQ0WAv-MeiUy<#Kh?x)(*!YFs&BvSA@+h{nu{HmC`Q`@;;}sMg zWF;-Bp~f-Hxc^$+J@l)Ib_!NP;g*2GYxv}Az%YfvGk!@3Sc+Uo!8pg@z)8h?mkmQU zcGbDnTa}KY-kSz`0T}N}y0KmoY>%0`t`FfJcAjZk8Hd(BSV9l5a|Q%3!ER3aaJc{2 zy^y1s!fcq$J5QfLE-Hna2JQ}uQJ48!ELqma-v~YkZ%D4!L66Cl68Bs)>0MVgneFPM4 zzzyiaDL4YNB1L92#rJ9Sk7l!CpDSkP)@q<~(7${8up6Td(HG6)`}NnHJflcF@+hK= zDrOBwi7N3R8kwL`2{3!_Jmmo}ub|0do)`n7LO}&lT!4VfmOHx~C5nmi*W`8U(fset z3Nm}UCb(_%lA)bQKcEFVgk3COc-02y6kjZ%4_Nkq0q*0$nBBtJ;p5Sb8_hk|!+PPS m(>nMeI$zRfKgP|1e;C~R@yK~bW_@fWGn(;j>-A~({OS+B_C5>% diff --git a/src/main_ml.py b/src/main_ml.py index d1b8e3d..14c2dec 100644 --- a/src/main_ml.py +++ b/src/main_ml.py @@ -113,6 +113,7 @@ class MLTradingBot: # Track open positions self.current_trades = {} # CLEAN START - reset on bot restart + self.pairs = ['BTCUSDT', 'ETHUSDT', 'SOLUSDT', 'BNBUSDT', 'XRPUSDT'] logger.info('🗑️ RESET: Cleared all stored positions (dashboard will show REAL Binance state only)') diff --git a/src/web_dashboard.py b/src/web_dashboard.py index 827ddb6..e21dfdc 100644 --- a/src/web_dashboard.py +++ b/src/web_dashboard.py @@ -144,12 +144,12 @@ async def record_sell(pair: str, qty: float, price: float, profit_usd: float, pr completed = { 'pair': pair, 'qty': qty, - 'entry_price': entry.get('entry_price', 0), + 'entry_price': entry.get('buy_price', entry.get('entry_price', 0)), 'exit_price': price, 'profit_usd': profit_usd, 'profit_pct': profit_pct, 'hold_time_min': hold_time_min, - 'entry_time': entry.get('entry_time', ''), + 'entry_time': entry.get('buy_time', entry.get('entry_time', '')), 'exit_time': datetime.now().isoformat() }